public function indexAction() { $numberOfWorks = $this->_getParam('numberOfWorks', 5); $request = Zend_Controller_Front::getInstance()->getRequest(); if ($request->isPost()) { $this->getElement()->clearDecorators(); } $workTable = new Book_Model_DbTable_Works(); $workTableName = $workTable->info('name'); $workSelect = $workTable->getSelect()->order("{$workTableName}.creation_date DESC"); $workSelect->limit($numberOfWorks); $this->view->works = $works = $workTable->fetchAll($workSelect); $this->view->thumbnailOnly = $this->_getParam('thumbnailOnly', 0); }
public function indexAction() { $request = Zend_Controller_Front::getInstance()->getRequest(); if ($request->isPost()) { $this->getElement()->removeDecorator('title'); } $numberOfWorks = $this->_getParam('itemCountPerPage'); $workTable = new Book_Model_DbTable_Works(); $workTableName = $workTable->info('name'); $workSelect = $workTable->getSelect(); $workSelect->limit($numberOfWorks); $workSelect->order('RAND()'); $this->view->works = $workTable->fetchAll($workSelect); }
public function indexAction() { // Get subject and check auth $subject = Engine_Api::_()->core()->getSubject(); $workTable = new Book_Model_DbTable_Works(); $workTableName = $workTable->info(Zend_Db_Table_Abstract::NAME); $workSelect = $workTable->getSelect(); $workSelect->where("{$workTableName}.user_id = ?", $subject->getIdentity()); $workSelect->order("{$workTableName}.creation_date DESC"); $this->view->works = $works = $workTable->fetchAll($workSelect); // Do not render if nothing to show if (count($works) == 0) { return $this->setNoRender(); } }
public function createAction() { if (!$this->_helper->requireUser()->isValid()) { return; } $viewer = Engine_Api::_()->user()->getViewer(); $this->view->form = $form = new Book_Form_Work(array('workTitle' => 'Post your work')); if (!$this->getRequest()->isPost()) { return; } if (!$form->isValid($this->getRequest()->getPost())) { return; } $values = $form->getValues(); $db = Engine_Db_Table::getDefaultAdapter(); $db->beginTransaction(); try { $workTable = new Book_Model_DbTable_Works(); $work = $workTable->createRow($values); $work->creation_date = date('Y-m-d H:i:s'); $work->modified_date = $work->creation_date; $work->user_id = $viewer->getIdentity(); $work->save(); if (!empty($values['photo'])) { $work = $work->setPhoto($form->photo); } // CREATE AUTH STUFF HERE $auth = Engine_Api::_()->authorization()->context; $roles = array('owner', 'parent_member', 'registered', 'everyone'); foreach ($roles as $i => $role) { $auth->setAllowed($work, $role, 'view', true); } if (!$work->is_long) { $chapterTbl = new Book_Model_DbTable_Chapters(); $chapter = $chapterTbl->createRow(array('title' => null, 'content' => trim($values['content']), 'work_id' => $work->getIdentity(), 'published' => $values['published'])); $chapter->save(); } $db->commit(); } catch (Exception $e) { $db->rollBack(); throw $e; } if ($work->published) { $actionTbl = Engine_Api::_()->getDbTable('actions', 'activity'); $action = $actionTbl->addActivity($viewer, $work, 'work_new'); } $this->_redirectCustom($work->getHref()); }