public function categoriesAction() { $this->view->headScript()->appendFile(Zend_Registry::get('StaticBaseUrl') . 'application/modules/Book/externals/scripts/collapsible.js'); $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('book_admin_main', array(), 'book_admin_main_categories'); $table = new Book_Model_DbTable_Categories(); $this->view->categories = $table->getCategoriesByLevel(null, array('category_name')); }
public function indexAction() { $request = Zend_Controller_Front::getInstance()->getRequest(); $catId = $request->getParam('category_id', NULL); $bookTable = new Book_Model_DbTable_Books(); $select = $bookTable->getSelect(); $params = $request->getParams(); $page = $request->getParam('page', 1); if (!($catId == NULL || $catId == '')) { if (isset($params['text']) && !empty($params['text'])) { $bookTableName = $bookTable->info('name'); $select->where("{$bookTableName}.book_name LIKE ?", "%{$params['text']}%"); } $select->where('category_id = ?', $catId); $this->view->category = $category = Engine_Api::_()->getItem('book_category', $catId); $bookPaginator = Zend_Paginator::factory($select); $bookPaginator->setCurrentPageNumber($page); $bookPaginator->setItemCountPerPage(20); $this->view->bookPaginator = $bookPaginator; } else { $bookCategoryTable = new Book_Model_DbTable_Categories(); $bookCategoryTableName = $bookCategoryTable->info('name'); $bookTable = new Book_Model_DbTable_Books(); $bookTableName = $bookTable->info('name'); $categorySelect = $bookCategoryTable->select(); $bookSelectExist = $bookTable->getSelect(); if (isset($params['text']) && !empty($params['text'])) { $bookSelectExist->where("{$bookTableName}.book_name LIKE ?", "%{$params['text']}%"); } $bookSelectExist->where("{$bookTableName}.category_id = {$bookCategoryTableName}.category_id"); $categorySelect->where(new Zend_Db_Expr('exists (' . $bookSelectExist . ')')); $this->view->categoryPaginator = $categoryPaginator = Zend_Paginator::factory($categorySelect); $categoryPaginator->setCurrentPageNumber($page); $booksByCategory = array(); foreach ($categoryPaginator->getCurrentItems() as $cat) { $booksByCategory[$cat->category_id] = array(); foreach ($cat->getNewestBooks(10, $params) as $book) { array_push($booksByCategory[$cat->category_id], $book); } } $this->view->booksByCategory = $booksByCategory; $this->view->numberOfBooks = Engine_Api::_()->book()->getTotalBookCount($params); } }
public function indexAction() { $this->view->viewer = Engine_Api::_()->user()->getViewer(); $subject = Engine_Api::_()->core()->getSubject(); if ($subject->getType() != 'book') { $subject = $subject->getParentObject(); } if ($subject && $subject->getType() == 'book') { $this->view->book = $book = $subject; $this->view->authors = $authors = $book->getAuthors(Book_Plugin_Constants::AUTHOR); $categoryTable = new Book_Model_DbTable_Categories(); $this->view->category = $categoryTable->findRow($book->category_id); $bookApi = Engine_Api::_()->book(); $this->view->viewer = $viewer = Engine_Api::_()->user()->getViewer(); $this->view->rated = $bookApi->checkRated($book->getIdentity(), $book->getType(), $viewer->getIdentity()); if ($book->is_foreign) { $this->view->translators = $translators = $book->getAuthors(1); } } else { return $this->setNoRender(); } }
public function indexAction() { $post = Engine_Api::_()->core()->getSubject(); if (!empty($post->parent_object_type) && !empty($post->parent_object_id)) { if ($post->parent_object_type == 'book') { $bookTbl = new Book_Model_DbTable_Books(); $bookSelect = $bookTbl->getSelect()->where('book_id = ?', $post->parent_object_id); $this->view->book = $book = $bookTbl->fetchRow($bookSelect); $this->view->authors = $authors = $book->getAuthors(0); $categoryTable = new Book_Model_DbTable_Categories(); $this->view->category = $categoryTable->findRow($book->category_id); $bookApi = Engine_Api::_()->book(); $this->view->viewer = $viewer = Engine_Api::_()->user()->getViewer(); $this->view->rated = $bookApi->checkRated($book->getIdentity(), $book->getType(), $viewer->getIdentity()); if ($book->is_foreign) { $this->view->translators = $translators = $book->getAuthors(1); } } } else { return $this->setNoRender(); } }
public function indexAction() { $categoryTable = new Book_Model_DbTable_Categories(); $select = $categoryTable->select()->order('ordering'); $this->view->categories = $categories = $categoryTable->fetchAll($select); }