You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by nd...@apache.org on 2015/05/01 23:33:09 UTC

[22/57] [partial] airavata-php-gateway git commit: AIRAVATA 1632 + Job Description for Admin Dashboard

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php b/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php
new file mode 100755
index 0000000..e860c07
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php
@@ -0,0 +1,47 @@
+<?php namespace Illuminate\Cache;
+
+use Memcached;
+
+class MemcachedConnector {
+
+	/**
+	 * Create a new Memcached connection.
+	 *
+	 * @param  array  $servers
+	 * @return \Memcached
+	 *
+	 * @throws \RuntimeException
+	 */
+	public function connect(array $servers)
+	{
+		$memcached = $this->getMemcached();
+
+		// For each server in the array, we'll just extract the configuration and add
+		// the server to the Memcached connection. Once we have added all of these
+		// servers we'll verify the connection is successful and return it back.
+		foreach ($servers as $server)
+		{
+			$memcached->addServer(
+				$server['host'], $server['port'], $server['weight']
+			);
+		}
+
+		if ($memcached->getVersion() === false)
+		{
+			throw new \RuntimeException("Could not establish Memcached connection.");
+		}
+
+		return $memcached;
+	}
+
+	/**
+	 * Get a new Memcached instance.
+	 *
+	 * @return \Memcached
+	 */
+	protected function getMemcached()
+	{
+		return new Memcached;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/MemcachedStore.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/MemcachedStore.php b/vendor/laravel/framework/src/Illuminate/Cache/MemcachedStore.php
new file mode 100755
index 0000000..5e50946
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/MemcachedStore.php
@@ -0,0 +1,138 @@
+<?php namespace Illuminate\Cache;
+
+class MemcachedStore extends TaggableStore implements StoreInterface {
+
+	/**
+	 * The Memcached instance.
+	 *
+	 * @var \Memcached
+	 */
+	protected $memcached;
+
+	/**
+	 * A string that should be prepended to keys.
+	 *
+	 * @var string
+	 */
+	protected $prefix;
+
+	/**
+	 * Create a new Memcached store.
+	 *
+	 * @param  \Memcached  $memcached
+	 * @param  string      $prefix
+	 * @return void
+	 */
+	public function __construct($memcached, $prefix = '')
+	{
+		$this->memcached = $memcached;
+		$this->prefix = strlen($prefix) > 0 ? $prefix.':' : '';
+	}
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function get($key)
+	{
+		$value = $this->memcached->get($this->prefix.$key);
+
+		if ($this->memcached->getResultCode() == 0)
+		{
+			return $value;
+		}
+	}
+
+	/**
+	 * Store an item in the cache for a given number of minutes.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  int     $minutes
+	 * @return void
+	 */
+	public function put($key, $value, $minutes)
+	{
+		$this->memcached->set($this->prefix.$key, $value, $minutes * 60);
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int|bool
+	 */
+	public function increment($key, $value = 1)
+	{
+		return $this->memcached->increment($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Decrement the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int|bool
+	 */
+	public function decrement($key, $value = 1)
+	{
+		return $this->memcached->decrement($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Store an item in the cache indefinitely.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function forever($key, $value)
+	{
+		return $this->put($key, $value, 0);
+	}
+
+	/**
+	 * Remove an item from the cache.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function forget($key)
+	{
+		$this->memcached->delete($this->prefix.$key);
+	}
+
+	/**
+	 * Remove all items from the cache.
+	 *
+	 * @return void
+	 */
+	public function flush()
+	{
+		$this->memcached->flush();
+	}
+
+	/**
+	 * Get the underlying Memcached connection.
+	 *
+	 * @return \Memcached
+	 */
+	public function getMemcached()
+	{
+		return $this->memcached;
+	}
+
+	/**
+	 * Get the cache key prefix.
+	 *
+	 * @return string
+	 */
+	public function getPrefix()
+	{
+		return $this->prefix;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/NullStore.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/NullStore.php b/vendor/laravel/framework/src/Illuminate/Cache/NullStore.php
new file mode 100755
index 0000000..51d7f50
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/NullStore.php
@@ -0,0 +1,103 @@
+<?php namespace Illuminate\Cache;
+
+class NullStore extends TaggableStore implements StoreInterface {
+
+	/**
+	 * The array of stored values.
+	 *
+	 * @var array
+	 */
+	protected $storage = array();
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function get($key)
+	{
+		//
+	}
+
+	/**
+	 * Store an item in the cache for a given number of minutes.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  int     $minutes
+	 * @return void
+	 */
+	public function put($key, $value, $minutes)
+	{
+		//
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int
+	 */
+	public function increment($key, $value = 1)
+	{
+		//
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int
+	 */
+	public function decrement($key, $value = 1)
+	{
+		//
+	}
+
+	/**
+	 * Store an item in the cache indefinitely.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function forever($key, $value)
+	{
+		//
+	}
+
+	/**
+	 * Remove an item from the cache.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function forget($key)
+	{
+		//
+	}
+
+	/**
+	 * Remove all items from the cache.
+	 *
+	 * @return void
+	 */
+	public function flush()
+	{
+		//
+	}
+
+	/**
+	 * Get the cache key prefix.
+	 *
+	 * @return string
+	 */
+	public function getPrefix()
+	{
+		return '';
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php b/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php
new file mode 100755
index 0000000..bc76c3c
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php
@@ -0,0 +1,185 @@
+<?php namespace Illuminate\Cache;
+
+use Illuminate\Redis\Database as Redis;
+
+class RedisStore extends TaggableStore implements StoreInterface {
+
+	/**
+	 * The Redis database connection.
+	 *
+	 * @var \Illuminate\Redis\Database
+	 */
+	protected $redis;
+
+	/**
+	 * A string that should be prepended to keys.
+	 *
+	 * @var string
+	 */
+	protected $prefix;
+
+	/**
+	 * The Redis connection that should be used.
+	 *
+	 * @var string
+	 */
+	protected $connection;
+
+	/**
+	 * Create a new Redis store.
+	 *
+	 * @param  \Illuminate\Redis\Database  $redis
+	 * @param  string  $prefix
+	 * @param  string  $connection
+	 * @return void
+	 */
+	public function __construct(Redis $redis, $prefix = '', $connection = 'default')
+	{
+		$this->redis = $redis;
+		$this->connection = $connection;
+		$this->prefix = strlen($prefix) > 0 ? $prefix.':' : '';
+	}
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function get($key)
+	{
+		if ( ! is_null($value = $this->connection()->get($this->prefix.$key)))
+		{
+			return is_numeric($value) ? $value : unserialize($value);
+		}
+	}
+
+	/**
+	 * Store an item in the cache for a given number of minutes.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  int     $minutes
+	 * @return void
+	 */
+	public function put($key, $value, $minutes)
+	{
+		$value = is_numeric($value) ? $value : serialize($value);
+
+		$minutes = max(1, $minutes);
+
+		$this->connection()->setex($this->prefix.$key, $minutes * 60, $value);
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int
+	 */
+	public function increment($key, $value = 1)
+	{
+		return $this->connection()->incrby($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int
+	 */
+	public function decrement($key, $value = 1)
+	{
+		return $this->connection()->decrby($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Store an item in the cache indefinitely.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function forever($key, $value)
+	{
+		$value = is_numeric($value) ? $value : serialize($value);
+
+		$this->connection()->set($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Remove an item from the cache.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function forget($key)
+	{
+		$this->connection()->del($this->prefix.$key);
+	}
+
+	/**
+	 * Remove all items from the cache.
+	 *
+	 * @return void
+	 */
+	public function flush()
+	{
+		$this->connection()->flushdb();
+	}
+
+	/**
+	 * Begin executing a new tags operation.
+	 *
+	 * @param  array|mixed  $names
+	 * @return \Illuminate\Cache\RedisTaggedCache
+	 */
+	public function tags($names)
+	{
+		return new RedisTaggedCache($this, new TagSet($this, is_array($names) ? $names : func_get_args()));
+	}
+
+	/**
+	 * Get the Redis connection instance.
+	 *
+	 * @return \Predis\ClientInterface
+	 */
+	public function connection()
+	{
+		return $this->redis->connection($this->connection);
+	}
+
+	/**
+	 * Set the connection name to be used.
+	 *
+	 * @param  string  $connection
+	 * @return void
+	 */
+	public function setConnection($connection)
+	{
+		$this->connection = $connection;
+	}
+
+	/**
+	 * Get the Redis database instance.
+	 *
+	 * @return \Illuminate\Redis\Database
+	 */
+	public function getRedis()
+	{
+		return $this->redis;
+	}
+
+	/**
+	 * Get the cache key prefix.
+	 *
+	 * @return string
+	 */
+	public function getPrefix()
+	{
+		return $this->prefix;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php b/vendor/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php
new file mode 100644
index 0000000..bd54827
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/RedisTaggedCache.php
@@ -0,0 +1,90 @@
+<?php namespace Illuminate\Cache;
+
+class RedisTaggedCache extends TaggedCache {
+
+	/**
+	 * Store an item in the cache indefinitely.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function forever($key, $value)
+	{
+		$this->pushForeverKeys($namespace = $this->tags->getNamespace(), $key);
+
+		$this->store->forever(sha1($namespace).':'.$key, $value);
+	}
+
+	/**
+	 * Remove all items from the cache.
+	 *
+	 * @return void
+	 */
+	public function flush()
+	{
+		$this->deleteForeverKeys();
+
+		parent::flush();
+	}
+
+	/**
+	 * Store a copy of the full key for each namespace segment.
+	 *
+	 * @param  string  $namespace
+	 * @param  string  $key
+	 * @return void
+	 */
+	protected function pushForeverKeys($namespace, $key)
+	{
+		$fullKey = $this->getPrefix().sha1($namespace).':'.$key;
+
+		foreach (explode('|', $namespace) as $segment)
+		{
+			$this->store->connection()->lpush($this->foreverKey($segment), $fullKey);
+		}
+	}
+
+	/**
+	 * Delete all of the items that were stored forever.
+	 *
+	 * @return void
+	 */
+	protected function deleteForeverKeys()
+	{
+		foreach (explode('|', $this->tags->getNamespace()) as $segment)
+		{
+			$this->deleteForeverValues($segment = $this->foreverKey($segment));
+
+			$this->store->connection()->del($segment);
+		}
+	}
+
+	/**
+	 * Delete all of the keys that have been stored forever.
+	 *
+	 * @param  string  $foreverKey
+	 * @return void
+	 */
+	protected function deleteForeverValues($foreverKey)
+	{
+		$forever = array_unique($this->store->connection()->lrange($foreverKey, 0, -1));
+
+		if (count($forever) > 0)
+		{
+			call_user_func_array(array($this->store->connection(), 'del'), $forever);
+		}
+	}
+
+	/**
+	 * Get the forever reference key for the segment.
+	 *
+	 * @param  string  $segment
+	 * @return string
+	 */
+	protected function foreverKey($segment)
+	{
+		return $this->getPrefix().$segment.':forever';
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/Repository.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/Repository.php b/vendor/laravel/framework/src/Illuminate/Cache/Repository.php
new file mode 100755
index 0000000..f87f29b
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/Repository.php
@@ -0,0 +1,284 @@
+<?php namespace Illuminate\Cache;
+
+use Closure;
+use DateTime;
+use ArrayAccess;
+use Carbon\Carbon;
+use Illuminate\Support\Traits\MacroableTrait;
+
+class Repository implements ArrayAccess {
+
+	use MacroableTrait {
+		__call as macroCall;
+	}
+
+	/**
+	 * The cache store implementation.
+	 *
+	 * @var \Illuminate\Cache\StoreInterface
+	 */
+	protected $store;
+
+	/**
+	 * The default number of minutes to store items.
+	 *
+	 * @var int
+	 */
+	protected $default = 60;
+
+	/**
+	 * Create a new cache repository instance.
+	 *
+	 * @param  \Illuminate\Cache\StoreInterface  $store
+	 */
+	public function __construct(StoreInterface $store)
+	{
+		$this->store = $store;
+	}
+
+	/**
+	 * Determine if an item exists in the cache.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function has($key)
+	{
+		return ! is_null($this->get($key));
+	}
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $default
+	 * @return mixed
+	 */
+	public function get($key, $default = null)
+	{
+		$value = $this->store->get($key);
+
+		return ! is_null($value) ? $value : value($default);
+	}
+
+	/**
+	 * Retrieve an item from the cache and delete it.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $default
+	 * @return mixed
+	 */
+	public function pull($key, $default = null)
+	{
+		$value = $this->get($key, $default);
+
+		$this->forget($key);
+
+		return $value;
+	}
+
+	/**
+	 * Store an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  \DateTime|int  $minutes
+	 * @return void
+	 */
+	public function put($key, $value, $minutes)
+	{
+		$minutes = $this->getMinutes($minutes);
+
+		if ( ! is_null($minutes))
+		{
+			$this->store->put($key, $value, $minutes);
+		}
+	}
+
+	/**
+	 * Store an item in the cache if the key does not exist.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  \DateTime|int  $minutes
+	 * @return bool
+	 */
+	public function add($key, $value, $minutes)
+	{
+		if (is_null($this->get($key)))
+		{
+			$this->put($key, $value, $minutes); return true;
+		}
+
+		return false;
+	}
+
+	/**
+	 * Get an item from the cache, or store the default value.
+	 *
+	 * @param  string  $key
+	 * @param  \DateTime|int  $minutes
+	 * @param  \Closure  $callback
+	 * @return mixed
+	 */
+	public function remember($key, $minutes, Closure $callback)
+	{
+		// If the item exists in the cache we will just return this immediately
+		// otherwise we will execute the given Closure and cache the result
+		// of that execution for the given number of minutes in storage.
+		if ( ! is_null($value = $this->get($key)))
+		{
+			return $value;
+		}
+
+		$this->put($key, $value = $callback(), $minutes);
+
+		return $value;
+	}
+
+	/**
+	 * Get an item from the cache, or store the default value forever.
+	 *
+	 * @param  string   $key
+	 * @param  \Closure  $callback
+	 * @return mixed
+	 */
+	public function sear($key, Closure $callback)
+	{
+		return $this->rememberForever($key, $callback);
+	}
+
+	/**
+	 * Get an item from the cache, or store the default value forever.
+	 *
+	 * @param  string   $key
+	 * @param  \Closure  $callback
+	 * @return mixed
+	 */
+	public function rememberForever($key, Closure $callback)
+	{
+		// If the item exists in the cache we will just return this immediately
+		// otherwise we will execute the given Closure and cache the result
+		// of that execution for the given number of minutes. It's easy.
+		if ( ! is_null($value = $this->get($key)))
+		{
+			return $value;
+		}
+
+		$this->forever($key, $value = $callback());
+
+		return $value;
+	}
+
+	/**
+	 * Get the default cache time.
+	 *
+	 * @return int
+	 */
+	public function getDefaultCacheTime()
+	{
+		return $this->default;
+	}
+
+	/**
+	 * Set the default cache time in minutes.
+	 *
+	 * @param  int   $minutes
+	 * @return void
+	 */
+	public function setDefaultCacheTime($minutes)
+	{
+		$this->default = $minutes;
+	}
+
+	/**
+	 * Get the cache store implementation.
+	 *
+	 * @return \Illuminate\Cache\StoreInterface
+	 */
+	public function getStore()
+	{
+		return $this->store;
+	}
+
+	/**
+	 * Determine if a cached value exists.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function offsetExists($key)
+	{
+		return $this->has($key);
+	}
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function offsetGet($key)
+	{
+		return $this->get($key);
+	}
+
+	/**
+	 * Store an item in the cache for the default time.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function offsetSet($key, $value)
+	{
+		$this->put($key, $value, $this->default);
+	}
+
+	/**
+	 * Remove an item from the cache.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function offsetUnset($key)
+	{
+		return $this->forget($key);
+	}
+
+	/**
+	 * Calculate the number of minutes with the given duration.
+	 *
+	 * @param  \DateTime|int  $duration
+	 * @return int|null
+	 */
+	protected function getMinutes($duration)
+	{
+		if ($duration instanceof DateTime)
+		{
+			$fromNow = Carbon::instance($duration)->diffInMinutes();
+
+			return $fromNow > 0 ? $fromNow : null;
+		}
+
+		return is_string($duration) ? (int) $duration : $duration;
+	}
+
+	/**
+	 * Handle dynamic calls into macros or pass missing methods to the store.
+	 *
+	 * @param  string  $method
+	 * @param  array   $parameters
+	 * @return mixed
+	 */
+	public function __call($method, $parameters)
+	{
+		if (static::hasMacro($method))
+		{
+			return $this->macroCall($method, $parameters);
+		}
+
+		return call_user_func_array(array($this->store, $method), $parameters);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/StoreInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/StoreInterface.php b/vendor/laravel/framework/src/Illuminate/Cache/StoreInterface.php
new file mode 100755
index 0000000..b07686f
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/StoreInterface.php
@@ -0,0 +1,72 @@
+<?php namespace Illuminate\Cache;
+
+interface StoreInterface {
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function get($key);
+
+	/**
+	 * Store an item in the cache for a given number of minutes.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  int     $minutes
+	 * @return void
+	 */
+	public function put($key, $value, $minutes);
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int|bool
+	 */
+	public function increment($key, $value = 1);
+
+	/**
+	 * Decrement the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int|bool
+	 */
+	public function decrement($key, $value = 1);
+
+	/**
+	 * Store an item in the cache indefinitely.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function forever($key, $value);
+
+	/**
+	 * Remove an item from the cache.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function forget($key);
+
+	/**
+	 * Remove all items from the cache.
+	 *
+	 * @return void
+	 */
+	public function flush();
+
+	/**
+	 * Get the cache key prefix.
+	 *
+	 * @return string
+	 */
+	public function getPrefix();
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/TagSet.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/TagSet.php b/vendor/laravel/framework/src/Illuminate/Cache/TagSet.php
new file mode 100644
index 0000000..36df05d
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/TagSet.php
@@ -0,0 +1,97 @@
+<?php namespace Illuminate\Cache;
+
+class TagSet {
+
+	/**
+	 * The cache store implementation.
+	 *
+	 * @var \Illuminate\Cache\StoreInterface
+	 */
+	protected $store;
+
+	/**
+	 * The tag names.
+	 *
+	 * @var array
+	 */
+	protected $names = array();
+
+	/**
+	 * Create a new TagSet instance.
+	 *
+	 * @param  \Illuminate\Cache\StoreInterface  $store
+	 * @param  array  $names
+	 * @return void
+	 */
+	public function __construct(StoreInterface $store, array $names = array())
+	{
+		$this->store = $store;
+		$this->names = $names;
+	}
+
+	/**
+	 * Reset all tags in the set.
+	 *
+	 * @return void
+	 */
+	public function reset()
+	{
+		array_walk($this->names, array($this, 'resetTag'));
+	}
+
+	/**
+	 * Get the unique tag identifier for a given tag.
+	 *
+	 * @param  string  $name
+	 * @return string
+	 */
+	public function tagId($name)
+	{
+		return $this->store->get($this->tagKey($name)) ?: $this->resetTag($name);
+	}
+
+	/**
+	 * Get an array of tag identifiers for all of the tags in the set.
+	 *
+	 * @return array
+	 */
+	protected function tagIds()
+	{
+		return array_map(array($this, 'tagId'), $this->names);
+	}
+
+	/**
+	 * Get a unique namespace that changes when any of the tags are flushed.
+	 *
+	 * @return string
+	 */
+	public function getNamespace()
+	{
+		return implode('|', $this->tagIds());
+	}
+
+	/**
+	 * Reset the tag and return the new tag identifier
+	 *
+	 * @param  string  $name
+	 * @return string
+	 */
+	public function resetTag($name)
+	{
+		$this->store->forever($this->tagKey($name), $id = str_replace('.', '', uniqid('', true)));
+
+		return $id;
+	}
+
+	/**
+	 * Get the tag identifier key for a given tag.
+	 *
+	 * @param  string  $name
+	 * @return string
+	 */
+	public function tagKey($name)
+	{
+		return 'tag:'.$name.':key';
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/TaggableStore.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/TaggableStore.php b/vendor/laravel/framework/src/Illuminate/Cache/TaggableStore.php
new file mode 100644
index 0000000..c0b965d
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/TaggableStore.php
@@ -0,0 +1,27 @@
+<?php namespace Illuminate\Cache;
+
+abstract class TaggableStore {
+
+	/**
+	 * Begin executing a new tags operation.
+	 *
+	 * @param  string  $name
+	 * @return \Illuminate\Cache\TaggedCache
+	 */
+	public function section($name)
+	{
+		return $this->tags($name);
+	}
+
+	/**
+	 * Begin executing a new tags operation.
+	 *
+	 * @param  array|mixed  $names
+	 * @return \Illuminate\Cache\TaggedCache
+	 */
+	public function tags($names)
+	{
+		return new TaggedCache($this, new TagSet($this, is_array($names) ? $names : func_get_args()));
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/TaggedCache.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/TaggedCache.php b/vendor/laravel/framework/src/Illuminate/Cache/TaggedCache.php
new file mode 100644
index 0000000..6b9eb7a
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/TaggedCache.php
@@ -0,0 +1,244 @@
+<?php namespace Illuminate\Cache;
+
+use Closure;
+use DateTime;
+use Carbon\Carbon;
+
+class TaggedCache implements StoreInterface {
+
+	/**
+	 * The cache store implementation.
+	 *
+	 * @var \Illuminate\Cache\StoreInterface
+	 */
+	protected $store;
+
+	/**
+	 * The tag set instance.
+	 *
+	 * @var \Illuminate\Cache\TagSet
+	 */
+	protected $tags;
+
+	/**
+	 * Create a new tagged cache instance.
+	 *
+	 * @param  \Illuminate\Cache\StoreInterface  $store
+	 * @param  \Illuminate\Cache\TagSet  $tags
+	 * @return void
+	 */
+	public function __construct(StoreInterface $store, TagSet $tags)
+	{
+		$this->tags = $tags;
+		$this->store = $store;
+	}
+
+	/**
+	 * Determine if an item exists in the cache.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function has($key)
+	{
+		return ! is_null($this->get($key));
+	}
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $default
+	 * @return mixed
+	 */
+	public function get($key, $default = null)
+	{
+		$value = $this->store->get($this->taggedItemKey($key));
+
+		return ! is_null($value) ? $value : value($default);
+	}
+
+	/**
+	 * Store an item in the cache for a given number of minutes.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  \DateTime|int  $minutes
+	 * @return void
+	 */
+	public function put($key, $value, $minutes)
+	{
+		$minutes = $this->getMinutes($minutes);
+
+		if ( ! is_null($minutes))
+		{
+			$this->store->put($this->taggedItemKey($key), $value, $minutes);
+		}
+	}
+
+	/**
+	 * Store an item in the cache if the key does not exist.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  \DateTime|int  $minutes
+	 * @return bool
+	 */
+	public function add($key, $value, $minutes)
+	{
+		if (is_null($this->get($key)))
+		{
+			$this->put($key, $value, $minutes); return true;
+		}
+
+		return false;
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function increment($key, $value = 1)
+	{
+		$this->store->increment($this->taggedItemKey($key), $value);
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function decrement($key, $value = 1)
+	{
+		$this->store->decrement($this->taggedItemKey($key), $value);
+	}
+
+	/**
+	 * Store an item in the cache indefinitely.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function forever($key, $value)
+	{
+		$this->store->forever($this->taggedItemKey($key), $value);
+	}
+
+	/**
+	 * Remove an item from the cache.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function forget($key)
+	{
+		return $this->store->forget($this->taggedItemKey($key));
+	}
+
+	/**
+	 * Remove all items from the cache.
+	 *
+	 * @return void
+	 */
+	public function flush()
+	{
+		$this->tags->reset();
+	}
+
+	/**
+	 * Get an item from the cache, or store the default value.
+	 *
+	 * @param  string  $key
+	 * @param  \DateTime|int  $minutes
+	 * @param  \Closure  $callback
+	 * @return mixed
+	 */
+	public function remember($key, $minutes, Closure $callback)
+	{
+		// If the item exists in the cache we will just return this immediately
+		// otherwise we will execute the given Closure and cache the result
+		// of that execution for the given number of minutes in storage.
+		if ( ! is_null($value = $this->get($key))) return $value;
+
+		$this->put($key, $value = $callback(), $minutes);
+
+		return $value;
+	}
+
+	/**
+	 * Get an item from the cache, or store the default value forever.
+	 *
+	 * @param  string    $key
+	 * @param  \Closure  $callback
+	 * @return mixed
+	 */
+	public function sear($key, Closure $callback)
+	{
+		return $this->rememberForever($key, $callback);
+	}
+
+	/**
+	 * Get an item from the cache, or store the default value forever.
+	 *
+	 * @param  string    $key
+	 * @param  \Closure  $callback
+	 * @return mixed
+	 */
+	public function rememberForever($key, Closure $callback)
+	{
+		// If the item exists in the cache we will just return this immediately
+		// otherwise we will execute the given Closure and cache the result
+		// of that execution for the given number of minutes. It's easy.
+		if ( ! is_null($value = $this->get($key))) return $value;
+
+		$this->forever($key, $value = $callback());
+
+		return $value;
+	}
+
+	/**
+	 * Get a fully qualified key for a tagged item.
+	 *
+	 * @param  string  $key
+	 * @return string
+	 */
+	public function taggedItemKey($key)
+	{
+		return sha1($this->tags->getNamespace()).':'.$key;
+	}
+
+	/**
+	 * Get the cache key prefix.
+	 *
+	 * @return string
+	 */
+	public function getPrefix()
+	{
+		return $this->store->getPrefix();
+	}
+
+	/**
+	 * Calculate the number of minutes with the given duration.
+	 *
+	 * @param  \DateTime|int  $duration
+	 * @return int|null
+	 */
+	protected function getMinutes($duration)
+	{
+		if ($duration instanceof DateTime)
+		{
+			$fromNow = Carbon::instance($duration)->diffInMinutes();
+
+			return $fromNow > 0 ? $fromNow : null;
+		}
+
+		return is_string($duration) ? (int) $duration : $duration;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/WinCacheStore.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/WinCacheStore.php b/vendor/laravel/framework/src/Illuminate/Cache/WinCacheStore.php
new file mode 100755
index 0000000..43dd617
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/WinCacheStore.php
@@ -0,0 +1,119 @@
+<?php namespace Illuminate\Cache;
+
+class WinCacheStore extends TaggableStore implements StoreInterface {
+
+	/**
+	 * A string that should be prepended to keys.
+	 *
+	 * @var string
+	 */
+	protected $prefix;
+
+	/**
+	 * Create a new WinCache store.
+	 *
+	 * @param  string  $prefix
+	 * @return void
+	 */
+	public function __construct($prefix = '')
+	{
+		$this->prefix = $prefix;
+	}
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function get($key)
+	{
+		$value = wincache_ucache_get($this->prefix.$key);
+
+		if ($value !== false)
+		{
+			return $value;
+		}
+	}
+
+	/**
+	 * Store an item in the cache for a given number of minutes.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  int     $minutes
+	 * @return void
+	 */
+	public function put($key, $value, $minutes)
+	{
+		wincache_ucache_set($this->prefix.$key, $value, $minutes * 60);
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int|bool
+	 */
+	public function increment($key, $value = 1)
+	{
+		return wincache_ucache_inc($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int|bool
+	 */
+	public function decrement($key, $value = 1)
+	{
+		return wincache_ucache_dec($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Store an item in the cache indefinitely.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function forever($key, $value)
+	{
+		return $this->put($key, $value, 0);
+	}
+
+	/**
+	 * Remove an item from the cache.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function forget($key)
+	{
+		wincache_ucache_delete($this->prefix.$key);
+	}
+
+	/**
+	 * Remove all items from the cache.
+	 *
+	 * @return void
+	 */
+	public function flush()
+	{
+		wincache_ucache_clear();
+	}
+
+	/**
+	 * Get the cache key prefix.
+	 *
+	 * @return string
+	 */
+	public function getPrefix()
+	{
+		return $this->prefix;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/XCacheStore.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/XCacheStore.php b/vendor/laravel/framework/src/Illuminate/Cache/XCacheStore.php
new file mode 100755
index 0000000..c7786e2
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/XCacheStore.php
@@ -0,0 +1,119 @@
+<?php namespace Illuminate\Cache;
+
+class XCacheStore extends TaggableStore implements StoreInterface {
+
+	/**
+	 * A string that should be prepended to keys.
+	 *
+	 * @var string
+	 */
+	protected $prefix;
+
+	/**
+	 * Create a new WinCache store.
+	 *
+	 * @param  string  $prefix
+	 * @return void
+	 */
+	public function __construct($prefix = '')
+	{
+		$this->prefix = $prefix;
+	}
+
+	/**
+	 * Retrieve an item from the cache by key.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function get($key)
+	{
+		$value = xcache_get($this->prefix.$key);
+
+		if (isset($value))
+		{
+			return $value;
+		}
+	}
+
+	/**
+	 * Store an item in the cache for a given number of minutes.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @param  int     $minutes
+	 * @return void
+	 */
+	public function put($key, $value, $minutes)
+	{
+		xcache_set($this->prefix.$key, $value, $minutes * 60);
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int
+	 */
+	public function increment($key, $value = 1)
+	{
+		return xcache_inc($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Increment the value of an item in the cache.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return int
+	 */
+	public function decrement($key, $value = 1)
+	{
+		return xcache_dec($this->prefix.$key, $value);
+	}
+
+	/**
+	 * Store an item in the cache indefinitely.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function forever($key, $value)
+	{
+		return $this->put($key, $value, 0);
+	}
+
+	/**
+	 * Remove an item from the cache.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function forget($key)
+	{
+		xcache_unset($this->prefix.$key);
+	}
+
+	/**
+	 * Remove all items from the cache.
+	 *
+	 * @return void
+	 */
+	public function flush()
+	{
+		xcache_clear_cache(XC_TYPE_VAR);
+	}
+
+	/**
+	 * Get the cache key prefix.
+	 *
+	 * @return string
+	 */
+	public function getPrefix()
+	{
+		return $this->prefix;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Cache/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Cache/composer.json b/vendor/laravel/framework/src/Illuminate/Cache/composer.json
new file mode 100755
index 0000000..441833d
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Cache/composer.json
@@ -0,0 +1,31 @@
+{
+    "name": "illuminate/cache",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Taylor Otwell",
+            "email": "taylorotwell@gmail.com"
+        }
+    ],
+    "require": {
+        "php": ">=5.4.0",
+        "illuminate/support": "4.2.*",
+        "nesbot/carbon": "~1.0"
+    },
+    "require-dev": {
+        "illuminate/database": "4.2.*",
+        "illuminate/encryption": "4.2.*",
+        "illuminate/filesystem": "4.2.*",
+        "illuminate/redis": "4.2.*"
+    },
+    "autoload": {
+        "psr-0": {"Illuminate\\Cache": ""}
+    },
+    "target-dir": "Illuminate/Cache",
+    "extra": {
+        "branch-alias": {
+            "dev-master": "4.2-dev"
+        }
+    },
+    "minimum-stability": "dev"
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Config/EnvironmentVariables.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Config/EnvironmentVariables.php b/vendor/laravel/framework/src/Illuminate/Config/EnvironmentVariables.php
new file mode 100644
index 0000000..dfe89aa
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Config/EnvironmentVariables.php
@@ -0,0 +1,45 @@
+<?php namespace Illuminate\Config;
+
+/**
+ * PHP $_ENV loader for protecting sensitive configuration options.
+ *
+ * Inspired by the wonderful "Dotenv" library by Vance Lucas.
+ */
+class EnvironmentVariables {
+
+	/**
+	 * The environment loader implementation.
+	 *
+	 * @var \Illuminate\Config\EnvironmentVariablesLoaderInterface  $loader
+	 */
+	protected $loader;
+
+	/**
+	 * The server environment instance.
+	 *
+	 * @param  \Illuminate\Config\EnvironmentVariablesLoaderInterface  $loader
+	 * @return void
+	 */
+	public function __construct(EnvironmentVariablesLoaderInterface $loader)
+	{
+		$this->loader = $loader;
+	}
+
+	/**
+	 * Load the server variables for a given environment.
+	 *
+	 * @param  string  $environment
+	 */
+	public function load($environment = null)
+	{
+		foreach ($this->loader->load($environment) as $key => $value)
+		{
+			$_ENV[$key] = $value;
+
+			$_SERVER[$key] = $value;
+
+			putenv("{$key}={$value}");
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Config/EnvironmentVariablesLoaderInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Config/EnvironmentVariablesLoaderInterface.php b/vendor/laravel/framework/src/Illuminate/Config/EnvironmentVariablesLoaderInterface.php
new file mode 100644
index 0000000..376f666
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Config/EnvironmentVariablesLoaderInterface.php
@@ -0,0 +1,13 @@
+<?php namespace Illuminate\Config;
+
+interface EnvironmentVariablesLoaderInterface {
+
+	/**
+	 * Load the environment variables for the given environment.
+	 *
+	 * @param  string  $environment
+	 * @return array
+	 */
+	public function load($environment = null);
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Config/FileEnvironmentVariablesLoader.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Config/FileEnvironmentVariablesLoader.php b/vendor/laravel/framework/src/Illuminate/Config/FileEnvironmentVariablesLoader.php
new file mode 100644
index 0000000..8a095cb
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Config/FileEnvironmentVariablesLoader.php
@@ -0,0 +1,68 @@
+<?php namespace Illuminate\Config;
+
+use Illuminate\Filesystem\Filesystem;
+
+class FileEnvironmentVariablesLoader implements EnvironmentVariablesLoaderInterface {
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * The path to the configuration files.
+	 *
+	 * @var string
+	 */
+	protected $path;
+
+	/**
+	 * Create a new file environment loader instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @param  string  $path
+	 * @return void
+	 */
+	public function __construct(Filesystem $files, $path = null)
+	{
+		$this->files = $files;
+		$this->path = $path ?: base_path();
+	}
+
+	/**
+	 * Load the environment variables for the given environment.
+	 *
+	 * @param  string  $environment
+	 * @return array
+	 */
+	public function load($environment = null)
+	{
+		if ($environment == 'production') $environment = null;
+
+		if ( ! $this->files->exists($path = $this->getFile($environment)))
+		{
+			return array();
+		}
+
+		return array_dot($this->files->getRequire($path));
+	}
+
+	/**
+	 * Get the file for the given environment.
+	 *
+	 * @param  string  $environment
+	 * @return string
+	 */
+	protected function getFile($environment)
+	{
+		if ($environment)
+		{
+			return $this->path.'/.env.'.$environment.'.php';
+		}
+
+		return $this->path.'/.env.php';
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Config/FileLoader.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Config/FileLoader.php b/vendor/laravel/framework/src/Illuminate/Config/FileLoader.php
new file mode 100755
index 0000000..3563f07
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Config/FileLoader.php
@@ -0,0 +1,259 @@
+<?php namespace Illuminate\Config;
+
+use Illuminate\Filesystem\Filesystem;
+
+class FileLoader implements LoaderInterface {
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * The default configuration path.
+	 *
+	 * @var string
+	 */
+	protected $defaultPath;
+
+	/**
+	 * All of the named path hints.
+	 *
+	 * @var array
+	 */
+	protected $hints = array();
+
+	/**
+	 * A cache of whether namespaces and groups exists.
+	 *
+	 * @var array
+	 */
+	protected $exists = array();
+
+	/**
+	 * Create a new file configuration loader.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @param  string  $defaultPath
+	 * @return void
+	 */
+	public function __construct(Filesystem $files, $defaultPath)
+	{
+		$this->files = $files;
+		$this->defaultPath = $defaultPath;
+	}
+
+	/**
+	 * Load the given configuration group.
+	 *
+	 * @param  string  $environment
+	 * @param  string  $group
+	 * @param  string  $namespace
+	 * @return array
+	 */
+	public function load($environment, $group, $namespace = null)
+	{
+		$items = array();
+
+		// First we'll get the root configuration path for the environment which is
+		// where all of the configuration files live for that namespace, as well
+		// as any environment folders with their specific configuration items.
+		$path = $this->getPath($namespace);
+
+		if (is_null($path))
+		{
+			return $items;
+		}
+
+		// First we'll get the main configuration file for the groups. Once we have
+		// that we can check for any environment specific files, which will get
+		// merged on top of the main arrays to make the environments cascade.
+		$file = "{$path}/{$group}.php";
+
+		if ($this->files->exists($file))
+		{
+			$items = $this->getRequire($file);
+		}
+
+		// Finally we're ready to check for the environment specific configuration
+		// file which will be merged on top of the main arrays so that they get
+		// precedence over them if we are currently in an environments setup.
+		$file = "{$path}/{$environment}/{$group}.php";
+
+		if ($this->files->exists($file))
+		{
+			$items = $this->mergeEnvironment($items, $file);
+		}
+
+		return $items;
+	}
+
+	/**
+	 * Merge the items in the given file into the items.
+	 *
+	 * @param  array   $items
+	 * @param  string  $file
+	 * @return array
+	 */
+	protected function mergeEnvironment(array $items, $file)
+	{
+		return array_replace_recursive($items, $this->getRequire($file));
+	}
+
+	/**
+	 * Determine if the given group exists.
+	 *
+	 * @param  string  $group
+	 * @param  string  $namespace
+	 * @return bool
+	 */
+	public function exists($group, $namespace = null)
+	{
+		$key = $group.$namespace;
+
+		// We'll first check to see if we have determined if this namespace and
+		// group combination have been checked before. If they have, we will
+		// just return the cached result so we don't have to hit the disk.
+		if (isset($this->exists[$key]))
+		{
+			return $this->exists[$key];
+		}
+
+		$path = $this->getPath($namespace);
+
+		// To check if a group exists, we will simply get the path based on the
+		// namespace, and then check to see if this files exists within that
+		// namespace. False is returned if no path exists for a namespace.
+		if (is_null($path))
+		{
+			return $this->exists[$key] = false;
+		}
+
+		$file = "{$path}/{$group}.php";
+
+		// Finally, we can simply check if this file exists. We will also cache
+		// the value in an array so we don't have to go through this process
+		// again on subsequent checks for the existing of the config file.
+		$exists = $this->files->exists($file);
+
+		return $this->exists[$key] = $exists;
+	}
+
+	/**
+	 * Apply any cascades to an array of package options.
+	 *
+	 * @param  string  $env
+	 * @param  string  $package
+	 * @param  string  $group
+	 * @param  array   $items
+	 * @return array
+	 */
+	public function cascadePackage($env, $package, $group, $items)
+	{
+		// First we will look for a configuration file in the packages configuration
+		// folder. If it exists, we will load it and merge it with these original
+		// options so that we will easily "cascade" a package's configurations.
+		$file = "packages/{$package}/{$group}.php";
+
+		if ($this->files->exists($path = $this->defaultPath.'/'.$file))
+		{
+			$items = array_merge(
+				$items, $this->getRequire($path)
+			);
+		}
+
+		// Once we have merged the regular package configuration we need to look for
+		// an environment specific configuration file. If one exists, we will get
+		// the contents and merge them on top of this array of options we have.
+		$path = $this->getPackagePath($env, $package, $group);
+
+		if ($this->files->exists($path))
+		{
+			$items = array_merge(
+				$items, $this->getRequire($path)
+			);
+		}
+
+		return $items;
+	}
+
+	/**
+	 * Get the package path for an environment and group.
+	 *
+	 * @param  string  $env
+	 * @param  string  $package
+	 * @param  string  $group
+	 * @return string
+	 */
+	protected function getPackagePath($env, $package, $group)
+	{
+		$file = "packages/{$package}/{$env}/{$group}.php";
+
+		return $this->defaultPath.'/'.$file;
+	}
+
+	/**
+	 * Get the configuration path for a namespace.
+	 *
+	 * @param  string  $namespace
+	 * @return string
+	 */
+	protected function getPath($namespace)
+	{
+		if (is_null($namespace))
+		{
+			return $this->defaultPath;
+		}
+		elseif (isset($this->hints[$namespace]))
+		{
+			return $this->hints[$namespace];
+		}
+	}
+
+	/**
+	 * Add a new namespace to the loader.
+	 *
+	 * @param  string  $namespace
+	 * @param  string  $hint
+	 * @return void
+	 */
+	public function addNamespace($namespace, $hint)
+	{
+		$this->hints[$namespace] = $hint;
+	}
+
+	/**
+	 * Returns all registered namespaces with the config
+	 * loader.
+	 *
+	 * @return array
+	 */
+	public function getNamespaces()
+	{
+		return $this->hints;
+	}
+
+	/**
+	 * Get a file's contents by requiring it.
+	 *
+	 * @param  string  $path
+	 * @return mixed
+	 */
+	protected function getRequire($path)
+	{
+		return $this->files->getRequire($path);
+	}
+
+	/**
+	 * Get the Filesystem instance.
+	 *
+	 * @return \Illuminate\Filesystem\Filesystem
+	 */
+	public function getFilesystem()
+	{
+		return $this->files;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Config/LoaderInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Config/LoaderInterface.php b/vendor/laravel/framework/src/Illuminate/Config/LoaderInterface.php
new file mode 100755
index 0000000..d4b6a8f
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Config/LoaderInterface.php
@@ -0,0 +1,52 @@
+<?php namespace Illuminate\Config;
+
+interface LoaderInterface {
+
+	/**
+	 * Load the given configuration group.
+	 *
+	 * @param  string  $environment
+	 * @param  string  $group
+	 * @param  string  $namespace
+	 * @return array
+	 */
+	public function load($environment, $group, $namespace = null);
+
+	/**
+	 * Determine if the given configuration group exists.
+	 *
+	 * @param  string  $group
+	 * @param  string  $namespace
+	 * @return bool
+	 */
+	public function exists($group, $namespace = null);
+
+	/**
+	 * Add a new namespace to the loader.
+	 *
+	 * @param  string  $namespace
+	 * @param  string  $hint
+	 * @return void
+	 */
+	public function addNamespace($namespace, $hint);
+
+	/**
+	 * Returns all registered namespaces with the config
+	 * loader.
+	 *
+	 * @return array
+	 */
+	public function getNamespaces();
+
+	/**
+	 * Apply any cascades to an array of package options.
+	 *
+	 * @param  string  $environment
+	 * @param  string  $package
+	 * @param  string  $group
+	 * @param  array   $items
+	 * @return array
+	 */
+	public function cascadePackage($environment, $package, $group, $items);
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Config/Repository.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Config/Repository.php b/vendor/laravel/framework/src/Illuminate/Config/Repository.php
new file mode 100755
index 0000000..36f9505
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Config/Repository.php
@@ -0,0 +1,415 @@
+<?php namespace Illuminate\Config;
+
+use Closure;
+use ArrayAccess;
+use Illuminate\Support\NamespacedItemResolver;
+
+class Repository extends NamespacedItemResolver implements ArrayAccess {
+
+	/**
+	 * The loader implementation.
+	 *
+	 * @var \Illuminate\Config\LoaderInterface
+	 */
+	protected $loader;
+
+	/**
+	 * The current environment.
+	 *
+	 * @var string
+	 */
+	protected $environment;
+
+	/**
+	 * All of the configuration items.
+	 *
+	 * @var array
+	 */
+	protected $items = array();
+
+	/**
+	 * All of the registered packages.
+	 *
+	 * @var array
+	 */
+	protected $packages = array();
+
+	/**
+	 * The after load callbacks for namespaces.
+	 *
+	 * @var array
+	 */
+	protected $afterLoad = array();
+
+	/**
+	 * Create a new configuration repository.
+	 *
+	 * @param  \Illuminate\Config\LoaderInterface  $loader
+	 * @param  string  $environment
+	 * @return void
+	 */
+	public function __construct(LoaderInterface $loader, $environment)
+	{
+		$this->loader = $loader;
+		$this->environment = $environment;
+	}
+
+	/**
+	 * Determine if the given configuration value exists.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function has($key)
+	{
+		$default = microtime(true);
+
+		return $this->get($key, $default) !== $default;
+	}
+
+	/**
+	 * Determine if a configuration group exists.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function hasGroup($key)
+	{
+		list($namespace, $group, $item) = $this->parseKey($key);
+
+		return $this->loader->exists($group, $namespace);
+	}
+
+	/**
+	 * Get the specified configuration value.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $default
+	 * @return mixed
+	 */
+	public function get($key, $default = null)
+	{
+		list($namespace, $group, $item) = $this->parseKey($key);
+
+		// Configuration items are actually keyed by "collection", which is simply a
+		// combination of each namespace and groups, which allows a unique way to
+		// identify the arrays of configuration items for the particular files.
+		$collection = $this->getCollection($group, $namespace);
+
+		$this->load($group, $namespace, $collection);
+
+		return array_get($this->items[$collection], $item, $default);
+	}
+
+	/**
+	 * Set a given configuration value.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function set($key, $value)
+	{
+		list($namespace, $group, $item) = $this->parseKey($key);
+
+		$collection = $this->getCollection($group, $namespace);
+
+		// We'll need to go ahead and lazy load each configuration groups even when
+		// we're just setting a configuration item so that the set item does not
+		// get overwritten if a different item in the group is requested later.
+		$this->load($group, $namespace, $collection);
+
+		if (is_null($item))
+		{
+			$this->items[$collection] = $value;
+		}
+		else
+		{
+			array_set($this->items[$collection], $item, $value);
+		}
+	}
+
+	/**
+	 * Load the configuration group for the key.
+	 *
+	 * @param  string  $group
+	 * @param  string  $namespace
+	 * @param  string  $collection
+	 * @return void
+	 */
+	protected function load($group, $namespace, $collection)
+	{
+		$env = $this->environment;
+
+		// If we've already loaded this collection, we will just bail out since we do
+		// not want to load it again. Once items are loaded a first time they will
+		// stay kept in memory within this class and not loaded from disk again.
+		if (isset($this->items[$collection]))
+		{
+			return;
+		}
+
+		$items = $this->loader->load($env, $group, $namespace);
+
+		// If we've already loaded this collection, we will just bail out since we do
+		// not want to load it again. Once items are loaded a first time they will
+		// stay kept in memory within this class and not loaded from disk again.
+		if (isset($this->afterLoad[$namespace]))
+		{
+			$items = $this->callAfterLoad($namespace, $group, $items);
+		}
+
+		$this->items[$collection] = $items;
+	}
+
+	/**
+	 * Call the after load callback for a namespace.
+	 *
+	 * @param  string  $namespace
+	 * @param  string  $group
+	 * @param  array   $items
+	 * @return array
+	 */
+	protected function callAfterLoad($namespace, $group, $items)
+	{
+		$callback = $this->afterLoad[$namespace];
+
+		return call_user_func($callback, $this, $group, $items);
+	}
+
+	/**
+	 * Parse an array of namespaced segments.
+	 *
+	 * @param  string  $key
+	 * @return array
+	 */
+	protected function parseNamespacedSegments($key)
+	{
+		list($namespace, $item) = explode('::', $key);
+
+		// If the namespace is registered as a package, we will just assume the group
+		// is equal to the namespace since all packages cascade in this way having
+		// a single file per package, otherwise we'll just parse them as normal.
+		if (in_array($namespace, $this->packages))
+		{
+			return $this->parsePackageSegments($key, $namespace, $item);
+		}
+
+		return parent::parseNamespacedSegments($key);
+	}
+
+	/**
+	 * Parse the segments of a package namespace.
+	 *
+	 * @param  string  $key
+	 * @param  string  $namespace
+	 * @param  string  $item
+	 * @return array
+	 */
+	protected function parsePackageSegments($key, $namespace, $item)
+	{
+		$itemSegments = explode('.', $item);
+
+		// If the configuration file doesn't exist for the given package group we can
+		// assume that we should implicitly use the config file matching the name
+		// of the namespace. Generally packages should use one type or another.
+		if ( ! $this->loader->exists($itemSegments[0], $namespace))
+		{
+			return array($namespace, 'config', $item);
+		}
+
+		return parent::parseNamespacedSegments($key);
+	}
+
+	/**
+	 * Register a package for cascading configuration.
+	 *
+	 * @param  string  $package
+	 * @param  string  $hint
+	 * @param  string  $namespace
+	 * @return void
+	 */
+	public function package($package, $hint, $namespace = null)
+	{
+		$namespace = $this->getPackageNamespace($package, $namespace);
+
+		$this->packages[] = $namespace;
+
+		// First we will simply register the namespace with the repository so that it
+		// can be loaded. Once we have done that we'll register an after namespace
+		// callback so that we can cascade an application package configuration.
+		$this->addNamespace($namespace, $hint);
+
+		$this->afterLoading($namespace, function($me, $group, $items) use ($package)
+		{
+			$env = $me->getEnvironment();
+
+			$loader = $me->getLoader();
+
+			return $loader->cascadePackage($env, $package, $group, $items);
+		});
+	}
+
+	/**
+	 * Get the configuration namespace for a package.
+	 *
+	 * @param  string  $package
+	 * @param  string  $namespace
+	 * @return string
+	 */
+	protected function getPackageNamespace($package, $namespace)
+	{
+		if (is_null($namespace))
+		{
+			list($vendor, $namespace) = explode('/', $package);
+		}
+
+		return $namespace;
+	}
+
+	/**
+	 * Register an after load callback for a given namespace.
+	 *
+	 * @param  string   $namespace
+	 * @param  \Closure  $callback
+	 * @return void
+	 */
+	public function afterLoading($namespace, Closure $callback)
+	{
+		$this->afterLoad[$namespace] = $callback;
+	}
+
+	/**
+	 * Get the collection identifier.
+	 *
+	 * @param  string  $group
+	 * @param  string  $namespace
+	 * @return string
+	 */
+	protected function getCollection($group, $namespace = null)
+	{
+		$namespace = $namespace ?: '*';
+
+		return $namespace.'::'.$group;
+	}
+
+	/**
+	 * Add a new namespace to the loader.
+	 *
+	 * @param  string  $namespace
+	 * @param  string  $hint
+	 * @return void
+	 */
+	public function addNamespace($namespace, $hint)
+	{
+		$this->loader->addNamespace($namespace, $hint);
+	}
+
+	/**
+	 * Returns all registered namespaces with the config
+	 * loader.
+	 *
+	 * @return array
+	 */
+	public function getNamespaces()
+	{
+		return $this->loader->getNamespaces();
+	}
+
+	/**
+	 * Get the loader implementation.
+	 *
+	 * @return \Illuminate\Config\LoaderInterface
+	 */
+	public function getLoader()
+	{
+		return $this->loader;
+	}
+
+	/**
+	 * Set the loader implementation.
+	 *
+	 * @param  \Illuminate\Config\LoaderInterface  $loader
+	 * @return void
+	 */
+	public function setLoader(LoaderInterface $loader)
+	{
+		$this->loader = $loader;
+	}
+
+	/**
+	 * Get the current configuration environment.
+	 *
+	 * @return string
+	 */
+	public function getEnvironment()
+	{
+		return $this->environment;
+	}
+
+	/**
+	 * Get the after load callback array.
+	 *
+	 * @return array
+	 */
+	public function getAfterLoadCallbacks()
+	{
+		return $this->afterLoad;
+	}
+
+	/**
+	 * Get all of the configuration items.
+	 *
+	 * @return array
+	 */
+	public function getItems()
+	{
+		return $this->items;
+	}
+
+	/**
+	 * Determine if the given configuration option exists.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function offsetExists($key)
+	{
+		return $this->has($key);
+	}
+
+	/**
+	 * Get a configuration option.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function offsetGet($key)
+	{
+		return $this->get($key);
+	}
+
+	/**
+	 * Set a configuration option.
+	 *
+	 * @param  string  $key
+	 * @param  mixed  $value
+	 * @return void
+	 */
+	public function offsetSet($key, $value)
+	{
+		$this->set($key, $value);
+	}
+
+	/**
+	 * Unset a configuration option.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function offsetUnset($key)
+	{
+		$this->set($key, null);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Config/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Config/composer.json b/vendor/laravel/framework/src/Illuminate/Config/composer.json
new file mode 100755
index 0000000..921e1b6
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Config/composer.json
@@ -0,0 +1,25 @@
+{
+    "name": "illuminate/config",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Taylor Otwell",
+            "email": "taylorotwell@gmail.com"
+        }
+    ],
+    "require": {
+        "php": ">=5.4.0",
+        "illuminate/filesystem": "4.2.*",
+        "illuminate/support": "4.2.*"
+    },
+    "autoload": {
+        "psr-0": {"Illuminate\\Config": ""}
+    },
+    "target-dir": "Illuminate/Config",
+    "extra": {
+        "branch-alias": {
+            "dev-master": "4.2-dev"
+        }
+    },
+    "minimum-stability": "dev"
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Console/Application.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Console/Application.php b/vendor/laravel/framework/src/Illuminate/Console/Application.php
new file mode 100755
index 0000000..f65db40
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Console/Application.php
@@ -0,0 +1,243 @@
+<?php namespace Illuminate\Console;
+
+use Symfony\Component\Console\Input\ArrayInput;
+use Symfony\Component\Console\Output\NullOutput;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Command\Command as SymfonyCommand;
+
+class Application extends \Symfony\Component\Console\Application {
+
+	/**
+	 * The exception handler instance.
+	 *
+	 * @var \Illuminate\Exception\Handler
+	 */
+	protected $exceptionHandler;
+
+	/**
+	 * The Laravel application instance.
+	 *
+	 * @var \Illuminate\Foundation\Application
+	 */
+	protected $laravel;
+
+	/**
+	 * Create and boot a new Console application.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $app
+	 * @return \Illuminate\Console\Application
+	 */
+	public static function start($app)
+	{
+		return static::make($app)->boot();
+	}
+
+	/**
+	 * Create a new Console application.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $app
+	 * @return \Illuminate\Console\Application
+	 */
+	public static function make($app)
+	{
+		$app->boot();
+
+		$console = with($console = new static('Laravel Framework', $app::VERSION))
+								->setLaravel($app)
+								->setExceptionHandler($app['exception'])
+								->setAutoExit(false);
+
+		$app->instance('artisan', $console);
+
+		return $console;
+	}
+
+	/**
+	 * Boot the Console application.
+	 *
+	 * @return $this
+	 */
+	public function boot()
+	{
+		$path = $this->laravel['path'].'/start/artisan.php';
+
+		if (file_exists($path))
+		{
+			require $path;
+		}
+
+		// If the event dispatcher is set on the application, we will fire an event
+		// with the Artisan instance to provide each listener the opportunity to
+		// register their commands on this application before it gets started.
+		if (isset($this->laravel['events']))
+		{
+			$this->laravel['events']
+					->fire('artisan.start', array($this));
+		}
+
+		return $this;
+	}
+
+	/**
+	 * Run an Artisan console command by name.
+	 *
+	 * @param  string  $command
+	 * @param  array   $parameters
+	 * @param  \Symfony\Component\Console\Output\OutputInterface  $output
+	 * @return void
+	 */
+	public function call($command, array $parameters = array(), OutputInterface $output = null)
+	{
+		$parameters['command'] = $command;
+
+		// Unless an output interface implementation was specifically passed to us we
+		// will use the "NullOutput" implementation by default to keep any writing
+		// suppressed so it doesn't leak out to the browser or any other source.
+		$output = $output ?: new NullOutput;
+
+		$input = new ArrayInput($parameters);
+
+		return $this->find($command)->run($input, $output);
+	}
+
+	/**
+	 * Add a command to the console.
+	 *
+	 * @param  \Symfony\Component\Console\Command\Command  $command
+	 * @return \Symfony\Component\Console\Command\Command
+	 */
+	public function add(SymfonyCommand $command)
+	{
+		if ($command instanceof Command)
+		{
+			$command->setLaravel($this->laravel);
+		}
+
+		return $this->addToParent($command);
+	}
+
+	/**
+	 * Add the command to the parent instance.
+	 *
+	 * @param  \Symfony\Component\Console\Command\Command  $command
+	 * @return \Symfony\Component\Console\Command\Command
+	 */
+	protected function addToParent(SymfonyCommand $command)
+	{
+		return parent::add($command);
+	}
+
+	/**
+	 * Add a command, resolving through the application.
+	 *
+	 * @param  string  $command
+	 * @return \Symfony\Component\Console\Command\Command
+	 */
+	public function resolve($command)
+	{
+		return $this->add($this->laravel[$command]);
+	}
+
+	/**
+	 * Resolve an array of commands through the application.
+	 *
+	 * @param  array|mixed  $commands
+	 * @return void
+	 */
+	public function resolveCommands($commands)
+	{
+		$commands = is_array($commands) ? $commands : func_get_args();
+
+		foreach ($commands as $command)
+		{
+			$this->resolve($command);
+		}
+	}
+
+	/**
+	 * Get the default input definitions for the applications.
+	 *
+	 * @return \Symfony\Component\Console\Input\InputDefinition
+	 */
+	protected function getDefaultInputDefinition()
+	{
+		$definition = parent::getDefaultInputDefinition();
+
+		$definition->addOption($this->getEnvironmentOption());
+
+		return $definition;
+	}
+
+	/**
+	 * Get the global environment option for the definition.
+	 *
+	 * @return \Symfony\Component\Console\Input\InputOption
+	 */
+	protected function getEnvironmentOption()
+	{
+		$message = 'The environment the command should run under.';
+
+		return new InputOption('--env', null, InputOption::VALUE_OPTIONAL, $message);
+	}
+
+	/**
+	 * Render the given exception.
+	 *
+	 * @param  \Exception  $e
+	 * @param  \Symfony\Component\Console\Output\OutputInterface  $output
+	 * @return void
+	 */
+	public function renderException($e, $output)
+	{
+		// If we have an exception handler instance, we will call that first in case
+		// it has some handlers that need to be run first. We will pass "true" as
+		// the second parameter to indicate that it's handling a console error.
+		if (isset($this->exceptionHandler))
+		{
+			$this->exceptionHandler->handleConsole($e);
+		}
+
+		parent::renderException($e, $output);
+	}
+
+	/**
+	 * Set the exception handler instance.
+	 *
+	 * @param  \Illuminate\Exception\Handler  $handler
+	 * @return $this
+	 */
+	public function setExceptionHandler($handler)
+	{
+		$this->exceptionHandler = $handler;
+
+		return $this;
+	}
+
+	/**
+	 * Set the Laravel application instance.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $laravel
+	 * @return $this
+	 */
+	public function setLaravel($laravel)
+	{
+		$this->laravel = $laravel;
+
+		return $this;
+	}
+
+	/**
+	 * Set whether the Console app should auto-exit when done.
+	 *
+	 * @param  bool  $boolean
+	 * @return $this
+	 */
+	public function setAutoExit($boolean)
+	{
+		parent::setAutoExit($boolean);
+
+		return $this;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Console/Command.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Console/Command.php b/vendor/laravel/framework/src/Illuminate/Console/Command.php
new file mode 100755
index 0000000..a2a4ca3
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Console/Command.php
@@ -0,0 +1,384 @@
+<?php namespace Illuminate\Console;
+
+use Symfony\Component\Console\Helper\Table;
+use Symfony\Component\Console\Input\ArrayInput;
+use Symfony\Component\Console\Output\NullOutput;
+use Symfony\Component\Console\Question\Question;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Question\ChoiceQuestion;
+use Symfony\Component\Console\Question\ConfirmationQuestion;
+
+class Command extends \Symfony\Component\Console\Command\Command {
+
+	/**
+	 * The Laravel application instance.
+	 *
+	 * @var \Illuminate\Foundation\Application
+	 */
+	protected $laravel;
+
+	/**
+	 * The input interface implementation.
+	 *
+	 * @var \Symfony\Component\Console\Input\InputInterface
+	 */
+	protected $input;
+
+	/**
+	 * The output interface implementation.
+	 *
+	 * @var \Symfony\Component\Console\Output\OutputInterface
+	 */
+	protected $output;
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name;
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description;
+
+	/**
+	 * Create a new console command instance.
+	 *
+	 * @return void
+	 */
+	public function __construct()
+	{
+		parent::__construct($this->name);
+
+		// We will go ahead and set the name, description, and parameters on console
+		// commands just to make things a little easier on the developer. This is
+		// so they don't have to all be manually specified in the constructors.
+		$this->setDescription($this->description);
+
+		$this->specifyParameters();
+	}
+
+	/**
+	 * Specify the arguments and options on the command.
+	 *
+	 * @return void
+	 */
+	protected function specifyParameters()
+	{
+		// We will loop through all of the arguments and options for the command and
+		// set them all on the base command instance. This specifies what can get
+		// passed into these commands as "parameters" to control the execution.
+		foreach ($this->getArguments() as $arguments)
+		{
+			call_user_func_array(array($this, 'addArgument'), $arguments);
+		}
+
+		foreach ($this->getOptions() as $options)
+		{
+			call_user_func_array(array($this, 'addOption'), $options);
+		}
+	}
+
+	/**
+	 * Run the console command.
+	 *
+	 * @param  \Symfony\Component\Console\Input\InputInterface  $input
+	 * @param  \Symfony\Component\Console\Output\OutputInterface  $output
+	 * @return int
+	 */
+	public function run(InputInterface $input, OutputInterface $output)
+	{
+		$this->input = $input;
+
+		$this->output = $output;
+
+		return parent::run($input, $output);
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @param  \Symfony\Component\Console\Input\InputInterface  $input
+	 * @param  \Symfony\Component\Console\Output\OutputInterface  $output
+	 * @return mixed
+	 */
+	protected function execute(InputInterface $input, OutputInterface $output)
+	{
+		return $this->fire();
+	}
+
+	/**
+	 * Call another console command.
+	 *
+	 * @param  string  $command
+	 * @param  array   $arguments
+	 * @return int
+	 */
+	public function call($command, array $arguments = array())
+	{
+		$instance = $this->getApplication()->find($command);
+
+		$arguments['command'] = $command;
+
+		return $instance->run(new ArrayInput($arguments), $this->output);
+	}
+
+	/**
+	 * Call another console command silently.
+	 *
+	 * @param  string  $command
+	 * @param  array   $arguments
+	 * @return int
+	 */
+	public function callSilent($command, array $arguments = array())
+	{
+		$instance = $this->getApplication()->find($command);
+
+		$arguments['command'] = $command;
+
+		return $instance->run(new ArrayInput($arguments), new NullOutput);
+	}
+
+	/**
+	 * Get the value of a command argument.
+	 *
+	 * @param  string  $key
+	 * @return string|array
+	 */
+	public function argument($key = null)
+	{
+		if (is_null($key)) return $this->input->getArguments();
+
+		return $this->input->getArgument($key);
+	}
+
+	/**
+	 * Get the value of a command option.
+	 *
+	 * @param  string  $key
+	 * @return string|array
+	 */
+	public function option($key = null)
+	{
+		if (is_null($key)) return $this->input->getOptions();
+
+		return $this->input->getOption($key);
+	}
+
+	/**
+	 * Confirm a question with the user.
+	 *
+	 * @param  string  $question
+	 * @param  bool    $default
+	 * @return bool
+	 */
+	public function confirm($question, $default = false)
+	{
+		$helper = $this->getHelperSet()->get('question');
+
+		$question = new ConfirmationQuestion("<question>{$question}</question> ", $default);
+
+		return $helper->ask($this->input, $this->output, $question);
+	}
+
+	/**
+	 * Prompt the user for input.
+	 *
+	 * @param  string  $question
+	 * @param  string  $default
+	 * @return string
+	 */
+	public function ask($question, $default = null)
+	{
+		$helper = $this->getHelperSet()->get('question');
+
+		$question = new Question("<question>$question</question>", $default);
+
+		return $helper->ask($this->input, $this->output, $question);
+	}
+
+	/**
+	 * Prompt the user for input with auto completion.
+	 *
+	 * @param  string  $question
+	 * @param  array   $choices
+	 * @param  string  $default
+	 * @return string
+	 */
+	public function askWithCompletion($question, array $choices, $default = null)
+	{
+		$helper = $this->getHelperSet()->get('question');
+
+		$question = new Question("<question>$question</question>", $default);
+
+		$question->setAutocompleterValues($choices);
+
+		return $helper->ask($this->input, $this->output, $question);
+	}
+
+	/**
+	 * Prompt the user for input but hide the answer from the console.
+	 *
+	 * @param  string  $question
+	 * @param  bool    $fallback
+	 * @return string
+	 */
+	public function secret($question, $fallback = true)
+	{
+		$helper = $this->getHelperSet()->get('question');
+
+		$question = new Question("<question>$question</question>");
+
+		$question->setHidden(true)->setHiddenFallback($fallback);
+
+		return $helper->ask($this->input, $this->output, $question);
+	}
+
+	/**
+	 * Give the user a single choice from an array of answers.
+	 *
+	 * @param  string  $question
+	 * @param  array   $choices
+	 * @param  string  $default
+	 * @param  mixed   $attempts
+	 * @param  bool    $multiple
+	 * @return bool
+	 */
+	public function choice($question, array $choices, $default = null, $attempts = null, $multiple = null)
+	{
+		$helper = $this->getHelperSet()->get('question');
+
+		$question = new ChoiceQuestion("<question>$question</question>", $choices, $default);
+
+		$question->setMaxAttempts($attempts)->setMultiselect($multiple);
+
+		return $helper->ask($this->input, $this->output, $question);
+	}
+
+	/**
+	 * Format input to textual table
+	 *
+	 * @param  array   $headers
+	 * @param  array   $rows
+	 * @param  string  $style
+	 * @return void
+	 */
+	public function table(array $headers, array $rows, $style = 'default')
+	{
+		$table = new Table($this->output);
+
+		$table->setHeaders($headers)->setRows($rows)->setStyle($style)->render();
+	}
+
+	/**
+	 * Write a string as information output.
+	 *
+	 * @param  string  $string
+	 * @return void
+	 */
+	public function info($string)
+	{
+		$this->output->writeln("<info>$string</info>");
+	}
+
+	/**
+	 * Write a string as standard output.
+	 *
+	 * @param  string  $string
+	 * @return void
+	 */
+	public function line($string)
+	{
+		$this->output->writeln($string);
+	}
+
+	/**
+	 * Write a string as comment output.
+	 *
+	 * @param  string  $string
+	 * @return void
+	 */
+	public function comment($string)
+	{
+		$this->output->writeln("<comment>$string</comment>");
+	}
+
+	/**
+	 * Write a string as question output.
+	 *
+	 * @param  string  $string
+	 * @return void
+	 */
+	public function question($string)
+	{
+		$this->output->writeln("<question>$string</question>");
+	}
+
+	/**
+	 * Write a string as error output.
+	 *
+	 * @param  string  $string
+	 * @return void
+	 */
+	public function error($string)
+	{
+		$this->output->writeln("<error>$string</error>");
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array();
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array();
+	}
+
+	/**
+	 * Get the output implementation.
+	 *
+	 * @return \Symfony\Component\Console\Output\OutputInterface
+	 */
+	public function getOutput()
+	{
+		return $this->output;
+	}
+
+	/**
+	 * Get the Laravel application instance.
+	 *
+	 * @return \Illuminate\Foundation\Application
+	 */
+	public function getLaravel()
+	{
+		return $this->laravel;
+	}
+
+	/**
+	 * Set the Laravel application instance.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $laravel
+	 * @return void
+	 */
+	public function setLaravel($laravel)
+	{
+		$this->laravel = $laravel;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php b/vendor/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php
new file mode 100644
index 0000000..69a587a
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Console/ConfirmableTrait.php
@@ -0,0 +1,50 @@
+<?php namespace Illuminate\Console;
+
+use Closure;
+
+trait ConfirmableTrait {
+
+	/**
+	 * Confirm before proceeding with the action
+	 *
+	 * @param  string    $warning
+	 * @param  \Closure  $callback
+	 * @return bool
+	 */
+	public function confirmToProceed($warning = 'Application In Production!', Closure $callback = null)
+	{
+		$shouldConfirm = $callback ?: $this->getDefaultConfirmCallback();
+
+		if (call_user_func($shouldConfirm))
+		{
+			if ($this->option('force')) return true;
+
+			$this->comment(str_repeat('*', strlen($warning) + 12));
+			$this->comment('*     '.$warning.'     *');
+			$this->comment(str_repeat('*', strlen($warning) + 12));
+			$this->output->writeln('');
+
+			$confirmed = $this->confirm('Do you really wish to run this command?');
+
+			if ( ! $confirmed)
+			{
+				$this->comment('Command Cancelled!');
+
+				return false;
+			}
+		}
+
+		return true;
+	}
+
+	/**
+	 * Get the default confirmation callback.
+	 *
+	 * @return \Closure
+	 */
+	protected function getDefaultConfirmCallback()
+	{
+		return function() { return $this->getLaravel()->environment() == 'production'; };
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Console/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Console/composer.json b/vendor/laravel/framework/src/Illuminate/Console/composer.json
new file mode 100755
index 0000000..c35c6ce
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Console/composer.json
@@ -0,0 +1,26 @@
+{
+    "name": "illuminate/console",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Taylor Otwell",
+            "email": "taylorotwell@gmail.com"
+        }
+    ],
+    "require": {
+        "php": ">=5.4.0",
+        "symfony/console": "2.5.*"
+    },
+    "autoload": {
+        "psr-0": {
+            "Illuminate\\Console": ""
+        }
+    },
+    "target-dir": "Illuminate/Console",
+    "extra": {
+        "branch-alias": {
+            "dev-master": "4.2-dev"
+        }
+    },
+    "minimum-stability": "dev"
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Container/BindingResolutionException.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Container/BindingResolutionException.php b/vendor/laravel/framework/src/Illuminate/Container/BindingResolutionException.php
new file mode 100644
index 0000000..36975df
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Container/BindingResolutionException.php
@@ -0,0 +1,3 @@
+<?php namespace Illuminate\Container;
+
+class BindingResolutionException extends \Exception {}