/**
  * [postData]
  * @return [type] [description]
  */
 public function postData()
 {
     $Model = $this->modelName;
     // Build our Editor instance and process the data coming from _POST
     global $db;
     $data = Editor::inst($db, 'reminders')->fields(Field::inst('reminders.id'), Field::inst('reminders.project_id'), Field::inst('projects.name'), Field::inst('reminders.user_id'), Field::inst('users.username'), Field::inst('reminders.description'))->leftJoin('users', 'users.id', '=', 'reminders.user_id')->leftJoin('projects', 'projects.id', '=', 'reminders.project_id')->process($_POST)->data();
     //->json;
     $data['projects'] = $db->selectDistinct('projects', 'id as value, name as label')->fetchAll();
     $data['users'] = $db->selectDistinct('users', 'id as value, username as label')->fetchAll();
     //echo json_encode($ret);
     return Response::json($data);
 }
<?php

// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Validate;
//--- Outsource version of Editor ---//
if (false) {
    //--- Outsource user with his/her assigned group ---//
    $data = Editor::inst($db, 'TestRequestActualSchedule', 'TestRequestNo')->field(Field::inst('TestRequestActualSchedule.TestRequestNo')->set(false), Field::inst('TestRequestMain.POnumber')->set(false), Field::inst('TestRequestMain.ProjectName')->set(false), Field::inst('TestEnvironment.Name')->set(false), Field::inst('TestRequestActualSchedule.ActualDate'), Field::inst('TestRequestActualSchedule.ManHrsNM')->validator('Validate::numeric'), Field::inst('TestRequestActualSchedule.ManHrsOT')->validator('Validate::numeric'), Field::inst('TestRequestActualSchedule.ManHrsOTSunPH')->validator('Validate::numeric'), Field::inst('TestRequestPlannedSchedule.ScheduledManHrsNM')->set(false), Field::inst('TestRequestPlannedSchedule.ScheduledManHrsOT')->set(false), Field::inst('TestRequestPlannedSchedule.ScheduledManHrsOTSunPH')->set(false), Field::inst('TestRequestMain.Status'), Field::inst('StatusMirror.String')->set(false), Field::inst('TestRequestActualSchedule.RazerApproval')->set(false), Field::inst('RazerConfirmationMirror.String')->set(false), Field::inst('TestRequestAdv.RemarksRazer')->set(false), Field::inst('TestRequestMain.AssignedGroupID')->set(false), Field::inst('AssignedGroup.Name')->set(false), Field::inst('TestRequestMain.SWQAEngineerID')->set(false))->leftJoin('TestRequestPlannedSchedule', 'TestRequestPlannedSchedule.TestRequestNo', '=', 'TestRequestActualSchedule.TestRequestNo')->leftJoin('TestRequestAdv', 'TestRequestActualSchedule.TestRequestNo', '=', 'TestRequestAdv.TestRequestNo')->leftJoin('TestRequestMain', 'TestRequestActualSchedule.TestRequestNo', '=', 'TestRequestMain.TestRequestNo')->leftJoin('RazerConfirmationMirror', 'TestRequestActualSchedule.RazerApproval', '=', 'RazerConfirmationMirror.ID')->leftJoin('StatusMirror', 'TestRequestMain.Status', '=', 'StatusMirror.ID')->leftJoin('AssignedGroup', 'TestRequestMain.AssignedGroupID', '=', 'AssignedGroup.ID')->leftJoin('TestEnvironment', 'TestEnvironment.ID', '=', 'TestRequestAdv.TestEnvironmentID')->process($_POST)->data();
    //--- Initialization of dropdown: Outsource  ---//
    if (!isset($_POST['action'])) {
        $data['StatusMirror'] = $db->selectDistinct('StatusMirror', 'ID as value, String as label')->fetchAll();
    }
} else {
    $data = Editor::inst($db, 'TestRequestActualSchedule', 'TestRequestNo')->field(Field::inst('TestRequestActualSchedule.TestRequestNo')->set(false), Field::inst('TestRequestMain.POnumber')->set(false), Field::inst('TestRequestMain.ProjectName')->set(false), Field::inst('TestEnvironment.Name')->set(false), Field::inst('TestRequestActualSchedule.ActualDate'), Field::inst('TestRequestActualSchedule.ManHrsNM')->validator('Validate::numeric'), Field::inst('TestRequestActualSchedule.ManHrsOT')->validator('Validate::numeric'), Field::inst('TestRequestActualSchedule.ManHrsOTSunPH')->validator('Validate::numeric'), Field::inst('TestRequestPlannedSchedule.ScheduledManHrsNM')->set(false), Field::inst('TestRequestPlannedSchedule.ScheduledManHrsOT')->set(false), Field::inst('TestRequestPlannedSchedule.ScheduledManHrsOTSunPH')->set(false), Field::inst('TestRequestMain.Status'), Field::inst('StatusMirror.String')->set(false), Field::inst('TestRequestActualSchedule.RazerApproval'), Field::inst('RazerConfirmationMirror.String')->set(false), Field::inst('TestRequestAdv.RemarksRazer'), Field::inst('TestRequestMain.AssignedGroupID')->set(false), Field::inst('AssignedGroup.Name')->set(false), Field::inst('TestRequestMain.SWQAEngineerID')->set(false))->leftJoin('TestRequestPlannedSchedule', 'TestRequestPlannedSchedule.TestRequestNo', '=', 'TestRequestActualSchedule.TestRequestNo')->leftJoin('TestRequestAdv', 'TestRequestActualSchedule.TestRequestNo', '=', 'TestRequestAdv.TestRequestNo')->leftJoin('TestRequestMain', 'TestRequestActualSchedule.TestRequestNo', '=', 'TestRequestMain.TestRequestNo')->leftJoin('RazerConfirmationMirror', 'TestRequestActualSchedule.RazerApproval', '=', 'RazerConfirmationMirror.ID')->leftJoin('StatusMirror', 'TestRequestMain.Status', '=', 'StatusMirror.ID')->leftJoin('AssignedGroup', 'TestRequestMain.AssignedGroupID', '=', 'AssignedGroup.ID')->leftJoin('TestEnvironment', 'TestEnvironment.ID', '=', 'TestRequestAdv.TestEnvironmentID')->process($_POST)->data();
    //--- Initialization of dropdown: Internal staff ---//
    if (!isset($_POST['action'])) {
        $data['RazerConfirmationMirror'] = $db->selectDistinct('RazerConfirmationMirror', 'ID as value, String as label')->fetchAll();
        $data['StatusMirror'] = $db->selectDistinct('StatusMirror', 'ID as value, String as label')->fetchAll();
    }
}
// Send it back to the client
echo json_encode($data);
Beispiel #3
0
<?php

