From 885b0343036695ad673fc24ba7682fc155c54036 Mon Sep 17 00:00:00 2001
From: admin
Date: Thu, 21 Sep 2006 05:36:15 +0000
Subject:
---
system/drivers/DB_active_record.php | 2 +-
system/helpers/cookie_helper.php | 49 ++++++++++++++++++++++++
system/libraries/Validation.php | 2 +-
user_guide/general/changelog.html | 3 ++
user_guide/helpers/cookie_helper.html | 26 ++++++++++++-
user_guide/libraries/database/active_record.html | 2 +-
6 files changed, 80 insertions(+), 4 deletions(-)
diff --git a/system/drivers/DB_active_record.php b/system/drivers/DB_active_record.php
index c7e4f096c..af12d9d27 100644
--- a/system/drivers/DB_active_record.php
+++ b/system/drivers/DB_active_record.php
@@ -390,7 +390,7 @@ class CI_DB_active_record extends CI_DB_driver {
{
if (trim($direction) != '')
{
- $direction = (in_array(strtoupper(trim($direction)), array('ASC', 'DESC'))) ? ' '.$direction : ' ASC';
+ $direction = (in_array(strtoupper(trim($direction)), array('ASC', 'DESC', 'RAND()'))) ? ' '.$direction : ' ASC';
}
$this->ar_orderby[] = $orderby.$direction;
diff --git a/system/helpers/cookie_helper.php b/system/helpers/cookie_helper.php
index 24e243ddd..fc5920f25 100644
--- a/system/helpers/cookie_helper.php
+++ b/system/helpers/cookie_helper.php
@@ -55,6 +55,22 @@ function set_cookie($name = '', $value = '', $expire = '', $domain = '', $path =
}
}
+ // Set the config file options
+ $obj =& get_instance();
+
+ if ($prefix == '' AND $obj->config->item('cookie_prefix') != '')
+ {
+ $obj->config->item('cookie_prefix');
+ }
+ if ($domain == '' AND $obj->config->item('cookie_domain') != '')
+ {
+ $obj->config->item('cookie_domain');
+ }
+ if ($prefix == '/' AND $obj->config->item('cookie_path') != '/')
+ {
+ $obj->config->item('cookie_path');
+ }
+
if ( ! is_numeric($expire))
{
$expire = time() - 86500;
@@ -73,5 +89,38 @@ function set_cookie($name = '', $value = '', $expire = '', $domain = '', $path =
setcookie($prefix.$name, $value, $expire, $path, $domain, 0);
}
+
+// --------------------------------------------------------------------
+
+/**
+ * Fetch an item from the COOKIE array
+ *
+ * @access public
+ * @param string
+ * @param bool
+ * @return mixed
+ */
+function get_cookie($index = '', $xss_clean = FALSE)
+{
+ $obj =& get_instance();
+ return $obj->input->cookie($index, $xss_clean);
+}
+
+// --------------------------------------------------------------------
+
+/**
+ * Delete a COOKIE
+ *
+ * @param mixed
+ * @param string the cookie domain. Usually: .yourdomain.com
+ * @param string the cookie path
+ * @param string the cookie prefix
+ * @return void
+ */
+function delete_cookie($name = '', $domain = '', $path = '/', $prefix = '')
+{
+ set_cookie($name, '', '', $domain, $path, $prefix);
+}
+
?>
\ No newline at end of file
diff --git a/system/libraries/Validation.php b/system/libraries/Validation.php
index 065e7a2d5..f9b51d778 100644
--- a/system/libraries/Validation.php
+++ b/system/libraries/Validation.php
@@ -524,7 +524,7 @@ class CI_Validation {
*/
function numeric($str)
{
- return ( ! is_numeric($str)) ? FALSE : TRUE;
+ return ( ! ereg("^[0-9]+$", $str)) ? FALSE : TRUE;
}
// --------------------------------------------------------------------
diff --git a/user_guide/general/changelog.html b/user_guide/general/changelog.html
index ca04b140c..80ffe7a4e 100644
--- a/user_guide/general/changelog.html
+++ b/user_guide/general/changelog.html
@@ -71,10 +71,13 @@ Change Log
Added Inflector helper.
Added element() function in the array helper.
Added $this->output->set_header() function, which allows you to set server headers.
+Added RAND() to active record orderby() function.
+Added delete_cookie() and get_cookie() to Cookie helper, even though the input class has a cookie fetching function.
Removed the is_numeric test from the db->escape() function.
Fixed a MySQLi bug that was causing error messages not to contain proper errror data.
Fixed a bug in the email class which was causing it to ignore explicitly set alternative headers.
Fixed a bug that was causing a PHP error when the Exceptions class was called within the _get_config() function.
+Fixed an oversight in the cookie helper in which the config file cookie settings were not being honored.
Added some code to allow email attachments to be reset when sending batches of email.
Deprecated the following database functions: $this->db->smart_escape_str() and $this->db->fields().
diff --git a/user_guide/helpers/cookie_helper.html b/user_guide/helpers/cookie_helper.html
index 3e89df74d..9c17cdd5c 100644
--- a/user_guide/helpers/cookie_helper.html
+++ b/user_guide/helpers/cookie_helper.html
@@ -76,7 +76,7 @@ Cookie Helper
set_cookie()
Sets a cookie containing the values you specify. There are two ways to pass information this function so that a cookie can be set:
-Arrray Method, and Discreet Parameters:
+Array Method, and Discreet Parameters:
Array Method
@@ -112,6 +112,30 @@ zero the cookie will only last as long as the browser is open.
set_cookie($name, $value, $expire, $domain, $path, $prefix);
+get_cookie()
+
+Lets you fetch a cookie. The first parameter will contain the name of the cookie you are looking for:
+
+get_cookie('some_cookie');
+
+The function returns FALSE (boolean) if the item you are attempting to retrieve does not exist.
+
+The second optional parameter lets you run the data through the XSS filter. It's enabled by setting the second parameter to boolean TRUE;
+
+get_cookie('some_cookie', TRUE);
+
+
+
+delete_cookie()
+
+Lets you delete a cookie. Unless you've set a custom path or other values, only the name of the cookie is needed:
+
+delete_cookie("name");
+
+This function is otherwise identical to set_cookie(), except that it does not have the value and expiration parameters. You can submit an array
+of values in the first parameter or you can set discreet parameters.
+
+delete_cookie($name, $domain, $path, $prefix)
diff --git a/user_guide/libraries/database/active_record.html b/user_guide/libraries/database/active_record.html
index 793f41f1e..b45c5d14e 100644
--- a/user_guide/libraries/database/active_record.html
+++ b/user_guide/libraries/database/active_record.html
@@ -354,7 +354,7 @@ $this->db->orlike('body', $match);
$this->db->orderby();
Lets you set an ORDER BY clause. The first parameter contains the name of the column you would like to order by.
-The second parameter lets you set the direction of the result. Options are asc or desc
+The second parameter lets you set the direction of the result. Options are asc or desc or RAND()
$this->db->orderby("title", "desc");
// Produces: ORDER BY title DESC
--
cgit v1.2.3-24-g4f1b