예제 #1
0
 public static function listTrackers()
 {
     PHPWS_Core::initModClass('analytics', 'GenericTracker.php');
     PHPWS_Core::initCoreClass('DBPager.php');
     $pager = new DBPager('analytics_tracker', 'GenericTracker');
     $pager->addSortHeader('name', dgettext('analytics', 'Name'));
     $pager->addSortHeader('type', dgettext('analytics', 'Type'));
     $pager->addSortHeader('active', dgettext('analytics', 'Active'));
     $pageTags = array();
     $pageTags['ACTION'] = dgettext('analytics', 'Action');
     $pageTags['ACCOUNT'] = dgettext('analytics', 'Account ID');
     $pager->setModule('analytics');
     $pager->setTemplate('list.tpl');
     $pager->addToggle('class="toggle1"');
     $pager->addRowTags('getPagerTags');
     $pager->addPageTags($pageTags);
     $pager->setSearch('name');
     $pager->setDefaultOrder('name', 'asc');
     $pager->cacheQueries();
     return $pager->get();
 }
예제 #2
0
파일: Base.php 프로젝트: HaldunA/phpwebsite
 protected function propertiesList($contact_id = null)
 {
     \PHPWS_Core::initModClass('properties', 'Property.php');
     $this->title = 'Property listing';
     $pager = new \DBPager('properties', 'Properties\\Property');
     if ($contact_id) {
         $pager->addWhere('contact_id', $contact_id);
         $data['is_contact'] = 1;
         $page_tags['new'] = \PHPWS_Text::moduleLink('<i class="fa fa-plus"></i> Add new property', 'properties', array('cop' => 'edit_property', 'k' => $this->contact->getKey()), null, null, 'btn btn-success');
     } else {
         $page_tags['new'] = \PHPWS_Text::secureLink('<i class="fa fa-plus"></i> Add new property', 'properties', array('aop' => 'edit_property'), null, null, 'btn btn-success');
     }
     // photo was previously uploaded
     if (!empty($_GET['pid'])) {
         $data['pid'] = $_GET['pid'];
     } else {
         $data['pid'] = 0;
     }
     javascriptMod('properties', 'photo_upload', $data);
     $pager->setSearch('name', 'company_name');
     $pager->addSortHeader('name', 'Name of property');
     $pager->addSortHeader('company_name', 'Management company');
     $pager->addSortHeader('timeout', 'Time until purge');
     $pager->setModule('properties');
     $pager->setTemplate('properties_list.tpl');
     $pager->addRowTags('row_tags', (bool) $contact_id);
     $pager->joinResult('contact_id', 'prop_contacts', 'id', 'company_name', null, true);
     $pager->addPageTags($page_tags);
     $pager->cacheQueries();
     $this->content = $pager->get();
 }
예제 #3
0
 public static function blockList()
 {
     Layout::addStyle('block');
     PHPWS_Core::initCoreClass('DBPager.php');
     $pageTags['NEW_BLOCK'] = PHPWS_Text::secureLink(dgettext('block', 'Create new block'), 'block', array('action' => 'new'), null, dgettext('block', 'Create new block'), 'button');
     $pageTags['NEW_BLOCK_URI'] = PHPWS_Text::linkAddress('block', array('action' => 'new'), true);
     $pageTags['CONTENT'] = dgettext('block', 'Content');
     $pageTags['ACTION'] = dgettext('block', 'Action');
     $pager = new DBPager('block', 'Block_Item');
     $pager->setModule('block');
     $pager->setTemplate('list.tpl');
     $pager->addToggle('class="bgcolor1"');
     $pager->addPageTags($pageTags);
     $pager->addRowTags('getTpl');
     $pager->addSortHeader('title', dgettext('block', 'Title'));
     $content = $pager->get();
     return $content;
 }