/*
 * Example PHP implementation used for the index.html example
 */
// DataTables PHP library
include "../../php/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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
$out = Editor::inst($db, 'datatables_demo')->fields(Field::inst('id')->set(false), Field::inst('first_name')->validator('Validate::notEmpty'), Field::inst('last_name')->validator('Validate::notEmpty'), Field::inst('position'), Field::inst('email'), Field::inst('office'), Field::inst('extn')->validator('Validate::numeric'), Field::inst('age')->validator('Validate::numeric'), Field::inst('salary')->validator('Validate::numeric'), Field::inst('start_date')->validator('Validate::dateFormat', array("format" => Format::DATE_ISO_8601, "message" => "Please enter a date in the format yyyy-mm-dd"))->getFormatter('Format::date_sql_to_format', Format::DATE_ISO_8601)->setFormatter('Format::date_format_to_sql', Format::DATE_ISO_8601))->process($_POST)->data();
// On 'read' remove the DT_RowId property so we can see fully how the `idSrc`
// option works on the client-side.
if (Editor::action($_POST) === Editor::ACTION_READ) {
    for ($i = 0, $ien = count($out['data']); $i < $ien; $i++) {
        unset($out['data'][$i]['DT_RowId']);
    }
}
// Send it back to the client
echo json_encode($out);
Beispiel #4
0
<?php

/*
 * Example PHP implementation used for the index.html example
 */
// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'datatables_demo')->fields(Field::inst('first_name')->validator('Validate::notEmpty'), Field::inst('last_name')->validator('Validate::notEmpty'), Field::inst('position'), Field::inst('email'), Field::inst('office'), Field::inst('extn')->validator('Validate::numeric'), Field::inst('age')->validator('Validate::numeric'), Field::inst('salary')->validator('Validate::numeric'), Field::inst('start_date')->validator('Validate::dateFormat', array("format" => Format::DATE_ISO_8601, "message" => "Please enter a date in the format yyyy-mm-dd"))->getFormatter('Format::date_sql_to_format', Format::DATE_ISO_8601)->setFormatter('Format::date_format_to_sql', Format::DATE_ISO_8601))->process($_POST)->json();
Beispiel #5
0
 /**
  * Prepare the instance to be run.
  *
  * @param  Editor $editor Editor instance
  * @private
  */
 private function _prep($editor)
 {
     $links = $this->_links;
     // Were links used to configure this instance - if so, we need to
     // back them onto the join array
     if ($this->_join['parent'] === null && count($links)) {
         $editorTable = $editor->table();
         $editorTable = $editorTable[0];
         $joinTable = $this->table();
         if ($this->_aliasParentTable) {
             $editorTable = $this->_aliasParentTable;
         }
         if (count($links) === 2) {
             // No link table
             $f1 = explode('.', $links[0]);
             $f2 = explode('.', $links[1]);
             $this->_join['parent'] = $f1[1];
             $this->_join['child'] = $f2[1];
         } else {
             // Link table
             $f1 = explode('.', $links[0]);
             $f2 = explode('.', $links[1]);
             $f3 = explode('.', $links[2]);
             $f4 = explode('.', $links[3]);
             // Discover the name of the link table
             if ($f1[0] !== $editorTable && $f1[0] !== $joinTable) {
                 $this->_join['table'] = $f1[0];
             } else {
                 if ($f2[0] !== $editorTable && $f2[0] !== $joinTable) {
                     $this->_join['table'] = $f2[0];
                 } else {
                     if ($f3[0] !== $editorTable && $f3[0] !== $joinTable) {
                         $this->_join['table'] = $f3[0];
                     } else {
                         $this->_join['table'] = $f2[0];
                     }
                 }
             }
             $this->_join['parent'] = array($f1[1], $f2[1]);
             $this->_join['child'] = array($f3[1], $f4[1]);
         }
     }
 }
Beispiel #6
0
<?php

/*
 * Example PHP implementation used for date examples
 */
// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Upload, DataTables\Editor\Validate;
// Allow a number of different formats to be submitted for the various demos
$format = isset($_GET['format']) ? $_GET['format'] : '';
if ($format === 'custom') {
    $update = 'n/j/Y';
    $registered = 'l j F Y';
} else {
    $update = Format::DATE_ISO_8601;
    $registered = Format::DATE_ISO_8601;
}
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'users')->fields(Field::inst('first_name'), Field::inst('last_name'), Field::inst('updated_date')->validator('Validate::dateFormat', array('empty' => false, 'format' => $update))->getFormatter('Format::date_sql_to_format', $update)->setFormatter('Format::date_format_to_sql', $update), Field::inst('registered_date')->validator('Validate::dateFormat', $registered)->getFormatter('Format::date_sql_to_format', $registered)->setFormatter('Format::date_format_to_sql', $registered))->process($_POST)->json();
Beispiel #7
0
<?php

/*
 * Example PHP implementation used for the index.html example
 */
// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'users')->fields(Field::inst('first_name'), Field::inst('last_name'), Field::inst('updated_date')->validator('Validate::dateFormat', array("empty" => false, "format" => Format::DATE_ISO_8601, "message" => "Please enter a date in the format yyyy-mm-dd"))->getFormatter('Format::date_sql_to_format', Format::DATE_ISO_8601)->setFormatter('Format::date_format_to_sql', Format::DATE_ISO_8601), Field::inst('registered_date')->validator('Validate::dateFormat', 'D, d M y')->getFormatter('Format::date_sql_to_format', 'D, d M y')->setFormatter('Format::date_format_to_sql', 'D, d M y'))->process($_POST)->json();
Beispiel #8
0
<?php

// DataTables PHP library
include "../../php/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\Upload, DataTables\Editor\Validate;
/*
 * Example PHP implementation used for the join.html example
 */
