/** * Return in a array all the authorised categories * * @param string $mode * @return Array */ static public function getAuthorisedCategories($mode){ //If the static variable is already set, we directly return it if (self::$listcategories == null) { $user = JFactory::getUser(); $userGroups = array(); //If the user is a guest, we authorise the public group //else we return the authorised group of the user if($user->guest) $userGroups[] = 1; else $userGroups = JHTMLAdsmanagerUserGroups::getUserGroup($user->id); $authorisedCategories = array(); $modelCategories = new AdsmanagerModelCategory(); $categories = $modelCategories->getCategories(false); foreach($categories as $category){ $labelUsergroups = 'usergroups'.$mode; $catUserGroups = $category->$labelUsergroups; $catUserGroupsArray = explode(',', $catUserGroups); //We load the usergroups authorised by the category //If there is no usergroups saved, we authorised the category if($catUserGroups != ''){ //We compare the authorised usergroups of the two array //And save in a array the matching value. foreach($userGroups as $userGroup){ if(array_search($userGroup, $catUserGroupsArray) !== false){ if(array_search($category->id, $authorisedCategories) === false) $authorisedCategories[] = $category->id; } } } else { if(array_search($category->id, $authorisedCategories) === false) $authorisedCategories[] = $category->id; } } self::$listcategories = $authorisedCategories; } return self::$listcategories; }
function display($tpl = null) { jimport( 'joomla.session.session' ); $currentSession = JSession::getInstance('none',array()); $defaultvalues = $currentSession->get("search_fields",array()); $catid = $currentSession->get("searchfieldscatid",JRequest::getInt('catid', 0 )); $app = JFactory::getApplication(); $text_search = $currentSession->get("tsearch",$app->getUserStateFromRequest('com_adsmanager.front_content.tsearch','tsearch',"")); $type = "table"; $fieldmodel = new AdsmanagerModelField(); $searchmodel = new AdsmanagerModelSearchmodule(); $field_values = array(); $searchconfig = $searchmodel->getSearchModuleConfiguration(); $simple_fields = $searchmodel->getSearchFields("simple"); $advanced_fields = $searchmodel->getSearchFields("advanced"); $field_values = $fieldmodel->getFieldValues(); foreach($simple_fields as $field) { if ($field->cbfieldvalues != "-1") { /*get CB value fields */ $cbfieldvalues = $fieldmodel->getCBFieldValues($field->cbfieldvalues); $field_values[$field->fieldid] = $cbfieldvalues; } } foreach($advanced_fields as $field) { if ($field->cbfieldvalues != "-1") { /*get CB value fields */ $cbfieldvalues = $fieldmodel->getCBFieldValues($field->cbfieldvalues); $field_values[$field->fieldid] = $cbfieldvalues; } } $confmodel = new AdsmanagerModelConfiguration(); $conf = $confmodel->getConfiguration(); $categorymodel = new AdsmanagerModelCategory(); $moduleclass_sfx = ''; $search_by_cat = 1; $search_by_text = 0; $rootid = 0 ; switch($conf->single_category_selection_type) { default: case 'normal': case 'color': case 'combobox': $cats = $categorymodel->getFlatTree(true, false, $nbcontents, 'read',$rootid); break; case 'cascade': $cats = $categorymodel->getCategoriesPerLevel(true, false, $nbcontents, 'read',$rootid); break; } $baseurl = JURI::base(); $field = new JHTMLAdsmanagerField($conf,$field_values,"2",$fieldmodel->getPlugins());//0 =>list $url = "index.php"; $this->assignRef('search_by_cat',$search_by_cat); $this->assignRef('search_by_text',$search_by_text); $this->assignRef('text_search',$text_search); $this->assignRef('conf',$conf); $this->assignRef('cats',$cats); $this->assignRef('catid',$catid); $this->assignRef('simple_fields',$simple_fields); $this->assignRef('advanced_fields',$advanced_fields); $this->assignRef('field',$field); $this->assignRef('defaultvalues',$defaultvalues); $this->assignRef('rootid',$rootid); parent::display($tpl); }
if (@$current_list[count($current_list) - 1 - $level] == $row->id) { echo "<ul>"; displayMenuCats($row->id, $level + 1, $children, $current_list, $displaynumads, $rootid); echo "</ul>"; } ?> </li> <?php } } } } /****************************************************/ $catid = JRequest::getInt('catid', -1); $displaynumads = $params->def('displaynumads', 1); $catmodel = new AdsmanagerModelCategory(); $rootid = (int) $params->def('rootid', 0); $cats = $catmodel->getCatTree(true, true, $nbcontents, "read", $rootid); $displayhome = $params->def('displayhome', 1); $displaywritead = $params->def('displaywritead', 1); $displayprofile = $params->def('displayprofile', 1); $displaymyads = $params->def('displaymyads', 1); $displayrules = $params->def('displayrules', 1); $displayallads = $params->def('displayallads', 1); $displaycategories = $params->def('displaycategories', 1); $displayfavorites = $params->def('displayfavorites', 1); $displayseparators = $params->def('displayseparators', 1); $moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx')); if ($displaycategories == 1) { $cc = $catmodel->getCategories(true, "read", $rootid); $orderlist = array();
public static function categories($name = 'catid', $selected = '', $attribs = array()) { require_once JPATH_ROOT . '/administrator/components/com_adsmanager/models/category.php'; $model = new AdsmanagerModelCategory(); $list = $model->getFlatTree(false); foreach ($list as $key => $cat) { $indent = ""; for ($i = 0; $i < $cat->level; $i++) { $indent .= " "; } if ($cat->level > 0) { $indent .= 'L '; } $list[$key]->treename = $indent . TText::_($cat->name); } $options[] = JHTML::_('select.option', '', '- ' . sprintf(JText::_('ADSMANAGER_COMMON_SELECT'), JText::_('ADSMANAGER_CATEGORY')) . ' -'); foreach ($list as $item) { $options[] = JHTML::_('select.option', $item->id, $item->treename); } $html = self::genericlist($options, $name, $attribs, $selected, $name); return $html; }
$fieldmodel = new AdsmanagerModelField(); $field_values = array(); if ($listfields != "") { $searchfields = $fieldmodel->getFieldsByName($listfields); $field_values = $fieldmodel->getFieldValues(); foreach ($searchfields as $field) { if ($field->cbfieldvalues != "-1") { /*get CB value fields */ $cbfieldvalues = $fieldmodel->getCBFieldValues($field->cbfieldvalues); $field_values[$field->fieldid] = $cbfieldvalues; } } } $confmodel = new AdsmanagerModelConfiguration(); $conf = $confmodel->getConfiguration(); $categorymodel = new AdsmanagerModelCategory(); $rootid = (int) $params->def('rootid', 0); $moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx')); $moduleId = $module->id; switch (@$conf->single_category_selection_type) { default: case 'normal': case 'color': case 'combobox': $cats = $categorymodel->getFlatTree(true, false, $nbcontents, 'read', $rootid); break; case 'cascade': $cats = $categorymodel->getCategoriesPerLevel(true, false, $nbcontents, 'read', $rootid); break; } $baseurl = JURI::base();