diff --git a/main/inc/lib/pear/HTML/Common.php b/main/inc/lib/pear/HTML/Common.php
index 830ec342ef..6b671bf9de 100755
--- a/main/inc/lib/pear/HTML/Common.php
+++ b/main/inc/lib/pear/HTML/Common.php
@@ -1,42 +1,46 @@
|
-// +----------------------------------------------------------------------+
-//
-// $Id: Common.php 20456 2009-05-10 17:27:44Z ivantcholakov $
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
* Base class for all HTML classes
*
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.01 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_01.txt If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category HTML
+ * @package HTML_Common
* @author Adam Daniel
- * @version 1.7
- * @since PHP 4.0.3pl1
- * @abstract
+ * @copyright 2001-2009 The PHP Group
+ * @license http://www.php.net/license/3_01.txt PHP License 3.01
+ * @version CVS: $Id: Common.php,v 1.15 2009/04/03 15:26:22 avb Exp $
+ * @link http://pear.php.net/package/HTML_Common/
*/
-class HTML_Common {
+/**
+ * Base class for all HTML classes
+ *
+ * @category HTML
+ * @package HTML_Common
+ * @author Adam Daniel
+ * @version Release: 1.2.5
+ * @abstract
+ */
+class HTML_Common
+{
/**
- * Associative array of table attributes
+ * Associative array of attributes
* @var array
* @access private
*/
var $_attributes = array();
/**
- * Tab offset of the table
+ * Tab offset of the tag
* @var int
* @access private
*/
@@ -95,7 +99,6 @@ class HTML_Common {
* @since 1.7
* @access private
* @return string
- * @throws
*/
function _getLineEnd()
{
@@ -135,10 +138,13 @@ class HTML_Common {
{
$strAttr = '';
- global $charset;
if (is_array($attributes)) {
+ $charset = HTML_Common::charset();
foreach ($attributes as $key => $value) {
- $strAttr .= ' ' . $key . '="' . @htmlspecialchars($value, ENT_QUOTES, $charset) . '"';
+ // Modified by Ivan Tcholakov, 16-MAR-2010
+ //$strAttr .= ' ' . $key . '="' . htmlspecialchars($value, ENT_COMPAT, $charset) . '"';
+ $strAttr .= ' ' . $key . '="' . @htmlspecialchars($value, ENT_COMPAT, $charset) . '"';
+ //
}
}
return $strAttr;
@@ -148,6 +154,7 @@ class HTML_Common {
* Returns a valid atrributes array from either a string or array
* @param mixed $attributes Either a typical HTML attribute string or an associative array
* @access private
+ * @return array
*/
function _parseAttributes($attributes)
{
@@ -175,9 +182,10 @@ class HTML_Common {
$arrAttr[strtolower(trim($name))] = strtolower(trim($name));
} else {
if (substr($value, 0, 1) == "\"" || substr($value, 0, 1) == "'") {
- $value = substr($value, 1, -1);
+ $arrAttr[strtolower(trim($name))] = substr($value, 1, -1);
+ } else {
+ $arrAttr[strtolower(trim($name))] = trim($value);
}
- $arrAttr[strtolower(trim($name))] = trim($value);
}
}
return $arrAttr;
@@ -192,8 +200,7 @@ class HTML_Common {
* @param array $attributes Array of attribute
* @since 1.0
* @access private
- * @return array key
- * @throws
+ * @return bool
*/
function _getAttrKey($attr, $attributes)
{
@@ -209,7 +216,6 @@ class HTML_Common {
* @param array $attr1 Original attributes array
* @param array $attr2 New attributes array
* @access private
- * @return array
*/
function _updateAttrArray(&$attr1, $attr2)
{
@@ -227,9 +233,8 @@ class HTML_Common {
* @param string $attr Attribute name
* @param array $attributes Attribute array
* @since 1.4
- * @access public
+ * @access private
* @return void
- * @throws
*/
function _removeAttr($attr, &$attributes)
{
@@ -245,8 +250,7 @@ class HTML_Common {
* @param string $attr Attribute name
* @since 1.5
* @access public
- * @return void
- * @throws
+ * @return string|null returns null if an attribute does not exist
*/
function getAttribute($attr)
{
@@ -258,6 +262,22 @@ class HTML_Common {
} //end func getAttribute
/**
+ * Sets the value of the attribute
+ *
+ * @param string Attribute name
+ * @param string Attribute value (will be set to $name if omitted)
+ * @access public
+ */
+ function setAttribute($name, $value = null)
+ {
+ $name = strtolower($name);
+ if (is_null($value)) {
+ $value = $name;
+ }
+ $this->_attributes[$name] = $value;
+ } // end func setAttribute
+
+ /**
* Sets the HTML attributes
* @param mixed $attributes Either a typical HTML attribute string or an associative array
* @access public
@@ -301,7 +321,6 @@ class HTML_Common {
* @since 1.4
* @access public
* @return void
- * @throws
*/
function removeAttribute($attr)
{
@@ -325,7 +344,7 @@ class HTML_Common {
case 'unix':
$this->_lineEnd = "\12";
break;
- case 'mac';
+ case 'mac':
$this->_lineEnd = "\15";
break;
default:
@@ -416,5 +435,40 @@ class HTML_Common {
print $this->toHtml();
} // end func display
+ /**
+ * Sets the charset to use by htmlspecialchars() function
+ *
+ * Since this parameter is expected to be global, the function is designed
+ * to be called statically:
+ *
+ * HTML_Common::charset('utf-8');
+ *
+ * or
+ *
+ * $charset = HTML_Common::charset();
+ *
+ *
+ * @param string New charset to use. Omit if just getting the
+ * current value. Consult the htmlspecialchars() docs
+ * for a list of supported character sets.
+ * @return string Current charset
+ * @access public
+ * @static
+ */
+ function charset($newCharset = null)
+ {
+ // Modified by Ivan Tcholakov, 16-MAR-2010
+ //static $charset = 'ISO-8859-1';
+ static $charset;
+ if (!isset($charset)) {
+ $charset = api_get_system_encoding();
+ }
+ //
+
+ if (!is_null($newCharset)) {
+ $charset = $newCharset;
+ }
+ return $charset;
+ } // end func charset
} // end class HTML_Common
?>