예제 #4
0
 public static function manageGroups()
 {
     PHPWS_Core::initCoreClass('DBPager.php');
     Layout::addStyle('users');
     $pageTags['MEMBERS_LABEL'] = dgettext('users', 'Members');
     $pageTags['ACTIONS_LABEL'] = dgettext('users', 'Actions');
     $pageTags['NEW_GROUP'] = PHPWS_Text::secureLink(dgettext('users', 'Create new group'), 'users', array('action' => 'admin', 'command' => 'new_group'), null, dgettext('users', 'Create new group'), 'btn btn-success');
     $pageTags['ADD_GROUP_URI'] = PHPWS_Text::linkAddress('users', array('action' => 'admin', 'command' => 'new_group'));
     $pager = new DBPager('users_groups', 'PHPWS_Group');
     $pager->setModule('users');
     $pager->setTemplate('manager/groups.tpl');
     $pager->setLink('index.php?module=users&amp;action=admin&amp;tab=manage_groups&amp;authkey=' . Current_User::getAuthKey());
     // If no order was set, then set it to default by user name
     if (!isset($pager->orderby)) {
         $pager->orderby = 'name';
         $pager->orderby_dir = 'asc';
     }
     $pager->addPageTags($pageTags);
     $pager->addRowTags('getTplTags');
     $pager->addToggle('class="toggle1"');
     $pager->addToggle('class="toggle2"');
     $pager->addSortHeader('name', dgettext('users', 'Group Name'));
     $pager->addWhere('user_id', 0);
     $pager->setSearch('name');
     $pager->cacheQueries();
     return $pager->get();
 }
예제 #5
0
 public function scheduleListing()
 {
     PHPWS_Core::initCoreClass('DBPager.php');
     PHPWS_Core::initModClass('calendar', 'Schedule.php');
     require_once PHPWS_SOURCE_DIR . 'mod/calendar/class/Event.php';
     self::includeScheduleJS();
     self::includeEventJS();
     $schedule = new Calendar_Schedule();
     $schedule->id = 1;
     $this->title = dgettext('calendar', 'Schedules');
     $event = new Calendar_Event(0, $schedule);
     $page_tags['EVENT_FORM'] = self::eventModal($event);
     $page_tags['DESCRIPTION_LABEL'] = dgettext('calendar', 'Description');
     $page_tags['PUBLIC_LABEL'] = dgettext('calendar', 'Public');
     $page_tags['DISPLAY_NAME_LABEL'] = dgettext('calendar', 'User');
     $page_tags['AVAILABILITY_LABEL'] = dgettext('calendar', 'Availability');
     $page_tags['ADD_CALENDAR'] = '<button id="create-schedule" class="btn btn-success"><i class="fa fa-file-text"></i> ' . dgettext('calendar', 'Create schedule') . '</button>';
     $schedule_form = $this->calendar->schedule->form();
     $schedule_modal = new \Modal('schedule-modal', $schedule_form, 'Create schedule');
     $schedule_modal->sizeLarge();
     $page_tags['SCHEDULE_FORM'] = $schedule_modal->__toString();
     $page_tags['ADMIN_LABEL'] = dgettext('calendar', 'Options');
     $pager = new DBPager('calendar_schedule', 'Calendar_Schedule');
     $pager->setModule('calendar');
     $pager->setTemplate('admin/schedules.tpl');
     $pager->addPageTags($page_tags);
     $pager->addRowTags('rowTags');
     $pager->addToggle('class="bgcolor1"');
     $pager->setEmptyMessage(dgettext('calendar', 'No schedules have been created.'));
     $pager->addSortHeader('title', dgettext('calendar', 'Title'));
     $pager->addSortHeader('public', dgettext('calendar', 'Availability'));
     $pager->db->addWhere('user_id', 0);
     $pager->db->addWhere('user_id', 'users.id', '=', 'or');
     $pager->db->addColumn('*');
     $pager->db->addColumn('users.display_name');
     $pager->db->addJoin('left', 'calendar_schedule', 'users', 'user_id', 'id');
     $pager->initialize();
     $this->content = $pager->get();
 }
