Skip to content

Instantly share code, notes, and snippets.

@fukata
Created August 20, 2011 16:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fukata/1159316 to your computer and use it in GitHub Desktop.
Save fukata/1159316 to your computer and use it in GitHub Desktop.
CodeIgniter 2.0.2 and 2.0.3 diff
diff -ru CodeIgniter_2.0.2/application/config/autoload.php CodeIgniter_2.0.3/application/config/autoload.php
--- CodeIgniter_2.0.2/application/config/autoload.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/application/config/autoload.php 2011-08-20 20:59:14.000000000 +0900
@@ -37,7 +37,7 @@
|
*/
-$autoload['packages'] = array(APPPATH.'third_party');
+$autoload['packages'] = array();
/*
diff -ru CodeIgniter_2.0.2/application/config/database.php CodeIgniter_2.0.3/application/config/database.php
--- CodeIgniter_2.0.2/application/config/database.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/application/config/database.php 2011-08-20 20:59:14.000000000 +0900
@@ -26,6 +26,12 @@
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database
+| NOTE: For MySQL and MySQLi databases, this setting is only used
+| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7.
+| There is an incompatibility in PHP with mysql_real_escape_string() which
+| can make your site vulnerable to SQL injection if you are using a
+| multi-byte character set and are running versions lower than these.
+| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['autoinit'] Whether or not to automatically initialize the database.
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
diff -ru CodeIgniter_2.0.2/application/config/mimes.php CodeIgniter_2.0.3/application/config/mimes.php
--- CodeIgniter_2.0.2/application/config/mimes.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/application/config/mimes.php 2011-08-20 20:59:14.000000000 +0900
@@ -10,7 +10,7 @@
$mimes = array( 'hqx' => 'application/mac-binhex40',
'cpt' => 'application/mac-compactpro',
- 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
+ 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
'bin' => 'application/macbinary',
'dms' => 'application/octet-stream',
'lha' => 'application/octet-stream',
diff -ru CodeIgniter_2.0.2/application/errors/error_404.php CodeIgniter_2.0.3/application/errors/error_404.php
--- CodeIgniter_2.0.2/application/errors/error_404.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/application/errors/error_404.php 2011-08-20 20:59:14.000000000 +0900
@@ -1,32 +1,60 @@
-<html>
+<!DOCTYPE html>
+<html lang="en">
<head>
<title>404 Page Not Found</title>
<style type="text/css">
+::selection{ background-color: #E13300; color: white; }
+::moz-selection{ background-color: #E13300; color: white; }
+::webkit-selection{ background-color: #E13300; color: white; }
+
body {
-background-color: #fff;
-margin: 40px;
-font-family: Lucida Grande, Verdana, Sans-serif;
-font-size: 12px;
-color: #000;
+ background-color: #fff;
+ margin: 40px;
+ font: 13px/20px normal Helvetica, Arial, sans-serif;
+ color: #4F5155;
}
-#content {
-border: #999 1px solid;
-background-color: #fff;
-padding: 20px 20px 12px 20px;
+a {
+ color: #003399;
+ background-color: transparent;
+ font-weight: normal;
}
h1 {
-font-weight: normal;
-font-size: 14px;
-color: #990000;
-margin: 0 0 4px 0;
+ color: #444;
+ background-color: transparent;
+ border-bottom: 1px solid #D0D0D0;
+ font-size: 19px;
+ font-weight: normal;
+ margin: 0 0 14px 0;
+ padding: 14px 15px 10px 15px;
+}
+
+code {
+ font-family: Consolas, Monaco, Courier New, Courier, monospace;
+ font-size: 12px;
+ background-color: #f9f9f9;
+ border: 1px solid #D0D0D0;
+ color: #002166;
+ display: block;
+ margin: 14px 0 14px 0;
+ padding: 12px 10px 12px 10px;
+}
+
+#container {
+ margin: 10px;
+ border: 1px solid #D0D0D0;
+ -webkit-box-shadow: 0 0 8px #D0D0D0;
+}
+
+p {
+ margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
- <div id="content">
+ <div id="container">
<h1><?php echo $heading; ?></h1>
<?php echo $message; ?>
</div>
diff -ru CodeIgniter_2.0.2/application/errors/error_db.php CodeIgniter_2.0.3/application/errors/error_db.php
--- CodeIgniter_2.0.2/application/errors/error_db.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/application/errors/error_db.php 2011-08-20 20:59:14.000000000 +0900
@@ -1,32 +1,60 @@
-<html>
+<!DOCTYPE html>
+<html lang="en">
<head>
<title>Database Error</title>
<style type="text/css">
+::selection{ background-color: #E13300; color: white; }
+::moz-selection{ background-color: #E13300; color: white; }
+::webkit-selection{ background-color: #E13300; color: white; }
+
body {
-background-color: #fff;
-margin: 40px;
-font-family: Lucida Grande, Verdana, Sans-serif;
-font-size: 12px;
-color: #000;
+ background-color: #fff;
+ margin: 40px;
+ font: 13px/20px normal Helvetica, Arial, sans-serif;
+ color: #4F5155;
}
-#content {
-border: #999 1px solid;
-background-color: #fff;
-padding: 20px 20px 12px 20px;
+a {
+ color: #003399;
+ background-color: transparent;
+ font-weight: normal;
}
h1 {
-font-weight: normal;
-font-size: 14px;
-color: #990000;
-margin: 0 0 4px 0;
+ color: #444;
+ background-color: transparent;
+ border-bottom: 1px solid #D0D0D0;
+ font-size: 19px;
+ font-weight: normal;
+ margin: 0 0 14px 0;
+ padding: 14px 15px 10px 15px;
+}
+
+code {
+ font-family: Consolas, Monaco, Courier New, Courier, monospace;
+ font-size: 12px;
+ background-color: #f9f9f9;
+ border: 1px solid #D0D0D0;
+ color: #002166;
+ display: block;
+ margin: 14px 0 14px 0;
+ padding: 12px 10px 12px 10px;
+}
+
+#container {
+ margin: 10px;
+ border: 1px solid #D0D0D0;
+ -webkit-box-shadow: 0 0 8px #D0D0D0;
+}
+
+p {
+ margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
- <div id="content">
+ <div id="container">
<h1><?php echo $heading; ?></h1>
<?php echo $message; ?>
</div>
diff -ru CodeIgniter_2.0.2/application/errors/error_general.php CodeIgniter_2.0.3/application/errors/error_general.php
--- CodeIgniter_2.0.2/application/errors/error_general.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/application/errors/error_general.php 2011-08-20 20:59:14.000000000 +0900
@@ -1,32 +1,60 @@
-<html>
+<!DOCTYPE html>
+<html lang="en">
<head>
<title>Error</title>
<style type="text/css">
+::selection{ background-color: #E13300; color: white; }
+::moz-selection{ background-color: #E13300; color: white; }
+::webkit-selection{ background-color: #E13300; color: white; }
+
body {
-background-color: #fff;
-margin: 40px;
-font-family: Lucida Grande, Verdana, Sans-serif;
-font-size: 12px;
-color: #000;
+ background-color: #fff;
+ margin: 40px;
+ font: 13px/20px normal Helvetica, Arial, sans-serif;
+ color: #4F5155;
}
-#content {
-border: #999 1px solid;
-background-color: #fff;
-padding: 20px 20px 12px 20px;
+a {
+ color: #003399;
+ background-color: transparent;
+ font-weight: normal;
}
h1 {
-font-weight: normal;
-font-size: 14px;
-color: #990000;
-margin: 0 0 4px 0;
+ color: #444;
+ background-color: transparent;
+ border-bottom: 1px solid #D0D0D0;
+ font-size: 19px;
+ font-weight: normal;
+ margin: 0 0 14px 0;
+ padding: 14px 15px 10px 15px;
+}
+
+code {
+ font-family: Consolas, Monaco, Courier New, Courier, monospace;
+ font-size: 12px;
+ background-color: #f9f9f9;
+ border: 1px solid #D0D0D0;
+ color: #002166;
+ display: block;
+ margin: 14px 0 14px 0;
+ padding: 12px 10px 12px 10px;
+}
+
+#container {
+ margin: 10px;
+ border: 1px solid #D0D0D0;
+ -webkit-box-shadow: 0 0 8px #D0D0D0;
+}
+
+p {
+ margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
- <div id="content">
+ <div id="container">
<h1><?php echo $heading; ?></h1>
<?php echo $message; ?>
</div>
diff -ru CodeIgniter_2.0.2/application/views/welcome_message.php CodeIgniter_2.0.3/application/views/welcome_message.php
--- CodeIgniter_2.0.2/application/views/welcome_message.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/application/views/welcome_message.php 2011-08-20 20:59:14.000000000 +0900
@@ -4,61 +4,85 @@
<meta charset="utf-8">
<title>Welcome to CodeIgniter</title>
-<style type="text/css">
+ <style type="text/css">
-body {
- background-color: #fff;
- margin: 40px;
- font-family: Lucida Grande, Verdana, Sans-serif;
- font-size: 14px;
- color: #4F5155;
-}
-
-a {
- color: #003399;
- background-color: transparent;
- font-weight: normal;
-}
-
-h1 {
- color: #444;
- background-color: transparent;
- border-bottom: 1px solid #D0D0D0;
- font-size: 16px;
- font-weight: bold;
- margin: 24px 0 2px 0;
- padding: 5px 0 6px 0;
-}
-
-code {
- font-family: Monaco, Verdana, Sans-serif;
- font-size: 12px;
- background-color: #f9f9f9;
- border: 1px solid #D0D0D0;
- color: #002166;
- display: block;
- margin: 14px 0 14px 0;
- padding: 12px 10px 12px 10px;
-}
-
-</style>
+ ::selection{ background-color: #E13300; color: white; }
+ ::moz-selection{ background-color: #E13300; color: white; }
+ ::webkit-selection{ background-color: #E13300; color: white; }
+
+ body {
+ background-color: #fff;
+ margin: 40px;
+ font: 13px/20px normal Helvetica, Arial, sans-serif;
+ color: #4F5155;
+ }
+
+ a {
+ color: #003399;
+ background-color: transparent;
+ font-weight: normal;
+ }
+
+ h1 {
+ color: #444;
+ background-color: transparent;
+ border-bottom: 1px solid #D0D0D0;
+ font-size: 19px;
+ font-weight: normal;
+ margin: 0 0 14px 0;
+ padding: 14px 15px 10px 15px;
+ }
+
+ code {
+ font-family: Consolas, Monaco, Courier New, Courier, monospace;
+ font-size: 12px;
+ background-color: #f9f9f9;
+ border: 1px solid #D0D0D0;
+ color: #002166;
+ display: block;
+ margin: 14px 0 14px 0;
+ padding: 12px 10px 12px 10px;
+ }
+
+ #body{
+ margin: 0 15px 0 15px;
+ }
+
+ p.footer{
+ text-align: right;
+ font-size: 11px;
+ border-top: 1px solid #D0D0D0;
+ line-height: 32px;
+ padding: 0 10px 0 10px;
+ margin: 20px 0 0 0;
+ }
+
+ #container{
+ margin: 10px;
+ border: 1px solid #D0D0D0;
+ -webkit-box-shadow: 0 0 8px #D0D0D0;
+ }
+ </style>
</head>
<body>
-<h1>Welcome to CodeIgniter!</h1>
-
-<p>The page you are looking at is being generated dynamically by CodeIgniter.</p>
+<div id="container">
+ <h1>Welcome to CodeIgniter!</h1>
-<p>If you would like to edit this page you'll find it located at:</p>
-<code>application/views/welcome_message.php</code>
+ <div id="body">
+ <p>The page you are looking at is being generated dynamically by CodeIgniter.</p>
-<p>The corresponding controller for this page is found at:</p>
-<code>application/controllers/welcome.php</code>
+ <p>If you would like to edit this page you'll find it located at:</p>
+ <code>application/views/welcome_message.php</code>
-<p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="user_guide/">User Guide</a>.</p>
+ <p>The corresponding controller for this page is found at:</p>
+ <code>application/controllers/welcome.php</code>
+ <p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="user_guide/">User Guide</a>.</p>
+ </div>
-<p><br />Page rendered in {elapsed_time} seconds</p>
+ <p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
+</div>
</body>
</html>
\ No newline at end of file
diff -ru CodeIgniter_2.0.2/index.php CodeIgniter_2.0.3/index.php
--- CodeIgniter_2.0.2/index.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/index.php 2011-08-20 20:59:14.000000000 +0900
@@ -98,7 +98,7 @@
// if your controller is not in a sub-folder within the "controllers" folder
// $routing['directory'] = '';
- // The controller class file name. Example: Mycontroller.php
+ // The controller class file name. Example: Mycontroller
// $routing['controller'] = '';
// The controller function you wish to be called.
@@ -163,6 +163,7 @@
define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
// The PHP file extension
+ // this global constant is deprecated.
define('EXT', '.php');
// Path to the system folder
@@ -198,7 +199,7 @@
* And away we go...
*
*/
-require_once BASEPATH.'core/CodeIgniter'.EXT;
+require_once BASEPATH.'core/CodeIgniter.php';
/* End of file index.php */
/* Location: ./index.php */
\ No newline at end of file
diff -ru CodeIgniter_2.0.2/system/core/CodeIgniter.php CodeIgniter_2.0.3/system/core/CodeIgniter.php
--- CodeIgniter_2.0.2/system/core/CodeIgniter.php 2011-04-09 00:52:12.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/CodeIgniter.php 2011-08-20 20:59:14.000000000 +0900
@@ -32,7 +32,7 @@
* Define the CodeIgniter Version
* ------------------------------------------------------
*/
- define('CI_VERSION', '2.0.2');
+ define('CI_VERSION', '2.0.3');
/*
* ------------------------------------------------------
@@ -46,20 +46,20 @@
* Load the global functions
* ------------------------------------------------------
*/
- require(BASEPATH.'core/Common'.EXT);
+ require(BASEPATH.'core/Common.php');
/*
* ------------------------------------------------------
* Load the framework constants
* ------------------------------------------------------
*/
- if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/constants'.EXT))
+ if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/constants.php'))
{
- require(APPPATH.'config/'.ENVIRONMENT.'/constants'.EXT);
+ require(APPPATH.'config/'.ENVIRONMENT.'/constants.php');
}
else
{
- require(APPPATH.'config/constants'.EXT);
+ require(APPPATH.'config/constants.php');
}
/*
@@ -224,7 +224,7 @@
*
*/
// Load the base controller class
- require BASEPATH.'core/Controller'.EXT;
+ require BASEPATH.'core/Controller.php';
function &get_instance()
{
@@ -232,20 +232,20 @@
}
- if (file_exists(APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller'.EXT))
+ if (file_exists(APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller.php'))
{
- require APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller'.EXT;
+ require APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller.php';
}
// Load the local application controller
// Note: The Router class automatically validates the controller path using the router->_validate_request().
// If this include fails it means that the default controller in the Routes.php file is not resolving to something valid.
- if ( ! file_exists(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().EXT))
+ if ( ! file_exists(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().'.php'))
{
show_error('Unable to load your default controller. Please make sure the controller specified in your Routes.php file is valid.');
}
- include(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().EXT);
+ include(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().'.php');
// Set a mark point for benchmarking
$BM->mark('loading_time:_base_classes_end');
@@ -318,12 +318,12 @@
$method = (isset($x[1]) ? $x[1] : 'index');
if ( ! class_exists($class))
{
- if ( ! file_exists(APPPATH.'controllers/'.$class.EXT))
+ if ( ! file_exists(APPPATH.'controllers/'.$class.'.php'))
{
show_404("{$class}/{$method}");
}
- include_once(APPPATH.'controllers/'.$class.EXT);
+ include_once(APPPATH.'controllers/'.$class.'.php');
unset($CI);
$CI = new $class();
}
diff -ru CodeIgniter_2.0.2/system/core/Common.php CodeIgniter_2.0.3/system/core/Common.php
--- CodeIgniter_2.0.2/system/core/Common.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Common.php 2011-08-20 20:59:14.000000000 +0900
@@ -39,6 +39,8 @@
* @param string
* @return bool TRUE if the current version is $version or higher
*/
+if ( ! function_exists('is_php'))
+{
function is_php($version = '5.0.0')
{
static $_is_php;
@@ -51,6 +53,7 @@
return $_is_php[$version];
}
+}
// ------------------------------------------------------------------------
@@ -64,6 +67,8 @@
* @access private
* @return void
*/
+if ( ! function_exists('is_really_writable'))
+{
function is_really_writable($file)
{
// If we're on a Unix server with safe_mode off we call is_writable
@@ -96,6 +101,7 @@
fclose($fp);
return TRUE;
}
+}
// ------------------------------------------------------------------------
@@ -112,6 +118,8 @@
* @param string the class name prefix
* @return object
*/
+if ( ! function_exists('load_class'))
+{
function &load_class($class, $directory = 'libraries', $prefix = 'CI_')
{
static $_classes = array();
@@ -128,13 +136,13 @@
// thenin the local application/libraries folder
foreach (array(BASEPATH, APPPATH) as $path)
{
- if (file_exists($path.$directory.'/'.$class.EXT))
+ if (file_exists($path.$directory.'/'.$class.'.php'))
{
$name = $prefix.$class;
if (class_exists($name) === FALSE)
{
- require($path.$directory.'/'.$class.EXT);
+ require($path.$directory.'/'.$class.'.php');
}
break;
@@ -142,13 +150,13 @@
}
// Is the request a class extension? If so we load it too
- if (file_exists(APPPATH.$directory.'/'.config_item('subclass_prefix').$class.EXT))
+ if (file_exists(APPPATH.$directory.'/'.config_item('subclass_prefix').$class.'.php'))
{
$name = config_item('subclass_prefix').$class;
if (class_exists($name) === FALSE)
{
- require(APPPATH.$directory.'/'.config_item('subclass_prefix').$class.EXT);
+ require(APPPATH.$directory.'/'.config_item('subclass_prefix').$class.'.php');
}
}
@@ -157,7 +165,7 @@
{
// Note: We use exit() rather then show_error() in order to avoid a
// self-referencing loop with the Excptions class
- exit('Unable to locate the specified class: '.$class.EXT);
+ exit('Unable to locate the specified class: '.$class.'.php');
}
// Keep track of what we just loaded
@@ -166,6 +174,7 @@
$_classes[$class] = new $name();
return $_classes[$class];
}
+}
// --------------------------------------------------------------------
@@ -176,6 +185,8 @@
* @access public
* @return array
*/
+if ( ! function_exists('is_loaded'))
+{
function is_loaded($class = '')
{
static $_is_loaded = array();
@@ -187,6 +198,7 @@
return $_is_loaded;
}
+}
// ------------------------------------------------------------------------
@@ -199,6 +211,8 @@
* @access private
* @return array
*/
+if ( ! function_exists('get_config'))
+{
function &get_config($replace = array())
{
static $_config;
@@ -209,9 +223,9 @@
}
// Is the config file in the environment folder?
- if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = APPPATH.'config/'.ENVIRONMENT.'/config'.EXT))
+ if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = APPPATH.'config/'.ENVIRONMENT.'/config.php'))
{
- $file_path = APPPATH.'config/config'.EXT;
+ $file_path = APPPATH.'config/config.php';
}
// Fetch the config file
@@ -242,6 +256,7 @@
return $_config[0] =& $config;
}
+}
// ------------------------------------------------------------------------
@@ -251,6 +266,8 @@
* @access public
* @return mixed
*/
+if ( ! function_exists('config_item'))
+{
function config_item($item)
{
static $_config_item = array();
@@ -268,6 +285,7 @@
return $_config_item[$item];
}
+}
// ------------------------------------------------------------------------
@@ -283,12 +301,15 @@
* @access public
* @return void
*/
+if ( ! function_exists('show_error'))
+{
function show_error($message, $status_code = 500, $heading = 'An Error Was Encountered')
{
$_error =& load_class('Exceptions', 'core');
echo $_error->show_error($heading, $message, 'error_general', $status_code);
exit;
}
+}
// ------------------------------------------------------------------------
@@ -302,12 +323,15 @@
* @access public
* @return void
*/
+if ( ! function_exists('show_404'))
+{
function show_404($page = '', $log_error = TRUE)
{
$_error =& load_class('Exceptions', 'core');
$_error->show_404($page, $log_error);
exit;
}
+}
// ------------------------------------------------------------------------
@@ -320,6 +344,8 @@
* @access public
* @return void
*/
+if ( ! function_exists('log_message'))
+{
function log_message($level = 'error', $message, $php_error = FALSE)
{
static $_log;
@@ -332,6 +358,7 @@
$_log =& load_class('Log');
$_log->write_log($level, $message, $php_error);
}
+}
// ------------------------------------------------------------------------
@@ -343,6 +370,8 @@
* @param string
* @return void
*/
+if ( ! function_exists('set_status_header'))
+{
function set_status_header($code = 200, $text = '')
{
$stati = array(
@@ -417,6 +446,7 @@
header("HTTP/1.1 {$code} {$text}", TRUE, $code);
}
}
+}
// --------------------------------------------------------------------
@@ -434,6 +464,8 @@
* @access private
* @return void
*/
+if ( ! function_exists('_exception_handler'))
+{
function _exception_handler($severity, $message, $filepath, $line)
{
// We don't bother with "strict" notices since they tend to fill up
@@ -463,19 +495,22 @@
$_error->log_exception($severity, $message, $filepath, $line);
}
+}
- // --------------------------------------------------------------------
+// --------------------------------------------------------------------
- /**
- * Remove Invisible Characters
- *
- * This prevents sandwiching null characters
- * between ascii characters, like Java\0script.
- *
- * @access public
- * @param string
- * @return string
- */
+/**
+ * Remove Invisible Characters
+ *
+ * This prevents sandwiching null characters
+ * between ascii characters, like Java\0script.
+ *
+ * @access public
+ * @param string
+ * @return string
+ */
+if ( ! function_exists('remove_invisible_characters'))
+{
function remove_invisible_characters($str, $url_encoded = TRUE)
{
$non_displayables = array();
@@ -499,7 +534,7 @@
return $str;
}
-
+}
/* End of file Common.php */
/* Location: ./system/core/Common.php */
\ No newline at end of file
diff -ru CodeIgniter_2.0.2/system/core/Config.php CodeIgniter_2.0.3/system/core/Config.php
--- CodeIgniter_2.0.2/system/core/Config.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Config.php 2011-08-20 20:59:14.000000000 +0900
@@ -80,7 +80,7 @@
*/
function load($file = '', $use_sections = FALSE, $fail_gracefully = FALSE)
{
- $file = ($file == '') ? 'config' : str_replace(EXT, '', $file);
+ $file = ($file == '') ? 'config' : str_replace('.php', '', $file);
$found = FALSE;
$loaded = FALSE;
@@ -92,7 +92,7 @@
foreach ($check_locations as $location)
{
- $file_path = $path.'config/'.$location.EXT;
+ $file_path = $path.'config/'.$location.'.php';
if (in_array($file_path, $this->is_loaded, TRUE))
{
@@ -144,6 +144,7 @@
$loaded = TRUE;
log_message('debug', 'Config file loaded: '.$file_path);
+ break;
}
if ($loaded === FALSE)
@@ -152,7 +153,7 @@
{
return FALSE;
}
- show_error('The configuration file '.$file.EXT.' does not exist.');
+ show_error('The configuration file '.$file.'.php'.' does not exist.');
}
return TRUE;
@@ -202,10 +203,7 @@
// --------------------------------------------------------------------
/**
- * Fetch a config file item - adds slash after item
- *
- * The second parameter allows a slash to be added to the end of
- * the item, in the case of a path.
+ * Fetch a config file item - adds slash after item (if item is not empty)
*
* @access public
* @param string the config item name
@@ -218,6 +216,10 @@
{
return FALSE;
}
+ if( trim($this->config[$item]) == '')
+ {
+ return '';
+ }
return rtrim($this->config[$item], '/').'/';
}
@@ -226,6 +228,7 @@
/**
* Site URL
+ * Returns base_url . index_page [. uri_string]
*
* @access public
* @param string the URI string
@@ -240,14 +243,48 @@
if ($this->item('enable_query_strings') == FALSE)
{
+ $suffix = ($this->item('url_suffix') == FALSE) ? '' : $this->item('url_suffix');
+ return $this->slash_item('base_url').$this->slash_item('index_page').$this->_uri_string($uri).$suffix;
+ }
+ else
+ {
+ return $this->slash_item('base_url').$this->item('index_page').'?'.$this->_uri_string($uri);
+ }
+ }
+
+ // -------------------------------------------------------------
+
+ /**
+ * Base URL
+ * Returns base_url [. uri_string]
+ *
+ * @access public
+ * @param string $uri
+ * @return string
+ */
+ function base_url($uri = '')
+ {
+ return $this->slash_item('base_url').ltrim($this->_uri_string($uri),'/');
+ }
+
+ // -------------------------------------------------------------
+
+ /**
+ * Build URI string for use in Config::site_url() and Config::base_url()
+ *
+ * @access protected
+ * @param $uri
+ * @return string
+ */
+ protected function _uri_string($uri)
+ {
+ if ($this->item('enable_query_strings') == FALSE)
+ {
if (is_array($uri))
{
$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').$index.trim($uri, '/').$suffix;
+ $uri = trim($uri, '/');
}
else
{
@@ -261,16 +298,14 @@
$str .= $prefix.$key.'='.$val;
$i++;
}
-
$uri = $str;
}
-
- return $this->slash_item('base_url').$this->item('index_page').'?'.$uri;
}
+ return $uri;
}
// --------------------------------------------------------------------
-
+
/**
* System URL
*
@@ -326,4 +361,4 @@
// END CI_Config class
/* End of file Config.php */
-/* Location: ./system/core/Config.php */
\ No newline at end of file
+/* Location: ./system/core/Config.php */
diff -ru CodeIgniter_2.0.2/system/core/Controller.php CodeIgniter_2.0.3/system/core/Controller.php
--- CodeIgniter_2.0.2/system/core/Controller.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Controller.php 2011-08-20 20:59:14.000000000 +0900
@@ -48,12 +48,9 @@
$this->load =& load_class('Loader', 'core');
- $this->load->_base_classes =& is_loaded();
-
- $this->load->_ci_autoloader();
-
+ $this->load->set_base_classes()->ci_autoloader();
+
log_message('debug', "Controller Class Initialized");
-
}
public static function &get_instance()
diff -ru CodeIgniter_2.0.2/system/core/Exceptions.php CodeIgniter_2.0.3/system/core/Exceptions.php
--- CodeIgniter_2.0.2/system/core/Exceptions.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Exceptions.php 2011-08-20 20:59:14.000000000 +0900
@@ -128,7 +128,7 @@
ob_end_flush();
}
ob_start();
- include(APPPATH.'errors/'.$template.EXT);
+ include(APPPATH.'errors/'.$template.'.php');
$buffer = ob_get_contents();
ob_end_clean();
return $buffer;
@@ -164,7 +164,7 @@
ob_end_flush();
}
ob_start();
- include(APPPATH.'errors/error_php'.EXT);
+ include(APPPATH.'errors/error_php.php');
$buffer = ob_get_contents();
ob_end_clean();
echo $buffer;
diff -ru CodeIgniter_2.0.2/system/core/Hooks.php CodeIgniter_2.0.3/system/core/Hooks.php
--- CodeIgniter_2.0.2/system/core/Hooks.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Hooks.php 2011-08-20 20:59:14.000000000 +0900
@@ -65,13 +65,13 @@
// Grab the "hooks" definition file.
// If there are no hooks, we're done.
- if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/hooks'.EXT))
+ if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/hooks.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/hooks'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/hooks.php');
}
- elseif (is_file(APPPATH.'config/hooks'.EXT))
+ elseif (is_file(APPPATH.'config/hooks.php'))
{
- include(APPPATH.'config/hooks'.EXT);
+ include(APPPATH.'config/hooks.php');
}
diff -ru CodeIgniter_2.0.2/system/core/Input.php CodeIgniter_2.0.3/system/core/Input.php
--- CodeIgniter_2.0.2/system/core/Input.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Input.php 2011-08-20 20:59:14.000000000 +0900
@@ -672,7 +672,7 @@
*/
public function is_cli_request()
{
- return (bool) defined('STDIN');
+ return (php_sapi_name() == 'cli') or defined('STDIN');
}
}
diff -ru CodeIgniter_2.0.2/system/core/Lang.php CodeIgniter_2.0.3/system/core/Lang.php
--- CodeIgniter_2.0.2/system/core/Lang.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Lang.php 2011-08-20 20:59:14.000000000 +0900
@@ -51,14 +51,14 @@
*/
function load($langfile = '', $idiom = '', $return = FALSE, $add_suffix = TRUE, $alt_path = '')
{
- $langfile = str_replace(EXT, '', $langfile);
+ $langfile = str_replace('.php', '', $langfile);
if ($add_suffix == TRUE)
{
$langfile = str_replace('_lang.', '', $langfile).'_lang';
}
- $langfile .= EXT;
+ $langfile .= '.php';
if (in_array($langfile, $this->is_loaded, TRUE))
{
@@ -129,19 +129,19 @@
*/
function line($line = '')
{
- $line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
+ $value = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
// Because killer robots like unicorns!
- if ($line === FALSE)
+ if ($value === FALSE)
{
log_message('error', 'Could not find the language line "'.$line.'"');
}
- return $line;
+ return $value;
}
}
// END Language Class
/* End of file Lang.php */
-/* Location: ./system/core/Lang.php */
\ No newline at end of file
+/* Location: ./system/core/Lang.php */
diff -ru CodeIgniter_2.0.2/system/core/Loader.php CodeIgniter_2.0.3/system/core/Loader.php
--- CodeIgniter_2.0.2/system/core/Loader.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Loader.php 2011-08-20 20:59:14.000000000 +0900
@@ -29,39 +29,78 @@
class CI_Loader {
// All these are set automatically. Don't mess with them.
- var $_ci_ob_level;
- var $_ci_view_path = '';
- var $_ci_library_paths = array();
- var $_ci_model_paths = array();
- var $_ci_helper_paths = array();
- var $_base_classes = array(); // Set by the controller class
- var $_ci_cached_vars = array();
- var $_ci_classes = array();
- var $_ci_loaded_files = array();
- var $_ci_models = array();
- var $_ci_helpers = array();
- var $_ci_varmap = array('unit_test' => 'unit', 'user_agent' => 'agent');
-
+ protected $_ci_ob_level;
+ protected $_ci_view_paths = array();
+ protected $_ci_library_paths = array();
+ protected $_ci_model_paths = array();
+ protected $_ci_helper_paths = array();
+ protected $_base_classes = array(); // Set by the controller class
+ protected $_ci_cached_vars = array();
+ protected $_ci_classes = array();
+ protected $_ci_loaded_files = array();
+ protected $_ci_models = array();
+ protected $_ci_helpers = array();
+ protected $_ci_varmap = array('unit_test' => 'unit',
+ 'user_agent' => 'agent');
/**
* Constructor
*
* Sets the path to the view files and gets the initial output buffering level
- *
- * @access public
*/
- function __construct()
+ public function __construct()
{
- $this->_ci_view_path = APPPATH.'views/';
$this->_ci_ob_level = ob_get_level();
$this->_ci_library_paths = array(APPPATH, BASEPATH);
$this->_ci_helper_paths = array(APPPATH, BASEPATH);
$this->_ci_model_paths = array(APPPATH);
-
+ $this->_ci_view_paths = array(APPPATH.'views/' => TRUE);
+
log_message('debug', "Loader Class Initialized");
}
// --------------------------------------------------------------------
+
+ /**
+ * Set _base_classes variable
+ *
+ * This method is called once in CI_Controller.
+ *
+ * @param array
+ * @return object
+ */
+ public function set_base_classes()
+ {
+ $this->_base_classes =& is_loaded();
+
+ return $this;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
+ * Is Loaded
+ *
+ * A utility function to test if a class is in the self::$_ci_classes array.
+ * This function returns the object name if the class tested for is loaded,
+ * and returns FALSE if it isn't.
+ *
+ * It is mainly used in the form_helper -> _get_validation_object()
+ *
+ * @param string class being checked for
+ * @return mixed class object name on the CI SuperObject or FALSE
+ */
+ public function is_loaded($class)
+ {
+ if (isset($this->_ci_classes[$class]))
+ {
+ return $this->_ci_classes[$class];
+ }
+
+ return FALSE;
+ }
+
+ // --------------------------------------------------------------------
/**
* Class Loader
@@ -69,13 +108,12 @@
* This function lets users load and instantiate classes.
* It is designed to be called from a user's app controllers.
*
- * @access public
* @param string the name of the class
* @param mixed the optional parameters
* @param string an optional object name
* @return void
*/
- function library($library = '', $params = NULL, $object_name = NULL)
+ public function library($library = '', $params = NULL, $object_name = NULL)
{
if (is_array($library))
{
@@ -107,13 +145,12 @@
*
* This function lets users load and instantiate models.
*
- * @access public
* @param string the name of the class
* @param string name for the model
* @param bool database connection
* @return void
*/
- function model($model, $name = '', $db_conn = FALSE)
+ public function model($model, $name = '', $db_conn = FALSE)
{
if (is_array($model))
{
@@ -161,7 +198,7 @@
foreach ($this->_ci_model_paths as $mod_path)
{
- if ( ! file_exists($mod_path.'models/'.$path.$model.EXT))
+ if ( ! file_exists($mod_path.'models/'.$path.$model.'.php'))
{
continue;
}
@@ -181,7 +218,7 @@
load_class('Model', 'core');
}
- require_once($mod_path.'models/'.$path.$model.EXT);
+ require_once($mod_path.'models/'.$path.$model.'.php');
$model = ucfirst($model);
@@ -200,13 +237,12 @@
/**
* Database Loader
*
- * @access public
* @param string the DB credentials
* @param bool whether to return the DB object
* @param bool whether to enable active record (this allows us to override the config setting)
* @return object
*/
- function database($params = '', $return = FALSE, $active_record = NULL)
+ public function database($params = '', $return = FALSE, $active_record = NULL)
{
// Grab the super object
$CI =& get_instance();
@@ -217,7 +253,7 @@
return FALSE;
}
- require_once(BASEPATH.'database/DB'.EXT);
+ require_once(BASEPATH.'database/DB.php');
if ($return === TRUE)
{
@@ -237,10 +273,9 @@
/**
* Load the Utilities Class
*
- * @access public
* @return string
*/
- function dbutil()
+ public function dbutil()
{
if ( ! class_exists('CI_DB'))
{
@@ -253,8 +288,8 @@
// this use is deprecated and strongly discouraged
$CI->load->dbforge();
- require_once(BASEPATH.'database/DB_utility'.EXT);
- require_once(BASEPATH.'database/drivers/'.$CI->db->dbdriver.'/'.$CI->db->dbdriver.'_utility'.EXT);
+ require_once(BASEPATH.'database/DB_utility.php');
+ require_once(BASEPATH.'database/drivers/'.$CI->db->dbdriver.'/'.$CI->db->dbdriver.'_utility.php');
$class = 'CI_DB_'.$CI->db->dbdriver.'_utility';
$CI->dbutil = new $class();
@@ -265,10 +300,9 @@
/**
* Load the Database Forge Class
*
- * @access public
* @return string
*/
- function dbforge()
+ public function dbforge()
{
if ( ! class_exists('CI_DB'))
{
@@ -277,8 +311,8 @@
$CI =& get_instance();
- require_once(BASEPATH.'database/DB_forge'.EXT);
- require_once(BASEPATH.'database/drivers/'.$CI->db->dbdriver.'/'.$CI->db->dbdriver.'_forge'.EXT);
+ require_once(BASEPATH.'database/DB_forge.php');
+ require_once(BASEPATH.'database/drivers/'.$CI->db->dbdriver.'/'.$CI->db->dbdriver.'_forge.php');
$class = 'CI_DB_'.$CI->db->dbdriver.'_forge';
$CI->dbforge = new $class();
@@ -297,13 +331,12 @@
* some cases it's advantageous to be able to return data so that
* a developer can process it in some way.
*
- * @access public
* @param string
* @param array
* @param bool
* @return void
*/
- function view($view, $vars = array(), $return = FALSE)
+ public function view($view, $vars = array(), $return = FALSE)
{
return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));
}
@@ -315,12 +348,11 @@
*
* This is a generic file loader
*
- * @access public
* @param string
* @param bool
* @return string
*/
- function file($path, $return = FALSE)
+ public function file($path, $return = FALSE)
{
return $this->_ci_load(array('_ci_path' => $path, '_ci_return' => $return));
}
@@ -333,11 +365,10 @@
* Once variables are set they become available within
* the controller class and its "view" files.
*
- * @access public
* @param array
* @return void
*/
- function vars($vars = array(), $val = '')
+ public function vars($vars = array(), $val = '')
{
if ($val != '' AND is_string($vars))
{
@@ -358,15 +389,29 @@
// --------------------------------------------------------------------
/**
+ * Get Variable
+ *
+ * Check if a variable is set and retrieve it.
+ *
+ * @param array
+ * @return void
+ */
+ public function get_var($key)
+ {
+ return isset($this->_ci_cached_vars[$key]) ? $this->_ci_cached_vars[$key] : NULL;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* Load Helper
*
* This function loads the specified helper file.
*
- * @access public
* @param mixed
* @return void
*/
- function helper($helpers = array())
+ public function helper($helpers = array())
{
foreach ($this->_ci_prep_filename($helpers, '_helper') as $helper)
{
@@ -375,16 +420,16 @@
continue;
}
- $ext_helper = APPPATH.'helpers/'.config_item('subclass_prefix').$helper.EXT;
+ $ext_helper = APPPATH.'helpers/'.config_item('subclass_prefix').$helper.'.php';
// Is this a helper extension request?
if (file_exists($ext_helper))
{
- $base_helper = BASEPATH.'helpers/'.$helper.EXT;
+ $base_helper = BASEPATH.'helpers/'.$helper.'.php';
if ( ! file_exists($base_helper))
{
- show_error('Unable to load the requested file: helpers/'.$helper.EXT);
+ show_error('Unable to load the requested file: helpers/'.$helper.'.php');
}
include_once($ext_helper);
@@ -398,9 +443,9 @@
// Try to load the helper
foreach ($this->_ci_helper_paths as $path)
{
- if (file_exists($path.'helpers/'.$helper.EXT))
+ if (file_exists($path.'helpers/'.$helper.'.php'))
{
- include_once($path.'helpers/'.$helper.EXT);
+ include_once($path.'helpers/'.$helper.'.php');
$this->_ci_helpers[$helper] = TRUE;
log_message('debug', 'Helper loaded: '.$helper);
@@ -411,7 +456,7 @@
// unable to load the helper
if ( ! isset($this->_ci_helpers[$helper]))
{
- show_error('Unable to load the requested file: helpers/'.$helper.EXT);
+ show_error('Unable to load the requested file: helpers/'.$helper.'.php');
}
}
}
@@ -424,11 +469,10 @@
* This is simply an alias to the above function in case the
* user has written the plural form of this function.
*
- * @access public
* @param array
* @return void
*/
- function helpers($helpers = array())
+ public function helpers($helpers = array())
{
$this->helper($helpers);
}
@@ -438,12 +482,11 @@
/**
* Loads a language file
*
- * @access public
* @param array
* @param string
* @return void
*/
- function language($file = array(), $lang = '')
+ public function language($file = array(), $lang = '')
{
$CI =& get_instance();
@@ -463,11 +506,10 @@
/**
* Loads a config file
*
- * @access public
* @param string
* @return void
*/
- function config($file = '', $use_sections = FALSE, $fail_gracefully = FALSE)
+ public function config($file = '', $use_sections = FALSE, $fail_gracefully = FALSE)
{
$CI =& get_instance();
$CI->config->load($file, $use_sections, $fail_gracefully);
@@ -485,12 +527,12 @@
* @param string an optional object name
* @return void
*/
- function driver($library = '', $params = NULL, $object_name = NULL)
+ public function driver($library = '', $params = NULL, $object_name = NULL)
{
if ( ! class_exists('CI_Driver_Library'))
{
// we aren't instantiating an object here, that'll be done by the Library itself
- require BASEPATH.'libraries/Driver'.EXT;
+ require BASEPATH.'libraries/Driver.php';
}
// We can save the loader some time since Drivers will *always* be in a subfolder,
@@ -510,18 +552,20 @@
*
* Prepends a parent path to the library, model, helper, and config path arrays
*
- * @access public
* @param string
+ * @param boolean
* @return void
*/
- function add_package_path($path)
+ public function add_package_path($path, $view_cascade=TRUE)
{
$path = rtrim($path, '/').'/';
-
+
array_unshift($this->_ci_library_paths, $path);
array_unshift($this->_ci_model_paths, $path);
array_unshift($this->_ci_helper_paths, $path);
+ $this->_ci_view_paths = array($path.'views/' => $view_cascade) + $this->_ci_view_paths;
+
// Add config file path
$config =& $this->_ci_get_component('config');
array_unshift($config->_config_paths, $path);
@@ -534,11 +578,10 @@
*
* Return a list of all package paths, by default it will ignore BASEPATH.
*
- * @access public
* @param string
* @return void
*/
- function get_package_paths($include_base = FALSE)
+ public function get_package_paths($include_base = FALSE)
{
return $include_base === TRUE ? $this->_ci_library_paths : $this->_ci_model_paths;
}
@@ -551,11 +594,10 @@
* Remove a path from the library, model, and helper path arrays if it exists
* If no path is provided, the most recently added path is removed.
*
- * @access public
* @param type
* @return type
*/
- function remove_package_path($path = '', $remove_config_path = TRUE)
+ public function remove_package_path($path = '', $remove_config_path = TRUE)
{
$config =& $this->_ci_get_component('config');
@@ -564,12 +606,12 @@
$void = array_shift($this->_ci_library_paths);
$void = array_shift($this->_ci_model_paths);
$void = array_shift($this->_ci_helper_paths);
+ $void = array_shift($this->_ci_view_paths);
$void = array_shift($config->_config_paths);
}
else
{
$path = rtrim($path, '/').'/';
-
foreach (array('_ci_library_paths', '_ci_model_paths', '_ci_helper_paths') as $var)
{
if (($key = array_search($path, $this->{$var})) !== FALSE)
@@ -577,6 +619,11 @@
unset($this->{$var}[$key]);
}
}
+
+ if (isset($this->_ci_view_paths[$path.'views/']))
+ {
+ unset($this->_ci_view_paths[$path.'views/']);
+ }
if (($key = array_search($path, $config->_config_paths)) !== FALSE)
{
@@ -588,6 +635,7 @@
$this->_ci_library_paths = array_unique(array_merge($this->_ci_library_paths, array(APPPATH, BASEPATH)));
$this->_ci_helper_paths = array_unique(array_merge($this->_ci_helper_paths, array(APPPATH, BASEPATH)));
$this->_ci_model_paths = array_unique(array_merge($this->_ci_model_paths, array(APPPATH)));
+ $this->_ci_view_paths = array_merge($this->_ci_view_paths, array(APPPATH.'views/' => TRUE));
$config->_config_paths = array_unique(array_merge($config->_config_paths, array(APPPATH)));
}
@@ -600,32 +648,47 @@
* Variables are prefixed with _ci_ to avoid symbol collision with
* variables made available to view files
*
- * @access private
* @param array
* @return void
*/
- function _ci_load($_ci_data)
+ protected function _ci_load($_ci_data)
{
// Set the default data variables
foreach (array('_ci_view', '_ci_vars', '_ci_path', '_ci_return') as $_ci_val)
{
$$_ci_val = ( ! isset($_ci_data[$_ci_val])) ? FALSE : $_ci_data[$_ci_val];
}
+
+ $file_exists = FALSE;
// Set the path to the requested file
- if ($_ci_path == '')
+ if ($_ci_path != '')
{
- $_ci_ext = pathinfo($_ci_view, PATHINFO_EXTENSION);
- $_ci_file = ($_ci_ext == '') ? $_ci_view.EXT : $_ci_view;
- $_ci_path = $this->_ci_view_path.$_ci_file;
+ $_ci_x = explode('/', $_ci_path);
+ $_ci_file = end($_ci_x);
}
else
{
- $_ci_x = explode('/', $_ci_path);
- $_ci_file = end($_ci_x);
+ $_ci_ext = pathinfo($_ci_view, PATHINFO_EXTENSION);
+ $_ci_file = ($_ci_ext == '') ? $_ci_view.'.php' : $_ci_view;
+
+ foreach ($this->_ci_view_paths as $view_file => $cascade)
+ {
+ if (file_exists($view_file.$_ci_file))
+ {
+ $_ci_path = $view_file.$_ci_file;
+ $file_exists = TRUE;
+ break;
+ }
+
+ if ( ! $cascade)
+ {
+ break;
+ }
+ }
}
- if ( ! file_exists($_ci_path))
+ if ( ! $file_exists && ! file_exists($_ci_path))
{
show_error('Unable to load the requested file: '.$_ci_file);
}
@@ -721,18 +784,17 @@
*
* This function loads the requested class.
*
- * @access private
* @param string the item that is being loaded
* @param mixed any additional parameters
* @param string an optional object name
* @return void
*/
- function _ci_load_class($class, $params = NULL, $object_name = NULL)
+ protected function _ci_load_class($class, $params = NULL, $object_name = NULL)
{
// Get the class name, and while we're at it trim any slashes.
// The directory path can be included as part of the class name,
// but we don't want a leading slash
- $class = str_replace(EXT, '', trim($class, '/'));
+ $class = str_replace('.php', '', trim($class, '/'));
// Was the path included with the class name?
// We look for a slash to determine this
@@ -749,12 +811,12 @@
// We'll test for both lowercase and capitalized versions of the file name
foreach (array(ucfirst($class), strtolower($class)) as $class)
{
- $subclass = APPPATH.'libraries/'.$subdir.config_item('subclass_prefix').$class.EXT;
+ $subclass = APPPATH.'libraries/'.$subdir.config_item('subclass_prefix').$class.'.php';
// Is this a class extension request?
if (file_exists($subclass))
{
- $baseclass = BASEPATH.'libraries/'.ucfirst($class).EXT;
+ $baseclass = BASEPATH.'libraries/'.ucfirst($class).'.php';
if ( ! file_exists($baseclass))
{
@@ -793,7 +855,7 @@
$is_duplicate = FALSE;
foreach ($this->_ci_library_paths as $path)
{
- $filepath = $path.'libraries/'.$subdir.$class.EXT;
+ $filepath = $path.'libraries/'.$subdir.$class.'.php';
// Does the file exist? No? Bummer...
if ( ! file_exists($filepath))
@@ -849,13 +911,12 @@
/**
* Instantiates a class
*
- * @access private
* @param string
* @param string
* @param string an optional object name
* @return null
*/
- function _ci_init_class($class, $prefix = '', $config = FALSE, $object_name = NULL)
+ protected function _ci_init_class($class, $prefix = '', $config = FALSE, $object_name = NULL)
{
// Is there an associated config file for this class? Note: these should always be lowercase
if ($config === NULL)
@@ -872,24 +933,24 @@
// We test for both uppercase and lowercase, for servers that
// are case-sensitive with regard to file names. Check for environment
// first, global next
- if (defined('ENVIRONMENT') AND file_exists($path .'config/'.ENVIRONMENT.'/'.strtolower($class).EXT))
+ if (defined('ENVIRONMENT') AND file_exists($path .'config/'.ENVIRONMENT.'/'.strtolower($class).'.php'))
{
- include_once($path .'config/'.ENVIRONMENT.'/'.strtolower($class).EXT);
+ include_once($path .'config/'.ENVIRONMENT.'/'.strtolower($class).'.php');
break;
}
- elseif (defined('ENVIRONMENT') AND file_exists($path .'config/'.ENVIRONMENT.'/'.ucfirst(strtolower($class)).EXT))
+ elseif (defined('ENVIRONMENT') AND file_exists($path .'config/'.ENVIRONMENT.'/'.ucfirst(strtolower($class)).'.php'))
{
- include_once($path .'config/'.ENVIRONMENT.'/'.ucfirst(strtolower($class)).EXT);
+ include_once($path .'config/'.ENVIRONMENT.'/'.ucfirst(strtolower($class)).'.php');
break;
}
- elseif (file_exists($path .'config/'.strtolower($class).EXT))
+ elseif (file_exists($path .'config/'.strtolower($class).'.php'))
{
- include_once($path .'config/'.strtolower($class).EXT);
+ include_once($path .'config/'.strtolower($class).'.php');
break;
}
- elseif (file_exists($path .'config/'.ucfirst(strtolower($class)).EXT))
+ elseif (file_exists($path .'config/'.ucfirst(strtolower($class)).'.php'))
{
- include_once($path .'config/'.ucfirst(strtolower($class)).EXT);
+ include_once($path .'config/'.ucfirst(strtolower($class)).'.php');
break;
}
}
@@ -959,19 +1020,21 @@
* The config/autoload.php file contains an array that permits sub-systems,
* libraries, and helpers to be loaded automatically.
*
- * @access private
+ * This function is public, as it's used in the CI_Controller class.
+ * However, there is no reason you should ever needs to use it.
+ *
* @param array
* @return void
*/
- function _ci_autoloader()
+ public function ci_autoloader()
{
- if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/autoload'.EXT))
+ if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/autoload.php'))
{
- include_once(APPPATH.'config/'.ENVIRONMENT.'/autoload'.EXT);
+ include_once(APPPATH.'config/'.ENVIRONMENT.'/autoload.php');
}
else
{
- include_once(APPPATH.'config/autoload'.EXT);
+ include_once(APPPATH.'config/autoload.php');
}
@@ -1046,11 +1109,10 @@
*
* Takes an object as input and converts the class variables to array key/vals
*
- * @access private
* @param object
* @return array
*/
- function _ci_object_to_array($object)
+ protected function _ci_object_to_array($object)
{
return (is_object($object)) ? get_object_vars($object) : $object;
}
@@ -1060,10 +1122,9 @@
/**
* Get a reference to a specific library or model
*
- * @access private
* @return bool
*/
- function &_ci_get_component($component)
+ protected function &_ci_get_component($component)
{
$CI =& get_instance();
return $CI->$component;
@@ -1076,29 +1137,26 @@
*
* This function preps the name of various items to make loading them more reliable.
*
- * @access private
* @param mixed
* @return array
*/
- function _ci_prep_filename($filename, $extension)
+ protected function _ci_prep_filename($filename, $extension)
{
if ( ! is_array($filename))
{
- return array(strtolower(str_replace(EXT, '', str_replace($extension, '', $filename)).$extension));
+ return array(strtolower(str_replace('.php', '', str_replace($extension, '', $filename)).$extension));
}
else
{
foreach ($filename as $key => $val)
{
- $filename[$key] = strtolower(str_replace(EXT, '', str_replace($extension, '', $val)).$extension);
+ $filename[$key] = strtolower(str_replace('.php', '', str_replace($extension, '', $val)).$extension);
}
return $filename;
}
}
-
-
}
/* End of file Loader.php */
-/* Location: ./system/core/Loader.php */
+/* Location: ./system/core/Loader.php */
\ No newline at end of file
diff -ru CodeIgniter_2.0.2/system/core/Output.php CodeIgniter_2.0.3/system/core/Output.php
--- CodeIgniter_2.0.2/system/core/Output.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Output.php 2011-08-20 20:59:14.000000000 +0900
@@ -42,13 +42,13 @@
$this->_zlib_oc = @ini_get('zlib.output_compression');
// Get mime types for later
- if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/mimes'.EXT))
+ if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
{
- include APPPATH.'config/'.ENVIRONMENT.'/mimes'.EXT;
+ include APPPATH.'config/'.ENVIRONMENT.'/mimes.php';
}
else
{
- include APPPATH.'config/mimes'.EXT;
+ include APPPATH.'config/mimes.php';
}
diff -ru CodeIgniter_2.0.2/system/core/Router.php CodeIgniter_2.0.3/system/core/Router.php
--- CodeIgniter_2.0.2/system/core/Router.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Router.php 2011-08-20 20:59:14.000000000 +0900
@@ -87,13 +87,13 @@
}
// Load the routes.php file.
- if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/routes'.EXT))
+ if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/routes.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/routes'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/routes.php');
}
- elseif (is_file(APPPATH.'config/routes'.EXT))
+ elseif (is_file(APPPATH.'config/routes.php'))
{
- include(APPPATH.'config/routes'.EXT);
+ include(APPPATH.'config/routes.php');
}
$this->routes = ( ! isset($route) OR ! is_array($route)) ? array() : $route;
@@ -227,7 +227,7 @@
}
// Does the requested controller exist in the root folder?
- if (file_exists(APPPATH.'controllers/'.$segments[0].EXT))
+ if (file_exists(APPPATH.'controllers/'.$segments[0].'.php'))
{
return $segments;
}
@@ -242,7 +242,7 @@
if (count($segments) > 0)
{
// Does the requested controller exist in the sub-folder?
- if ( ! file_exists(APPPATH.'controllers/'.$this->fetch_directory().$segments[0].EXT))
+ if ( ! file_exists(APPPATH.'controllers/'.$this->fetch_directory().$segments[0].'.php'))
{
show_404($this->fetch_directory().$segments[0]);
}
@@ -264,7 +264,7 @@
}
// Does the default controller exist in the sub-folder?
- if ( ! file_exists(APPPATH.'controllers/'.$this->fetch_directory().$this->default_controller.EXT))
+ if ( ! file_exists(APPPATH.'controllers/'.$this->fetch_directory().$this->default_controller.'.php'))
{
$this->directory = '';
return array();
diff -ru CodeIgniter_2.0.2/system/core/Security.php CodeIgniter_2.0.3/system/core/Security.php
--- CodeIgniter_2.0.2/system/core/Security.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/Security.php 2011-08-20 20:59:14.000000000 +0900
@@ -58,8 +58,20 @@
*/
public function __construct()
{
- // 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;
+ // CSRF config
+ foreach(array('csrf_expire', 'csrf_token_name', 'csrf_cookie_name') as $key)
+ {
+ if (FALSE !== ($val = config_item($key)))
+ {
+ $this->{'_'.$key} = $val;
+ }
+ }
+
+ // Append application specific cookie prefix
+ if (config_item('cookie_prefix'))
+ {
+ $this->_csrf_cookie_name = config_item('cookie_prefix').$this->_csrf_cookie_name;
+ }
// Set the CSRF hash
$this->_csrf_set_hash();
@@ -817,4 +829,4 @@
// END Security Class
/* End of file Security.php */
-/* Location: ./system/libraries/Security.php */
\ No newline at end of file
+/* Location: ./system/libraries/Security.php */
diff -ru CodeIgniter_2.0.2/system/core/URI.php CodeIgniter_2.0.3/system/core/URI.php
--- CodeIgniter_2.0.2/system/core/URI.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/core/URI.php 2011-08-20 20:59:14.000000000 +0900
@@ -62,7 +62,7 @@
if (strtoupper($this->config->item('uri_protocol')) == 'AUTO')
{
// Is the request coming from the command line?
- if (defined('STDIN'))
+ if (php_sapi_name() == 'cli' or defined('STDIN'))
{
$this->_set_uri_string($this->_parse_cli_args());
return;
@@ -120,7 +120,7 @@
$path = (isset($_SERVER[$uri])) ? $_SERVER[$uri] : @getenv($uri);
$this->_set_uri_string($path);
}
-
+
// --------------------------------------------------------------------
/**
@@ -133,7 +133,7 @@
{
// Filter out control characters
$str = remove_invisible_characters($str, FALSE);
-
+
// If the URI contains only a slash we'll kill it
$this->uri_string = ($str == '/') ? '' : $str;
}
@@ -151,7 +151,7 @@
*/
private function _detect_uri()
{
- if ( ! isset($_SERVER['REQUEST_URI']))
+ if ( ! isset($_SERVER['REQUEST_URI']) OR ! isset($_SERVER['SCRIPT_NAME']))
{
return '';
}
@@ -184,12 +184,12 @@
$_SERVER['QUERY_STRING'] = '';
$_GET = array();
}
-
+
if ($uri == '/' || empty($uri))
{
return '/';
}
-
+
$uri = parse_url($uri, PHP_URL_PATH);
// Do some final cleaning of the URI and return it
diff -ru CodeIgniter_2.0.2/system/database/DB_active_rec.php CodeIgniter_2.0.3/system/database/DB_active_rec.php
--- CodeIgniter_2.0.2/system/database/DB_active_rec.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/DB_active_rec.php 2011-08-20 20:59:14.000000000 +0900
@@ -58,7 +58,9 @@
var $ar_cache_having = array();
var $ar_cache_orderby = array();
var $ar_cache_set = array();
-
+
+ var $ar_no_escape = array();
+ var $ar_cache_no_escape = array();
// --------------------------------------------------------------------
@@ -67,18 +69,11 @@
*
* Generates the SELECT portion of the query
*
- * @access public
* @param string
* @return object
*/
- function select($select = '*', $escape = NULL)
+ public function select($select = '*', $escape = NULL)
{
- // Set the global value if this was sepecified
- if (is_bool($escape))
- {
- $this->_protect_identifiers = $escape;
- }
-
if (is_string($select))
{
$select = explode(',', $select);
@@ -91,11 +86,13 @@
if ($val != '')
{
$this->ar_select[] = $val;
+ $this->ar_no_escape[] = $escape;
if ($this->ar_caching === TRUE)
{
$this->ar_cache_select[] = $val;
$this->ar_cache_exists[] = 'select';
+ $this->ar_cache_no_escape[] = $escape;
}
}
}
@@ -109,12 +106,11 @@
*
* Generates a SELECT MAX(field) portion of a query
*
- * @access public
* @param string the field
* @param string an alias
* @return object
*/
- function select_max($select = '', $alias = '')
+ public function select_max($select = '', $alias = '')
{
return $this->_max_min_avg_sum($select, $alias, 'MAX');
}
@@ -126,12 +122,11 @@
*
* Generates a SELECT MIN(field) portion of a query
*
- * @access public
* @param string the field
* @param string an alias
* @return object
*/
- function select_min($select = '', $alias = '')
+ public function select_min($select = '', $alias = '')
{
return $this->_max_min_avg_sum($select, $alias, 'MIN');
}
@@ -143,12 +138,11 @@
*
* Generates a SELECT AVG(field) portion of a query
*
- * @access public
* @param string the field
* @param string an alias
* @return object
*/
- function select_avg($select = '', $alias = '')
+ public function select_avg($select = '', $alias = '')
{
return $this->_max_min_avg_sum($select, $alias, 'AVG');
}
@@ -160,12 +154,11 @@
*
* Generates a SELECT SUM(field) portion of a query
*
- * @access public
* @param string the field
* @param string an alias
* @return object
*/
- function select_sum($select = '', $alias = '')
+ public function select_sum($select = '', $alias = '')
{
return $this->_max_min_avg_sum($select, $alias, 'SUM');
}
@@ -180,12 +173,11 @@
* select_avg()
* select_sum()
*
- * @access public
* @param string the field
* @param string an alias
* @return object
*/
- function _max_min_avg_sum($select = '', $alias = '', $type = 'MAX')
+ protected function _max_min_avg_sum($select = '', $alias = '', $type = 'MAX')
{
if ( ! is_string($select) OR $select == '')
{
@@ -222,11 +214,10 @@
/**
* Determines the alias name based on the table
*
- * @access private
* @param string
* @return string
*/
- function _create_alias_from_table($item)
+ protected function _create_alias_from_table($item)
{
if (strpos($item, '.') !== FALSE)
{
@@ -243,11 +234,10 @@
*
* Sets a flag which tells the query string compiler to add DISTINCT
*
- * @access public
* @param bool
* @return object
*/
- function distinct($val = TRUE)
+ public function distinct($val = TRUE)
{
$this->ar_distinct = (is_bool($val)) ? $val : TRUE;
return $this;
@@ -260,11 +250,10 @@
*
* Generates the FROM portion of the query
*
- * @access public
* @param mixed can be a string or array
* @return object
*/
- function from($from)
+ public function from($from)
{
foreach ((array)$from as $val)
{
@@ -313,13 +302,12 @@
*
* Generates the JOIN portion of the query
*
- * @access public
* @param string
* @param string the join condition
* @param string the type of join
* @return object
*/
- function join($table, $cond, $type = '')
+ public function join($table, $cond, $type = '')
{
if ($type != '')
{
@@ -369,12 +357,11 @@
* Generates the WHERE portion of the query. Separates
* multiple calls with AND
*
- * @access public
* @param mixed
* @param mixed
* @return object
*/
- function where($key, $value = NULL, $escape = TRUE)
+ public function where($key, $value = NULL, $escape = TRUE)
{
return $this->_where($key, $value, 'AND ', $escape);
}
@@ -387,12 +374,11 @@
* Generates the WHERE portion of the query. Separates
* multiple calls with OR
*
- * @access public
* @param mixed
* @param mixed
* @return object
*/
- function or_where($key, $value = NULL, $escape = TRUE)
+ public function or_where($key, $value = NULL, $escape = TRUE)
{
return $this->_where($key, $value, 'OR ', $escape);
}
@@ -402,15 +388,14 @@
/**
* Where
*
- * Called by where() or orwhere()
+ * Called by where() or or_where()
*
- * @access private
* @param mixed
* @param mixed
* @param string
* @return object
*/
- function _where($key, $value = NULL, $type = 'AND ', $escape = NULL)
+ protected function _where($key, $value = NULL, $type = 'AND ', $escape = NULL)
{
if ( ! is_array($key))
{
@@ -441,10 +426,10 @@
$v = ' '.$this->escape($v);
}
-
+
if ( ! $this->_has_operator($k))
{
- $k .= ' =';
+ $k .= ' = ';
}
}
else
@@ -473,12 +458,11 @@
* Generates a WHERE field IN ('item', 'item') SQL query joined with
* AND if appropriate
*
- * @access public
* @param string The field to search
* @param array The values searched on
* @return object
*/
- function where_in($key = NULL, $values = NULL)
+ public function where_in($key = NULL, $values = NULL)
{
return $this->_where_in($key, $values);
}
@@ -491,12 +475,11 @@
* Generates a WHERE field IN ('item', 'item') SQL query joined with
* OR if appropriate
*
- * @access public
* @param string The field to search
* @param array The values searched on
* @return object
*/
- function or_where_in($key = NULL, $values = NULL)
+ public function or_where_in($key = NULL, $values = NULL)
{
return $this->_where_in($key, $values, FALSE, 'OR ');
}
@@ -509,12 +492,11 @@
* Generates a WHERE field NOT IN ('item', 'item') SQL query joined
* with AND if appropriate
*
- * @access public
* @param string The field to search
* @param array The values searched on
* @return object
*/
- function where_not_in($key = NULL, $values = NULL)
+ public function where_not_in($key = NULL, $values = NULL)
{
return $this->_where_in($key, $values, TRUE);
}
@@ -527,12 +509,11 @@
* Generates a WHERE field NOT IN ('item', 'item') SQL query joined
* with OR if appropriate
*
- * @access public
* @param string The field to search
* @param array The values searched on
* @return object
*/
- function or_where_not_in($key = NULL, $values = NULL)
+ public function or_where_not_in($key = NULL, $values = NULL)
{
return $this->_where_in($key, $values, TRUE, 'OR ');
}
@@ -544,14 +525,13 @@
*
* Called by where_in, where_in_or, where_not_in, where_not_in_or
*
- * @access public
* @param string The field to search
* @param array The values searched on
* @param boolean If the statement would be IN or NOT IN
* @param string
* @return object
*/
- function _where_in($key = NULL, $values = NULL, $not = FALSE, $type = 'AND ')
+ protected function _where_in($key = NULL, $values = NULL, $not = FALSE, $type = 'AND ')
{
if ($key === NULL OR $values === NULL)
{
@@ -594,12 +574,11 @@
* Generates a %LIKE% portion of the query. Separates
* multiple calls with AND
*
- * @access public
* @param mixed
* @param mixed
* @return object
*/
- function like($field, $match = '', $side = 'both')
+ public function like($field, $match = '', $side = 'both')
{
return $this->_like($field, $match, 'AND ', $side);
}
@@ -612,12 +591,11 @@
* Generates a NOT LIKE portion of the query. Separates
* multiple calls with AND
*
- * @access public
* @param mixed
* @param mixed
* @return object
*/
- function not_like($field, $match = '', $side = 'both')
+ public function not_like($field, $match = '', $side = 'both')
{
return $this->_like($field, $match, 'AND ', $side, 'NOT');
}
@@ -630,12 +608,11 @@
* Generates a %LIKE% portion of the query. Separates
* multiple calls with OR
*
- * @access public
* @param mixed
* @param mixed
* @return object
*/
- function or_like($field, $match = '', $side = 'both')
+ public function or_like($field, $match = '', $side = 'both')
{
return $this->_like($field, $match, 'OR ', $side);
}
@@ -648,12 +625,11 @@
* Generates a NOT LIKE portion of the query. Separates
* multiple calls with OR
*
- * @access public
* @param mixed
* @param mixed
* @return object
*/
- function or_not_like($field, $match = '', $side = 'both')
+ public function or_not_like($field, $match = '', $side = 'both')
{
return $this->_like($field, $match, 'OR ', $side, 'NOT');
}
@@ -665,13 +641,12 @@
*
* Called by like() or orlike()
*
- * @access private
* @param mixed
* @param mixed
* @param string
* @return object
*/
- function _like($field, $match = '', $type = 'AND ', $side = 'both', $not = '')
+ protected function _like($field, $match = '', $type = 'AND ', $side = 'both', $not = '')
{
if ( ! is_array($field))
{
@@ -721,11 +696,10 @@
/**
* GROUP BY
*
- * @access public
* @param string
* @return object
*/
- function group_by($by)
+ public function group_by($by)
{
if (is_string($by))
{
@@ -757,12 +731,11 @@
*
* Separates multiple calls with AND
*
- * @access public
* @param string
* @param string
* @return object
*/
- function having($key, $value = '', $escape = TRUE)
+ public function having($key, $value = '', $escape = TRUE)
{
return $this->_having($key, $value, 'AND ', $escape);
}
@@ -774,12 +747,11 @@
*
* Separates multiple calls with OR
*
- * @access public
* @param string
* @param string
* @return object
*/
- function or_having($key, $value = '', $escape = TRUE)
+ public function or_having($key, $value = '', $escape = TRUE)
{
return $this->_having($key, $value, 'OR ', $escape);
}
@@ -791,12 +763,11 @@
*
* Called by having() or or_having()
*
- * @access private
* @param string
* @param string
* @return object
*/
- function _having($key, $value = '', $type = 'AND ', $escape = TRUE)
+ protected function _having($key, $value = '', $type = 'AND ', $escape = TRUE)
{
if ( ! is_array($key))
{
@@ -819,7 +790,7 @@
if ($v != '')
{
- $v = ' '.$this->escape_str($v);
+ $v = ' '.$this->escape($v);
}
$this->ar_having[] = $prefix.$k.$v;
@@ -838,12 +809,11 @@
/**
* Sets the ORDER BY value
*
- * @access public
* @param string
* @param string direction: asc or desc
* @return object
*/
- function order_by($orderby, $direction = '')
+ public function order_by($orderby, $direction = '')
{
if (strtolower($direction) == 'random')
{
@@ -894,12 +864,11 @@
/**
* Sets the LIMIT value
*
- * @access public
* @param integer the limit value
* @param integer the offset value
* @return object
*/
- function limit($value, $offset = '')
+ public function limit($value, $offset = '')
{
$this->ar_limit = $value;
@@ -916,11 +885,10 @@
/**
* Sets the OFFSET value
*
- * @access public
* @param integer the offset value
* @return object
*/
- function offset($offset)
+ public function offset($offset)
{
$this->ar_offset = $offset;
return $this;
@@ -931,13 +899,12 @@
/**
* The "set" function. Allows key/value pairs to be set for inserting or updating
*
- * @access public
* @param mixed
* @param string
* @param boolean
* @return object
*/
- function set($key, $value = '', $escape = TRUE)
+ public function set($key, $value = '', $escape = TRUE)
{
$key = $this->_object_to_array($key);
@@ -969,13 +936,12 @@
* Compiles the select statement based on the other functions called
* and runs the query
*
- * @access public
* @param string the table
* @param string the limit clause
* @param string the offset clause
* @return object
*/
- function get($table = '', $limit = null, $offset = null)
+ public function get($table = '', $limit = null, $offset = null)
{
if ($table != '')
{
@@ -1001,11 +967,10 @@
* Generates a platform-specific query string that counts all records
* returned by an Active Record query.
*
- * @access public
* @param string
* @return string
*/
- function count_all_results($table = '')
+ public function count_all_results($table = '')
{
if ($table != '')
{
@@ -1034,13 +999,12 @@
*
* Allows the where clause, limit and offset to be added directly
*
- * @access public
* @param string the where clause
* @param string the limit clause
* @param string the offset clause
* @return object
*/
- function get_where($table = '', $where = null, $limit = null, $offset = null)
+ public function get_where($table = '', $where = null, $limit = null, $offset = null)
{
if ($table != '')
{
@@ -1071,12 +1035,11 @@
*
* Compiles batch insert strings and runs the queries
*
- * @access public
* @param string the table to retrieve the results from
* @param array an associative array of insert values
* @return object
*/
- function insert_batch($table = '', $set = NULL)
+ public function insert_batch($table = '', $set = NULL)
{
if ( ! is_null($set))
{
@@ -1129,14 +1092,12 @@
/**
* The "set_insert_batch" function. Allows key/value pairs to be set for batch inserts
*
- * @access public
* @param mixed
* @param string
* @param boolean
* @return object
*/
-
- function set_insert_batch($key, $value = '', $escape = TRUE)
+ public function set_insert_batch($key, $value = '', $escape = TRUE)
{
$key = $this->_object_to_array_batch($key);
@@ -1191,8 +1152,7 @@
*
* Compiles an insert string and runs the query
*
- * @access public
- * @param string the table to retrieve the results from
+ * @param string the table to insert data into
* @param array an associative array of insert values
* @return object
*/
@@ -1232,7 +1192,18 @@
return $this->query($sql);
}
- function replace($table = '', $set = NULL)
+ // --------------------------------------------------------------------
+
+ /**
+ * Replace
+ *
+ * Compiles an replace into string and runs the query
+ *
+ * @param string the table to replace data into
+ * @param array an associative array of insert values
+ * @return object
+ */
+ public function replace($table = '', $set = NULL)
{
if ( ! is_null($set))
{
@@ -1275,13 +1246,12 @@
*
* Compiles an update string and runs the query
*
- * @access public
* @param string the table to retrieve the results from
* @param array an associative array of update values
* @param mixed the where clause
* @return object
*/
- function update($table = '', $set = NULL, $where = NULL, $limit = NULL)
+ public function update($table = '', $set = NULL, $where = NULL, $limit = NULL)
{
// Combine any cached components with the current statements
$this->_merge_cache();
@@ -1338,13 +1308,12 @@
*
* Compiles an update string and runs the query
*
- * @access public
* @param string the table to retrieve the results from
* @param array an associative array of update values
* @param string the where key
* @return object
*/
- function update_batch($table = '', $set = NULL, $index = NULL)
+ public function update_batch($table = '', $set = NULL, $index = NULL)
{
// Combine any cached components with the current statements
$this->_merge_cache();
@@ -1404,14 +1373,12 @@
/**
* The "set_update_batch" function. Allows key/value pairs to be set for batch updating
*
- * @access public
* @param array
* @param string
* @param boolean
* @return object
*/
-
- function set_update_batch($key, $index = '', $escape = TRUE)
+ public function set_update_batch($key, $index = '', $escape = TRUE)
{
$key = $this->_object_to_array_batch($key);
@@ -1464,11 +1431,10 @@
*
* Compiles a delete string and runs "DELETE FROM table"
*
- * @access public
* @param string the table to empty
* @return object
*/
- function empty_table($table = '')
+ public function empty_table($table = '')
{
if ($table == '')
{
@@ -1504,11 +1470,10 @@
* If the database does not support the truncate() command
* This function maps to "DELETE FROM table"
*
- * @access public
* @param string the table to truncate
* @return object
*/
- function truncate($table = '')
+ public function truncate($table = '')
{
if ($table == '')
{
@@ -1542,14 +1507,13 @@
*
* Compiles a delete string and runs the query
*
- * @access public
* @param mixed the table(s) to delete from. String or array
* @param mixed the where clause
* @param mixed the limit clause
* @param boolean
* @return object
*/
- function delete($table = '', $where = '', $limit = NULL, $reset_data = TRUE)
+ public function delete($table = '', $where = '', $limit = NULL, $reset_data = TRUE)
{
// Combine any cached components with the current statements
$this->_merge_cache();
@@ -1619,11 +1583,10 @@
*
* Prepends a database prefix if one exists in configuration
*
- * @access public
* @param string the table
* @return string
*/
- function dbprefix($table = '')
+ public function dbprefix($table = '')
{
if ($table == '')
{
@@ -1636,15 +1599,29 @@
// --------------------------------------------------------------------
/**
+ * Set DB Prefix
+ *
+ * Set's the DB Prefix to something new without needing to reconnect
+ *
+ * @param string the prefix
+ * @return string
+ */
+ public function set_dbprefix($prefix = '')
+ {
+ return $this->dbprefix = $prefix;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* Track Aliases
*
* Used to track SQL statements written with aliased tables.
*
- * @access private
* @param string The table to inspect
* @return string
*/
- function _track_aliases($table)
+ protected function _track_aliases($table)
{
if (is_array($table))
{
@@ -1687,10 +1664,9 @@
* Generates a query string based on which functions were used.
* Should not be called directly. The get() function calls it.
*
- * @access private
* @return string
*/
- function _compile_select($select_override = FALSE)
+ protected function _compile_select($select_override = FALSE)
{
// Combine any cached components with the current statements
$this->_merge_cache();
@@ -1718,7 +1694,8 @@
// is because until the user calls the from() function we don't know if there are aliases
foreach ($this->ar_select as $key => $val)
{
- $this->ar_select[$key] = $this->_protect_identifiers($val);
+ $no_escape = isset($this->ar_no_escape[$key]) ? $this->ar_no_escape[$key] : NULL;
+ $this->ar_select[$key] = $this->_protect_identifiers($val, FALSE, $no_escape);
}
$sql .= implode(', ', $this->ar_select);
@@ -1753,9 +1730,7 @@
if (count($this->ar_where) > 0 OR count($this->ar_like) > 0)
{
- $sql .= "\n";
-
- $sql .= "WHERE ";
+ $sql .= "\nWHERE ";
}
$sql .= implode("\n", $this->ar_where);
@@ -1830,11 +1805,10 @@
*
* Takes an object as input and converts the class variables to array key/vals
*
- * @access public
* @param object
* @return array
*/
- function _object_to_array($object)
+ public function _object_to_array($object)
{
if ( ! is_object($object))
{
@@ -1861,11 +1835,10 @@
*
* Takes an object as input and converts the class variables to array key/vals
*
- * @access public
* @param object
* @return array
*/
- function _object_to_array_batch($object)
+ public function _object_to_array_batch($object)
{
if ( ! is_object($object))
{
@@ -1901,10 +1874,9 @@
*
* Starts AR caching
*
- * @access public
* @return void
*/
- function start_cache()
+ public function start_cache()
{
$this->ar_caching = TRUE;
}
@@ -1916,10 +1888,9 @@
*
* Stops AR caching
*
- * @access public
* @return void
*/
- function stop_cache()
+ public function stop_cache()
{
$this->ar_caching = FALSE;
}
@@ -1934,22 +1905,21 @@
* @access public
* @return void
*/
- function flush_cache()
+ public function flush_cache()
{
- $this->_reset_run(
- array(
- 'ar_cache_select' => array(),
- 'ar_cache_from' => array(),
- 'ar_cache_join' => array(),
- 'ar_cache_where' => array(),
- 'ar_cache_like' => array(),
- 'ar_cache_groupby' => array(),
- 'ar_cache_having' => array(),
- 'ar_cache_orderby' => array(),
- 'ar_cache_set' => array(),
- 'ar_cache_exists' => array()
- )
- );
+ $this->_reset_run(array(
+ 'ar_cache_select' => array(),
+ 'ar_cache_from' => array(),
+ 'ar_cache_join' => array(),
+ 'ar_cache_where' => array(),
+ 'ar_cache_like' => array(),
+ 'ar_cache_groupby' => array(),
+ 'ar_cache_having' => array(),
+ 'ar_cache_orderby' => array(),
+ 'ar_cache_set' => array(),
+ 'ar_cache_exists' => array(),
+ 'ar_cache_no_escape' => array()
+ ));
}
// --------------------------------------------------------------------
@@ -1960,10 +1930,9 @@
* When called, this function merges any cached AR arrays with
* locally called ones.
*
- * @access private
* @return void
*/
- function _merge_cache()
+ protected function _merge_cache()
{
if (count($this->ar_cache_exists) == 0)
{
@@ -1989,6 +1958,8 @@
{
$this->_track_aliases($this->ar_from);
}
+
+ $this->ar_no_escape = $this->ar_cache_no_escape;
}
// --------------------------------------------------------------------
@@ -1996,11 +1967,10 @@
/**
* Resets the active record values. Called by the get() function
*
- * @access private
* @param array An array of fields to reset
* @return void
*/
- function _reset_run($ar_reset_items)
+ protected function _reset_run($ar_reset_items)
{
foreach ($ar_reset_items as $item => $default_value)
{
@@ -2016,27 +1986,27 @@
/**
* Resets the active record values. Called by the get() function
*
- * @access private
* @return void
*/
- function _reset_select()
+ protected function _reset_select()
{
$ar_reset_items = array(
- 'ar_select' => array(),
- 'ar_from' => array(),
- 'ar_join' => array(),
- 'ar_where' => array(),
- 'ar_like' => array(),
- 'ar_groupby' => array(),
- 'ar_having' => array(),
- 'ar_orderby' => array(),
- 'ar_wherein' => array(),
- 'ar_aliased_tables' => array(),
- 'ar_distinct' => FALSE,
- 'ar_limit' => FALSE,
- 'ar_offset' => FALSE,
- 'ar_order' => FALSE,
- );
+ 'ar_select' => array(),
+ 'ar_from' => array(),
+ 'ar_join' => array(),
+ 'ar_where' => array(),
+ 'ar_like' => array(),
+ 'ar_groupby' => array(),
+ 'ar_having' => array(),
+ 'ar_orderby' => array(),
+ 'ar_wherein' => array(),
+ 'ar_aliased_tables' => array(),
+ 'ar_no_escape' => array(),
+ 'ar_distinct' => FALSE,
+ 'ar_limit' => FALSE,
+ 'ar_offset' => FALSE,
+ 'ar_order' => FALSE,
+ );
$this->_reset_run($ar_reset_items);
}
@@ -2048,25 +2018,23 @@
*
* Called by the insert() update() insert_batch() update_batch() and delete() functions
*
- * @access private
* @return void
*/
- function _reset_write()
+ protected function _reset_write()
{
$ar_reset_items = array(
- 'ar_set' => array(),
- 'ar_from' => array(),
- 'ar_where' => array(),
- 'ar_like' => array(),
- 'ar_orderby' => array(),
- 'ar_keys' => array(),
- 'ar_limit' => FALSE,
- 'ar_order' => FALSE
- );
+ 'ar_set' => array(),
+ 'ar_from' => array(),
+ 'ar_where' => array(),
+ 'ar_like' => array(),
+ 'ar_orderby' => array(),
+ 'ar_keys' => array(),
+ 'ar_limit' => FALSE,
+ 'ar_order' => FALSE
+ );
$this->_reset_run($ar_reset_items);
}
-
}
/* End of file DB_active_rec.php */
diff -ru CodeIgniter_2.0.2/system/database/DB_driver.php CodeIgniter_2.0.3/system/database/DB_driver.php
--- CodeIgniter_2.0.2/system/database/DB_driver.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/DB_driver.php 2011-08-20 20:59:14.000000000 +0900
@@ -424,8 +424,8 @@
if ( ! class_exists($driver))
{
- include_once(BASEPATH.'database/DB_result'.EXT);
- include_once(BASEPATH.'database/drivers/'.$this->dbdriver.'/'.$this->dbdriver.'_result'.EXT);
+ include_once(BASEPATH.'database/DB_result.php');
+ include_once(BASEPATH.'database/drivers/'.$this->dbdriver.'/'.$this->dbdriver.'_result.php');
}
return $driver;
@@ -1115,7 +1115,7 @@
if ( ! class_exists('CI_DB_Cache'))
{
- if ( ! @include(BASEPATH.'database/DB_cache'.EXT))
+ if ( ! @include(BASEPATH.'database/DB_cache.php'))
{
return $this->cache_off();
}
diff -ru CodeIgniter_2.0.2/system/database/DB.php CodeIgniter_2.0.3/system/database/DB.php
--- CodeIgniter_2.0.2/system/database/DB.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/DB.php 2011-08-20 20:59:14.000000000 +0900
@@ -28,11 +28,11 @@
if (is_string($params) AND strpos($params, '://') === FALSE)
{
// Is the config file in the environment folder?
- if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = APPPATH.'config/'.ENVIRONMENT.'/database'.EXT))
+ if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = APPPATH.'config/'.ENVIRONMENT.'/database.php'))
{
- if ( ! file_exists($file_path = APPPATH.'config/database'.EXT))
+ if ( ! file_exists($file_path = APPPATH.'config/database.php'))
{
- show_error('The configuration file database'.EXT.' does not exist.');
+ show_error('The configuration file database.php does not exist.');
}
}
@@ -116,11 +116,11 @@
$active_record = $active_record_override;
}
- require_once(BASEPATH.'database/DB_driver'.EXT);
+ require_once(BASEPATH.'database/DB_driver.php');
if ( ! isset($active_record) OR $active_record == TRUE)
{
- require_once(BASEPATH.'database/DB_active_rec'.EXT);
+ require_once(BASEPATH.'database/DB_active_rec.php');
if ( ! class_exists('CI_DB'))
{
@@ -135,7 +135,7 @@
}
}
- require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver'.EXT);
+ require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php');
// Instantiate the DB adapter
$driver = 'CI_DB_'.$params['dbdriver'].'_driver';
diff -ru CodeIgniter_2.0.2/system/database/DB_result.php CodeIgniter_2.0.3/system/database/DB_result.php
--- CodeIgniter_2.0.2/system/database/DB_result.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/DB_result.php 2011-08-20 20:59:14.000000000 +0900
@@ -28,14 +28,14 @@
*/
class CI_DB_result {
- 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;
+ 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;
/**
@@ -47,47 +47,52 @@
*/
function result($type = 'object')
{
- if ($type == 'array') return $this->result_array();
- else if ($type == 'object') return $this->result_object();
- else return $this->custom_result_object($type);
+ 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();
+ /**
+ * 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;
- }
+ {
+ $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;
- }
+ // return the array
+ return $this->custom_result_object[$class_name] = $result_object;
+ }
+
+ // --------------------------------------------------------------------
/**
* Query result. "object" version.
@@ -180,9 +185,9 @@
$n = 0;
}
- 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);
+ 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);
}
// --------------------------------------------------------------------
@@ -219,7 +224,7 @@
// --------------------------------------------------------------------
- /**
+ /**
* Returns a single result row - custom object version
*
* @access public
@@ -242,7 +247,7 @@
return $result[$this->current_row];
}
- /**
+ /**
* Returns a single result row - object version
*
* @access public
diff -ru CodeIgniter_2.0.2/system/database/drivers/mysql/mysql_driver.php CodeIgniter_2.0.3/system/database/drivers/mysql/mysql_driver.php
--- CodeIgniter_2.0.2/system/database/drivers/mysql/mysql_driver.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/drivers/mysql/mysql_driver.php 2011-08-20 20:59:14.000000000 +0900
@@ -132,7 +132,22 @@
*/
function db_set_charset($charset, $collation)
{
- return @mysql_query("SET NAMES '".$this->escape_str($charset)."' COLLATE '".$this->escape_str($collation)."'", $this->conn_id);
+ static $use_set_names;
+
+ if ( ! isset($use_set_names))
+ {
+ // mysql_set_charset() requires PHP >= 5.2.3 and MySQL >= 5.0.7, use SET NAMES as fallback
+ $use_set_names = (version_compare(PHP_VERSION, '5.2.3', '>=') && version_compare(mysql_get_server_info(), '5.0.7', '>=')) ? FALSE : TRUE;
+ }
+
+ if ($use_set_names)
+ {
+ return @mysql_query("SET NAMES '".$this->escape_str($charset)."' COLLATE '".$this->escape_str($collation)."'", $this->conn_id);
+ }
+ else
+ {
+ return @mysql_set_charset($charset, $this->conn_id);
+ }
}
// --------------------------------------------------------------------
diff -ru CodeIgniter_2.0.2/system/database/drivers/mysql/mysql_forge.php CodeIgniter_2.0.3/system/database/drivers/mysql/mysql_forge.php
--- CodeIgniter_2.0.2/system/database/drivers/mysql/mysql_forge.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/drivers/mysql/mysql_forge.php 2011-08-20 20:59:14.000000000 +0900
@@ -119,9 +119,13 @@
$sql .= ' DEFAULT \''.$attributes['DEFAULT'].'\'';
}
- if (array_key_exists('NULL', $attributes))
+ if (array_key_exists('NULL', $attributes) && $attributes['NULL'] === TRUE)
{
- $sql .= ($attributes['NULL'] === TRUE) ? ' NULL' : ' NOT NULL';
+ $sql .= ' NULL';
+ }
+ else
+ {
+ $sql .= ' NOT NULL';
}
if (array_key_exists('AUTO_INCREMENT', $attributes) && $attributes['AUTO_INCREMENT'] === TRUE)
diff -ru CodeIgniter_2.0.2/system/database/drivers/mysqli/mysqli_driver.php CodeIgniter_2.0.3/system/database/drivers/mysqli/mysqli_driver.php
--- CodeIgniter_2.0.2/system/database/drivers/mysqli/mysqli_driver.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/drivers/mysqli/mysqli_driver.php 2011-08-20 20:59:14.000000000 +0900
@@ -132,7 +132,22 @@
*/
function _db_set_charset($charset, $collation)
{
- return @mysqli_query($this->conn_id, "SET NAMES '".$this->escape_str($charset)."' COLLATE '".$this->escape_str($collation)."'");
+ static $use_set_names;
+
+ if ( ! isset($use_set_names))
+ {
+ // mysqli_set_charset() requires MySQL >= 5.0.7, use SET NAMES as fallback
+ $use_set_names = (version_compare(mysqli_get_server_info($this->conn_id), '5.0.7', '>=')) ? FALSE : TRUE;
+ }
+
+ if ($use_set_names)
+ {
+ return @mysqli_query($this->conn_id, "SET NAMES '".$this->escape_str($charset)."' COLLATE '".$this->escape_str($collation)."'");
+ }
+ else
+ {
+ return @mysqli_set_charset($this->conn_id, $charset);
+ }
}
// --------------------------------------------------------------------
diff -ru CodeIgniter_2.0.2/system/database/drivers/mysqli/mysqli_forge.php CodeIgniter_2.0.3/system/database/drivers/mysqli/mysqli_forge.php
--- CodeIgniter_2.0.2/system/database/drivers/mysqli/mysqli_forge.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/drivers/mysqli/mysqli_forge.php 2011-08-20 20:59:14.000000000 +0900
@@ -104,9 +104,13 @@
$sql .= ' DEFAULT \''.$attributes['DEFAULT'].'\'';
}
- if (array_key_exists('NULL', $attributes))
+ if (array_key_exists('NULL', $attributes) && $attributes['NULL'] === TRUE)
{
- $sql .= ($attributes['NULL'] === TRUE) ? ' NULL' : ' NOT NULL';
+ $sql .= ' NULL';
+ }
+ else
+ {
+ $sql .= ' NOT NULL';
}
if (array_key_exists('AUTO_INCREMENT', $attributes) && $attributes['AUTO_INCREMENT'] === TRUE)
diff -ru CodeIgniter_2.0.2/system/database/drivers/postgre/postgre_driver.php CodeIgniter_2.0.3/system/database/drivers/postgre/postgre_driver.php
--- CodeIgniter_2.0.2/system/database/drivers/postgre/postgre_driver.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/database/drivers/postgre/postgre_driver.php 2011-08-20 20:59:14.000000000 +0900
@@ -554,6 +554,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
Only in CodeIgniter_2.0.3/system/database/drivers: sqlsrv
Binary files CodeIgniter_2.0.2/system/fonts/texb.ttf and CodeIgniter_2.0.3/system/fonts/texb.ttf differ
diff -ru CodeIgniter_2.0.2/system/helpers/download_helper.php CodeIgniter_2.0.3/system/helpers/download_helper.php
--- CodeIgniter_2.0.2/system/helpers/download_helper.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/helpers/download_helper.php 2011-08-20 20:59:14.000000000 +0900
@@ -58,13 +58,13 @@
$extension = end($x);
// Load the mime types
- if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes'.EXT))
+ if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/mimes'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
}
- elseif (is_file(APPPATH.'config/mimes'.EXT))
+ elseif (is_file(APPPATH.'config/mimes.php'))
{
- include(APPPATH.'config/mimes'.EXT);
+ include(APPPATH.'config/mimes.php');
}
// Set a default mime if we can't find it
diff -ru CodeIgniter_2.0.2/system/helpers/file_helper.php CodeIgniter_2.0.3/system/helpers/file_helper.php
--- CodeIgniter_2.0.2/system/helpers/file_helper.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/helpers/file_helper.php 2011-08-20 20:59:14.000000000 +0900
@@ -352,13 +352,13 @@
if ( ! is_array($mimes))
{
- if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes'.EXT))
+ if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/mimes'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
}
- elseif (is_file(APPPATH.'config/mimes'.EXT))
+ elseif (is_file(APPPATH.'config/mimes.php'))
{
- include(APPPATH.'config/mimes'.EXT);
+ include(APPPATH.'config/mimes.php');
}
if ( ! is_array($mimes))
diff -ru CodeIgniter_2.0.2/system/helpers/form_helper.php CodeIgniter_2.0.3/system/helpers/form_helper.php
--- CodeIgniter_2.0.2/system/helpers/form_helper.php 2011-04-09 00:54:10.000000000 +0900
+++ CodeIgniter_2.0.3/system/helpers/form_helper.php 2011-08-20 20:59:14.000000000 +0900
@@ -72,7 +72,7 @@
if (is_array($hidden) AND count($hidden) > 0)
{
- $form .= sprintf("\n<div class=\"hidden\">%s</div>", form_hidden($hidden));
+ $form .= sprintf("<div style=\"display:none\">%s</div>", form_hidden($hidden));
}
return $form;
@@ -1032,25 +1032,23 @@
{
$CI =& get_instance();
- // We set this as a variable since we're returning by reference
+ // We set this as a variable since we're returning by reference.
$return = FALSE;
-
- if ( ! isset($CI->load->_ci_classes) OR ! isset($CI->load->_ci_classes['form_validation']))
- {
- return $return;
- }
-
- $object = $CI->load->_ci_classes['form_validation'];
-
- if ( ! isset($CI->$object) OR ! is_object($CI->$object))
+
+ if (FALSE !== ($object = $CI->load->is_loaded('form_validation')))
{
- return $return;
+ if ( ! isset($CI->$object) OR ! is_object($CI->$object))
+ {
+ return $return;
+ }
+
+ return $CI->$object;
}
-
- return $CI->$object;
+
+ return $return;
}
}
/* End of file form_helper.php */
-/* Location: ./system/helpers/form_helper.php */
\ No newline at end of file
+/* Location: ./system/helpers/form_helper.php */
diff -ru CodeIgniter_2.0.2/system/helpers/html_helper.php CodeIgniter_2.0.3/system/helpers/html_helper.php
--- CodeIgniter_2.0.2/system/helpers/html_helper.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/helpers/html_helper.php 2011-08-20 20:59:14.000000000 +0900
@@ -40,9 +40,10 @@
*/
if ( ! function_exists('heading'))
{
- function heading($data = '', $h = '1')
+ function heading($data = '', $h = '1', $attributes = '')
{
- return "<h".$h.">".$data."</h".$h.">";
+ $attributes = ($attributes != '') ? ' '.$attributes : $attributes;
+ return "<h".$h.$attributes.">".$data."</h".$h.">";
}
}
@@ -123,6 +124,10 @@
}
$attributes = $atts;
}
+ elseif (is_string($attributes) AND strlen($attributes) > 0)
+ {
+ $attributes = ' '. $attributes;
+ }
// Write the opening list tag
$out .= "<".$type.$attributes.">\n";
@@ -258,13 +263,13 @@
if ( ! is_array($_doctypes))
{
- if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/doctypes'.EXT))
+ if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/doctypes.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/doctypes'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/doctypes.php');
}
- elseif (is_file(APPPATH.'config/doctypes'.EXT))
+ elseif (is_file(APPPATH.'config/doctypes.php'))
{
- include(APPPATH.'config/doctypes'.EXT);
+ include(APPPATH.'config/doctypes.php');
}
if ( ! is_array($_doctypes))
diff -ru CodeIgniter_2.0.2/system/helpers/inflector_helper.php CodeIgniter_2.0.3/system/helpers/inflector_helper.php
--- CodeIgniter_2.0.2/system/helpers/inflector_helper.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/helpers/inflector_helper.php 2011-08-20 20:59:14.000000000 +0900
@@ -41,30 +41,48 @@
{
function singular($str)
{
- $str = trim($str);
- $end = substr($str, -3);
-
- $str = preg_replace('/(.*)?([s|c]h)es/i','$1$2',$str);
-
- if (strtolower($end) == 'ies')
- {
- $str = substr($str, 0, strlen($str)-3).(preg_match('/[a-z]/',$end) ? 'y' : 'Y');
- }
- elseif (strtolower($end) == 'ses')
- {
- $str = substr($str, 0, strlen($str)-2);
- }
- else
- {
- $end = strtolower(substr($str, -1));
+ $result = strval($str);
- if ($end == 's')
+ $singular_rules = array(
+ '/(matr)ices$/' => '\1ix',
+ '/(vert|ind)ices$/' => '\1ex',
+ '/^(ox)en/' => '\1',
+ '/(alias)es$/' => '\1',
+ '/([octop|vir])i$/' => '\1us',
+ '/(cris|ax|test)es$/' => '\1is',
+ '/(shoe)s$/' => '\1',
+ '/(o)es$/' => '\1',
+ '/(bus|campus)es$/' => '\1',
+ '/([m|l])ice$/' => '\1ouse',
+ '/(x|ch|ss|sh)es$/' => '\1',
+ '/(m)ovies$/' => '\1\2ovie',
+ '/(s)eries$/' => '\1\2eries',
+ '/([^aeiouy]|qu)ies$/' => '\1y',
+ '/([lr])ves$/' => '\1f',
+ '/(tive)s$/' => '\1',
+ '/(hive)s$/' => '\1',
+ '/([^f])ves$/' => '\1fe',
+ '/(^analy)ses$/' => '\1sis',
+ '/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/' => '\1\2sis',
+ '/([ti])a$/' => '\1um',
+ '/(p)eople$/' => '\1\2erson',
+ '/(m)en$/' => '\1an',
+ '/(s)tatuses$/' => '\1\2tatus',
+ '/(c)hildren$/' => '\1\2hild',
+ '/(n)ews$/' => '\1\2ews',
+ '/([^u])s$/' => '\1',
+ );
+
+ foreach ($singular_rules as $rule => $replacement)
+ {
+ if (preg_match($rule, $result))
{
- $str = substr($str, 0, strlen($str)-1);
+ $result = preg_replace($rule, $replacement, $result);
+ break;
}
}
- return $str;
+ return $result;
}
}
@@ -83,40 +101,41 @@
if ( ! function_exists('plural'))
{
function plural($str, $force = FALSE)
- {
- $str = trim($str);
- $end = substr($str, -1);
+ {
+ $result = strval($str);
+
+ $plural_rules = array(
+ '/^(ox)$/' => '\1\2en', // ox
+ '/([m|l])ouse$/' => '\1ice', // mouse, louse
+ '/(matr|vert|ind)ix|ex$/' => '\1ices', // matrix, vertex, index
+ '/(x|ch|ss|sh)$/' => '\1es', // search, switch, fix, box, process, address
+ '/([^aeiouy]|qu)y$/' => '\1ies', // query, ability, agency
+ '/(hive)$/' => '\1s', // archive, hive
+ '/(?:([^f])fe|([lr])f)$/' => '\1\2ves', // half, safe, wife
+ '/sis$/' => 'ses', // basis, diagnosis
+ '/([ti])um$/' => '\1a', // datum, medium
+ '/(p)erson$/' => '\1eople', // person, salesperson
+ '/(m)an$/' => '\1en', // man, woman, spokesman
+ '/(c)hild$/' => '\1hildren', // child
+ '/(buffal|tomat)o$/' => '\1\2oes', // buffalo, tomato
+ '/(bu|campu)s$/' => '\1\2ses', // bus, campus
+ '/(alias|status|virus)/' => '\1es', // alias
+ '/(octop)us$/' => '\1i', // octopus
+ '/(ax|cris|test)is$/' => '\1es', // axis, crisis
+ '/s$/' => 's', // no change (compatibility)
+ '/$/' => 's',
+ );
- if (preg_match('/y/i',$end))
- {
- // Y preceded by vowel => regular plural
- $vowels = array('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U');
- $str = in_array(substr($str, -2, 1), $vowels) ? $str.'s' : substr($str, 0, -1).'ies';
- }
- elseif (preg_match('/h/i',$end))
+ foreach ($plural_rules as $rule => $replacement)
{
- if(preg_match('/^[c|s]h$/i',substr($str, -2)))
+ if (preg_match($rule, $result))
{
- $str .= 'es';
+ $result = preg_replace($rule, $replacement, $result);
+ break;
}
- else
- {
- $str .= 's';
- }
- }
- elseif (preg_match('/s/i',$end))
- {
- if ($force == TRUE)
- {
- $str .= 'es';
- }
- }
- else
- {
- $str .= 's';
}
- return $str;
+ return $result;
}
}
diff -ru CodeIgniter_2.0.2/system/helpers/smiley_helper.php CodeIgniter_2.0.3/system/helpers/smiley_helper.php
--- CodeIgniter_2.0.2/system/helpers/smiley_helper.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/helpers/smiley_helper.php 2011-08-20 20:59:14.000000000 +0900
@@ -229,13 +229,13 @@
{
function _get_smiley_array()
{
- if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/smileys'.EXT))
+ if (defined('ENVIRONMENT') AND file_exists(APPPATH.'config/'.ENVIRONMENT.'/smileys.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/smileys'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/smileys.php');
}
- elseif (file_exists(APPPATH.'config/smileys'.EXT))
+ elseif (file_exists(APPPATH.'config/smileys.php'))
{
- include(APPPATH.'config/smileys'.EXT);
+ include(APPPATH.'config/smileys.php');
}
if (isset($smileys) AND is_array($smileys))
diff -ru CodeIgniter_2.0.2/system/helpers/text_helper.php CodeIgniter_2.0.3/system/helpers/text_helper.php
--- CodeIgniter_2.0.2/system/helpers/text_helper.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/helpers/text_helper.php 2011-08-20 20:59:14.000000000 +0900
@@ -366,13 +366,13 @@
{
function convert_accented_characters($str)
{
- if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/foreign_chars'.EXT))
+ if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/foreign_chars.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/foreign_chars'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/foreign_chars.php');
}
- elseif (is_file(APPPATH.'config/foreign_chars'.EXT))
+ elseif (is_file(APPPATH.'config/foreign_chars.php'))
{
- include(APPPATH.'config/foreign_chars'.EXT);
+ include(APPPATH.'config/foreign_chars.php');
}
if ( ! isset($foreign_characters))
diff -ru CodeIgniter_2.0.2/system/helpers/url_helper.php CodeIgniter_2.0.3/system/helpers/url_helper.php
--- CodeIgniter_2.0.2/system/helpers/url_helper.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/helpers/url_helper.php 2011-08-20 20:59:14.000000000 +0900
@@ -50,18 +50,21 @@
/**
* Base URL
- *
- * Returns the "base_url" item from your config file
+ *
+ * Create a local URL based on your basepath.
+ * Segments can be passed in as a string or an array, same as site_url
+ * or a URL to a file can be passed in, e.g. to an image file.
*
* @access public
+ * @param string
* @return string
*/
if ( ! function_exists('base_url'))
{
- function base_url()
+ function base_url($uri = '')
{
$CI =& get_instance();
- return $CI->config->slash_item('base_url');
+ return $CI->config->base_url($uri);
}
}
diff -ru CodeIgniter_2.0.2/system/language/english/profiler_lang.php CodeIgniter_2.0.3/system/language/english/profiler_lang.php
--- CodeIgniter_2.0.2/system/language/english/profiler_lang.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/language/english/profiler_lang.php 2011-08-20 20:59:14.000000000 +0900
@@ -9,6 +9,7 @@
$lang['profiler_uri_string'] = 'URI STRING';
$lang['profiler_memory_usage'] = 'MEMORY USAGE';
$lang['profiler_config'] = 'CONFIG VARIABLES';
+$lang['profiler_session_data'] = 'SESSION DATA';
$lang['profiler_headers'] = 'HTTP HEADERS';
$lang['profiler_no_db'] = 'Database driver is not currently loaded';
$lang['profiler_no_queries'] = 'No queries were run';
@@ -17,6 +18,8 @@
$lang['profiler_no_uri'] = 'No URI data exists';
$lang['profiler_no_memory'] = 'Memory Usage Unavailable';
$lang['profiler_no_profiles'] = 'No Profile data - all Profiler sections have been disabled.';
+$lang['profiler_section_hide'] = 'Hide';
+$lang['profiler_section_show'] = 'Show';
/* End of file profiler_lang.php */
/* Location: ./system/language/english/profiler_lang.php */
\ No newline at end of file
diff -ru CodeIgniter_2.0.2/system/libraries/Cache/drivers/Cache_dummy.php CodeIgniter_2.0.3/system/libraries/Cache/drivers/Cache_dummy.php
--- CodeIgniter_2.0.2/system/libraries/Cache/drivers/Cache_dummy.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Cache/drivers/Cache_dummy.php 2011-08-20 20:59:14.000000000 +0900
@@ -10,29 +10,29 @@
* @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com
* @since Version 2.0
- * @filesource
+ * @filesource
*/
// ------------------------------------------------------------------------
/**
- * CodeIgniter Dummy Caching Class
+ * CodeIgniter Dummy Caching Class
*
* @package CodeIgniter
* @subpackage Libraries
* @category Core
* @author ExpressionEngine Dev Team
- * @link
+ * @link
*/
class CI_Cache_dummy extends CI_Driver {
/**
- * Get
+ * Get
*
* Since this is the dummy class, it's always going to return FALSE.
*
- * @param string
+ * @param string
* @return Boolean FALSE
*/
public function get($id)
@@ -40,8 +40,8 @@
return FALSE;
}
- // ------------------------------------------------------------------------
-
+ // ------------------------------------------------------------------------
+
/**
* Cache Save
*
@@ -55,7 +55,7 @@
{
return TRUE;
}
-
+
// ------------------------------------------------------------------------
/**
@@ -112,7 +112,7 @@
/**
* Is this caching driver supported on the system?
* Of course this one is.
- *
+ *
* @return TRUE;
*/
public function is_supported()
@@ -121,9 +121,9 @@
}
// ------------------------------------------------------------------------
-
+
}
// End Class
-/* End of file Cache_apc.php */
-/* Location: ./system/libraries/Cache/drivers/Cache_apc.php */
\ No newline at end of file
+/* End of file Cache_dummy.php */
+/* Location: ./system/libraries/Cache/drivers/Cache_dummy.php */
\ No newline at end of file
diff -ru CodeIgniter_2.0.2/system/libraries/Calendar.php CodeIgniter_2.0.3/system/libraries/Calendar.php
--- CodeIgniter_2.0.2/system/libraries/Calendar.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Calendar.php 2011-08-20 20:59:14.000000000 +0900
@@ -47,7 +47,7 @@
{
$this->CI =& get_instance();
- if ( ! in_array('calendar_lang'.EXT, $this->CI->lang->is_loaded, TRUE))
+ if ( ! in_array('calendar_lang.php', $this->CI->lang->is_loaded, TRUE))
{
$this->CI->lang->load('calendar');
}
diff -ru CodeIgniter_2.0.2/system/libraries/Cart.php CodeIgniter_2.0.3/system/libraries/Cart.php
--- CodeIgniter_2.0.2/system/libraries/Cart.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Cart.php 2011-08-20 20:59:14.000000000 +0900
@@ -374,6 +374,7 @@
// Lets add up the individual prices and set the cart sub-total
$total = 0;
+ $items = 0;
foreach ($this->_cart_contents as $key => $val)
{
// We make sure the array contains the proper indexes
@@ -383,13 +384,14 @@
}
$total += ($val['price'] * $val['qty']);
+ $items += $val['qty'];
// Set the subtotal
$this->_cart_contents[$key]['subtotal'] = ($this->_cart_contents[$key]['price'] * $this->_cart_contents[$key]['qty']);
}
// Set the cart total and total items.
- $this->_cart_contents['total_items'] = count($this->_cart_contents);
+ $this->_cart_contents['total_items'] = $items;
$this->_cart_contents['cart_total'] = $total;
// Is our cart empty? If so we delete it from the session
diff -ru CodeIgniter_2.0.2/system/libraries/Driver.php CodeIgniter_2.0.3/system/libraries/Driver.php
--- CodeIgniter_2.0.2/system/libraries/Driver.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Driver.php 2011-08-20 20:59:14.000000000 +0900
@@ -43,11 +43,11 @@
// The class will be prefixed with the parent lib
$child_class = $this->lib_name.'_'.$child;
-
+
// Remove the CI_ prefix and lowercase
- $lib_name = strtolower(preg_replace('/^CI_/', '', $this->lib_name));
- $driver_name = strtolower(preg_replace('/^CI_/', '', $child_class));
-
+ $lib_name = ucfirst(strtolower(str_replace('CI_', '', $this->lib_name)));
+ $driver_name = strtolower(str_replace('CI_', '', $child_class));
+
if (in_array($driver_name, array_map('strtolower', $this->valid_drivers)))
{
// check and see if the driver is in a separate file
@@ -59,7 +59,7 @@
// loves me some nesting!
foreach (array(ucfirst($driver_name), $driver_name) as $class)
{
- $filepath = $path.'libraries/'.$lib_name.'/drivers/'.$class.EXT;
+ $filepath = $path.'libraries/'.$lib_name.'/drivers/'.$class.'.php';
if (file_exists($filepath))
{
@@ -226,4 +226,4 @@
// END CI_Driver CLASS
/* End of file Driver.php */
-/* Location: ./system/libraries/Driver.php */
\ No newline at end of file
+/* Location: ./system/libraries/Driver.php */
diff -ru CodeIgniter_2.0.2/system/libraries/Email.php CodeIgniter_2.0.3/system/libraries/Email.php
--- CodeIgniter_2.0.2/system/libraries/Email.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Email.php 2011-08-20 20:59:14.000000000 +0900
@@ -395,7 +395,7 @@
public function attach($filename, $disposition = 'attachment')
{
$this->_attach_name[] = $filename;
- $this->_attach_type[] = $this->_mime_types(next(explode('.', basename($filename))));
+ $this->_attach_type[] = $this->_mime_types(pathinfo($filename, PATHINFO_EXTENSION));
$this->_attach_disp[] = $disposition; // Can also be 'inline' Not sure if it matters
return $this;
}
@@ -722,7 +722,7 @@
{
if ( ! is_array($email))
{
- $this->_set_error_message('email_must_be_array');
+ $this->_set_error_message('lang:email_must_be_array');
return FALSE;
}
@@ -730,7 +730,7 @@
{
if ( ! $this->valid_email($val))
{
- $this->_set_error_message('email_invalid_address', $val);
+ $this->_set_error_message('lang:email_invalid_address', $val);
return FALSE;
}
}
@@ -1131,7 +1131,7 @@
if ( ! file_exists($filename))
{
- $this->_set_error_message('email_attachment_missing', $filename);
+ $this->_set_error_message('lang:email_attachment_missing', $filename);
return FALSE;
}
@@ -1146,7 +1146,7 @@
if ( ! $fp = fopen($filename, FOPEN_READ))
{
- $this->_set_error_message('email_attachment_unreadable', $filename);
+ $this->_set_error_message('lang:email_attachment_unreadable', $filename);
return FALSE;
}
@@ -1353,7 +1353,7 @@
( ! isset($this->_bcc_array) AND ! isset($this->_headers['Bcc'])) AND
( ! isset($this->_headers['Cc'])))
{
- $this->_set_error_message('email_no_recipients');
+ $this->_set_error_message('lang:email_no_recipients');
return FALSE;
}
@@ -1484,7 +1484,7 @@
if ( ! $this->_send_with_mail())
{
- $this->_set_error_message('email_send_failure_phpmail');
+ $this->_set_error_message('lang:email_send_failure_phpmail');
return FALSE;
}
break;
@@ -1492,7 +1492,7 @@
if ( ! $this->_send_with_sendmail())
{
- $this->_set_error_message('email_send_failure_sendmail');
+ $this->_set_error_message('lang:email_send_failure_sendmail');
return FALSE;
}
break;
@@ -1500,14 +1500,14 @@
if ( ! $this->_send_with_smtp())
{
- $this->_set_error_message('email_send_failure_smtp');
+ $this->_set_error_message('lang:email_send_failure_smtp');
return FALSE;
}
break;
}
- $this->_set_error_message('email_sent', $this->_get_protocol());
+ $this->_set_error_message('lang:email_sent', $this->_get_protocol());
return TRUE;
}
@@ -1578,8 +1578,8 @@
if ($status != 0)
{
- $this->_set_error_message('email_exit_status', $status);
- $this->_set_error_message('email_no_socket');
+ $this->_set_error_message('lang:email_exit_status', $status);
+ $this->_set_error_message('lang:email_no_socket');
return FALSE;
}
@@ -1598,7 +1598,7 @@
{
if ($this->smtp_host == '')
{
- $this->_set_error_message('email_no_hostname');
+ $this->_set_error_message('lang:email_no_hostname');
return FALSE;
}
@@ -1647,7 +1647,7 @@
if (strncmp($reply, '250', 3) != 0)
{
- $this->_set_error_message('email_smtp_error', $reply);
+ $this->_set_error_message('lang:email_smtp_error', $reply);
return FALSE;
}
@@ -1674,7 +1674,7 @@
if ( ! is_resource($this->_smtp_connect))
{
- $this->_set_error_message('email_smtp_error', $errno." ".$errstr);
+ $this->_set_error_message('lang:email_smtp_error', $errno." ".$errstr);
return FALSE;
}
@@ -1737,7 +1737,7 @@
if (substr($reply, 0, 3) != $resp)
{
- $this->_set_error_message('email_smtp_error', $reply);
+ $this->_set_error_message('lang:email_smtp_error', $reply);
return FALSE;
}
@@ -1766,7 +1766,7 @@
if ($this->smtp_user == "" AND $this->smtp_pass == "")
{
- $this->_set_error_message('email_no_smtp_unpw');
+ $this->_set_error_message('lang:email_no_smtp_unpw');
return FALSE;
}
@@ -1776,7 +1776,7 @@
if (strncmp($reply, '334', 3) != 0)
{
- $this->_set_error_message('email_failed_smtp_login', $reply);
+ $this->_set_error_message('lang:email_failed_smtp_login', $reply);
return FALSE;
}
@@ -1786,7 +1786,7 @@
if (strncmp($reply, '334', 3) != 0)
{
- $this->_set_error_message('email_smtp_auth_un', $reply);
+ $this->_set_error_message('lang:email_smtp_auth_un', $reply);
return FALSE;
}
@@ -1796,7 +1796,7 @@
if (strncmp($reply, '235', 3) != 0)
{
- $this->_set_error_message('email_smtp_auth_pw', $reply);
+ $this->_set_error_message('lang:email_smtp_auth_pw', $reply);
return FALSE;
}
@@ -1815,7 +1815,7 @@
{
if ( ! fwrite($this->_smtp_connect, $data . $this->newline))
{
- $this->_set_error_message('email_smtp_data_failure', $data);
+ $this->_set_error_message('lang:email_smtp_data_failure', $data);
return FALSE;
}
else
@@ -1942,7 +1942,7 @@
$CI =& get_instance();
$CI->lang->load('email');
- if (FALSE === ($line = $CI->lang->line($msg)))
+ if (substr($msg, 0, 5) != 'lang:' || FALSE === ($line = $CI->lang->line(substr($msg, 5))))
{
$this->_debug_msg[] = str_replace('%s', $val, $msg)."<br />";
}
@@ -2059,4 +2059,4 @@
// END CI_Email class
/* End of file Email.php */
-/* Location: ./system/libraries/Email.php */
\ No newline at end of file
+/* Location: ./system/libraries/Email.php */
diff -ru CodeIgniter_2.0.2/system/libraries/Encrypt.php CodeIgniter_2.0.3/system/libraries/Encrypt.php
--- CodeIgniter_2.0.2/system/libraries/Encrypt.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Encrypt.php 2011-08-20 20:59:14.000000000 +0900
@@ -524,7 +524,7 @@
{
if ( ! function_exists('mhash'))
{
- require_once(BASEPATH.'libraries/Sha1'.EXT);
+ require_once(BASEPATH.'libraries/Sha1.php');
$SH = new CI_SHA;
return $SH->generate($str);
}
diff -ru CodeIgniter_2.0.2/system/libraries/Form_validation.php CodeIgniter_2.0.3/system/libraries/Form_validation.php
--- CodeIgniter_2.0.2/system/libraries/Form_validation.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Form_validation.php 2011-08-20 20:59:14.000000000 +0900
@@ -628,6 +628,10 @@
$this->_field_data[$row['field']]['postdata'] = (is_bool($result)) ? $postdata : $result;
}
}
+ else
+ {
+ log_message('debug', "Unable to find validation rule: ".$rule);
+ }
continue;
}
@@ -1357,4 +1361,4 @@
// END Form Validation Class
/* End of file Form_validation.php */
-/* Location: ./system/libraries/Form_validation.php */
\ No newline at end of file
+/* Location: ./system/libraries/Form_validation.php */
diff -ru CodeIgniter_2.0.2/system/libraries/Log.php CodeIgniter_2.0.3/system/libraries/Log.php
--- CodeIgniter_2.0.2/system/libraries/Log.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Log.php 2011-08-20 20:59:14.000000000 +0900
@@ -83,7 +83,7 @@
return FALSE;
}
- $filepath = $this->_log_path.'log-'.date('Y-m-d').EXT;
+ $filepath = $this->_log_path.'log-'.date('Y-m-d').'.php';
$message = '';
if ( ! file_exists($filepath))
diff -ru CodeIgniter_2.0.2/system/libraries/Pagination.php CodeIgniter_2.0.3/system/libraries/Pagination.php
--- CodeIgniter_2.0.2/system/libraries/Pagination.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Pagination.php 2011-08-20 20:59:14.000000000 +0900
@@ -30,7 +30,7 @@
var $prefix = ''; // A custom prefix added to the path.
var $suffix = ''; // A custom suffix added to the path.
- var $total_rows = ''; // Total number of items (database results)
+ var $total_rows = 0; // Total number of items (database results)
var $per_page = 10; // Max number of items you want shown per page
var $num_links = 2; // Number of "digit" links to show before/after the currently viewed page
var $cur_page = 0; // The current page being viewed
diff -ru CodeIgniter_2.0.2/system/libraries/Profiler.php CodeIgniter_2.0.3/system/libraries/Profiler.php
--- CodeIgniter_2.0.2/system/libraries/Profiler.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Profiler.php 2011-08-20 20:59:14.000000000 +0900
@@ -32,8 +32,6 @@
*/
class CI_Profiler {
- var $CI;
-
protected $_available_sections = array(
'benchmarks',
'get',
@@ -43,14 +41,27 @@
'controller_info',
'queries',
'http_headers',
+ 'session_data',
'config'
);
+ protected $_query_toggle_count = 25;
+
+ protected $CI;
+
+ // --------------------------------------------------------------------
+
public function __construct($config = array())
{
$this->CI =& get_instance();
$this->CI->load->language('profiler');
+ if (isset($config['query_toggle_count']))
+ {
+ $this->_query_toggle_count = (int) $config['query_toggle_count'];
+ unset($config['query_toggle_count']);
+ }
+
// default all sections to display
foreach ($this->_available_sections as $section)
{
@@ -162,7 +173,7 @@
$output .= "\n";
$output .= '<legend style="color:#0000FF;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_queries').'&nbsp;&nbsp;</legend>';
$output .= "\n";
- $output .= "\n\n<table style='border:none; width:100%'>\n";
+ $output .= "\n\n<table style='border:none; width:100%;'>\n";
$output .="<tr><td style='width:100%;color:#0000FF;font-weight:normal;background-color:#eee;padding:5px'>".$this->CI->lang->line('profiler_no_db')."</td></tr>\n";
$output .= "</table>\n";
$output .= "</fieldset>";
@@ -178,13 +189,26 @@
$output = "\n\n";
+ $count = 0;
+
foreach ($dbs as $db)
{
+ $count++;
+
+ $hide_queries = (count($db->queries) > $this->_query_toggle_count) ? ' display:none' : '';
+
+ $show_hide_js = '(<span style="cursor: pointer;" onclick="var s=document.getElementById(\'ci_profiler_queries_db_'.$count.'\').style;s.display=s.display==\'none\'?\'\':\'none\';this.innerHTML=this.innerHTML==\''.$this->CI->lang->line('profiler_section_hide').'\'?\''.$this->CI->lang->line('profiler_section_show').'\':\''.$this->CI->lang->line('profiler_section_hide').'\';">'.$this->CI->lang->line('profiler_section_hide').'</span>)';
+
+ if ($hide_queries != '')
+ {
+ $show_hide_js = '(<span style="cursor: pointer;" onclick="var s=document.getElementById(\'ci_profiler_queries_db_'.$count.'\').style;s.display=s.display==\'none\'?\'\':\'none\';this.innerHTML=this.innerHTML==\''.$this->CI->lang->line('profiler_section_show').'\'?\''.$this->CI->lang->line('profiler_section_hide').'\':\''.$this->CI->lang->line('profiler_section_show').'\';">'.$this->CI->lang->line('profiler_section_show').'</span>)';
+ }
+
$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;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_database').':&nbsp; '.$db->database.'&nbsp;&nbsp;&nbsp;'.$this->CI->lang->line('profiler_queries').': '.count($db->queries).'&nbsp;&nbsp;&nbsp;</legend>';
+ $output .= '<legend style="color:#0000FF;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_database').':&nbsp; '.$db->database.'&nbsp;&nbsp;&nbsp;'.$this->CI->lang->line('profiler_queries').': '.count($db->queries).'&nbsp;&nbsp;'.$show_hide_js.'</legend>';
$output .= "\n";
- $output .= "\n\n<table style='width:100%;'>\n";
+ $output .= "\n\n<table style='width:100%;{$hide_queries}' id='ci_profiler_queries_db_{$count}'>\n";
if (count($db->queries) == 0)
{
@@ -388,7 +412,7 @@
}
else
{
- $output .= "<div style='color:#5a0099;font-weight:normal;padding:4px 0 4px 0'>".$this->CI->lang->line('profiler_no_memory_usage')."</div>";
+ $output .= "<div style='color:#5a0099;font-weight:normal;padding:4px 0 4px 0'>".$this->CI->lang->line('profiler_no_memory')."</div>";
}
$output .= "</fieldset>";
@@ -410,10 +434,10 @@
$output = "\n\n";
$output .= '<fieldset id="ci_profiler_http_headers" style="border:1px solid #000;padding:6px 10px 10px 10px;margin:20px 0 20px 0;background-color:#eee">';
$output .= "\n";
- $output .= '<legend style="color:#000;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_headers').'&nbsp;&nbsp;</legend>';
+ $output .= '<legend style="color:#000;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_headers').'&nbsp;&nbsp;(<span style="cursor: pointer;" onclick="var s=document.getElementById(\'ci_profiler_httpheaders_table\').style;s.display=s.display==\'none\'?\'\':\'none\';this.innerHTML=this.innerHTML==\''.$this->CI->lang->line('profiler_section_show').'\'?\''.$this->CI->lang->line('profiler_section_hide').'\':\''.$this->CI->lang->line('profiler_section_show').'\';">'.$this->CI->lang->line('profiler_section_show').'</span>)</legend>';
$output .= "\n";
- $output .= "\n\n<table style='width:100%'>\n";
+ $output .= "\n\n<table style='width:100%;display:none' id='ci_profiler_httpheaders_table'>\n";
foreach (array('HTTP_ACCEPT', 'HTTP_USER_AGENT', 'HTTP_CONNECTION', 'SERVER_PORT', 'SERVER_NAME', 'REMOTE_ADDR', 'SERVER_SOFTWARE', 'HTTP_ACCEPT_LANGUAGE', 'SCRIPT_NAME', 'REQUEST_METHOD',' HTTP_HOST', 'REMOTE_HOST', 'CONTENT_TYPE', 'SERVER_PROTOCOL', 'QUERY_STRING', 'HTTP_ACCEPT_ENCODING', 'HTTP_X_FORWARDED_FOR') as $header)
{
@@ -441,10 +465,10 @@
$output = "\n\n";
$output .= '<fieldset id="ci_profiler_config" style="border:1px solid #000;padding:6px 10px 10px 10px;margin:20px 0 20px 0;background-color:#eee">';
$output .= "\n";
- $output .= '<legend style="color:#000;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_config').'&nbsp;&nbsp;</legend>';
+ $output .= '<legend style="color:#000;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_config').'&nbsp;&nbsp;(<span style="cursor: pointer;" onclick="var s=document.getElementById(\'ci_profiler_config_table\').style;s.display=s.display==\'none\'?\'\':\'none\';this.innerHTML=this.innerHTML==\''.$this->CI->lang->line('profiler_section_show').'\'?\''.$this->CI->lang->line('profiler_section_hide').'\':\''.$this->CI->lang->line('profiler_section_show').'\';">'.$this->CI->lang->line('profiler_section_show').'</span>)</legend>';
$output .= "\n";
- $output .= "\n\n<table style='width:100%'>\n";
+ $output .= "\n\n<table style='width:100%; display:none' id='ci_profiler_config_table'>\n";
foreach ($this->CI->config->config as $config=>$val)
{
@@ -465,6 +489,39 @@
// --------------------------------------------------------------------
/**
+ * Compile session userdata
+ *
+ * @return string
+ */
+ private function _compile_session_data()
+ {
+ if ( ! isset($this->CI->session))
+ {
+ return;
+ }
+
+ $output = '<fieldset id="ci_profiler_csession" style="border:1px solid #000;padding:6px 10px 10px 10px;margin:20px 0 20px 0;background-color:#eee">';
+ $output .= '<legend style="color:#000;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_session_data').'&nbsp;&nbsp;(<span style="cursor: pointer;" onclick="var s=document.getElementById(\'ci_profiler_session_data\').style;s.display=s.display==\'none\'?\'\':\'none\';this.innerHTML=this.innerHTML==\''.$this->CI->lang->line('profiler_section_show').'\'?\''.$this->CI->lang->line('profiler_section_hide').'\':\''.$this->CI->lang->line('profiler_section_show').'\';">'.$this->CI->lang->line('profiler_section_show').'</span>)</legend>';
+ $output .= "<table style='width:100%;display:none' id='ci_profiler_session_data'>";
+
+ foreach ($this->CI->session->all_userdata() as $key => $val)
+ {
+ if (is_array($val))
+ {
+ $val = print_r($val, TRUE);
+ }
+
+ $output .= "<tr><td style='padding:5px; vertical-align: top;color:#900;background-color:#ddd;'>".$key."&nbsp;&nbsp;</td><td style='padding:5px; color:#000;background-color:#ddd;'>".htmlspecialchars($val)."</td></tr>\n";
+ }
+
+ $output .= '</table>';
+ $output .= "</fieldset>";
+ return $output;
+ }
+
+ // --------------------------------------------------------------------
+
+ /**
* Run the Profiler
*
* @return string
@@ -493,7 +550,6 @@
return $output;
}
-
}
// END CI_Profiler class
diff -ru CodeIgniter_2.0.2/system/libraries/Session.php CodeIgniter_2.0.3/system/libraries/Session.php
--- CodeIgniter_2.0.2/system/libraries/Session.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Session.php 2011-08-20 20:59:14.000000000 +0900
@@ -189,7 +189,7 @@
}
// Does the User Agent Match?
- if ($this->sess_match_useragent == TRUE AND trim($session['user_agent']) != trim(substr($this->CI->input->user_agent(), 0, 50)))
+ if ($this->sess_match_useragent == TRUE AND trim($session['user_agent']) != trim(substr($this->CI->input->user_agent(), 0, 120)))
{
$this->sess_destroy();
return FALSE;
@@ -316,7 +316,7 @@
$this->userdata = array(
'session_id' => md5(uniqid($sessid, TRUE)),
'ip_address' => $this->CI->input->ip_address(),
- 'user_agent' => substr($this->CI->input->user_agent(), 0, 50),
+ 'user_agent' => substr($this->CI->input->user_agent(), 0, 120),
'last_activity' => $this->now
);
@@ -435,11 +435,11 @@
* Fetch all session data
*
* @access public
- * @return mixed
+ * @return array
*/
function all_userdata()
{
- return ( ! isset($this->userdata)) ? FALSE : $this->userdata;
+ return $this->userdata;
}
// --------------------------------------------------------------------
diff -ru CodeIgniter_2.0.2/system/libraries/Upload.php CodeIgniter_2.0.3/system/libraries/Upload.php
--- CodeIgniter_2.0.2/system/libraries/Upload.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/Upload.php 2011-08-20 20:59:14.000000000 +0900
@@ -945,13 +945,13 @@
if (count($this->mimes) == 0)
{
- if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes'.EXT))
+ if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/mimes'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
}
- elseif (is_file(APPPATH.'config/mimes'.EXT))
+ elseif (is_file(APPPATH.'config/mimes.php'))
{
- include(APPPATH.'config//mimes'.EXT);
+ include(APPPATH.'config//mimes.php');
}
else
{
diff -ru CodeIgniter_2.0.2/system/libraries/User_agent.php CodeIgniter_2.0.3/system/libraries/User_agent.php
--- CodeIgniter_2.0.2/system/libraries/User_agent.php 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/system/libraries/User_agent.php 2011-08-20 20:59:14.000000000 +0900
@@ -84,13 +84,13 @@
*/
private function _load_agent_file()
{
- if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/user_agents'.EXT))
+ if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/user_agents.php'))
{
- include(APPPATH.'config/'.ENVIRONMENT.'/user_agents'.EXT);
+ include(APPPATH.'config/'.ENVIRONMENT.'/user_agents.php');
}
- elseif (is_file(APPPATH.'config/user_agents'.EXT))
+ elseif (is_file(APPPATH.'config/user_agents.php'))
{
- include(APPPATH.'config/user_agents'.EXT);
+ include(APPPATH.'config/user_agents.php');
}
else
{
diff -ru CodeIgniter_2.0.2/user_guide/changelog.html CodeIgniter_2.0.3/user_guide/changelog.html
--- CodeIgniter_2.0.2/user_guide/changelog.html 2011-04-09 00:53:12.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/changelog.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="./toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -59,6 +59,57 @@
<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.3</h2>
+<p>Release Date: August 20, 2011</p>
+
+<ul>
+ <li>Security
+ <ul>
+ <li>An improvement was made to the MySQL and MySQLi drivers to prevent exposing a potential vector for SQL injection on sites using multi-byte character sets in the database client connection. <p>An incompatibility in PHP versions &lt; 5.2.3 and MySQL &lt; 5.0.7 with <em>mysql_set_charset()</em> creates a situation where using multi-byte character sets on these environments may potentially expose a SQL injection attack vector. Latin-1, UTF-8, and other "low ASCII" character sets are unaffected on all environments.</p> <p class="critical">If you are running or considering running a multi-byte character set for your database connection, please pay close attention to the server environment you are deploying on to ensure you are not vulnerable.</p></li>
+ </ul>
+ <li>General Changes
+ <ul>
+ <li>Fixed a bug where there was a misspelling within a code comment in the index.php file.</li>
+ <li>Added Session Class userdata to the output profiler. Additionally, added a show/hide toggle on HTTP Headers, Session Data and Config Variables.</li>
+ <li>Removed internal usage of the <samp>EXT</samp> constant.</li>
+ <li>Visual updates to the welcome_message view file and default error templates. Thanks to <a href="https://bitbucket.org/danijelb">danijelb</a> for the pull request.</li>
+ <li class="reactor">Added <samp>insert_batch()</samp> function to the PostgreSQL database driver. Thanks to epallerols for the patch.</li>
+ <li class="reactor">Added "application/x-csv" to mimes.php.</li>
+ <li>Fixed a bug where <a href="libraries/email.html">Email library</a> attachments with a "." in the name would using invalid MIME-types.</li>
+ </ul>
+ </li>
+ <li>Helpers
+ <ul>
+ <li>Added an optional third parameter to <samp>heading()</samp> which allows adding html attributes to the rendered heading tag.</li>
+ </ul>
+ </li>
+ <li>Libraries
+ <ul>
+ <li>Altered Session to use a longer match against the user_agent string. See upgrade notes if using database sessions.</li>
+ <li class="reactor">Added <kbd>is_unique</kbd> to the <a href="libraries/form_validation.html">Form Validation library</a>.</li>
+ <li class="reactor">Added <kbd>$this->db->set_dbprefix()</kbd> to the <a href="database/queries.html">Database Driver</a>.</li>
+ <li class="reactor">Changed <kbd>$this->cart->insert()</kbd> in the <a href="libraries/cart.html">Cart Library</a> to return the Row ID if a single item was inserted successfully.</li>
+ <li class="reactor">Added <kbd>$this->load->get_var()</kbd> to the <a href="libraries/loader.html">Loader library</a> to retrieve global vars set with <kbd>$this->load->view()</kbd> and <kbd>$this->load->vars()</kbd>.</li>
+ <li>Changed <kbd>$this->db->having()</kbd> to insert quotes using escape() rather than escape_str().</li>
+ </ul>
+ </li>
+</ul>
+
+<h3>Bug fixes for 2.0.3</h3>
+<ul>
+ <li class="reactor">Added ENVIRONMENT to reserved constants. (Reactor #196)</li>
+ <li class="reactor">Changed server check to ensure SCRIPT_NAME is defined. (Reactor #57)</li>
+ <li class="reactor">Removed <samp>APPPATH.'third_party'</samp> from the packages autoloader to negate needless file stats if no packages exist or if the developer does not load any other packages by default.</li>
+ <li>Fixed a bug (Reactor #231) where Sessions Library database table example SQL did not contain an index on last_activity. See <a href="installation/upgrade_203.html">Upgrade Notes</a>.</li>
+ <li>Fixed a bug (Reactor #229) where the Sessions Library example SQL in the documentation contained incorrect SQL.</li>
+ <li>Fixed a bug (Core #340) where when passing in the second parameter to $this->db->select(), column names in subsequent queries would not be properly escaped.</li>
+ <li class="reactor">Fixed issue #199 - Attributes passed as string does not include a space between it and the opening tag.</li>
+ <li class="reactor">Fixed a bug where the method <kbd>$this->cart->total_items()</kbd> from <a href="libraries/cart.html">Cart Library</a> now returns the sum of the quantity of all items in the cart instead of your total count.</li>
+ <li class="reactor">Fixed a bug where not setting 'null' when adding fields in db_forge for mysql and mysqli drivers would default to NULL instead of NOT NULL as the docs suggest.</li>
+ <li class="reactor">Fixed a bug where using <kbd>$this->db->select_max()</kdb>, <kbd>$this->db->select_min()</kdb>, etc could throw notices. Thanks to w43l for the patch.</li>
+ <li class="reactor">Replace checks for STDIN with php_sapi_name() == 'cli' which on the whole is more reliable. This should get parameters in crontab working.</li>
+</ul>
+
<h2>Version 2.0.2</h2>
<p>Release Date: April 7, 2011<br />
Hg Tag: v2.0.2</p>
diff -ru CodeIgniter_2.0.2/user_guide/database/active_record.html CodeIgniter_2.0.3/user_guide/database/active_record.html
--- CodeIgniter_2.0.2/user_guide/database/active_record.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/active_record.html 2011-08-20 20:59:14.000000000 +0900
@@ -27,7 +27,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -523,30 +523,6 @@
<h2>$this->db->insert_batch();</h2>
<p>Generates an insert string based on the data you supply, and runs the query. You can either pass an
-<strong>array</strong> or an <strong>object</strong> to the function. Here is an example using an array:</p>
-
-<code>
-$data = array(<br/>
-&nbsp;&nbsp;&nbsp;array(<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'title' => 'My title' ,<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name' => 'My Name' ,<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'date' => 'My date'<br />
-&nbsp;&nbsp;&nbsp;),<br />
-&nbsp;&nbsp;&nbsp;array(<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'title' => 'Another title' ,<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name' => 'Another Name' ,<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'date' => 'Another date'<br />
-&nbsp;&nbsp;&nbsp;)<br/>
-);<br />
-<br />
-$this->db->insert_batch('mytable', $data);
-<br /><br />
-// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date'), ('Another title', 'Another name', 'Another date')</code>
-
-<p>The first parameter will contain the table name, the second is an associative array of values.</p>
-
-<h2>$this->db->insert_batch();</h2>
-<p>Generates an insert string based on the data you supply, and runs the query. You can either pass an
<strong>array</strong> or an <strong>object</strong> to the function. Here is an example using an array:</p>
<code>
diff -ru CodeIgniter_2.0.2/user_guide/database/caching.html CodeIgniter_2.0.3/user_guide/database/caching.html
--- CodeIgniter_2.0.2/user_guide/database/caching.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/caching.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/call_function.html CodeIgniter_2.0.3/user_guide/database/call_function.html
--- CodeIgniter_2.0.2/user_guide/database/call_function.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/call_function.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/configuration.html CodeIgniter_2.0.3/user_guide/database/configuration.html
--- CodeIgniter_2.0.2/user_guide/database/configuration.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/configuration.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -132,7 +132,7 @@
<li><strong>cache_on</strong> - TRUE/FALSE (boolean) - Whether database query caching is enabled, see also <a href="caching.html">Database Caching Class</a>.</li>
<li><strong>cachedir</strong> - The absolute server path to your database query cache directory.</li>
<li><strong>char_set</strong> - The character set used in communicating with the database.</li>
-<li><strong>dbcollat</strong> - The character collation used in communicating with the database.</li>
+<li><strong>dbcollat</strong> - The character collation used in communicating with the database. <p class="important"><strong>Note:</strong> For MySQL and MySQLi databases, this setting is only used as a backup if your server is running PHP &lt; 5.2.3 or MySQL &lt; 5.0.7. There is an incompatibility in PHP with mysql_real_escape_string() which can make your site vulnerable to SQL injection if you are using a multi-byte character set and are running versions lower than these. Sites using Latin-1 or UTF-8 database character set and collation are unaffected.</p></li>
<li><strong>swap_pre</strong> - A default table prefix that should be swapped with <var>dbprefix</var>. This is useful for distributed applications where you might run manually written queries, and need the prefix to still be customizable by the end user.</li>
<li><strong>autoinit</strong> - Whether or not to automatically connect to the database when the library loads. If set to false, the connection will take place prior to executing the first query.</li>
<li><strong>stricton</strong> - TRUE/FALSE (boolean) - Whether to force "Strict Mode" connections, good for ensuring strict SQL while developing an application.</li>
diff -ru CodeIgniter_2.0.2/user_guide/database/connecting.html CodeIgniter_2.0.3/user_guide/database/connecting.html
--- CodeIgniter_2.0.2/user_guide/database/connecting.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/connecting.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/examples.html CodeIgniter_2.0.3/user_guide/database/examples.html
--- CodeIgniter_2.0.2/user_guide/database/examples.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/examples.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/fields.html CodeIgniter_2.0.3/user_guide/database/fields.html
--- CodeIgniter_2.0.2/user_guide/database/fields.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/fields.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/forge.html CodeIgniter_2.0.3/user_guide/database/forge.html
--- CodeIgniter_2.0.2/user_guide/database/forge.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/forge.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/helpers.html CodeIgniter_2.0.3/user_guide/database/helpers.html
--- CodeIgniter_2.0.2/user_guide/database/helpers.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/helpers.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/index.html CodeIgniter_2.0.3/user_guide/database/index.html
--- CodeIgniter_2.0.2/user_guide/database/index.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/index.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -86,7 +86,7 @@
<div id="footer">
<p>
-Previous Topic:&nbsp;&nbsp;<a href="../libraries/config.html">Config Class</a>
+Previous Topic:&nbsp;&nbsp;<a href="../libraries/caching.html">Caching Class</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
diff -ru CodeIgniter_2.0.2/user_guide/database/queries.html CodeIgniter_2.0.3/user_guide/database/queries.html
--- CodeIgniter_2.0.2/user_guide/database/queries.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/queries.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -80,11 +80,16 @@
It simply lets you submit a query. Most users will rarely use this function.</p>
-<h1>Adding Database prefixes manually</h1>
-<p>If you have configured a database prefix and would like to add it in manually for, you can use the following.</p>
+<h1>Working with Database prefixes manually</h1>
+<p>If you have configured a database prefix and would like to prepend it to a table name for use in a native SQL query for example, then you can use the following:</p>
<p><code>$this-&gt;db-&gt;dbprefix('tablename');<br />
// outputs prefix_tablename</code></p>
+<p>If for any reason you would like to change the prefix programatically without needing to create a new connection, you can use this method:</p>
+<p><code>$this-&gt;db-&gt;set_dbprefix('newprefix');<br /><br />
+$this-&gt;db-&gt;dbprefix('tablename');<br />
+// outputs newprefix_tablename</code></p>
+
<h1>Protecting identifiers</h1>
<p>In many databases it is advisable to protect table and field names - for example with backticks in MySQL. <strong>Active Record queries are automatically protected</strong>, however if you need to manually protect an identifier you can use:</p>
diff -ru CodeIgniter_2.0.2/user_guide/database/results.html CodeIgniter_2.0.3/user_guide/database/results.html
--- CodeIgniter_2.0.2/user_guide/database/results.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/results.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/table_data.html CodeIgniter_2.0.3/user_guide/database/table_data.html
--- CodeIgniter_2.0.2/user_guide/database/table_data.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/table_data.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/transactions.html CodeIgniter_2.0.3/user_guide/database/transactions.html
--- CodeIgniter_2.0.2/user_guide/database/transactions.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/transactions.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/database/utilities.html CodeIgniter_2.0.3/user_guide/database/utilities.html
--- CodeIgniter_2.0.2/user_guide/database/utilities.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/database/utilities.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -306,7 +306,7 @@
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="../libraries/email.html"> Email Class</a></p>
+Next Topic:&nbsp;&nbsp;<a href="../libraries/javascript.html">Javascript Class</a></p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
diff -ru CodeIgniter_2.0.2/user_guide/doc_style/index.html CodeIgniter_2.0.3/user_guide/doc_style/index.html
--- CodeIgniter_2.0.2/user_guide/doc_style/index.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/doc_style/index.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/alternative_php.html CodeIgniter_2.0.3/user_guide/general/alternative_php.html
--- CodeIgniter_2.0.2/user_guide/general/alternative_php.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/alternative_php.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/ancillary_classes.html CodeIgniter_2.0.3/user_guide/general/ancillary_classes.html
--- CodeIgniter_2.0.2/user_guide/general/ancillary_classes.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/ancillary_classes.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/autoloader.html CodeIgniter_2.0.3/user_guide/general/autoloader.html
--- CodeIgniter_2.0.2/user_guide/general/autoloader.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/autoloader.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/caching.html CodeIgniter_2.0.3/user_guide/general/caching.html
--- CodeIgniter_2.0.2/user_guide/general/caching.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/caching.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/cli.html CodeIgniter_2.0.3/user_guide/general/cli.html
--- CodeIgniter_2.0.2/user_guide/general/cli.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/cli.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -72,7 +72,7 @@
<a name="what"></a>
<h2>What is the CLI?</h2>
-<p><dfn>The command-line interface is a text-based method of interacting with computers that looks like what most people remember as DOS.</dfn></p>
+<p><dfn>The command-line interface is a text-based method of interacting with computers.</dfn> For more information, check the <a href="http://en.wikipedia.org/wiki/Command-line_interface">Wikipedia article</a>.</p>
<a name="why"></a>
diff -ru CodeIgniter_2.0.2/user_guide/general/common_functions.html CodeIgniter_2.0.3/user_guide/general/common_functions.html
--- CodeIgniter_2.0.2/user_guide/general/common_functions.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/common_functions.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/controllers.html CodeIgniter_2.0.3/user_guide/general/controllers.html
--- CodeIgniter_2.0.2/user_guide/general/controllers.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/controllers.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/core_classes.html CodeIgniter_2.0.3/user_guide/general/core_classes.html
--- CodeIgniter_2.0.2/user_guide/general/core_classes.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/core_classes.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/creating_drivers.html CodeIgniter_2.0.3/user_guide/general/creating_drivers.html
--- CodeIgniter_2.0.2/user_guide/general/creating_drivers.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/creating_drivers.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/creating_libraries.html CodeIgniter_2.0.3/user_guide/general/creating_libraries.html
--- CodeIgniter_2.0.2/user_guide/general/creating_libraries.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/creating_libraries.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/credits.html CodeIgniter_2.0.3/user_guide/general/credits.html
--- CodeIgniter_2.0.2/user_guide/general/credits.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/credits.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/drivers.html CodeIgniter_2.0.3/user_guide/general/drivers.html
--- CodeIgniter_2.0.2/user_guide/general/drivers.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/drivers.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/environments.html CodeIgniter_2.0.3/user_guide/general/environments.html
--- CodeIgniter_2.0.2/user_guide/general/environments.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/environments.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/errors.html CodeIgniter_2.0.3/user_guide/general/errors.html
--- CodeIgniter_2.0.2/user_guide/general/errors.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/errors.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/helpers.html CodeIgniter_2.0.3/user_guide/general/helpers.html
--- CodeIgniter_2.0.2/user_guide/general/helpers.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/helpers.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/hooks.html CodeIgniter_2.0.3/user_guide/general/hooks.html
--- CodeIgniter_2.0.2/user_guide/general/hooks.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/hooks.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/libraries.html CodeIgniter_2.0.3/user_guide/general/libraries.html
--- CodeIgniter_2.0.2/user_guide/general/libraries.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/libraries.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/managing_apps.html CodeIgniter_2.0.3/user_guide/general/managing_apps.html
--- CodeIgniter_2.0.2/user_guide/general/managing_apps.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/managing_apps.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/models.html CodeIgniter_2.0.3/user_guide/general/models.html
--- CodeIgniter_2.0.2/user_guide/general/models.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/models.html 2011-08-20 20:59:14.000000000 +0900
@@ -27,7 +27,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/profiling.html CodeIgniter_2.0.3/user_guide/general/profiling.html
--- CodeIgniter_2.0.2/user_guide/general/profiling.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/profiling.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -105,55 +105,60 @@
<table cellpadding="0" cellspacing="1" border="0" style="width:100%" class="tableborder">
<tr>
- <th>Key</th>
- <th>Description</th>
- <th>Default</th>
- </tr><tr>
-
- <td class="td"><strong>benchmarks</strong></td>
- <td class="td">Elapsed time of Benchmark points and total execution time</td>
- <td class="td">TRUE</td>
- </tr><tr>
-
- <td class="td"><strong>config</strong></td>
- <td class="td">CodeIgniter Config variables</td>
- <td class="td">TRUE</td>
- </tr><tr>
-
- <td class="td"><strong>controller_info</strong></td>
- <td class="td">The Controller class and method requested</td>
- <td class="td">TRUE</td>
- </tr><tr>
-
- <td class="td"><strong>get</strong></td>
- <td class="td">Any GET data passed in the request</td>
- <td class="td">TRUE</td>
- </tr><tr>
-
- <td class="td"><strong>http_headers</strong></td>
- <td class="td">The HTTP headers for the current request</td>
- <td class="td">TRUE</td>
- </tr><tr>
-
- <td class="td"><strong>memory_usage</strong></td>
- <td class="td">Amount of memory consumed by the current request, in bytes</td>
- <td class="td">TRUE</td>
- </tr><tr>
-
- <td class="td"><strong>post</strong></td>
- <td class="td">Any POST data passed in the request</td>
- <td class="td">TRUE</td>
- </tr><tr>
-
- <td class="td"><strong>queries</strong></td>
- <td class="td">Listing of all database queries executed, including execution time</td>
- <td class="td">TRUE</td>
- </tr><tr>
-
- <td class="td"><strong>uri_string</strong></td>
- <td class="td">The URI of the current request</td>
- <td class="td">TRUE</td>
- </tr><tr>
+ <th>Key</th>
+ <th>Description</th>
+ <th>Default</th>
+ </tr>
+ <tr>
+ <td class="td"><strong>benchmarks</strong></td>
+ <td class="td">Elapsed time of Benchmark points and total execution time</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>config</strong></td>
+ <td class="td">CodeIgniter Config variables</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>controller_info</strong></td>
+ <td class="td">The Controller class and method requested</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>get</strong></td>
+ <td class="td">Any GET data passed in the request</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>http_headers</strong></td>
+ <td class="td">The HTTP headers for the current request</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>memory_usage</strong></td>
+ <td class="td">Amount of memory consumed by the current request, in bytes</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>post</strong></td>
+ <td class="td">Any POST data passed in the request</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>queries</strong></td>
+ <td class="td">Listing of all database queries executed, including execution time</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>uri_string</strong></td>
+ <td class="td">The URI of the current request</td>
+ <td class="td">TRUE</td>
+ </tr>
+ <tr>
+ <td class="td"><strong>query_toggle_count</strong></td>
+ <td class="td">The number of queries after which the query block will default to hidden.</td>
+ <td class="td">25</td>
+ </tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/quick_reference.html CodeIgniter_2.0.3/user_guide/general/quick_reference.html
--- CodeIgniter_2.0.2/user_guide/general/quick_reference.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/quick_reference.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/requirements.html CodeIgniter_2.0.3/user_guide/general/requirements.html
--- CodeIgniter_2.0.2/user_guide/general/requirements.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/requirements.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/reserved_names.html CodeIgniter_2.0.3/user_guide/general/reserved_names.html
--- CodeIgniter_2.0.2/user_guide/general/reserved_names.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/reserved_names.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -90,6 +90,7 @@
</ul>
<h3>Constants</h3>
<ul>
+ <li>ENVIRONMENT</li>
<li>EXT</li>
<li>FCPATH</li>
<li>SELF</li>
diff -ru CodeIgniter_2.0.2/user_guide/general/routing.html CodeIgniter_2.0.3/user_guide/general/routing.html
--- CodeIgniter_2.0.2/user_guide/general/routing.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/routing.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -145,6 +145,11 @@
when people load your root URL. In the above example, the "welcome" class would be loaded. You
are encouraged to always have a default route otherwise a 404 page will appear by default.</p>
+<code>$route['404_override'] = '';</code>
+
+<p>This route indicates which controller class should be loaded if the requested controller is not found. It will override the default 404
+error page. It won't affect to the <samp>show_404()</samp> function, which will continue loading the default <dfn>error_404.php</dfn> file at <var>application/errors/error_404.php</var>.</p>
+
<p class="important"><strong>Important:</strong>&nbsp; The reserved routes must come before any wildcard or regular expression routes.</p>
</div>
diff -ru CodeIgniter_2.0.2/user_guide/general/security.html CodeIgniter_2.0.3/user_guide/general/security.html
--- CodeIgniter_2.0.2/user_guide/general/security.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/security.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -76,15 +76,9 @@
<li>Dash: -</li>
</ul>
-<h2>GET, POST, and COOKIE Data</h2>
-
-<p>GET data is simply disallowed by CodeIgniter since the system utilizes URI segments rather than traditional URL query strings (unless
-you have the query string option enabled in your config file). The global GET
-array is <strong>unset</strong> by the Input class during system initialization.</p>
-
<h2>Register_globals</h2>
-<p>During system initialization all global variables are unset, except those found in the $_POST and $_COOKIE arrays. The unsetting
+<p>During system initialization all global variables are unset, except those found in the $_GET, $_POST, and $_COOKIE arrays. The unsetting
routine is effectively the same as register_globals = off.</p>
<a name="error_reporting"></a>
diff -ru CodeIgniter_2.0.2/user_guide/general/styleguide.html CodeIgniter_2.0.3/user_guide/general/styleguide.html
--- CodeIgniter_2.0.2/user_guide/general/styleguide.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/styleguide.html 2011-08-20 20:59:14.000000000 +0900
@@ -34,7 +34,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -381,7 +381,7 @@
<h2><a name="compatibility"></a>Compatibility</h2>
<div class="guidelineDetails">
- <p>Unless specifically mentioned in your add-on's documentation, all code must be compatible with PHP version 4.3+. Additionally, do not use PHP functions that require non-default libraries to be installed unless your code contains an alternative method when the function is not available, or you implicitly document that your add-on requires said PHP libraries.</p>
+ <p>Unless specifically mentioned in your add-on's documentation, all code must be compatible with PHP version 5.1+. Additionally, do not use PHP functions that require non-default libraries to be installed unless your code contains an alternative method when the function is not available, or you implicitly document that your add-on requires said PHP libraries.</p>
</div>
diff -ru CodeIgniter_2.0.2/user_guide/general/urls.html CodeIgniter_2.0.3/user_guide/general/urls.html
--- CodeIgniter_2.0.2/user_guide/general/urls.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/urls.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/general/views.html CodeIgniter_2.0.3/user_guide/general/views.html
--- CodeIgniter_2.0.2/user_guide/general/views.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/general/views.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/array_helper.html CodeIgniter_2.0.3/user_guide/helpers/array_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/array_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/array_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -159,10 +159,10 @@
<div id="footer">
<p>
-Previous Topic:&nbsp;&nbsp; <a href="../libraries/zip.html">Zip Encoding Class</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
+Previous Topic:&nbsp;&nbsp; <a href="../libraries/javascript.html">Javascript Class</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="compatibility_helper.html">Compatibility Helper</a></p>
+Next Topic:&nbsp;&nbsp;<a href="captcha_helper.html">CAPTCHA Helper</a></p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/captcha_helper.html CodeIgniter_2.0.3/user_guide/helpers/captcha_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/captcha_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/captcha_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -183,11 +183,11 @@
<div id="footer">
<p>
-Previous Topic:&nbsp;&nbsp;<a href="url_helper.html">URL Helper</a>
+Previous Topic:&nbsp;&nbsp;<a href="array_helper.html">Array Helper</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-<a href="../index.html">User Guide Home</a>
-</p>
+<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
+Next Topic:&nbsp;&nbsp;<a href="cookie_helper.html">Cookie Helper</a></p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/cookie_helper.html CodeIgniter_2.0.3/user_guide/helpers/cookie_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/cookie_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/cookie_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -95,7 +95,7 @@
<div id="footer">
<p>
-Previous Topic:&nbsp;&nbsp;<a href="compatibility_helper.html">Compatibility Helper</a>
+Previous Topic:&nbsp;&nbsp;<a href="captcha_helper.html">CAPTCHA Helper</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
diff -ru CodeIgniter_2.0.2/user_guide/helpers/date_helper.html CodeIgniter_2.0.3/user_guide/helpers/date_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/date_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/date_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/directory_helper.html CodeIgniter_2.0.3/user_guide/helpers/directory_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/directory_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/directory_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/download_helper.html CodeIgniter_2.0.3/user_guide/helpers/download_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/download_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/download_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/email_helper.html CodeIgniter_2.0.3/user_guide/helpers/email_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/email_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/email_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/file_helper.html CodeIgniter_2.0.3/user_guide/helpers/file_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/file_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/file_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -27,7 +27,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/form_helper.html CodeIgniter_2.0.3/user_guide/helpers/form_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/form_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/form_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -281,7 +281,7 @@
which will be added below the tag. For example:</p>
<code>$string = &quot;&lt;/div&gt;&lt;/div&gt;&quot;;<br />
<br />
-echo fieldset_close($string);<br />
+echo form_fieldset_close($string);<br />
<br />
// Would produce:<br />
&lt;/fieldset&gt;<br />
diff -ru CodeIgniter_2.0.2/user_guide/helpers/html_helper.html CodeIgniter_2.0.3/user_guide/helpers/html_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/html_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/html_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -89,6 +89,11 @@
<code>echo heading('Welcome!', 3);</code>
<p>The above would produce: &lt;h3>Welcome!&lt;/h3></p>
+<p>Additionally, in order to add attributes to the heading tag such as HTML classes, ids or inline styles, a third parameter is available.</p>
+<code>echo heading('Welcome!', 3, 'class="pink"')</code>
+<p>The above code produces: &lt;h3 class="pink">Welcome!<&lt;h3></p>
+
+
<h2><a name="img"></a>img()</h2>
<p>Lets you create HTML &lt;img /&gt; tags. The first parameter contains the image source. Example:</p>
<code>echo img('images/picture.jpg');<br />
diff -ru CodeIgniter_2.0.2/user_guide/helpers/inflector_helper.html CodeIgniter_2.0.3/user_guide/helpers/inflector_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/inflector_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/inflector_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/language_helper.html CodeIgniter_2.0.3/user_guide/helpers/language_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/language_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/language_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/number_helper.html CodeIgniter_2.0.3/user_guide/helpers/number_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/number_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/number_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/path_helper.html CodeIgniter_2.0.3/user_guide/helpers/path_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/path_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/path_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -27,7 +27,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/security_helper.html CodeIgniter_2.0.3/user_guide/helpers/security_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/security_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/security_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/smiley_helper.html CodeIgniter_2.0.3/user_guide/helpers/smiley_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/smiley_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/smiley_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/string_helper.html CodeIgniter_2.0.3/user_guide/helpers/string_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/string_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/string_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/text_helper.html CodeIgniter_2.0.3/user_guide/helpers/text_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/text_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/text_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/typography_helper.html CodeIgniter_2.0.3/user_guide/helpers/typography_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/typography_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/typography_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/url_helper.html CodeIgniter_2.0.3/user_guide/helpers/url_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/url_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/url_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -27,7 +27,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<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>
@@ -70,7 +70,7 @@
<h2>site_url()</h2>
<p>Returns your site URL, as specified in your config file. The index.php file (or whatever you have set as your
-site <dfn>index_page</dfn> in your config file) will be added to the URL, as will any URI segments you pass to the function.</p>
+site <dfn>index_page</dfn> in your config file) will be added to the URL, as will any URI segments you pass to the function, and the <dfn>url_suffix</dfn> as set in your config file.</p>
<p>You are encouraged to use this function any time you need to generate a local URL so that your pages become more portable
in the event your URL changes.</p>
@@ -93,6 +93,20 @@
<p>Returns your site base URL, as specified in your config file. Example:</p>
<code>echo base_url();</code>
+<p>This function returns the same thing as site_url, without the <dfn>index_page</dfn> or <dfn>url_suffix</dfn> being appended.</p>
+
+<p>Also like site_url, you can supply segments as a string or an array. Here is a string example:</p>
+
+<code>echo base_url("blog/post/123");</code>
+
+<p>The above example would return something like: http://example.com/blog/post/123</p>
+
+<p>This is useful because unlike site_url(), you can supply a string to a file, such as an image or stylesheet. For example:</p>
+
+<code>echo base_url("images/icons/edit.png");</code>
+
+<p>This would give you something like: http://example.com/images/icons/edit.png</p>
+
<h2>current_url()</h2>
<p>Returns the full URL (including segments) of the page being currently viewed.</p>
diff -ru CodeIgniter_2.0.2/user_guide/helpers/xml_helper.html CodeIgniter_2.0.3/user_guide/helpers/xml_helper.html
--- CodeIgniter_2.0.2/user_guide/helpers/xml_helper.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/helpers/xml_helper.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/index.html CodeIgniter_2.0.3/user_guide/index.html
--- CodeIgniter_2.0.2/user_guide/index.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/index.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/downloads.html CodeIgniter_2.0.3/user_guide/installation/downloads.html
--- CodeIgniter_2.0.2/user_guide/installation/downloads.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/downloads.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -59,8 +59,8 @@
<ul>
<li><a href="http://codeigniter.com/downloads/">CodeIgniter V 2.0.2 (Current version)</a></li>
- <li><a href="http://codeigniter.com/download_files/CodeIgniter_2.0.1.zip">CodeIgniter V 2.0.1</a></li>
- <li><a href="http://codeigniter.com/download_files/CodeIgniter_2.0.0.zip">CodeIgniter V 2.0.0</a></li>
+ <li><a href="http://codeigniter.com/download_files/reactor/CodeIgniter_2.0.1.zip">CodeIgniter V 2.0.1</a></li>
+ <li><a href="http://codeigniter.com/download_files/reactor/CodeIgniter_2.0.0.zip">CodeIgniter V 2.0.0</a></li>
<li><a href="http://codeigniter.com/download_files/CodeIgniter_1.7.3.zip">CodeIgniter V 1.7.3</a></li>
<li><a href="http://codeigniter.com/download_files/CodeIgniter_1.7.2.zip">CodeIgniter V 1.7.2</a></li>
<li><a href="http://codeigniter.com/download_files/CodeIgniter_1.7.1.zip">CodeIgniter V 1.7.1</a></li>
diff -ru CodeIgniter_2.0.2/user_guide/installation/index.html CodeIgniter_2.0.3/user_guide/installation/index.html
--- CodeIgniter_2.0.2/user_guide/installation/index.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/index.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/troubleshooting.html CodeIgniter_2.0.3/user_guide/installation/troubleshooting.html
--- CodeIgniter_2.0.2/user_guide/installation/troubleshooting.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/troubleshooting.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_120.html CodeIgniter_2.0.3/user_guide/installation/upgrade_120.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_120.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_120.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_130.html CodeIgniter_2.0.3/user_guide/installation/upgrade_130.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_130.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_130.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_131.html CodeIgniter_2.0.3/user_guide/installation/upgrade_131.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_131.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_131.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_132.html CodeIgniter_2.0.3/user_guide/installation/upgrade_132.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_132.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_132.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_133.html CodeIgniter_2.0.3/user_guide/installation/upgrade_133.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_133.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_133.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_140.html CodeIgniter_2.0.3/user_guide/installation/upgrade_140.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_140.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_140.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_141.html CodeIgniter_2.0.3/user_guide/installation/upgrade_141.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_141.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_141.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_150.html CodeIgniter_2.0.3/user_guide/installation/upgrade_150.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_150.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_150.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_152.html CodeIgniter_2.0.3/user_guide/installation/upgrade_152.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_152.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_152.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_153.html CodeIgniter_2.0.3/user_guide/installation/upgrade_153.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_153.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_153.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_154.html CodeIgniter_2.0.3/user_guide/installation/upgrade_154.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_154.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_154.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_160.html CodeIgniter_2.0.3/user_guide/installation/upgrade_160.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_160.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_160.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_161.html CodeIgniter_2.0.3/user_guide/installation/upgrade_161.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_161.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_161.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_162.html CodeIgniter_2.0.3/user_guide/installation/upgrade_162.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_162.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_162.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_163.html CodeIgniter_2.0.3/user_guide/installation/upgrade_163.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_163.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_163.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_170.html CodeIgniter_2.0.3/user_guide/installation/upgrade_170.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_170.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_170.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_171.html CodeIgniter_2.0.3/user_guide/installation/upgrade_171.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_171.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_171.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_172.html CodeIgniter_2.0.3/user_guide/installation/upgrade_172.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_172.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_172.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_200.html CodeIgniter_2.0.3/user_guide/installation/upgrade_200.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_200.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_200.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_201.html CodeIgniter_2.0.3/user_guide/installation/upgrade_201.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_201.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_201.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_202.html CodeIgniter_2.0.3/user_guide/installation/upgrade_202.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_202.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_202.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -76,6 +76,8 @@
<p>If you are overriding or extending the Security library, you will need to move it to <kbd>application/core</kbd>.</p>
+<p><samp>csrf_token_name</samp> and <samp>csrf_hash</samp> have changed to protected class properties. Please use <samp>security->get_csrf_hash()</samp> and <samp>security->get_csrf_token_name()</samp> to access those values.</p>
+
</div>
<!-- END CONTENT -->
Only in CodeIgniter_2.0.3/user_guide/installation: upgrade_203.html
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrade_b11.html CodeIgniter_2.0.3/user_guide/installation/upgrade_b11.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrade_b11.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrade_b11.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/installation/upgrading.html CodeIgniter_2.0.3/user_guide/installation/upgrading.html
--- CodeIgniter_2.0.2/user_guide/installation/upgrading.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/installation/upgrading.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -60,6 +60,7 @@
<p>Please read the upgrade notes corresponding to the version you are upgrading from.</p>
<ul>
+ <li><a href="upgrade_203.html">Upgrading from 2.0.2 to 2.0.3</a></li>
<li><a href="upgrade_202.html">Upgrading from 2.0.1 to 2.0.2</a></li>
<li><a href="upgrade_201.html">Upgrading from 2.0 to 2.0.1</a></li>
<li><a href="upgrade_200.html">Upgrading from 1.7.2 to 2.0</a></li>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/benchmark.html CodeIgniter_2.0.3/user_guide/libraries/benchmark.html
--- CodeIgniter_2.0.2/user_guide/libraries/benchmark.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/benchmark.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/caching.html CodeIgniter_2.0.3/user_guide/libraries/caching.html
--- CodeIgniter_2.0.2/user_guide/libraries/caching.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/caching.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -180,11 +180,11 @@
<div id="footer">
<p>
-Previous Topic:&nbsp;&nbsp;<a href="errors.html">Error Handling</a>
+Previous Topic:&nbsp;&nbsp;<a href="zip.html">Zip Encoding Class</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="profiling.html">Profiling Your Application</a>
+Next Topic:&nbsp;&nbsp;<a href="../database/index.html">Database Class</a>
</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/calendar.html CodeIgniter_2.0.3/user_guide/libraries/calendar.html
--- CodeIgniter_2.0.2/user_guide/libraries/calendar.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/calendar.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/cart.html CodeIgniter_2.0.3/user_guide/libraries/cart.html
--- CodeIgniter_2.0.2/user_guide/libraries/cart.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/cart.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/config.html CodeIgniter_2.0.3/user_guide/libraries/config.html
--- CodeIgniter_2.0.2/user_guide/libraries/config.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/config.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -194,6 +194,11 @@
<h2>$this->config->site_url();</h2>
<p>This function retrieves the URL to your site, along with the "index" value you've specified in the config file.</p>
+<h2>$this->config->base_url();</h2>
+<p>This function retrieves the URL to your site, plus an optional path such as to a stylesheet or image.</p>
+
+<p>The two functions above are normally accessed via the corresponding functions in the <a href="../helpers/url_helper.html">URL Helper.</a></p>
+
<h2>$this->config->system_url();</h2>
<p>This function retrieves the URL to your <dfn>system folder</dfn>.</p>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/email.html CodeIgniter_2.0.3/user_guide/libraries/email.html
--- CodeIgniter_2.0.2/user_guide/libraries/email.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/email.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/encryption.html CodeIgniter_2.0.3/user_guide/libraries/encryption.html
--- CodeIgniter_2.0.2/user_guide/libraries/encryption.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/encryption.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/file_uploading.html CodeIgniter_2.0.3/user_guide/libraries/file_uploading.html
--- CodeIgniter_2.0.2/user_guide/libraries/file_uploading.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/file_uploading.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/form_validation.html CodeIgniter_2.0.3/user_guide/libraries/form_validation.html
--- CodeIgniter_2.0.2/user_guide/libraries/form_validation.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/form_validation.html 2011-08-20 20:59:14.000000000 +0900
@@ -27,7 +27,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/ftp.html CodeIgniter_2.0.3/user_guide/libraries/ftp.html
--- CodeIgniter_2.0.2/user_guide/libraries/ftp.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/ftp.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/image_lib.html CodeIgniter_2.0.3/user_guide/libraries/image_lib.html
--- CodeIgniter_2.0.2/user_guide/libraries/image_lib.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/image_lib.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/input.html CodeIgniter_2.0.3/user_guide/libraries/input.html
--- CodeIgniter_2.0.2/user_guide/libraries/input.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/input.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/javascript.html CodeIgniter_2.0.3/user_guide/libraries/javascript.html
--- CodeIgniter_2.0.2/user_guide/libraries/javascript.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/javascript.html 2011-08-20 20:59:14.000000000 +0900
@@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
-<title>CodeIgniter User Guide : JavaScript Class</title>
+<title>JavaScript Class : 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' />
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -235,11 +235,11 @@
<div id="footer">
<p>
-Previous Topic:&nbsp;&nbsp;<a href="input.html">Input Class</a>
+Previous Topic:&nbsp;&nbsp;<a href="../database/index.html">Database Class</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="language.html">Language Class</a></p>
+Next Topic:&nbsp;&nbsp;<a href="../helpers/array_helper.html">Array Helper</a></p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/language.html CodeIgniter_2.0.3/user_guide/libraries/language.html
--- CodeIgniter_2.0.2/user_guide/libraries/language.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/language.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/loader.html CodeIgniter_2.0.3/user_guide/libraries/loader.html
--- CodeIgniter_2.0.2/user_guide/libraries/loader.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/loader.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -175,6 +175,12 @@
</p>
+<h2>$this->load->get_var(<samp>$key</samp>)</h2>
+
+<p>This function checks the associative array of variables available to your views. This is useful if for any reason a var is set in a library or another controller method using $this->load->vars().
+</p>
+
+
<h2>$this->load->helper('<var>file_name</var>')</h2>
<p>This function loads helper files, where <var>file_name</var> is the name of the file, without the <kbd>_helper.php</kbd> extension.</p>
@@ -231,17 +237,22 @@
<h3>Package view files</h3>
-<p>@todo - package view file interface is not complete. It can be experimentally used by first saving the Loader's original view path, setting the view path to the package's view path, and when finished, setting back to the original view path.</p>
-
-<code>// ... save the original view path, and set to our Foo Bar package view folder<br />
-$orig_view_path = $this->load->_ci_view_path;<br />
-$this->load->_ci_view_path = <var>APPPATH</var>.'third_party/<var>foo_bar</var>/views/';<br />
-<br />
-// ... code using the package's view files<br />
-<br />
-// ... then return the view path to the application's original view path<br />
-$this->load->_ci_view_path = $orig_view_path;</code>
+<p>By Default, package view files paths are set when <samp>add_package_path()</samp> is called. View paths are looped through, and once a match is encountered that view is loaded.</p>
+<p>In this instance, it is possible for view naming collisions within packages to occur, and possibly the incorrect package being loaded. To ensure against this, set an optional second parameter of <var>FALSE</var> when calling <samp>add_package_path()</samp>.</p>
+<code>
+$this->load->add_package_path(APPPATH.'my_app', TRUE);<br>
+$this->load->view('my_app_index'); // Loads<br>
+$this->load->view('welcome_message'); // Will not load the default welcome_message b/c the second param to add_package_path is TRUE<br>
+<br>
+// Reset things<br>
+$this->load->remove_package_path(APPPATH.'my_app');<br>
+<br>
+// Again without the second parameter:<br>
+$this->load->add_package_path(APPPATH.'my_app', TRUE);<br>
+$this->load->view('my_app_index'); // Loads<br>
+$this->load->view('welcome_message'); // Loads<br>
+</code>
</div>
<!-- END CONTENT -->
diff -ru CodeIgniter_2.0.2/user_guide/libraries/output.html CodeIgniter_2.0.3/user_guide/libraries/output.html
--- CodeIgniter_2.0.2/user_guide/libraries/output.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/output.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/pagination.html CodeIgniter_2.0.3/user_guide/libraries/pagination.html
--- CodeIgniter_2.0.2/user_guide/libraries/pagination.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/pagination.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -71,8 +71,8 @@
<code>
$this->load->library('pagination');<br /><br />
$config['base_url'] = 'http://example.com/index.php/test/page/';<br />
-$config['total_rows'] = '200';<br />
-$config['per_page'] = '20';
+$config['total_rows'] = 200;<br />
+$config['per_page'] = 20;
<br /><br />
$this->pagination->initialize($config);
diff -ru CodeIgniter_2.0.2/user_guide/libraries/parser.html CodeIgniter_2.0.3/user_guide/libraries/parser.html
--- CodeIgniter_2.0.2/user_guide/libraries/parser.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/parser.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/security.html CodeIgniter_2.0.3/user_guide/libraries/security.html
--- CodeIgniter_2.0.2/user_guide/libraries/security.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/security.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/sessions.html CodeIgniter_2.0.3/user_guide/libraries/sessions.html
--- CodeIgniter_2.0.2/user_guide/libraries/sessions.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/sessions.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -105,8 +105,8 @@
<ul>
<li>The user's unique Session ID (this is a statistically random string with very strong entropy, hashed with MD5 for portability, and regenerated (by default) every five minutes)</li>
<li>The user's IP Address</li>
-<li>The user's User Agent data (the first 50 characters of the browser data string)</li>
-<li>The "last activity" time stamp.</li>
+<li>The user's User Agent data (the first 120 characters of the browser data string)</li>
+<li>The "last activity" time stamp.</li>
</ul>
<p>The above data is stored in a cookie as a serialized array with this prototype:</p>
@@ -170,6 +170,23 @@
<p class="important"><strong>Note:</strong> Cookies can only hold 4KB of data, so be careful not to exceed the capacity. The
encryption process in particular produces a longer data string than the original so keep careful track of how much data you are storing.</p>
+<h2>Retrieving All Session Data</h2>
+<p>An array of all userdata can be retrieved as follows:</p>
+<code>$this-&gt;session-&gt;all_userdata()</code>
+
+<p>And returns an associative array like the following:</p>
+
+<pre>
+Array
+(
+ [session_id] => 4a5a5dca22728fb0a84364eeb405b601
+ [ip_address] => 127.0.0.1
+ [user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7;
+ [last_activity] => 1303142623
+)
+</pre>
+
+
<h2>Removing Session Data</h2>
<p>Just as set_userdata() can be used to add information into a session, unset_userdata() can be used to remove it, by passing the session key. For example, if you wanted to remove 'some_name' from your session information: </p>
<p><code>$this-&gt;session-&gt;unset_userdata('some_name');</code></p>
@@ -201,15 +218,17 @@
<p>In order to store sessions, you must first create a database table for this purpose. Here is the basic
prototype (for MySQL) required by the session class:</p>
-<textarea class="textarea" style="width:100%" cols="50" rows="8">
+<textarea class="textarea" style="width:100%" cols="50" rows="10">
CREATE TABLE IF NOT EXISTS `ci_sessions` (
-session_id varchar(40) DEFAULT '0' NOT NULL,
-ip_address varchar(16) DEFAULT '0' NOT NULL,
-user_agent varchar(50) NOT NULL,
-last_activity int(10) unsigned DEFAULT 0 NOT NULL,
-user_data text DEFAULT '' NOT NULL,
-PRIMARY KEY (session_id)
-);</textarea>
+ session_id varchar(40) DEFAULT '0' NOT NULL,
+ ip_address varchar(16) DEFAULT '0' NOT NULL,
+ user_agent varchar(120) NOT NULL,
+ last_activity int(10) unsigned DEFAULT 0 NOT NULL,
+ user_data text NOT NULL,
+ PRIMARY KEY (session_id),
+ KEY `last_activity_idx` (`last_activity`)
+);
+</textarea>
<p><strong>Note:</strong> By default the table is called <dfn>ci_sessions</dfn>, but you can name it anything you want
as long as you update the <kbd>application/config/config.php</kbd> file so that it contains the name you have chosen.
diff -ru CodeIgniter_2.0.2/user_guide/libraries/table.html CodeIgniter_2.0.3/user_guide/libraries/table.html
--- CodeIgniter_2.0.2/user_guide/libraries/table.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/table.html 2011-08-20 20:59:14.000000000 +0900
@@ -27,7 +27,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/trackback.html CodeIgniter_2.0.3/user_guide/libraries/trackback.html
--- CodeIgniter_2.0.2/user_guide/libraries/trackback.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/trackback.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/typography.html CodeIgniter_2.0.3/user_guide/libraries/typography.html
--- CodeIgniter_2.0.2/user_guide/libraries/typography.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/typography.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/unit_testing.html CodeIgniter_2.0.3/user_guide/libraries/unit_testing.html
--- CodeIgniter_2.0.2/user_guide/libraries/unit_testing.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/unit_testing.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/uri.html CodeIgniter_2.0.3/user_guide/libraries/uri.html
--- CodeIgniter_2.0.2/user_guide/libraries/uri.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/uri.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/user_agent.html CodeIgniter_2.0.3/user_guide/libraries/user_agent.html
--- CodeIgniter_2.0.2/user_guide/libraries/user_agent.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/user_agent.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/xmlrpc.html CodeIgniter_2.0.3/user_guide/libraries/xmlrpc.html
--- CodeIgniter_2.0.2/user_guide/libraries/xmlrpc.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/xmlrpc.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/libraries/zip.html CodeIgniter_2.0.3/user_guide/libraries/zip.html
--- CodeIgniter_2.0.2/user_guide/libraries/zip.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/libraries/zip.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
@@ -279,7 +279,7 @@
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="../helpers/array_helper.html">Array Helper</a>
+Next Topic:&nbsp;&nbsp;<a href="caching.html">Caching Class</a>
</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>
diff -ru CodeIgniter_2.0.2/user_guide/license.html CodeIgniter_2.0.3/user_guide/license.html
--- CodeIgniter_2.0.2/user_guide/license.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/license.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/nav/nav.js CodeIgniter_2.0.3/user_guide/nav/nav.js
--- CodeIgniter_2.0.2/user_guide/nav/nav.js 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/nav/nav.js 2011-08-20 20:59:14.000000000 +0900
@@ -50,6 +50,8 @@
'<li><a href="'+base+'general/helpers.html">Helpers</a></li>' +
'<li><a href="'+base+'general/libraries.html">Using CodeIgniter Libraries</a></li>' +
'<li><a href="'+base+'general/creating_libraries.html">Creating Your Own Libraries</a></li>' +
+ '<li><a href="'+base+'general/drivers.html">Using CodeIgniter Drivers</a></li>' +
+ '<li><a href="'+base+'general/creating_drivers.html">Creating Your Own Drivers</a></li>' +
'<li><a href="'+base+'general/core_classes.html">Creating Core Classes</a></li>' +
'<li><a href="'+base+'general/hooks.html">Hooks - Extending the Core</a></li>' +
'<li><a href="'+base+'general/autoloader.html">Auto-loading Resources</a></li>' +
diff -ru CodeIgniter_2.0.2/user_guide/overview/appflow.html CodeIgniter_2.0.3/user_guide/overview/appflow.html
--- CodeIgniter_2.0.2/user_guide/overview/appflow.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/overview/appflow.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/overview/at_a_glance.html CodeIgniter_2.0.3/user_guide/overview/at_a_glance.html
--- CodeIgniter_2.0.2/user_guide/overview/at_a_glance.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/overview/at_a_glance.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/overview/cheatsheets.html CodeIgniter_2.0.3/user_guide/overview/cheatsheets.html
--- CodeIgniter_2.0.2/user_guide/overview/cheatsheets.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/overview/cheatsheets.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/overview/features.html CodeIgniter_2.0.3/user_guide/overview/features.html
--- CodeIgniter_2.0.2/user_guide/overview/features.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/overview/features.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/overview/getting_started.html CodeIgniter_2.0.3/user_guide/overview/getting_started.html
--- CodeIgniter_2.0.2/user_guide/overview/getting_started.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/overview/getting_started.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/overview/goals.html CodeIgniter_2.0.3/user_guide/overview/goals.html
--- CodeIgniter_2.0.2/user_guide/overview/goals.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/overview/goals.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/overview/index.html CodeIgniter_2.0.3/user_guide/overview/index.html
--- CodeIgniter_2.0.2/user_guide/overview/index.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/overview/index.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/overview/mvc.html CodeIgniter_2.0.3/user_guide/overview/mvc.html
--- CodeIgniter_2.0.2/user_guide/overview/mvc.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/overview/mvc.html 2011-08-20 20:59:14.000000000 +0900
@@ -28,7 +28,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
diff -ru CodeIgniter_2.0.2/user_guide/toc.html CodeIgniter_2.0.3/user_guide/toc.html
--- CodeIgniter_2.0.2/user_guide/toc.html 2011-04-08 02:20:00.000000000 +0900
+++ CodeIgniter_2.0.3/user_guide/toc.html 2011-08-20 20:59:14.000000000 +0900
@@ -29,7 +29,7 @@
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
-<td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
+<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
</tr>
</table>
</div>
@@ -103,6 +103,8 @@
<li><a href="./general/helpers.html">Helpers</a></li>
<li><a href="./general/libraries.html">Using CodeIgniter Libraries</a></li>
<li><a href="./general/creating_libraries.html">Creating Your Own Libraries</a></li>
+ <li><a href="./general/drivers.html">Using CodeIgniter Drivers</a></li>
+ <li><a href="./general/creating_drivers.html">Creating Your Own Drivers</a></li>
<li><a href="./general/core_classes.html">Creating Core Classes</a></li>
<li><a href="./general/hooks.html">Hooks - Extending the Core</a></li>
<li><a href="./general/autoloader.html">Auto-loading Resources</a></li>
@@ -113,7 +115,7 @@
<li><a href="./general/profiling.html">Profiling Your Application</a></li>
<li><a href="./general/cli.html">Running via the CLI</a></li>
<li><a href="./general/managing_apps.html">Managing Applications</a></li>
- <li><a href="'./general/environments.html">Handling Multiple Environments</a></li>
+ <li><a href="./general/environments.html">Handling Multiple Environments</a></li>
<li><a href="./general/alternative_php.html">Alternative PHP Syntax</a></li>
<li><a href="./general/security.html">Security</a></li>
<li><a href="./general/styleguide.html">PHP Style Guide</a></li>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment