| [ Index ] |
PHP Cross Reference of Joomla 2.5.4 DE |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Tue Apr 3 11:40:28 2012 | Cross-referenced by PHPXref 0.7.1 |