catspriorities.php 1.83 KB
<?php
// namespace administrator\components\com_jmap\framework\html;
/**
 *
 * @package JMAP::administrator::components::com_jmap
 * @subpackage framework
 * @subpackage html
 * @author Joomla! Extensions Store
 * @copyright (C) 2015 - Joomla! Extensions Store
 * @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html
 */
defined ( '_JEXEC' ) or die ( 'Restricted access' );

/**
 * Content categories for multiselect
 *
 * @package JMAP::administrator::components::com_jmap
 * @subpackage framework
 * @subpackage html
 * @since 3.0
 */
class JMapHtmlCatspriorities extends JObject {
	/**
	 * Build the multiple select list for Menu Links/Pages
	 *
	 * @access public
	 * @return array
	 */
	public static function getCategories() {
		$categories = array ();
		$categories [] = JHtml::_ ( 'select.option', '0', JText::_ ( 'COM_JMAP_NOCATS' ), 'value', 'text' );
		
		$db = JFactory::getDbo ();
		$query = $db->getQuery ( true )
				->select ( 'a.id, a.title, a.level, CONCAT((p.priority*100), "%") AS priority' )
				->from ( '#__categories AS a' )
				->join ( 'LEFT', '#__jmap_cats_priorities AS p ON a.id = p.id' )
				->where ( 'a.parent_id > 0' );
		
		// Filter on extension.
		$query->where ( 'a.extension = ' . $db->quote ( 'com_content' ) );
		$query->where ( 'a.published = 1' );
		$query->order ( 'a.lft' );
		
		$db->setQuery ( $query );
		$items = $db->loadObjectList ();
		
		foreach ( $items as &$item ) {
			$repeat = ($item->level - 1 >= 0) ? $item->level - 1 : 0;
			$item->title = str_repeat ( '- ', $repeat ) . $item->title;
			
			// Check for priority append
			$styles = null;
			if($item->priority) {
				$item->title .=  ' - ' . $item->priority;
				$styles = 'class="haspriority"';
			}
			$categories [] = JHtml::_ ( 'select.option', $item->id, $item->title, array( 'option.attr'=>'style', 'attr'=>$styles) );
		}
		
		return $categories;
	}
}