|
From: <txm...@us...> - 2013-06-29 15:46:12
|
Revision: 11799
http://sourceforge.net/p/xoops/svn/11799
Author: txmodxoops
Date: 2013-06-29 15:46:07 +0000 (Sat, 29 Jun 2013)
Log Message:
-----------
Adding class request.php in the kernel due to used of several modules
Added Paths:
-----------
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/kernel/
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/kernel/request.php
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/kernel/request.php
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/kernel/request.php (rev 0)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/kernel/request.php 2013-06-29 15:46:07 UTC (rev 11799)
@@ -0,0 +1,944 @@
+<?php
+/*
+ You may not change or alter any portion of this comment or credits
+ of supporting developers from this source code or any supporting source code
+ which is considered copyrighted (c) material of the original comment or credit authors.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+*/
+/**
+ * XoopsRequest class
+ *
+ * @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
+ * @license GNU/GPL, see LICENSE.php
+ * Joomla! is free software. 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.
+ * See COPYRIGHT.php for copyright notices and details.
+ * @package kernel
+ * @since 2.5.5
+ * @author trabis <lus...@gm...>
+ * @version $Id: request.php 11634 Wed 2013/06/05 21:09:25Z Timgno $
+ */
+
+defined('XOOPS_ROOT_PATH') or die('Restricted access');
+
+/**
+ * Set the available masks for cleaning variables
+ */
+define('XOOPS_REQUEST_NOTRIM', 1);
+define('XOOPS_REQUEST_ALLOWRAW', 2);
+define('XOOPS_REQUEST_ALLOWHTML', 4);
+
+/**
+ * XoopsRequest Class
+ * This class serves to provide a common interface to access
+ * request variables. This includes $_POST, $_GET, and naturally $_REQUEST. Variables
+ * can be passed through an input filter to avoid injection or returned raw.
+ */
+class XoopsRequest
+{
+
+ /**
+ * Gets the request method
+ *
+ * @return string
+ */
+ static function getMethod()
+ {
+ $method = strtoupper($_SERVER['REQUEST_METHOD']);
+ return $method;
+ }
+
+ /**
+ * Fetches and returns a given variable.
+ * The default behaviour is fetching variables depending on the
+ * current request method: GET and HEAD will result in returning
+ * an entry from $_GET, POST and PUT will result in returning an
+ * entry from $_POST.
+ * You can force the source by setting the $hash parameter:
+ * post $_POST
+ * get $_GET
+ * files $_FILES
+ * cookie $_COOKIE
+ * env $_ENV
+ * server $_SERVER
+ * method via current $_SERVER['REQUEST_METHOD']
+ * default $_REQUEST
+ *
+ * @static
+ *
+ * @param string $name Variable name
+ * @param string $default Default value if the variable does not exist
+ * @param string $hash Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
+ * @param string $type Return type for the variable, for valid values see {@link JFilterInput::clean()}
+ * @param int $mask Filter mask for the variable
+ *
+ * @return mixed Requested variable
+ */
+ static function getVar($name, $default = null, $hash = 'default', $type = 'none', $mask = 0)
+ {
+ // Ensure hash and type are uppercase
+ $hash = strtoupper($hash);
+ if ($hash === 'METHOD') {
+ $hash = strtoupper($_SERVER['REQUEST_METHOD']);
+ }
+ $type = strtoupper($type);
+ // Get the input hash
+ switch ($hash) {
+ case 'GET' :
+ $input = & $_GET;
+ break;
+ case 'POST' :
+ $input = & $_POST;
+ break;
+ case 'FILES' :
+ $input = & $_FILES;
+ break;
+ case 'COOKIE' :
+ $input = & $_COOKIE;
+ break;
+ case 'ENV' :
+ $input = & $_ENV;
+ break;
+ case 'SERVER' :
+ $input = & $_SERVER;
+ break;
+ default:
+ $input = & $_REQUEST;
+ $hash = 'REQUEST';
+ break;
+ }
+ if (isset($input[$name]) && $input[$name] !== null) {
+ // Get the variable from the input hash and clean it
+ $var = XoopsRequest::_cleanVar($input[$name], $mask, $type);
+ // Handle magic quotes compatability
+ if (get_magic_quotes_gpc() && ($var != $default) && ($hash != 'FILES')) {
+ $var = XoopsRequest::_stripSlashesRecursive($var);
+ }
+ } else if ($default !== null) {
+ // Clean the default value
+ $var = XoopsRequest::_cleanVar($default, $mask, $type);
+ } else {
+ $var = $default;
+ }
+ return $var;
+ }
+
+ /**
+ * Fetches and returns a given filtered variable. The integer
+ * filter will allow only digits to be returned. This is currently
+ * only a proxy function for getVar().
+ * See getVar() for more in-depth documentation on the parameters.
+ *
+ * @static
+ *
+ * @param string $name Variable name
+ * @param int $default Default value if the variable does not exist
+ * @param string $hash Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
+ *
+ * @return integer Requested variable
+ */
+ static function getInt($name, $default = 0, $hash = 'default')
+ {
+ return XoopsRequest::getVar($name, $default, $hash, 'int');
+ }
+
+ /**
+ * Fetches and returns a given filtered variable. The float
+ * filter only allows digits and periods. This is currently
+ * only a proxy function for getVar().
+ * See getVar() for more in-depth documentation on the parameters.
+ *
+ * @static
+ *
+ * @param string $name Variable name
+ * @param float $default Default value if the variable does not exist
+ * @param string $hash Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
+ *
+ * @return float Requested variable
+ */
+ static function getFloat($name, $default = 0.0, $hash = 'default')
+ {
+ return XoopsRequest::getVar($name, $default, $hash, 'float');
+ }
+
+ /**
+ * Fetches and returns a given filtered variable. The bool
+ * filter will only return true/false bool values. This is
+ * currently only a proxy function for getVar().
+ * See getVar() for more in-depth documentation on the parameters.
+ *
+ * @static
+ *
+ * @param string $name Variable name
+ * @param bool $default Default value if the variable does not exist
+ * @param string $hash Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
+ *
+ * @return bool Requested variable
+ */
+ static function getBool($name, $default = false, $hash = 'default')
+ {
+ return XoopsRequest::getVar($name, $default, $hash, 'bool');
+ }
+
+ /**
+ * Fetches and returns a given filtered variable. The word
+ * filter only allows the characters [A-Za-z_]. This is currently
+ * only a proxy function for getVar().
+ * See getVar() for more in-depth documentation on the parameters.
+ *
+ * @static
+ *
+ * @param string $name Variable name
+ * @param string $default Default value if the variable does not exist
+ * @param string $hash Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
+ *
+ * @return string Requested variable
+ */
+ static function getWord($name, $default = '', $hash = 'default')
+ {
+ return XoopsRequest::getVar($name, $default, $hash, 'word');
+ }
+
+ /**
+ * Fetches and returns a given filtered variable. The cmd
+ * filter only allows the characters [A-Za-z0-9.-_]. This is
+ * currently only a proxy function for getVar().
+ * See getVar() for more in-depth documentation on the parameters.
+ *
+ * @static
+ *
+ * @param string $name Variable name
+ * @param string $default Default value if the variable does not exist
+ * @param string $hash Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
+ *
+ * @return string Requested variable
+ */
+ static function getCmd($name, $default = '', $hash = 'default')
+ {
+ return XoopsRequest::getVar($name, $default, $hash, 'cmd');
+ }
+
+ /**
+ * Fetches and returns a given filtered variable. The string
+ * filter deletes 'bad' HTML code, if not overridden by the mask.
+ * This is currently only a proxy function for getVar().
+ * See getVar() for more in-depth documentation on the parameters.
+ *
+ * @static
+ *
+ * @param string $name Variable name
+ * @param string $default Default value if the variable does not exist
+ * @param string $hash Where the var should come from (POST, GET, FILES, COOKIE, METHOD)
+ * @param int $mask Filter mask for the variable
+ *
+ * @return string Requested variable
+ */
+ static function getString($name, $default = '', $hash = 'default', $mask = 0)
+ {
+ // Cast to string, in case JREQUEST_ALLOWRAW was specified for mask
+ return (string)XoopsRequest::getVar($name, $default, $hash, 'string', $mask);
+ }
+
+ static function getArray($name, $default = array(), $hash = 'default')
+ {
+ return XoopsRequest::getVar($name, $default, $hash, 'array');
+ }
+
+ static function getText($name, $default = '', $hash = 'default')
+ {
+ return (string)XoopsRequest::getVar($name, $default, $hash, 'string', PUBLISHER_REQUEST_ALLOWRAW);
+ }
+
+ /**
+ * Set a variabe in on of the request variables
+ *
+ * @access public
+ *
+ * @param string $name Name
+ * @param string $value Value
+ * @param string $hash Hash
+ * @param boolean $overwrite Boolean
+ *
+ * @return string Previous value
+ */
+ static function setVar($name, $value = null, $hash = 'method', $overwrite = true)
+ {
+ //If overwrite is true, makes sure the variable hasn't been set yet
+ if (!$overwrite && array_key_exists($name, $_REQUEST)) {
+ return $_REQUEST[$name];
+ }
+ // Get the request hash value
+ $hash = strtoupper($hash);
+ if ($hash === 'METHOD') {
+ $hash = strtoupper($_SERVER['REQUEST_METHOD']);
+ }
+ $previous = array_key_exists($name, $_REQUEST) ? $_REQUEST[$name] : null;
+ switch ($hash) {
+ case 'GET' :
+ $_GET[$name] = $value;
+ $_REQUEST[$name] = $value;
+ break;
+ case 'POST' :
+ $_POST[$name] = $value;
+ $_REQUEST[$name] = $value;
+ break;
+ case 'COOKIE' :
+ $_COOKIE[$name] = $value;
+ $_REQUEST[$name] = $value;
+ break;
+ case 'FILES' :
+ $_FILES[$name] = $value;
+ break;
+ case 'ENV' :
+ $_ENV['name'] = $value;
+ break;
+ case 'SERVER' :
+ $_SERVER['name'] = $value;
+ break;
+ }
+ return $previous;
+ }
+
+ /**
+ * Fetches and returns a request array.
+ * The default behaviour is fetching variables depending on the
+ * current request method: GET and HEAD will result in returning
+ * $_GET, POST and PUT will result in returning $_POST.
+ * You can force the source by setting the $hash parameter:
+ * post $_POST
+ * get $_GET
+ * files $_FILES
+ * cookie $_COOKIE
+ * env $_ENV
+ * server $_SERVER
+ * method via current $_SERVER['REQUEST_METHOD']
+ * default $_REQUEST
+ *
+ * @static
+ *
+ * @param string $hash to get (POST, GET, FILES, METHOD)
+ * @param int $mask Filter mask for the variable
+ *
+ * @return mixed Request hash
+ */
+ static function get($hash = 'default', $mask = 0)
+ {
+ $hash = strtoupper($hash);
+ if ($hash === 'METHOD') {
+ $hash = strtoupper($_SERVER['REQUEST_METHOD']);
+ }
+ switch ($hash) {
+ case 'GET' :
+ $input = $_GET;
+ break;
+ case 'POST' :
+ $input = $_POST;
+ break;
+ case 'FILES' :
+ $input = $_FILES;
+ break;
+ case 'COOKIE' :
+ $input = $_COOKIE;
+ break;
+ case 'ENV' :
+ $input = & $_ENV;
+ break;
+ case 'SERVER' :
+ $input = & $_SERVER;
+ break;
+ default:
+ $input = $_REQUEST;
+ break;
+ }
+ $result = XoopsRequest::_cleanVar($input, $mask);
+ // Handle magic quotes compatability
+ if (get_magic_quotes_gpc() && ($hash != 'FILES')) {
+ $result = XoopsRequest::_stripSlashesRecursive($result);
+ }
+ return $result;
+ }
+
+ /**
+ * Sets a request variable
+ *
+ * @param array $array An associative array of key-value pairs
+ * @param string $hash The request variable to set (POST, GET, FILES, METHOD)
+ * @param boolean $overwrite If true and an existing key is found, the value is overwritten, otherwise it is ingored
+ */
+ static function set($array, $hash = 'default', $overwrite = true)
+ {
+ foreach ($array as $key => $value) {
+ XoopsRequest::setVar($key, $value, $hash, $overwrite);
+ }
+ }
+
+ /**
+ * Cleans the request from script injection.
+ *
+ * @static
+ * @return void
+ */
+ static function clean()
+ {
+ XoopsRequest::_cleanArray($_FILES);
+ XoopsRequest::_cleanArray($_ENV);
+ XoopsRequest::_cleanArray($_GET);
+ XoopsRequest::_cleanArray($_POST);
+ XoopsRequest::_cleanArray($_COOKIE);
+ XoopsRequest::_cleanArray($_SERVER);
+ if (isset($_SESSION)) {
+ XoopsRequest::_cleanArray($_SESSION);
+ }
+ $REQUEST = $_REQUEST;
+ $GET = $_GET;
+ $POST = $_POST;
+ $COOKIE = $_COOKIE;
+ $FILES = $_FILES;
+ $ENV = $_ENV;
+ $SERVER = $_SERVER;
+ if (isset ($_SESSION)) {
+ $SESSION = $_SESSION;
+ }
+ foreach ($GLOBALS as $key => $value) {
+ if ($key != 'GLOBALS') {
+ unset($GLOBALS[$key]);
+ }
+ }
+ $_REQUEST = $REQUEST;
+ $_GET = $GET;
+ $_POST = $POST;
+ $_COOKIE = $COOKIE;
+ $_FILES = $FILES;
+ $_ENV = $ENV;
+ $_SERVER = $SERVER;
+ if (isset($SESSION)) {
+ $_SESSION = $SESSION;
+ }
+ }
+
+ /**
+ * Adds an array to the GLOBALS array and checks that the GLOBALS variable is not being attacked
+ *
+ * @access protected
+ *
+ * @param array $array Array to clean
+ * @param boolean $globalise True if the array is to be added to the GLOBALS
+ */
+ static function _cleanArray(&$array, $globalise = false)
+ {
+ static $banned = array('_files', '_env', '_get', '_post', '_cookie', '_server', '_session', 'globals');
+ foreach ($array as $key => $value) {
+ // PHP GLOBALS injection bug
+ $failed = in_array(strtolower($key), $banned);
+ // PHP Zend_Hash_Del_Key_Or_Index bug
+ $failed |= is_numeric($key);
+ if ($failed) {
+ exit('Illegal variable <strong>' . implode('</strong> or <strong>', $banned) . '</strong> passed to script.');
+ }
+ if ($globalise) {
+ $GLOBALS[$key] = $value;
+ }
+ }
+ }
+
+ /**
+ * Clean up an input variable.
+ *
+ * @param mixed $var The input variable.
+ * @param int $mask Filter bit mask. 1=no trim: If this flag is cleared and the
+ * input is a string, the string will have leading and trailing whitespace
+ * trimmed. 2=allow_raw: If set, no more filtering is performed, higher bits
+ * are ignored. 4=allow_html: HTML is allowed, but passed through a safe
+ * HTML filter first. If set, no more filtering is performed. If no bits
+ * other than the 1 bit is set, a strict filter is applied.
+ * @param string $type The variable type {@see JFilterInput::clean()}.
+ *
+ * @return string
+ */
+ static function _cleanVar($var, $mask = 0, $type = null)
+ {
+ // Static input filters for specific settings
+ static $noHtmlFilter = null;
+ static $safeHtmlFilter = null;
+ // If the no trim flag is not set, trim the variable
+ if (!($mask & 1) && is_string($var)) {
+ $var = trim($var);
+ }
+ // Now we handle input filtering
+ if ($mask & 2) {
+ // If the allow raw flag is set, do not modify the variable
+ } else if ($mask & 4) {
+ // If the allow html flag is set, apply a safe html filter to the variable
+ if (is_null($safeHtmlFilter)) {
+ $safeHtmlFilter = XoopsFilterInput::getInstance(null, null, 1, 1);
+ }
+ $var = $safeHtmlFilter->clean($var, $type);
+ } else {
+ // Since no allow flags were set, we will apply the most strict filter to the variable
+ if (is_null($noHtmlFilter)) {
+ $noHtmlFilter = XoopsFilterInput::getInstance( /* $tags, $attr, $tag_method, $attr_method, $xss_auto */);
+ }
+ $var = $noHtmlFilter->clean($var, $type);
+ }
+ return $var;
+ }
+
+ /**
+ * Strips slashes recursively on an array
+ *
+ * @access protected
+ *
+ * @param array $value Array of (nested arrays of) strings
+ *
+ * @return array|string The input array with stripshlashes applied to it
+ */
+ protected function _stripSlashesRecursive($value)
+ {
+ $value = is_array($value) ? array_map(array('XoopsRequest', '_stripSlashesRecursive'), $value) : stripslashes($value);
+ return $value;
+ }
+}
+
+/**
+ * XoopsFilterInput is a class for filtering input from any data source
+ * Forked from the php input filter library by: Daniel Morris <da...@ro...>
+ * Original Contributors: Gianpaolo Racca, Ghislain Picard, Marco Wandschneider, Chris Tobin and Andrew Eddie.
+ *
+ * @author Louis Landry <lou...@jo...>
+ */
+class XoopsFilterInput
+{
+ var $tagsArray; // default = empty array
+ var $attrArray; // default = empty array
+ var $tagsMethod; // default = 0
+ var $attrMethod; // default = 0
+ var $xssAuto; // default = 1
+ var $tagBlacklist = array('applet', 'body', 'bgsound', 'base', 'basefont', 'embed', 'frame', 'frameset', 'head', 'html', 'id', 'iframe', 'ilayer', 'layer', 'link', 'meta', 'name', 'object', 'script', 'style', 'title', 'xml');
+ var $attrBlacklist = array('action', 'background', 'codebase', 'dynsrc', 'lowsrc'); // also will strip ALL event handlers
+ /**
+ * Constructor for inputFilter class. Only first parameter is required.
+ *
+ * @access protected
+ *
+ * @param array $tagsArray list of user-defined tags
+ * @param array $attrArray list of user-defined attributes
+ * @param int $tagsMethod WhiteList method = 0, BlackList method = 1
+ * @param int $attrMethod WhiteList method = 0, BlackList method = 1
+ * @param int $xssAuto Only auto clean essentials = 0, Allow clean blacklisted tags/attr = 1
+ */
+ public function __construct($tagsArray = array(), $attrArray = array(), $tagsMethod = 0, $attrMethod = 0, $xssAuto = 1)
+ {
+ // Make sure user defined arrays are in lowercase
+ $tagsArray = array_map('strtolower', (array)$tagsArray);
+ $attrArray = array_map('strtolower', (array)$attrArray);
+ // Assign member variables
+ $this->tagsArray = $tagsArray;
+ $this->attrArray = $attrArray;
+ $this->tagsMethod = $tagsMethod;
+ $this->attrMethod = $attrMethod;
+ $this->xssAuto = $xssAuto;
+ }
+
+ /**
+ * Returns a reference to an input filter object, only creating it if it doesn't already exist.
+ * This method must be invoked as:
+ * <pre> $filter = & XoopsFilterInput::getInstance();</pre>
+ *
+ * @static
+ *
+ * @param array $tagsArray list of user-defined tags
+ * @param array $attrArray list of user-defined attributes
+ * @param int $tagsMethod WhiteList method = 0, BlackList method = 1
+ * @param int $attrMethod WhiteList method = 0, BlackList method = 1
+ * @param int $xssAuto Only auto clean essentials = 0, Allow clean blacklisted tags/attr = 1
+ *
+ * @return object The XoopsFilterInput object.
+ * @since 1.5
+ */
+ public function & getInstance($tagsArray = array(), $attrArray = array(), $tagsMethod = 0, $attrMethod = 0, $xssAuto = 1)
+ {
+ static $instances;
+ $sig = md5(serialize(array($tagsArray, $attrArray, $tagsMethod, $attrMethod, $xssAuto)));
+ if (!isset ($instances)) {
+ $instances = array();
+ }
+ if (empty ($instances[$sig])) {
+ $instances[$sig] = new XoopsFilterInput($tagsArray, $attrArray, $tagsMethod, $attrMethod, $xssAuto);
+ }
+ return $instances[$sig];
+ }
+
+ /**
+ * Method to be called by another php script. Processes for XSS and
+ * specified bad code.
+ *
+ * @access public
+ *
+ * @param mixed $source Input string/array-of-string to be 'cleaned'
+ * @param string $type Return type for the variable (INT, FLOAT, BOOLEAN, WORD, ALNUM, CMD, BASE64, STRING, ARRAY, PATH, NONE)
+ *
+ * @return mixed 'Cleaned' version of input parameter
+ * @static
+ */
+ public function clean($source, $type = 'string')
+ {
+ // Handle the type constraint
+ switch (strtoupper($type)) {
+ case 'INT' :
+ case 'INTEGER' :
+ // Only use the first integer value
+ preg_match('/-?[0-9]+/', (string)$source, $matches);
+ $result = @ (int)$matches[0];
+ break;
+ case 'FLOAT' :
+ case 'DOUBLE' :
+ // Only use the first floating point value
+ preg_match('/-?[0-9]+(\.[0-9]+)?/', (string)$source, $matches);
+ $result = @ (float)$matches[0];
+ break;
+ case 'BOOL' :
+ case 'BOOLEAN' :
+ $result = (bool)$source;
+ break;
+ case 'WORD' :
+ $result = (string)preg_replace('/[^A-Z_]/i', '', $source);
+ break;
+ case 'ALNUM' :
+ $result = (string)preg_replace('/[^A-Z0-9]/i', '', $source);
+ break;
+ case 'CMD' :
+ $result = (string)preg_replace('/[^A-Z0-9_\.-]/i', '', $source);
+ $result = ltrim($result, '.');
+ break;
+ case 'BASE64' :
+ $result = (string)preg_replace('/[^A-Z0-9\/+=]/i', '', $source);
+ break;
+ case 'STRING' :
+ // Check for static usage and assign $filter the proper variable
+ if (isset($this) && is_a($this, 'XoopsFilterInput')) {
+ $filter =& $this;
+ } else {
+ $filter = XoopsFilterInput::getInstance();
+ }
+ $result = (string)$filter->_remove($filter->_decode((string)$source));
+ break;
+ case 'ARRAY' :
+ $result = (array)$source;
+ break;
+ case 'PATH' :
+ $pattern = '/^[A-Za-z0-9_-]+[A-Za-z0-9_\.-]*([\\\/][A-Za-z0-9_-]+[A-Za-z0-9_\.-]*)*$/';
+ preg_match($pattern, (string)$source, $matches);
+ $result = @ (string)$matches[0];
+ break;
+ case 'USERNAME' :
+ $result = (string)preg_replace('/[+ break;
+ default :
+ // Check for static usage and assign $filter the proper variable
+ if (is_object($this) && get_class($this) == 'XoopsFilterInput') {
+ $filter =& $this;
+ } else {
+ $filter = XoopsFilterInput::getInstance();
+ }
+ // Are we dealing with an array?
+ if (is_array($source)) {
+ foreach ($source as $key => $value) {
+ // filter element for XSS and other 'bad' code etc.
+ if (is_string($value)) {
+ $source[$key] = $filter->_remove($filter->_decode($value));
+ }
+ }
+ $result = $source;
+ } else {
+ // Or a string?
+ if (is_string($source) && !empty ($source)) {
+ // filter source for XSS and other 'bad' code etc.
+ $result = $filter->_remove($filter->_decode($source));
+ } else {
+ // Not an array or string.. return the passed parameter
+ $result = $source;
+ }
+ }
+ break;
+ }
+ return $result;
+ }
+
+ /**
+ * Function to determine if contents of an attribute is safe
+ *
+ * @static
+ *
+ * @param array $attrSubSet A 2 element array for attributes name,value
+ *
+ * @return boolean True if bad code is detected
+ */
+ public function checkAttribute($attrSubSet)
+ {
+ $attrSubSet[0] = strtolower($attrSubSet[0]);
+ $attrSubSet[1] = strtolower($attrSubSet[1]);
+ return (((strpos($attrSubSet[1], 'expression') !== false) && ($attrSubSet[0]) == 'style') || (strpos($attrSubSet[1], 'javascript:') !== false) || (strpos($attrSubSet[1], 'behaviour:') !== false) || (strpos($attrSubSet[1], 'vbscript:') !== false) || (strpos($attrSubSet[1], 'mocha:') !== false) || (strpos($attrSubSet[1], 'livescript:') !== false));
+ }
+
+ /**
+ * Internal method to iteratively remove all unwanted tags and attributes
+ *
+ * @access protected
+ *
+ * @param string $source Input string to be 'cleaned'
+ *
+ * @return string 'Cleaned' version of input parameter
+ */
+ protected function _remove($source)
+ {
+ $loopCounter = 0;
+ // Iteration provides nested tag protection
+ while ($source != $this->_cleanTags($source)) {
+ $source = $this->_cleanTags($source);
+ $loopCounter++;
+ }
+ return $source;
+ }
+
+ /**
+ * Internal method to strip a string of certain tags
+ *
+ * @access protected
+ *
+ * @param string $source Input string to be 'cleaned'
+ *
+ * @return string 'Cleaned' version of input parameter
+ */
+ protected function _cleanTags($source)
+ {
+ /*
+ * In the beginning we don't really have a tag, so everything is
+ * postTag
+ */
+ $preTag = null;
+ $postTag = $source;
+ // Is there a tag? If so it will certainly start with a '<'
+ $tagOpen_start = strpos($source, '<');
+ while ($tagOpen_start !== false) {
+ // Get some information about the tag we are processing
+ $preTag .= substr($postTag, 0, $tagOpen_start);
+ $postTag = substr($postTag, $tagOpen_start);
+ $fromTagOpen = substr($postTag, 1);
+ $tagOpen_end = strpos($fromTagOpen, '>');
+ // Let's catch any non-terminated tags and skip over them
+ if ($tagOpen_end === false) {
+ $postTag = substr($postTag, $tagOpen_start + 1);
+ $tagOpen_start = strpos($postTag, '<');
+ continue;
+ }
+ // Do we have a nested tag?
+ $tagOpen_nested = strpos($fromTagOpen, '<');
+ if (($tagOpen_nested !== false) && ($tagOpen_nested < $tagOpen_end)) {
+ $preTag .= substr($postTag, 0, ($tagOpen_nested + 1));
+ $postTag = substr($postTag, ($tagOpen_nested + 1));
+ $tagOpen_start = strpos($postTag, '<');
+ continue;
+ }
+ // Lets get some information about our tag and setup attribute pairs
+ $currentTag = substr($fromTagOpen, 0, $tagOpen_end);
+ $tagLength = strlen($currentTag);
+ $tagLeft = $currentTag;
+ $attrSet = array();
+ $currentSpace = strpos($tagLeft, ' ');
+ // Are we an open tag or a clo...
[truncated message content] |
|
From: <txm...@us...> - 2013-08-24 15:52:49
|
Revision: 11971
http://sourceforge.net/p/xoops/svn/11971
Author: txmodxoops
Date: 2013-08-24 15:52:40 +0000 (Sat, 24 Aug 2013)
Log Message:
-----------
Added files:
errorpage.php,
class/pagenav.php,
language/english/errors.php,
system/templates/system_barsocials.html,
system/templates/system_errorpage.html,
system/templates/system_fbcomments.html,
system/templates/system_pagenav.html,
Modified files:
system/xoops_version.php updated to version 2.11
To responsive bootstrap design
Modified Paths:
--------------
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/class/pagenav.php
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_pagenav.html
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/xoops_version.php
Added Paths:
-----------
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/errorpage.php
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/language/
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/language/english/
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/language/english/errors.php
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_barsocials.html
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_errorpage.html
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_fbcomments.html
Modified: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/class/pagenav.php
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/class/pagenav.php 2013-08-24 14:20:57 UTC (rev 11970)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/class/pagenav.php 2013-08-24 15:52:40 UTC (rev 11971)
@@ -198,7 +198,7 @@
$xoopsTpl->assign('pagination_select', true);
$xoopsTpl->assign('showbutton', $showbutton);
$xoopsTpl->assign('align', ' pagination-' . $align);
- $ret = $xoopsTpl->fetch('module:system|system_pagenav.html');
+ $ret = $xoopsTpl->fetch('db:system_pagenav.html');
$xoopsTpl->clear_assign('xo_select');
return $ret;
}
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/errorpage.php
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/errorpage.php (rev 0)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/errorpage.php 2013-08-24 15:52:40 UTC (rev 11971)
@@ -0,0 +1,83 @@
+<?php
+/*
+ * You may not change or alter any portion of this comment or credits
+ * of supporting developers from this source code or any supporting source code
+ * which is considered copyrighted (c) material of the original comment or credit authors.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * HOW TO INSTALL THE SCRIPT:
+ *
+ * Copy and paste this whole script into your root.
+ * Add the following lines to your .htaccess file (change the location of your error page, if needed):
+ * ErrorDocument 400 /errorpage.php?error=400
+ * ErrorDocument 401 /errorpage.php?error=401
+ * ErrorDocument 403 /errorpage.php?error=403
+ * ErrorDocument 404 /errorpage.php?error=404
+ * ErrorDocument 500 /errorpage.php?error=500
+ *
+ * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
+ * @copyright The TXNod XOOPS Project http://sourceforge.net/projects/txmodxoops/
+ * @license http://www.fsf.org/copyleft/gpl.html GNU public license
+ * @package core
+ * @since 2.5.2
+ * @author TXMod Xoops <web...@tx...>
+ * @version $Id: errorpage.php 0005 2011-08-04 10:25:28Z timgno $
+ */
+
+include dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mainfile.php';
+$xoopsOption['show_cblock'] = 0;
+$xoopsOption['template_main'] = 'db:system_errorpage.html';
+include $GLOBALS['xoops']->path('header.php');
+xoops_loadLanguage('errors');
+// Error code
+$error = '';
+if(isset($_GET['error']))
+ $error = $_GET['error'];
+// $errortitle = in language pack (errors.php)
+// $errordesc = in language pack (errors.php)
+// switch different error messages
+switch ($error) {
+ // Error 400 - Bad Request
+ case 400:
+ $errortitle = _XO_ER_TITLE400;
+ $errordesc = _XO_ER_DESC400;
+ break;
+
+ // Error 401 - Authorization Required
+ case 401:
+ $errortitle = _XO_ER_TITLE401;
+ $errordesc = _XO_ER_DESC401;
+ break;
+ // Error 403 - Access Forbidden
+ case 403:
+ $errortitle = _XO_ER_TITLE403;
+ $errordesc = _XO_ER_DESC403;
+ break;
+ // Error 404 - Page Not Found
+ case 404:
+ $errortitle = _XO_ER_TITLE404;
+ $errordesc = _XO_ER_DESC404;
+ break;
+ // Error 500 - Server Configuration Error
+ case 500:
+ $errortitle = _XO_ER_TITLE500;
+ $errordesc = _XO_ER_DESC500;
+ break;
+ // Unknown error
+ default:
+ $errortitle = _XO_ER_TITLE;
+ $errordesc = _XO_ER_DESC;
+ break;
+}
+
+$array_keys = explode(" ", $errortitle);
+$keywords = implode(",", $array_keys);
+$xoTheme->addMeta('meta', 'keywords', $keywords);
+$xoTheme->addMeta('meta', 'description', $errordesc);
+// Display error
+$xoopsTpl->assign('errortitle', $errortitle);
+$xoopsTpl->assign('errordesc', $errordesc);
+
+include $GLOBALS['xoops']->path('footer.php');
\ No newline at end of file
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/language/english/errors.php
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/language/english/errors.php (rev 0)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/language/english/errors.php 2013-08-24 15:52:40 UTC (rev 11971)
@@ -0,0 +1,22 @@
+<?php
+// _LANGCODE: en
+// _CHARSET : UTF-8
+// Translator: XOOPS Translation Team
+define('_XO_ER_FILENOTFOUND','Requested file: <b>%s</b> was not found ');
+define('_XO_ER_CLASSNOTFOUND','Requested class %s was not found');
+// Error Pages by TXMod Xoops
+define ('_XO_ER_TITLE', 'Error not classified (Not Classified)');
+define ('_XO_ER_DESC', 'Sorry, but this error has not been classified.');
+define ('_XO_ER_TITLE400', 'Error 400 - Bad Request (Bad Request)');
+define ('_XO_ER_DESC400', 'Sorry, we made a request was incorrect.');
+define ('_XO_ER_TITLE401', 'Error 401 - Authorization Required (Authorization required)');
+define ('_XO_ER_DESC401', 'Sorry, but access to the requested page is forbidden, necessary authorization.');
+define ('_XO_ER_TITLE403', 'Error 403 - Forbidden (Forbidden)');
+define ('_XO_ER_DESC403', 'Sorry, but access to this page is denied.');
+define ('_XO_ER_TITLE404', 'Error 404 - Page Not Found (Not Found)');
+define ('_XO_ER_DESC404', 'Sorry, but the page requested does not exist, has been moved or has been removed. <br /> <br /> safety Make a search on the site.');
+define ('_XO_ER_TITLE500', 'Error 500 - Internal server error (Internal Server Error)');
+define ('_XO_ER_DESC500', 'Sorry, but the server is not responding at this time due to an internal error.');
+// Last translation update: 04/08/2011
+define ('_XO_ER_ALERT', 'Warning');
+define ('_XO_ER_ERROR', 'Error');
\ No newline at end of file
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_barsocials.html
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_barsocials.html (rev 0)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_barsocials.html 2013-08-24 15:52:40 UTC (rev 11971)
@@ -0,0 +1,7 @@
+<ul class="nav xo-row span8 inline">
+ <li class="fb-like" data-href="<{$xoops_mpageurl}>" data-width="150" data-layout="button_count" data-show-faces="false" data-send="true"></li>
+ <li class="fb-share"><a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.txmodxoops.org/" target="_blank">Share on Facebook</a></li>
+ <li class="twitter-share"><a href="<{$xoops_mpageurl}>" class="twitter-share-button" data-related="jasoncosta" data-lang="<{$xoops_langcode}>" data-size="medium" data-count="horizontal">Tweet</a></li>
+ <li class="g-plus" data-action="share" data-annotation="bubble" data-href="<{$xoops_mpageurl}>"></li>
+</ul>
+<hr class="clear" />
\ No newline at end of file
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_errorpage.html
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_errorpage.html (rev 0)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_errorpage.html 2013-08-24 15:52:40 UTC (rev 11971)
@@ -0,0 +1,8 @@
+<div class='ui-widget'>
+ <div class="alert alert-error" style='padding: 0 1.7em;'>
+ <p style='padding: 2.0em;'><span class='ui-icon ui-icon-alert' style='float: left; margin-right: .5em;'></span>
+ <strong><{$smarty.const._XO_ER_ALERT}></strong>: <{$errortitle}></p>
+ </div>
+ <div class='errorContent'><{$errordesc}></div>
+ <p><a href='javascript:history.go(-1)'><{$smarty.const._BACK}></a></p>
+</div>
\ No newline at end of file
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_fbcomments.html
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_fbcomments.html (rev 0)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_fbcomments.html 2013-08-24 15:52:40 UTC (rev 11971)
@@ -0,0 +1,4 @@
+<div id="fb-comments">
+ <div class="fb-comments"><fb:comments href="<{$xoops_mpageurl}>" num_posts="2" width="320"></fb:comments></div>
+ <div class="clear"></div>
+</div>
\ No newline at end of file
Modified: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_pagenav.html
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_pagenav.html 2013-08-24 14:20:57 UTC (rev 11970)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/templates/system_pagenav.html 2013-08-24 15:52:40 UTC (rev 11971)
@@ -1,45 +1,45 @@
-<{if $pagination_nav}>
-<div class="pagination<{$size}><{$align}>">
- <ul>
- <{if $prev_text}>
- <li><a href="<{$prev_url}>"><{$prev_text}></a></li>
- <{/if}>
- <{if $first == 1}>
- <li>
- <a href="<{$first_url}>"><{$first_text}></a>
- </li>
- <{/if}>
- <{foreach item=nav from=$xo_nav}>
- <li <{if $nav.active == 0}>class="disabled"<{/if}>>
- <a href="<{$nav.url}>"><{$nav.text}></a>
- </li>
- <{/foreach}>
- <{if $last == 1}>
- <li>
- <a href="<{$last_url}>"><{$last_text}></a>
- </li>
- <{/if}>
- <{if $next_text}>
- <li><a href="<{$next_url}>"><{$next_text}></a></li>
- <{/if}>
- </ul>
-</div>
-<{/if}>
-<{if $pagination_select}>
-<div class="pagination<{$align}>">
- <form class="form-inline" action="" name="pagenavform">
- <{if $showbutton == 1}>
- <div class="input-append">
- <{/if}>
- <select class="input-small" id="appendedSelectButton" name="pagenavselect" onchange="<{$onchange}>">
- <{foreach item=select from=$xo_select}>
- <option value="<{$select.value}>" <{if $select.selected == 1}>selected="selected"<{/if}>><{$select.text}></option>
- <{/foreach}>
- </select>
- <{if $showbutton == 1}>
- <button class="btn" type="submit"><{$smarty.const._GO}></button>
- </div>
- <{/if}>
- </form>
-</div>
+<{if $pagination_nav}>
+<div class="pagination<{$size}><{$align}>">
+ <ul>
+ <{if $prev_text}>
+ <li class="previous"><a href="<{$prev_url}>"><{$prev_text}></a></li>
+ <{/if}>
+ <{if $first == 1}>
+ <li>
+ <a href="<{$first_url}>"><{$first_text}></a>
+ </li>
+ <{/if}>
+ <{foreach item=nav from=$xo_nav}>
+ <li <{if $nav.active == 0}>class="disabled"<{/if}>>
+ <a href="<{$nav.url}>"><{$nav.text}></a>
+ </li>
+ <{/foreach}>
+ <{if $last == 1}>
+ <li>
+ <a href="<{$last_url}>"><{$last_text}></a>
+ </li>
+ <{/if}>
+ <{if $next_text}>
+ <li class="next"><a href="<{$next_url}>"><{$next_text}></a></li>
+ <{/if}>
+ </ul>
+</div>
+<{/if}>
+<{if $pagination_select}>
+<div class="pagination<{$align}>">
+ <form class="form-inline" action="" name="pagenavform">
+ <{if $showbutton == 1}>
+ <div class="input-append">
+ <{/if}>
+ <select class="input-small" id="appendedSelectButton" name="pagenavselect" onchange="<{$onchange}>">
+ <{foreach item=select from=$xo_select}>
+ <option value="<{$select.value}>" <{if $select.selected == 1}>selected="selected"<{/if}>><{$select.text}></option>
+ <{/foreach}>
+ </select>
+ <{if $showbutton == 1}>
+ <button class="btn" type="submit"><{$smarty.const._GO}></button>
+ </div>
+ <{/if}>
+ </form>
+</div>
<{/if}>
\ No newline at end of file
Modified: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/xoops_version.php
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/xoops_version.php 2013-08-24 14:20:57 UTC (rev 11970)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/modules/system/xoops_version.php 2013-08-24 15:52:40 UTC (rev 11971)
@@ -30,10 +30,10 @@
// ------------------------------------------------------------------------- //
$modversion['name'] = _MI_SYSTEM_NAME;
-$modversion['version'] = 2.10;
+$modversion['version'] = 2.11;
$modversion['description'] = _MI_SYSTEM_DESC;
$modversion['author'] = '';
-$modversion['credits'] = 'The XOOPS Project; MusS, Kraven30, Mage';
+$modversion['credits'] = 'The XOOPS Project; MusS, Kraven30, Mage, Timgno';
$modversion['help'] = 'system.html';
$modversion['license'] = "GPL see LICENSE";
$modversion['official'] = 1;
@@ -68,6 +68,9 @@
$modversion['templates'][] = array( 'file' => 'system_banner.html', 'description' => '' );
$modversion['templates'][] = array( 'file' => 'system_bannerdisplay.html', 'description' => '' );
$modversion['templates'][] = array( 'file' => 'system_pagenav.html', 'description' => '' );
+$modversion['templates'][] = array( 'file' => 'system_barsocials.html', 'description' => '' );
+$modversion['templates'][] = array( 'file' => 'system_fbcomments.html', 'description' => '' );
+$modversion['templates'][] = array( 'file' => 'system_errorpage.html', 'description' => '' );
// Admin Templates
$modversion['templates'][] = array( 'file' => 'system_header.html', 'description' => '', 'type' => 'admin' );
|
|
From: <txm...@us...> - 2013-09-09 13:53:15
|
Revision: 12014
http://sourceforge.net/p/xoops/svn/12014
Author: txmodxoops
Date: 2013-09-09 13:53:12 +0000 (Mon, 09 Sep 2013)
Log Message:
-----------
Updated errorpage.php
Compatible to CSS Version 3 and W3C Validator xoops.css and xoops.min.css
Modified Paths:
--------------
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/errorpage.php
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/xoops.min.css
Added Paths:
-----------
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/xoops.css
Modified: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/errorpage.php
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/errorpage.php 2013-09-09 02:30:14 UTC (rev 12013)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/errorpage.php 2013-09-09 13:53:12 UTC (rev 12014)
@@ -71,9 +71,7 @@
$errordesc = _XO_ER_DESC;
break;
}
-
-$array_keys = explode(" ", $errortitle);
-$keywords = implode(",", $array_keys);
+$keywords = str_replace(" ", ", ", $errortitle);
$xoTheme->addMeta('meta', 'keywords', $keywords);
$xoTheme->addMeta('meta', 'description', $errordesc);
// Display error
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/xoops.css
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/xoops.css (rev 0)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/xoops.css 2013-09-09 13:53:12 UTC (rev 12014)
@@ -0,0 +1,1186 @@
+/*
+ * Compatible to CSS Version 3 and W3C Validator
+ * $Id: xoops.css 12012 2013-09-09 12:24:59Z timgno $
+ */
+/*=== FORMAT BASIC ELEMENTS, can be overwritten in theme styles ===*/
+table {
+ width: 100%;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+strong, b, dfn {
+ font-weight: bold;
+}
+
+u {
+ text-decoration: underline;
+}
+
+i, em {
+ font-style: italic;
+}
+
+del {
+ text-decoration: line-through;
+}
+
+sup {
+ vertical-align: text-top;
+}
+
+sub {
+ vertical-align: text-bottom;
+}
+
+ins {
+ text-decoration: none;
+}
+
+img {
+ border: 0;
+}
+
+img.center {
+ text-align: center;
+ margin: 6px auto;
+ display: block;
+ margin-bottom: 4px;
+}
+
+img.left {
+ text-align: left;
+ float: left;
+ margin: 2px 6px 2px 0;
+ clear: left;
+}
+
+img.right {
+ float: right;
+ text-align: right;
+ margin: 2px 0 2px 6px;
+ clear: right;
+}
+
+acronym, abbr, dfn {
+ cursor: help;
+}
+
+pre {
+ overflow: auto;
+}
+
+#xoopsHiddenText {
+ visibility: hidden;
+ background-color: transparent;
+ color: #000;
+ font-weight: normal;
+ font-style: normal;
+ text-decoration: none;
+}
+
+.pagneutral {
+ font-size: 10px;
+ width: 16px;
+ height: 19px;
+ text-align: center;
+ background-image: url(./images/pagneutral.gif);
+}
+
+.pagact {
+ font-size: 10px;
+ width: 16px;
+ height: 19px;
+ text-align: center;
+ background-image: url(./images/pagact.gif);
+}
+
+.paginact {
+ font-size: 10px;
+ width: 16px;
+ height: 19px;
+ text-align: center;
+ background-image: url(./images/paginact.gif);
+}
+
+.xoops-form-element-caption .caption-marker {
+ display: none;
+}
+
+.xoops-form-element-caption-required .caption-marker {
+ background-color: inherit;
+ padding-left: 2px;
+ color: #ff0000;
+}
+
+.xoops-form-element-help {
+ font-size: 0.9em;
+ padding-top: 5px;
+ font-weight: normal;
+}
+
+fieldset {
+ border: 0;
+}
+
+input, textarea, select {
+ background-color: #fff;
+ color: #000;
+}
+
+input [ type = "submit" ], input [ type = "reset" ], input [ type = "button" ], .xo-formbuttons, .formButton, button {
+ background-color: #D3D2D6;
+ color: #405A80;
+ padding: 3px;
+}
+
+#xo-fixbanner a {
+ display: block;
+ position: absolute;
+ z-index: 102;
+ width: 468px;
+ height: 60px;
+}
+
+div.jGrowl {
+ padding: 1em;
+ z-index: 9999;
+}
+
+body > div.jGrowl {
+ position: fixed;
+}
+
+body > div.jGrowl .top-right {
+ right: 25%;
+ left: 25%;
+ top: 2px;
+}
+
+body > div.jGrowl .bottom-left {
+ left: 0;
+ bottom: 0;
+}
+
+body > div.jGrowl .bottom-right {
+ right: 0;
+ bottom: 0;
+}
+
+body > div.jGrowl .center {
+ top: 0;
+ width: 50%;
+ left: 25%;
+}
+
+body > div.jGrowl .top-left {
+ left: 0;
+ top: 0;
+}
+
+div.center div.jGrowl-notification, div.center div.jGrowl-closer {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
+ background-color: #EBFBFE;
+ color: #000080;
+ width: 100%;
+ padding: 0.5em;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ font-family: Tahoma, Geneva, sans-serif;
+ font-size: 1.2em;
+ text-align: center;
+ border: #6699FF solid 1px;
+ display: none;
+ border-radius: 5px;
+}
+
+div.jGrowl div.jGrowl-notification {
+ min-height: 40px;
+}
+
+div.jGrowl div.jGrowl-notification div.jGrowl-header {
+ font-weight: bold;
+ font-size: 10px;
+}
+
+div.jGrowl div.jGrowl-notification div.jGrowl-close {
+ float: right;
+ font-weight: bold;
+ font-size: 12px;
+ cursor: pointer;
+}
+
+div.jGrowl div.jGrowl-closer {
+ height: 15px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ cursor: pointer;
+ font-size: 11px;
+ font-weight: bold;
+ text-align: center;
+}
+
+.floatleft {
+ float: left;
+ margin: 0;
+ padding-left: 4px;
+ border: 0;
+}
+
+.floatright {
+ float: right;
+ margin: 0;
+ padding: 2px;
+ border: 0;
+}
+
+.floatcenter0 {
+ margin: 0 auto;
+}
+
+.floatcenter1 {
+ margin: 1em auto;
+}
+
+.clear {
+ clear: both;
+ height: 0;
+ font-size: 0;
+ line-height: 0;
+}
+
+.clearleft {
+ clear: left;
+ height: 0;
+ font-size: 0;
+ line-height: 0;
+}
+
+.clearright {
+ clear: right;
+ height: 0;
+ font-size: 0;
+ line-height: 0;
+}
+
+.block {
+ display: block;
+}
+
+.inline {
+ display: inline;
+}
+
+.blockinline {
+ display: inline-block;
+}
+
+.left, .txtleft {
+ text-align: left;
+}
+
+.right, .txtright {
+ text-align: right;
+}
+
+.center, .txtcenter {
+ text-align: center;
+}
+
+.justify, .txtjustify {
+ text-align: justify;
+}
+
+.middle, .alignmiddle {
+ vertical-align: middle;
+}
+
+.top, .aligntop {
+ vertical-align: top;
+}
+
+.bottom, .alignbottom {
+ vertical-align: bottom;
+}
+
+.positop {
+ margin-top: 0;
+ padding-top: 0;
+}
+
+.posibottom {
+ margin-bottom: 0;
+ padding-bottom: 0;
+}
+
+.table {
+ display: table;
+}
+
+.tcaption1 {
+ display: block;
+ width: 100%;
+}
+
+.tcaption2 {
+ display: block;
+ width: 200%;
+}
+
+.tcaption3 {
+ display: block;
+ width: 300%;
+}
+
+.tcaption4 {
+ display: block;
+ width: 400%;
+}
+
+.tcaption5 {
+ display: block;
+ width: 500%;
+}
+
+.tcaption6 {
+ display: block;
+ width: 600%;
+}
+
+.tbody {
+ display: table-row-group;
+}
+
+.trow {
+ display: table-row;
+}
+
+.tcell {
+ display: table-cell;
+}
+
+.tfootend {
+ width: auto;
+}
+
+.collapse {
+ border-collapse: collapse;
+}
+
+.separate {
+ border-collapse: separate;
+}
+
+.bspacing1 {
+ border-spacing: 1px;
+}
+
+.bspacing2 {
+ border-spacing: 2px;
+}
+
+.bspacing3 {
+ border-spacing: 3px;
+}
+
+.bspacing4 {
+ border-spacing: 4px;
+}
+
+.bspacing5 {
+ border-spacing: 5px;
+}
+
+.bspacing10 {
+ border-spacing: 10px;
+}
+
+.widthauto {
+ width: auto;
+}
+
+.width100 {
+ width: 100%;
+}
+
+.width90 {
+ width: 90%;
+}
+
+.width80 {
+ width: 80%;
+}
+
+.width75 {
+ width: 75%;
+}
+
+.width70 {
+ width: 70%;
+}
+
+.width66 {
+ width: 66.6%;
+}
+
+.width60 {
+ width: 60%;
+}
+
+.width50 {
+ width: 49%;
+}
+
+.width45 {
+ width: 45%;
+}
+
+.width40 {
+ width: 40%;
+}
+
+.width33 {
+ width: 33.3%;
+}
+
+.width30 {
+ width: 30%;
+}
+
+.width25 {
+ width: 25%;
+}
+
+.width20 {
+ width: 20%;
+}
+
+.width15 {
+ width: 15%;
+}
+
+.width10 {
+ width: 10%;
+}
+
+.width5 {
+ width: 5%;
+}
+
+.width3 {
+ width: 3%;
+}
+
+.width2 {
+ width: 2%;
+}
+
+.width1 {
+ width: 1%;
+}
+
+.pad2 {
+ padding: 2px;
+}
+
+.pad3 {
+ padding: 3px;
+}
+
+.pad5 {
+ padding: 5px;
+}
+
+.pad7 {
+ padding: 7px;
+}
+
+.pad10 {
+ padding: 10px;
+}
+
+.marg2 {
+ margin: 2px;
+}
+
+.marg3 {
+ margin: 3px;
+}
+
+.marg5 {
+ margin: 5px;
+}
+
+.marg7 {
+ margin: 8px;
+}
+
+.marg10 {
+ margin: 10px;
+}
+
+.verysmall, .xx-small {
+ font-size: 0.7em;
+}
+
+.smallsmall, .x-small {
+ font-size: 0.8em;
+}
+
+.small {
+ font-size: 0.92em;
+}
+
+.normal {
+ font-size: 1em;
+}
+
+.big {
+ font-size: 1.17em;
+}
+
+.maxi {
+ font-size: 1.5em;
+}
+
+.bold {
+ font-weight: bold;
+}
+
+.bolder {
+ font-weight: bolder;
+}
+
+.lighter {
+ font-weight: lighter;
+}
+
+.normal {
+ font-weight: normal;
+ font-style: normal;
+}
+
+.italic {
+ font-style: italic;
+}
+
+.oblique {
+ font-style: oblique;
+}
+
+.underline {
+ text-decoration: underline;
+}
+
+.expanded {
+ letter-spacing: 0.5em;
+}
+
+.condensed {
+ letter-spacing: -0.1em;
+}
+
+.uppercase {
+ text-transform: uppercase;
+}
+
+.lowercase {
+ text-transform: lowercase;
+}
+
+.capitalize {
+ text-transform: capitalize;
+}
+
+.line100 {
+ line-height: 1em;
+}
+
+.line120 {
+ line-height: 1.2em;
+}
+
+.line140 {
+ line-height: 1.4em;
+}
+
+.line160 {
+ line-height: 1.6em;
+}
+
+.line170 {
+ line-height: 1.7em;
+}
+
+.line180 {
+ line-height: 1.8em;
+}
+
+.line200 {
+ line-height: 2em;
+}
+
+.line220 {
+ line-height: 2.2em;
+}
+
+.line240 {
+ line-height: 2.4em;
+}
+
+.red {
+ background-color: transparent;
+ color: #ff0000;
+}
+
+.blue {
+ background-color: transparent;
+ color: #0000ff;
+}
+
+.black {
+ background-color: transparent;
+ color: #000;
+}
+
+.white {
+ background-color: transparent;
+ color: #fff;
+}
+
+.yellow {
+ background-color: transparent;
+ color: #ffff00;
+}
+
+.orange {
+ background-color: transparent;
+ color: #ffa500;
+}
+
+.green {
+ background-color: transparent;
+ color: #008000;
+}
+
+.silver {
+ background-color: transparent;
+ color: #c0c0c0;
+}
+
+.hide {
+ display: none;
+}
+
+.hidden {
+ visibility: hidden;
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+
+.spacer {
+ padding: 0 0 3px 0;
+}
+
+.separator {
+ clear: both;
+ float: left;
+ height: 1px;
+ width: 100%;
+}
+
+.cursordefault {
+ cursor: default;
+}
+
+.cursormove {
+ cursor: move;
+}
+
+.cursorpointer {
+ cursor: pointer;
+}
+
+.cursorhelp {
+ cursor: help;
+}
+
+.opac5 {
+ opacity: 0.5 !important ;
+}
+
+.opac5:hover {
+ opacity: 1 !important ;
+}
+
+.opac7 {
+ opacity: 0.699999988079071044921875 !important ;
+}
+
+.opac7:hover {
+ opacity: 1 !important ;
+}
+
+.opac1 {
+ opacity: 1 !important ;
+}
+
+.opac1:hover {
+ opacity: 0.5 !important ;
+}
+
+.bradius3 {
+ border-radius: 3px;
+}
+
+.bradius5 {
+ border-radius: 5px;
+}
+
+.bradius10 {
+ border-radius: 10px;
+}
+
+.bradius15 {
+ border-radius: 15px;
+}
+
+.bnone {
+ border: 0;
+}
+
+.border {
+ border: #000 solid 1px;
+}
+
+.dotted {
+ border: #000 dotted 1px;
+}
+
+.dashed {
+ border: #000 dashed 1px;
+}
+
+.solidblack {
+ border: #000 solid 1px;
+}
+
+.solidwhite {
+ border: #fff solid 1px;
+}
+
+.solidred {
+ border: #ff0000 solid 1px;
+}
+
+.solidyellow {
+ border: #ffff00 solid 1px;
+}
+
+.solidblue {
+ border: #0000ff solid 1px;
+}
+
+.solidorange {
+ border: #ffa500 solid 1px;
+}
+
+.solidgreen {
+ border: #008000 solid 1px;
+}
+
+.solidbrown {
+ border: #a52a2a solid 1px;
+}
+
+.solidsilver {
+ border: #c0c0c0 solid 1px;
+}
+
+.dottedblack {
+ border: #000 dotted 1px;
+}
+
+.dottedwhite {
+ border: #fff dotted 1px;
+}
+
+.dottedred {
+ border: #ff0000 dotted 1px;
+}
+
+.dottedyellow {
+ border: #ffff00 dotted 1px;
+}
+
+.dottedblue {
+ border: #0000ff dotted 1px;
+}
+
+.dottedorange {
+ border: #ffa500 dotted 1px;
+}
+
+.dottedgreen {
+ border: #008000 dotted 1px;
+}
+
+.dottedbrown {
+ border: #a52a2a dotted 1px;
+}
+
+.dottedsilver {
+ border: #c0c0c0 dotted 1px;
+}
+
+.dashedblack {
+ border: #000 dashed 1px;
+}
+
+.dashedwhite {
+ border: #fff dashed 1px;
+}
+
+.dashedred {
+ border: #ff0000 dashed 1px;
+}
+
+.dashedyellow {
+ border: #ffff00 dashed 1px;
+}
+
+.dashedblue {
+ border: #0000ff dashed 1px;
+}
+
+.dashedorange {
+ border: #ffa500 dashed 1px;
+}
+
+.dashedgreen {
+ border: #008000 dashed 1px;
+}
+
+.dashedbrown {
+ border: #a52a2a dashed 1px;
+}
+
+.dashedsilver {
+ border: #c0c0c0 dashed 1px;
+}
+
+.doubleblack {
+ border: #000 double 4px;
+}
+
+.doublewhite {
+ border: #fff double 4px;
+}
+
+.doublered {
+ border: #ff0000 double 4px;
+}
+
+.doubleyellow {
+ border: #ffff00 double 4px;
+}
+
+.doubleblue {
+ border: #0000ff double 4px;
+}
+
+.doubleorange {
+ border: #ffa500 double 4px;
+}
+
+.doublegreen {
+ border: #008000 double 4px;
+}
+
+.doublebrown {
+ border: #a52a2a double 4px;
+}
+
+.doublesilver {
+ border: #c0c0c0 double 4px;
+}
+
+.grooveblack {
+ border: #000 groove 3px;
+}
+
+.groovewhite {
+ border: #fff groove 3px;
+}
+
+.groovered {
+ border: #ff0000 groove 3px;
+}
+
+.grooveyellow {
+ border: #ffff00 groove 3px;
+}
+
+.grooveblue {
+ border: #0000ff groove 3px;
+}
+
+.grooveorange {
+ border: #ffa500 groove 3px;
+}
+
+.groovegreen {
+ border: #008000 groove 3px;
+}
+
+.groovebrown {
+ border: #a52a2a groove 3px;
+}
+
+.groovesilver {
+ border: #c0c0c0 groove 3px;
+}
+
+.ridgeblack {
+ border: #000 ridge 3px;
+}
+
+.ridgewhite {
+ border: #fff ridge 3px;
+}
+
+.ridgered {
+ border: #ff0000 ridge 3px;
+}
+
+.ridgeyellow {
+ border: #ffff00 ridge 3px;
+}
+
+.ridgeblue {
+ border: #0000ff ridge 3px;
+}
+
+.ridgeorange {
+ border: #ffa500 ridge 3px;
+}
+
+.ridgegreen {
+ border: #008000 ridge 3px;
+}
+
+.ridgebrown {
+ border: #a52a2a ridge 3px;
+}
+
+.ridgesilver {
+ border: #c0c0c0 ridge 3px;
+}
+
+.insetblack1 {
+ border: #000 inset 1px;
+}
+
+.insetblack {
+ border: #000 inset 3px;
+}
+
+.insetwhite1 {
+ border: #fff inset 1px;
+}
+
+.insetwhite {
+ border: #fff inset 3px;
+}
+
+.insetred {
+ border: #ff0000 inset 3px;
+}
+
+.insetyellow {
+ border: #ffff00 inset 3px;
+}
+
+.insetblue {
+ border: #0000ff inset 3px;
+}
+
+.insetorange {
+ border: #ffa500 inset 3px;
+}
+
+.insetgreen {
+ border: #008000 inset 3px;
+}
+
+.insetbrown {
+ border: #a52a2a inset 3px;
+}
+
+.insetsilver1 {
+ border: #c0c0c0 inset 1px;
+}
+
+.insetsilver {
+ border: #c0c0c0 inset 3px;
+}
+
+.outsetblack1 {
+ border: #000 outset 1px;
+}
+
+.outsetblack {
+ border: #000 outset 3px;
+}
+
+.outsetwhite1 {
+ border: #fff outset 1px;
+}
+
+.outsetwhite {
+ border: #fff outset 3px;
+}
+
+.outsetred {
+ border: #ff0000 outset 3px;
+}
+
+.outsetyellow {
+ border: #ffff00 outset 3px;
+}
+
+.outsetblue {
+ border: #0000ff outset 3px;
+}
+
+.outsetorange {
+ border: #ffa500 outset 3px;
+}
+
+.outsetgreen {
+ border: #008000 outset 3px;
+}
+
+.outsetbrown {
+ border: #a52a2a outset 3px;
+}
+
+.outsetsilver1 {
+ border: #c0c0c0 outset 1px;
+}
+
+.outsetsilver {
+ border: #c0c0c0 outset 3px;
+}
+
+.arial {
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.courierNew {
+ font-family: 'Courier New', Courier, monospace;
+}
+
+.georgia {
+ font-family: Georgia, 'Times New Roman', Times, serif;
+}
+
+.lucidaConsole {
+ font-family: 'Lucida Console', Monaco, monospace;
+}
+
+.lucidaSansUnicode {
+ font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+}
+
+.tahoma {
+ font-family: Tahoma, Geneva, sans-serif;
+}
+
+.times {
+ font-family: 'Times New Roman', Times, serif;
+}
+
+.trebuchet {
+ font-family: 'Trebuchet MS', Helvetica, sans-serif;
+}
+
+.verdana {
+ font-family: Verdana, Geneva, sans-serif;
+}
+
+.msSans {
+ font-family: 'MS Sans Serif', Geneva, sans-serif;
+}
+
+.msSerif {
+ font-family: 'MS Serif', 'New York', serif;
+}
+
+.helvetica {
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
+
+.impact {
+ font-family: Impact, Charcoal, sans-serif;
+}
+
+.century {
+ font-family: 'Century Gothic', 'Lucida Grande', 'Lucida Sans Unicode', sans-serif;
+}
+
+.shadow {
+ text-shadow: 2px 2px 3px #aaa;
+}
+
+.shadowlight {
+ text-shadow: 1px 1px 2px #aaa;
+}
+
+.boxshadow {
+ box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.5);
+}
+
+.boxinset {
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.24) inset;
+}
+
+.twocolumn {
+ column-count: 2;
+ column-gap: 1.5em;
+}
+
+.threecolumn {
+ column-count: 3;
+ column-gap: 1.2em;
+}
+
+.forcolumn {
+ column-count: 4;
+ column-gap: 1.2em;
+}
+
+.column10 {
+ column-width: 10em;
+ column-gap: 1.2em;
+}
+
+.column15 {
+ column-width: 15em;
+ column-gap: 1.2em;
+}
+
+.column20 {
+ column-width: 20em;
+ column-gap: 1.2em;
+}
+
+.column25 {
+ column-width: 25em;
+ column-gap: 1.2em;
+}
\ No newline at end of file
Modified: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/xoops.min.css
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/xoops.min.css 2013-09-09 02:30:14 UTC (rev 12013)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/xoops.min.css 2013-09-09 13:53:12 UTC (rev 12014)
@@ -1,4 +1,7 @@
-/* $Id: xoops.min.css 11812 2013-07-06 23:19:19Z timgno $ */
+/*
+ * Compatible to CSS Version 3 and W3C Validator
+ * $Id: xoops.css 12012 2013-09-09 12:24:59Z timgno $
+ */
/*=== FORMAT BASIC ELEMENTS, can be overwritten in theme styles ===*/
-table{width:100%;border-collapse:collapse;border-spacing:0}del{text-decoration:line-through}sup{vertical-align:text-top}sub{vertical-align:text-bottom}ins{text-decoration:none}img.center{text-align:center;display:block;margin:6px auto 4px}img.left{text-align:left;float:left;clear:left;margin:2px 6px 2px 0}img.right{float:right;text-align:right;clear:right;margin:2px 0 2px 6px}pre{overflow:auto}#xoopsHiddenText{visibility:hidden;background-color:transparent;color:#000;font-weight:400;font-style:normal;text-decoration:none}.pagneutral{font-size:10px;width:16px;height:19px;text-align:center;background-image:url(./images/pagneutral.gif)}.pagact{font-size:10px;width:16px;height:19px;text-align:center;background-image:url(./images/pagact.gif)}.paginact{font-size:10px;width:16px;height:19px;text-align:center;background-image:url(./images/paginact.gif)}.xoops-form-element-caption-required .caption-marker{background-color:inherit;padding-left:2px;color:red}.xoops-form-element-help{font-size:.9em;padding-top:5px;font-weight:400}input,textarea,select{background-color:#fff;color:#000}input[type=submit],input[type=reset],input[type=button],.xo-formbuttons,.formButton,button{background-color:#d3d2d6;color:#405a80;padding:3px}#xo-fixbanner a{display:block;position:absolute;z-index:102;width:468px;height:60px}div.jGrowl{z-index:9999;padding:1em}body>div.jGrowl{position:fixed}body>div.jGrowl.top-right{right:25%;left:25%;top:2px}body>div.jGrowl.bottom-left{left:0;bottom:0}body>div.jGrowl.bottom-right{right:0;bottom:0}body>div.jGrowl.center{top:0;width:50%;left:25%}body>div.jGrowl.top-left{left:0;top:0}div.center div.jGrowl-notification,div.center div.jGrowl-closer{margin-left:auto;margin-right:auto}div.jGrowl div.jGrowl-notification,div.jGrowl div.jGrowl-closer{background-color:#ebfbfe;color:navy;width:100%;margin-top:.5em;margin-bottom:.5em;font-family:Tahoma,Geneva,sans-serif;font-size:1.2em;text-align:center;border:1px solid #69F;display:none;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px;padding:.5em}div.jGrowl div.jGrowl-notification{min-height:40px}div.jGrowl div.jGrowl-notification div.jGrowl-header{font-weight:700;font-size:10px}div.jGrowl div.jGrowl-notification div.jGrowl-close{float:right;font-weight:700;font-size:12px;cursor:pointer}div.jGrowl div.jGrowl-closer{height:15px;padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:11px;font-weight:700;text-align:center}.floatleft{float:left;padding-left:4px;border:0;margin:0}.floatright{float:right;border:0;margin:0;padding:2px}.floatcenter0{margin:0 auto}.floatcenter1{margin:1em auto}.clear{clear:both;height:0;font-size:0;line-height:0}.clearleft{clear:left;height:0;font-size:0;line-height:0}.clearright{clear:right;height:0;font-size:0;line-height:0}.block{display:block}.inline{display:inline}.blockinline{display:inline-block}.left,.txtleft{text-align:left}.right,.txtright{text-align:right}.center,.txtcenter{text-align:center}.justify,.txtjustify{text-align:justify}.middle,.alignmiddle{vertical-align:middle}.top,.aligntop{vertical-align:top}.bottom,.alignbottom{vertical-align:bottom}.positop{margin-top:0;padding-top:0}.posibottom{margin-bottom:0;padding-bottom:0}.table{display:table}.tcaption1{display:block;width:100%}.tcaption2{display:block;width:200%}.tcaption3{display:block;width:300%}.tcaption4{display:block;width:400%}.tcaption5{display:block;width:500%}.tcaption6{display:block;width:600%}.tbody{display:table-row-group}.trow{display:table-row}.tcell{display:table-cell}.collapse{border-collapse:collapse}.separate{border-collapse:separate}.bspacing1{border-spacing:1px}.bspacing2{border-spacing:2px}.bspacing3{border-spacing:3px}.bspacing4{border-spacing:4px}.bspacing5{border-spacing:5px}.bspacing10{border-spacing:10px}.width100{width:100%}.width90{width:90%}.width80{width:80%}.width75{width:75%}.width70{width:70%}.width66{width:66.6%}.width60{width:60%}.width50{width:49%}.width45{width:45%}.width40{width:40%}.width33{width:33.3%}.width30{width:30%}.width25{width:25%}.width20{width:20%}.width15{width:15%}.width10{width:10%}.width5{width:5%}.width3{width:3%}.width2{width:2%}.width1{width:1%}.pad2{padding:2px}.pad3{padding:3px}.pad5{padding:5px}.pad7{padding:7px}.pad10{padding:10px}.marg2{margin:2px}.marg3{margin:3px}.marg5{margin:5px}.marg7{margin:8px}.marg10{margin:10px}.verysmall,.xx-small{font-size:.7em}.smallsmall,.x-small{font-size:.8em}.small{font-size:.92em}.normal{font-size:1em;font-weight:400;font-style:normal}.big{font-size:1.17em}.maxi{font-size:1.5em}.bolder{font-weight:bolder}.lighter{font-weight:lighter}.oblique{font-style:oblique}.expanded{letter-spacing:.5em}.condensed{letter-spacing:-.1em}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.line100{line-height:1em}.line120{line-height:1.2em}.line140{line-height:1.4em}.line160{line-height:1.6em}.line170{line-height:1.7em}.line180{line-height:1.8em}.line200{line-height:2em}.line220{line-height:2.2em}.line240{line-height:2.4em}.red{background-color:transparent;color:red}.blue{background-color:transparent;color:#00f}.black{background-color:transparent;color:#000}.white{background-color:transparent;color:#fff}.yellow{background-color:transparent;color:#ff0}.orange{background-color:transparent;color:orange}.green{background-color:transparent;color:green}.silver{background-color:transparent;color:silver}.hidden{visibility:hidden;position:absolute;top:0;left:0}.spacer{padding:0 0 3px}.separator{clear:both;float:left;height:1px;width:100%}.cursordefault{cursor:default}.cursormove{cursor:move}.cursorpointer{cursor:pointer}.opac7{opacity:.7 !important;filter:alpha(opacity=70) !important}.bradius3{border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.bradius5{border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px}.bradius10{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px}.bradius15{border-radius:15px;-moz-border-radius:15px;-webkit-border-radius:15px}.solidwhite{border:1px solid #fff}.solidred{border:1px solid red}.solidyellow{border:1px solid #ff0}.solidblue{border:1px solid #00f}.solidorange{border:1px solid orange}.solidgreen{border:1px solid green}.solidbrown{border:1px solid #a52a2a}.solidsilver{border:1px solid silver}.dottedwhite{border:1px dotted #fff}.dottedred{border:1px dotted red}.dottedyellow{border:1px dotted #ff0}.dottedblue{border:1px dotted #00f}.dottedorange{border:1px dotted orange}.dottedgreen{border:1px dotted green}.dottedbrown{border:1px dotted #a52a2a}.dottedsilver{border:1px dotted silver}.dashedwhite{border:1px dashed #fff}.dashedred{border:1px dashed red}.dashedyellow{border:1px dashed #ff0}.dashedblue{border:1px dashed #00f}.dashedorange{border:1px dashed orange}.dashedgreen{border:1px dashed green}.dashedbrown{border:1px dashed #a52a2a}.dashedsilver{border:1px dashed silver}.doubleblack{border:4px double #000}.doublewhite{border:4px double #fff}.doublered{border:4px double red}.doubleyellow{border:4px double #ff0}.doubleblue{border:4px double #00f}.doubleorange{border:4px double orange}.doublegreen{border:4px double green}.doublebrown{border:4px double #a52a2a}.doublesilver{border:4px double silver}.grooveblack{border:3px groove #000}.groovewhite{border:3px groove #fff}.groovered{border:3px groove red}.grooveyellow{border:3px groove #ff0}.grooveblue{border:3px groove #00f}.grooveorange{border:3px groove orange}.groovegreen{border:3px groove green}.groovebrown{border:3px groove #a52a2a}.groovesilver{border:3px groove silver}.ridgeblack{border:3px ridge #000}.ridgewhite{border:3px ridge #fff}.ridgered{border:3px ridge red}.ridgeyellow{border:3px ridge #ff0}.ridgeblue{border:3px ridge #00f}.ridgeorange{border:3px ridge orange}.ridgegreen{border:3px ridge green}.ridgebrown{border:3px ridge #a52a2a}.ridgesilver{border:3px ridge silver}.insetblack1{border:1px inset #000}.insetblack{border:3px inset #000}.insetwhite1{border:1px inset #fff}.insetwhite{border:3px inset #fff}.insetred{border:3px inset red}.insetyellow{border:3px inset #ff0}.insetblue{border:3px inset #00f}.insetorange{border:3px inset orange}.insetgreen{border:3px inset green}.insetbrown{border:3px inset #a52a2a}.insetsilver1{border:1px inset silver}.insetsilver{border:3px inset silver}.outsetblack1{border:1px outset #000}.outsetblack{border:3px outset #000}.outsetwhite1{border:1px outset #fff}.outsetwhite{border:3px outset #fff}.outsetred{border:3px outset red}.outsetyellow{border:3px outset #ff0}.outsetblue{border:3px outset #00f}.outsetorange{border:3px outset orange}.outsetgreen{border:3px outset green}.outsetbrown{border:3px outset #a52a2a}.outsetsilver1{border:1px outset silver}.outsetsilver{border:3px outset silver}.arial{font-family:Arial,Helvetica,sans-serif}.courierNew{font-family:'Courier New',Courier,monospace}.georgia{font-family:Georgia,'Times New Roman',Times,serif}.lucidaConsole{font-family:'Lucida Console',Monaco,monospace}.lucidaSansUnicode{font-family:'Lucida Sans Unicode','Lucida Grande',sans-serif}.tahoma{font-family:Tahoma,Geneva,sans-serif}.times{font-family:'Times New Roman',Times,serif}.trebuchet{font-family:'Trebuchet MS',Helvetica,sans-serif}.verdana{font-family:Verdana,Geneva,sans-serif}.msSans{font-family:'MS Sans Serif',Geneva,sans-serif}.msSerif{font-family:'MS Serif','New York',serif}.helvetica{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif}.impact{font-family:Impact,Charcoal,sans-serif}.century{font-family:'Century Gothic','Lucida Grande','Lucida Sans Unicode',sans-serif}.shadow{text-shadow:2px 2px 3px #aaa}.shadowlight{text-shadow:1px 1px 2px #aaa}.boxshadow{box-shadow:1px 2px 3px rgba(0,0,0,0.5);-moz-box-shadow:1px 2px 3px rgba(0,0,0,0.5);-webkit-box-shadow:1px 2px 3px rgba(0,0,0,0.5)}.boxshadow1{box-shadow:0 0 20px #787878;-webkit-box-shadow:0 0 20px #787878;-moz-box-shadow:0 0 20px #787878;filter:progid:DXImageTransform.Microsoft.Shadow(color='#bbbbbb',Direction=135,Strength=5);zoom:1}.boxrelief{box-shadow:0 20px 10px -10px rgba(255,255,255,0.3) inset;-moz-box-shadow:0 20px 10px -10px rgba(255,255,255,0.3) inset;-webkit-box-shadow:0 20px 10px -10px rgba(255,255,255,0.3) inset}.boxinset{box-shadow:0 3px 8px rgba(0,0,0,.24) inset;-moz-box-shadow:0 3px 8px rgba(0,0,0,.4) inset;-webkit-box-shadow:0 3px 8px rgba(0,0,0,.4) inset}.twocolumn{column-count:2;column-gap:1.5em;-moz-column-count:2;-moz-column-gap:1.5em;-webkit-column-count:2;-webkit-column-gap:1.5em}.threecolumn{column-count:3;column-gap:1.2em;-moz-column-count:3;-moz-column-gap:1.2em;-webkit-column-count:3;-webkit-column-gap:1.2em}.forcolumn{column-count:4;column-gap:1.2em;-moz-column-count:4;-moz-column-gap:1.2em;-webkit-column-count:4;-webkit-column-gap:1.2em}.column10{column-width:10em;column-gap:1.2em;-moz-column-width:10em;-moz-column-gap:1.2em;-webkit-column-width:10em;-webkit-column-gap:1.2em}.column15{column-width:15em;column-gap:1.2em;-moz-column-width:15em;-moz-column-gap:1.2em;-webkit-column-width:15em;-webkit-column-gap:1.2em}.column20{column-width:20em;column-gap:1.2em;-moz-column-width:20em;-moz-column-gap:1.2em;-webkit-column-width:20em;-webkit-column-gap:1.2em}.column25{column-width:25em;column-gap:1.2em;-moz-column-width:25em;-moz-column-gap:1.2em;-webkit-column-width:25em;-webkit-column-gap:1.2em}strong,b,dfn,.bold{font-weight:700}u,.underline{text-decoration:underline}i,em,.italic{font-style:italic}img,fieldset,.bnone{border:0}acronym,abbr,dfn,.cursorhelp{cursor:help}.xoops-form-element-caption .caption-marker,.hide{display:none}.tfootend,.widthauto{width:auto}.opac5,.opac1:hover{opacity:.5 !important;filter:alpha(opacity=50) !important}.opac5:hover,.opac7:hover,.opac1{opacity:1 !important;filter:alpha(opacity=100) !important}.border,.solidblack{border:1px solid #000}.dotted,.dottedblack{border:1px dotted #000}.dashed,.dashedblack{border:1px dashed #000}
\ No newline at end of file
+table{width:100%;border-collapse:collapse;border-spacing:0}strong,b,dfn{font-weight:bold}u{text-decoration:underline}i,em{font-style:italic}del{text-decoration:line-through}sup{vertical-align:text-top}sub{vertical-align:text-bottom}ins{text-decoration:none}img{border:0}img.center{text-align:center;margin:6px auto;display:block;margin-bottom:4px}img.left{text-align:left;float:left;margin:2px 6px 2px 0;clear:left}img.right{float:right;text-align:right;margin:2px 0 2px 6px;clear:right}acronym,abbr,dfn{cursor:help}pre{overflow:auto}#xoopsHiddenText{visibility:hidden;background-color:transparent;color:#000;font-weight:normal;font-style:normal;text-decoration:none}.pagneutral{font-size:10px;width:16px;height:19px;text-align:center;background-image:url(./images/pagneutral.gif)}.pagact{font-size:10px;width:16px;height:19px;text-align:center;background-image:url(./images/pagact.gif)}.paginact{font-size:10px;width:16px;height:19px;text-align:center;background-image:url(./images/paginact.gif)}.xoops-form-element-caption .caption-marker{display:none}.xoops-form-element-caption-required .caption-marker{background-color:inherit;padding-left:2px;color:red}.xoops-form-element-help{font-size:.9em;padding-top:5px;font-weight:normal}fieldset{border:0}input,textarea,select{background-color:#fff;color:#000}input[type="submit"],input[type="reset"],input[type=...
[truncated message content] |
|
From: <txm...@us...> - 2014-07-01 14:18:22
|
Revision: 12667
http://sourceforge.net/p/xoops/svn/12667
Author: txmodxoops
Date: 2014-07-01 14:18:13 +0000 (Tue, 01 Jul 2014)
Log Message:
-----------
Added frameworks/moduleclasses/icons/ 32 & 16 folder default.png
Added Paths:
-----------
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/16/
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/16/default.png
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/32/
XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/32/default.png
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/16/default.png
===================================================================
(Binary files differ)
Index: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/16/default.png
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/16/default.png 2014-06-30 10:02:07 UTC (rev 12666)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/16/default.png 2014-07-01 14:18:13 UTC (rev 12667)
Property changes on: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/16/default.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/32/default.png
===================================================================
(Binary files differ)
Index: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/32/default.png
===================================================================
--- XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/32/default.png 2014-06-30 10:02:07 UTC (rev 12666)
+++ XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/32/default.png 2014-07-01 14:18:13 UTC (rev 12667)
Property changes on: XoopsCore/branches/2.5.x/2.5.7_timgno/htdocs/Frameworks/moduleclasses/icons/32/default.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
|