Example #1
0
 /**
  * @abstract Edits an event recprd
  * @param integer $id
  * @access public
  */
 public function edit_event($id = false)
 {
     template()->addCss('admin/datepicker.css');
     template()->addJs('admin/datepicker.js');
     template()->addJs('edit.js');
     if ($id) {
         $form = new Form('events', $id, array('event_groups'));
         if ($form->cv('end_date') == '0000-00-00') {
             $form->setDefaultValue('end_date', '');
         }
         $start_time = strtotime($form->cv('start_time'));
         if ($form->cv('start_time') != '00:00:00') {
             $form->addField('start_hour', date("h", $start_time), date("h", $start_time));
             $form->addField('start_minute', date("i", $start_time), date("i", $start_time));
             $form->addField('start_ampm', date("a", $start_time), date("a", $start_time));
         } else {
             $form->addField('start_hour');
             $form->addField('start_minute');
             $form->addField('start_ampm');
         }
         $end_time = strtotime($form->cv('end_time'));
         if ($form->cv('end_time') != '00:00:00') {
             $form->addField('end_hour', date("h", $end_time), date("h", $end_time));
             $form->addField('end_minute', date("i", $end_time), date("i", $end_time));
             $form->addField('end_ampm', date("a", $end_time), date("a", $end_time));
         } else {
             $form->addField('end_hour');
             $form->addField('end_minute');
             $form->addField('end_ampm');
         }
         $data['form'] = $form;
         // proces the form if submitted
         if ($form->isSubmitted()) {
             $this->timeString('start', $form);
             $this->timeString('end', $form);
             // @todo move to model
             if (!post()->keyExists('recurring')) {
                 $form->setCurrentValue('recurring', false);
             } else {
                 $form->setCurrentValue('start_date', '');
                 $form->setCurrentValue('end_date', '');
             }
             if ($form->save($id)) {
                 sml()->say('Event has successfully been updated.');
                 router()->redirect('view');
             } else {
                 sml()->say('An error occurred. Please try again.');
             }
         }
     }
     template()->display($data);
 }