예제 #6
0
 private function viewReported()
 {
     javascriptMod('properties', 'report');
     javascript('confirm');
     \PHPWS_Core::initModClass('properties', 'Report.php');
     $this->title = 'Reported messages';
     $pager = new \DBPager('prop_report', 'Properties\\Report');
     if (!isset($_SESSION['prop_show_blocked'])) {
         $vars['aop'] = 'show_blocked';
         $tags['BLOCKED'] = \PHPWS_Text::secureLink('Show blocked', 'properties', $vars, null, null, 'btn btn-default');
         $pager->db->addWhere('prop_report.block', 0);
     } else {
         $vars['aop'] = 'hide_blocked';
         $tags['BLOCKED'] = \PHPWS_Text::secureLink('Hide blocked', 'properties', $vars, null, null, 'btn btn-default');
     }
     $pager->addPageTags($tags);
     $pager->addSortHeader('date_sent', 'Date reported');
     $pager->joinResult('message_id', 'prop_messages', 'id', 'body', 'message');
     $pager->db->addJoin('left', 'prop_report', 'prop_messages', 'message_id', 'id');
     $pager->setModule('properties');
     $pager->setTemplate('reported_list.tpl');
     $pager->addRowTags('row');
     $this->content = $pager->get();
 }
예제 #7
0
 public function report()
 {
     PHPWS_Core::initCoreClass('DBPager.php');
     PHPWS_Core::initModClass('signup', 'Peeps.php');
     $pager = new DBPager('signup_peeps', 'Signup_Peep');
     $pager->addWhere('sheet_id', $this->signup->sheet->id);
     $pager->addWhere('registered', 1);
     $pager->setModule('signup');
     $pager->setTemplate('applicants.tpl');
     $pager->addRowTags('rowtags');
     $pager->addSortHeader('phone', dgettext('signup', 'Phone'));
     $pager->addSortHeader('last_name', dgettext('signup', 'Last name'));
     $pager->addSortHeader('first_name', dgettext('signup', 'First name'));
     $pager->addSortHeader('email', dgettext('signup', 'Email'));
     $vars['sheet_id'] = $this->signup->sheet->id;
     $vars['aop'] = 'csv_applicants';
     $page_tags['CSV'] = PHPWS_Text::secureLink(dgettext('signup', 'CSV file'), 'signup', $vars);
     $vars['aop'] = 'slot_listing';
     $js['label'] = dgettext('signup', 'Slot listing');
     $js['menubar'] = 'yes';
     $js['address'] = PHPWS_Text::linkAddress('signup', $vars, true);
     $page_tags['SLOT_LISTING'] = javascript('open_window', $js);
     $vars['aop'] = 'print_applicants';
     if (!empty($pager->search)) {
         if (isset($pager->searchColumn)) {
             $vars['search'] = implode('+', $pager->searchColumn);
         } else {
             $vars['search'] = $pager->search;
         }
     }
     if ($pager->orderby) {
         $vars['orderby'] = $pager->orderby;
         $vars['orderby_dir'] = $pager->orderby_dir;
     }
     $js['label'] = dgettext('signup', 'Print list');
     $js['width'] = '1024';
     $js['height'] = '768';
     $js['menubar'] = 'yes';
     $js['address'] = PHPWS_Text::linkAddress('signup', $vars, true);
     $page_tags['PRINT'] = javascript('open_window', $js);
     $vars['aop'] = 'email_applicants';
     $page_tags['EMAIL'] = PHPWS_Text::secureLink(dgettext('signup', 'Email'), 'signup', $vars, null, "Email all people in the search results");
     $page_tags['EXTRA_LABEL'] = dgettext('signup', 'Extra details');
     // Add a link that takes the user back to the signup sheets page, skipping all the re-sorts
     $vars['aop'] = 'menu';
     $vars['tab'] = 'list';
     $page_tags['BACK'] = PHPWS_Text::secureLink(dgettext('signup', 'Back to Signup Sheets'), 'signup', $vars);
     $pager->addPageTags($page_tags);
     $pager->setSearch('last_name', 'first_name', 'organization');
     $limits[25] = 25;
     $limits[50] = 50;
     $limits[100] = 100;
     $pager->setLimitList($limits);
     $this->signup->title = sprintf(dgettext('signup', '%s Participants'), $this->signup->sheet->title);
     $this->signup->content = $pager->get();
 }
