public function display($tpl = null) { // Initialise variables. $this->form = $this->get('Form'); $this->item = $this->get('Item'); $this->state = $this->get('State'); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } JHtml::_('behavior.framework'); JHtml::_('behavior.modal', 'a.modal'); JHtml::_('behavior.tooltip'); JHtml::_('behavior.formvalidation'); //initialise variables $jemsettings = JemHelper::config(); $document = JFactory::getDocument(); $user = JemFactory::getUser(); $this->settings = JemAdmin::config(); $task = JFactory::getApplication()->input->get('task', ''); $this->task = $task; $url = JUri::root(); $categories = JemCategories::getCategoriesTree(1); $selectedcats = $this->get('Catsselected'); $Lists = array(); $Lists['category'] = JemCategories::buildcatselect($categories, 'cid[]', $selectedcats, 0, 'multiple="multiple" size="8"'); // Load css JHtml::_('stylesheet', 'com_jem/backend.css', array(), true); // Load scripts JHtml::_('script', 'com_jem/attachments.js', false, true); JHtml::_('script', 'com_jem/recurrence.js', false, true); JHtml::_('script', 'com_jem/unlimited.js', false, true); JHtml::_('script', 'com_jem/seo.js', false, true); // JQuery noConflict //$document->addCustomTag('<script type="text/javascript">jQuery.noConflict();</script>'); //$document->addScript('http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'); //$document->addScript('http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js'); $access2 = JemHelper::getAccesslevelOptions(); $this->access = $access2; $this->jemsettings = $jemsettings; $this->Lists = $Lists; $this->addToolbar(); parent::display($tpl); }
public function display($tpl = null) { // Initialise variables. $this->form = $this->get('Form'); $this->item = $this->get('Item'); $this->state = $this->get('State'); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } //initialise variables $jemsettings = JemHelper::config(); $document = JFactory::getDocument(); $user = JFactory::getUser(); $this->settings = JemAdmin::config(); $task = JFactory::getApplication()->input->get('task'); $this->task = $task; $url = JUri::root(); $categories = JemCategories::getCategoriesTree(1); $selectedcats = $this->get('Catsselected'); $Lists = array(); $Lists['category'] = JemCategories::buildcatselect($categories, 'cid[]', $selectedcats, 0, 'multiple="multiple" size="8"'); // Load css JHtml::_('stylesheet', 'com_jem/backend.css', array(), true); // Load scripts JHtml::_('script', 'com_jem/attachments.js', false, true); JHtml::_('script', 'com_jem/recurrence.js', false, true); JHtml::_('script', 'com_jem/seo.js', false, true); JHtml::_('script', 'com_jem/slider-state.js', false, true); $this->access = JemHelper::getAccesslevelOptions(); $this->jemsettings = $jemsettings; $this->Lists = $Lists; $this->addToolbar(); parent::display($tpl); }
/** * logic to get the categories * * @return void */ public function getCategories() { $user = JFactory::getUser(); $jemsettings = JEMHelper::config(); $userid = (int) $user->get('id'); $superuser = JEMUser::superuser(); $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('c.*')); $query->from($db->quoteName('#__jem_categories') . ' AS c'); $query->where(array('c.published = 1 ')); $query->order(array('c.parent_id', 'c.ordering')); $db->setQuery($query); $mitems = $db->loadObjectList(); # Check for a database error. if ($db->getErrorNum()) { JError::raiseNotice(500, $db->getErrorMsg()); } if (!$mitems) { $mitems = array(); $children = array(); $parentid = $mitems; } else { $mitems_temp = $mitems; $children = array(); # First pass - collect children foreach ($mitems as $v) { $pt = $v->parent_id; $list = @$children[$pt] ? $children[$pt] : array(); array_push($list, $v); $children[$pt] = $list; } $parentid = intval($mitems[0]->parent_id); } # get list of the items $list = JemCategories::treerecurse($parentid, '', array(), $children, 9999, 0, 0); return $list; }
/** * Creates the Simple List View */ function display($tpl = null) { // initialize variables $app = JFactory::getApplication(); $document = JFactory::getDocument(); $jemsettings = JemHelper::config(); $settings = JemHelper::globalattribs(); $menu = $app->getMenu(); $menuitem = $menu->getActive(); $params = $app->getParams(); $uri = JFactory::getURI(); $pathway = $app->getPathWay(); $user = JemFactory::getUser(); // Decide which parameters should take priority $useMenuItemParams = ($menuitem && $menuitem->query['option'] == 'com_jem' && $menuitem->query['view'] == 'search'); // add javascript JHtml::_('behavior.framework'); // Load css JemHelper::loadCss('jem'); JemHelper::loadCustomCss(); JemHelper::loadCustomTag(); // Load Script JHtml::_('script', 'com_jem/search.js', false, true); $filter_continent = $app->getUserStateFromRequest('com_jem.search.filter_continent', 'filter_continent', '', 'string'); $filter_country = $app->getUserStateFromRequest('com_jem.search.filter_country', 'filter_country', '', 'string'); $filter_city = $app->getUserStateFromRequest('com_jem.search.filter_city', 'filter_city', '', 'string'); $filter_date_from = $app->getUserStateFromRequest('com_jem.search.filter_date_from', 'filter_date_from', '', 'string'); $filter_date_to = $app->getUserStateFromRequest('com_jem.search.filter_date_to', 'filter_date_to', '', 'string'); $filter_category = $app->getUserStateFromRequest('com_jem.search.filter_category', 'filter_category', 0, 'int'); $task = $app->input->get('task', ''); // get data from model $rows = $this->get('Data'); // are events available? $noevents = (!$rows) ? 1 : 0; // Check to see which parameters should take priority if ($useMenuItemParams) { // Menu item params take priority $pagetitle = $params->def('page_title', $menuitem ? $menuitem->title : JText::_('COM_JEM_SEARCH')); $pageheading = $params->def('page_heading', $pagetitle); $pathway->setItemName(1, $menuitem->title); } else { $pagetitle = JText::_('COM_JEM_SEARCH'); $pageheading = $pagetitle; $params->set('introtext', ''); // there is no introtext in that case $params->set('showintrotext', 0); $pathway->addItem(1, $pagetitle); } $pageclass_sfx = $params->get('pageclass_sfx'); if ($task == 'archive') { $pathway->addItem(JText::_('COM_JEM_ARCHIVE'), JRoute::_('index.php?option=com_jem&view=search&task=archive')); $pagetitle .= ' - ' . JText::_('COM_JEM_ARCHIVE'); $pageheading .= ' - ' . JText::_('COM_JEM_ARCHIVE'); } $pageclass_sfx = $params->get('pageclass_sfx'); $params->set('page_heading', $pageheading); // Add site name to title if param is set if ($app->getCfg('sitename_pagetitles', 0) == 1) { $pagetitle = JText::sprintf('JPAGETITLE', $app->getCfg('sitename'), $pagetitle); } elseif ($app->getCfg('sitename_pagetitles', 0) == 2) { $pagetitle = JText::sprintf('JPAGETITLE', $pagetitle, $app->getCfg('sitename')); } // Set Page title $document->setTitle($pagetitle); $document->setMetadata('title' , $pagetitle); // No permissions required/useful on this view $permissions = new stdClass(); // create select lists $lists = $this->_buildSortLists(); if ($lists['filter']) { //$uri->setVar('filter', $app->input->getString('filter', '')); //$filter = $app->getUserStateFromRequest('com_jem.jem.filter', 'filter', '', 'string'); $uri->setVar('filter', $lists['filter']); $uri->setVar('filter_type', $app->input->getString('filter_type', '')); } else { $uri->delVar('filter'); $uri->delVar('filter_type'); } // Cause of group limits we can't use class here to build the categories tree $categories = $this->get('CategoryTree'); $catoptions = array(); $catoptions[] = JHtml::_('select.option', '1', JText::_('COM_JEM_SELECT_CATEGORY')); $catoptions = array_merge($catoptions, JemCategories::getcatselectoptions($categories)); $selectedcats = ($filter_category) ? array($filter_category) : array(); // build selectlists $lists['categories'] = JHtml::_('select.genericlist', $catoptions, 'filter_category', array('size'=>'1', 'class'=>'inputbox'), 'value', 'text', $selectedcats); // Create the pagination object $pagination = $this->get('Pagination'); // date filter $lists['date_from'] = JHtml::_('calendar', $filter_date_from, 'filter_date_from', 'filter_date_from', '%Y-%m-%d', array('class'=>"inputbox")); $lists['date_to'] = JHtml::_('calendar', $filter_date_to, 'filter_date_to', 'filter_date_to', '%Y-%m-%d', array('class'=>"inputbox")); // country filter $continents = array(); $continents[] = JHtml::_('select.option', '', JText::_('COM_JEM_SELECT_CONTINENT')); $continents[] = JHtml::_('select.option', 'AF', JText::_('COM_JEM_AFRICA')); $continents[] = JHtml::_('select.option', 'AS', JText::_('COM_JEM_ASIA')); $continents[] = JHtml::_('select.option', 'EU', JText::_('COM_JEM_EUROPE')); $continents[] = JHtml::_('select.option', 'NA', JText::_('COM_JEM_NORTH_AMERICA')); $continents[] = JHtml::_('select.option', 'SA', JText::_('COM_JEM_SOUTH_AMERICA')); $continents[] = JHtml::_('select.option', 'OC', JText::_('COM_JEM_OCEANIA')); $continents[] = JHtml::_('select.option', 'AN', JText::_('COM_JEM_ANTARCTICA')); $lists['continents'] = JHtml::_('select.genericlist', $continents, 'filter_continent', array('class'=>'inputbox'), 'value', 'text', $filter_continent); unset($continents); // country filter $countries = array(); $countries[] = JHtml::_('select.option', '', JText::_('COM_JEM_SELECT_COUNTRY')); $countries = array_merge($countries, $this->get('CountryOptions')); $lists['countries'] = JHtml::_('select.genericlist', $countries, 'filter_country', array('class'=>'inputbox'), 'value', 'text', $filter_country); unset($countries); // city filter if ($filter_country) { $cities = array(); $cities[] = JHtml::_('select.option', '', JText::_('COM_JEM_SELECT_CITY')); $cities = array_merge($cities, $this->get('CityOptions')); $lists['cities'] = JHtml::_('select.genericlist', $cities, 'filter_city', array('class'=>'inputbox'), 'value', 'text', $filter_city); unset($cities); } $this->lists = $lists; $this->action = $uri->toString(); $this->rows = $rows; $this->task = $task; $this->noevents = $noevents; $this->params = $params; $this->pagination = $pagination; $this->jemsettings = $jemsettings; $this->settings = $settings; $this->permissions = $permissions; $this->pagetitle = $pagetitle; $this->filter_continent = $filter_continent; $this->filter_country = $filter_country; $this->document = $document; $this->pageclass_sfx = htmlspecialchars($pageclass_sfx); parent::display($tpl); }
/** * Method to get categories item data * * @access public * @return array */ function getData() { $app = JFactory::getApplication(); $db = JFactory::getDBO(); $jinput = $app->input; $itemid = $jinput->getInt('id', 0) . ':' . $jinput->getInt('Itemid', 0); static $items; if (isset($items)) { return $items; } $filter_order = $app->getUserStateFromRequest('com_jem.categoryelement.filter_order', 'filter_order', 'c.lft', 'cmd'); $filter_order_Dir = $app->getUserStateFromRequest('com_jem.categoryelement.filter_order_Dir', 'filter_order_Dir', '', 'word'); $filter_state = $app->getUserStateFromRequest('com_jem.categoryelement.' . $itemid . '.filter_state', 'filter_state', '', 'string'); $search = $app->getUserStateFromRequest('com_jem.categoryelement.' . $itemid . '.filter_search', 'filter_search', '', 'string'); $search = $db->escape(trim(JString::strtolower($search))); $filter_order = JFilterInput::getinstance()->clean($filter_order, 'cmd'); $filter_order_Dir = JFilterInput::getinstance()->clean($filter_order_Dir, 'word'); $state = array(1); $query = $db->getQuery(true); $query->select(array('c.*', 'u.name AS editor', 'g.title AS groupname', 'gr.name AS catgroup')); $query->from('#__jem_categories AS c'); $query->join('LEFT', '#__viewlevels AS g ON g.id = c.access'); $query->join('LEFT', '#__users AS u ON u.id = c.checked_out'); $query->join('LEFT', '#__jem_groups AS gr ON gr.id = c.groupid'); if (is_numeric($filter_state)) { $query->where('c.published = ' . (int) $filter_state); } else { $query->where('c.published IN (' . implode(',', $state) . ')'); } $query->order($filter_order . ' ' . $filter_order_Dir); $db->setQuery($query); $mitems = $db->loadObjectList(); // Check for a database error. if ($db->getErrorNum()) { JError::raiseNotice(500, $db->getErrorMsg()); } if (!$mitems) { $mitems = array(); $children = array(); $parentid = $mitems; } else { $mitems_temp = $mitems; $children = array(); // First pass - collect children foreach ($mitems as $v) { $pt = $v->parent_id; $list = @$children[$pt] ? $children[$pt] : array(); array_push($list, $v); $children[$pt] = $list; } $parentid = intval($mitems[0]->parent_id); } // get list of the items $list = JemCategories::treerecurse($parentid, '', array(), $children, 9999, 0, 0); // note, since this is a tree we have to do the limits code-side if ($search) { $query = $db->getQuery(true); $query->select('c.id'); $query->from('#__jem_categories AS c'); $query->where(array('LOWER(c.catname) LIKE ' . $db->Quote('%' . $this->_db->escape($search, true) . '%', false), 'c.published IN (' . implode(',', $state) . ')')); $db->setQuery($query); $search_rows = $db->loadColumn(); } // eventually only pick out the searched items. if ($search) { $list1 = array(); foreach ($search_rows as $sid) { foreach ($list as $item) { if ($item->id == $sid) { $list1[] = $item; } } } // replace full list with found items $list = $list1; } $total = count($list); jimport('joomla.html.pagination'); $this->_pagination = new JPagination($total, $this->getState('limitstart'), $this->getState('limit')); // slice out elements based on limits $list = array_slice($list, $this->_pagination->limitstart, $this->_pagination->limit); return $list; }