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(); }
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(); }
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; }
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&action=admin&tab=manage_groups&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(); }
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(); }
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(); }
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(); }
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(); }
/** * 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(); }
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&aop=menu&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&aop=menu&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(); }
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(); }
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; }