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(); }
public function action_admin_show() { // Incoming Variables $currentPage = (int) $this->request->getParameter('page'); $resultsPerPage = (int) self::getConfigValue('resultsPerPage', '10'); // 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('gb_id', 'gb_added', 'gb_nick', 'gb_email', 'gb_icq', 'gb_website', 'gb_town', 'gb_text', 'gb_admincomment', 'gb_ip'); // Create the columnsort object $columnsort = new SmartyColumnSort($columns); // And set the the default sort column and order. $columnsort->setDefault('gb_added', 'desc'); // Get sort order from columnsort $sortorder = $columnsort->sortOrder(); // Returns 'name ASC' as default // fetch entries $guestbookQuery = Doctrine::getTable('CsGuestbook')->fetchAllGuestbookEntries($currentPage, $resultsPerPage, true, $sortorder); // import array variables into the current symbol table ($newsQuery is an array('news','pager','pager_layout') extract($guestbookQuery); unset($guestbookQuery); // fetch the BBCode formatter object $bbcode = new Clansuite_Bbcode($this->getInjector()); // Transform RAW text from DB to BB-formatted Text foreach ($guestbook_entries as $key => $value) { $guestbook_entries[$key]['gb_text'] = $bbcode->parse($value['gb_text']); $guestbook_entries[$key]['gb_comment'] = $bbcode->parse($value['gb_comment']); } // get Number of Rows $count = count($guestbook_entries); // Get view and assign placeholders $view = $this->getView(); $view->assign('guestbook_counter', $count); $view->assign('guestbook', $guestbook_entries); $view->assignGlobal('pager', $pager); $view->assignGlobal('pager_layout', $pager_layout); $this->display(); }
/** * module news action_fullarchive() * * 1. Get news with nick of author and category * 2. Add general data of comments for each news * 3. Paginate * 4. news_status: * 1: draft * 2: published * 3: unpublished * ??? 4: archive * */ public function action_fullarchive() { // Set Pagetitle and Breadcrumbs Clansuite_Breadcrumb::add(_('Archiv'), '/news/fullarchive'); // Defining initial variables $currentPage = (int) $this->request->getParameter('page'); // 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('n.created_at', 'n.news_title', 'c.cat_id', 'u.user_id', 'nr_news_comments'); // Create the columnsort object $columnsort = new SmartyColumnSort($columns); // And set the the default sort column and order. $columnsort->setDefault('n.created_at', 'desc'); // Get sort order from columnsort $sortorder = $columnsort->sortOrder(); // Returns 'name ASC' as default // set custom starting and ending date $startdate = '1980-04-19'; $enddate = date('Y-m-d'); // get resultsPerPage from ModuleConfig $resultsPerPage = self::getConfigValue('resultsPerPage_fullarchive', '25'); #Fetch News for Archiv with Doctrine $newsQuery = Doctrine::getTable('CsNews')->fetchNewsForFullArchiv($sortorder, $startdate, $enddate, $currentPage, $resultsPerPage); // import array variables into the current symbol table extract($newsQuery); unset($newsQuery); // Get Render Engine $view = $this->getView(); // Assign $news array to Smarty for template output // Also pass the complete pager object to smarty (referenced to save memory - no extra vars needed) => assign() $view->assign('news', $news); $view->assignGlobal('pager', $pager); $view->assignGlobal('pager_layout', $pager_layout); $this->display(); }