예제 #8
0
 public function listRoommates()
 {
     $this->setSearchParameters();
     $this->searchPanel();
     \Layout::addStyle('properties', 'forms.css');
     if (!\Current_User::isLogged()) {
         $login = \PHPWS_Settings::get('properties', 'login_link');
         if (empty($login)) {
             $login = '******';
         }
         $tpl['LOGIN'] = sprintf('Want to request or contact a roommate? <a href="%s">You will need to login</a>', $login);
     } else {
         $tpl['LOGIN'] = $this->options();
     }
     $pager = new \DBPager('prop_roommate', 'properties\\Roommate');
     $pager->addPageTags($tpl);
     $pager->setModule('properties');
     $pager->setTemplate('roommates.tpl');
     $pager->setDefaultOrder('updated', 'desc');
     $pager->addRowTags('rowtags');
     $pager->addSortHeader('name', 'Title');
     $pager->addSortHeader('monthly_rent', 'Monthly rent');
     $pager->addSortHeader('share_bedroom', 'bedroom?');
     $pager->addSortHeader('share_bathroom', 'bathroom?');
     $pager->addSortHeader('campus_distance', 'Campus distance');
     $pager->addSortHeader('move_in_date', 'Move in date');
     $pager->setSearch('name');
     if (!empty($_SESSION['roommate_search'])) {
         foreach ($_SESSION['roommate_search'] as $key => $value) {
             switch ($key) {
                 case 'sub':
                     $pager->db->addWhere('sublease', '1', '=', 'and', 'search');
                     break;
                 case 'nosub':
                     $pager->db->addWhere('sublease', '0', '=', 'and', 'search');
                     break;
                 case 'gen':
                     $pager->db->addWhere('gender', array(0, $value), 'in', 'and', 'search');
                     break;
                 case 'smoke':
                     $pager->db->addWhere('smoking', array(0, $value), 'in', 'and', 'search');
                     break;
                 case 'distance':
                     $pager->db->addWhere('campus_distance', $value, '=', 'and', 'search');
                     break;
                 case 'beds':
                     // notice the reverse
                     $value = $value ? 0 : 1;
                     $pager->db->addWhere('share_bedroom', $value, '=', 'and', 'search');
                     break;
                 case 'bath':
                     // notice the reverse
                     $value = $value ? 0 : 1;
                     $pager->db->addWhere('share_bathroom', $value, '=', 'and', 'search');
                     break;
                 case 'manager':
                     $value = preg_replace('/[^\\w\\s]|\\s{2,}/', ' ', $value);
                     $vlist = explode(' ', $value);
                     $db2 = new \PHPWS_DB('prop_contacts');
                     foreach ($vlist as $v) {
                         $db2->addWhere('company_name', "%{$value}%", 'like', 'or');
                     }
                     $db2->addColumn('id');
                     $managers = $db2->select('col');
                     if (!empty($managers)) {
                         $pager->db->addWhere('contact_id', $managers, 'in', 'and', 'properties');
                     } else {
                         $pager->db->addWhere('id', 0, '=', 'and', 'cancel');
                     }
                     break;
                 case 'price':
                     $pager->db->addWhere('monthly_rent', $value['min'] * 100, '>=', 'and', 'search');
                     $pager->db->addWhere('monthly_rent', $value['max'] * 100, '<=', 'and', 'search');
                     break;
                 case 'amenities':
                     foreach ($value as $amen_name => $foo) {
                         switch ($amen_name) {
                             case 'ac':
                                 $pager->db->addWhere('appalcart', 1, '=', 'and', 'search');
                                 break;
                             case 'ch':
                                 $pager->db->addWhere('clubhouse', 1, '=', 'and', 'search');
                                 break;
                             case 'dish':
                                 $pager->db->addWhere('dishwasher', 1, '=', 'and', 'search');
                                 break;
                             case 'furn':
                                 $pager->db->addWhere('furnished', 1, '=', 'and', 'search');
                                 break;
                             case 'pet':
                                 $pager->db->addWhere('pets_allowed', 1, '=', 'and', 'search');
                                 break;
                             case 'tr':
                                 $pager->db->addWhere('trash_type', 1, '=', 'and', 'search');
                                 break;
                             case 'wo':
                                 $pager->db->addWhere('workout_room', 1, '=', 'and', 'search');
                                 break;
                             case 'wash':
                                 $pager->db->addWhere('laundry_type', 1, '=', 'and', 'search');
                                 break;
                         }
                     }
                     break;
                 case 'property':
                     $value = preg_replace('/[^\\w\\s]|\\s{2,}/', ' ', $value);
                     $vlist = explode(' ', $value);
                     foreach ($vlist as $v) {
                         $pager->db->addWhere('name', "%{$v}%", 'like', 'or', 'property');
                     }
                     break;
             }
         }
     }
     // roommates that are a month past move in date, are not shown
     $cut_off_date = time() - 86400 * 30;
     $pager->addWhere('move_in_date', $cut_off_date, '>');
     $pager->setEmptyMessage('No one is currently looking for a roommate. Try again later.');
     $this->content = $pager->get();
 }
