File Manager
<?php
if( !isset($gCms) ) exit;
if( !$this->CheckPermission('Modify Calendar') && !$this->CheckPermission('Add Calendar Events') &&
!$this->CheckPermission('Edit My Calendar Events') ) exit;
$userid = null;
if( !$this->CheckPermission('Modify Calendar') ) $userid = get_userid(FALSE) * -1 - 100;
$result = new stdClass;
$result->status = 0;
$result->msg = $this->Lang('error_unknown');
try {
debug_to_log('admin_ajax_editevent');
debug_to_log($params);
$event_id = (int)cge_utils::get_param($params,'event_id');
$dayDelta = (int)cge_utils::get_param($params,'dayDelta');
$minuteDelta = (int)cge_utils::get_param($params,'minuteDelta');
$allDay = (int)cge_utils::get_param($params,'allDay');
$move = (int)cge_utils::get_param($params,'move',0);
if( $event_id < 1 ) throw new Exception($this->Lang('error_insufficientparams'));
if( $dayDelta == 0 && $minuteDelta == 0 && $allDay == 0 ) throw new Exception($this->Lang('error_insufficientparams'));
// get the event (make sure it's valid, and we have permission to edit it)
$query = 'SELECT * FROM '.$this->events_table_name.' WHERE event_id = ?';
$parms = array($event_id);
if( !is_null($userid) ) {
$query .= ' AND event_created_by = ?';
$parms[] = $userid;
}
$event = $db->GetRow($query,array($event_id));
if( !$event ) throw new Exception($this->Lang('error_eventnotfound'));
$day = 24 * 3600;
$tdiff = $dayDelta * $day + $minuteDelta * 60;
$event['event_date_start'] = $db->UnixTimeStamp($event['event_date_start']);
$event['event_date_end'] = $db->UnixTimeStamp($event['event_date_end']);
if( $move ) $event['event_date_start'] += $tdiff;
if( $event['event_date_end'] == 0 ) $event['event_date_end'] = $event['event_date_start'] + 15 * 60; // fifteen minutes if there is no end time.
$event['event_date_end'] += $tdiff;
$event['event_all_day'] = $allDay;
// and save the thing.
$query = 'UPDATE '.$this->events_table_name.' SET event_date_start = FROM_UNIXTIME(?), event_date_end = FROM_UNIXTIME(?), event_all_day = ?, event_modified_date = NOW()
WHERE event_id = ?';
$db->Execute($query,array($event['event_date_start'],$event['event_date_end'],$event['event_all_day'],$event['event_id']));
$result->status = 1;
}
catch( Exception $e ) {
$result->msg = $this->GetMessage();
}
echo json_encode($result);
exit;
?>
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com