Beispiel #1
0
 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!');
 }