Editor::inst($db, 'users')->field(Field::inst('users.first_name'), Field::inst('users.last_name'), Field::inst('users.site')->options('sites', 'id', 'name'), Field::inst('sites.name'))->leftJoin('sites', 'sites.id', '=', 'users.site')->join(Mjoin::inst('access')->link('users.id', 'user_access.user_id')->link('access.id', 'user_access.access_id')->fields(Field::inst('id')->validator('Validate::required')->options('access', 'id', 'name'), Field::inst('name')))->process($_POST)->json();
Beispiel #9
0
<?php

require_once Yii::app()->basePath . '/extensions/editor_datatables/php/DataTables.php';
//Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'trade_types', 'id')->fields(Field::inst('id'), Field::inst('trade_type'))->process($_POST)->json();
Beispiel #10
0
<?php

// DataTables PHP library
include "../../php/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\Upload, DataTables\Editor\Validate;
/*
 * Example PHP implementation used for the joinSelf.html example - the basic idea
 * here is that the join performed is simply to get extra information about the
 * 'manager' (in this case, the name of the manager). To alter the manager for
 * a user, you would change the 'manager' value in the 'users' table, so the
 * information from the join is read-only.
 */
Editor::inst($db, 'users')->field(Field::inst('users.first_name'), Field::inst('users.last_name'), Field::inst('users.manager')->options('users', 'id', array('first_name', 'last_name')), Field::inst('manager.first_name'), Field::inst('manager.last_name'))->leftJoin('users as manager', 'users.manager', '=', 'manager.id')->process($_POST)->json();
Beispiel #11
0
<?php

/*
 * Example PHP implementation used for the checkbox.html example
 */
// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'users')->fields(Field::inst('first_name'), Field::inst('last_name'), Field::inst('phone'), Field::inst('city'), Field::inst('zip'), Field::inst('active')->setFormatter(function ($val, $data, $opts) {
    return !$val ? 0 : 1;
}))->process($_POST)->json();
<?php

/*
 * Editor server script for DB table EMPLOYEE
 * 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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'RESTAURANT', 'Name_Restaurant')->fields(Field::inst('Name_Restaurant'), Field::inst('Menu_Restaurant'), Field::inst('Price_Restaurant'), Field::inst('Address_Restaurant'), Field::inst('Phone_Restaurant'))->process($_POST)->json();
Beispiel #13
0
<?php

/*
 * Editor server script for DB table EMPLOYEE
 * 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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'TR_TRANSPORT', 'T_Trans_No')->fields(Field::inst('T_Trans_No'), Field::inst('T_Destination'))->process($_POST)->json();
Beispiel #14
0
 /**
  * Check the validity of the field based on the data submitted. Note that
  * this validation is performed on the wire data - i.e. that which is
  * submitted, before any setFormatter is run
  *
  * Called by the Editor / Join class instances - not expected for general
  * consumption - internal.
  *  @param array $data Data submitted from the client-side 
  *  @param Editor $editor Editor instance
  *  @return boolean Indicate if a field is valid or not.
  *  @internal
  */
 public function validate($data, $editor)
 {
     // Three cases for the validator - closure, string or null
     if (!$this->_validator) {
         return true;
     }
     $val = $this->_readProp($this->name(), $data);
     if (is_string($this->_validator)) {
         $processData = $editor->inData();
         $instances = array('action' => $processData['action'], 'id' => isset($processData['id']) ? str_replace($editor->idPrefix(), '', $processData['id']) : null, 'field' => $this, 'editor' => $editor, 'db' => $editor->db());
         // Don't require the Editor namespace if DataTables validator is given as a string
         if (strpos($this->_validator, "Validate::") === 0) {
             return call_user_func("\\DataTables\\Editor\\" . $this->_validator, $val, $data, $this->_validatorOpts, $instances);
         }
         return call_user_func($this->_validator, $val, $data, $this->_validatorOpts, $instances);
     }
     $validator = $this->_validator;
     return $validator($val, $data, $this);
 }
<?php

/*
 * Editor server script for DB table EMPLOYEE
 * 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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'SOFTWARE_ENG', 'ID_SWeng')->fields(Field::inst('ID_SWeng'))->process($_POST)->json();
Beispiel #16
0
<?php

// DataTables PHP library
include "../../php/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\Upload, DataTables\Editor\Validate;
/*
 * Example PHP implementation used for the join.html example
 */