예제 #9
0
    /**
     * Lists the contents of a folder for adminstrative changes.
     * @param object $folder
     * @param boolean $pick_image
     */
    public function folderContents($folder)
    {
        $links = array();
        javascript('jquery');
        $src = PHPWS_SOURCE_HTTP . 'mod/filecabinet/javascript/folder_options/contents.js';
        \Layout::addJSHeader("<script type='text/javascript' src='{$src}'></script>", 'folder-options');
        Layout::addStyle('filecabinet');
        PHPWS_Core::initCoreClass('DBPager.php');
        $dir_write = true;
        if (!is_writable($folder->getFullDirectory())) {
            $this->cabinet->message .= dgettext('filecabinet', 'Warning: this folder\'s directory is not writable.');
            $dir_write = false;
        }
        if ($folder->ftype == IMAGE_FOLDER) {
            javascript('lightbox');
            PHPWS_Core::initModClass('filecabinet', 'Image.php');
            $pager = new DBPager('images', 'PHPWS_Image');
            $pager->setTemplate('Forms/image_grid.tpl');
            $limits[9] = 9;
            $limits[16] = 16;
            $limits[25] = 25;
            $operation = 'iop';
            $command = 'upload_image_form';
            $label = _('Add image');
        } elseif ($folder->ftype == DOCUMENT_FOLDER) {
            PHPWS_Core::initModClass('filecabinet', 'Document.php');
            $pager = new DBPager('documents', 'PHPWS_Document');
            $pager->setTemplate('Forms/file_list.tpl');
            $limits[10] = 10;
            $limits[25] = 25;
            $limits[50] = 50;
            $operation = 'dop';
            $label = _('Add document');
            $command = 'upload_document_form';
            $pager->addSortHeader('downloaded', sprintf('<abbr title="%s">%s</abbr>', dgettext('filecabinet', 'Downloaded'), dgettext('filecabinet', 'DL')));
        } elseif ($folder->ftype = MULTIMEDIA_FOLDER) {
            PHPWS_Core::initModClass('filecabinet', 'Multimedia.php');
            $pager = new DBPager('multimedia', 'PHPWS_Multimedia');
            $pager->setTemplate('Forms/multimedia_grid.tpl');
            $limits[9] = 9;
            $limits[16] = 16;
            $limits[25] = 25;
            $label = _('Add media');
            $command = 'upload_multimedia_form';
            $operation = 'mop';
        }
        if (Current_User::allow('filecabinet', 'edit_folders', $folder->id, 'folder')) {
            if ($dir_write) {
                $links[] = $folder->uploadLink('button');
            }
            if ($folder->ftype == MULTIMEDIA_FOLDER) {
                //$links[] = $folder->rtmpLink();
                $salt = array('mop' => 'edit_rtmp', 'folder_id' => $folder->id);
                $authkey = \Current_User::getAuthKey(PHPWS_Text::saltArray($salt));
                $links[] = <<<EOF
<button class="btn btn-default show-modal" data-authkey="{$authkey}" data-command="edit_rtmp" data-operation="{$operation}" data-folder-id="{$folder->id}"><i class="fa fa-cloud"></i> Add RTMP video</button>
EOF;
            }
            //$links[] = $folder->editLink();
            $salt = array($operation => 'edit_folder', 'folder_id' => $folder->id);
            $authkey = \Current_User::getAuthKey(PHPWS_Text::saltArray($salt));
            $links[] = <<<EOF
<button class="btn btn-default show-modal" data-authkey="{$authkey}" data-command="edit_folder_modal" data-operation="aop" data-folder-id="{$folder->id}"><i class="fa fa-edit"></i> Edit</button>
EOF;
        }
        if ($this->cabinet->panel) {
            $pagetags['BACK'] = PHPWS_Text::moduleLink('<i class="fa fa-reply"></i> ' . dgettext('filecabinet', 'Back to folder list'), 'filecabinet', array('tab' => $this->cabinet->panel->getCurrentTab()), null, null, 'btn btn-default');
        }
        if (!empty($links)) {
            $pagetags['ADMIN_LINKS'] = implode(' ', $links);
        }
        $pagetags['MODAL'] = $this->getModal();
        $pagetags['ACTION_LABEL'] = dgettext('filecabinet', 'Action');
        $pager->setLimitList($limits);
        $pager->setSearch('file_name', 'title', 'description');
        $pager->addWhere('folder_id', $folder->id);
        $pager->setOrder('title', 'asc', true);
        $pager->setModule('filecabinet');
        $pager->addPageTags($pagetags);
        $pager->addRowTags('rowTags');
        $pager->addSortHeader('title', dgettext('filecabinet', 'Title'));
        $pager->addSortHeader('file_name', dgettext('filecabinet', 'File name'));
        $pager->addSortHeader('file_type', dgettext('filecabinet', 'File type'));
        $pager->addSortHeader('size', dgettext('filecabinet', 'Size'));
        $pager->setEmptyMessage(dgettext('filecabinet', 'Folder is empty.'));
        $this->cabinet->content = $pager->get();
    }
