Example #1
0
$create = new \Kendo\Data\DataSourceTransportCreate();
$create->url('index.php?type=create')->contentType('application/json')->type('POST');
$read = new \Kendo\Data\DataSourceTransportRead();
$read->url('index.php?type=read')->contentType('application/json')->type('POST');
$update = new \Kendo\Data\DataSourceTransportUpdate();
$update->url('index.php?type=update')->contentType('application/json')->type('POST');
$destroy = new \Kendo\Data\DataSourceTransportDestroy();
$destroy->url('index.php?type=destroy')->contentType('application/json')->type('POST');
$transport->create($create)->read($read)->update($update)->destroy($destroy)->parameterMap('function(data) {
              return kendo.stringify(data);
          }');
$model = new \Kendo\Data\DataSourceSchemaModel();
$taskIDField = new \Kendo\Data\DataSourceSchemaModelField('taskID');
$taskIDField->type('number')->from('TaskID')->nullable(true);
$titleField = new \Kendo\Data\DataSourceSchemaModelField('title');
$titleField->from('Title')->defaultValue('No title')->validation(array('required' => true));
$startField = new \Kendo\Data\DataSourceSchemaModelField('start');
$startField->type('date')->from('Start');
$startTimezoneField = new \Kendo\Data\DataSourceSchemaModelField('startTimezone');
$startTimezoneField->from('StartTimezone');
$endField = new \Kendo\Data\DataSourceSchemaModelField('end');
$endField->type('date')->from('End');
$endTimezoneField = new \Kendo\Data\DataSourceSchemaModelField('endTimezone');
$endTimezoneField->from('EndTimezone');
$isAllDayField = new \Kendo\Data\DataSourceSchemaModelField('isAllDay');
$isAllDayField->type('boolean')->from('IsAllDay');
$descriptionField = new \Kendo\Data\DataSourceSchemaModelField('description');
$descriptionField->type('string')->from('Description');
$recurrenceIdField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceId');
$recurrenceIdField->from('RecurrenceID');
$recurrenceRuleField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceRule');
function create_makerfaire_scheduler($faire_id)
{
    $transport = new \Kendo\Data\DataSourceTransport();
    $create = new \Kendo\Data\DataSourceTransportCreate();
    $create->url('makerfaire-scheduling-tasks.php?type=create')->contentType('application/json')->type('POST')->dataType('json');
    $read = new \Kendo\Data\DataSourceTransportRead();
    $read->url('makerfaire-scheduling-tasks.php?type=read')->contentType('application/json')->type('GET')->dataType('json');
    $update = new \Kendo\Data\DataSourceTransportUpdate();
    $update->url('makerfaire-scheduling-tasks.php?type=update')->contentType('application/json')->type('POST')->dataType('json');
    $destroy = new \Kendo\Data\DataSourceTransportDestroy();
    $destroy->url('makerfaire-scheduling-tasks.php?type=destroy')->contentType('application/json')->type('POST')->dataType('json');
    $transport->create($create)->read($read)->update($update)->destroy($destroy)->parameterMap('function(data) {
              return kendo.stringify(data);
          }');
    $model = new \Kendo\Data\DataSourceSchemaModel();
    $locationIdField = new \Kendo\Data\DataSourceSchemaModelField('locationID');
    $locationIdField->type('number')->from('locationID')->nullable(true);
    $titleField = new \Kendo\Data\DataSourceSchemaModelField('title');
    $titleField->from('Title')->defaultValue('No title')->validation(array('required' => false));
    $startField = new \Kendo\Data\DataSourceSchemaModelField('start');
    $startField->type('date')->from('Start');
    $endField = new \Kendo\Data\DataSourceSchemaModelField('end');
    $endField->type('date')->from('End');
    $isAllDayField = new \Kendo\Data\DataSourceSchemaModelField('isAllDay');
    $isAllDayField->type('boolean')->from('IsAllDay');
    $subareaIdField = new \Kendo\Data\DataSourceSchemaModelField('subareaId');
    $subareaIdField->from('SubareaID')->nullable(true);
    $entriesField = new \Kendo\Data\DataSourceSchemaModelField('entries');
    $entriesField->from('Entries')->nullable(true);
    $model->id('locationID')->addField($locationIdField)->addField($titleField)->addField($startField)->addField($endField)->addField($isAllDayField)->addField($subareaIdField)->addField($entriesField);
    $schema = new \Kendo\Data\DataSourceSchema();
    $schema->model($model);
    $dataSource = new \Kendo\Data\DataSource();
    $dataSource->transport($transport)->schema($schema)->batch(false);
    $subareasResource = new \Kendo\UI\SchedulerResource();
    $locations_array = get_entry_locations($faire_id);
    $subareasResource->field('subareaId')->title('Stage')->name('Stages')->dataSource($locations_array);
    $entries = get_entries($faire_id);
    $entriesResource = new \Kendo\UI\SchedulerResource();
    $entriesResource->field('entries')->title('Presenter')->multiple(true)->name('Presenters')->dataSource($entries);
    $pdf = new \Kendo\UI\SchedulerPdf();
    $pdf->fileName('Kendo UI Scheduler Export.pdf')->proxyURL('makerfaire-scheduling.php?type=save');
    $scheduler = new \Kendo\UI\Scheduler('scheduler');
    $scheduler->eventTemplateId('presentation-template')->timezone('UTC')->currentTimeMarker(false)->date(new DateTime('2015/9/26 00:00', new DateTimeZone('UTC')))->height(900)->pdf($pdf)->addToolbarItem(new \Kendo\UI\SchedulerToolbarItem('pdf'))->addResource($subareasResource, $entriesResource)->group(array('resources' => array('Stages')))->addView(array('type' => 'day', 'majorTick' => 30, 'showWorkHours' => true, 'workWeekEnd' => 7, 'workDayStart' => new DateTime('2015/1/1 15:00', new DateTimeZone('UTC')), 'workDayEnd' => new DateTime('2015/1/1 24:00', new DateTimeZone('UTC'))), array('type' => 'workWeek', 'majorTick' => 30, 'selected' => true, 'workWeekStart' => 5, 'workWeekEnd' => 7, 'showWorkHours' => true, 'workDayStart' => new DateTime('2015/1/1 15:00', new DateTimeZone('UTC')), 'workDayEnd' => new DateTime('2015/1/1 24:00', new DateTimeZone('UTC'))), 'agenda')->dataSource($dataSource);
    return $scheduler;
}