Editor::inst($db, 'users')->field(Field::inst('users.first_name'), Field::inst('users.last_name'), Field::inst('users.phone'), Field::inst('users.site')->options('sites', 'id', 'name')->validator('Validate::dbValues'), Field::inst('sites.name'))->leftJoin('sites', 'sites.id', '=', 'users.site')->process($_POST)->json();
Beispiel #17
0
<?php

require_once Yii::app()->basePath . '/extensions/editor_datatables/php/DataTables.php';
//Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'instruments', 'instruments.id')->fields(Field::inst('instrument_types.instrument_type'), Field::inst('instrument_groups.group_name'), Field::inst('instruments.id as id'), Field::inst('instruments.instrument as instrument'), Field::inst('instruments.instrument_type_id'), Field::inst('instruments.is_current'), Field::inst('instruments.created_at'), Field::inst('instruments.isin'), Field::inst('instruments.instrument_group_id'), Field::inst('instruments.currency'))->leftJoin('instrument_types', 'instrument_types.id', '=', 'instruments.instrument_type_id')->leftJoin('instrument_groups', 'instrument_groups.id', '=', 'instruments.instrument_group_id')->process($_POST)->json();
Beispiel #18
0
<?php

/*
 * Example PHP implementation used for the index.html example
 */
// DataTables PHP library
include "../../php/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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'users')->fields(Field::inst('users.first_name'), Field::inst('users.last_name'), Field::inst('users.phone'), Field::inst('users.site')->options('sites', 'id', 'name'), Field::inst('sites.name'))->join(Mjoin::inst('files')->link('users.id', 'users_files.user_id')->link('files.id', 'users_files.file_id')->fields(Field::inst('id')->upload(Upload::inst($_SERVER['DOCUMENT_ROOT'] . '/upload/__ID__.__EXTN__')->db('files', 'id', array('filename' => Upload::DB_FILE_NAME, 'filesize' => Upload::DB_FILE_SIZE, 'web_path' => Upload::DB_WEB_PATH, 'system_path' => Upload::DB_SYSTEM_PATH))->validator(function ($file) {
    return $file['size'] >= 50000 ? "Files must be smaller than 50K" : null;
})->allowedExtensions(['png', 'jpg'], "Please upload an image"))))->leftJoin('sites', 'sites.id', '=', 'users.site')->process($_POST)->json();
Beispiel #19
0
<?php

/*
 * Example PHP implementation used for date time examples
 */
// DataTables PHP library
include "../../php/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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'users')->fields(Field::inst('first_name'), Field::inst('last_name'), Field::inst('updated_date')->validator('Validate::dateFormat', array('empty' => false, 'format' => 'm-d-Y g:i A'))->getFormatter('Format::datetime', array('from' => 'Y-m-d H:i:s', 'to' => 'm-d-Y g:i A'))->setFormatter('Format::datetime', array('from' => 'm-d-Y g:i A', 'to' => 'Y-m-d H:i:s')), Field::inst('registered_date')->validator('Validate::dateFormat', array('format' => 'j M Y H:i'))->getFormatter('Format::datetime', array('from' => 'Y-m-d H:i:s', 'to' => 'j M Y H:i'))->setFormatter('Format::datetime', array('from' => 'j M Y H:i', 'to' => 'Y-m-d H:i:s')))->process($_POST)->json();
<?php

/*
 * Example PHP implementation used for the index.html example
 */
// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor;
use DataTables\Editor\Field;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'users')->fields(Field::inst('first_name'), Field::inst('last_name'), Field::inst('updated_date')->set(false)->getFormatter('Format::date_sql_to_format', 'D, jS F Y'))->process($_POST)->json();
Beispiel #21
0
 /**
  * Check the validity of the field based on the data submitted. Note that
  * this validation is performed on the wire data - i.e. that which is
  * submitted, before any setFormatter is run
  *
  * Called by the Editor / Join class instances - not expected for general
  * consumption - internal.
  *
  * @param array $data Data submitted from the client-side 
  * @param Editor $editor Editor instance
  * @param * $id Row id that is being validated
  * @return boolean|string `true` if valid, string with error message if not
  * @internal
  */
 public function validate($data, $editor, $id = null)
 {
     // Three cases for the validator - closure, string or null
     if (!count($this->_validator)) {
         return true;
     }
     $val = $this->_readProp($this->name(), $data);
     for ($i = 0, $ien = count($this->_validator); $i < $ien; $i++) {
         $validator = $this->_validator[$i];
         $processData = $editor->inData();
         $instances = array('action' => $processData['action'], 'id' => $id, 'field' => $this, 'editor' => $editor, 'db' => $editor->db());
         if (is_string($validator['func'])) {
             // Don't require the Editor namespace if DataTables validator is given as a string
             if (strpos($validator['func'], "Validate::") === 0) {
                 $res = call_user_func("\\DataTables\\Editor\\" . $validator['func'], $val, $data, $validator['opts'], $instances);
             } else {
                 $res = call_user_func($validator['func'], $val, $data, $validator['opts'], $instances);
             }
         } else {
             $func = $validator['func'];
             $res = $func($val, $data, $this, $instances);
         }
         // Check if there was a validation error and if so, return it
         if ($res !== true) {
             return $res;
         }
     }
     // Validation methods all run, must be valid
     return true;
 }
<?php

/*
 * Example PHP implementation used for the formOnlyData.html example
 */
// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor;
use DataTables\Editor\Field;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'users')->fields(Field::inst('title'), Field::inst('first_name'), Field::inst('last_name'), Field::inst('phone'), Field::inst('city'), Field::inst('zip'), Field::inst('comments'))->process($_POST)->json();
<?php

/*
 * Editor server script for DB table expense
 * 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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'expense', 'exp_no')->fields(Field::inst('id')->set(false), Field::inst('exp_trans')->validator('Validate::notEmpty')->validator('Validate::maxLen', array('max' => 30)), Field::inst('exp_category'), Field::inst('exp_amount')->validator('Validate::numeric'), Field::inst('exp_date'))->process($_POST)->json();
Beispiel #24
0
<?php

// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Upload, DataTables\Editor\Validate;
/*
 * Example PHP implementation used for the joinSelf.html example - the basic idea
 * here is that the join performed is simply to get extra information about the
 * 'manager' (in this case, the name of the manager). To alter the manager for
 * a user, you would change the 'manager' value in the 'users' table, so the
 * information from the join is read-only.
 */
Editor::inst($db, 'users')->field(Field::inst('users.first_name'), Field::inst('users.last_name'), Field::inst('users.manager')->options(function () use($db) {
    // Use `selectDistinct` to get the full list of names from the
    // database and then concatenate the first and last names
    $userList = $db->selectDistinct('users', 'id, first_name, last_name', null, 'first_name ASC');
    $out = array();
    while ($row = $userList->fetch()) {
        $out[] = array("value" => $row['id'], "label" => $row['first_name'] . ' ' . $row['last_name']);
    }
    return $out;
}), Field::inst('manager.first_name'), Field::inst('manager.last_name'))->leftJoin('users as manager', 'users.manager', '=', 'manager.id')->process($_POST)->json();
Beispiel #25
0
<?php

require_once Yii::app()->basePath . '/extensions/editor_datatables/php/DataTables.php';
//Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Upload, DataTables\Editor\Validate;
$user = Users::model()->findByPk(Yii::app()->user->id);
$client_id = $user->client_id;
function userupdate()
{
    $user_data = Users::model()->findByPk(Yii::app()->user->id);
    $step_completed = $user_data->step_completed;
    if ($user_data->user_role == 2 && $step_completed < 2) {
        $user_data->step_completed = 2;
        $user_data->save();
        //$this->redirect(Yii::app()->baseUrl.'/site/admin');
        $baseUrl = Yii::app()->baseUrl;
        //Yii::app()->request->redirect($baseUrl.'/site/admin');
        //echo "<script>window.location.href ='".$baseUrl."/site/admin';</script>";
        //return false;
    }
    //else{ $this->render('overview', ['user_data' => $user_data]); }
}
//Build our Editor instance and process the data coming from _POST
$time = date("fYhis");
// $extension = end(explode('.', Upload::DB_FILE_NAME));
Editor::inst($db, 'benchmarks', 'id', $time, $client_id)->fields(Field::inst('benchmarks.client_id'), Field::inst('benchmarks.id as id'), Field::inst('benchmarks.benchmark_name as benchmark_name'), Field::inst('clients.client_name'))->on('postCreate', function () {
    userupdate();
})->leftJoin('clients', 'clients.id', '=', 'benchmarks.client_id')->where('benchmarks.client_id', $client_id)->process($_POST)->json();
Beispiel #26
0
<?php

