shell bypass 403
<?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\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Component\ComponentHelper;
jimport('joomla.form.formfield');
class JFormFieldPhocaColorText extends FormField
{
protected $type = 'PhocaColorText';
protected $phocaParams = null;
protected function getInput() {
$document = Factory::getDocument();
$option = Factory::getApplication()->input->getCmd('option');
$globalValue = $this->_getPhocaParams( $this->element['name'] );
HTMLHelper::stylesheet( 'media/com_phocagallery/js/jcp/picker.css' );
$document->addScript(Uri::base(true).'/media/com_phocagallery/js/jcp/picker.js');
// Initialize some field attributes.
$size = $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : '';
$class = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : '';
$maxLength = $this->element['maxlength'] ? ' maxlength="'.(int) $this->element['maxlength'].'"' : '';
$readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : '';
$disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
// Initialize JavaScript field attributes.
$onchange = $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : '';
$value = htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8');
// TO DO 1.6
// MENU - Set Default value to "" because of saving "" value into the menu link ( use global = "")
if ($option == "com_menus") {
$DefaultValue = (string)$this->element['default'];
if ($value == $DefaultValue) {
$value = '';
}
}
$html ='<input type="text" name="'.$this->name.'" id="'.$this->id.'" value="'.$value.'"'
.$class.$size.$disabled.$readonly.$onchange.$maxLength.'/>';
// Color Picker
$nameCP = str_replace('[', '_', $this->name);
$nameCP = str_replace(']', '', $nameCP);
$html .= '<span style="margin-left:10px" class="btn" onclick="openPicker(\''.$nameCP.'\')" >' . Text::_('COM_PHOCAGALLERY_PICK_COLOR') . '</span>';
// MENU - Display the global value
if ($option == "com_menus") {
$html .= '<span style="margin-left:10px;">[</span><span style="background:#fff"> ' . $globalValue . ' </span><span>]</span>';
}
return $html;
}
protected function getLabel() {
echo '<div class="clearfix"></div>';
return parent::getLabel();
echo '<div class="clearfix"></div>';
}
protected function _setPhocaParams(){
$component = 'com_phocagallery';
$paramsC = ComponentHelper::getParams($component) ;
$this->phocaParams = $paramsC;
}
protected function _getPhocaParams( $name ){
// Don't call sql query by every param item (it will be loaded only one time)
if (!$this->phocaParams) {
$params = $this->_setPhocaParams();
}
$globalValue = $this->phocaParams->get( $name, '' );
return $globalValue;
}
}
?>