function lister() { $categories =& mosContact::getCategories($this->user); $count = count($categories); if ($count == 0 or $count == 1 and $categories[0]->numlinks == 1) { // No or one category that qualifies $this->contact_id = $count == 1 ? $categories[0]->minimum : 0; $controller = new contact_view_Controller($this->manager); $controller->view(); if ($this->op == 'sendmail') { $this->sendmail(); } return; } $rows = array(); $currentcat =& new stdClass(); // Parameters $menuhandler = mosMenuHandler::getInstance(); $menu =& $menuhandler->getMenuByID($this->Itemid); $params =& $this->makeParams($menu->params, $menu->name); // page header $currentcat->header = $params->get('header'); // Path to images $path = mamboCore::get('mosConfig_live_site') . '/images/stories/'; $currentcat->descrip = ''; $currentcat->img = ''; if ($this->catid) { $params->set('type', 'category'); // url links info for category $rows = mosContact::getContacts($this->catid, $this->user); // current category info foreach ($categories as $category) { if ($category->id == $this->catid) { $currentcat =& $category; // show description $currentcat->descrip = $currentcat->description; // page image $currentcat->img = $path . $currentcat->image; $currentcat->align = $currentcat->image_position; // page header if (@$currentcat->name != '') { $currentcat->header .= ' - ' . $currentcat->name; } break; } } } else { $params->set('type', 'section'); // show description if ($params->get('description')) { $currentcat->descrip = $params->get('description_text'); } // page image if ($params->get('image') != -1) { $currentcat->img = $path . $params->get('image'); $currentcat->align = $params->get('image_align'); } } // used to show table rows in alternating colours $tabclass = array('sectiontableentry1', 'sectiontableentry2'); HTML_contact::displaylist($categories, $rows, $this->catid, $currentcat, $params, $tabclass); if ($this->op == 'sendmail') { $this->sendmail(); } }
function listContacts($option, $catid) { global $mainframe, $database, $my; global $mosConfig_live_site; global $Itemid; /* Query to retrieve all categories that belong under the contacts section and that are published. */ $query = "SELECT *, COUNT( a.id ) AS numlinks" . "\n FROM #__categories AS cc" . "\n LEFT JOIN #__contact_details AS a ON a.catid = cc.id" . "\n WHERE a.published = 1" . "\n AND cc.section = 'com_contact_details'" . "\n AND cc.published = 1" . "\n AND a.access <= " . (int) $my->gid . "\n AND cc.access <= " . (int) $my->gid . "\n GROUP BY cc.id" . "\n ORDER BY cc.ordering"; $database->setQuery($query); $categories = $database->loadObjectList(); $count = count($categories); if ($count < 2 && @$categories[0]->numlinks == 1) { // if only one record exists loads that record, instead of displying category list contactpage($option, 0); } else { $rows = array(); $currentcat = NULL; // Parameters $menu = $mainframe->get('menu'); $params = new mosParameters($menu->params); $params->def('page_title', 1); $params->def('header', $menu->name); $params->def('pageclass_sfx', ''); $params->def('headings', 1); $params->def('back_button', $mainframe->getCfg('back_button')); $params->def('description_text', _CONTACTS_DESC); $params->def('image', -1); $params->def('image_align', 'right'); $params->def('other_cat_section', 1); // Category List Display control $params->def('other_cat', 1); $params->def('cat_description', 1); $params->def('cat_items', 1); // Table Display control $params->def('headings', 1); $params->def('position', 1); $params->def('email', 0); $params->def('phone', 1); $params->def('fax', 1); $params->def('telephone', 1); if ($catid == 0) { $catid = $params->get('catid', 0); } if ($catid) { $params->set('type', 'category'); } else { $params->set('type', 'section'); } if ($catid) { // url links info for category $query = "SELECT *" . "\n FROM #__contact_details" . "\n WHERE catid = " . (int) $catid . "\n AND published =1" . "\n AND access <= " . (int) $my->gid . "\n ORDER BY ordering"; $database->setQuery($query); $rows = $database->loadObjectList(); // current category info $query = "SELECT id, name, description, image, image_position" . "\n FROM #__categories" . "\n WHERE id = " . (int) $catid . "\n AND published = 1" . "\n AND access <= " . (int) $my->gid; $database->setQuery($query); $database->loadObject($currentcat); /* Check if the category is published or if access level allows access */ if (!$currentcat->name) { mosNotAuth(); return; } } // page description $currentcat->descrip = ''; if (isset($currentcat->description) && $currentcat->description != '') { $currentcat->descrip = $currentcat->description; } else { if (!$catid) { // show description if ($params->get('description')) { $currentcat->descrip = $params->get('description_text'); } } } // page image $currentcat->img = ''; $path = $mosConfig_live_site . '/images/stories/'; if (isset($currentcat->image) && $currentcat->image != '') { $currentcat->img = $path . $currentcat->image; $currentcat->align = $currentcat->image_position; } else { if (!$catid) { if ($params->get('image') != -1) { $currentcat->img = $path . $params->get('image'); $currentcat->align = $params->get('image_align'); } } } // page header $currentcat->header = ''; if (isset($currentcat->name) && $currentcat->name != '') { $currentcat->header = $params->get('header') . ' - ' . $currentcat->name; } else { $currentcat->header = $params->get('header'); } // used to show table rows in alternating colours $tabclass = array('sectiontableentry1', 'sectiontableentry2'); HTML_contact::displaylist($categories, $rows, $catid, $currentcat, $params, $tabclass); } }