Example #1
0
	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);
	}
Example #2
0
 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);
 }
Example #3
0
 /**
  * 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;
 }
Example #4
0
	/**
	 * 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);
	}
Example #5
0
 /**
  * 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;
 }