primo commit
This commit is contained in:
@ -0,0 +1,136 @@
|
||||
<?php
|
||||
/*
|
||||
* @package Joomla.Framework
|
||||
* @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*
|
||||
* @component Phoca Component
|
||||
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later;
|
||||
*/
|
||||
defined('JPATH_BASE') or die;
|
||||
use Joomla\CMS\Form\FormField;
|
||||
use Joomla\CMS\HTML\HTMLHelper;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
jimport('joomla.form.formfield');
|
||||
|
||||
class JFormFieldPhocaSelectFilename extends FormField
|
||||
{
|
||||
public $type = 'PhocaSelectFilename';
|
||||
|
||||
protected function getInput()
|
||||
{
|
||||
// Initialize variables.
|
||||
$html = array();
|
||||
$link = 'index.php?option=com_phocagallery&view=phocagalleryi&tmpl=component&field='.$this->id;
|
||||
$onchange = (string) $this->element['onchange'];
|
||||
$size = ($v = $this->element['size']) ? ' size="' . $v . '"' : '';
|
||||
$class = ($v = $this->element['class']) ? ' class="' . $v . '"' : 'class="text_area"';
|
||||
$required = ($v = $this->element['required']) ? ' required="required"' : '';
|
||||
|
||||
// Initialize some field attributes.
|
||||
$attr = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : '';
|
||||
$attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : '';
|
||||
|
||||
$idA = 'phFileNameModal';
|
||||
|
||||
// If external image, we don't need the filename will be required
|
||||
$extId = (int) $this->form->getValue('extid');
|
||||
if ($extId > 0) {
|
||||
$readonly = ' readonly="readonly"';
|
||||
$attr = '';
|
||||
return '<input type="text" name="'.$this->name.'" id="'.$this->id.'" value="-" '.$attr.$readonly.' class="form-control" />';
|
||||
}
|
||||
|
||||
|
||||
/*$script = array();
|
||||
$script[] = ' function phocaSelectFileName_'.$this->id.'(title) {';
|
||||
$script[] = ' document.getElementById("'.$this->id.'").value = title;';
|
||||
$script[] = ' '.$onchange;
|
||||
$script[] = ' jQuery(\'#'.$idA.'\').modal(\'toggle\');';
|
||||
$script[] = ' }';
|
||||
JFactory::getDocument()->addScriptDeclaration(implode("\n", $script));*/
|
||||
|
||||
HTMLHelper::_('jquery.framework');
|
||||
|
||||
/* JFactory::getDocument()->addScriptDeclaration('
|
||||
function phocaSelectFileName_' . $this->id . '(name) {
|
||||
document.getElementById("' . $this->id . '").value = name;
|
||||
jQuery(\'#'.$idA.'\').modal(\'toggle\');
|
||||
}
|
||||
');*/
|
||||
|
||||
$script = array();
|
||||
$script[] = ' function phocaSelectFileName_'.$this->id.'(title) {';
|
||||
$script[] = ' document.getElementById("'.$this->id.'").value = title;';
|
||||
$script[] = ' '.$onchange;
|
||||
//$script[] = ' jModalClose();';
|
||||
|
||||
$script[] = ' jQuery(\'#'.$idA.'\').modal(\'toggle\');';
|
||||
|
||||
//$script[] = ' SqueezeBox.close();';
|
||||
//$script[] = ' jQuery(\'#'.$idA.'\').modal(\'toggle\');';
|
||||
$script[] = ' }';
|
||||
|
||||
// Add the script to the document head.
|
||||
Factory::getDocument()->addScriptDeclaration(implode("\n", $script));
|
||||
|
||||
$html[] = '<div class="input-group input-append">';
|
||||
$html[] = '<span class="input-group input-append"><input type="text" id="' . $this->id . '" name="' . $this->name . '"'
|
||||
. ' value="' . $this->value . '"' . $attr . ' />';
|
||||
$html[] = '<a href="'.$link.'" role="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#'.$idA.'" title="' . Text::_('COM_PHOCAGALLERY_FORM_SELECT_FILENAME') . '">'
|
||||
. '<span class="icon-list icon-white"></span> '
|
||||
. Text::_('COM_PHOCAGALLERY_FORM_SELECT_FILENAME') . '</a></span>';
|
||||
$html[] = '</div>'. "\n";
|
||||
|
||||
$html[] = HTMLHelper::_(
|
||||
'bootstrap.renderModal',
|
||||
$idA,
|
||||
array(
|
||||
'url' => $link,
|
||||
'title' => Text::_('COM_PHOCAGALLERY_FORM_SELECT_FILENAME'),
|
||||
'width' => '',
|
||||
'height' => '',
|
||||
'modalWidth' => '80',
|
||||
'bodyHeight' => '80',
|
||||
'footer' => '<div class="ph-info-modal"></div><button type="button" class="btn" data-bs-dismiss="modal" aria-hidden="true">'
|
||||
. Text::_('COM_PHOCAGALLERY_CLOSE') . '</button>'
|
||||
)
|
||||
);
|
||||
/*
|
||||
//readonly="readonly"
|
||||
$html[] = '<span class="input-append"><input type="text" ' . $required . ' id="' . $this->id . '" name="' . $this->name . '"'
|
||||
. ' value="' . $this->value . '"' . $size . $class . ' />';
|
||||
$html[] = '<a href="#'.$idA.'" role="button" class="btn btn-primary" data-toggle="modal" title="' . Text::_('COM_PHOCAGALLERY_FORM_SELECT_FILENAME') . '">'
|
||||
. '<span class="icon-list icon-white"></span> '
|
||||
. Text::_('COM_PHOCAGALLERY_FORM_SELECT_FILENAME') . '</a></span>';
|
||||
$html[] = HTMLHelper::_(
|
||||
'bootstrap.renderModal',
|
||||
$idA,
|
||||
array(
|
||||
'url' => $link,
|
||||
'title' => Text::_('COM_PHOCAGALLERY_FORM_SELECT_FILENAME'),
|
||||
'width' => '700px',
|
||||
'height' => '400px',
|
||||
'modalWidth' => '80',
|
||||
'bodyHeight' => '70',
|
||||
'footer' => '<button type="button" class="btn" data-dismiss="modal" aria-hidden="true">'
|
||||
. Text::_('COM_PHOCAGALLERY_CLOSE') . '</button>'
|
||||
)
|
||||
);*/
|
||||
|
||||
// We don't use hidden field name, we can edit it the filename form field, there are three ways of adding filename:
|
||||
// - manually typed
|
||||
// - selected by image select box
|
||||
// - added per YouTube import
|
||||
//
|
||||
// The name="' . $this->name . '" is used above in standard input form
|
||||
//
|
||||
//$html[] = '<input class="input-small" type="hidden" name="' . $this->name . '" value="'
|
||||
// . htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') . '" />';
|
||||
|
||||
|
||||
return implode("\n", $html);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user