/** * 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 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()); } }
/** * 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()); }
/** * 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; }
$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 { $retorno .= "<span class=\"disabled\"><</span>"; } $retorno .= $pagerlayout->display(array(), true); if ($pager->getNextPage() != $pager->getPage()) {
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; }
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(); }