[ Index ]

PHP Cross Reference of Joomla 1.5.26 DE

title

Body

[close]

/libraries/joomla/html/parameter/element/ -> category.php (source)

   1  <?php
   2  /**
   3  * @version        $Id: category.php 14401 2010-01-26 14:10:00Z louis $
   4  * @package        Joomla.Framework
   5  * @subpackage    Parameter
   6  * @copyright    Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
   7  * @license        GNU/GPL, see LICENSE.php
   8  * Joomla! is free software. This version may have been modified pursuant
   9  * to the GNU General Public License, and as distributed it includes or
  10  * is derivative of works licensed under the GNU General Public License or
  11  * other free or open source software licenses.
  12  * See COPYRIGHT.php for copyright notices and details.
  13  */
  14  
  15  // Check to ensure this file is within the rest of the framework
  16  defined('JPATH_BASE') or die();
  17  
  18  /**
  19   * Renders a category element
  20   *
  21   * @package     Joomla.Framework
  22   * @subpackage        Parameter
  23   * @since        1.5
  24   */
  25  
  26  class JElementCategory extends JElement
  27  {
  28      /**
  29      * Element name
  30      *
  31      * @access    protected
  32      * @var        string
  33      */
  34      var    $_name = 'Category';
  35  
  36  	function fetchElement($name, $value, &$node, $control_name)
  37      {
  38          $db = &JFactory::getDBO();
  39  
  40          $section    = $node->attributes('section');
  41          $class        = $node->attributes('class');
  42          if (!$class) {
  43              $class = "inputbox";
  44          }
  45  
  46          if (!isset ($section)) {
  47              // alias for section
  48              $section = $node->attributes('scope');
  49              if (!isset ($section)) {
  50                  $section = 'content';
  51              }
  52          }
  53  
  54          if ($section == 'content') {
  55              // This might get a conflict with the dynamic translation - TODO: search for better solution
  56              $query = 'SELECT c.id, CONCAT_WS( "/",s.title, c.title ) AS title' .
  57                  ' FROM #__categories AS c' .
  58                  ' LEFT JOIN #__sections AS s ON s.id=c.section' .
  59                  ' WHERE c.published = 1' .
  60                  ' AND s.scope = '.$db->Quote($section).
  61                  ' ORDER BY s.title, c.title';
  62          } else {
  63              $query = 'SELECT c.id, c.title' .
  64                  ' FROM #__categories AS c' .
  65                  ' WHERE c.published = 1' .
  66                  ' AND c.section = '.$db->Quote($section).
  67                  ' ORDER BY c.title';
  68          }
  69          $db->setQuery($query);
  70          $options = $db->loadObjectList();
  71          array_unshift($options, JHTML::_('select.option', '0', '- '.JText::_('Select Category').' -', 'id', 'title'));
  72  
  73          return JHTML::_('select.genericlist',  $options, ''.$control_name.'['.$name.']', 'class="'.$class.'"', 'id', 'title', $value, $control_name.$name );
  74      }
  75  }


Generated: Wed Mar 28 15:54:07 2012 Cross-referenced by PHPXref 0.7.1