Current Path : /var/www/html/clients/tatneft-nhs.ru/administrator/components/com_jce/elements/ |
Current File : /var/www/html/clients/tatneft-nhs.ru/administrator/components/com_jce/elements/text.php |
<?php /** * @version $Id: text.php 203 2011-06-01 19:02:19Z happy_noodle_boy $ * @package JCE * @copyright Copyright © 2009-2011 Ryan Demmer. All rights reserved. * @copyright Copyright © 2005 - 2007 Open Source Matters. All rights reserved. * @license GNU/GPL 2 or later * This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. */ // Check to ensure this file is within the rest of the framework defined('JPATH_BASE') or die(); /** * Renders a text element * * @package Joomla.Framework * @subpackage Parameter * @since 1.5 */ class JElementText extends JElement { /** * Element name * * @access protected * @var string */ var $_name = 'Text'; function fetchElement($name, $value, &$node, $control_name) { $attributes = array(); foreach ($node->attributes() as $k => $v) { if ($v != '') { $attributes[$k] = $v; } } if (strpos($name, 'max_size') !== false || strpos($node->attributes('class'), 'upload_size') !== false) { $uploadsize = intval($this->getUploadValue()); $attributes['max'] = $uploadsize; } /* * Required to avoid a cycle of encoding & * html_entity_decode was used in place of htmlspecialchars_decode because * htmlspecialchars_decode is not compatible with PHP 4 */ $value = htmlspecialchars(html_entity_decode($value, ENT_QUOTES), ENT_QUOTES); $attributes['class'] = ( $node->attributes('class') ? $node->attributes('class') . ' text_area' : 'text_area' ); $control = $control_name.'['.$name.']'; $html = ''; $attributes['value'] = $value; $attributes['type'] = 'text'; $attributes['name'] = $control; $attributes['id'] = preg_replace('#[^a-z0-9_-]#i', '', $control_name.$name); $html .= '<input'; foreach ($attributes as $k => $v) { if (!in_array($k, array('default', 'label', 'description'))) { $html .= ' ' . $k . ' = "' . $v . '"'; } } $html .= ' />'; if (strpos($name, 'max_size') !== false) { $html .= $this->uploadSize(); } return $html; } function uploadSize() { return ' ' . WFText::_('WF_SERVER_UPLOAD_SIZE') . ' : ' . $this->getUploadValue(); } function getUploadValue() { $upload = trim(ini_get('upload_max_filesize')); $post = trim(ini_get('post_max_size')); $upload = $this->convertValue($upload); $post = $this->convertValue($post); if (intval($upload) <= intval($post)) { return $upload; } return $post; } function convertValue($value) { $unit = 'KB'; // GB if ($value > 1073741824) $unit = 'GB'; // MB if ($value > 1048576) $unit = 'MB'; // Convert to bytes switch( strtolower( $value{strlen( $value )-1} ) ) { case 'g': $value *= 1073741824; break; case 'm': $value *= 1048576; break; case 'k': $value *= 1024; break; } // Convert to unit value switch(strtolower( $unit{0})) { case 'g': $value /= 1073741824; break; case 'm': $value /= 1048576; break; case 'k': $value /= 1024; break; } return preg_replace( '/[^0-9]/', '', $value ) .' '. $unit; } } ?>