예제 #10
0
 public function pageList()
 {
     Layout::addStyle('pagesmith');
     PHPWS_Core::initCoreClass('DBPager.php');
     PHPWS_Core::initModClass('pagesmith', 'PS_Page.php');
     $pgtags['ACTION_LABEL'] = dgettext('pagesmith', 'Action');
     $createText = dgettext('pagesmith', 'New Page');
     $pgtags['NEW'] = "<a href='index.php?module=pagesmith&amp;aop=menu&amp;tab=new' class='button'>{$createText}/a>";
     if (PHPWS_Settings::get('pagesmith', 'text_only_default')) {
         $pgtags['NEW_PAGE_LINK_URI'] = 'index.php?module=pagesmith&aop=pick_template&tpl=text_only&pid=0&authkey=' . \Current_User::getAuthKey();
     } else {
         $pgtags['NEW_PAGE_LINK_URI'] = "index.php?module=pagesmith&amp;aop=menu&amp;tab=new";
     }
     $pgtags['NEW_PAGE_LINK_TEXT'] = $createText;
     $pager = new DBPager('ps_page', 'PS_Page');
     $pager->cacheQueries();
     $pager->addPageTags($pgtags);
     $pager->setModule('pagesmith');
     $pager->setTemplate('page_list.tpl');
     $pager->addRowTags('row_tags');
     $pager->setEmptyMessage(dgettext('pagesmith', 'No pages have been created.'));
     $pager->setSearch('title', 'id');
     $pager->addSortHeader('id', dgettext('pagesmith', 'Id'));
     $pager->addSortHeader('title', dgettext('pagesmith', 'Title'));
     $pager->addSortHeader('create_date', dgettext('pagesmith', 'Created'));
     $pager->addSortHeader('last_updated', dgettext('pagesmith', 'Updated'));
     $pager->addWhere('parent_page', 0);
     $pager->setDefaultLimit(10);
     $pager->setDefaultOrder('last_updated', 'desc');
     $this->ps->title = dgettext('pagesmith', 'Pages');
     $pager->initialize();
     $this->pullUpdated($pager);
     $this->ps->content = $pager->get();
 }
