%PDF- %PDF-
Direktori : /home1/lightco1/www/plugins/system/jsnframework/libraries/joomlashine/form/fields/ |
Current File : //home1/lightco1/www/plugins/system/jsnframework/libraries/joomlashine/form/fields/jsnmedia.php |
<?php /** * @version $Id$ * @package JSN_Framework * @author JoomlaShine Team <support@joomlashine.com> * @copyright Copyright (C) 2012 JoomlaShine.com. All Rights Reserved. * @license GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html * * Websites: http://www.joomlashine.com * Technical Support: Feedback - http://www.joomlashine.com/contact-us/get-support.html */ // No direct access to this file defined('_JEXEC') or die('Restricted access'); /** * Create image selector field. * * Below is a sample field declaration for generating image selector field: * * <code><field * name="site_logo" type="jsnmedia" default="" * label="JSN_SAMPLE_SITE_LOGO_LABEL" description="JSN_SAMPLE_SITE_LOGO_DESC" * /></code> * * @package JSN_Framework * @since 1.0.0 * */ class JFormFieldJSNMedia extends JSNFormField { /** * The form field type. * * @var string */ protected $type = 'JSNMedia'; /** * Method to get the field input markup for a media selector. * * @return string The field input markup. */ protected function getInput() { // Preset output $html = array (); // Initialize variables $editable = isset($this->element['editable']) ? (string) $this->element['editable'] : ''; $clearButton = isset($this->element['clearButton']) ? (string) $this->element['clearButton'] : ''; $mediaRoot = isset($this->element['directory']) ? (string) $this->element['directory'] : ''; $selectorLink = JURI::root() . 'plugins/system/jsnframework/libraries/joomlashine/choosers/media/index.php' . '?component=' . JFactory::getApplication()->input->getCmd('option') . '&root=' . trim($mediaRoot, '/') . '¤t=' . $this->value . '&element=' . $this->id . '&handler=JSNMediaUpdateField'; // Load script to handle selection update $html[] = JSNHtmlAsset::loadScript( 'jsn/media', array( 'url' => $selectorLink, 'field' => "#{$this->id}", 'language' => JSNUtilsLanguage::getTranslated(array('JSN_EXTFW_CONFIG_CLICK_TO_SELECT')) ), true ); // Initialize attributes $class = ' class="' . (isset($this->element['class']) ? (string) $this->element['class'] : 'jsn-input-large-fluid') . '"'; $disabled = $editable ? '' : ' disabled="disabled"'; // Generate clear button $clear = ''; if ($clearButton) { $clear = '<button class="btn inline" type="button">' . JText::_('JSN_EXTFW_GENERAL_CLEAR') . '</button>'; } // Generate markup $html[] = '<div class="input-append row-fluid">' . '<input type="text" id="' . $this->id . '" name="' . $this->name . '" value="' . $this->value . '"' . $class . $disabled . ' />' . '<button class="btn" type="button">...</button>' . $clear . '</div>'; return implode($html); } }