Merged recent changes and tweaked multi-env changes.
diff --git a/system/cache/.htaccess b/application/cache/.htaccess
similarity index 100%
rename from system/cache/.htaccess
rename to application/cache/.htaccess
diff --git a/application/config/test/index.html b/application/cache/index.html
similarity index 100%
rename from application/config/test/index.html
rename to application/cache/index.html
diff --git a/application/config/config.php b/application/config/config.php
index 5c6cc0a..dc029a9 100644
--- a/application/config/config.php
+++ b/application/config/config.php
@@ -286,9 +286,15 @@
| Enables a CSRF cookie token to be set. When set to TRUE, token will be
| checked on a submitted form. If you are accepting user data, it is strongly
| recommended CSRF protection be enabled.
+|
+| 'csrf_token_name' = The token name
+| 'csrf_cookie_name' = The cookie name
+| 'csrf_expire' = The number in seconds the token should expire.
*/
$config['csrf_protection'] = FALSE;
-
+$config['csrf_token_name'] = 'csrf_test_name';
+$config['csrf_cookie_name'] = 'csrf_cookie_name';
+$config['csrf_expire'] = 7200;
/*
|--------------------------------------------------------------------------
diff --git a/application/config/development/index.html b/application/config/development/index.html
deleted file mode 100644
index c942a79..0000000
--- a/application/config/development/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
- <title>403 Forbidden</title>
-</head>
-<body>
-
-<p>Directory access is forbidden.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/application/config/mimes.php b/application/config/mimes.php
index 3815a5a..de923c4 100644
--- a/application/config/mimes.php
+++ b/application/config/mimes.php
@@ -56,7 +56,7 @@
'midi' => 'audio/midi',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
- 'mp3' => array('audio/mpeg', 'audio/mpg'),
+ 'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3'),
'aif' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
diff --git a/application/config/production/index.html b/application/config/production/index.html
deleted file mode 100644
index c942a79..0000000
--- a/application/config/production/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
- <title>403 Forbidden</title>
-</head>
-<body>
-
-<p>Directory access is forbidden.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/application/config/test/index.html b/application/logs/index.html
similarity index 100%
copy from application/config/test/index.html
copy to application/logs/index.html
diff --git a/index.php b/index.php
index 7741d5c..918c802 100644
--- a/index.php
+++ b/index.php
@@ -7,12 +7,41 @@
*
* You can load different configurations depending on your
* current environment. Setting the environment also influences
- * things like logging and error reporting. The enviroment
- * variable can be set to "development" (default),
- * "test" or "production".
+ * things like logging and error reporting.
+ *
+ * This can be set to anything, but default usage is:
+ *
+ * development
+ * testing
+ * production
+ *
+ * NOTE: If you change these, also change the error_reporting() code below
*
*/
define('ENVIRONMENT', 'development');
+/*
+ *---------------------------------------------------------------
+ * ERROR REPORTING
+ *---------------------------------------------------------------
+ *
+ * Different environments will require different levels of error reporting.
+ * By default development will show errors but testing and live will hide them.
+ */
+
+ switch (ENVIRONMENT)
+ {
+ case 'development':
+ error_reporting(E_ALL);
+ break;
+
+ case 'testing':
+ case 'production':
+ error_reporting(0);
+ break;
+
+ default:
+ exit('The application environment is not set correctly.');
+ }
/*
*---------------------------------------------------------------
@@ -24,7 +53,7 @@
* as this file.
*
*/
- $system_path = "system";
+ $system_path = 'system';
/*
*---------------------------------------------------------------
@@ -40,7 +69,7 @@
* NO TRAILING SLASH!
*
*/
- $application_folder = "application";
+ $application_folder = 'application';
/*
* --------------------------------------------------------------------
@@ -98,26 +127,6 @@
/*
* ---------------------------------------------------------------
- * Check if environment is set, and set error reporting appropriately
- * ---------------------------------------------------------------
- */
-
- if (ENVIRONMENT == 'development')
- {
- error_reporting(E_ALL);
- }
- elseif (ENVIRONMENT == 'production' OR ENVIRONMENT == 'test')
- {
- error_reporting(0);
- }
- else
- {
- error_reporting(E_ALL);
- exit("The application environment is not set correctly.");
- }
-
-/*
- * ---------------------------------------------------------------
* Resolve the system path for increased reliability
* ---------------------------------------------------------------
*/
diff --git a/license.txt b/license.txt
index 6ec7942..061cdb9 100644
--- a/license.txt
+++ b/license.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2008 - 2010, EllisLab, Inc.
+Copyright (c) 2008 - 2011, EllisLab, Inc.
All rights reserved.
This license is a legal agreement between you and EllisLab Inc. for the use
diff --git a/system/cache/index.html b/system/cache/index.html
deleted file mode 100644
index c942a79..0000000
--- a/system/cache/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
- <title>403 Forbidden</title>
-</head>
-<body>
-
-<p>Directory access is forbidden.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/system/core/Benchmark.php b/system/core/Benchmark.php
index d0e1fc6..515550e 100644
--- a/system/core/Benchmark.php
+++ b/system/core/Benchmark.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index 595e00f..0414ffb 100644
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -80,7 +80,7 @@
{
get_config(array('subclass_prefix' => $assign_to_config['subclass_prefix']));
}
-
+
/*
* ------------------------------------------------------
* Set a liberal script execution time limit
@@ -129,17 +129,17 @@
/*
* ------------------------------------------------------
- * Instantiate the Unicode class
+ * Instantiate the UTF-8 class
* ------------------------------------------------------
*
- * Note: Order here is rather important as the Unicode
+ * Note: Order here is rather important as the UTF-8
* class needs to be used very early on, but it cannot
* properly determine if UTf-8 can be supported until
* after the Config class is instantiated.
*
*/
- $UNI =& load_class('Unicode', 'core');
+ $UNI =& load_class('Utf8', 'core');
/*
* ------------------------------------------------------
@@ -289,7 +289,17 @@
// methods, so we'll use this workaround for consistent behavior
if ( ! in_array(strtolower($method), array_map('strtolower', get_class_methods($CI))))
{
- show_404("{$class}/{$method}");
+ // Check and see if we are using a 404 override and use it.
+ if ( ! empty($RTR->routes['404_override']))
+ {
+ $x = explode('/', $RTR->routes['404_override']);
+ $class = $x[0];
+ $method = (isset($x[1]) ? $x[1] : 'index');
+ }
+ else
+ {
+ show_404("{$class}/{$method}");
+ }
}
// Call the requested method.
diff --git a/system/core/Common.php b/system/core/Common.php
index 5c441a5..cd6b933 100644
--- a/system/core/Common.php
+++ b/system/core/Common.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/core/Config.php b/system/core/Config.php
index d6b97d7..da22222 100644
--- a/system/core/Config.php
+++ b/system/core/Config.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -237,8 +237,9 @@
$uri = implode('/', $uri);
}
+ $index = $this->item('index_page') == '' ? '' : $this->slash_item('index_page');
$suffix = ($this->item('url_suffix') == FALSE) ? '' : $this->item('url_suffix');
- return $this->slash_item('base_url').$this->slash_item('index_page').trim($uri, '/').$suffix;
+ return $this->slash_item('base_url').$index.trim($uri, '/').$suffix;
}
else
{
diff --git a/system/core/Controller.php b/system/core/Controller.php
index c78be87..469663f 100644
--- a/system/core/Controller.php
+++ b/system/core/Controller.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/core/Exceptions.php b/system/core/Exceptions.php
index 32cb77b..f565956 100644
--- a/system/core/Exceptions.php
+++ b/system/core/Exceptions.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/core/Hooks.php b/system/core/Hooks.php
index 70dc687..75fd811 100644
--- a/system/core/Hooks.php
+++ b/system/core/Hooks.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/core/Input.php b/system/core/Input.php
index eb2048e..3e82874 100644
--- a/system/core/Input.php
+++ b/system/core/Input.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -59,7 +59,7 @@
$this->security =& load_class('Security');
}
- // Do we need the Unicode class?
+ // Do we need the UTF-8 class?
if (UTF8_ENABLED === TRUE)
{
global $UNI;
@@ -618,19 +618,33 @@
}
// --------------------------------------------------------------------
-
+
/**
* Is ajax Request?
*
* Test to see if a request contains the HTTP_X_REQUESTED_WITH header
*
- * @return boolean
+ * @return boolean
*/
public function is_ajax_request()
{
return ($this->server('HTTP_X_REQUESTED_WITH') === 'XMLHttpRequest');
}
+ // --------------------------------------------------------------------
+
+ /**
+ * Is cli Request?
+ *
+ * Test to see if a request was made from the command line
+ *
+ * @return boolean
+ */
+ public function is_cli_request()
+ {
+ return (bool) defined('STDIN');
+ }
+
}
// END Input class
diff --git a/system/core/Lang.php b/system/core/Lang.php
index 8ec1797..fb17790 100644
--- a/system/core/Lang.php
+++ b/system/core/Lang.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/core/Loader.php b/system/core/Loader.php
index 640a630..ca2f016 100644
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -982,6 +982,15 @@
return FALSE;
}
+ // Autoload packages
+ if (isset($autoload['packages']))
+ {
+ foreach ($autoload['packages'] as $package_path)
+ {
+ $this->add_package_path($package_path);
+ }
+ }
+
// Load any custom config file
if (count($autoload['config']) > 0)
{
diff --git a/system/core/Model.php b/system/core/Model.php
index 80f4b04..8566a0b 100644
--- a/system/core/Model.php
+++ b/system/core/Model.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/core/Output.php b/system/core/Output.php
index 0b708e1..7fb9f79 100644
--- a/system/core/Output.php
+++ b/system/core/Output.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -347,7 +347,7 @@
$CI =& get_instance();
$path = $CI->config->item('cache_path');
- $cache_path = ($path == '') ? BASEPATH.'cache/' : $path;
+ $cache_path = ($path == '') ? APPPATH.'cache/' : $path;
if ( ! is_dir($cache_path) OR ! is_really_writable($cache_path))
{
@@ -395,7 +395,7 @@
*/
function _display_cache(&$CFG, &$URI)
{
- $cache_path = ($CFG->item('cache_path') == '') ? BASEPATH.'cache/' : $CFG->item('cache_path');
+ $cache_path = ($CFG->item('cache_path') == '') ? APPPATH.'cache/' : $CFG->item('cache_path');
// Build the file path. The file name is an MD5 hash of the full URI
$uri = $CFG->item('base_url').
diff --git a/system/core/Router.php b/system/core/Router.php
index 79a8b4f..6893e6e 100644
--- a/system/core/Router.php
+++ b/system/core/Router.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -144,7 +144,7 @@
$this->set_class($x[0]);
$this->set_method($x[1]);
- $this->_set_request(array($x[0], $x[1]));
+ $this->_set_request($x);
}
else
{
@@ -270,7 +270,7 @@
// If we've gotten this far it means that the URI does not correlate to a valid
// controller class. We will now see if there is an override
- if (!empty($this->routes['404_override']))
+ if ( ! empty($this->routes['404_override']))
{
$x = explode('/', $this->routes['404_override']);
diff --git a/system/core/URI.php b/system/core/URI.php
index 769dacd..1b479e9 100644
--- a/system/core/URI.php
+++ b/system/core/URI.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -61,17 +61,17 @@
{
if (strtoupper($this->config->item('uri_protocol')) == 'AUTO')
{
- // Let's try the REQUEST_URI first, this will work in most situations
- if ($uri = $this->_get_request_uri())
+ // Is the request coming from the command line?
+ if (defined('STDIN'))
{
- $this->uri_string = $this->_parse_request_uri($uri);
+ $this->uri_string = $this->_parse_cli_args();
return;
}
- // Arguments exist, it must be a command line request
- if ( ! empty($_SERVER['argv']))
+ // Let's try the REQUEST_URI first, this will work in most situations
+ if ($uri = $this->_detect_uri())
{
- $this->uri_string = $this->_parse_cli_args();
+ $this->uri_string = $uri;
return;
}
@@ -108,7 +108,7 @@
if ($uri == 'REQUEST_URI')
{
- $this->uri_string = $this->_parse_request_uri($this->_get_request_uri());
+ $this->uri_string = $this->_detect_uri();
return;
}
elseif ($uri == 'CLI')
@@ -130,99 +130,53 @@
// --------------------------------------------------------------------
/**
- * Get REQUEST_URI
+ * Detects the URI
*
- * Retrieves the REQUEST_URI, or equivelent for IIS.
+ * This function will detect the URI automatically and fix the query string
+ * if necessary.
*
* @access private
* @return string
*/
- function _get_request_uri()
+ private function _detect_uri()
{
- $uri = FALSE;
-
- // Let's check for standard servers first
- if (isset($_SERVER['REQUEST_URI']))
+ if ( ! isset($_SERVER['REQUEST_URI']))
{
- $uri = $_SERVER['REQUEST_URI'];
- if (strpos($uri, $_SERVER['SERVER_NAME']) !== FALSE)
- {
- $uri = preg_replace('/^\w+:\/\/[^\/]+/', '', $uri);
- }
+ return '';
}
- // Now lets check for IIS
- elseif (isset($_SERVER['HTTP_X_REWRITE_URL']))
+ $uri = $_SERVER['REQUEST_URI'];
+ if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0)
{
- $uri = $_SERVER['HTTP_X_REWRITE_URL'];
+ $uri = substr($uri, strlen($_SERVER['SCRIPT_NAME']));
+ }
+ elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0)
+ {
+ $uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME'])));
}
- // Last ditch effort (for older CGI servers, like IIS 5)
- elseif (isset($_SERVER['ORIG_PATH_INFO']))
+ // This section ensures that even on servers that require the URI to be in the query string (Nginx) a correct
+ // URI is found, and also fixes the QUERY_STRING server var and $_GET array.
+ if (strncmp($uri, '?/', 2) === 0)
{
- $uri = $_SERVER['ORIG_PATH_INFO'];
- if ( ! empty($_SERVER['QUERY_STRING']))
- {
- $uri .= '?' . $_SERVER['QUERY_STRING'];
- }
+ $uri = substr($uri, 2);
}
-
- return $uri;
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Parse REQUEST_URI
- *
- * Due to the way REQUEST_URI works it usually contains path info
- * that makes it unusable as URI data. We'll trim off the unnecessary
- * data, hopefully arriving at a valid URI that we can use.
- *
- * @access private
- * @param string
- * @return string
- */
- private function _parse_request_uri($uri)
- {
- // Some server's require URL's like index.php?/whatever If that is the case,
- // then we need to add that to our parsing.
- $fc_path = ltrim(FCPATH . SELF, '/');
- if (strpos($uri, SELF . '?') !== FALSE)
+ $parts = preg_split('#\?#i', $uri, 2);
+ $uri = $parts[0];
+ if (isset($parts[1]))
{
- $fc_path .= '?';
- }
-
- $parsed_uri = explode('/', ltrim($uri, '/'));
-
- $i = 0;
- foreach (explode("/", $fc_path) as $segment)
- {
- if (isset($parsed_uri[$i]) && $segment == $parsed_uri[$i])
- {
- $i++;
- }
- }
-
- $uri = implode("/", array_slice($parsed_uri, $i));
-
- // Let's take off any query string and re-assign $_SERVER['QUERY_STRING'] and $_GET.
- // This is only needed on some servers. However, we are forced to use it to accomodate
- // them.
- if (($qs_pos = strpos($uri, '?')) !== FALSE)
- {
- $_SERVER['QUERY_STRING'] = substr($uri, $qs_pos + 1);
+ $_SERVER['QUERY_STRING'] = $parts[1];
parse_str($_SERVER['QUERY_STRING'], $_GET);
- $uri = substr($uri, 0, $qs_pos);
}
-
- // If it is just a / or index.php then just empty it.
- if ($uri == '/' OR $uri == SELF)
+ else
{
- $uri = '';
+ $_SERVER['QUERY_STRING'] = '';
+ $_GET = array();
}
+ $uri = parse_url($uri, PHP_URL_PATH);
- return $uri;
+ // Do some final cleaning of the URI and return it
+ return str_replace(array('//', '../'), '/', trim($uri, '/'));
}
// --------------------------------------------------------------------
diff --git a/system/core/Unicode.php b/system/core/Utf8.php
similarity index 85%
rename from system/core/Unicode.php
rename to system/core/Utf8.php
index ce1de30..5d5a7ef 100644
--- a/system/core/Unicode.php
+++ b/system/core/Utf8.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 2.0
@@ -16,17 +16,17 @@
// ------------------------------------------------------------------------
/**
- * Unicode Class
+ * Utf8 Class
*
- * Provides unicode support for UTF-8 environments
+ * Provides support for UTF-8 environments
*
* @package CodeIgniter
* @subpackage Libraries
- * @category Unicode
+ * @category UTF-8
* @author ExpressionEngine Dev Team
- * @link http://codeigniter.com/user_guide/libraries/unicode.html
+ * @link http://codeigniter.com/user_guide/libraries/utf8.html
*/
-class CI_Unicode {
+class CI_Utf8 {
/**
* Constructor
@@ -36,7 +36,7 @@
*/
function __construct()
{
- log_message('debug', "Unicode Class Initialized");
+ log_message('debug', "Utf8 Class Initialized");
global $CFG;
@@ -47,7 +47,7 @@
AND $CFG->item('charset') == 'UTF-8' // Application charset must be UTF-8
)
{
- log_message('debug', "Unicode Class - UTF-8 Support Enabled");
+ log_message('debug', "UTF-8 Support Enabled");
define('UTF8_ENABLED', TRUE);
@@ -66,7 +66,7 @@
}
else
{
- log_message('debug', "Unicode Class - UTF-8 Support Disabled");
+ log_message('debug', "UTF-8 Support Disabled");
define('UTF8_ENABLED', FALSE);
}
}
@@ -159,7 +159,7 @@
// --------------------------------------------------------------------
}
-// End Unicode Class
+// End Utf8 Class
-/* End of file Unicode.php */
-/* Location: ./system/core/Unicode.php */
\ No newline at end of file
+/* End of file Utf8.php */
+/* Location: ./system/core/Utf8.php */
\ No newline at end of file
diff --git a/system/database/DB.php b/system/database/DB.php
index 739e9d0..513e5ae 100644
--- a/system/database/DB.php
+++ b/system/database/DB.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php
index dd46981..ce9d1c1 100644
--- a/system/database/DB_active_rec.php
+++ b/system/database/DB_active_rec.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/DB_cache.php b/system/database/DB_cache.php
index 6042e06..3bf065c 100644
--- a/system/database/DB_cache.php
+++ b/system/database/DB_cache.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index 7fe5695..2d8f592 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index ce505f4..27f2c37 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/DB_result.php b/system/database/DB_result.php
index 05f06af..fb4268c 100644
--- a/system/database/DB_result.php
+++ b/system/database/DB_result.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -28,13 +28,14 @@
*/
class CI_DB_result {
- var $conn_id = NULL;
- var $result_id = NULL;
- var $result_array = array();
- var $result_object = array();
- var $current_row = 0;
- var $num_rows = 0;
- var $row_data = NULL;
+ var $conn_id = NULL;
+ var $result_id = NULL;
+ var $result_array = array();
+ var $result_object = array();
+ var $custom_result_object = array();
+ var $current_row = 0;
+ var $num_rows = 0;
+ var $row_data = NULL;
/**
@@ -46,11 +47,48 @@
*/
function result($type = 'object')
{
- return ($type == 'object') ? $this->result_object() : $this->result_array();
+ if ($type == 'array') return $this->result_array();
+ else if ($type == 'object') return $this->result_object();
+ else return $this->custom_result_object($type);
}
// --------------------------------------------------------------------
+ /**
+ * Custom query result.
+ *
+ * @param class_name A string that represents the type of object you want back
+ * @return array of objects
+ */
+ function custom_result_object($class_name)
+ {
+ if (array_key_exists($class_name, $this->custom_result_object))
+ {
+ return $this->custom_result_object[$class_name];
+ }
+
+ if ($this->result_id === FALSE OR $this->num_rows() == 0)
+ {
+ return array();
+ }
+
+ // add the data to the object
+ $this->_data_seek(0);
+ $result_object = array();
+ while ($row = $this->_fetch_object())
+ {
+ $object = new $class_name();
+ foreach($row as $key => $value)
+ {
+ $object->$key = $value;
+ }
+ $result_object[] = $object;
+ }
+
+ // return the array
+ return $this->custom_result_object[$class_name] = $result_object;
+ }
+
/**
* Query result. "object" version.
*
@@ -142,7 +180,9 @@
$n = 0;
}
- return ($type == 'object') ? $this->row_object($n) : $this->row_array($n);
+ if ($type == 'object') return $this->row_object($n);
+ else if ($type == 'array') return $this->row_array($n);
+ else return $this->custom_row_object($n, $type);
}
// --------------------------------------------------------------------
@@ -179,7 +219,30 @@
// --------------------------------------------------------------------
- /**
+ /**
+ * Returns a single result row - custom object version
+ *
+ * @access public
+ * @return object
+ */
+ function custom_row_object($n, $type)
+ {
+ $result = $this->custom_result_object($type);
+
+ if (count($result) == 0)
+ {
+ return $result;
+ }
+
+ if ($n != $this->current_row AND isset($result[$n]))
+ {
+ $this->current_row = $n;
+ }
+
+ return $result[$this->current_row];
+ }
+
+ /**
* Returns a single result row - object version
*
* @access public
@@ -339,4 +402,4 @@
// END DB_result class
/* End of file DB_result.php */
-/* Location: ./system/database/DB_result.php */
\ No newline at end of file
+/* Location: ./system/database/DB_result.php */
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index c4d537a..a5f174f 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php
index eade10e..5a69132 100644
--- a/system/database/drivers/mssql/mssql_driver.php
+++ b/system/database/drivers/mssql/mssql_driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mssql/mssql_forge.php b/system/database/drivers/mssql/mssql_forge.php
index 6b02e1e..70b20ec 100644
--- a/system/database/drivers/mssql/mssql_forge.php
+++ b/system/database/drivers/mssql/mssql_forge.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mssql/mssql_result.php b/system/database/drivers/mssql/mssql_result.php
index c0a20db..2897ca5 100644
--- a/system/database/drivers/mssql/mssql_result.php
+++ b/system/database/drivers/mssql/mssql_result.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mssql/mssql_utility.php b/system/database/drivers/mssql/mssql_utility.php
index b867dd7..48ecbc7 100644
--- a/system/database/drivers/mssql/mssql_utility.php
+++ b/system/database/drivers/mssql/mssql_utility.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index f27a1ee..df18c91 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php
index 35845d6..529ec98 100644
--- a/system/database/drivers/mysql/mysql_forge.php
+++ b/system/database/drivers/mysql/mysql_forge.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mysql/mysql_result.php b/system/database/drivers/mysql/mysql_result.php
index c3aa4cc..5073896 100644
--- a/system/database/drivers/mysql/mysql_result.php
+++ b/system/database/drivers/mysql/mysql_result.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mysql/mysql_utility.php b/system/database/drivers/mysql/mysql_utility.php
index 1259fee..e9747c5 100644
--- a/system/database/drivers/mysql/mysql_utility.php
+++ b/system/database/drivers/mysql/mysql_utility.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php
index b50fe5f..8942100 100644
--- a/system/database/drivers/mysqli/mysqli_driver.php
+++ b/system/database/drivers/mysqli/mysqli_driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -539,6 +539,24 @@
// --------------------------------------------------------------------
/**
+ * Insert_batch statement
+ *
+ * Generates a platform-specific insert string from the supplied data
+ *
+ * @access public
+ * @param string the table name
+ * @param array the insert keys
+ * @param array the insert values
+ * @return string
+ */
+ function _insert_batch($table, $keys, $values)
+ {
+ return "INSERT INTO ".$table." (".implode(', ', $keys).") VALUES ".implode(', ', $values);
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* Update statement
*
* Generates a platform-specific update string from the supplied data
@@ -571,6 +589,57 @@
return $sql;
}
+ // --------------------------------------------------------------------
+
+ /**
+ * Update_Batch statement
+ *
+ * Generates a platform-specific batch update string from the supplied data
+ *
+ * @access public
+ * @param string the table name
+ * @param array the update data
+ * @param array the where clause
+ * @return string
+ */
+ function _update_batch($table, $values, $index, $where = NULL)
+ {
+ $ids = array();
+ $where = ($where != '' AND count($where) >=1) ? implode(" ", $where).' AND ' : '';
+
+ foreach($values as $key => $val)
+ {
+ $ids[] = $val[$index];
+
+ foreach(array_keys($val) as $field)
+ {
+ if ($field != $index)
+ {
+ $final[$field][] = 'WHEN '.$index.' = '.$val[$index].' THEN '.$val[$field];
+ }
+ }
+ }
+
+ $sql = "UPDATE ".$table." SET ";
+ $cases = '';
+
+ foreach($final as $k => $v)
+ {
+ $cases .= $k.' = CASE '."\n";
+ foreach ($v as $row)
+ {
+ $cases .= $row."\n";
+ }
+
+ $cases .= 'ELSE '.$k.' END, ';
+ }
+
+ $sql .= substr($cases, 0, -2);
+
+ $sql .= ' WHERE '.$where.$index.' IN ('.implode(',', $ids).')';
+
+ return $sql;
+ }
// --------------------------------------------------------------------
diff --git a/system/database/drivers/mysqli/mysqli_forge.php b/system/database/drivers/mysqli/mysqli_forge.php
index 5d5b780..d509733 100644
--- a/system/database/drivers/mysqli/mysqli_forge.php
+++ b/system/database/drivers/mysqli/mysqli_forge.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mysqli/mysqli_result.php b/system/database/drivers/mysqli/mysqli_result.php
index 16f57c0..c4d8f5d 100644
--- a/system/database/drivers/mysqli/mysqli_result.php
+++ b/system/database/drivers/mysqli/mysqli_result.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/mysqli/mysqli_utility.php b/system/database/drivers/mysqli/mysqli_utility.php
index 84ff0da..e17889b 100644
--- a/system/database/drivers/mysqli/mysqli_utility.php
+++ b/system/database/drivers/mysqli/mysqli_utility.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php
index 44d5dec..64f53cc 100644
--- a/system/database/drivers/oci8/oci8_driver.php
+++ b/system/database/drivers/oci8/oci8_driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/oci8/oci8_forge.php b/system/database/drivers/oci8/oci8_forge.php
index 4bcb081..3cd1758 100644
--- a/system/database/drivers/oci8/oci8_forge.php
+++ b/system/database/drivers/oci8/oci8_forge.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/oci8/oci8_result.php b/system/database/drivers/oci8/oci8_result.php
index 058524f..88531b4 100644
--- a/system/database/drivers/oci8/oci8_result.php
+++ b/system/database/drivers/oci8/oci8_result.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/oci8/oci8_utility.php b/system/database/drivers/oci8/oci8_utility.php
index 48d4ace..854b467 100644
--- a/system/database/drivers/oci8/oci8_utility.php
+++ b/system/database/drivers/oci8/oci8_utility.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php
index af90f0c..c8e03c3 100644
--- a/system/database/drivers/odbc/odbc_driver.php
+++ b/system/database/drivers/odbc/odbc_driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/odbc/odbc_forge.php b/system/database/drivers/odbc/odbc_forge.php
index 602016a..3ec86b4 100644
--- a/system/database/drivers/odbc/odbc_forge.php
+++ b/system/database/drivers/odbc/odbc_forge.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/odbc/odbc_result.php b/system/database/drivers/odbc/odbc_result.php
index b673464..a81a2b8 100644
--- a/system/database/drivers/odbc/odbc_result.php
+++ b/system/database/drivers/odbc/odbc_result.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/odbc/odbc_utility.php b/system/database/drivers/odbc/odbc_utility.php
index 9f9ef5a..d335bed 100644
--- a/system/database/drivers/odbc/odbc_utility.php
+++ b/system/database/drivers/odbc/odbc_utility.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php
index b61a9d7..0bb7974 100644
--- a/system/database/drivers/postgre/postgre_driver.php
+++ b/system/database/drivers/postgre/postgre_driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/postgre/postgre_forge.php b/system/database/drivers/postgre/postgre_forge.php
index 41858f3..91a1c68 100644
--- a/system/database/drivers/postgre/postgre_forge.php
+++ b/system/database/drivers/postgre/postgre_forge.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -69,7 +69,10 @@
if ($if_not_exists === TRUE)
{
- $sql .= 'IF NOT EXISTS ';
+ if ($this->db->table_exists($table))
+ {
+ return "SELECT * FROM $table"; // Needs to return innocous but valid SQL statement
+ }
}
$sql .= $this->db->_escape_identifiers($table)." (";
@@ -90,16 +93,55 @@
$sql .= "\n\t".$this->db->_protect_identifiers($field);
- $sql .= ' '.$attributes['TYPE'];
+ $is_unsigned = (array_key_exists('UNSIGNED', $attributes) && $attributes['UNSIGNED'] === TRUE);
- if (array_key_exists('CONSTRAINT', $attributes))
+ // Convert datatypes to be PostgreSQL-compatible
+ switch (strtoupper($attributes['TYPE']))
{
- $sql .= '('.$attributes['CONSTRAINT'].')';
+ case 'TINYINT':
+ $attributes['TYPE'] = 'SMALLINT';
+ break;
+ case 'SMALLINT':
+ $attributes['TYPE'] = ($is_unsigned) ? 'INTEGER' : 'SMALLINT';
+ break;
+ case 'MEDIUMINT':
+ $attributes['TYPE'] = 'INTEGER';
+ break;
+ case 'INT':
+ $attributes['TYPE'] = ($is_unsigned) ? 'BIGINT' : 'INTEGER';
+ break;
+ case 'BIGINT':
+ $attributes['TYPE'] = ($is_unsigned) ? 'NUMERIC' : 'BIGINT';
+ break;
+ case 'DOUBLE':
+ $attributes['TYPE'] = 'DOUBLE PRECISION';
+ break;
+ case 'DATETIME':
+ $attributes['TYPE'] = 'TIMESTAMP';
+ break;
+ case 'LONGTEXT':
+ $attributes['TYPE'] = 'TEXT';
+ break;
+ case 'BLOB':
+ $attributes['TYPE'] = 'BYTEA';
+ break;
}
- if (array_key_exists('UNSIGNED', $attributes) && $attributes['UNSIGNED'] === TRUE)
+ // If this is an auto-incrementing primary key, use the serial data type instead
+ if (in_array($field, $primary_keys) && array_key_exists('AUTO_INCREMENT', $attributes)
+ && $attributes['AUTO_INCREMENT'] === TRUE)
{
- $sql .= ' UNSIGNED';
+ $sql .= ' SERIAL';
+ }
+ else
+ {
+ $sql .= ' '.$attributes['TYPE'];
+ }
+
+ // Modified to prevent constraints with integer data types
+ if (array_key_exists('CONSTRAINT', $attributes) && strpos($attributes['TYPE'], 'INT') === false)
+ {
+ $sql .= '('.$attributes['CONSTRAINT'].')';
}
if (array_key_exists('DEFAULT', $attributes))
@@ -116,9 +158,10 @@
$sql .= ' NOT NULL';
}
- if (array_key_exists('AUTO_INCREMENT', $attributes) && $attributes['AUTO_INCREMENT'] === TRUE)
+ // Added new attribute to create unqite fields. Also works with MySQL
+ if (array_key_exists('UNIQUE', $attributes) && $attributes['UNIQUE'] === TRUE)
{
- $sql .= ' AUTO_INCREMENT';
+ $sql .= ' UNIQUE';
}
}
@@ -131,10 +174,17 @@
if (count($primary_keys) > 0)
{
- $primary_keys = $this->db->_protect_identifiers($primary_keys);
+ // Something seems to break when passing an array to _protect_identifiers()
+ foreach ($primary_keys as $index => $key)
+ {
+ $primary_keys[$index] = $this->db->_protect_identifiers($key);
+ }
+
$sql .= ",\n\tPRIMARY KEY (" . implode(', ', $primary_keys) . ")";
}
+ $sql .= "\n);";
+
if (is_array($keys) && count($keys) > 0)
{
foreach ($keys as $key)
@@ -148,12 +198,13 @@
$key = array($this->db->_protect_identifiers($key));
}
- $sql .= ",\n\tFOREIGN KEY (" . implode(', ', $key) . ")";
+ foreach ($key as $field)
+ {
+ $sql .= "CREATE INDEX " . $table . "_" . str_replace(array('"', "'"), '', $field) . "_index ON $table ($field); ";
+ }
}
}
- $sql .= "\n);";
-
return $sql;
}
@@ -162,12 +213,12 @@
/**
* Drop Table
*
- * @access private
- * @return bool
+ * @access private
+ * @return bool
*/
function _drop_table($table)
{
- return "DROP TABLE ".$this->db->_escape_identifiers($table)." CASCADE";
+ return "DROP TABLE IF EXISTS ".$this->db->_escape_identifiers($table)." CASCADE";
}
// --------------------------------------------------------------------
diff --git a/system/database/drivers/postgre/postgre_result.php b/system/database/drivers/postgre/postgre_result.php
index 1266312..e9a1d16 100644
--- a/system/database/drivers/postgre/postgre_result.php
+++ b/system/database/drivers/postgre/postgre_result.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/postgre/postgre_utility.php b/system/database/drivers/postgre/postgre_utility.php
index f04c7f0..741c52e 100644
--- a/system/database/drivers/postgre/postgre_utility.php
+++ b/system/database/drivers/postgre/postgre_utility.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index d6c6897..5bfc1f5 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/sqlite/sqlite_forge.php b/system/database/drivers/sqlite/sqlite_forge.php
index 0aa5d38..5690408 100644
--- a/system/database/drivers/sqlite/sqlite_forge.php
+++ b/system/database/drivers/sqlite/sqlite_forge.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/sqlite/sqlite_result.php b/system/database/drivers/sqlite/sqlite_result.php
index 9a86aa9..7bd30db 100644
--- a/system/database/drivers/sqlite/sqlite_result.php
+++ b/system/database/drivers/sqlite/sqlite_result.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/database/drivers/sqlite/sqlite_utility.php b/system/database/drivers/sqlite/sqlite_utility.php
index b76c1b3..508023e 100644
--- a/system/database/drivers/sqlite/sqlite_utility.php
+++ b/system/database/drivers/sqlite/sqlite_utility.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/array_helper.php b/system/helpers/array_helper.php
index 47c5f10..6b2415d 100644
--- a/system/helpers/array_helper.php
+++ b/system/helpers/array_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/captcha_helper.php b/system/helpers/captcha_helper.php
index 0f4e68c..c0e3798 100644
--- a/system/helpers/captcha_helper.php
+++ b/system/helpers/captcha_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/cookie_helper.php b/system/helpers/cookie_helper.php
index 4283bfd..7701d50 100644
--- a/system/helpers/cookie_helper.php
+++ b/system/helpers/cookie_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/date_helper.php b/system/helpers/date_helper.php
index c8680a1..553e8d7 100644
--- a/system/helpers/date_helper.php
+++ b/system/helpers/date_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -114,7 +114,7 @@
$formats = array(
'DATE_ATOM' => '%Y-%m-%dT%H:%i:%s%Q',
'DATE_COOKIE' => '%l, %d-%M-%y %H:%i:%s UTC',
- 'DATE_ISO8601' => '%Y-%m-%dT%H:%i:%s%O',
+ 'DATE_ISO8601' => '%Y-%m-%dT%H:%i:%s%Q',
'DATE_RFC822' => '%D, %d %M %y %H:%i:%s %O',
'DATE_RFC850' => '%l, %d-%M-%y %H:%m:%i UTC',
'DATE_RFC1036' => '%D, %d %M %y %H:%i:%s %O',
diff --git a/system/helpers/directory_helper.php b/system/helpers/directory_helper.php
index 30aaa61..38347fa 100644
--- a/system/helpers/directory_helper.php
+++ b/system/helpers/directory_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/download_helper.php b/system/helpers/download_helper.php
index ba9c0a3..6cecd0d 100644
--- a/system/helpers/download_helper.php
+++ b/system/helpers/download_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/email_helper.php b/system/helpers/email_helper.php
index b6f7437..651aef4 100644
--- a/system/helpers/email_helper.php
+++ b/system/helpers/email_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index 9b9f9dc..334eef8 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index b9381f7..758056b 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/html_helper.php b/system/helpers/html_helper.php
index 0ba4eba..68c6f59 100644
--- a/system/helpers/html_helper.php
+++ b/system/helpers/html_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/inflector_helper.php b/system/helpers/inflector_helper.php
index 88f48d4..4cd7486 100644
--- a/system/helpers/inflector_helper.php
+++ b/system/helpers/inflector_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/language_helper.php b/system/helpers/language_helper.php
index 06428a7..68c1a1f 100644
--- a/system/helpers/language_helper.php
+++ b/system/helpers/language_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/number_helper.php b/system/helpers/number_helper.php
index e0d4a94..a2caea5 100644
--- a/system/helpers/number_helper.php
+++ b/system/helpers/number_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/path_helper.php b/system/helpers/path_helper.php
index 9dd5ded..ffcf468 100644
--- a/system/helpers/path_helper.php
+++ b/system/helpers/path_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/security_helper.php b/system/helpers/security_helper.php
index 9f44fa7..61ebf46 100644
--- a/system/helpers/security_helper.php
+++ b/system/helpers/security_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/smiley_helper.php b/system/helpers/smiley_helper.php
index da3fd28..80a8d79 100644
--- a/system/helpers/smiley_helper.php
+++ b/system/helpers/smiley_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/string_helper.php b/system/helpers/string_helper.php
index b0f0b8d..7765bba 100644
--- a/system/helpers/string_helper.php
+++ b/system/helpers/string_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/text_helper.php b/system/helpers/text_helper.php
index 9194b57..47e6ccc 100644
--- a/system/helpers/text_helper.php
+++ b/system/helpers/text_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/typography_helper.php b/system/helpers/typography_helper.php
index 222c8fc..302bf45 100644
--- a/system/helpers/typography_helper.php
+++ b/system/helpers/typography_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php
index 53bcad5..d0516ce 100644
--- a/system/helpers/url_helper.php
+++ b/system/helpers/url_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/helpers/xml_helper.php b/system/helpers/xml_helper.php
index e00cc9a..cdd81ad 100644
--- a/system/helpers/xml_helper.php
+++ b/system/helpers/xml_helper.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Cache/Cache.php b/system/libraries/Cache/Cache.php
index ea31942..d3f6105 100644
--- a/system/libraries/Cache/Cache.php
+++ b/system/libraries/Cache/Cache.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2006 - 2010 EllisLab, Inc.
+ * @copyright Copyright (c) 2006 - 2011 EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 2.0
diff --git a/system/libraries/Cache/drivers/Cache_apc.php b/system/libraries/Cache/drivers/Cache_apc.php
index 9c716a9..4b995c7 100644
--- a/system/libraries/Cache/drivers/Cache_apc.php
+++ b/system/libraries/Cache/drivers/Cache_apc.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2006 - 2010 EllisLab, Inc.
+ * @copyright Copyright (c) 2006 - 2011 EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 2.0
@@ -114,7 +114,7 @@
return FALSE;
}
- list($value, $time, $ttl) = $stored;
+ list($data, $time, $ttl) = $stored;
return array(
'expire' => $time + $ttl,
diff --git a/system/libraries/Cache/drivers/Cache_dummy.php b/system/libraries/Cache/drivers/Cache_dummy.php
index 13c1f5c..74f6892 100644
--- a/system/libraries/Cache/drivers/Cache_dummy.php
+++ b/system/libraries/Cache/drivers/Cache_dummy.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2006 - 2010 EllisLab, Inc.
+ * @copyright Copyright (c) 2006 - 2011 EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 2.0
diff --git a/system/libraries/Cache/drivers/Cache_file.php b/system/libraries/Cache/drivers/Cache_file.php
index bedbfaf..3ed357f 100644
--- a/system/libraries/Cache/drivers/Cache_file.php
+++ b/system/libraries/Cache/drivers/Cache_file.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2006 - 2010 EllisLab, Inc.
+ * @copyright Copyright (c) 2006 - 2011 EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 2.0
diff --git a/system/libraries/Cache/drivers/Cache_memcached.php b/system/libraries/Cache/drivers/Cache_memcached.php
index adc7fbf..5f5a315 100644
--- a/system/libraries/Cache/drivers/Cache_memcached.php
+++ b/system/libraries/Cache/drivers/Cache_memcached.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2006 - 2010 EllisLab, Inc.
+ * @copyright Copyright (c) 2006 - 2011 EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 2.0
@@ -122,7 +122,7 @@
return FALSE;
}
- list($value, $time, $ttl) = $stored;
+ list($data, $time, $ttl) = $stored;
return array(
'expire' => $time + $ttl,
diff --git a/system/libraries/Calendar.php b/system/libraries/Calendar.php
index 59025cf..72d228e 100644
--- a/system/libraries/Calendar.php
+++ b/system/libraries/Calendar.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Cart.php b/system/libraries/Cart.php
index 5d3f91d..7f65b48 100644
--- a/system/libraries/Cart.php
+++ b/system/libraries/Cart.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2006 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2006 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Driver.php b/system/libraries/Driver.php
index 8579a60..15fc3da 100644
--- a/system/libraries/Driver.php
+++ b/system/libraries/Driver.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author EllisLab Dev Team
- * @copyright Copyright (c) 2006 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2006 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 132f3db..e5af38f 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Encrypt.php b/system/libraries/Encrypt.php
index 7682f21..e5f6587 100644
--- a/system/libraries/Encrypt.php
+++ b/system/libraries/Encrypt.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Form_validation.php b/system/libraries/Form_validation.php
index f457600..fc5b82e 100644
--- a/system/libraries/Form_validation.php
+++ b/system/libraries/Form_validation.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -171,7 +171,7 @@
}
$this->_error_messages = array_merge($this->_error_messages, $lang);
-
+
return $this;
}
@@ -191,7 +191,7 @@
{
$this->_error_prefix = $prefix;
$this->_error_suffix = $suffix;
-
+
return $this;
}
@@ -339,13 +339,7 @@
}
}
- preg_match_all('/([a-zA-Z_-]*(\[.*\])?)\|?/i', $row['rules'], $matches);
-
- $rules = $matches[1];
- array_pop($rules);
- unset($matches);
-
- $this->_execute($row, $rules, $this->_field_data[$field]['postdata']);
+ $this->_execute($row, explode('|', $row['rules']), $this->_field_data[$field]['postdata']);
}
// Did we end up with any errors?
@@ -742,7 +736,7 @@
{
return array_shift($this->_field_data[$field]['postdata']);
}
-
+
return $this->_field_data[$field]['postdata'];
}
diff --git a/system/libraries/Ftp.php b/system/libraries/Ftp.php
index 6ffbef1..d7a8b3b 100644
--- a/system/libraries/Ftp.php
+++ b/system/libraries/Ftp.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Image_lib.php b/system/libraries/Image_lib.php
index 84c41c4..41f9ad3 100644
--- a/system/libraries/Image_lib.php
+++ b/system/libraries/Image_lib.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Javascript.php b/system/libraries/Javascript.php
index 6fe365f..167859a 100644
--- a/system/libraries/Javascript.php
+++ b/system/libraries/Javascript.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Log.php b/system/libraries/Log.php
index 6d44cfa..fb2c5a4 100644
--- a/system/libraries/Log.php
+++ b/system/libraries/Log.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -26,11 +26,11 @@
*/
class CI_Log {
- var $log_path;
- var $_threshold = 1;
- var $_date_fmt = 'Y-m-d H:i:s';
- var $_enabled = TRUE;
- var $_levels = array('ERROR' => '1', 'DEBUG' => '2', 'INFO' => '3', 'ALL' => '4');
+ protected $_log_path;
+ protected $_threshold = 1;
+ protected $_date_fmt = 'Y-m-d H:i:s';
+ protected $_enabled = TRUE;
+ protected $_levels = array('ERROR' => '1', 'DEBUG' => '2', 'INFO' => '3', 'ALL' => '4');
/**
* Constructor
@@ -39,9 +39,9 @@
{
$config =& get_config();
- $this->log_path = ($config['log_path'] != '') ? $config['log_path'] : BASEPATH.'logs/';
+ $this->_log_path = ($config['log_path'] != '') ? $config['log_path'] : APPPATH.'logs/';
- if ( ! is_dir($this->log_path) OR ! is_really_writable($this->log_path))
+ if ( ! is_dir($this->_log_path) OR ! is_really_writable($this->_log_path))
{
$this->_enabled = FALSE;
}
@@ -64,13 +64,12 @@
*
* Generally this function will be called using the global log_message() function
*
- * @access public
* @param string the error level
* @param string the error message
* @param bool whether the error is a native PHP error
* @return bool
*/
- function write_log($level = 'error', $msg, $php_error = FALSE)
+ public function write_log($level = 'error', $msg, $php_error = FALSE)
{
if ($this->_enabled === FALSE)
{
@@ -84,7 +83,7 @@
return FALSE;
}
- $filepath = $this->log_path.'log-'.date('Y-m-d').EXT;
+ $filepath = $this->_log_path.'log-'.date('Y-m-d').EXT;
$message = '';
if ( ! file_exists($filepath))
diff --git a/system/libraries/Pagination.php b/system/libraries/Pagination.php
index 47b718b..1113f86 100644
--- a/system/libraries/Pagination.php
+++ b/system/libraries/Pagination.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Parser.php b/system/libraries/Parser.php
index 4cac739..d223da0 100644
--- a/system/libraries/Parser.php
+++ b/system/libraries/Parser.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Profiler.php b/system/libraries/Profiler.php
index e7d88b6..6587eae 100644
--- a/system/libraries/Profiler.php
+++ b/system/libraries/Profiler.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -182,7 +182,7 @@
{
$output .= '<fieldset style="border:1px solid #0000FF;padding:6px 10px 10px 10px;margin:20px 0 20px 0;background-color:#eee">';
$output .= "\n";
- $output .= '<legend style="color:#0000FF;"> '.$this->CI->lang->line('profiler_database').': '.$db->database.' '.$this->CI->lang->line('profiler_queries').': '.count($this->CI->db->queries).' </legend>';
+ $output .= '<legend style="color:#0000FF;"> '.$this->CI->lang->line('profiler_database').': '.$db->database.' '.$this->CI->lang->line('profiler_queries').': '.count($db->queries).' </legend>';
$output .= "\n";
$output .= "\n\n<table style='width:100%;'>\n";
diff --git a/system/libraries/Security.php b/system/libraries/Security.php
index d263856..ba64c73 100644
--- a/system/libraries/Security.php
+++ b/system/libraries/Security.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
@@ -25,14 +25,15 @@
* @link http://codeigniter.com/user_guide/libraries/sessions.html
*/
class CI_Security {
- var $xss_hash = '';
- var $csrf_hash = '';
- var $csrf_expire = 7200; // Two hours (in seconds)
- var $csrf_token_name = 'ci_csrf_token';
- var $csrf_cookie_name = 'ci_csrf_token';
+
+ public $xss_hash = '';
+ public $csrf_hash = '';
+ public $csrf_expire = 7200; // Two hours (in seconds)
+ public $csrf_token_name = 'ci_csrf_token';
+ public $csrf_cookie_name = 'ci_csrf_token';
/* never allowed, string replacement */
- var $never_allowed_str = array(
+ public $never_allowed_str = array(
'document.cookie' => '[removed]',
'document.write' => '[removed]',
'.parentNode' => '[removed]',
@@ -44,7 +45,7 @@
'<![CDATA[' => '<![CDATA['
);
/* never allowed, regex replacement */
- var $never_allowed_regex = array(
+ public $never_allowed_regex = array(
"javascript\s*:" => '[removed]',
"expression\s*(\(|&\#40;)" => '[removed]', // CSS and IE
"vbscript\s*:" => '[removed]', // IE, surprise!
@@ -53,6 +54,10 @@
public function __construct()
{
+ $this->csrf_token_name = (config_item('csrf_token_name')) ? config_item('csrf_token_name') : 'csrf_token_name';
+ $this->csrf_cookie_name = (config_item('csrf_cookie_name')) ? config_item('csrf_cookie_name') : 'csrf_cookie_name';
+ $this->csrf_expire = (config_item('csrf_expire')) ? config_item('csrf_expire') : 7200;
+
// Append application specific cookie prefix to token name
$this->csrf_cookie_name = (config_item('cookie_prefix')) ? config_item('cookie_prefix').$this->csrf_token_name : $this->csrf_token_name;
@@ -70,7 +75,7 @@
* @access public
* @return null
*/
- function csrf_verify()
+ public function csrf_verify()
{
// If no POST data exists we will set the CSRF cookie
if (count($_POST) == 0)
@@ -109,7 +114,7 @@
* @access public
* @return null
*/
- function csrf_set_cookie()
+ public function csrf_set_cookie()
{
$expire = time() + $this->csrf_expire;
@@ -123,10 +128,10 @@
/**
* Set Cross Site Request Forgery Protection Cookie
*
- * @access public
+ * @access private
* @return null
*/
- function _csrf_set_hash()
+ private function _csrf_set_hash()
{
if ($this->csrf_hash == '')
{
@@ -153,7 +158,7 @@
* @access public
* @return null
*/
- function csrf_show_error()
+ public function csrf_show_error()
{
show_error('The action you have requested is not allowed.');
}
@@ -186,7 +191,7 @@
* @param mixed string or array
* @return string
*/
- function xss_clean($str, $is_image = FALSE)
+ public function xss_clean($str, $is_image = FALSE)
{
/*
* Is the string an array?
@@ -210,9 +215,9 @@
/*
* Protect GET variables in URLs
*/
-
+
// 901119URL5918AMP18930PROTECT8198
-
+
$str = preg_replace('|\&([a-z\_0-9\-]+)\=([a-z\_0-9\-]+)|i', $this->xss_hash()."\\1=\\2", $str);
/*
@@ -259,7 +264,7 @@
*/
$str = preg_replace_callback("/[a-z]+=([\'\"]).*?\\1/si", array($this, '_convert_attribute'), $str);
-
+
$str = preg_replace_callback("/<\w+.*?(?=>|<|$)/si", array($this, '_decode_entity'), $str);
/*
@@ -470,7 +475,7 @@
* @access public
* @return string
*/
- function xss_hash()
+ public function xss_hash()
{
if ($this->xss_hash == '')
{
@@ -493,11 +498,11 @@
* Callback function for xss_clean() to remove whitespace from
* things like j a v a s c r i p t
*
- * @access public
+ * @access private
* @param type
* @return type
*/
- function _compact_exploded_words($matches)
+ private function _compact_exploded_words($matches)
{
return preg_replace('/\s+/s', '', $matches[1]).$matches[2];
}
@@ -513,7 +518,7 @@
* @param array
* @return string
*/
- function _sanitize_naughty_html($matches)
+ private function _sanitize_naughty_html($matches)
{
// encode opening brace
$str = '<'.$matches[1].$matches[2].$matches[3];
@@ -538,7 +543,7 @@
* @param array
* @return string
*/
- function _js_link_removal($match)
+ private function _js_link_removal($match)
{
$attributes = $this->_filter_attributes(str_replace(array('<', '>'), '', $match[1]));
return str_replace($match[1], preg_replace("#href=.*?(alert\(|alert&\#40;|javascript\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\s*,)#si", "", $attributes), $match[0]);
@@ -556,7 +561,7 @@
* @param array
* @return string
*/
- function _js_img_removal($match)
+ private function _js_img_removal($match)
{
$attributes = $this->_filter_attributes(str_replace(array('<', '>'), '', $match[1]));
return str_replace($match[1], preg_replace("#src=.*?(alert\(|alert&\#40;|javascript\:|charset\=|window\.|document\.|\.cookie|<script|<xss|base64\s*,)#si", "", $attributes), $match[0]);
@@ -569,11 +574,11 @@
*
* Used as a callback for XSS Clean
*
- * @access public
+ * @access private
* @param array
* @return string
*/
- function _convert_attribute($match)
+ private function _convert_attribute($match)
{
return str_replace(array('>', '<', '\\'), array('>', '<', '\\\\'), $match[0]);
}
@@ -585,11 +590,11 @@
*
* Filters tag attributes for consistency and safety
*
- * @access public
+ * @access private
* @param string
* @return string
*/
- function _filter_attributes($str)
+ private function _filter_attributes($str)
{
$out = '';
@@ -611,11 +616,11 @@
*
* Used as a callback for XSS Clean
*
- * @access public
+ * @access private
* @param array
* @return string
*/
- function _decode_entity($match)
+ private function _decode_entity($match)
{
return $this->entity_decode($match[0], strtoupper(config_item('charset')));
}
@@ -641,7 +646,7 @@
* @param string
* @return string
*/
- function entity_decode($str, $charset='UTF-8')
+ public function entity_decode($str, $charset='UTF-8')
{
if (stristr($str, '&') === FALSE) return $str;
@@ -680,7 +685,7 @@
* @param string
* @return string
*/
- function sanitize_filename($str, $relative_path = FALSE)
+ public function sanitize_filename($str, $relative_path = FALSE)
{
$bad = array(
"../",
@@ -715,7 +720,7 @@
"%3b", // ;
"%3d" // =
);
-
+
if ( ! $relative_path)
{
$bad[] = './';
diff --git a/system/libraries/Session.php b/system/libraries/Session.php
index 4dccc46..53ff4f5 100644
--- a/system/libraries/Session.php
+++ b/system/libraries/Session.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Sha1.php b/system/libraries/Sha1.php
index a5addd0..ad747a0 100644
--- a/system/libraries/Sha1.php
+++ b/system/libraries/Sha1.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Table.php b/system/libraries/Table.php
index b4c6d36..4855416 100644
--- a/system/libraries/Table.php
+++ b/system/libraries/Table.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.3.1
diff --git a/system/libraries/Trackback.php b/system/libraries/Trackback.php
index 79f512b..e29b35c 100644
--- a/system/libraries/Trackback.php
+++ b/system/libraries/Trackback.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Typography.php b/system/libraries/Typography.php
index 2ea25e4..734cec1 100644
--- a/system/libraries/Typography.php
+++ b/system/libraries/Typography.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Unit_test.php b/system/libraries/Unit_test.php
index a57934c..5bd7e80 100644
--- a/system/libraries/Unit_test.php
+++ b/system/libraries/Unit_test.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.3.1
diff --git a/system/libraries/Upload.php b/system/libraries/Upload.php
index b0e1f4c..8f84ffd 100644
--- a/system/libraries/Upload.php
+++ b/system/libraries/Upload.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/User_agent.php b/system/libraries/User_agent.php
index 53cd7b2..c621748 100644
--- a/system/libraries/User_agent.php
+++ b/system/libraries/User_agent.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Xmlrpc.php b/system/libraries/Xmlrpc.php
index 3ae5bad..9cf307c 100644
--- a/system/libraries/Xmlrpc.php
+++ b/system/libraries/Xmlrpc.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php
index 555ec74..6bedfe3 100644
--- a/system/libraries/Xmlrpcs.php
+++ b/system/libraries/Xmlrpcs.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/Zip.php b/system/libraries/Zip.php
index 94da4b3..80633c7 100644
--- a/system/libraries/Zip.php
+++ b/system/libraries/Zip.php
@@ -6,7 +6,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 1.0
diff --git a/system/libraries/javascript/Jquery.php b/system/libraries/javascript/Jquery.php
index 91148dc..baab83d 100644
--- a/system/libraries/javascript/Jquery.php
+++ b/system/libraries/javascript/Jquery.php
@@ -7,7 +7,7 @@
*
* @package CodeIgniter
* @author ExpressionEngine Dev Team
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://www.codeigniter.com/user_guide/license.html
* @link http://www.codeigniter.com
* @since Version 1.0
@@ -21,7 +21,7 @@
* @subpackage Libraries
* @author ExpressionEngine Dev Team
* @category Loader
- * @link http://www.codeigniter.com/user_guide/libraries/jquery.html
+ * @link http://www.codeigniter.com/user_guide/libraries/javascript.html
*/
class CI_Jquery extends CI_Javascript {
diff --git a/system/logs/index.html b/system/logs/index.html
deleted file mode 100644
index c942a79..0000000
--- a/system/logs/index.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
- <title>403 Forbidden</title>
-</head>
-<body>
-
-<p>Directory access is forbidden.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index a6332d6..35187ef 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -57,9 +57,11 @@
<h1>Change Log</h1>
+<p>The <img src="images/reactor-bullet.png" width="16" height="16" alt="Reactor Marker" /> indicates items that were contributed to CodeIgniter via CodeIgniter Reactor.</p>
+
<h2>Version 2.0.0</h2>
-<p>Release Date: not yet released<br />
-Hg Tag: </p>
+<p>Release Date: January 28, 2011<br />
+Hg Tag: v2.0.0</p>
<ul>
<li>General changes
@@ -68,21 +70,25 @@
<li>Scaffolding, having been deprecated for a number of versions, has been removed.</li>
<li>Plugins have been removed, in favor of Helpers. The CAPTCHA plugin has been converted to a Helper and <a href="./helpers/captcha_helper.html">documented</a>. The JavaScript calendar plugin was removed due to the ready availability of great JavaScript calendars, particularly with jQuery.</li>
<li>Added new special Library type: <a href="./general/drivers.html">Drivers</a>.</li>
+ <li class="reactor">Added full query-string support. See the config file for details.</li>
<li>Moved the application folder outside of the system folder.</li>
+ <li>Moved system/cache and system/logs directories to the application directory.</li>
<li>Added routing overrides to the main index.php file, enabling the normal routing to be overridden on a per "index" file basis.</li>
<li>Added the ability to set config values (or override config values) directly from data set in the main index.php file. This allows a single application to be used with multiple front controllers, each having its own config values.</li>
<li>Added <kbd>$config['directory_trigger']</kbd> to the config file so that a controller sub-directory can be specified when running _GET strings instead of URI segments.</li>
<li>Added ability to set "Package" paths - specific paths where the Loader and Config classes should try to look first for a requested file. This allows distribution of sub-applications with their own libraries, models, config files, etc. in a single "package" directory. See the <a href="libraries/loader.html">Loader class</a> documentation for more details.</li>
- <li>In-development code is now hosted at <a href="http://bitbucket.org/ellislab/codeigniter/">BitBucket</a>.</li>
+ <li>In-development code is now hosted at <a href="http://bitbucket.org/ellislab/codeigniter-reactor/">BitBucket</a>.</li>
<li>Removed the deprecated Validation Class.</li>
<li>Added CI_ Prefix to all core classes.</li>
- <li>Package paths can now be set in application/config/autoload.php.</li>
- <li>Upload library file_name can now be set without an extension, the extension will be taken from the uploaded file instead of the given name.</li>
- <li>Name can be omitted from $this->dbforge->modify_column()'s 2nd param if you aren't changing the name.</li>
- <li><kbd>$config['base_url']</kbd> is now empty by default and will guess what it should be.</li>
+ <li class="reactor">Package paths can now be set in application/config/autoload.php.</li>
+ <li class="reactor"><a href="libraries/file_uploading.html">Upload library</a> file_name can now be set without an extension, the extension will be taken from the uploaded file instead of the given name.</li>
+ <li class="reactor">In <a href="database/forge.html">Database Forge</a> the name can be omitted from $this->dbforge->modify_column()'s 2nd param if you aren't changing the name.</li>
+ <li class="reactor"><kbd>$config['base_url']</kbd> is now empty by default and will guess what it should be.</li>
+ <li class="reactor">Enabled full Command Line Interface compatibility with <kbd>config['uri_protocol'] = 'CLI';</kbd>.</li>
</ul>
<li>Libraries
<ul>
+ <li class="reactor">Added a <a href="libraries/caching.html">Cache driver</a> with APC, memcached, and file-based support.</li>
<li>Added <var>$prefix</var>, <var>$suffix</var> and <var>$first_url</var> properties to <a href="./libraries/pagination.html">Pagination library</a>.</li>
<li>Added the ability to suppress first, previous, next, last, and page links by setting their values to FALSE in the <a href="./libraries/pagination.html">Pagination library</a>.</li>
<li>Added <a href="./libraries/security.html">Security library</a>, which now contains the <dfn>xss_clean</dfn> function, <dfn>filename_security</dfn> function and other security related functions.</li>
@@ -113,12 +119,12 @@
<li>Altered Form_Validation library to allow for method chaining on <kbd>set_rules()</kbd>, <kbd>set_message()</kbd> and <kbd>set_error_delimiters()</kbd> functions.</li>
<li>Altered Email Library to allow for method chaining.</li>
<li>Added <kbd>request_headers()</kbd>, <kbd>get_request_header()</kbd> and <kbd>is_ajax_request()</kbd> to the input class.</li>
- <li>Altered <a href="libraries/user_agent.html">User agent library</a> so that <kbd>is_browser()</kbd>, <kbd>is_mobile()</kbd> and <kbd>is_robot()</kbd> can optionally check for a specific browser or mobile device.</li>
+ <li class="reactor">Altered <a href="libraries/user_agent.html">User agent library</a> so that <kbd>is_browser()</kbd>, <kbd>is_mobile()</kbd> and <kbd>is_robot()</kbd> can optionally check for a specific browser or mobile device.</li>
</ul>
</li>
<li>Database
<ul>
- <li>Added <kbd>swap_pre</kbd> value to <a href="./database/configuration.html">database configuration</a>.</li>
+ <li><a href="./database/configuration.html">database configuration</a>.</li>
<li>Added <kbd>autoinit</kbd> value to <a href="./database/configuration.html">database configuration</a>.</li>
<li>Added <kbd>stricton</kbd> value to <a href="./database/configuration.html">database configuration</a>.</li>
<li>Added <kbd>database_exists()</kbd> to the <a href="database/utilities.html">Database Utilities Class</a>.</li>
@@ -128,6 +134,7 @@
<li>Modified the database errors to show the filename and line number of the problematic query.</li>
<li>Removed the following deprecated functions: orwhere, orlike, groupby, orhaving, orderby, getwhere.</li>
<li>Removed deprecated _drop_database() and _create_database() functions from the db utility drivers.</li>
+ <li>Improved dbforge create_table() function for the Postgres driver.</li>
</ul>
</li>
<li>Helpers
@@ -165,14 +172,16 @@
<li>Documented <kbd>append_output()</kbd> in the <a href="libraries/output.html">Output Class</a>.</li>
<li>Documented a second argument in the <kbd>decode()</kbd> function for the <a href="libraries/encryption.html">Encryption Class</a>.</li>
<li>Documented db->close().</li>
+ <li>Updated the router to support a default route with any number of segments.</li>
<li>Moved _remove_invisible_characters() function from the <a href="libraries/security.html">Security Library</a> to <a href="general/common_functions.html">common functions.</a></li>
+ <li>Added audio/mpeg3 as a valid mime type for MP3.</li>
</ul>
</li>
</ul>
<h3>Bug fixes for 2.0.0</h3>
<ul>
- <li>Fixed a bug where you could not change the User-Agent when sending email.</li>
+ <li class="reactor">Fixed a bug where you could not change the User-Agent when sending email.</li>
<li>Fixed a bug where the Output class would send incorrect cached output for controllers implementing their own <dfn>_output()</dfn> method.</li>
<li>Fixed a bug where a failed query would not have a saved query execution time causing errors in the Profiler</li>
<li>Fixed a bug that was writing log entries when multiple identical helpers and plugins were loaded.</li>
@@ -200,6 +209,8 @@
<li>Added a log message in core/output if the cache directory config value was not found.</li>
<li>Fixed a bug where multiple libraries could not be loaded by passing an array to load->library()</li>
<li>Fixed a bug in the html helper where too much white space was rendered between the src and alt tags in the img() function.</li>
+ <li>Fixed a bug in the profilers _compile_queries() function.</li>
+ <li>Fixed a bug in the date helper where the DATE_ISO8601 variable was returning an incorrectly formatted date string.</li>
</ul>
<h2>Version 1.7.2</h2>
@@ -1215,7 +1226,7 @@
<a href="index.html">User Guide Home</a> ·
Next Topic: <a href="./general/credits.html">Credits</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/active_record.html b/user_guide/database/active_record.html
index 9ae93a9..30c45fd 100644
--- a/user_guide/database/active_record.html
+++ b/user_guide/database/active_record.html
@@ -750,7 +750,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="transactions.html">Transactions</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/caching.html b/user_guide/database/caching.html
index d5ed588..ec2e5c4 100644
--- a/user_guide/database/caching.html
+++ b/user_guide/database/caching.html
@@ -213,7 +213,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="forge.html">Database manipulation with Database Forge</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/call_function.html b/user_guide/database/call_function.html
index 46dfe89..e34369f 100644
--- a/user_guide/database/call_function.html
+++ b/user_guide/database/call_function.html
@@ -111,7 +111,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="caching.html">Query Caching</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/configuration.html b/user_guide/database/configuration.html
index 34d2675..e9db5fc 100644
--- a/user_guide/database/configuration.html
+++ b/user_guide/database/configuration.html
@@ -157,7 +157,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="connecting.html">Connecting to your Database</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/connecting.html b/user_guide/database/connecting.html
index 3ce4056..1e97198 100644
--- a/user_guide/database/connecting.html
+++ b/user_guide/database/connecting.html
@@ -181,7 +181,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="queries.html">Queries</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/examples.html b/user_guide/database/examples.html
index 41cfba0..c0eabd8 100644
--- a/user_guide/database/examples.html
+++ b/user_guide/database/examples.html
@@ -210,7 +210,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="configuration.html">Database Configuration</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/fields.html b/user_guide/database/fields.html
index e5cc477..b1dbd00 100644
--- a/user_guide/database/fields.html
+++ b/user_guide/database/fields.html
@@ -156,7 +156,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="call_function.html">Custom Function Calls</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/forge.html b/user_guide/database/forge.html
index b9e0442..d18db58 100644
--- a/user_guide/database/forge.html
+++ b/user_guide/database/forge.html
@@ -227,7 +227,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="utilities.html">Database Utilities Class</a><a href="../libraries/email.html"></a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/helpers.html b/user_guide/database/helpers.html
index b7b8a53..f4ad8df 100644
--- a/user_guide/database/helpers.html
+++ b/user_guide/database/helpers.html
@@ -144,7 +144,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="active_record.html">Active Record Pattern</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/index.html b/user_guide/database/index.html
index 381592c..cc2d216 100644
--- a/user_guide/database/index.html
+++ b/user_guide/database/index.html
@@ -92,7 +92,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="examples.html">Quick Start: Usage Examples</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/queries.html b/user_guide/database/queries.html
index c8a3049..e3d6ab1 100644
--- a/user_guide/database/queries.html
+++ b/user_guide/database/queries.html
@@ -146,7 +146,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="results.html">Query Results</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/results.html b/user_guide/database/results.html
index 410dac8..75cb190 100644
--- a/user_guide/database/results.html
+++ b/user_guide/database/results.html
@@ -231,7 +231,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="helpers.html">Query Helper Functions</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/table_data.html b/user_guide/database/table_data.html
index 8b86ed5..90ce478 100644
--- a/user_guide/database/table_data.html
+++ b/user_guide/database/table_data.html
@@ -106,7 +106,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="fields.html"> Field Metadata</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/transactions.html b/user_guide/database/transactions.html
index c6ecac6..448e468 100644
--- a/user_guide/database/transactions.html
+++ b/user_guide/database/transactions.html
@@ -193,7 +193,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="table_data.html">Table Metadata</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/database/utilities.html b/user_guide/database/utilities.html
index 1ce63d3..ac38416 100644
--- a/user_guide/database/utilities.html
+++ b/user_guide/database/utilities.html
@@ -102,13 +102,13 @@
}</code>
-<h2><a name="exists"></a>$this->db->database_exists();</h2>
+<h2><a name="exists"></a>$this->dbutil->database_exists();</h2>
<p>Sometimes it's helpful to know whether a particular database exists.
Returns a boolean TRUE/FALSE. Usage example:</p>
<code>
-if ($this->db->database_exists('database_name'))<br />
+if ($this->dbutil->database_exists('database_name'))<br />
{<br />
// some code...<br />
}
@@ -307,7 +307,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../libraries/email.html"> Email Class</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/doc_style/index.html b/user_guide/doc_style/index.html
index 22637d3..2d2718d 100644
--- a/user_guide/doc_style/index.html
+++ b/user_guide/doc_style/index.html
@@ -80,7 +80,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../libraries/benchmark.html">Benchmarking Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/doc_style/template.html b/user_guide/doc_style/template.html
index d5ef5ca..d59d5e4 100644
--- a/user_guide/doc_style/template.html
+++ b/user_guide/doc_style/template.html
@@ -121,7 +121,7 @@
<a href="#">User Guide Home</a> ·
Next Topic: <a href="#">Next Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/alternative_php.html b/user_guide/general/alternative_php.html
index 3193c05..652cdad 100644
--- a/user_guide/general/alternative_php.html
+++ b/user_guide/general/alternative_php.html
@@ -140,7 +140,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="security.html">Security</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/ancillary_classes.html b/user_guide/general/ancillary_classes.html
index 92a8fd9..fc5d0be 100644
--- a/user_guide/general/ancillary_classes.html
+++ b/user_guide/general/ancillary_classes.html
@@ -110,7 +110,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="autoloader.html">Auto-loading Resources</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/autoloader.html b/user_guide/general/autoloader.html
index adcd226..e05ee03 100644
--- a/user_guide/general/autoloader.html
+++ b/user_guide/general/autoloader.html
@@ -93,7 +93,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="common_functions.html">Common Functions</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/caching.html b/user_guide/general/caching.html
index 5c1bcfd..440896b 100644
--- a/user_guide/general/caching.html
+++ b/user_guide/general/caching.html
@@ -108,7 +108,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="profiling.html">Profiling Your Application</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/common_functions.html b/user_guide/general/common_functions.html
index 0e68d11..03c4553 100644
--- a/user_guide/general/common_functions.html
+++ b/user_guide/general/common_functions.html
@@ -118,7 +118,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="routing.html">URI Routing</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/controllers.html b/user_guide/general/controllers.html
index 1d9cd03..91e700a 100644
--- a/user_guide/general/controllers.html
+++ b/user_guide/general/controllers.html
@@ -243,9 +243,17 @@
}<br />
}</code>
-<p>An array of leftover segments are passed into <kbd>_remap()</kbd> as an optional second parameter.</p>
+<p>Any extra segments after the method name are passed into <kbd>_remap()</kbd> as an optional second parameter. This array can be used in combination with PHP's <a href="http://php.net/call_user_func_array">call_user_func_array</a> to emulate CodeIgniter's default behavior.</p>
-
+<code>function _remap($method, $params = array())<br />
+{<br />
+ $method = 'process_'.$method;<br />
+ if (method_exists($this, $method)<br />
+ {<br />
+ return call_user_func_array(array($this, $method), $params);<br />
+ }<br />
+ show_404();<br />
+}</code>
<a name="output"></a>
@@ -373,7 +381,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="reserved_names.html">Reserved Names</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/core_classes.html b/user_guide/general/core_classes.html
index 35043d9..11410a3 100644
--- a/user_guide/general/core_classes.html
+++ b/user_guide/general/core_classes.html
@@ -84,8 +84,8 @@
<li>Log</li>
<li>Output</li>
<li>Router</li>
-<li>Unicode</li>
<li>URI</li>
+<li>Utf8</li>
</ul>
<h2>Replacing Core Classes</h2>
@@ -179,7 +179,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="hooks.html">Hooks - Extending the Core</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/creating_drivers.html b/user_guide/general/creating_drivers.html
index 920cc16..6208dd5 100644
--- a/user_guide/general/creating_drivers.html
+++ b/user_guide/general/creating_drivers.html
@@ -93,7 +93,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="core_classes.html">Creating Core System Classes</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/creating_libraries.html b/user_guide/general/creating_libraries.html
index e700f30..b7b66f0 100644
--- a/user_guide/general/creating_libraries.html
+++ b/user_guide/general/creating_libraries.html
@@ -286,7 +286,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="drivers.html">Using CodeIgniter Drivers</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/credits.html b/user_guide/general/credits.html
index 5423d58..b691592 100644
--- a/user_guide/general/credits.html
+++ b/user_guide/general/credits.html
@@ -79,7 +79,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../installation/downloads.html">Downloading CodeIgniter</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/drivers.html b/user_guide/general/drivers.html
index 3163c11..83ed985 100644
--- a/user_guide/general/drivers.html
+++ b/user_guide/general/drivers.html
@@ -97,7 +97,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="creating_drivers.html">Creating Drivers</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/errors.html b/user_guide/general/errors.html
index 5bd5011..98af3f0 100644
--- a/user_guide/general/errors.html
+++ b/user_guide/general/errors.html
@@ -133,7 +133,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="caching.html">Page Caching</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/helpers.html b/user_guide/general/helpers.html
index 98c0dca..cc3e226 100644
--- a/user_guide/general/helpers.html
+++ b/user_guide/general/helpers.html
@@ -178,7 +178,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="libraries.html">Using Libraries</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/hooks.html b/user_guide/general/hooks.html
index 0d87f3b..1a77389 100644
--- a/user_guide/general/hooks.html
+++ b/user_guide/general/hooks.html
@@ -158,7 +158,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="autoloader.html">Auto-loading Resources</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/libraries.html b/user_guide/general/libraries.html
index dc0d9b6..82c409b 100644
--- a/user_guide/general/libraries.html
+++ b/user_guide/general/libraries.html
@@ -91,7 +91,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="creating_libraries.html">Creating Libraries</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/managing_apps.html b/user_guide/general/managing_apps.html
index a1a96cf..4b4493d 100644
--- a/user_guide/general/managing_apps.html
+++ b/user_guide/general/managing_apps.html
@@ -126,7 +126,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="alternative_php.html">Alternative PHP Syntax</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/models.html b/user_guide/general/models.html
index eb6962f..9afec7e 100644
--- a/user_guide/general/models.html
+++ b/user_guide/general/models.html
@@ -244,7 +244,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="helpers.html">Helpers</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/profiling.html b/user_guide/general/profiling.html
index 7cb3f15..c8d7eb4 100644
--- a/user_guide/general/profiling.html
+++ b/user_guide/general/profiling.html
@@ -169,7 +169,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="managing_apps.html">Managing Applications</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/quick_reference.html b/user_guide/general/quick_reference.html
index d90e962..388f259 100644
--- a/user_guide/general/quick_reference.html
+++ b/user_guide/general/quick_reference.html
@@ -70,7 +70,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/requirements.html b/user_guide/general/requirements.html
index 6ae3da7..fbe3826 100644
--- a/user_guide/general/requirements.html
+++ b/user_guide/general/requirements.html
@@ -75,7 +75,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../license.html">License Agreement</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/reserved_names.html b/user_guide/general/reserved_names.html
index 3115d6a..c12ee6e 100644
--- a/user_guide/general/reserved_names.html
+++ b/user_guide/general/reserved_names.html
@@ -120,7 +120,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="views.html">Views</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/routing.html b/user_guide/general/routing.html
index a423eaa..e973d23 100644
--- a/user_guide/general/routing.html
+++ b/user_guide/general/routing.html
@@ -159,7 +159,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="errors.html">Error Handling</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/security.html b/user_guide/general/security.html
index 1a0ed13..8a41dff 100644
--- a/user_guide/general/security.html
+++ b/user_guide/general/security.html
@@ -146,7 +146,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="styleguide.html">PHP Style Guide</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/styleguide.html b/user_guide/general/styleguide.html
index f30f455..caddddc 100644
--- a/user_guide/general/styleguide.html
+++ b/user_guide/general/styleguide.html
@@ -672,7 +672,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../doc_style/index.html">Writing Documentation</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/urls.html b/user_guide/general/urls.html
index abddea8..4ce6c39 100644
--- a/user_guide/general/urls.html
+++ b/user_guide/general/urls.html
@@ -144,7 +144,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="controllers.html">Controllers</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/general/views.html b/user_guide/general/views.html
index 228eb64..fd5bde6 100644
--- a/user_guide/general/views.html
+++ b/user_guide/general/views.html
@@ -267,7 +267,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="models.html">Models</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/array_helper.html b/user_guide/helpers/array_helper.html
index 6d95c4a..2bbf89c 100644
--- a/user_guide/helpers/array_helper.html
+++ b/user_guide/helpers/array_helper.html
@@ -163,7 +163,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="compatibility_helper.html">Compatibility Helper</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/captcha_helper.html b/user_guide/helpers/captcha_helper.html
index d6eb065..3a863c9 100644
--- a/user_guide/helpers/captcha_helper.html
+++ b/user_guide/helpers/captcha_helper.html
@@ -188,7 +188,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/cookie_helper.html b/user_guide/helpers/cookie_helper.html
index d0471d7..860979b 100644
--- a/user_guide/helpers/cookie_helper.html
+++ b/user_guide/helpers/cookie_helper.html
@@ -100,7 +100,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="date_helper.html">Date Helper</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/date_helper.html b/user_guide/helpers/date_helper.html
index f8775b1..ba9aa8e 100644
--- a/user_guide/helpers/date_helper.html
+++ b/user_guide/helpers/date_helper.html
@@ -129,12 +129,12 @@
<tr>
<td>DATE_ISO8601</td>
<td>ISO-8601</td>
- <td>2005-08-14T16:13:03+0000</td>
+ <td>2005-08-14T16:13:03+00:00</td>
</tr>
<tr>
<td>DATE_RFC822</td>
<td>RFC 822</td>
- <td>Sun, 14 Aug 2005 16:13:03 UTC</td>
+ <td>Sun, 14 Aug 05 16:13:03 UTC</td>
</tr>
<tr>
<td>DATE_RFC850</td>
@@ -401,7 +401,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="directory_helper.html">Directory Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/directory_helper.html b/user_guide/helpers/directory_helper.html
index 6e4faef..d9a3d0e 100644
--- a/user_guide/helpers/directory_helper.html
+++ b/user_guide/helpers/directory_helper.html
@@ -136,7 +136,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="download_helper.html">Download Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/download_helper.html b/user_guide/helpers/download_helper.html
index 4c0e201..7fc9c44 100644
--- a/user_guide/helpers/download_helper.html
+++ b/user_guide/helpers/download_helper.html
@@ -105,7 +105,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="email_helper.html">Email Helper</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/email_helper.html b/user_guide/helpers/email_helper.html
index 0084ada..6e11ba0 100644
--- a/user_guide/helpers/email_helper.html
+++ b/user_guide/helpers/email_helper.html
@@ -95,7 +95,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="file_helper.html">File Helper</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/file_helper.html b/user_guide/helpers/file_helper.html
index dd9df95..85a76e1 100644
--- a/user_guide/helpers/file_helper.html
+++ b/user_guide/helpers/file_helper.html
@@ -172,7 +172,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="form_helper.html">Form Helper</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/form_helper.html b/user_guide/helpers/form_helper.html
index 0aaa8f6..62544c4 100644
--- a/user_guide/helpers/form_helper.html
+++ b/user_guide/helpers/form_helper.html
@@ -477,7 +477,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="html_helper.html">HTML Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/html_helper.html b/user_guide/helpers/html_helper.html
index 845ecf1..07fd6d3 100644
--- a/user_guide/helpers/html_helper.html
+++ b/user_guide/helpers/html_helper.html
@@ -378,7 +378,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="path_helper.html"> Path Helper</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/inflector_helper.html b/user_guide/helpers/inflector_helper.html
index 9dcd1fc..bd44fea 100644
--- a/user_guide/helpers/inflector_helper.html
+++ b/user_guide/helpers/inflector_helper.html
@@ -144,7 +144,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="number_helper.html">Number Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/language_helper.html b/user_guide/helpers/language_helper.html
index ada6c60..5c0cb26 100644
--- a/user_guide/helpers/language_helper.html
+++ b/user_guide/helpers/language_helper.html
@@ -91,7 +91,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="download_helper.html">Download Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/number_helper.html b/user_guide/helpers/number_helper.html
index 9274e0c..afe5bc3 100644
--- a/user_guide/helpers/number_helper.html
+++ b/user_guide/helpers/number_helper.html
@@ -106,7 +106,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="path_helper.html">Path Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/path_helper.html b/user_guide/helpers/path_helper.html
index c1d7b02..205cce2 100644
--- a/user_guide/helpers/path_helper.html
+++ b/user_guide/helpers/path_helper.html
@@ -99,7 +99,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="security_helper.html">Security Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/security_helper.html b/user_guide/helpers/security_helper.html
index f74a776..2dba7bb 100644
--- a/user_guide/helpers/security_helper.html
+++ b/user_guide/helpers/security_helper.html
@@ -125,7 +125,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="smiley_helper.html">Smiley Helper</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/smiley_helper.html b/user_guide/helpers/smiley_helper.html
index 6846b78..18df987 100644
--- a/user_guide/helpers/smiley_helper.html
+++ b/user_guide/helpers/smiley_helper.html
@@ -208,7 +208,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="string_helper.html">String Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/string_helper.html b/user_guide/helpers/string_helper.html
index d3f97fb..11b6b27 100644
--- a/user_guide/helpers/string_helper.html
+++ b/user_guide/helpers/string_helper.html
@@ -171,7 +171,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="text_helper.html">Text Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/text_helper.html b/user_guide/helpers/text_helper.html
index 6a68180..a7f0f2b 100644
--- a/user_guide/helpers/text_helper.html
+++ b/user_guide/helpers/text_helper.html
@@ -204,7 +204,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="typography_helper.html">Typography Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/typography_helper.html b/user_guide/helpers/typography_helper.html
index 96a68e9..425c20e 100644
--- a/user_guide/helpers/typography_helper.html
+++ b/user_guide/helpers/typography_helper.html
@@ -105,7 +105,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="url_helper.html">URL Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/url_helper.html b/user_guide/helpers/url_helper.html
index 5b47802..6d8bdc2 100644
--- a/user_guide/helpers/url_helper.html
+++ b/user_guide/helpers/url_helper.html
@@ -281,7 +281,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="xml_helper.html">XML Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/helpers/xml_helper.html b/user_guide/helpers/xml_helper.html
index 50179ce..446a01d 100644
--- a/user_guide/helpers/xml_helper.html
+++ b/user_guide/helpers/xml_helper.html
@@ -98,7 +98,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/images/reactor-bullet.png b/user_guide/images/reactor-bullet.png
new file mode 100755
index 0000000..89c8129
--- /dev/null
+++ b/user_guide/images/reactor-bullet.png
Binary files differ
diff --git a/user_guide/index.html b/user_guide/index.html
index a1d56d4..882eec0 100644
--- a/user_guide/index.html
+++ b/user_guide/index.html
@@ -90,7 +90,7 @@
<div id="footer">
<p><a href="#top">Top of Page</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
diff --git a/user_guide/installation/downloads.html b/user_guide/installation/downloads.html
index f557a78..d580fde 100644
--- a/user_guide/installation/downloads.html
+++ b/user_guide/installation/downloads.html
@@ -102,7 +102,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../installation/index.html">Installation Instructions</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/index.html b/user_guide/installation/index.html
index 973d210..9a611eb 100644
--- a/user_guide/installation/index.html
+++ b/user_guide/installation/index.html
@@ -95,7 +95,7 @@
Next Topic: <a href="upgrading.html">Upgrading from a Previous Version</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/troubleshooting.html b/user_guide/installation/troubleshooting.html
index 0c05ed6..c1c423a 100644
--- a/user_guide/installation/troubleshooting.html
+++ b/user_guide/installation/troubleshooting.html
@@ -83,7 +83,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../overview/at_a_glance.html">CodeIgniter at a Glance</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_120.html b/user_guide/installation/upgrade_120.html
index ec94727..da49549 100644
--- a/user_guide/installation/upgrade_120.html
+++ b/user_guide/installation/upgrade_120.html
@@ -85,7 +85,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_130.html b/user_guide/installation/upgrade_130.html
index bd43dd9..7591776 100644
--- a/user_guide/installation/upgrade_130.html
+++ b/user_guide/installation/upgrade_130.html
@@ -196,7 +196,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_131.html b/user_guide/installation/upgrade_131.html
index db02b48..a2f7425 100644
--- a/user_guide/installation/upgrade_131.html
+++ b/user_guide/installation/upgrade_131.html
@@ -95,7 +95,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_132.html b/user_guide/installation/upgrade_132.html
index 2caf977..e0e5622 100644
--- a/user_guide/installation/upgrade_132.html
+++ b/user_guide/installation/upgrade_132.html
@@ -93,7 +93,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_133.html b/user_guide/installation/upgrade_133.html
index e3d0581..1fb537a 100644
--- a/user_guide/installation/upgrade_133.html
+++ b/user_guide/installation/upgrade_133.html
@@ -105,7 +105,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_140.html b/user_guide/installation/upgrade_140.html
index 1d6b7ec..9da635c 100644
--- a/user_guide/installation/upgrade_140.html
+++ b/user_guide/installation/upgrade_140.html
@@ -138,7 +138,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_141.html b/user_guide/installation/upgrade_141.html
index 1211280..f1dad54 100644
--- a/user_guide/installation/upgrade_141.html
+++ b/user_guide/installation/upgrade_141.html
@@ -141,7 +141,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_150.html b/user_guide/installation/upgrade_150.html
index 7e9bfa8..dd5a90d 100644
--- a/user_guide/installation/upgrade_150.html
+++ b/user_guide/installation/upgrade_150.html
@@ -171,7 +171,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_152.html b/user_guide/installation/upgrade_152.html
index 0b386a6..f548e25 100644
--- a/user_guide/installation/upgrade_152.html
+++ b/user_guide/installation/upgrade_152.html
@@ -104,7 +104,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_153.html b/user_guide/installation/upgrade_153.html
index b32130d..d76d8f1 100644
--- a/user_guide/installation/upgrade_153.html
+++ b/user_guide/installation/upgrade_153.html
@@ -93,7 +93,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_154.html b/user_guide/installation/upgrade_154.html
index 33fbef4..4c534ff 100644
--- a/user_guide/installation/upgrade_154.html
+++ b/user_guide/installation/upgrade_154.html
@@ -109,7 +109,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_160.html b/user_guide/installation/upgrade_160.html
index b6a946d..366826f 100644
--- a/user_guide/installation/upgrade_160.html
+++ b/user_guide/installation/upgrade_160.html
@@ -118,7 +118,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_161.html b/user_guide/installation/upgrade_161.html
index 81d592c..c809b63 100644
--- a/user_guide/installation/upgrade_161.html
+++ b/user_guide/installation/upgrade_161.html
@@ -91,7 +91,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_162.html b/user_guide/installation/upgrade_162.html
index 630fc3f..f4792c2 100644
--- a/user_guide/installation/upgrade_162.html
+++ b/user_guide/installation/upgrade_162.html
@@ -99,7 +99,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_163.html b/user_guide/installation/upgrade_163.html
index 222b7b4..915a723 100644
--- a/user_guide/installation/upgrade_163.html
+++ b/user_guide/installation/upgrade_163.html
@@ -92,7 +92,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_170.html b/user_guide/installation/upgrade_170.html
index 91238ec..d286cf2 100644
--- a/user_guide/installation/upgrade_170.html
+++ b/user_guide/installation/upgrade_170.html
@@ -114,7 +114,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_171.html b/user_guide/installation/upgrade_171.html
index d9cbcc0..6058232 100644
--- a/user_guide/installation/upgrade_171.html
+++ b/user_guide/installation/upgrade_171.html
@@ -91,7 +91,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_172.html b/user_guide/installation/upgrade_172.html
index 0f95a81..b5c95b1 100644
--- a/user_guide/installation/upgrade_172.html
+++ b/user_guide/installation/upgrade_172.html
@@ -102,7 +102,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_200.html b/user_guide/installation/upgrade_200.html
index 16c7d8d..c4a5887 100644
--- a/user_guide/installation/upgrade_200.html
+++ b/user_guide/installation/upgrade_200.html
@@ -124,7 +124,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrade_b11.html b/user_guide/installation/upgrade_b11.html
index 8604d51..dd0a9bc 100644
--- a/user_guide/installation/upgrade_b11.html
+++ b/user_guide/installation/upgrade_b11.html
@@ -137,7 +137,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/installation/upgrading.html b/user_guide/installation/upgrading.html
index eb1cd9d..9f95783 100644
--- a/user_guide/installation/upgrading.html
+++ b/user_guide/installation/upgrading.html
@@ -95,7 +95,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="troubleshooting.html">Troubleshooting</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/benchmark.html b/user_guide/libraries/benchmark.html
index 05f7cc0..e8182d0 100644
--- a/user_guide/libraries/benchmark.html
+++ b/user_guide/libraries/benchmark.html
@@ -191,7 +191,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="calendar.html">Calendar Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/caching.html b/user_guide/libraries/caching.html
index e4651dc..3d33544 100644
--- a/user_guide/libraries/caching.html
+++ b/user_guide/libraries/caching.html
@@ -186,7 +186,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="profiling.html">Profiling Your Application</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/calendar.html b/user_guide/libraries/calendar.html
index 2c05242..347b3d9 100644
--- a/user_guide/libraries/calendar.html
+++ b/user_guide/libraries/calendar.html
@@ -242,7 +242,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="cart.html">Cart Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/cart.html b/user_guide/libraries/cart.html
index ba95b24..bc0721b 100644
--- a/user_guide/libraries/cart.html
+++ b/user_guide/libraries/cart.html
@@ -339,7 +339,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="config.html">Config Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/config.html b/user_guide/libraries/config.html
index 10892de..98b6052 100644
--- a/user_guide/libraries/config.html
+++ b/user_guide/libraries/config.html
@@ -191,7 +191,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../database/index.html">Database Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/email.html b/user_guide/libraries/email.html
index b863ef4..a02d658 100644
--- a/user_guide/libraries/email.html
+++ b/user_guide/libraries/email.html
@@ -300,7 +300,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="encryption.html">Encryption Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/encryption.html b/user_guide/libraries/encryption.html
index fbffd63..f6fb2b8 100644
--- a/user_guide/libraries/encryption.html
+++ b/user_guide/libraries/encryption.html
@@ -217,7 +217,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="file_uploading.html">File Uploading Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/file_uploading.html b/user_guide/libraries/file_uploading.html
index 54725d0..c5eab46 100644
--- a/user_guide/libraries/file_uploading.html
+++ b/user_guide/libraries/file_uploading.html
@@ -444,7 +444,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="form_validation.html">Form Validation Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/form_validation.html b/user_guide/libraries/form_validation.html
index eae2036..935dca6 100644
--- a/user_guide/libraries/form_validation.html
+++ b/user_guide/libraries/form_validation.html
@@ -1211,7 +1211,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="ftp.html">FTP Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/ftp.html b/user_guide/libraries/ftp.html
index 4931776..e3c0674 100644
--- a/user_guide/libraries/ftp.html
+++ b/user_guide/libraries/ftp.html
@@ -309,7 +309,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="table.html">HTML Table Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/image_lib.html b/user_guide/libraries/image_lib.html
index 98ed4f6..0f023cf 100644
--- a/user_guide/libraries/image_lib.html
+++ b/user_guide/libraries/image_lib.html
@@ -660,7 +660,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="input.html">Input Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/input.html b/user_guide/libraries/input.html
index d838cf0..552c49a 100644
--- a/user_guide/libraries/input.html
+++ b/user_guide/libraries/input.html
@@ -262,7 +262,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="loader.html">Loader Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/javascript.html b/user_guide/libraries/javascript.html
index 0f1d0a0..18b7181 100644
--- a/user_guide/libraries/javascript.html
+++ b/user_guide/libraries/javascript.html
@@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
-<title>CodeIgniter User Guide : Input Class</title>
+<title>JavaScript Driver : CodeIgniter User Guide</title>
<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
@@ -42,7 +42,8 @@
<td id="breadcrumb">
<a href="http://codeigniter.com/">CodeIgniter Home</a> ›
<a href="../index.html">User Guide Home</a> ›
-Input Class
+<a href="../general/drivers.html">Drivers</a> ›
+JavaScript Driver
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
@@ -55,11 +56,12 @@
<!-- START CONTENT -->
<div id="content">
+<p class="important"><strong>Note:</strong> This driver is experimental. Its feature set and implementation may change in future releases.</p><br>
-<h1>Javascript Class</h1>
-<p>Rewrite this paragraph: <a href="http://jquery.com/">jQuery</a> is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. CodeIgniter provides a library to help you with certain common functions that you may want to use within jQuery. Please note that CodeIgniter does not require the jQuery library to run, and that any scripting library will work equally well. The jQuery library is simply presented as a convenience if you choose to use it.</p>
+<h1>Javascript Driver</h1>
+<p>CodeIgniter provides a library to help you with certain common functions that you may want to use with Javascript. Please note that CodeIgniter does not require the jQuery library to run, and that any scripting library will work equally well. The jQuery library is simply presented as a convenience if you choose to use it.</p>
<h2>Initializing the Class</h2>
-<p>To initialize the jQuery class manually in your controller constructor, use the <dfn>$this->load->library</dfn> function. Currently, the only available library is jQuery, which will automatically be loaded like this:</p>
+<p>To initialize the Javascript class manually in your controller constructor, use the <dfn>$this->load->library</dfn> function. Currently, the only available library is jQuery, which will automatically be loaded like this:</p>
<code>$this->load->library('javascript');</code>
@@ -72,20 +74,161 @@
<p>Once loaded, the jQuery library object will be available using: <dfn>$this->javascript</dfn></p>
<h2>Setup and Configuration</h2>
<h3>Set these variables in your view</h3>
-<p>As a javascript library, your files must be available to your application. For your convenience, the needed files to run this library are available for <a href="http://codeigniter.com/downloads/">download</a> from our site.</p>
-<p>As javascript is a client side language, the library must be able to write content into your final output. This generally means a view. You'll need to include the following variables in the <head> sections of your output.</p>
+<p>As a Javascript library, your files must be available to your application.</p>
+<p>As Javascript is a client side language, the library must be able to write content into your final output. This generally means a view. You'll need to include the following variables in the <head> sections of your output.</p>
<p><code><?php echo $library_src;?><br />
<?php echo $script_head;?>
</code></p>
<p>$library_src, is where the actual library file will be loaded, as well as any subsequent plugin script calls; $script_head is where specific events, functions and other commands will be rendered.</p>
<h3>Set the path to the librarys with config items</h3>
-<p>There are some configuration items in javascript library. These can either be set in application/config.php, within its own confg/javascript.php file, or within any controller usings the set_item() function. </p>
+<p>There are some configuration items in Javascript library. These can either be set in application/config.php, within its own config/javascript.php file, or within any controller usings the set_item() function. </p>
<p>An image to be used as an "ajax loader", or progress indicator. Without one, the simple text message of "loading" will appear when Ajax calls need to be made.</p>
-<p><code>$config['javascript_location'] = 'http://localhost/codeigniter/themes/js/jquery/');<br />
+<p><code>$config['javascript_location'] = 'http://localhost/codeigniter/themes/js/jquery/';<br />
$config['javascript_ajax_img'] = 'images/ajax-loader.gif';</code></p>
<p>If you keep your files in the same directories they were downloaded from, then you need not set this configuration items.</p>
-<p>For information on outputting events, effects, etc., refer to the <a href="jquery.html">jQuery Class</a> documentation.</p>
+<h2>The jQuery Class</h2>
+
+<p>To initialize the jQuery class manually in your controller constructor, use the <dfn>$this->load->library</dfn> function:</p>
+
+<code>$this->load->library('jquery');</code>
+
+<p>You may send an optional parameter to determine whether or not a script tag for the main jQuery file will be automatically included when loading the library. It will be created by default. To prevent this, load the library as follows:</p>
+
+<code>$this->load->library('jquery', FALSE);</code>
+
+<p>Once loaded, the jQuery library object will be available using: <dfn>$this->jquery</dfn></p>
+
+<h2>jQuery Events</h2>
+
+<p>Events are set using the following syntax.</p>
+
+<p><code>$this->jquery->event('element_path', code_to_run());</code></p>
+
+<p>In the above example:</p>
+
+<ul>
+ <li>"event" is any of blur, change, click, dblclick, error, focus, hover, keydown, keyup, load, mousedown, mouseup, mouseover, mouseup, resize, scroll, or unload.</li>
+ <li>"element_path" is any valid <a href="http://docs.jquery.com/Selectors">jQuery selector</a>. Due to jQuery's unique selector syntax, this is usually an element id, or CSS selector. For example "#notice_area" would effect <div id="notice_area">, and "#content a.notice" would effect all anchors with a class of "notice" in the div with id "content".</li>
+ <li>"code_to_run()" is script your write yourself, or an action such as an effect from the jQuery library below.</li>
+ </ul>
+
+<h2>Effects</h2>
+
+<p>The query library supports a powerful <a href="http://docs.jquery.com/Effects">Effects</a> repertoire. Before an effect can be used, it must be loaded:</p>
+
+<p><code>$this->jquery->effect([optional path] plugin name);
+// for example
+$this->jquery->effect('bounce');
+</code></p>
+
+<h3>hide() / show()</h3>
+
+<p>Each of this functions will affect the visibility of an item on your page. hide() will set an item invisible, show() will reveal it.</p>
+<p><code>$this->jquery->hide(target, optional speed, optional extra information);<br />
+ $this->jquery->show(target, optional speed, optional extra information);</code></p>
+
+<ul>
+ <li>"target" will be any valid jQuery selector or selectors.</li>
+ <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
+ <li>"extra information" is optional, and could include a callback, or other additional information.</li>
+</ul>
+
+<h3>toggle()</h3>
+
+<p>toggle() will change the visibility of an item to the opposite of its current state, hiding visible elements, and revealing hidden ones.</p>
+<p><code>$this->jquery->toggle(target);</code></p>
+<ul>
+ <li>"target" will be any valid jQuery selector or selectors.</li>
+</ul>
+
+<h3>animate()</h3>
+
+<p><code> $this->jquery->animate(target, parameters, optional speed, optional extra information);</code></p>
+<ul>
+ <li>"target" will be any valid jQuery selector or selectors.</li>
+ <li>"paramters" in jQuery would generally include a series of CSS properties that you wish to change.</li>
+ <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
+ <li>"extra information" is optional, and could include a callback, or other additional information.</li>
+</ul>
+<p>For a full summary, see <a href="http://docs.jquery.com/Effects/animate">http://docs.jquery.com/Effects/animate</a></p>
+<p>Here is an example of an animate() called on a div with an id of "note", and triggered by a click using the jQuery library's click() event.</p>
+<p><code> $params = array(<br />
+ 'height' => 80,<br />
+ 'width' => '50%',<br />
+ 'marginLeft' => 125<br />
+);<br />
+$this->jquery->click('#trigger', $this->jquery->animate('#note', $params, normal));</code></p>
+
+<h3>fadeIn() / fadeOut()</h3>
+
+<p><code>$this->jquery->fadeIn(target, optional speed, optional extra information);<br />
+ $this->jquery->fadeOut(target, optional speed, optional extra information);</code></p>
+<ul>
+ <li>"target" will be any valid jQuery selector or selectors.</li>
+ <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
+ <li>"extra information" is optional, and could include a callback, or other additional information.</li>
+</ul>
+
+<h3>toggleClass()</h3>
+
+<p>This function will add or remove a CSS class to its target.</p>
+<p><code>$this->jquery->toggleClass(target, class)</code></p>
+<ul>
+ <li>"target" will be any valid jQuery selector or selectors.</li>
+ <li>"class" is any CSS classname. Note that this class must be defined and available in a CSS that is already loaded.</li>
+ </ul>
+
+<h3>fadeIn() / fadeOut()</h3>
+
+<p>These effects cause an element(s) to disappear or reappear over time.</p>
+<p><code>$this->jquery->fadeIn(target, optional speed, optional extra information);<br />
+ $this->jquery->fadeOut(target, optional speed, optional extra information);</code></p>
+<ul>
+ <li>"target" will be any valid jQuery selector or selectors.</li>
+ <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
+ <li>"extra information" is optional, and could include a callback, or other additional information.</li>
+</ul>
+
+<h3>slideUp() / slideDown() / slideToggle()</h3>
+
+<p>These effects cause an element(s) to slide.</p>
+<p><code>$this->jquery->slideUp(target, optional speed, optional extra information);<br />
+ $this->jquery->slideDown(target, optional speed, optional extra information);<br />
+$this->jquery->slideToggle(target, optional speed, optional extra information);</code></p>
+<ul>
+ <li>"target" will be any valid jQuery selector or selectors.</li>
+ <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
+ <li>"extra information" is optional, and could include a callback, or other additional information.</li>
+</ul>
+
+<h2>Plugins</h2>
+
+<p>
+
+<p>Some select jQuery plugins are made available using this library.</p>
+
+<h3>corner()</h3>
+<p>Used to add distinct corners to page elements. For full details see <a href="http://www.malsup.com/jquery/corner/">http://www.malsup.com/jquery/corner/</a></p>
+<p><code>$this->jquery->corner(target, corner_style);</code></p>
+<ul>
+ <li>"target" will be any valid jQuery selector or selectors.</li>
+ <li>"corner_style" is optional, and can be set to any valid style such as round, sharp, bevel, bite, dog, etc. Individual corners can be set by following the style with a space and using "tl" (top left), "tr" (top right), "bl" (bottom left), or "br" (bottom right).</li>
+</ul>
+<p><code>$this->jquery->corner("#note", "cool tl br");</code></p>
+
+<h3>tablesorter()</h3>
+
+<p>description to come</p>
+
+<h3>modal()</h3>
+
+<p>description to come</p>
+
+<h3>calendar()</h3>
+
+<p>description to come</p>
+
</div>
<!-- END CONTENT -->
@@ -97,7 +240,7 @@
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="language.html">Language Class</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/jquery.html b/user_guide/libraries/jquery.html
deleted file mode 100644
index d8307f3..0000000
--- a/user_guide/libraries/jquery.html
+++ /dev/null
@@ -1,236 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-
-<title>CodeIgniter User Guide : Input Class</title>
-
-<style type='text/css' media='all'>@import url('../userguide.css');</style>
-<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
-
-<script type="text/javascript" src="../nav/nav.js"></script>
-<script type="text/javascript" src="../nav/prototype.lite.js"></script>
-<script type="text/javascript" src="../nav/moo.fx.js"></script>
-<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta http-equiv='expires' content='-1' />
-<meta http-equiv= 'pragma' content='no-cache' />
-<meta name='robots' content='all' />
-<meta name='author' content='ExpressionEngine Dev Team' />
-<meta name='description' content='CodeIgniter User Guide' />
-
-</head>
-<body>
-
-<!-- START NAVIGATION -->
-<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
-<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
-<div id="masthead">
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.0</h1></td>
-<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
-</tr>
-</table>
-</div>
-<!-- END NAVIGATION -->
-
-
-<!-- START BREADCRUMB -->
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td id="breadcrumb">
-<a href="http://codeigniter.com/">CodeIgniter Home</a> ›
-<a href="../index.html">User Guide Home</a> ›
-Input Class
-</td>
-<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Go" /></form></td>
-</tr>
-</table>
-<!-- END BREADCRUMB -->
-
-<br clear="all" />
-
-
-<!-- START CONTENT -->
-<div id="content">
-
-
-<h1>jQuery Class</h1>
-
-<p><a href="http://jquery.com/">jQuery</a> is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. CodeIgniter provides a library to help you with certain common functions that you may want to use within jQuery. Please note that CodeIgniter does not require the jQuery library to run, and that any scripting library will work equally well. The jQuery library is simply presented as a convenience if you choose to use it.</p>
-
-<h2>Initializing the Class</h2>
-
-<p>To initialize the jQuery class manually in your controller constructor, use the <dfn>$this->load->library</dfn> function:</p>
-
-<code>$this->load->library('jquery');</code>
-
-<p>You may send an optional parameter to determine whether or not a script tag for the main jQuery file will be automatically included when loading the library. It will be created by default. To prevent this, load the library as follows:</p>
-
-<code>$this->load->library('jquery', FALSE);</code>
-
-<p>Once loaded, the jQuery library object will be available using: <dfn>$this->jquery</dfn></p>
-
-<h2>Setup and Configuration</h2>
-
-<p>As a javascript library, jquery.js must be available to your application. For your convenience, the needed files to run this library are available for <a href="http://codeigniter.com/downloads/">download</a> from our site.</p>
-
-<p>As javascript is a client side language, the library must be able to write content into your final output. This generally means a view. You'll need to include the following variables in the <head> sections of your output.</p>
-
-<p><code><?php echo $jquery_script;?><br />
-<?php echo $script_head;?></code></p>
-
-<p>There are 2 configuration items in jQuery library. These can either be set in application/config.php, or within any controller. The first is the path from the root of your site to the jquery library ('js' is the default) and the second is an image to be used as an "ajax loader", or progress indicator. Without one, the simple text message of "loading" will appear when Ajax calls need to be made.</p>
-
-<p><code>$config['javascript_folder'] = 'js';<br />
- $config['javascript_ajax_img'] = 'images/ajax-loader.gif';</code></p>
-
-<p>If you keep your files in the same directories they were downloaded from, then you needed set this configuration items.</p>
-
-<h2>Events</h2>
-
-<p>Events are set using the following syntax.</p>
-
-<p><code>$this->jquery->event('element_path', code_to_run());</code></p>
-
-<p>In the above example:</p>
-
-<ul>
- <li>"event" is any of blur, change, click, dblclick, error, focus, hover, keydown, keyup, load, mousedown, mouseup, mouseover, mouseup, resize, scroll, or unload.</li>
- <li>"element_path" is any valid <a href="http://docs.jquery.com/Selectors">jQuery selector</a>. Due to jQuery's unique selector syntax, this is usually an element id, or CSS selector. For example "#notice_area" would effect <div id="notice_area">, and "#content a.notice" would effect all anchors with a class of "notice" in the div with id "content".</li>
- <li>"code_to_run()" is script your write yourself, or an action such as an effect from the jQuery library below.</li>
- </ul>
-
-<h2>Effects</h2>
-
-<p>The query library supports a powerful <a href="http://docs.jquery.com/Effects">Effects</a> repertoire. Before an effect can be used, it must be loaded:</p>
-
-<p><code>$this->jquery->effect([optional path] plugin name);
-// for example
-$this->jquery->effect('bounce');
-</code></p>
-
-<h3>hide() / show()</h3>
-
-<p>Each of this functions will affect the visibility of an item on your page. hide() will set an item invisible, show() will reveal it.</p>
-<p><code>$this->jquery->hide(target, optional speed, optional extra information);<br />
- $this->jquery->show(target, optional speed, optional extra information);</code></p>
-
-<ul>
- <li>"target" will be any valid jQuery selector or selectors.</li>
- <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
- <li>"extra information" is optional, and could include a callback, or other additional information.</li>
-</ul>
-
-<h3>toggle()</h3>
-
-<p>toggle() will change the visibility of an item to the opposite of its current state, hiding visible elements, and revealing hidden ones.</p>
-<p><code>$this->jquery->toggle(target);</code></p>
-<ul>
- <li>"target" will be any valid jQuery selector or selectors.</li>
-</ul>
-
-<h3>animate()</h3>
-
-<p><code> $this->jquery->animate(target, parameters, optional speed, optional extra information);</code></p>
-<ul>
- <li>"target" will be any valid jQuery selector or selectors.</li>
- <li>"paramters" in jQuery would generally include a series of CSS properties that you wish to change.</li>
- <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
- <li>"extra information" is optional, and could include a callback, or other additional information.</li>
-</ul>
-<p>For a full summary, see <a href="http://docs.jquery.com/Effects/animate">http://docs.jquery.com/Effects/animate</a></p>
-<p>Here is an example of an animate() called on a div with an id of "note", and triggered by a click using the jQuery library's click() event.</p>
-<p><code> $params = array(<br />
- 'height' => 80,<br />
- 'width' => '50%',<br />
- 'marginLeft' => 125<br />
-);<br />
-$this->jquery->click('#trigger', $this->jquery->animate('#note', $params, normal));</code></p>
-
-<h3>fadeIn() / fadeOut()</h3>
-
-<p><code>$this->jquery->fadeIn(target, optional speed, optional extra information);<br />
- $this->jquery->fadeOut(target, optional speed, optional extra information);</code></p>
-<ul>
- <li>"target" will be any valid jQuery selector or selectors.</li>
- <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
- <li>"extra information" is optional, and could include a callback, or other additional information.</li>
-</ul>
-
-<h3>toggleClass()</h3>
-
-<p>This function will add or remove a CSS class to its target.</p>
-<p><code>$this->jquery->toggleClass(target, class)</code></p>
-<ul>
- <li>"target" will be any valid jQuery selector or selectors.</li>
- <li>"class" is any CSS classname. Note that this class must be defined and available in a CSS that is already loaded.</li>
- </ul>
-
-<h3>fadeIn() / fadeOut()</h3>
-
-<p>These effects cause an element(s) to disappear or reappear over time.</p>
-<p><code>$this->jquery->fadeIn(target, optional speed, optional extra information);<br />
- $this->jquery->fadeOut(target, optional speed, optional extra information);</code></p>
-<ul>
- <li>"target" will be any valid jQuery selector or selectors.</li>
- <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
- <li>"extra information" is optional, and could include a callback, or other additional information.</li>
-</ul>
-
-<h3>slideUp() / slideDown() / slideToggle()</h3>
-
-<p>These effects cause an element(s) to slide.</p>
-<p><code>$this->jquery->slideUp(target, optional speed, optional extra information);<br />
- $this->jquery->slideDown(target, optional speed, optional extra information);<br />
-$this->jquery->slideToggle(target, optional speed, optional extra information);</code></p>
-<ul>
- <li>"target" will be any valid jQuery selector or selectors.</li>
- <li>"speed" is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
- <li>"extra information" is optional, and could include a callback, or other additional information.</li>
-</ul>
-
-<h2>Plugins</h2>
-
-<p>
-
-<p>Some select jQuery plugins are made available using this library.</p>
-
-<h3>corner()</h3>
-<p>Used to add distinct corners to page elements. For full details see <a href="http://www.malsup.com/jquery/corner/">http://www.malsup.com/jquery/corner/</a></p>
-<p><code>$this->jquery->corner(target, corner_style);</code></p>
-<ul>
- <li>"target" will be any valid jQuery selector or selectors.</li>
- <li>"corner_style" is optional, and can be set to any valid style such as round, sharp, bevel, bite, dog, etc. Individual corners can be set by following the style with a space and using "tl" (top left), "tr" (top right), "bl" (bottom left), or "br" (bottom right).</li>
-</ul>
-<p><code>$this->jquery->corner("#note", "cool tl br");</code></p>
-
-<h3>tablesorter()</h3>
-
-<p>description to come</p>
-
-<h3>modal()</h3>
-
-<p>description to come</p>
-
-<h3>calendar()</h3>
-
-<p>description to come</p>
-
-</div>
-<!-- END CONTENT -->
-
-
-<div id="footer">
-<p>
-Previous Topic: <a href="input.html">Input Class</a>
- ·
-<a href="#top">Top of Page</a> ·
-<a href="../index.html">User Guide Home</a> ·
-Next Topic: <a href="language.html">Language Class</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
-</div>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/user_guide/libraries/language.html b/user_guide/libraries/language.html
index c37f009..dfdccad 100644
--- a/user_guide/libraries/language.html
+++ b/user_guide/libraries/language.html
@@ -130,7 +130,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="output.html">Output Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/loader.html b/user_guide/libraries/loader.html
index 34e3929..af312f4 100644
--- a/user_guide/libraries/loader.html
+++ b/user_guide/libraries/loader.html
@@ -248,7 +248,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="language.html">Language Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/output.html b/user_guide/libraries/output.html
index a1427de..ab8f1d6 100644
--- a/user_guide/libraries/output.html
+++ b/user_guide/libraries/output.html
@@ -155,7 +155,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="pagination.html">Pagination Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/pagination.html b/user_guide/libraries/pagination.html
index 42c102c..da07c79 100644
--- a/user_guide/libraries/pagination.html
+++ b/user_guide/libraries/pagination.html
@@ -222,7 +222,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="sessions.html">Session Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/parser.html b/user_guide/libraries/parser.html
index ece61c1..5bb403a 100644
--- a/user_guide/libraries/parser.html
+++ b/user_guide/libraries/parser.html
@@ -205,7 +205,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="typography.html">Typography</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/security.html b/user_guide/libraries/security.html
index 6d6216d..943f72a 100644
--- a/user_guide/libraries/security.html
+++ b/user_guide/libraries/security.html
@@ -104,11 +104,18 @@
<p>If it is acceptable for the user input to include relative paths, e.g. <kbd>file/in/some/approved/folder.txt</kbd>, you can set the second optional parameter,
<samp>$relative_path</samp> to TRUE.</p>
-
+
<code>$filename = $this->security->sanitize_filename($this->input->post('filename'), TRUE);</code>
<!-- @todo write docs for CSRF methods -->
+<h2>Cross-site request forgery (CSRF)</h2>
+
+<p>You can enable csrf protection by opening your <kbd>application/config/config.php</kbd> file and setting this:</p>
+<code>$config['csrf_protection'] = TRUE;</code>
+
+<p>If you use the <a href="../helpers/form_helper.html">form helper</a> the <var>form_open()</var> function will automatically insert a hidden csrf field in your forms.</p>
+
</div>
<!-- END CONTENT -->
@@ -121,7 +128,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="sessions.html">Session Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/sessions.html b/user_guide/libraries/sessions.html
index 2d295d7..c875799 100644
--- a/user_guide/libraries/sessions.html
+++ b/user_guide/libraries/sessions.html
@@ -315,7 +315,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="trackback.html">Trackback Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/table.html b/user_guide/libraries/table.html
index 094d7aa..9de7077 100644
--- a/user_guide/libraries/table.html
+++ b/user_guide/libraries/table.html
@@ -308,7 +308,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="image_lib.html">Image Manipulation Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/trackback.html b/user_guide/libraries/trackback.html
index a07b8d1..32b1ee2 100644
--- a/user_guide/libraries/trackback.html
+++ b/user_guide/libraries/trackback.html
@@ -239,7 +239,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="parser.html">Template Parser Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/typography.html b/user_guide/libraries/typography.html
index e78af5f..9c4272b 100644
--- a/user_guide/libraries/typography.html
+++ b/user_guide/libraries/typography.html
@@ -153,7 +153,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="unit_testing.html">Unit Testing Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/unit_testing.html b/user_guide/libraries/unit_testing.html
index 84db544..49c5881 100644
--- a/user_guide/libraries/unit_testing.html
+++ b/user_guide/libraries/unit_testing.html
@@ -219,7 +219,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="uri.html">URI Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/uri.html b/user_guide/libraries/uri.html
index b2f5ac3..0dbaffa 100644
--- a/user_guide/libraries/uri.html
+++ b/user_guide/libraries/uri.html
@@ -245,7 +245,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="user_agent.html">User Agent Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/user_agent.html b/user_guide/libraries/user_agent.html
index d2f79d2..8989fb2 100644
--- a/user_guide/libraries/user_agent.html
+++ b/user_guide/libraries/user_agent.html
@@ -219,7 +219,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="xmlrpc.html">XML-RPC Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/xmlrpc.html b/user_guide/libraries/xmlrpc.html
index 87ca094..7a8934d 100644
--- a/user_guide/libraries/xmlrpc.html
+++ b/user_guide/libraries/xmlrpc.html
@@ -512,7 +512,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="zip.html">Zip Encoding Class</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/libraries/zip.html b/user_guide/libraries/zip.html
index d57dd48..48e2562 100644
--- a/user_guide/libraries/zip.html
+++ b/user_guide/libraries/zip.html
@@ -281,7 +281,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="../helpers/array_helper.html">Array Helper</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/license.html b/user_guide/license.html
index c76035d..bb01a7e 100644
--- a/user_guide/license.html
+++ b/user_guide/license.html
@@ -60,7 +60,7 @@
<h1>CodeIgniter License Agreement</h1>
-<p>Copyright (c) 2008 - 2010, EllisLab, Inc.<br />
+<p>Copyright (c) 2008 - 2011, EllisLab, Inc.<br />
All rights reserved.</p>
<p>This license is a legal agreement between you and EllisLab Inc. for the use of CodeIgniter Software (the "Software"). By obtaining the Software you agree to comply with the terms and conditions of this license.</p>
@@ -100,7 +100,7 @@
<a href="index.html">User Guide Home</a> ·
Next Topic: <a href="changelog.html">Change Log</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/nav/nav.js b/user_guide/nav/nav.js
index 4ac1099..8f16e27 100644
--- a/user_guide/nav/nav.js
+++ b/user_guide/nav/nav.js
@@ -65,6 +65,12 @@
'<li><a href="'+base+'doc_style/index.html">Writing Documentation</a></li>' +
'</ul>' +
+ '<h3>Additional Resources</h3>' +
+ '<ul>' +
+ '<li><a href="http://codeigniter.com/forums/">Community Forums</a></li>' +
+ '<li><a href="http://codeigniter.com/wiki/">Community Wiki</a></li>' +
+ '</ul>' +
+
'</td><td class="td_sep" valign="top">' +
'<h3>Class Reference</h3>' +
@@ -73,7 +79,6 @@
'<li><a href="'+base+'libraries/calendar.html">Calendar Class</a></li>' +
'<li><a href="'+base+'libraries/cart.html">Cart Class</a></li>' +
'<li><a href="'+base+'libraries/config.html">Config Class</a></li>' +
- '<li><a href="'+base+'database/index.html">Database Class</a></li>' +
'<li><a href="'+base+'libraries/email.html">Email Class</a></li>' +
'<li><a href="'+base+'libraries/encryption.html">Encryption Class</a></li>' +
'<li><a href="'+base+'libraries/file_uploading.html">File Uploading Class</a></li>' +
@@ -82,6 +87,7 @@
'<li><a href="'+base+'libraries/table.html">HTML Table Class</a></li>' +
'<li><a href="'+base+'libraries/image_lib.html">Image Manipulation Class</a></li>' +
'<li><a href="'+base+'libraries/input.html">Input Class</a></li>' +
+ '<li><a href="'+base+'libraries/javascript.html">Javascript Class</a></li>' +
'<li><a href="'+base+'libraries/loader.html">Loader Class</a></li>' +
'<li><a href="'+base+'libraries/language.html">Language Class</a></li>' +
'<li><a href="'+base+'libraries/output.html">Output Class</a></li>' +
@@ -100,6 +106,13 @@
'</td><td class="td_sep" valign="top">' +
+ '<h3>Driver Reference</h3>' +
+ '<ul>' +
+ '<li><a href="'+base+'libraries/caching.html">Caching Class</a></li>' +
+ '<li><a href="'+base+'database/index.html">Database Class</a></li>' +
+ '<li><a href="'+base+'libraries/javascript.html">Javascript Class</a></li>' +
+ '</ul>' +
+
'<h3>Helper Reference</h3>' +
'<ul>' +
'<li><a href="'+base+'helpers/array_helper.html">Array Helper</a></li>' +
@@ -125,11 +138,5 @@
'<li><a href="'+base+'helpers/xml_helper.html">XML Helper</a></li>' +
'</ul>' +
- '<h3>Additional Resources</h3>' +
- '<ul>' +
- '<li><a href="http://codeigniter.com/forums/">Community Forums</a></li>' +
- '<li><a href="http://codeigniter.com/wiki/">Community Wiki</a></li>' +
- '</ul>' +
-
'</td></tr></table>');
}
\ No newline at end of file
diff --git a/user_guide/overview/appflow.html b/user_guide/overview/appflow.html
index 804c81d..c5af8bc 100644
--- a/user_guide/overview/appflow.html
+++ b/user_guide/overview/appflow.html
@@ -88,7 +88,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="mvc.html">Model-View-Controller</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/overview/at_a_glance.html b/user_guide/overview/at_a_glance.html
index f54a4e9..9cbc8af 100644
--- a/user_guide/overview/at_a_glance.html
+++ b/user_guide/overview/at_a_glance.html
@@ -155,7 +155,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="cheatsheets.html">CodeIgniter Cheatsheets</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/overview/cheatsheets.html b/user_guide/overview/cheatsheets.html
index cf200e0..764d6d9 100644
--- a/user_guide/overview/cheatsheets.html
+++ b/user_guide/overview/cheatsheets.html
@@ -76,7 +76,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="features.html">CodeIgniter Features</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/overview/features.html b/user_guide/overview/features.html
index 3ce6391..6dfd15d 100644
--- a/user_guide/overview/features.html
+++ b/user_guide/overview/features.html
@@ -111,7 +111,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="appflow.html">Application Flow Chart</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/overview/getting_started.html b/user_guide/overview/getting_started.html
index 88027ee..5c00aba 100644
--- a/user_guide/overview/getting_started.html
+++ b/user_guide/overview/getting_started.html
@@ -85,7 +85,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="at_a_glance.html">CodeIgniter At a Glance</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/overview/goals.html b/user_guide/overview/goals.html
index e708753..bf7bc8f 100644
--- a/user_guide/overview/goals.html
+++ b/user_guide/overview/goals.html
@@ -91,7 +91,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="./getting_started.html">Getting Started</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/overview/index.html b/user_guide/overview/index.html
index 59ee05c..63eb5e9 100644
--- a/user_guide/overview/index.html
+++ b/user_guide/overview/index.html
@@ -77,7 +77,7 @@
<div id="footer">
<p><a href="#top">Top of Page</a> · <a href="../index.html">User Guide Home</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/overview/mvc.html b/user_guide/overview/mvc.html
index d0b1aa2..0b0fb25 100644
--- a/user_guide/overview/mvc.html
+++ b/user_guide/overview/mvc.html
@@ -93,7 +93,7 @@
<a href="../index.html">User Guide Home</a> ·
Next Topic: <a href="goals.html">Architectural Goals</a>
</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
</body>
diff --git a/user_guide/toc.html b/user_guide/toc.html
index eed673c..5eb9c2a 100644
--- a/user_guide/toc.html
+++ b/user_guide/toc.html
@@ -136,6 +136,7 @@
<li><a href="./libraries/table.html">HTML Table Class</a></li>
<li><a href="./libraries/image_lib.html">Image Manipulation Class</a></li>
<li><a href="./libraries/input.html">Input Class</a></li>
+<li><a href="./libraries/javascript.html">Javascript Class</a></li>
<li><a href="./libraries/loader.html">Loader Class</a></li>
<li><a href="./libraries/language.html">Language Class</a></li>
<li><a href="./libraries/output.html">Output Class</a></li>
@@ -199,7 +200,7 @@
<div id="footer">
<p><a href="#top">Top of Page</a></p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2010 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
+<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
diff --git a/user_guide/userguide.css b/user_guide/userguide.css
index 57c2b05..f93ff0d 100644
--- a/user_guide/userguide.css
+++ b/user_guide/userguide.css
@@ -259,6 +259,9 @@
margin: 10px 0 12px 0;
}
+li.reactor {
+ list-style-image: url(images/reactor-bullet.png);
+}
#content li {
margin-bottom: 9px;
}