<?php

/*
 * Editor server script for DB table userinfo
 * Created by http://editor.datatables.net/generator
 */

// DataTables PHP library and database connection
include( "lib/DataTables.php" );

// Alias Editor classes so they are easy to use
use
	DataTables\Editor,
	DataTables\Editor\Field,
	DataTables\Editor\Format,
	DataTables\Editor\Mjoin,
	DataTables\Editor\Options,
	DataTables\Editor\Upload,
	DataTables\Editor\Validate,
	DataTables\Editor\ValidateOptions;



// Build our Editor instance and process the data coming from _POST
Editor::inst( $db, 'userinfo', 'userid' )
	->fields(
	 Field::inst( 'userid' ),
	 Field::inst( 'username' )
	  ->validator( Validate::notEmpty( ValidateOptions::inst()
                ->message( 'Please input a username' )
            ) ),
	 Field::inst( 'platform' ),
	 Field::inst( 'reach' ),
	 Field::inst( 'category' ),
	 Field::inst( 'registeredon' ),
	 Field::inst( 'icon_id' )
	)
	
	       ->join(
        Mjoin::inst( 'contactInfo' )
            ->link( 'userinfo.userid', 'contactInfo.userid' )
            ->fields(
                Field::inst( 'id' ),
                Field::inst( 'userid' ),
                Field::inst( 'phone' )
                 ->validator( Validate::notEmpty() )
                 ->validator( Validate::minMaxLen( 8, 15 ) ),
                Field::inst( 'email' )
                 ->validator( Validate::email( ValidateOptions::inst()
                 ->message( 'Please enter an e-mail address' )  
                 ) )
            )
    )
    
    
           ->join(
        Mjoin::inst( 'iconData' )
            ->link( 'userinfo.icon_id', 'iconData.platform_id' )
            ->fields(
                Field::inst( 'platform_id' ),
                Field::inst( 'url_prefix' ),
                Field::inst( 'icon_image_url' )
            )
    )
    	     /*	   // Check if the "userid" key exists in the $_POST array before using it
    ->where(function ($q) {
        if (isset($_POST['userid'])) {
            $q->where('userid', $_POST['userid']);
        }
    })     */	  
    
    
		->process( $_POST )
->json(function ($response) {
// Modify the response to return 1=success, 0=failed
if ($response['status'] === 'ok') {
$response['data'] = 1; // Success
} else {
$response['data'] = 0; // Failed
}
return $response;
});
