public function init() { parent::init(); $this->setTitle("Edit Agent"); }
public function createAction() { $viewer = Engine_Api::_()->user()->getViewer(); $agentTable = Engine_Api::_()->getDbTable('agents', 'ynevent'); $agents = $agentTable->getUserAgents($viewer); $maxAgent = Ynevent_Plugin_Utilities::getNumberAgentAllow($viewer); $maxAgent = $maxAgent == null ? 5 : $maxAgent; if (count($agents) >= $maxAgent) { return $this->_helper->redirector->gotoRoute(array('controller' => 'agent', 'action' => 'index'), 'event_extended', true); } $this->view->form = $form = new Ynevent_Form_Agent_Create(); if (!$this->getRequest()->isPost()) { return; } $values = $this->getRequest()->getPost(); if (!$form->isValid($this->getRequest()->getPost())) { if (!empty($values['country'])) { $this->view->countryVal = $values['country']; } else { $this->view->countryVal = ''; } if (!empty($values['state'])) { $this->view->stateVal = $values['state']; } else { $this->view->stateVal = ''; } if (!empty($values['city'])) { $this->view->cityVal = $values['city']; } else { $this->view->cityVal = ''; } return; } $values = $form->getValues(); if (isset($values['starttime']) && !empty($values['starttime'])) { $startDay = $values['starttime']; $values['starttime'] = Engine_Api::_()->ynevent()->changeDateFormat($startDay, 'mdy'); } if (isset($values['endtime']) && !empty($values['endtime'])) { $endDay = $values['endtime']; $values['endtime'] = Engine_Api::_()->ynevent()->changeDateFormat($endDay, 'mdy'); } // Convert times $oldTz = date_default_timezone_get(); date_default_timezone_set($viewer->timezone); if (!empty($values['starttime'])) { $start = strtotime($values['starttime']); $values['starttime'] = date('Y-m-d H:i:s', $start); } if (!empty($values['endtime'])) { $end = strtotime($values['endtime']); $values['endtime'] = date('Y-m-d H:i:s', $end); } if (count($agents)) { foreach ($agents as $agent) { if ($agent->title == $values['title']) { $form->addError("The agent name existed"); return; } } } $agentTable = Engine_Api::_()->getDbTable('agents', 'ynevent'); $agent = $agentTable->createRow(); date_default_timezone_set($oldTz); $db = $agentTable->getAdapter(); $db->beginTransaction(); try { $agent->setFromArray($values); $agent->user_id = $viewer->getIdentity(); $agent->creation_date = date('Y-m-d H:i:s'); $agent->save(); $db->commit(); } catch (Exeption $e) { throw $e; $db->rollBack(); } return $this->_helper->redirector->gotoRoute(array('controller' => 'agent', 'action' => 'index'), 'event_extended', true); }