public function init() { parent::init(); $this->setTitle('Edit Sponsor')->setAttrib('id', 'ynevent_sponsor_edit'); $this->submit->setLabel('Save Changes'); $this->addElement('Cancel', 'cancel', array('prependText' => ' or ', 'label' => 'Cancel', 'link' => true, 'href' => '', 'onclick' => 'parent.Smoothbox.close();', 'decorators' => array('ViewHelper'))); $this->addDisplayGroup(array('submit', 'cancel'), 'buttons'); }
public function createAction() { $this->view->form = $form = new Ynevent_Form_Sponsor_Create(); $request = Zend_Controller_Front::getInstance()->getRequest(); // Not post/invalid if (!$request->isPost()) { return; } if (!$form->isValid($request->getPost())) { return; } // Process $eventId = $this->_getParam('event_id'); $tabId = $this->_getParam('tab'); if (!($eventId && is_numeric($eventId))) { return; } $this->view->event = $event = Engine_Api::_()->getItem('event', $this->_getParam('event_id')); $values = $form->getValues(); $values['event_id'] = $event->getIdentity(); $db = Engine_Api::_()->getDbtable('sponsors', 'ynevent')->getAdapter(); $db->beginTransaction(); try { $table = Engine_Api::_()->getDbtable('sponsors', 'ynevent'); $sponsor = $table->createRow(); $sponsor->setFromArray($values); $sponsor->save(); // Add photo if (!empty($values['photo'])) { $sponsor->setPhoto($form->photo); } // Commit $db->commit(); return $this->_forward('success', 'utility', 'core', array('messages' => array(Zend_Registry::get('Zend_Translate')->_('Added Successfully')), 'layout' => 'default-simple', 'parentRedirect' => $this->view->url(array('id' => $eventId), 'event_profile') . ($tabId && is_numeric($tabId) ? "?tab={$tabId}" : ""), 'closeSmoothbox' => true)); } catch (Engine_Image_Exception $e) { $db->rollBack(); $form->addError(Zend_Registry::get('Zend_Translate')->_('The image you selected was too large.')); } catch (Exception $e) { $db->rollBack(); throw $e; } }
public function indexAction() { // Don't render this if not authorized $this->view->viewer = $viewer = Engine_Api::_()->user()->getViewer(); if (!Engine_Api::_()->core()->hasSubject()) { return $this->setNoRender(); } // Get subject and check auth $subject = Engine_Api::_()->core()->getSubject('event'); if (!$subject->authorization()->isAllowed($viewer, 'view')) { return $this->setNoRender(); } // Get params $this->view->page = $page = $this->_getParam('page', 1); $this->view->search = $search = $this->_getParam('search'); // Prepare data $this->view->event = $event = $subject; $this->view->canAdd = $event->user_id == $viewer->getIdentity() ? true : false; $this->view->form = $form = new Ynevent_Form_Sponsor_Create(); // Get paginator $table = Engine_Api::_()->getItemTable('event_sponsor'); $select = $table->select()->where('event_id = ?', $subject->getIdentity())->order('sponsor_id DESC'); $this->view->paginator = $paginator = Zend_Paginator::factory($select); // Set item count per page and current page number $paginator->setItemCountPerPage($this->_getParam('itemCountPerPage', 5)); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); // Do not render if nothing to show and not viewer /* if( $paginator->getTotalItemCount() <= 0 && !$viewer->getIdentity() ) { return $this->setNoRender(); } */ // Add count to title if configured if ($this->_getParam('titleCount', false) && $paginator->getTotalItemCount() > 0) { $this->_childCount = $paginator->getTotalItemCount(); } $request = Zend_Controller_Front::getInstance()->getRequest(); // Not post/invalid if (!$request->isPost()) { return; } if (!$form->isValid($request->getPost())) { return; } // Process $values = $form->getValues(); $values['event_id'] = $event->getIdentity(); $db = Engine_Api::_()->getDbtable('sponsors', 'ynevent')->getAdapter(); $db->beginTransaction(); try { $table = Engine_Api::_()->getDbtable('sponsors', 'ynevent'); $sponsor = $table->createRow(); $sponsor->setFromArray($values); $sponsor->save(); // Add photo if (!empty($values['photo'])) { $sponsor->setPhoto($form->photo); } // Commit $db->commit(); } catch (Engine_Image_Exception $e) { $db->rollBack(); $form->addError(Zend_Registry::get('Zend_Translate')->_('The image you selected was too large.')); } catch (Exception $e) { $db->rollBack(); throw $e; } }