public function deletesAction() { // In smoothbox $this->_helper->layout->setLayout('admin-simple'); if ($this->getRequest()->isPost()) { $ids = $this->_getParam('id'); $bookTbl = new Book_Model_DbTable_Books(); if (!empty($ids) && is_array($ids)) { $bookSelect = $bookTbl->getSelect(); $bookSelect->where('book_id IN (?)', $ids); $books = $bookTbl->fetchAll($bookSelect); $db = Engine_Db_Table::getDefaultAdapter(); $db->beginTransaction(); try { foreach ($books as $book) { $book->delete(); } $db->commit(); } catch (Exception $e) { $db->rollBack(); throw $e; } return $this->_forward('success', 'utility', 'core', array('layout' => 'default-simple', 'parentRefresh' => true, 'messages' => array(Zend_Registry::get('Zend_Translate')->_('The books are deleted successfully.')))); } } }
public function indexAction() { $request = Zend_Controller_Front::getInstance()->getRequest(); if ($request->isPost()) { $this->getElement()->clearDecorators(); } $numberOfBooks = $this->_getParam('itemCountPerPage', 12); $bookTable = new Book_Model_DbTable_Books(); $bookSelect = $bookTable->getSelect(); $bookSelect->limit($numberOfBooks); $bookSelect->order('RAND()'); $this->view->paginator = $paginator = Zend_Paginator::factory($bookSelect); if ($paginator->getTotalItemCount() == 0) { return $this->setNoRender(); } if ($paginator->getTotalItemCount() == 0) { return $this->setNoRender(); } $itemCountPerPage = $this->_getParam('itemCountPerPage', 12); if (empty($itemCountPerPage)) { $itemCountPerPage = 12; } $paginator->setItemCountPerPage($itemCountPerPage); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); }
public function indexAction() { if (!Engine_Api::_()->core()->hasSubject()) { return $this->setNoRender(); } $subject = Engine_Api::_()->core()->getSubject(); if ($subject->getType() == 'user' && $subject->level_id == Book_Plugin_Constants::AUTHOR_LEVEL) { $bookTable = new Book_Model_DbTable_Books(); $bookTableName = $bookTable->info('name'); $bookSelect = $bookTable->getSelect(); $bookAuthorTable = new Book_Model_DbTable_BookAuthor(); $bookAuthorTableName = $bookAuthorTable->info('name'); $bookSelect->join($bookAuthorTableName, "{$bookTableName}.book_id = {$bookAuthorTableName}.book_id"); $bookSelect->where("{$bookAuthorTableName}.author_id = ?", $subject->getIdentity()); $bookSelect->order('RAND()'); $this->view->paginator = $paginator = Zend_Paginator::factory($bookSelect); $paginator->setItemCountPerPage($this->_getParam('itemCountPerPage', 5)); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); $itemCount = $paginator->getTotalItemCount(); if ($itemCount == 0) { return $this->setNoRender(); } else { $this->_childCount = $paginator->getTotalItemCount(); $paginator->setItemCountPerPage($this->_getParam('itemCountPerPage', 10)); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); } } else { return $this->setNoRender(); } }
public function indexAction() { $request = Zend_Controller_Front::getInstance()->getRequest(); if ($request->isPost()) { $this->getElement()->clearDecorators(); } $bookTable = new Book_Model_DbTable_Books(); $bookTableName = $bookTable->info(Zend_Db_Table_Abstract::NAME); $bookSelect = $bookTable->getSelect(); $popularityTbl = new Book_Model_DbTable_Popularities(); $popularityTblName = $popularityTbl->info(Zend_Db_Table_Abstract::NAME); $bookSelect->joinLeft($popularityTblName, "{$popularityTblName}.resource_id = {$bookTableName}.book_id", array("{$popularityTblName}.point")); $bookSelect->where("{$popularityTblName}.resource_type = ?", 'book'); $bookSelect->order("{$popularityTblName}.point DESC"); $bookSelect->order("{$popularityTblName}.posted_date DESC"); $this->view->paginator = $paginator = Zend_Paginator::factory($bookSelect); if ($paginator->getTotalItemCount() == 0) { return $this->setNoRender(); } $itemCountPerPage = $this->_getParam('itemCountPerPage', 12); if (empty($itemCountPerPage)) { $itemCountPerPage = 12; } $paginator->setItemCountPerPage($itemCountPerPage); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); $this->view->viewInfo = $this->_getParam('viewInfo'); }
public function indexAction() { $numberOfBooks = $this->_getParam('itemCountPerPage', 5); $bookTable = new Book_Model_DbTable_Books(); $bookSelect = $bookTable->getSelect(); $bookSelect->limit($numberOfBooks); $bookSelect->order('RAND()'); $this->view->books = $books = $bookTable->fetchAll($bookSelect); }
public function getBooksSelect($params = array(), $order_by = true) { $table = new Book_Model_DbTable_Books(); $select = $table->getSelect(); if (!empty($params['orderby'])) { $select->order($params['orderby']); } if (!empty($params['text'])) { $select->where("book_name LIKE ?", "%{$params['text']}%"); } return $select; }
public function getNewestBooks($limit, $params = NULL) { $table = new Book_Model_DbTable_Books(); $tableName = $table->info(Zend_Db_Table_Abstract::NAME); $select = $table->getSelect(); $select->where("{$tableName}.category_id = ?", $this->getIdentity()); if ($params && isset($params['text']) && !empty($params['text'])) { $select->where("{$tableName}.book_name LIKE ?", "%{$params['text']}%"); } $select->limit($limit); return $table->fetchAll($select); }
public function indexAction() { $bookTable = new Book_Model_DbTable_Books(); $signatureTable = new Book_Model_DbTable_Signatures(); $signatureTableName = $signatureTable->info('name'); $bookSelect = $bookTable->getSelect()->order("{$signatureTableName}.rating_count DESC"); $this->view->paginator = $paginator = Zend_Paginator::factory($bookSelect); if ($paginator->getTotalItemCount() == 0) { return $this->setNoRender(); } $paginator->setItemCountPerPage($this->_getParam('itemCountPerPage', 12)); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); }
public function getTaggedBooks() { $tagTbl = new Book_Model_DbTable_Tags(); $tagSelect = $tagTbl->select()->where('object_type = ?', 'book')->where('post_id = ?', $this->getIdentity()); $bookIds = array(); foreach ($tagTbl->fetchAll($tagSelect) as $row) { array_push($bookIds, $row->object_id); } if (!empty($bookIds)) { $bookTbl = new Book_Model_DbTable_Books(); $bookTblName = $bookTbl->info(Zend_Db_Table_Abstract::NAME); $bookSelect = $bookTbl->getSelect(); $bookSelect->where("{$bookTblName}.book_id in (?)", $bookIds); return $bookTbl->fetchAll($bookSelect); } return array(); }
public function indexAction() { // Get subject and check auth $subject = Engine_Api::_()->core()->getSubject(); $bookTable = new Book_Model_DbTable_Books(); $bookTableName = $bookTable->info(Zend_Db_Table_Abstract::NAME); $bookSelect = $bookTable->getSelect(); $bookSelect->where("{$bookTableName}.user_id = ?", $subject->getIdentity()); $this->view->paginator = $paginator = Zend_Paginator::factory($bookSelect); // Do not render if nothing to show if ($paginator->getTotalItemCount() <= 0) { return $this->setNoRender(); } else { $this->_childCount = $paginator->getTotalItemCount(); $paginator->setItemCountPerPage($this->_getParam('itemCountPerPage', 10)); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); } }
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() { $request = Zend_Controller_Front::getInstance()->getRequest(); if ($request->isPost()) { $this->getElement()->clearDecorators(); } $bookTable = new Book_Model_DbTable_Books(); $bookTableName = $bookTable->info('name'); $bookSelect = $bookTable->getSelect()->order("{$bookTableName}.creation_date DESC"); $this->view->paginator = $paginator = Zend_Paginator::factory($bookSelect); if ($paginator->getTotalItemCount() == 0) { return $this->setNoRender(); } $itemCountPerPage = $this->_getParam('itemCountPerPage', 12); if (empty($itemCountPerPage)) { $itemCountPerPage = 12; } $this->view->paginator->setItemCountPerPage($itemCountPerPage); $this->view->paginator->setCurrentPageNumber($this->_getParam('page', 1)); $this->view->viewInfo = $this->_getParam('viewInfo'); }
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(); } }