/*
 * Example PHP implementation used for the index.html example
 */
// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'datatables_demo')->fields(Field::inst('first_name', 0)->validator('Validate::notEmpty'), Field::inst('last_name', 1)->validator('Validate::notEmpty'), Field::inst('position', 2), Field::inst('office', 3), Field::inst('salary', 4)->validator('Validate::numeric')->getFormatter(function ($val) {
    return '$' . number_format($val);
}))->process($_POST)->json();
Beispiel #27
0
<?php

// DataTables PHP library
include "../../php/DataTables2 .php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Validate;
/*
 * Example PHP implementation used for the join.html example
 */
$out = Editor::inst($db, 'users')->field(Field::inst('users.id'), Field::inst('users.customer'), Field::inst('users.so_date'), Field::inst('users.site'), Field::inst('sites.name'))->leftJoin('sites', 'sites.id', '=', 'users.site')->join(Join::inst('access', 'array')->join(array('id', 'user_id'), array('id', 'access_id'), 'user_access')->fields(Field::inst('id')->validator('Validate::required'), Field::inst('name'), Field::inst('qty'), Field::inst('price')))->process($_POST)->data();
// When there is no 'action' parameter we are getting data, and in this
// case we want to send extra data back to the client, with the options
// for the 'sites' and 'dept' select lists
if (!isset($_POST['action'])) {
    // Get a list of sites for the `select` list
    $out['sites'] = $db->selectDistinct('sites', 'id as value, name as label')->fetchAll();
    // Get department details
    $out['access'] = $db->select('access', 'id as value, name as label')->fetchAll();
}
// Send it back to the client
echo json_encode($out);
<?php

/*
 * Editor server script for DB table EMPLOYEE
 * 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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'TR_FOOD', 'F_Trans_No')->fields(Field::inst('F_Trans_No'), Field::inst('F_Rest_Name'))->process($_POST)->json();
Beispiel #29
0
<?php

/*
 * Example PHP implementation used for the index.html example
 */
// DataTables PHP library
include "../../php/DataTables.php";
// Alias Editor classes so they are easy to use
use DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Format, DataTables\Editor\Join, DataTables\Editor\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'users')->fields(Field::inst('first_name'), Field::inst('last_name'), Field::inst('phone'), Field::inst('city'), Field::inst('image')->setFormatter('Format::nullEmpty')->upload(Upload::inst($_SERVER['DOCUMENT_ROOT'] . '/upload/__ID__.__EXTN__')->db('files', 'id', array('filename' => Upload::DB_FILE_NAME, 'filesize' => Upload::DB_FILE_SIZE, 'web_path' => Upload::DB_WEB_PATH, 'system_path' => Upload::DB_SYSTEM_PATH))->validator(function ($file) {
    return $file['size'] >= 50000 ? "Files must be smaller than 50K" : null;
})->allowedExtensions(['png', 'jpg', 'gif'], "Please upload an image")))->process($_POST)->json();
<?php

/*
 * Editor server script for DB table facilities
 * 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\Upload, DataTables\Editor\Validate;
// Build our Editor instance and process the data coming from _POST
Editor::inst($db, 'facilities', 'id')->fields(Field::inst('facName'), Field::inst('locStr1'), Field::inst('locStr2'), Field::inst('locCity'), Field::inst('locState'), Field::inst('locZip'), Field::inst('locZip4'), Field::inst('phone'), Field::inst('intake1'), Field::inst('intake2'), Field::inst('hotline1'), Field::inst('hotline2'), Field::inst('website'), Field::inst('image1'), Field::inst('image2'), Field::inst('image3'), Field::inst('image4'), Field::inst('image5'), Field::inst('createDate'))->process($_POST)->json();