public function indexAction()
 {
     $this->_helper->content->setEnabled();
     $params = $this->_getAllParams();
     $workTbl = new Book_Model_DbTable_Works();
     $workTblName = $workTbl->info(Zend_Db_Table_Abstract::NAME);
     $workSelect = $workTbl->getSelect();
     $workSelect->order('creation_date DESC');
     if (!empty($params['tag'])) {
         $tagMapTbl = Engine_Api::_()->getDbtable('TagMaps', 'core');
         $tagMapTblName = $tagMapTbl->info('name');
         $workSelect->joinLeft($tagMapTblName, "{$tagMapTblName}.resource_id = {$workSelect}.work_id", NULL)->where($tagMapTblName . '.resource_type = ?', 'book_work')->where($tagMapTblName . '.tag_id = ?', $params['tag']);
     }
     if (!empty($params['text'])) {
         $workSelect->where("{$workTblName}.title LIKE ?", "%{$params['text']}%");
     }
     if (!empty($params['author'])) {
         $userTbl = Engine_Api::_()->getItemTable('user');
         $userTblName = $userTbl->info(Zend_Db_Table_Abstract::NAME);
         $workSelect->join($userTblName, "{$workTblName}.user_id = {$userTblName}.user_id", array());
         $workSelect->where("{$userTblName}.displayname LIKE ?", "%{$params['author']}%");
     }
     $this->view->viewer = Engine_Api::_()->user()->getViewer();
     $this->view->paginator = $paginator = Zend_Paginator::factory($workSelect);
     $paginator->setCurrentPageNumber($this->_getParam('page', 1));
     $paginator->setItemCountPerPage(10);
 }
Exemple #2
0
 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);
 }
Exemple #3
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);
 }
Exemple #4
0
 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();
     }
 }