/** * @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); }