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();
 }
Example #3
0
 /**
  * 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();
 }