diff --git a/system/drivers/DB_active_record.php b/system/drivers/DB_active_record.php
index c7e4f09..af12d9d 100644
--- a/system/drivers/DB_active_record.php
+++ b/system/drivers/DB_active_record.php
@@ -390,7 +390,7 @@
{
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 24e243d..fc5920f 100644
--- a/system/helpers/cookie_helper.php
+++ b/system/helpers/cookie_helper.php
@@ -55,6 +55,22 @@
}
}
+ // 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 @@
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 065e7a2..f9b51d7 100644
--- a/system/libraries/Validation.php
+++ b/system/libraries/Validation.php
@@ -524,7 +524,7 @@
*/
function numeric($str)
{
- return ( ! is_numeric($str)) ? FALSE : TRUE;
+ return ( ! ereg("^[0-9]+$", $str)) ? FALSE : TRUE;
}
// --------------------------------------------------------------------