Automated merge with http://hg.ellislab.com/CodeIgniter2
diff --git a/system/core/Output.php b/system/core/Output.php
index e25e621..7d3e2e1 100644
--- a/system/core/Output.php
+++ b/system/core/Output.php
@@ -346,6 +346,7 @@
if ( ! is_dir($cache_path) OR ! is_really_writable($cache_path))
{
+ log_message('error', "Unable to write cache file: ".$cache_path);
return;
}
diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php
index 953cc95..25645a0 100644
--- a/system/database/DB_active_rec.php
+++ b/system/database/DB_active_rec.php
@@ -36,6 +36,7 @@
var $ar_like = array();
var $ar_groupby = array();
var $ar_having = array();
+ var $ar_keys = array();
var $ar_limit = FALSE;
var $ar_offset = FALSE;
var $ar_order = FALSE;
@@ -2045,7 +2046,7 @@
/**
* Resets the active record "write" values.
*
- * Called by the insert() update() and delete() functions
+ * Called by the insert() update() insert_batch() update_batch() and delete() functions
*
* @access private
* @return void
@@ -2057,7 +2058,8 @@
'ar_from' => array(),
'ar_where' => array(),
'ar_like' => array(),
- 'ar_orderby' => array(),
+ 'ar_orderby' => array(),
+ 'ar_keys' => array(),
'ar_limit' => FALSE,
'ar_order' => FALSE
);
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index 632f945..42355df 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -57,15 +57,15 @@
$form .= '>';
- if (is_array($hidden) AND count($hidden) > 0)
- {
- $form .= form_hidden($hidden);
- }
-
// CSRF
if ($CI->config->item('csrf_protection') === TRUE)
{
- $form .= form_hidden($CI->security->csrf_token_name, $CI->security->csrf_hash);
+ $hidden[$CI->security->csrf_token_name] = $CI->security->csrf_hash;
+ }
+
+ if (is_array($hidden) AND count($hidden) > 0)
+ {
+ $form .= sprintf("\n<div class=\"hidden\">%s</div>", form_hidden($hidden));
}
return $form;
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php
index 7707d68..dad7611 100644
--- a/system/helpers/url_helper.php
+++ b/system/helpers/url_helper.php
@@ -446,7 +446,9 @@
return '';
}
- if ( ! parse_url($str, PHP_URL_SCHEME))
+ $url = parse_url($str);
+
+ if ( ! $url OR ! isset($url['scheme']))
{
$str = 'http://'.$str;
}
diff --git a/system/libraries/Profiler.php b/system/libraries/Profiler.php
index 0900a30..db17997 100644
--- a/system/libraries/Profiler.php
+++ b/system/libraries/Profiler.php
@@ -128,7 +128,7 @@
foreach ($profile as $key => $val)
{
$key = ucwords(str_replace(array('_', '-'), ' ', $key));
- $output .= "<tr><td width='50%' style='color:#000;font-weight:bold;background-color:#ddd;'>".$key." </td><td width='50%' style='color:#900;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
+ $output .= "<tr><td style='width:50%;color:#000;font-weight:bold;background-color:#ddd;'>".$key." </td><td style='width:50%;color:#900;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
}
$output .= "</table>\n";
@@ -165,8 +165,8 @@
$output .= "\n";
$output .= '<legend style="color:#0000FF;"> '.$this->CI->lang->line('profiler_queries').' </legend>';
$output .= "\n";
- $output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' width='100%'>\n";
- $output .="<tr><td width='100%' style='color:#0000FF;font-weight:normal;background-color:#eee;'>".$this->CI->lang->line('profiler_no_db')."</td></tr>\n";
+ $output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' style='width:100%'>\n";
+ $output .="<tr><td style='width:100%;color:#0000FF;font-weight:normal;background-color:#eee;'>".$this->CI->lang->line('profiler_no_db')."</td></tr>\n";
$output .= "</table>\n";
$output .= "</fieldset>";
@@ -177,7 +177,7 @@
$this->CI->load->helper('text');
// Key words we want bolded
- $highlight = array('SELECT', 'DISTINCT', 'FROM', 'WHERE', 'AND', 'LEFT JOIN', 'ORDER BY', 'GROUP BY', 'LIMIT', 'INSERT', 'INTO', 'VALUES', 'UPDATE', 'OR', 'HAVING', 'OFFSET', 'NOT IN', 'IN', 'LIKE', 'NOT LIKE', 'COUNT', 'MAX', 'MIN', 'ON', 'AS', 'AVG', 'SUM', '(', ')');
+ $highlight = array('SELECT', 'DISTINCT', 'FROM', 'WHERE', 'AND', 'LEFT JOIN', 'ORDER BY', 'GROUP BY', 'LIMIT', 'INSERT', 'INTO', 'VALUES', 'UPDATE', 'OR ', 'HAVING', 'OFFSET', 'NOT IN', 'IN', 'LIKE', 'NOT LIKE', 'COUNT', 'MAX', 'MIN', 'ON', 'AS', 'AVG', 'SUM', '(', ')');
$output = "\n\n";
@@ -187,11 +187,11 @@
$output .= "\n";
$output .= '<legend style="color:#0000FF;"> '.$this->CI->lang->line('profiler_database').': '.$db->database.' '.$this->CI->lang->line('profiler_queries').': '.count($this->CI->db->queries).' </legend>';
$output .= "\n";
- $output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' width='100%'>\n";
+ $output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' style='width:100%;'>\n";
if (count($db->queries) == 0)
{
- $output .= "<tr><td width='100%' style='color:#0000FF;font-weight:normal;background-color:#eee;'>".$this->CI->lang->line('profiler_no_queries')."</td></tr>\n";
+ $output .= "<tr><td style='width:100%;color:#0000FF;font-weight:normal;background-color:#eee;'>".$this->CI->lang->line('profiler_no_queries')."</td></tr>\n";
}
else
{
@@ -206,7 +206,7 @@
$val = str_replace($bold, '<strong>'.$bold.'</strong>', $val);
}
- $output .= "<tr><td width='1%' valign='top' style='color:#900;font-weight:normal;background-color:#ddd;'>".$time." </td><td style='color:#000;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
+ $output .= "<tr><td valign='top' style='width:1%;color:#900;font-weight:normal;background-color:#ddd;'>".$time." </td><td style='color:#000;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
}
}
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 5740f73..fb533b0 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -184,6 +184,8 @@
<li>Fixed a bug where getimagesize() was being needlessly checked on non-image files in is_allowed_type().</li>
<li>Fixed a bug in the Encryption library where an empty key was not triggering an error.</li>
<li>Fixed a bug in the Email library where CC and BCC recipients were not reset when using the clear() method (#109).</li>
+ <li>Fixed a bug in the URL Helper where prep_url() could cause a PHP error on PHP versions < 5.1.2.</li>
+ <li>Added a log message in core/output if the cache directory config value was not found.</li>
</ul>
<h2>Version 1.7.2</h2>
diff --git a/user_guide/general/models.html b/user_guide/general/models.html
index e04fdf9..e405dd1 100644
--- a/user_guide/general/models.html
+++ b/user_guide/general/models.html
@@ -77,7 +77,7 @@
retrieve your blog data. Here is an example of what such a model class might look like:</p>
<code>
-class Blogmodel extends Model {<br />
+class Blogmodel extends CI_Model {<br />
<br />
var $title = '';<br />
var $content = '';<br />
@@ -86,7 +86,7 @@
function Blogmodel()<br />
{<br />
// Call the Model constructor<br />
- parent::Model();<br />
+ parent::CI_Model();<br />
}<br />
<br />
function get_last_ten_entries()<br />
@@ -126,11 +126,11 @@
<code>
-class <var>Model_name</var> extends Model {<br />
+class <var>Model_name</var> extends CI_Model {<br />
<br />
function <var>Model_name</var>()<br />
{<br />
- parent::Model();<br />
+ parent::CI_Model();<br />
}<br />
}</code>
@@ -140,11 +140,11 @@
<p>The file name will be a lower case version of your class name. For example, if your class is this:</p>
<code>
-class <var>User_model</var> extends Model {<br />
+class <var>User_model</var> extends CI_Model {<br />
<br />
function <var>User_model</var>()<br />
{<br />
- parent::Model();<br />
+ parent::CI_Model();<br />
}<br />
}</code>
diff --git a/user_guide/libraries/config.html b/user_guide/libraries/config.html
index 6367e2e..bfb6794 100644
--- a/user_guide/libraries/config.html
+++ b/user_guide/libraries/config.html
@@ -66,7 +66,7 @@
<h2>Anatomy of a Config File</h2>
-<p>By default, CodeIgniter has a one primary config file, located at <samp>application/config/config.php</samp>. If you open the file using
+<p>By default, CodeIgniter has one primary config file, located at <samp>application/config/config.php</samp>. If you open the file using
your text editor you'll see that config items are stored in an array called <var>$config</var>.</p>
<p>You can add your own config items to