public function editAction() { $id = $this->_getParam('id', null); $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('adcampaign_admin_main', array('params' => array('id' => $id)), 'adcampaign_admin_main_edit'); $this->view->form = $form = new Core_Form_Admin_Ads_Edit(); $this->view->campaign = $campaign = Engine_Api::_()->getItem('core_adcampaign', $id); // Save values if ($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) { $params = $form->getValues(); //$params['user_id'] = $this->_helper->api()->user()->getViewer()->getIdentity(); //$announcement = $this->_helper->api()->getDbtable('announcements', 'announcement')->createRow(); $campaign->setFromArray($params); $selected_levels = $this->_getParam('ad_levels'); $selected_networks = $this->_getParam('ad_networks'); $campaign->network = Zend_Json_Encoder::encode($selected_networks); $campaign->level = Zend_Json_Encoder::encode($selected_levels); $campaign->save(); //$this->_helper->redirector->gotoRoute(array('action' => 'index')); //$form->addMessage('Changes Saved!'); } else { $form->populate($campaign->toArray()); // set the networks & level values //$networks = Engine_Api::_()->network()->getNetwork(NULL, NULL); $networks = Engine_Api::_()->getDbtable('networks', 'network')->fetchAll(); if ($networks) { if ($ad_networks = $form->getElement('ad_networks')) { $ad_networks->setValue(Zend_Json_Decoder::decode($campaign->network)); } } if ($levels = $form->getElement('ad_levels')) { $levels->setValue(Zend_Json_Decoder::decode($campaign->level)); } /* * $this->view->selected_levels = $selected_levels = Zend_Json_Decoder::decode($campaign->level); * $this->view->selected_networks = $selected_networks = Zend_Json_Decoder::decode($campaign->network); */ } }
public function editAction() { $id = $this->_getParam('id', null); $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('adcampaign_admin_main', array('params' => array('id' => $id)), 'adcampaign_admin_main_edit'); $this->view->form = $form = new Core_Form_Admin_Ads_Edit(); $this->view->campaign = $campaign = Engine_Api::_()->getItem('core_adcampaign', $id); $viewer = Engine_Api::_()->user()->getViewer(); if ($viewer->getIdentity() && !empty($viewer->timezone)) { $form->getElement('start_time')->setAttrib('optionalSuffix', ' (' . $viewer->timezone . ')'); $form->getElement('end_settings')->setAttrib('optionalSuffix', ' (' . $viewer->timezone . ')'); } else { $form->getElement('start_time')->setAttrib('optionalSuffix', ' (' . 'UTC' . ')'); $form->getElement('end_settings')->setAttrib('optionalSuffix', ' (' . 'UTC' . ')'); } // Initialize values $params = $campaign->toArray(); // Process timezone $viewer = Engine_Api::_()->user()->getViewer(); if ($viewer->getIdentity() && !empty($viewer->timezone)) { if (!empty($params['start_time']) && '' != $params['start_time']) { $params['start_time'] = $this->_convertTimezone($params['start_time'], 'UTC', $viewer->timezone); } if (!empty($params['end_time']) && '' != $params['end_time']) { $params['end_time'] = $this->_convertTimezone($params['end_time'], 'UTC', $viewer->timezone); } } // if end_time is not set make sure the form value is populated properly if ($campaign->end_settings == 0) { $params['end_time'] = 0; } // set the networks & level values $networks = Engine_Api::_()->getDbtable('networks', 'network')->fetchAll(); if ($networks) { $params['ad_networks'] = Zend_Json::decode($campaign->network); // if( ($ad_networks = $form->getElement('ad_networks')) ) { // $ad_networks->setValue(Zend_Json_Decoder::decode($campaign->network)); // } } $params['ad_levels'] = Zend_Json::decode($campaign->level); // if( ($levels = $form->getElement('ad_levels')) ) { // $levels->setValue(Zend_Json_Decoder::decode($campaign->level)); // } $form->populate($params); // Save values if (!$this->getRequest()->isPost()) { return; } if (!$form->isValid($this->getRequest()->getPost())) { return; } // Process $params = $form->getValues(); // Process timezone $viewer = Engine_Api::_()->user()->getViewer(); if ($viewer->getIdentity() && !empty($viewer->timezone)) { if (!empty($params['start_time']) && '' != $params['start_time']) { $params['start_time'] = $this->_convertTimezone($params['start_time'], $viewer->timezone, 'UTC'); } if (!empty($params['end_time']) && '' != $params['end_time']) { $params['end_time'] = $this->_convertTimezone($params['end_time'], $viewer->timezone, 'UTC'); } } $campaign->setFromArray($params); $selected_levels = $this->_getParam('ad_levels'); $selected_networks = $this->_getParam('ad_networks'); $campaign->network = Zend_Json_Encoder::encode($selected_networks); $campaign->level = Zend_Json_Encoder::encode($selected_levels); $campaign->save(); $form->addNotice('Changes Saved!'); }