0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
joomla
/
1.7.3-0
/
standard
/
htdocs
/
libraries
/
joomla
/
form
/
fields
/
[
Home
]
File: media.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'); /** * Form Field class for the Joomla Platform. * Provides a modal media selector including upload mechanism * * @package Joomla.Platform * @subpackage Form * @since 11.1 */ class JFormFieldMedia extends JFormField { /** * The form field type. * * @var string * @since 11.1 */ protected $type = 'Media'; /** * The initialised state of the document object. * * @var boolean * @since 11.1 */ protected static $initialised = false; /** * Method to get the field input markup for a media selector. * Use attributes to identify specific created_by and asset_id fields * * @return string The field input markup. * @since 11.1 */ protected function getInput() { $assetField = $this->element['asset_field'] ? (string) $this->element['asset_field'] : 'asset_id'; $authorField= $this->element['created_by_field'] ? (string) $this->element['created_by_field'] : 'created_by'; $asset = $this->form->getValue($assetField) ? $this->form->getValue($assetField) : (string) $this->element['asset_id'] ; if ($asset == '') { $asset = JRequest::getCmd('option'); } $link = (string) $this->element['link']; if (!self::$initialised) { // Load the modal behavior script. JHtml::_('behavior.modal'); // Build the script. $script = array(); $script[] = ' function jInsertFieldValue(value, id) {'; $script[] = ' var old_id = document.id(id).value;'; $script[] = ' if (old_id != id) {'; $script[] = ' var elem = document.id(id)'; $script[] = ' elem.value = value;'; $script[] = ' elem.fireEvent("change");'; $script[] = ' }'; $script[] = ' }'; // Add the script to the document head. JFactory::getDocument()->addScriptDeclaration(implode("\n", $script)); self::$initialised = true; } // Initialize variables. $html = array(); $attr = ''; // 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. $attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; // The text field. $html[] = '<div class="fltlft">'; $html[] = ' <input type="text" name="'.$this->name.'" id="'.$this->id.'"' . ' value="'.htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8').'"' . ' readonly="readonly"'.$attr.' />'; $html[] = '</div>'; $directory = (string)$this->element['directory']; if ($this->value && file_exists(JPATH_ROOT . '/' . $this->value)) { $folder = explode ('/', $this->value); array_shift($folder); array_pop($folder); $folder = implode('/', $folder); } elseif (file_exists(JPATH_ROOT . '/' . JComponentHelper::getParams('com_media')->get('image_path', 'images') . '/' . $directory)) { $folder = $directory; } else { $folder=''; } // The button. $html[] = '<div class="button2-left">'; $html[] = ' <div class="blank">'; $html[] = ' <a class="modal" title="'.JText::_('JLIB_FORM_BUTTON_SELECT').'"' . ' href="'.($this->element['readonly'] ? '' : ($link ? $link : 'index.php?option=com_media&view=images&tmpl=component&asset='.$asset.'&author='.$this->form->getValue($authorField)) . '&fieldid='.$this->id.'&folder='.$folder).'"' . ' rel="{handler: \'iframe\', size: {x: 800, y: 500}}">'; $html[] = ' '.JText::_('JLIB_FORM_BUTTON_SELECT').'</a>'; $html[] = ' </div>'; $html[] = '</div>'; $html[] = '<div class="button2-left">'; $html[] = ' <div class="blank">'; $html[] = ' <a title="'.JText::_('JLIB_FORM_BUTTON_CLEAR').'"' . ' href="#"'. ' onclick="document.getElementById(\''.$this->id.'\').value=\'\'; document.getElementById(\''.$this->id.'\').onchange();">'; $html[] = ' '.JText::_('JLIB_FORM_BUTTON_CLEAR').'</a>'; $html[] = ' </div>'; $html[] = '</div>'; return implode("\n", $html); } }