/** * preDispatch function. * * Define the layout path based on what module is being used. * * @author Aaron (bachya1208[at]googlemail.com) * @access public * @param Zend_Controller_Request_Abstract $request * @return void * <ul> <li class="Activities"><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">Next >></a></li> </ul> */ public function Pagination($pager, $text = '', $Condition = array(), $style = '') { unset($Condition['page']); unset($Condition['msg']); $_t = ''; foreach ($Condition as $key => $item) { if (is_array($item)) { foreach ($item as $a => $b) { $_t .= '&' . $key . '[' . $a . ']=' . $b; } } else { $_t .= '&' . $key . '=' . $item; } } $text = str_replace('{%Condition}', $_t, $text); $pager_layout = new Doctrine_Pager_Layout($pager, new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), $text); $pager_layout->setTemplate('<li><a href="{%url}">{%page}</a></li>'); $pager_layout->setSelectedTemplate('<li><a class="current" title="{%page}" href="#">{%page}</a></li>'); $str = '<ul class="controls-buttons">'; if ($pager->getPage() > 1) { $str .= '<li><a title="Previous" href="' . str_replace('{%page}', $pager->getPreviousPage(), $text) . '"><img height="16" width="16" src="http://' . $_SERVER['HTTP_HOST'] . '/images/icons/fugue/navigation-180.png">Previous</a></li>'; } $str .= $pager_layout->display(array(), true); if ($pager->getPage() < $pager->getLastPage()) { $str .= '<li><a title="Next" href="' . str_replace('{%page}', $pager->getNextPage(), $text) . '">Next<img height="16" width="16" src="http://' . $_SERVER['HTTP_HOST'] . '/images/icons/fugue/navigation.png"></a></li>'; } $str .= '</ul>'; // if ($style == 'advanced') // $str = '<b>Trang:</b> ' . $str .= '<br>' . 'Hiển thị ' . $pager->getFirstIndice () . ' - ' . $pager->getLastIndice () . ' của ' . $pager->getNumResults () . '/ ' . $pager->getLastPage () . ' trang'; return $str; }
/** * */ public function PaginationFront($pager, $text = '', $Condition = array()) { unset($Condition['page']); unset($Condition['msg']); $_t = ''; if ($Condition) { foreach ($Condition as $key => $item) { if (is_array($item)) { foreach ($item as $a => $b) { $_t .= '&' . $key . '[' . $a . ']=' . $b; } } else { $_t .= '&' . $key . '=' . $item; } } $text = str_replace('{%Condition}', $_t, $text); } $pager_layout = new Doctrine_Pager_Layout($pager, new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), $text); $pager_layout->setTemplate('<li><a href="{%url}">{%page}</a></li>'); $pager_layout->setSelectedTemplate('<li class="active">{%page}</li>'); $str .= '<li><a href="' . str_replace('{%page}', $pager->getFirstPage(), $text) . '">First</a></li>'; $str .= '<li class="previous-off"><a href="' . str_replace('{%page}', $pager->getPreviousPage(), $text) . '">« Previous</a></li>'; $str .= $pager_layout->display(array(), true); $str .= '<li class="next"><a href="' . str_replace('{%page}', $pager->getNextPage(), $text) . '" class="arr_right">Next »</a></li>'; $str .= '<li><a href="' . str_replace('{%page}', $pager->getLastPage(), $text) . '">Last</a></li>'; //$str .= '<div class="pages">Total of pages '.$pager->getNumResults() / $pager->_maxPerPage.'</div>'; return $str; }
/** * Displayes Overview of all registered Users */ public function action_list() { // Set Pagetitle and Breadcrumbs Clansuite_Breadcrumb::add(_('Show'), '/users/show'); // Defining initial variables $currentPage = (int) $this->request->getParameter('page'); $resultsPerPage = (int) self::getConfigValue('resultsPerPage', '10'); /* @todo news with status: draft, published, private, private+protected*/ // Creating Pager Object with a Query Object inside $pager_layout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->select('u.user_id, u.nick, u.email, u.joined, g.name, g.color, p.icq')->from('CsUsers u')->leftJoin('u.CsGroups g')->leftJoin('u.CsProfiles p')->orderby('u.user_id ASC'), $currentPage, $resultsPerPage), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), '?mod=news&action=show&page={%page}'); // Assigning templates for page links creation $pager_layout->setTemplate('[<a href="{%url}">{%page}</a>]'); $pager_layout->setSelectedTemplate('[{%page}]'); // Retrieving Doctrine_Pager instance $pager = $pager_layout->getPager(); // Fetching userslist $userslist = $pager->execute(array(), Doctrine::HYDRATE_ARRAY); // Get Number of Rows $count = count($userslist); // Get Render Engine $view = $this->getView(); // Assign $userslist array to Smarty for template output $view->assign('userslist', $userslist); // Pagination $view->assignGlobal('pager', $pager); $view->assignGlobal('pager_layout', $pager_layout); // specifiy the template manually #$view->setTemplate('userslist/view/show.tpl'); $this->display(); }
public function indexAction() { //$this->_forward('index', 'index', 'default'); // set filters and validators for GET input $filters = array('page' => array('HtmlEntities', 'StripTags', 'StringTrim')); $validators = array('page' => array('Int')); $input = new Zend_Filter_Input($filters, $validators); $input->setData($this->getRequest()->getParams()); if ($input->isValid()) { $q = Doctrine_Query::create()->from('Webteam_Model_Video i')->where('i.UserName = ?', $this->identity['UserName']); //$result = $q->fetchArray(); //$this->view->records = $result; // configure pager $perPage = 10; $numPageLinks = 9; // initialize pager $pager = new Doctrine_Pager($q, $input->page, $perPage); // execute paged query $result = $pager->execute(array(), Doctrine::HYDRATE_ARRAY); // initialize pager layout $pagerRange = new Doctrine_Pager_Range_Sliding(array('chunk' => $numPageLinks), $pager); $pagerUrlBase = $this->view->url(array(), 'user-catalog-index', 1) . "/{%page}"; $pagerLayout = new Doctrine_Pager_Layout($pager, $pagerRange, $pagerUrlBase); // set page link display template $pagerLayout->setTemplate('<a href="{%url}">{%page}</a>'); $pagerLayout->setSelectedTemplate('<span class="current">{%page}</span>'); $pagerLayout->setSeparatorTemplate(' '); // set view variables $this->view->records = $result; $this->view->pages = $pagerLayout->display(null, true); } else { throw new Zend_Controller_Action_Exception('Invalid input'); } }
/** * preDispatch function. * * Define the layout path based on what module is being used. * * @author Aaron (bachya1208[at]googlemail.com) * @access public * @param Zend_Controller_Request_Abstract $request * @return void * <ul> <li class="Activities"><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">Next >></a></li> </ul> */ public function Pagination($pager, $text = '', $Condition = array(), $style = '') { unset($Condition['page']); unset($Condition['msg']); $_t = ''; foreach ($Condition as $key => $item) { if (is_array($item)) { foreach ($item as $a => $b) { $_t .= '&' . $key . '[' . $a . ']=' . $b; } } else { $_t .= '&' . $key . '=' . $item; } } $text = str_replace('{%Condition}', $_t, $text); $pager_layout = new Doctrine_Pager_Layout($pager, new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), $text); $pager_layout->setTemplate('<li><a class="normal" href="{%url}">{%page}</a></li>'); $pager_layout->setSelectedTemplate('<li class="active">{%page}</li>'); $str = '<ul class="pagination">'; if ($pager->getPage() > 1) { $str .= '<li><a href="' . str_replace('{%page}', $pager->getPreviousPage(), $text) . '" class="prev">Previous</a></li>'; } $str .= $pager_layout->display(array(), true); if ($pager->getPage() < $pager->getLastPage()) { $str .= '<li><a href="' . str_replace('{%page}', $pager->getNextPage(), $text) . '" class="arr_right">Next</a></li>'; } $str .= '</ul>'; if ($style == 'advanced') { $str = '<b>Trang:</b> ' . ($str .= '<br>' . 'Hiển thị ' . $pager->getFirstIndice() . ' - ' . $pager->getLastIndice() . ' của ' . $pager->getNumResults() . '/ ' . $pager->getLastPage() . ' trang'); } return $str; }
public function display($options = array(), $return = false) { $pager = $this->getPager(); $str = ''; // First page $this->addMaskReplacement('page', '<span class="nav_arrow">«</span>', true); $options['page_number'] = $pager->getFirstPage(); $str .= $this->processPage($options); // Previous page $this->addMaskReplacement('page', '<span class="nav_arrow">‹</span>', true); $options['page_number'] = $pager->getPreviousPage(); $str .= $this->processPage($options); // Pages listing $this->removeMaskReplacement('page'); $this->setSelectedTemplate('<li class="page_selected">[{%page}]</li>'); $str .= parent::display($options, true); $this->setSelectedTemplate('<li>{%page}</li>'); // Next page $this->addMaskReplacement('page', '<span class="nav_arrow">›</span>', true); $options['page_number'] = $pager->getNextPage(); $str .= $this->processPage($options); // Last page $this->addMaskReplacement('page', '<span class="nav_arrow">»</span>', true); $options['page_number'] = $pager->getLastPage(); $str .= $this->processPage($options); // Possible wish to return value instead of print it on screen if ($return) { return $str; } echo $str; }
public function display($options = array(), $return = false) { $pager = $this->getPager(); $str = ''; // First page $this->addMaskReplacement('page', '«', true); $options['page_number'] = $pager->getFirstPage(); $str .= $this->processPage($options); // Previous page $this->addMaskReplacement('page', '‹', true); $options['page_number'] = $pager->getPreviousPage(); $str .= $this->processPage($options); // Pages listing $this->removeMaskReplacement('page'); $str .= parent::display($options, true); // Next page $this->addMaskReplacement('page', '›', true); $options['page_number'] = $pager->getNextPage(); $str .= $this->processPage($options); // Last page $this->addMaskReplacement('page', '»', true); $options['page_number'] = $pager->getLastPage(); $str .= $this->processPage($options); // Possible wish to return value instead of print it on screen if ($return) { return $str; } echo $str; }
public function action_admin_list() { // Set Pagetitle and Breadcrumbs Clansuite_Breadcrumb::add(_('Show'), '/users/admin/show'); // Get Render Engine $view = $this->getView(); $currentPage = (int) $this->request->getParameterFromGet('page'); $resultsPerPage = (int) self::getConfigValue('resultsPerPage', '25'); $searchletter = $this->request->getParameter('searchletter'); // SmartyColumnSort -- Easy sorting of html table columns. include ROOT_LIBRARIES . 'smarty/libs/SmartyColumnSort.class.php'; // A list of database columns to use in the table. $columns = array('u.user_id', 'u.nick', 'u.email', 'u.timestamp', 'u.joined'); // Create the columnsort object $columnsort = new SmartyColumnSort($columns); // And set the the default sort column and order. $columnsort->setDefault('u.nick', 'asc'); // Get sort order from columnsort $sortorder = $columnsort->sortOrder(); // Returns 'name ASC' as default // Creating Pager Object with a Query Object inside $pager_layout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->select('u.user_id, u.nick, u.email, u.joined, u.timestamp')->from('CsUsers u')->orderby($sortorder), $currentPage, $resultsPerPage), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), '?mod=users/admin/show&page={%page}'); // Assigning templates for page links creation $pager_layout->setTemplate('[<a href="{%url}">{%page}</a>]'); $pager_layout->setSelectedTemplate('[{%page}]'); #var_dump($pager_layout); // Retrieving Doctrine_Pager instance $pager = $pager_layout->getPager(); // Query users $users = $pager->execute(array(), Doctrine::HYDRATE_ARRAY); // Get Number of Rows #$count = count($users); if (is_array($users)) { $view->assign('users', $users); // @todo smarty3 bug ? assign/assign global $view->assignGlobal('pager', $pager); $view->assignGlobal('pager_layout', $pager_layout); } else { $error['no_users'] = 1; $view->assign('error', $error); } $this->display(); }
/** * findAll * Get records the orders from the DB * @param $currentPage * @param $rowNum * @param $sort * @param $where * @return array */ public static function findAll($fields = "*", $currentPage = 1, $rowNum = 2, array $sort = array(), array $where = array(), $locale = 1) { $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName(); $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName(); try { // Defining the url sort $uri = isset($sort[1]) ? "/sort/{$sort['1']}" : ""; $dq = Doctrine_Query::create()->select($fields)->from('OrdersItems d')->leftJoin('d.Orders o')->leftJoin('d.OrdersItemsDomains oid ON d.detail_id = oid.orderitem_id')->leftJoin('d.BillingCycle bc')->leftJoin('oid.Domains dm')->leftJoin('dm.DomainsTlds dt')->leftJoin('dt.WhoisServers ws')->leftJoin('d.Products p')->leftJoin("p.ProductsData pd WITH pd.language_id = {$locale}")->leftJoin('p.Taxes t')->leftJoin('o.Customers c')->leftJoin('d.Statuses s')->where('p.type <> ?', 'domain'); // Show all the records but not the Expired services // Show only the services and not the domains $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $currentPage, $rowNum), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/list/page/{%page_number}" . $uri); // Get the pager object $pager = $pagerLayout->getPager(); // Set the Order criteria if (isset($sort[0])) { $pager->getQuery()->orderBy($sort[0]); } if (isset($where) && is_array($where)) { foreach ($where as $filters) { if (isset($filters[0]) && is_array($filters[0])) { foreach ($filters as $filter) { $method = $filter['method']; $value = $filter['value']; $criteria = $filter['criteria']; $pager->getQuery()->{$method}($criteria, $value); } } else { $method = $filters['method']; $value = $filters['value']; $criteria = $filters['criteria']; $pager->getQuery()->{$method}($criteria, $value); } } } $pagerLayout->setTemplate('<a href="{%url}">{%page}</a> '); $pagerLayout->setSelectedTemplate('<a class="active" href="{%url}">{%page}</a> '); $records = $pagerLayout->execute(array(), Doctrine_Core::HYDRATE_ARRAY); $pagination = $pagerLayout->display(null, true); return array('records' => $records, 'pagination' => $pagination, 'pager' => $pager, 'recordcount' => $dq->count()); } catch (Exception $e) { die($e->getMessage()); } }
/** * */ public function PaginationFront($pager, $text = '', $Condition = array()) { unset($Condition['page']); unset($Condition['msg']); $_t = ''; if ($Condition) { foreach ($Condition as $key => $item) { if (is_array($item)) { foreach ($item as $a => $b) { $_t .= '&' . $key . '[' . $a . ']=' . $b; } } else { $_t .= '&' . $key . '=' . $item; } } $text = str_replace('{%Condition}', $_t, $text); } $pager_layout = new Doctrine_Pager_Layout($pager, new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), $text); $pager_layout->setTemplate('<a href="{%url}">{%page}</a>'); $pager_layout->setSelectedTemplate('<span class="current">{%page}</span>'); $str .= '<a href="' . str_replace('{%page}', $pager->getFirstPage(), $text) . '">First</a>'; $str .= '<a href="' . str_replace('{%page}', $pager->getPreviousPage(), $text) . '"><<</a>'; $str .= $pager_layout->display(array(), true); $str .= '<a href="' . str_replace('{%page}', $pager->getNextPage(), $text) . '" class="arr_right">>></a>'; $str .= '<a href="' . str_replace('{%page}', $pager->getLastPage(), $text) . '">Last</a>'; //$str .= '<div class="pages">Total of pages '.$pager->getNumResults() / $pager->_maxPerPage.'</div>'; return $str; // //<a href="/state/1/new-south-wales">First</a> ... // //<a href="/state/1/new-south-wales/50/100">«</a> // // //<a href="/state/1/new-south-wales/50/0">1</a> // // // //<a href="/state/1/new-south-wales/50/200">»</a> // //... <a href="/state/1/new-south-wales/50/1000">Last</a> //<div class="pages">Total of pages</div> }
/** * findAll * Get records the domains from the DB * @param $currentPage * @param $rowNum * @param $sort * @param $where * @return array */ public static function findAll($fields = "*", $currentPage = 1, $rowNum = 2, array $sort = array(), array $where = array()) { $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName(); $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName(); // Defining the url sort $uri = isset($sort[1]) ? "/sort/{$sort['1']}" : ""; $dq = Doctrine_Query::create()->select($fields)->from('Domains d')->leftJoin('d.DomainsTlds dt')->leftJoin('dt.WhoisServers ws')->leftJoin('d.TagsConnections tc')->leftJoin('d.Customers c')->leftJoin('c.Customers r')->leftJoin('d.OrdersItems oi')->leftJoin('d.Statuses s')->orderBy('d.domain')->addWhere("c.isp_id = ?", Isp::getCurrentId()); $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $currentPage, $rowNum), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/list/page/{%page_number}" . $uri); // Get the pager object $pager = $pagerLayout->getPager(); // Set the Order criteria if (isset($sort[0])) { $pager->getQuery()->orderBy($sort[0]); } if (isset($where) && is_array($where)) { foreach ($where as $filters) { if (isset($filters[0]) && is_array($filters[0])) { foreach ($filters as $filter) { $method = $filter['method']; $value = $filter['value']; $criteria = $filter['criteria']; $pager->getQuery()->{$method}($criteria, $value); } } else { $method = $filters['method']; $value = $filters['value']; $criteria = $filters['criteria']; $pager->getQuery()->{$method}($criteria, $value); } } } $pagerLayout->setTemplate('<li><a href="{%url}">{%page}</a></li>'); $pagerLayout->setSelectedTemplate('<li class="active"><a href="{%url}">{%page}</a></li>'); $domains = $pagerLayout->execute(array(), Doctrine_Core::HYDRATE_ARRAY); $pagination = $pagerLayout->display(null, true); return array('records' => $domains, 'pagination' => $pagination, 'pager' => $pager, 'recordcount' => $dq->count()); }
public function display($options = array(), $return = false) { $pager = $this->getPager(); $str = ''; $this->addMaskReplacement('page', '<<', true); $options['page_number'] = $pager->getFirstPage(); $str .= $this->processPage($options); $this->addMaskReplacement('page', '<', true); $options['page_number'] = $pager->getPreviousPage(); $str .= $this->processPage($options); $this->removeMaskReplacement('page'); $str .= parent::display($options, true); $this->addMaskReplacement('page', '>', true); $options['page_number'] = $pager->getNextPage(); $str .= $this->processPage($options); $this->addMaskReplacement('page', '>>', true); $options['page_number'] = $pager->getLastPage(); $str .= $this->processPage($options); if ($return) { return $str; } echo $str; }
public function action_show() { // Set Pagetitle and Breadcrumbs Clansuite_Breadcrumb::add(_('Show'), '/guestbook/show'); // Defining initial variables // Pager Chapter in Doctrine Manual -> http://www.phpdoctrine.org/documentation/manual/0_10?one-page#utilities $currentPage = $this->request->getParameter('page'); $resultsPerPage = (int) self::getConfigValue('resultsPerPage', '10'); // Creating Pager Object with a Query Object inside $pager_layout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->select('i.*,g.*,u.nick')->from('CsGuestbook g')->leftJoin('g.CsImages i')->leftJoin('g.CsUsers u')->orderby('g.gb_added DESC'), $currentPage, $resultsPerPage), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), '?mod=guestbook&action=show&page={%page}'); // Assigning templates for page links creation $pager_layout->setTemplate('[<a href="{%url}">{%page}</a>]'); $pager_layout->setSelectedTemplate('[{%page}]'); // Retrieving Doctrine_Pager instance $pager = $pager_layout->getPager(); // Fetching guestbook entries #var_dump($pager->getExecuted()); $guestbook = $pager->execute(array(), Doctrine::HYDRATE_ARRAY); // if array contains data proceed, else show empty message if (!is_array($guestbook)) { $error['gb_empty'] = '1'; } else { // total number of guestbook entries by counting the array $number_of_guestbook_entries = count($guestbook); // Finally: assign total number of rows to SmartyPaginate #$SmartyPaginate->setTotal($number_of_guestbook_entries); // assign the {$paginate} to $tpl (smarty var) #$SmartyPaginate->assign($tpl); $bbcode = new Clansuite_Bbcode($this->getInjector()); // Set 'not specified's foreach ($guestbook as $entry_key => $entry_value) { foreach ($entry_value as $key => $value) { switch ($key) { case 'gb_comment': if (empty($value)) { unset($guestbook[$entry_key][$key]); } else { $guestbook[$entry_key][$key] = $bbcode->parse($guestbook[$entry_key][$key]); } break; case 'gb_text': $guestbook[$entry_key][$key] = $bbcode->parse($guestbook[$entry_key][$key]); break; default: $guestbook[$entry_key][$key] = empty($value) ? '<span class="not_specified">' . _('not specified') . '</span>' : $value; break; } } } } $view = $this->getView(); $view->assign('guestbook', $guestbook); if (isset($error)) { $view->assign('error', $error); } $view->assignGlobal('pager', $pager); $view->assignGlobal('pager_layout', $pager_layout); $form = new Clansuite_Form('eingabe', 'post', $_SERVER['PHP_SELF']); $view->assign('form', $form); $this->display(); }
/** * Set the paging tool */ public static function pager($dq, $rows = 10) { $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName(); $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName(); $page = Zend_Controller_Front::getInstance()->getRequest()->getParam('page'); $search = Zend_Controller_Front::getInstance()->getRequest()->getParam('q'); $page = !empty($page) && is_numeric($page) ? $page : 1; $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $page, $rows), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/index/q/{$search}/page/{%page_number}"); $pagerLayout->setTemplate('<a href="{%url}">{%page}</a> '); $pagerLayout->setSelectedTemplate('<a class="active" href="{%url}">{%page}</a> '); return $pagerLayout; }
/** * Get records the orders from the DB * * @param $currentPage * @param $rowNum * @param $sort * @param $where * @return array */ public static function findAll($fields = "*", $currentPage = 1, $rowNum = 2, array $sort = array(), array $where = array()) { $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName(); $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName(); // Defining the url sort $uri = isset($sort[1]) ? "/sort/{$sort['1']}" : ""; $dq = self::getDQL()->select($fields)->orderBy('order_date desc'); $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $currentPage, $rowNum), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/list/page/{%page_number}" . $uri); // Get the pager object $pager = $pagerLayout->getPager(); // Set the Order criteria if (isset($sort[0])) { $pager->getQuery()->orderBy($sort[0]); } if (isset($where) && is_array($where)) { foreach ($where as $filters) { if (isset($filters[0]) && is_array($filters[0])) { foreach ($filters as $filter) { $method = $filter['method']; $value = $filter['value']; $criteria = $filter['criteria']; $pager->getQuery()->{$method}($criteria, $value); } } else { $method = $filters['method']; $value = $filters['value']; $criteria = $filters['criteria']; $pager->getQuery()->{$method}($criteria, $value); } } } $pagerLayout->setTemplate('<li><a href="{%url}">{%page}</a></li>'); $pagerLayout->setSelectedTemplate('<li class="active"><a href="{%url}">{%page}</a></li>'); $orders = $pagerLayout->execute(array(), Doctrine_Core::HYDRATE_ARRAY); $pagination = $pagerLayout->display(null, true); return array('records' => $orders, 'pagination' => $pagination, 'pager' => $pager, 'recordcount' => $dq->count()); }
/** * getRecords * Get records from the DB * @return mixed */ public function getRecords(Doctrine_Query $dq, $currentPage = 1, $rowNum = 2, array $sort = array(), array $where = array()) { $uri = ""; $module = Zend_Controller_Front::getInstance()->getRequest()->getModuleName(); $controller = Zend_Controller_Front::getInstance()->getRequest()->getControllerName(); // Defining the url sort if (!empty($sort)) { foreach ($sort as $s) { $arrSort[] = "/sort/" . str_replace(" ", ",", $s); } $arrSort = array_unique($arrSort); $uri = implode("", $arrSort); } $pagerLayout = new Doctrine_Pager_Layout(new Doctrine_Pager($dq, $currentPage, $rowNum), new Doctrine_Pager_Range_Sliding(array('chunk' => 10)), "/{$module}/{$controller}/list/page/{%page_number}" . $uri); // Get the pager object $pager = $pagerLayout->getPager(); // Set the Order criteria if (!empty($sort)) { $pager->getQuery()->orderBy(implode(", ", $sort)); } if (isset($where) && is_array($where)) { foreach ($where as $filters) { if (isset($filters[0]) && is_array($filters[0])) { foreach ($filters as $filter) { $method = $filter['method']; $value = $filter['value']; $criteria = $filter['criteria']; $pager->getQuery()->{$method}($criteria, $value); } } else { $method = $filters['method']; $value = $filters['value']; $criteria = $filters['criteria']; $pager->getQuery()->{$method}($criteria, $value); } } } $pagerLayout->setTemplate('<a href="{%url}">{%page}</a> '); $pagerLayout->setSelectedTemplate('<a class="active" href="{%url}">{%page}</a> '); $this->data = $pagerLayout->execute(array(), Doctrine_Core::HYDRATE_ARRAY); $this->paging = $pagerLayout->display(null, true); $this->recordcount = $dq->count(); #print_r ( $this->data ); return $this; }
public function listAction() { // Set Defaults $heading = 'Users'; $display = array('id', 'username', 'email', 'first_name', 'middle_name', 'last_name', 'address1', 'address2', 'city', 'state', 'zip', 'phone', 'cell', 'fax', 'organization', 'password', 'user_role_id', 'active', 'user_notes', 'created_at', 'updated_at'); $filters = array('id', 'username', 'email', 'first_name', 'middle_name', 'last_name', 'address1', 'address2', 'city', 'state', 'zip', 'phone', 'cell', 'fax', 'organization', 'password', 'user_role_id', 'active', 'user_notes', 'created_at', 'updated_at'); $labels = array('id', 'username', 'email', 'first_name', 'middle_name', 'last_name', 'address1', 'address2', 'city', 'state', 'zip', 'phone', 'cell', 'fax', 'organization', 'password', 'user_role_id', 'active', 'user_notes', 'created_at', 'updated_at'); $resultsPerPage = 20; $configFile = APPLICATION_DIRECTORY . DIRECTORY_SEPARATOR . 'modules' . DIRECTORY_SEPARATOR . Zend_Controller_Front::getInstance()->getRequest()->getModuleName() . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.yml'; if (!file_exists($configFile)) { $configFile = realpath(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.yml'); } if (file_exists($configFile)) { $config = sfYaml::load($configFile); $this->view->ymlConfig = $config['list']; key_exists('title', $config['list']) ? $heading = $config['list']['title'] : ''; key_exists('display', $config['list']) ? $display = $config['list']['display'] : ''; key_exists('filters', $config['list']) ? $filters = $config['list']['filters'] : ''; key_exists('perpage', $config['list']) ? $resultsPerPage = $config['list']['perpage'] : ''; $labels = $config['labels']; } $this->view->labels = $labels; $this->view->display = $display; $this->view->heading = $heading; $filter = $this->_getParam('filter'); foreach ($filters as $y) { $filters2[$y] = is_array($filter) && key_exists($y, $filter) ? $filter[$y] : ''; } $this->view->filter = $filters2; if (!($currentPage = $this->_getParam('page'))) { $currentPage = 1; } $baseUrl = Zend_Controller_Front::getInstance()->getBaseUrl(); // add filter to pager $append_url = array(); if ($filter) { foreach ($filter as $k => $v) { $append_url[] = 'filter[' . $k . ']=' . $v; } } $append_url = implode('&', $append_url); $doc = $this->listQuery($filter); // Creating pager layout $pager_layout = new Doctrine_Pager_Layout(new Doctrine_Pager($doc, $currentPage, $resultsPerPage), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), $baseUrl . '/Users/index/list/page/{%page_number}?' . $append_url); $pager_layout->setTemplate('[<a href="{%url}">{%page}</a>]'); $pager_layout->setSelectedTemplate('[{%page}]'); $pager = $pager_layout->getPager(); $this->view->list = $pager->execute(); $this->view->pager_layout = $pager_layout; $this->view->pager = $pager; }
protected function _parseTemplate($options = array()) { $str = parent::_parseTemplate($options); return preg_replace('/\\{link_to\\}(.*?)\\{\\/link_to\\}/', link_to('$1', $this->_parseUrl($options)), $str); }
* @package oraculum * @subpackage oraculum.components.paginacao * @required Doctrine 1.0.6 ou superior */ $retorno = null; if (isset($this->_table)) { // Metodo de paginacao $page = isset($this->_page) ? floor($this->_page) > 0 ? floor($this->_page) : 1 : 1; $results = isset($this->_results) ? floor($this->_results) > 0 ? floor($this->_results) : 10 : 10; $urlpager = isset($urlpager) ? $urlpager : BASE_URL . "/" . strtolower($this->_table); if (!is_null($results)) { $where = isset($where) ? $where : null; if (!is_null($where)) { $pagerlayout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->from($this->_table . ' t')->where($where)->orderby('1'), $page, $results), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), $urlpager . 'page/{%page_number}'); } else { $pagerlayout = new Doctrine_Pager_Layout(new Doctrine_Pager(Doctrine_Query::create()->from($this->_table . ' t')->orderby('1'), $page, $results), new Doctrine_Pager_Range_Sliding(array('chunk' => 5)), $urlpager . 'page/{%page_number}'); } $pagerlayout->setTemplate('<a href="{%url}">{%page}</a>'); $pagerlayout->setSelectedTemplate('<span>{%page}</span>'); $pager = $pagerlayout->getPager(); $users = $pager->execute(); if ($pager->haveToPaginate()) { $retorno .= "<div>\n"; if ($pager->getFirstPage() != $pager->getPage()) { $retorno .= "<a href=\"" . $urlpager . "page/" . $pager->getFirstPage() . "\" class=\"btnxt\"><<</a>"; } else { $retorno .= "<span class=\"disabled\"><<</span>"; } if ($pager->getPreviousPage() != $pager->getPage()) { $retorno .= "<a href=\"" . $urlpager . "page/" . $pager->getPreviousPage() . "\" class=\"btnxt\"><</a>"; } else {
public function videoTraceAction() { // set filters and validators for GET input $filters = array('VideoID' => array('HtmlEntities', 'StripTags', 'StringTrim')); $validators = array('VideoID' => array('Int')); $input = new Zend_Filter_Input($filters, $validators); $data = array('VideoID' => $this->getRequest()->getParam('q')); $input->setData($data); if ($input->isValid()) { //check if vidoe id exists $q = Doctrine_Query::create()->from('Webteam_Model_Video i')->where('i.VideoID = ?', $input->VideoID); $result = $q->fetchArray(); $count = count($result); if ($count >= 1) { $q = Doctrine_Query::create()->from('Webteam_Model_Log i')->where('i.VideoID = ?', $input->VideoID); $result = $q->fetchArray(); //$this->view->records = $result; //$this->view->VideoID = $input->VideoID; $this->view->VideoID = $input->VideoID; $filters = array('page' => array('HtmlEntities', 'StripTags', 'StringTrim')); $validators = array('page' => array('Int')); $input = new Zend_Filter_Input($filters, $validators); $page = $this->getRequest()->getParam('page'); if (!isset($page)) { $data = array('page' => 1); } else { $data = array('page' => $this->getRequest()->getParam('page')); } $input->setData($data); if ($input->isValid()) { $perPage = 10; $numPageLinks = 9; // initialize pager $pager = new Doctrine_Pager($q, $input->page, $perPage); // execute paged query $result = $pager->execute(array(), Doctrine::HYDRATE_ARRAY); // initialize pager layout $pagerRange = new Doctrine_Pager_Range_Sliding(array('chunk' => $numPageLinks), $pager); $pagerUrlBase = $this->view->url(array(), 'report-video-trace', 1) . '?q=' . $this->view->VideoID . '&page=' . "{%page}"; $pagerLayout = new Doctrine_Pager_Layout($pager, $pagerRange, $pagerUrlBase); // set page link display template $pagerLayout->setTemplate('<a href="{%url}">{%page}</a>'); $pagerLayout->setSelectedTemplate('<span class="current">{%page}</span>'); $pagerLayout->setSeparatorTemplate(' '); // set view variables $this->view->records = $result; $this->view->pages = $pagerLayout->display(null, true); } else { //invalid page } } else { //die('VideoID does not exits'); $this->_helper->getHelper('FlashMessenger')->addMessage('Vidoe ID does not exists.'); $this->_redirect('/report'); } } else { //die('invalid user'); $this->_helper->getHelper('FlashMessenger')->addMessage('Invalid Video ID.'); $this->_redirect('/report'); } }
<?php defined('PHP_EXT') || exit; $type_getter = 'p_id'; $page_actuelle = isset($_GET[$type_getter]) ? intval($_GET[$type_getter]) : 1; $par_page = 2; $query = Doctrine_Query::create()->from(T_NEWS); $pagination = new Doctrine_Pager($requete, $page_actuelle, $par_page); $news = $query->execute(array(), Doctrine::HYDRATE_ARRAY); if ($news == NULL) { echo 'Aucune news'; $view->skip_rest_of_page(); } foreach ($news as $new) { echo ' <h1> ' . $new['title'] . ' </h1> <em style="font-size: 10px;"> Ajouté le: ' . $new['created_at'] . ' ' . ($new['created_at'] == $new['updated_at'] ? ' •Dernière modification: ' : $new['updated_at']) . (!check_auth($_SESSION, LEVEL_ADMINISTRATOR) ? '' : '<br /><br />' . anchor('admin_news', 'Éditer cette news', array('_get' => array('mode' => 'edit', 'id' => $new['id'])), true)) . ' • ' . anchor('admin_news', 'Supprimer cette news', array('_get' => array('mode' => 'delete', 'id' => $new['id'])), true) . ' </em> <p align="center"> ' . $new['body'] . ' </p>'; } if (check_auth($_SESSION, LEVEL_ADMINISTRATOR)) { echo '<br /><br />' . anchor('admin_news', 'Ajouter une news', array('_get' => array('mode' => 'add')), true); } $affichage = new Doctrine_Pager_Layout($pagination, new Doctrine_Pager_Range_Jumping(array('chunk' => 4)), '?' . $type_getter . '={%page_number}'); $affichage->setTemplate('[<a href="{%url}">{%page}</a>]'); $affichage->setSelectedTemplate('[<b>{%page}</b>]');