[ Index ]

PHP Cross Reference of Joomla 2.5.4 DE

title

Body

[close]

/administrator/components/com_modules/models/fields/ -> moduleorder.php (source)

   1  <?php
   2  /**
   3   * @copyright    Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
   4   * @license        GNU General Public License version 2 or later; see LICENSE.txt
   5   */
   6  
   7  defined('JPATH_BASE') or die;
   8  
   9  /**
  10   * Form Field class for the Joomla Framework.
  11   *
  12   * @package        Joomla.Administrator
  13   * @subpackage    com_modules
  14   * @since        1.6
  15   */
  16  class JFormFieldModuleOrder extends JFormField
  17  {
  18      /**
  19       * The form field type.
  20       *
  21       * @var        string
  22       * @since    1.6
  23       */
  24      protected $type = 'ModuleOrder';
  25  
  26      /**
  27       * Method to get the field input markup.
  28       *
  29       * @return    string    The field input markup.
  30       * @since    1.6
  31       */
  32  	protected function getInput()
  33      {
  34          // Initialize variables.
  35          $html = array();
  36          $attr = '';
  37  
  38          // Initialize some field attributes.
  39          $attr .= $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : '';
  40          $attr .= ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
  41          $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : '';
  42  
  43          // Initialize JavaScript field attributes.
  44          $attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : '';
  45  
  46          $html[] = '<script type="text/javascript">';
  47  
  48          $ordering = $this->form->getValue('ordering');
  49          $position = $this->form->getValue('position');
  50          $clientId = $this->form->getValue('client_id');
  51  
  52          $html[] = 'var originalOrder = "'.$ordering.'";';
  53          $html[] = 'var originalPos = "'.$position.'";';
  54          $html[] = 'var orders = new Array();';
  55  
  56          $db        = JFactory::getDbo();
  57          $query    = $db->getQuery(true);
  58          $query->select('position, ordering, title');
  59          $query->from('#__modules');
  60          $query->where('client_id = '.(int) $clientId);
  61          $query->order('ordering');
  62  
  63          $db->setQuery($query);
  64          $orders = $db->loadObjectList();
  65          if ($error = $db->getErrorMsg()) {
  66              JError::raiseWarning(500, $error);
  67              return false;
  68          }
  69  
  70          $orders2 = array();
  71          for ($i = 0, $n = count($orders); $i < $n; $i++) {
  72              if (!isset($orders2[$orders[$i]->position])) {
  73                  $orders2[$orders[$i]->position] = 0;
  74              }
  75              $orders2[$orders[$i]->position]++;
  76              $ord = $orders2[$orders[$i]->position];
  77              $title = JText::sprintf('COM_MODULES_OPTION_ORDER_POSITION', $ord, addslashes($orders[$i]->title));
  78  
  79              $html[] = 'orders['.$i.'] =  new Array("'.$orders[$i]->position.'","'.$ord.'","'.$title.'");';
  80          }
  81  
  82          $html[] = 'writeDynaList(\'name="'.$this->name.'" id="'.$this->id.'"'.$attr.'\', orders, originalPos, originalPos, originalOrder);';
  83          $html[] = '</script>';
  84  
  85          return implode("\n", $html);
  86      }
  87  }


Generated: Tue Apr 3 11:40:28 2012 Cross-referenced by PHPXref 0.7.1