catspriorities.php
1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?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;
}
}