0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
joomla
/
1.7.3-0
/
standard
/
htdocs
/
libraries
/
joomla
/
form
/
fields
/
[
Home
]
File: user.php
<?php /** * @package Joomla.Platform * @subpackage Form * * @copyright Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('JPATH_PLATFORM') or die; jimport('joomla.form.formfield'); /** * Field to select a user id from a modal list. * * @package Joomla.Platform * @subpackage com_users * @since 11.1 */ class JFormFieldUser extends JFormField { /** * The form field type. * * @var string * @since 11.1 */ public $type = 'User'; /** * Method to get the user field input markup. * * @return string The field input markup. * @since 11.1 */ protected function getInput() { // Initialize variables. $html = array(); $groups = $this->getGroups(); $excluded = $this->getExcluded(); $link = 'index.php?option=com_users&view=users&layout=modal&tmpl=component&field='.$this->id.(isset($groups) ? ('&groups='.base64_encode(json_encode($groups))) : '').(isset($excluded) ? ('&excluded='.base64_encode(json_encode($excluded))) : ''); // Initialize some field attributes. $attr = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; // Initialize JavaScript field attributes. $onchange = (string) $this->element['onchange']; // Load the modal behavior script. JHtml::_('behavior.modal', 'a.modal_'.$this->id); // Build the script. $script = array(); $script[] = ' function jSelectUser_'.$this->id.'(id, title) {'; $script[] = ' var old_id = document.getElementById("'.$this->id.'_id").value;'; $script[] = ' if (old_id != id) {'; $script[] = ' document.getElementById("'.$this->id.'_id").value = id;'; $script[] = ' document.getElementById("'.$this->id.'_name").value = title;'; $script[] = ' '.$onchange; $script[] = ' }'; $script[] = ' SqueezeBox.close();'; $script[] = ' }'; // Add the script to the document head. JFactory::getDocument()->addScriptDeclaration(implode("\n", $script)); // Load the current username if available. $table = JTable::getInstance('user'); if ($this->value) { $table->load($this->value); } else { $table->username = JText::_('JLIB_FORM_SELECT_USER'); } // Create a dummy text field with the user name. $html[] = '<div class="fltlft">'; $html[] = ' <input type="text" id="'.$this->id.'_name"' . ' value="'.htmlspecialchars($table->username, ENT_COMPAT, 'UTF-8').'"' . ' disabled="disabled"'.$attr.' />'; $html[] = '</div>'; // Create the user select button. $html[] = '<div class="button2-left">'; $html[] = ' <div class="blank">'; if ($this->element['readonly'] != 'true') { $html[] = ' <a class="modal_'.$this->id.'" title="'.JText::_('JLIB_FORM_CHANGE_USER').'"' . ' href="'.$link.'"' . ' rel="{handler: \'iframe\', size: {x: 800, y: 500}}">'; $html[] = ' '.JText::_('JLIB_FORM_CHANGE_USER').'</a>'; } $html[] = ' </div>'; $html[] = '</div>'; // Create the real field, hidden, that stored the user id. $html[] = '<input type="hidden" id="'.$this->id.'_id" name="'.$this->name.'" value="'.(int) $this->value.'" />'; return implode("\n", $html); } /** * Method to get the filtering groups (null means no filtering) * * @return mixed array of filtering groups or null. * @since 11.1 */ protected function getGroups() { return null; } /** * Method to get the users to exclude from the list of users * * @return mixed Array of users to exclude or null to to not exclude them * * @since 11.1 */ protected function getExcluded() { return null; } }