예제 #11
0
 public function reasons()
 {
     PHPWS_Core::initCoreClass('DBPager.php');
     PHPWS_Core::initModClass('checkin', 'Reasons.php');
     $pt['MESSAGE_LABEL'] = dgettext('checkin', 'Submission message');
     $pt['ADD_REASON'] = PHPWS_Text::secureLink(dgettext('checkin', 'Add reason'), 'checkin', array('aop' => 'edit_reason'));
     $pager = new DBPager('checkin_reasons', 'Checkin_Reasons');
     $pager->setModule('checkin');
     $pager->setTemplate('reasons.tpl');
     $pager->addPageTags($pt);
     $pager->addSortHeader('id', dgettext('checkin', 'Id'));
     $pager->addSortHeader('summary', dgettext('checkin', 'Summary'));
     $pager->addRowTags('rowTags');
     $this->title = dgettext('checkin', 'Reasons');
     $this->content = $pager->get();
 }
예제 #12
0
 public static function entry_list()
 {
     PHPWS_Core::initCoreClass('DBPager.php');
     $db = new PHPWS_DB('blog_stickies');
     $db->addColumn('blog_id');
     $GLOBALS['blog_stickies'] = $db->select('col');
     $pageTags['SUMMARY'] = dgettext('blog', 'Summary');
     $pageTags['ACTION'] = dgettext('blog', 'Action');
     $pageTags['ADD'] = PHPWS_Text::secureLink(t('Create new blog entry'), 'blog', array('action' => 'admin', 'command' => 'new'), null, t('Create new blog entry'), 'btn btn-success pull-right');
     $pageTags['ADD_URI'] = PHPWS_Text::linkAddress('blog', array('action' => 'admin', 'command' => 'new'), true);
     $pageTags['ADD_TEXT'] = t('Create new blog entry');
     $pager = new DBPager('blog_entries', 'Blog');
     $pager->addSortHeader('title', dgettext('blog', 'Title'));
     $pager->addSortHeader('create_date', dgettext('blog', 'Creation'));
     $pager->addSortHeader('publish_date', dgettext('blog', 'Publish'));
     $pager->addSortHeader('expire_date', dgettext('blog', 'Expire'));
     $pager->setModule('blog');
     $pager->setTemplate('list.tpl');
     $pager->addToggle('class="toggle1"');
     $pager->addRowTags('getPagerTags');
     $pager->addPageTags($pageTags);
     $pager->setSearch('title');
     $pager->setDefaultOrder('create_date', 'desc');
     $pager->cacheQueries();
     $pager->setReportRow('report_rows');
     $content = $pager->get();
     return $content;
 }