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'));
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
 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();
     }
 }
Ejemplo n.º 4
0
 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();
     }
 }
Ejemplo n.º 5
0
 public function indexAction()
 {
     $categoryTable = new Book_Model_DbTable_Categories();
     $select = $categoryTable->select()->order('ordering');
     $this->view->categories = $categories = $categoryTable->fetchAll($select);
 }