예제 #1
0
 /**
  * Edits an event
  * @return 
  */
 public function EditEvent()
 {
     // Check the token
     if (!Kit::CheckToken()) {
         trigger_error('Token does not match', E_USER_ERROR);
     }
     $db =& $this->db;
     $user =& $this->user;
     $response = new ResponseManager();
     $datemanager = new DateManager($db);
     $eventID = Kit::GetParam('EventID', _POST, _INT, 0);
     $eventDetailID = Kit::GetParam('EventDetailID', _POST, _INT, 0);
     $campaignId = Kit::GetParam('CampaignID', _POST, _INT, 0);
     $fromDT = Kit::GetParam('iso_starttime', _POST, _STRING);
     $toDT = Kit::GetParam('iso_endtime', _POST, _STRING);
     $displayGroupIDs = Kit::GetParam('DisplayGroupIDs', _POST, _ARRAY);
     $isPriority = Kit::GetParam('is_priority', _POST, _CHECKBOX);
     $rec_type = Kit::GetParam('rec_type', _POST, _STRING);
     $rec_detail = Kit::GetParam('rec_detail', _POST, _INT);
     $recToDT = Kit::GetParam('iso_rec_range', _POST, _STRING);
     $userid = Kit::GetParam('userid', _SESSION, _INT);
     $displayOrder = Kit::GetParam('DisplayOrder', _POST, _INT);
     if ($eventID == 0) {
         trigger_error('No event selected.', E_USER_ERROR);
     }
     Debug::LogEntry('audit', 'From DT: ' . $fromDT);
     Debug::LogEntry('audit', 'To DT: ' . $toDT);
     $fromDT = $datemanager->GetDateFromString($fromDT);
     $toDT = $datemanager->GetDateFromString($toDT);
     if ($recToDT != '') {
         $recToDT = $datemanager->GetDateFromString($recToDT);
     }
     // Validate layout
     if ($campaignId == 0) {
         trigger_error(__("No layout selected"), E_USER_ERROR);
     }
     // check that at least one display has been selected
     if ($displayGroupIDs == '') {
         trigger_error(__("No displays selected"), E_USER_ERROR);
     }
     // validate the dates
     if ($toDT < $fromDT) {
         trigger_error(__('Can not have an end time earlier than your start time'), E_USER_ERROR);
     }
     // Check recurrance dT is in the future or empty
     if ($recToDT != '' && $recToDT < time() - 86400) {
         trigger_error(__("Your repeat until date is in the past. Cannot schedule events to repeat in to the past"), E_USER_ERROR);
     }
     // Ready to do the edit
     $scheduleObject = new Schedule($db);
     if (!$scheduleObject->Edit($eventID, $eventDetailID, $displayGroupIDs, $fromDT, $toDT, $campaignId, $rec_type, $rec_detail, $recToDT, $isPriority, $userid, $displayOrder)) {
         trigger_error($scheduleObject->GetErrorMessage(), E_USER_ERROR);
     }
     $response->SetFormSubmitResponse(__("The Event has been Modified."));
     $response->callBack = 'CallGenerateCalendar';
     $response->Respond();
 }