From 5c275db6f446ed17c332e5ab02f94979208bdc2a Mon Sep 17 00:00:00 2001
From: Taylor Otwell <taylorotwell@gmail.com>
Date: Thu, 16 Jun 2011 22:45:33 -0500
Subject: [PATCH] tweaking has methods.

---
 system/config.php  |  3 +++
 system/cookie.php  |  4 ++--
 system/input.php   | 35 ++++++++++++-----------------------
 system/session.php | 19 ++++++-------------
 4 files changed, 23 insertions(+), 38 deletions(-)

diff --git a/system/config.php b/system/config.php
index 52f107d..f1180da 100644
--- a/system/config.php
+++ b/system/config.php
@@ -24,10 +24,12 @@ class Config {
 		if(strpos($key, '.') === false)
 		{
 			static::load($key);
+
 			return static::$items[$key];
 		}
 
 		list($file, $key) = static::parse($key);
+
 		static::load($file);
 
 		if (array_key_exists($key, static::$items[$file]))
@@ -48,6 +50,7 @@ class Config {
 	public static function set($key, $value)
 	{
 		list($file, $key) = static::parse($key);
+
 		static::load($file);
 
 		static::$items[$file][$key] = $value;
diff --git a/system/cookie.php b/system/cookie.php
index aa1348f..3b01226 100644
--- a/system/cookie.php
+++ b/system/cookie.php
@@ -95,7 +95,7 @@ class Cookie {
 	 */
 	public static function has($name)
 	{
-		return ! is_null(static::get($key));
+		return ! is_null(static::get($name));
 	}
 
 	/**
@@ -107,7 +107,7 @@ class Cookie {
 	 */
 	public static function get($name, $default = null)
 	{
-		return (array_key_exists($name, $_COOKIE)) ? $_COOKIE[$name] : $default;
+		return Arr::get($_COOKIE, $name, $default);
 	}
 
 	/**
diff --git a/system/input.php b/system/input.php
index 0f9bcb1..47d79fa 100644
--- a/system/input.php
+++ b/system/input.php
@@ -10,21 +10,14 @@ class Input {
 	public static $input;
 
 	/**
-	 * Determine if the input data contains an item or set of items that are not empty.
+	 * Determine if the input data contains an item that is not empty.
 	 *
+	 * @param  string  $key
 	 * @return bool
 	 */
-	public static function has()
+	public static function has($key)
 	{
-		foreach (func_get_args() as $key)
-		{
-			if (is_null(static::get($key)) or trim((string) static::get($key)) == '')
-			{
-				return false;
-			}
-		}
-
-		return true;
+		return ( ! is_null(static::get($key)) and trim((string) static::get($key)) != '');
 	}
 
 	/**
@@ -45,22 +38,14 @@ class Input {
 	}
 
 	/**
-	 * Determine if the old input data contains an item or set of
-	 * items that are not empty.
+	 * Determine if the old input data contains an item that is not empty.
 	 *
+	 * @param  string  $key
 	 * @return bool
 	 */
-	public static function had()
+	public static function had($key)
 	{
-		foreach (func_get_args() as $key)
-		{
-			if (is_null(static::old($key)) or trim((string) static::old($key)) == '')
-			{
-				return false;
-			}
-		}
-
-		return true;
+		return ( ! is_null(static::old($key)) and trim((string) static::old($key)) != '');
 	}
 
 	/**
@@ -72,6 +57,10 @@ class Input {
 	 */
 	public static function old($key = null, $default = null)
 	{
+		// ----------------------------------------------------------
+		// Since old input data is flashed to the session, we need
+		// to make sure a session driver has been specified.
+		// ----------------------------------------------------------
 		if (Config::get('session.driver') == '')
 		{
 			throw new \Exception("Sessions must be enabled to retrieve old input data.");
diff --git a/system/session.php b/system/session.php
index 8b7de15..6c95839 100644
--- a/system/session.php
+++ b/system/session.php
@@ -68,23 +68,16 @@ class Session {
 	}
 
 	/**
-	 * Determine if the session or flash data contains an item or set of items.
+	 * Determine if the session or flash data contains an item.
 	 *
+	 * @param  string  $key
 	 * @return bool
 	 */
-	public static function has()
+	public static function has($key)
 	{
-		foreach (func_get_args() as $key)
-		{
-			if ( ! array_key_exists($key, static::$session['data']) and 
-			     ! array_key_exists(':old:'.$key, static::$session['data']) and 
-			     ! array_key_exists(':new:'.$key, static::$session['data']))
-			{
-				return false;
-			}
-		}
-
-		return true;
+		return (array_key_exists($key, static::$session['data']) or
+			    array_key_exists(':old:'.$key, static::$session['data']) or
+			    array_key_exists(':new:'.$key, static::$session['data']));
 	}
 
 	/**
--
libgit2 0.26.0