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:32:49 UTC

[02/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/View/Compilers/Compiler.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/Compilers/Compiler.php b/vendor/laravel/framework/src/Illuminate/View/Compilers/Compiler.php
new file mode 100755
index 0000000..81034aa
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/Compilers/Compiler.php
@@ -0,0 +1,68 @@
+<?php namespace Illuminate\View\Compilers;
+
+use Illuminate\Filesystem\Filesystem;
+
+abstract class Compiler {
+
+	/**
+	 * The Filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * Get the cache path for the compiled views.
+	 *
+	 * @var string
+	 */
+	protected $cachePath;
+
+	/**
+	 * Create a new compiler instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @param  string  $cachePath
+	 * @return void
+	 */
+	public function __construct(Filesystem $files, $cachePath)
+	{
+		$this->files = $files;
+		$this->cachePath = $cachePath;
+	}
+
+	/**
+	 * Get the path to the compiled version of a view.
+	 *
+	 * @param  string  $path
+	 * @return string
+	 */
+	public function getCompiledPath($path)
+	{
+		return $this->cachePath.'/'.md5($path);
+	}
+
+	/**
+	 * Determine if the view at the given path is expired.
+	 *
+	 * @param  string  $path
+	 * @return bool
+	 */
+	public function isExpired($path)
+	{
+		$compiled = $this->getCompiledPath($path);
+
+		// If the compiled file doesn't exist we will indicate that the view is expired
+		// so that it can be re-compiled. Else, we will verify the last modification
+		// of the views is less than the modification times of the compiled views.
+		if ( ! $this->cachePath || ! $this->files->exists($compiled))
+		{
+			return true;
+		}
+
+		$lastModified = $this->files->lastModified($path);
+
+		return $lastModified >= $this->files->lastModified($compiled);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php b/vendor/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php
new file mode 100755
index 0000000..85034b0
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/Compilers/CompilerInterface.php
@@ -0,0 +1,29 @@
+<?php namespace Illuminate\View\Compilers;
+
+interface CompilerInterface {
+
+	/**
+	 * Get the path to the compiled version of a view.
+	 *
+	 * @param  string  $path
+	 * @return string
+	 */
+	public function getCompiledPath($path);
+
+	/**
+	 * Determine if the given view is expired.
+	 *
+	 * @param  string  $path
+	 * @return bool
+	 */
+	public function isExpired($path);
+
+	/**
+	 * Compile the view at the given path.
+	 *
+	 * @param  string  $path
+	 * @return void
+	 */
+	public function compile($path);
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php b/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php
new file mode 100755
index 0000000..6c9398e
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php
@@ -0,0 +1,100 @@
+<?php namespace Illuminate\View\Engines;
+
+use Illuminate\View\Compilers\CompilerInterface;
+
+class CompilerEngine extends PhpEngine {
+
+	/**
+	 * The Blade compiler instance.
+	 *
+	 * @var \Illuminate\View\Compilers\CompilerInterface
+	 */
+	protected $compiler;
+
+	/**
+	 * A stack of the last compiled templates.
+	 *
+	 * @var array
+	 */
+	protected $lastCompiled = array();
+
+	/**
+	 * Create a new Blade view engine instance.
+	 *
+	 * @param  \Illuminate\View\Compilers\CompilerInterface  $compiler
+	 * @return void
+	 */
+	public function __construct(CompilerInterface $compiler)
+	{
+		$this->compiler = $compiler;
+	}
+
+	/**
+	 * Get the evaluated contents of the view.
+	 *
+	 * @param  string  $path
+	 * @param  array   $data
+	 * @return string
+	 */
+	public function get($path, array $data = array())
+	{
+		$this->lastCompiled[] = $path;
+
+		// If this given view has expired, which means it has simply been edited since
+		// it was last compiled, we will re-compile the views so we can evaluate a
+		// fresh copy of the view. We'll pass the compiler the path of the view.
+		if ($this->compiler->isExpired($path))
+		{
+			$this->compiler->compile($path);
+		}
+
+		$compiled = $this->compiler->getCompiledPath($path);
+
+		// Once we have the path to the compiled file, we will evaluate the paths with
+		// typical PHP just like any other templates. We also keep a stack of views
+		// which have been rendered for right exception messages to be generated.
+		$results = $this->evaluatePath($compiled, $data);
+
+		array_pop($this->lastCompiled);
+
+		return $results;
+	}
+
+	/**
+	 * Handle a view exception.
+	 *
+	 * @param  \Exception  $e
+	 * @param  int  $obLevel
+	 * @return void
+	 *
+	 * @throws $e
+	 */
+	protected function handleViewException($e, $obLevel)
+	{
+		$e = new \ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
+
+		parent::handleViewException($e, $obLevel);
+	}
+
+	/**
+	 * Get the exception message for an exception.
+	 *
+	 * @param  \Exception  $e
+	 * @return string
+	 */
+	protected function getMessage($e)
+	{
+		return $e->getMessage().' (View: '.realpath(last($this->lastCompiled)).')';
+	}
+
+	/**
+	 * Get the compiler implementation.
+	 *
+	 * @return \Illuminate\View\Compilers\CompilerInterface
+	 */
+	public function getCompiler()
+	{
+		return $this->compiler;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/Engines/Engine.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/Engines/Engine.php b/vendor/laravel/framework/src/Illuminate/View/Engines/Engine.php
new file mode 100755
index 0000000..4ea9796
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/Engines/Engine.php
@@ -0,0 +1,22 @@
+<?php namespace Illuminate\View\Engines;
+
+abstract class Engine {
+
+	/**
+	 * The view that was last to be rendered.
+	 *
+	 * @var string
+	 */
+	protected $lastRendered;
+
+	/**
+	 * Get the last view that was rendered.
+	 *
+	 * @return string
+	 */
+	public function getLastRendered()
+	{
+		return $this->lastRendered;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/Engines/EngineInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/Engines/EngineInterface.php b/vendor/laravel/framework/src/Illuminate/View/Engines/EngineInterface.php
new file mode 100755
index 0000000..5368734
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/Engines/EngineInterface.php
@@ -0,0 +1,14 @@
+<?php namespace Illuminate\View\Engines;
+
+interface EngineInterface {
+
+	/**
+	 * Get the evaluated contents of the view.
+	 *
+	 * @param  string  $path
+	 * @param  array   $data
+	 * @return string
+	 */
+	public function get($path, array $data = array());
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php b/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php
new file mode 100755
index 0000000..8317da5
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php
@@ -0,0 +1,57 @@
+<?php namespace Illuminate\View\Engines;
+
+use Closure;
+
+class EngineResolver {
+
+	/**
+	 * The array of engine resolvers.
+	 *
+	 * @var array
+	 */
+	protected $resolvers = array();
+
+	/**
+	 * The resolved engine instances.
+	 *
+	 * @var array
+	 */
+	protected $resolved = array();
+
+	/**
+	 * Register a new engine resolver.
+	 *
+	 * The engine string typically corresponds to a file extension.
+	 *
+	 * @param  string   $engine
+	 * @param  \Closure  $resolver
+	 * @return void
+	 */
+	public function register($engine, Closure $resolver)
+	{
+		$this->resolvers[$engine] = $resolver;
+	}
+
+	/**
+	 * Resolver an engine instance by name.
+	 *
+	 * @param  string  $engine
+	 * @return \Illuminate\View\Engines\EngineInterface
+	 * @throws \InvalidArgumentException
+	 */
+	public function resolve($engine)
+	{
+		if (isset($this->resolved[$engine]))
+		{
+			return $this->resolved[$engine];
+		}
+
+		if (isset($this->resolvers[$engine]))
+		{
+			return $this->resolved[$engine] = call_user_func($this->resolvers[$engine]);
+		}
+
+		throw new \InvalidArgumentException("Engine $engine not found.");
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php b/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php
new file mode 100755
index 0000000..5caf580
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php
@@ -0,0 +1,66 @@
+<?php namespace Illuminate\View\Engines;
+
+class PhpEngine implements EngineInterface {
+
+	/**
+	 * Get the evaluated contents of the view.
+	 *
+	 * @param  string  $path
+	 * @param  array   $data
+	 * @return string
+	 */
+	public function get($path, array $data = array())
+	{
+		return $this->evaluatePath($path, $data);
+	}
+
+	/**
+	 * Get the evaluated contents of the view at the given path.
+	 *
+	 * @param  string  $__path
+	 * @param  array   $__data
+	 * @return string
+	 */
+	protected function evaluatePath($__path, $__data)
+	{
+		$obLevel = ob_get_level();
+
+		ob_start();
+
+		extract($__data);
+
+		// We'll evaluate the contents of the view inside a try/catch block so we can
+		// flush out any stray output that might get out before an error occurs or
+		// an exception is thrown. This prevents any partial views from leaking.
+		try
+		{
+			include $__path;
+		}
+		catch (\Exception $e)
+		{
+			$this->handleViewException($e, $obLevel);
+		}
+
+		return ltrim(ob_get_clean());
+	}
+
+	/**
+	 * Handle a view exception.
+	 *
+	 * @param  \Exception  $e
+	 * @param  int  $obLevel
+	 * @return void
+	 *
+	 * @throws $e
+	 */
+	protected function handleViewException($e, $obLevel)
+	{
+		while (ob_get_level() > $obLevel)
+		{
+			ob_end_clean();
+		}
+
+		throw $e;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/Factory.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/Factory.php b/vendor/laravel/framework/src/Illuminate/View/Factory.php
new file mode 100755
index 0000000..18d41a7
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/Factory.php
@@ -0,0 +1,842 @@
+<?php namespace Illuminate\View;
+
+use Closure;
+use Illuminate\Events\Dispatcher;
+use Illuminate\Container\Container;
+use Illuminate\View\Engines\EngineResolver;
+use Illuminate\Support\Contracts\ArrayableInterface as Arrayable;
+
+class Factory {
+
+	/**
+	 * The engine implementation.
+	 *
+	 * @var \Illuminate\View\Engines\EngineResolver
+	 */
+	protected $engines;
+
+	/**
+	 * The view finder implementation.
+	 *
+	 * @var \Illuminate\View\ViewFinderInterface
+	 */
+	protected $finder;
+
+	/**
+	 * The event dispatcher instance.
+	 *
+	 * @var \Illuminate\Events\Dispatcher
+	 */
+	protected $events;
+
+	/**
+	 * The IoC container instance.
+	 *
+	 * @var \Illuminate\Container\Container
+	 */
+	protected $container;
+
+	/**
+	 * Data that should be available to all templates.
+	 *
+	 * @var array
+	 */
+	protected $shared = array();
+
+	/**
+	 * Array of registered view name aliases.
+	 *
+	 * @var array
+	 */
+	protected $aliases = array();
+
+	/**
+	 * All of the registered view names.
+	 *
+	 * @var array
+	 */
+	protected $names = array();
+
+	/**
+	 * The extension to engine bindings.
+	 *
+	 * @var array
+	 */
+	protected $extensions = array('blade.php' => 'blade', 'php' => 'php');
+
+	/**
+	 * The view composer events.
+	 *
+	 * @var array
+	 */
+	protected $composers = array();
+
+	/**
+	 * All of the finished, captured sections.
+	 *
+	 * @var array
+	 */
+	protected $sections = array();
+
+	/**
+	 * The stack of in-progress sections.
+	 *
+	 * @var array
+	 */
+	protected $sectionStack = array();
+
+	/**
+	 * The number of active rendering operations.
+	 *
+	 * @var int
+	 */
+	protected $renderCount = 0;
+
+	/**
+	 * Create a new view factory instance.
+	 *
+	 * @param  \Illuminate\View\Engines\EngineResolver  $engines
+	 * @param  \Illuminate\View\ViewFinderInterface  $finder
+	 * @param  \Illuminate\Events\Dispatcher  $events
+	 * @return void
+	 */
+	public function __construct(EngineResolver $engines, ViewFinderInterface $finder, Dispatcher $events)
+	{
+		$this->finder = $finder;
+		$this->events = $events;
+		$this->engines = $engines;
+
+		$this->share('__env', $this);
+	}
+
+	/**
+	 * Get the evaluated view contents for the given view.
+	 *
+	 * @param  string  $view
+	 * @param  array   $data
+	 * @param  array   $mergeData
+	 * @return \Illuminate\View\View
+	 */
+	public function make($view, $data = array(), $mergeData = array())
+	{
+		if (isset($this->aliases[$view])) $view = $this->aliases[$view];
+
+		$path = $this->finder->find($view);
+
+		$data = array_merge($mergeData, $this->parseData($data));
+
+		$this->callCreator($view = new View($this, $this->getEngineFromPath($path), $view, $path, $data));
+
+		return $view;
+	}
+
+	/**
+	 * Parse the given data into a raw array.
+	 *
+	 * @param  mixed  $data
+	 * @return array
+	 */
+	protected function parseData($data)
+	{
+		return $data instanceof Arrayable ? $data->toArray() : $data;
+	}
+
+	/**
+	 * Get the evaluated view contents for a named view.
+	 *
+	 * @param  string  $view
+	 * @param  mixed   $data
+	 * @return \Illuminate\View\View
+	 */
+	public function of($view, $data = array())
+	{
+		return $this->make($this->names[$view], $data);
+	}
+
+	/**
+	 * Register a named view.
+	 *
+	 * @param  string  $view
+	 * @param  string  $name
+	 * @return void
+	 */
+	public function name($view, $name)
+	{
+		$this->names[$name] = $view;
+	}
+
+	/**
+	 * Add an alias for a view.
+	 *
+	 * @param  string  $view
+	 * @param  string  $alias
+	 * @return void
+	 */
+	public function alias($view, $alias)
+	{
+		$this->aliases[$alias] = $view;
+	}
+
+	/**
+	 * Determine if a given view exists.
+	 *
+	 * @param  string  $view
+	 * @return bool
+	 */
+	public function exists($view)
+	{
+		try
+		{
+			$this->finder->find($view);
+		}
+		catch (\InvalidArgumentException $e)
+		{
+			return false;
+		}
+
+		return true;
+	}
+
+	/**
+	 * Get the rendered contents of a partial from a loop.
+	 *
+	 * @param  string  $view
+	 * @param  array   $data
+	 * @param  string  $iterator
+	 * @param  string  $empty
+	 * @return string
+	 */
+	public function renderEach($view, $data, $iterator, $empty = 'raw|')
+	{
+		$result = '';
+
+		// If is actually data in the array, we will loop through the data and append
+		// an instance of the partial view to the final result HTML passing in the
+		// iterated value of this data array, allowing the views to access them.
+		if (count($data) > 0)
+		{
+			foreach ($data as $key => $value)
+			{
+				$data = array('key' => $key, $iterator => $value);
+
+				$result .= $this->make($view, $data)->render();
+			}
+		}
+
+		// If there is no data in the array, we will render the contents of the empty
+		// view. Alternatively, the "empty view" could be a raw string that begins
+		// with "raw|" for convenience and to let this know that it is a string.
+		else
+		{
+			if (starts_with($empty, 'raw|'))
+			{
+				$result = substr($empty, 4);
+			}
+			else
+			{
+				$result = $this->make($empty)->render();
+			}
+		}
+
+		return $result;
+	}
+
+	/**
+	 * Get the appropriate view engine for the given path.
+	 *
+	 * @param  string  $path
+	 * @return \Illuminate\View\Engines\EngineInterface
+	 *
+	 * @throws \InvalidArgumentException
+	 */
+	public function getEngineFromPath($path)
+	{
+		if ( ! $extension = $this->getExtension($path))
+		{
+			throw new \InvalidArgumentException("Unrecognized extension in file: $path");
+		}
+
+		$engine = $this->extensions[$extension];
+
+		return $this->engines->resolve($engine);
+	}
+
+	/**
+	 * Get the extension used by the view file.
+	 *
+	 * @param  string  $path
+	 * @return string
+	 */
+	protected function getExtension($path)
+	{
+		$extensions = array_keys($this->extensions);
+
+		return array_first($extensions, function($key, $value) use ($path)
+		{
+			return ends_with($path, $value);
+		});
+	}
+
+	/**
+	 * Add a piece of shared data to the environment.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function share($key, $value = null)
+	{
+		if ( ! is_array($key)) return $this->shared[$key] = $value;
+
+		foreach ($key as $innerKey => $innerValue)
+		{
+			$this->share($innerKey, $innerValue);
+		}
+	}
+
+	/**
+	 * Register a view creator event.
+	 *
+	 * @param  array|string     $views
+	 * @param  \Closure|string  $callback
+	 * @return array
+	 */
+	public function creator($views, $callback)
+	{
+		$creators = array();
+
+		foreach ((array) $views as $view)
+		{
+			$creators[] = $this->addViewEvent($view, $callback, 'creating: ');
+		}
+
+		return $creators;
+	}
+
+	/**
+	 * Register multiple view composers via an array.
+	 *
+	 * @param  array  $composers
+	 * @return array
+	 */
+	public function composers(array $composers)
+	{
+		$registered = array();
+
+		foreach ($composers as $callback => $views)
+		{
+			$registered = array_merge($registered, $this->composer($views, $callback));
+		}
+
+		return $registered;
+	}
+
+	/**
+	 * Register a view composer event.
+	 *
+	 * @param  array|string  $views
+	 * @param  \Closure|string  $callback
+	 * @param  int|null  $priority
+	 * @return array
+	 */
+	public function composer($views, $callback, $priority = null)
+	{
+		$composers = array();
+
+		foreach ((array) $views as $view)
+		{
+			$composers[] = $this->addViewEvent($view, $callback, 'composing: ', $priority);
+		}
+
+		return $composers;
+	}
+
+	/**
+	 * Add an event for a given view.
+	 *
+	 * @param  string  $view
+	 * @param  \Closure|string  $callback
+	 * @param  string  $prefix
+	 * @param  int|null  $priority
+	 * @return \Closure
+	 */
+	protected function addViewEvent($view, $callback, $prefix = 'composing: ', $priority = null)
+	{
+		if ($callback instanceof Closure)
+		{
+			$this->addEventListener($prefix.$view, $callback, $priority);
+
+			return $callback;
+		}
+		elseif (is_string($callback))
+		{
+			return $this->addClassEvent($view, $callback, $prefix, $priority);
+		}
+	}
+
+	/**
+	 * Register a class based view composer.
+	 *
+	 * @param  string    $view
+	 * @param  string    $class
+	 * @param  string    $prefix
+	 * @param  int|null  $priority
+	 * @return \Closure
+	 */
+	protected function addClassEvent($view, $class, $prefix, $priority = null)
+	{
+		$name = $prefix.$view;
+
+		// When registering a class based view "composer", we will simply resolve the
+		// classes from the application IoC container then call the compose method
+		// on the instance. This allows for convenient, testable view composers.
+		$callback = $this->buildClassEventCallback($class, $prefix);
+
+		$this->addEventListener($name, $callback, $priority);
+
+		return $callback;
+	}
+
+	/**
+	 * Add a listener to the event dispatcher.
+	 *
+	 * @param  string   $name
+	 * @param  \Closure $callback
+	 * @param  int      $priority
+	 * @return void
+	 */
+	protected function addEventListener($name, $callback, $priority = null)
+	{
+		if (is_null($priority))
+		{
+			$this->events->listen($name, $callback);
+		}
+		else
+		{
+			$this->events->listen($name, $callback, $priority);
+		}
+	}
+
+	/**
+	 * Build a class based container callback Closure.
+	 *
+	 * @param  string  $class
+	 * @param  string  $prefix
+	 * @return \Closure
+	 */
+	protected function buildClassEventCallback($class, $prefix)
+	{
+		$container = $this->container;
+
+		list($class, $method) = $this->parseClassEvent($class, $prefix);
+
+		// Once we have the class and method name, we can build the Closure to resolve
+		// the instance out of the IoC container and call the method on it with the
+		// given arguments that are passed to the Closure as the composer's data.
+		return function() use ($class, $method, $container)
+		{
+			$callable = array($container->make($class), $method);
+
+			return call_user_func_array($callable, func_get_args());
+		};
+	}
+
+	/**
+	 * Parse a class based composer name.
+	 *
+	 * @param  string  $class
+	 * @param  string  $prefix
+	 * @return array
+	 */
+	protected function parseClassEvent($class, $prefix)
+	{
+		if (str_contains($class, '@'))
+		{
+			return explode('@', $class);
+		}
+
+		$method = str_contains($prefix, 'composing') ? 'compose' : 'create';
+
+		return array($class, $method);
+	}
+
+	/**
+	 * Call the composer for a given view.
+	 *
+	 * @param  \Illuminate\View\View  $view
+	 * @return void
+	 */
+	public function callComposer(View $view)
+	{
+		$this->events->fire('composing: '.$view->getName(), array($view));
+	}
+
+	/**
+	 * Call the creator for a given view.
+	 *
+	 * @param  \Illuminate\View\View  $view
+	 * @return void
+	 */
+	public function callCreator(View $view)
+	{
+		$this->events->fire('creating: '.$view->getName(), array($view));
+	}
+
+	/**
+	 * Start injecting content into a section.
+	 *
+	 * @param  string  $section
+	 * @param  string  $content
+	 * @return void
+	 */
+	public function startSection($section, $content = '')
+	{
+		if ($content === '')
+		{
+			if (ob_start())
+			{
+				$this->sectionStack[] = $section;
+			}
+		}
+		else
+		{
+			$this->extendSection($section, $content);
+		}
+	}
+
+	/**
+	 * Inject inline content into a section.
+	 *
+	 * @param  string  $section
+	 * @param  string  $content
+	 * @return void
+	 */
+	public function inject($section, $content)
+	{
+		return $this->startSection($section, $content);
+	}
+
+	/**
+	 * Stop injecting content into a section and return its contents.
+	 *
+	 * @return string
+	 */
+	public function yieldSection()
+	{
+		return $this->yieldContent($this->stopSection());
+	}
+
+	/**
+	 * Stop injecting content into a section.
+	 *
+	 * @param  bool  $overwrite
+	 * @return string
+	 */
+	public function stopSection($overwrite = false)
+	{
+		$last = array_pop($this->sectionStack);
+
+		if ($overwrite)
+		{
+			$this->sections[$last] = ob_get_clean();
+		}
+		else
+		{
+			$this->extendSection($last, ob_get_clean());
+		}
+
+		return $last;
+	}
+
+	/**
+	 * Stop injecting content into a section and append it.
+	 *
+	 * @return string
+	 */
+	public function appendSection()
+	{
+		$last = array_pop($this->sectionStack);
+
+		if (isset($this->sections[$last]))
+		{
+			$this->sections[$last] .= ob_get_clean();
+		}
+		else
+		{
+			$this->sections[$last] = ob_get_clean();
+		}
+
+		return $last;
+	}
+
+	/**
+	 * Append content to a given section.
+	 *
+	 * @param  string  $section
+	 * @param  string  $content
+	 * @return void
+	 */
+	protected function extendSection($section, $content)
+	{
+		if (isset($this->sections[$section]))
+		{
+			$content = str_replace('@parent', $content, $this->sections[$section]);
+		}
+
+		$this->sections[$section] = $content;
+	}
+
+	/**
+	 * Get the string contents of a section.
+	 *
+	 * @param  string  $section
+	 * @param  string  $default
+	 * @return string
+	 */
+	public function yieldContent($section, $default = '')
+	{
+		$sectionContent = $default;
+
+		if (isset($this->sections[$section]))
+		{
+			$sectionContent = $this->sections[$section];
+		}
+
+		return str_replace('@parent', '', $sectionContent);
+	}
+
+	/**
+	 * Flush all of the section contents.
+	 *
+	 * @return void
+	 */
+	public function flushSections()
+	{
+		$this->sections = array();
+
+		$this->sectionStack = array();
+	}
+
+	/**
+	 * Flush all of the section contents if done rendering.
+	 *
+	 * @return void
+	 */
+	public function flushSectionsIfDoneRendering()
+	{
+		if ($this->doneRendering()) $this->flushSections();
+	}
+
+	/**
+	 * Increment the rendering counter.
+	 *
+	 * @return void
+	 */
+	public function incrementRender()
+	{
+		$this->renderCount++;
+	}
+
+	/**
+	 * Decrement the rendering counter.
+	 *
+	 * @return void
+	 */
+	public function decrementRender()
+	{
+		$this->renderCount--;
+	}
+
+	/**
+	 * Check if there are no active render operations.
+	 *
+	 * @return bool
+	 */
+	public function doneRendering()
+	{
+		return $this->renderCount == 0;
+	}
+
+	/**
+	 * Add a location to the array of view locations.
+	 *
+	 * @param  string  $location
+	 * @return void
+	 */
+	public function addLocation($location)
+	{
+		$this->finder->addLocation($location);
+	}
+
+	/**
+	 * Add a new namespace to the loader.
+	 *
+	 * @param  string  $namespace
+	 * @param  string|array  $hints
+	 * @return void
+	 */
+	public function addNamespace($namespace, $hints)
+	{
+		$this->finder->addNamespace($namespace, $hints);
+	}
+
+	/**
+	 * Prepend a new namespace to the loader.
+	 *
+	 * @param  string  $namespace
+	 * @param  string|array  $hints
+	 * @return void
+	 */
+	public function prependNamespace($namespace, $hints)
+	{
+		$this->finder->prependNamespace($namespace, $hints);
+	}
+
+	/**
+	 * Register a valid view extension and its engine.
+	 *
+	 * @param  string    $extension
+	 * @param  string    $engine
+	 * @param  \Closure  $resolver
+	 * @return void
+	 */
+	public function addExtension($extension, $engine, $resolver = null)
+	{
+		$this->finder->addExtension($extension);
+
+		if (isset($resolver))
+		{
+			$this->engines->register($engine, $resolver);
+		}
+
+		unset($this->extensions[$extension]);
+
+		$this->extensions = array_merge(array($extension => $engine), $this->extensions);
+	}
+
+	/**
+	 * Get the extension to engine bindings.
+	 *
+	 * @return array
+	 */
+	public function getExtensions()
+	{
+		return $this->extensions;
+	}
+
+	/**
+	 * Get the engine resolver instance.
+	 *
+	 * @return \Illuminate\View\Engines\EngineResolver
+	 */
+	public function getEngineResolver()
+	{
+		return $this->engines;
+	}
+
+	/**
+	 * Get the view finder instance.
+	 *
+	 * @return \Illuminate\View\ViewFinderInterface
+	 */
+	public function getFinder()
+	{
+		return $this->finder;
+	}
+
+	/**
+	 * Set the view finder instance.
+	 *
+	 * @param  \Illuminate\View\ViewFinderInterface  $finder
+	 * @return void
+	 */
+	public function setFinder(ViewFinderInterface $finder)
+	{
+		$this->finder = $finder;
+	}
+
+	/**
+	 * Get the event dispatcher instance.
+	 *
+	 * @return \Illuminate\Events\Dispatcher
+	 */
+	public function getDispatcher()
+	{
+		return $this->events;
+	}
+
+	/**
+	 * Set the event dispatcher instance.
+	 *
+	 * @param  \Illuminate\Events\Dispatcher
+	 * @return void
+	 */
+	public function setDispatcher(Dispatcher $events)
+	{
+		$this->events = $events;
+	}
+
+	/**
+	 * Get the IoC container instance.
+	 *
+	 * @return \Illuminate\Container\Container
+	 */
+	public function getContainer()
+	{
+		return $this->container;
+	}
+
+	/**
+	 * Set the IoC container instance.
+	 *
+	 * @param  \Illuminate\Container\Container  $container
+	 * @return void
+	 */
+	public function setContainer(Container $container)
+	{
+		$this->container = $container;
+	}
+
+	/**
+	 * Get an item from the shared data.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $default
+	 * @return mixed
+	 */
+	public function shared($key, $default = null)
+	{
+		return array_get($this->shared, $key, $default);
+	}
+
+	/**
+	 * Get all of the shared data for the environment.
+	 *
+	 * @return array
+	 */
+	public function getShared()
+	{
+		return $this->shared;
+	}
+
+	/**
+	 * Get the entire array of sections.
+	 *
+	 * @return array
+	 */
+	public function getSections()
+	{
+		return $this->sections;
+	}
+
+	/**
+	 * Get all of the registered named views in environment.
+	 *
+	 * @return array
+	 */
+	public function getNames()
+	{
+		return $this->names;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php b/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php
new file mode 100755
index 0000000..e593f4c
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/FileViewFinder.php
@@ -0,0 +1,280 @@
+<?php namespace Illuminate\View;
+
+use Illuminate\Filesystem\Filesystem;
+
+class FileViewFinder implements ViewFinderInterface {
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * The array of active view paths.
+	 *
+	 * @var array
+	 */
+	protected $paths;
+
+	/**
+	 * The array of views that have been located.
+	 *
+	 * @var array
+	 */
+	protected $views = array();
+
+	/**
+	 * The namespace to file path hints.
+	 *
+	 * @var array
+	 */
+	protected $hints = array();
+
+	/**
+	 * Register a view extension with the finder.
+	 *
+	 * @var array
+	 */
+	protected $extensions = array('blade.php', 'php');
+
+	/**
+	 * Hint path delimiter value.
+	 *
+	 * @var string
+	 */
+	const HINT_PATH_DELIMITER = '::';
+
+	/**
+	 * Create a new file view loader instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @param  array  $paths
+	 * @param  array  $extensions
+	 * @return void
+	 */
+	public function __construct(Filesystem $files, array $paths, array $extensions = null)
+	{
+		$this->files = $files;
+		$this->paths = $paths;
+
+		if (isset($extensions))
+		{
+			$this->extensions = $extensions;
+		}
+	}
+
+	/**
+	 * Get the fully qualified location of the view.
+	 *
+	 * @param  string  $name
+	 * @return string
+	 */
+	public function find($name)
+	{
+		if (isset($this->views[$name])) return $this->views[$name];
+
+		if ($this->hasHintInformation($name = trim($name)))
+		{
+			return $this->views[$name] = $this->findNamedPathView($name);
+		}
+
+		return $this->views[$name] = $this->findInPaths($name, $this->paths);
+	}
+
+	/**
+	 * Get the path to a template with a named path.
+	 *
+	 * @param  string  $name
+	 * @return string
+	 */
+	protected function findNamedPathView($name)
+	{
+		list($namespace, $view) = $this->getNamespaceSegments($name);
+
+		return $this->findInPaths($view, $this->hints[$namespace]);
+	}
+
+	/**
+	 * Get the segments of a template with a named path.
+	 *
+	 * @param  string  $name
+	 * @return array
+	 *
+	 * @throws \InvalidArgumentException
+	 */
+	protected function getNamespaceSegments($name)
+	{
+		$segments = explode(static::HINT_PATH_DELIMITER, $name);
+
+		if (count($segments) != 2)
+		{
+			throw new \InvalidArgumentException("View [$name] has an invalid name.");
+		}
+
+		if ( ! isset($this->hints[$segments[0]]))
+		{
+			throw new \InvalidArgumentException("No hint path defined for [{$segments[0]}].");
+		}
+
+		return $segments;
+	}
+
+	/**
+	 * Find the given view in the list of paths.
+	 *
+	 * @param  string  $name
+	 * @param  array   $paths
+	 * @return string
+	 *
+	 * @throws \InvalidArgumentException
+	 */
+	protected function findInPaths($name, $paths)
+	{
+		foreach ((array) $paths as $path)
+		{
+			foreach ($this->getPossibleViewFiles($name) as $file)
+			{
+				if ($this->files->exists($viewPath = $path.'/'.$file))
+				{
+					return $viewPath;
+				}
+			}
+		}
+
+		throw new \InvalidArgumentException("View [$name] not found.");
+	}
+
+	/**
+	 * Get an array of possible view files.
+	 *
+	 * @param  string  $name
+	 * @return array
+	 */
+	protected function getPossibleViewFiles($name)
+	{
+		return array_map(function($extension) use ($name)
+		{
+			return str_replace('.', '/', $name).'.'.$extension;
+
+		}, $this->extensions);
+	}
+
+	/**
+	 * Add a location to the finder.
+	 *
+	 * @param  string  $location
+	 * @return void
+	 */
+	public function addLocation($location)
+	{
+		$this->paths[] = $location;
+	}
+
+	/**
+	 * Add a namespace hint to the finder.
+	 *
+	 * @param  string  $namespace
+	 * @param  string|array  $hints
+	 * @return void
+	 */
+	public function addNamespace($namespace, $hints)
+	{
+		$hints = (array) $hints;
+
+		if (isset($this->hints[$namespace]))
+		{
+			$hints = array_merge($this->hints[$namespace], $hints);
+		}
+
+		$this->hints[$namespace] = $hints;
+	}
+
+	/**
+	 * Prepend a namespace hint to the finder.
+	 *
+	 * @param  string  $namespace
+	 * @param  string|array  $hints
+	 * @return void
+	 */
+	public function prependNamespace($namespace, $hints)
+	{
+		$hints = (array) $hints;
+
+		if (isset($this->hints[$namespace]))
+		{
+			$hints = array_merge($hints, $this->hints[$namespace]);
+		}
+
+		$this->hints[$namespace] = $hints;
+	}
+
+	/**
+	 * Register an extension with the view finder.
+	 *
+	 * @param  string  $extension
+	 * @return void
+	 */
+	public function addExtension($extension)
+	{
+		if (($index = array_search($extension, $this->extensions)) !== false)
+		{
+			unset($this->extensions[$index]);
+		}
+
+		array_unshift($this->extensions, $extension);
+	}
+
+	/**
+	 * Returns whether or not the view specify a hint information.
+	 *
+	 * @param  string  $name
+	 * @return boolean
+	 */
+	public function hasHintInformation($name)
+	{
+		return strpos($name, static::HINT_PATH_DELIMITER) > 0;
+	}
+
+	/**
+	 * Get the filesystem instance.
+	 *
+	 * @return \Illuminate\Filesystem\Filesystem
+	 */
+	public function getFilesystem()
+	{
+		return $this->files;
+	}
+
+	/**
+	 * Get the active view paths.
+	 *
+	 * @return array
+	 */
+	public function getPaths()
+	{
+		return $this->paths;
+	}
+
+	/**
+	 * Get the namespace to file path hints.
+	 *
+	 * @return array
+	 */
+	public function getHints()
+	{
+		return $this->hints;
+	}
+
+	/**
+	 * Get registered extensions.
+	 *
+	 * @return array
+	 */
+	public function getExtensions()
+	{
+		return $this->extensions;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/View.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/View.php b/vendor/laravel/framework/src/Illuminate/View/View.php
new file mode 100755
index 0000000..c09854a
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/View.php
@@ -0,0 +1,391 @@
+<?php namespace Illuminate\View;
+
+use ArrayAccess;
+use Closure;
+use Illuminate\Support\MessageBag;
+use Illuminate\View\Engines\EngineInterface;
+use Illuminate\Support\Contracts\MessageProviderInterface;
+use Illuminate\Support\Contracts\ArrayableInterface as Arrayable;
+use Illuminate\Support\Contracts\RenderableInterface as Renderable;
+
+class View implements ArrayAccess, Renderable {
+
+	/**
+	 * The view factory instance.
+	 *
+	 * @var \Illuminate\View\Factory
+	 */
+	protected $factory;
+
+	/**
+	 * The engine implementation.
+	 *
+	 * @var \Illuminate\View\Engines\EngineInterface
+	 */
+	protected $engine;
+
+	/**
+	 * The name of the view.
+	 *
+	 * @var string
+	 */
+	protected $view;
+
+	/**
+	 * The array of view data.
+	 *
+	 * @var array
+	 */
+	protected $data;
+
+	/**
+	 * The path to the view file.
+	 *
+	 * @var string
+	 */
+	protected $path;
+
+	/**
+	 * Create a new view instance.
+	 *
+	 * @param  \Illuminate\View\Factory  $factory
+	 * @param  \Illuminate\View\Engines\EngineInterface  $engine
+	 * @param  string  $view
+	 * @param  string  $path
+	 * @param  array   $data
+	 * @return void
+	 */
+	public function __construct(Factory $factory, EngineInterface $engine, $view, $path, $data = array())
+	{
+		$this->view = $view;
+		$this->path = $path;
+		$this->engine = $engine;
+		$this->factory = $factory;
+
+		$this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
+	}
+
+	/**
+	 * Get the string contents of the view.
+	 *
+	 * @param  \Closure  $callback
+	 * @return string
+	 */
+	public function render(Closure $callback = null)
+	{
+		$contents = $this->renderContents();
+
+		$response = isset($callback) ? $callback($this, $contents) : null;
+
+		// Once we have the contents of the view, we will flush the sections if we are
+		// done rendering all views so that there is nothing left hanging over when
+		// another view gets rendered in the future by the application developer.
+		$this->factory->flushSectionsIfDoneRendering();
+
+		return $response ?: $contents;
+	}
+
+	/**
+	 * Get the contents of the view instance.
+	 *
+	 * @return string
+	 */
+	protected function renderContents()
+	{
+		// We will keep track of the amount of views being rendered so we can flush
+		// the section after the complete rendering operation is done. This will
+		// clear out the sections for any separate views that may be rendered.
+		$this->factory->incrementRender();
+
+		$this->factory->callComposer($this);
+
+		$contents = $this->getContents();
+
+		// Once we've finished rendering the view, we'll decrement the render count
+		// so that each sections get flushed out next time a view is created and
+		// no old sections are staying around in the memory of an environment.
+		$this->factory->decrementRender();
+
+		return $contents;
+	}
+
+	/**
+	 * Get the sections of the rendered view.
+	 *
+	 * @return array
+	 */
+	public function renderSections()
+	{
+		$env = $this->factory;
+
+		return $this->render(function($view) use ($env)
+		{
+			return $env->getSections();
+		});
+	}
+
+	/**
+	 * Get the evaluated contents of the view.
+	 *
+	 * @return string
+	 */
+	protected function getContents()
+	{
+		return $this->engine->get($this->path, $this->gatherData());
+	}
+
+	/**
+	 * Get the data bound to the view instance.
+	 *
+	 * @return array
+	 */
+	protected function gatherData()
+	{
+		$data = array_merge($this->factory->getShared(), $this->data);
+
+		foreach ($data as $key => $value)
+		{
+			if ($value instanceof Renderable)
+			{
+				$data[$key] = $value->render();
+			}
+		}
+
+		return $data;
+	}
+
+	/**
+	 * Add a piece of data to the view.
+	 *
+	 * @param  string|array  $key
+	 * @param  mixed   $value
+	 * @return $this
+	 */
+	public function with($key, $value = null)
+	{
+		if (is_array($key))
+		{
+			$this->data = array_merge($this->data, $key);
+		}
+		else
+		{
+			$this->data[$key] = $value;
+		}
+
+		return $this;
+	}
+
+	/**
+	 * Add a view instance to the view data.
+	 *
+	 * @param  string  $key
+	 * @param  string  $view
+	 * @param  array   $data
+	 * @return $this
+	 */
+	public function nest($key, $view, array $data = array())
+	{
+		return $this->with($key, $this->factory->make($view, $data));
+	}
+
+	/**
+	 * Add validation errors to the view.
+	 *
+	 * @param  \Illuminate\Support\Contracts\MessageProviderInterface|array  $provider
+	 * @return $this
+	 */
+	public function withErrors($provider)
+	{
+		if ($provider instanceof MessageProviderInterface)
+		{
+			$this->with('errors', $provider->getMessageBag());
+		}
+		else
+		{
+			$this->with('errors', new MessageBag((array) $provider));
+		}
+
+		return $this;
+	}
+
+	/**
+	 * Get the view factory instance.
+	 *
+	 * @return \Illuminate\View\Factory
+	 */
+	public function getFactory()
+	{
+		return $this->factory;
+	}
+
+	/**
+	 * Get the view's rendering engine.
+	 *
+	 * @return \Illuminate\View\Engines\EngineInterface
+	 */
+	public function getEngine()
+	{
+		return $this->engine;
+	}
+
+	/**
+	 * Get the name of the view.
+	 *
+	 * @return string
+	 */
+	public function getName()
+	{
+		return $this->view;
+	}
+
+	/**
+	 * Get the array of view data.
+	 *
+	 * @return array
+	 */
+	public function getData()
+	{
+		return $this->data;
+	}
+
+	/**
+	 * Get the path to the view file.
+	 *
+	 * @return string
+	 */
+	public function getPath()
+	{
+		return $this->path;
+	}
+
+	/**
+	 * Set the path to the view.
+	 *
+	 * @param  string  $path
+	 * @return void
+	 */
+	public function setPath($path)
+	{
+		$this->path = $path;
+	}
+
+	/**
+	 * Determine if a piece of data is bound.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function offsetExists($key)
+	{
+		return array_key_exists($key, $this->data);
+	}
+
+	/**
+	 * Get a piece of bound data to the view.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function offsetGet($key)
+	{
+		return $this->data[$key];
+	}
+
+	/**
+	 * Set a piece of data on the view.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function offsetSet($key, $value)
+	{
+		$this->with($key, $value);
+	}
+
+	/**
+	 * Unset a piece of data from the view.
+	 *
+	 * @param  string  $key
+	 * @return void
+	 */
+	public function offsetUnset($key)
+	{
+		unset($this->data[$key]);
+	}
+
+	/**
+	 * Get a piece of data from the view.
+	 *
+	 * @param  string  $key
+	 * @return mixed
+	 */
+	public function &__get($key)
+	{
+		return $this->data[$key];
+	}
+
+	/**
+	 * Set a piece of data on the view.
+	 *
+	 * @param  string  $key
+	 * @param  mixed   $value
+	 * @return void
+	 */
+	public function __set($key, $value)
+	{
+		$this->with($key, $value);
+	}
+
+	/**
+	 * Check if a piece of data is bound to the view.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function __isset($key)
+	{
+		return isset($this->data[$key]);
+	}
+
+	/**
+	 * Remove a piece of bound data from the view.
+	 *
+	 * @param  string  $key
+	 * @return bool
+	 */
+	public function __unset($key)
+	{
+		unset($this->data[$key]);
+	}
+
+	/**
+	 * Dynamically bind parameters to the view.
+	 *
+	 * @param  string  $method
+	 * @param  array   $parameters
+	 * @return \Illuminate\View\View
+	 *
+	 * @throws \BadMethodCallException
+	 */
+	public function __call($method, $parameters)
+	{
+		if (starts_with($method, 'with'))
+		{
+			return $this->with(snake_case(substr($method, 4)), $parameters[0]);
+		}
+
+		throw new \BadMethodCallException("Method [$method] does not exist on view.");
+	}
+
+	/**
+	 * Get the string contents of the view.
+	 *
+	 * @return string
+	 */
+	public function __toString()
+	{
+		return $this->render();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php b/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php
new file mode 100755
index 0000000..61100f3
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/ViewFinderInterface.php
@@ -0,0 +1,47 @@
+<?php namespace Illuminate\View;
+
+interface ViewFinderInterface {
+
+	/**
+	 * Get the fully qualified location of the view.
+	 *
+	 * @param  string  $view
+	 * @return string
+	 */
+	public function find($view);
+
+	/**
+	 * Add a location to the finder.
+	 *
+	 * @param  string  $location
+	 * @return void
+	 */
+	public function addLocation($location);
+
+	/**
+	 * Add a namespace hint to the finder.
+	 *
+	 * @param  string  $namespace
+	 * @param  string|array  $hints
+	 * @return void
+	 */
+	public function addNamespace($namespace, $hints);
+
+	/**
+	 * Prepend a namespace hint to the finder.
+	 *
+	 * @param  string  $namespace
+	 * @param  string|array  $hints
+	 * @return void
+	 */
+	public function prependNamespace($namespace, $hints);
+
+	/**
+	 * Add a valid view extension to the finder.
+	 *
+	 * @param  string  $extension
+	 * @return void
+	 */
+	public function addExtension($extension);
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/ViewServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/ViewServiceProvider.php b/vendor/laravel/framework/src/Illuminate/View/ViewServiceProvider.php
new file mode 100755
index 0000000..e186da8
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/ViewServiceProvider.php
@@ -0,0 +1,182 @@
+<?php namespace Illuminate\View;
+
+use Illuminate\Support\ViewErrorBag;
+use Illuminate\View\Engines\PhpEngine;
+use Illuminate\Support\ServiceProvider;
+use Illuminate\View\Engines\CompilerEngine;
+use Illuminate\View\Engines\EngineResolver;
+use Illuminate\View\Compilers\BladeCompiler;
+
+class ViewServiceProvider extends ServiceProvider {
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->registerEngineResolver();
+
+		$this->registerViewFinder();
+
+		// Once the other components have been registered we're ready to include the
+		// view environment and session binder. The session binder will bind onto
+		// the "before" application event and add errors into shared view data.
+		$this->registerFactory();
+
+		$this->registerSessionBinder();
+	}
+
+	/**
+	 * Register the engine resolver instance.
+	 *
+	 * @return void
+	 */
+	public function registerEngineResolver()
+	{
+		$this->app->bindShared('view.engine.resolver', function()
+		{
+			$resolver = new EngineResolver;
+
+			// Next we will register the various engines with the resolver so that the
+			// environment can resolve the engines it needs for various views based
+			// on the extension of view files. We call a method for each engines.
+			foreach (array('php', 'blade') as $engine)
+			{
+				$this->{'register'.ucfirst($engine).'Engine'}($resolver);
+			}
+
+			return $resolver;
+		});
+	}
+
+	/**
+	 * Register the PHP engine implementation.
+	 *
+	 * @param  \Illuminate\View\Engines\EngineResolver  $resolver
+	 * @return void
+	 */
+	public function registerPhpEngine($resolver)
+	{
+		$resolver->register('php', function() { return new PhpEngine; });
+	}
+
+	/**
+	 * Register the Blade engine implementation.
+	 *
+	 * @param  \Illuminate\View\Engines\EngineResolver  $resolver
+	 * @return void
+	 */
+	public function registerBladeEngine($resolver)
+	{
+		$app = $this->app;
+
+		// The Compiler engine requires an instance of the CompilerInterface, which in
+		// this case will be the Blade compiler, so we'll first create the compiler
+		// instance to pass into the engine so it can compile the views properly.
+		$app->bindShared('blade.compiler', function($app)
+		{
+			$cache = $app['path.storage'].'/views';
+
+			return new BladeCompiler($app['files'], $cache);
+		});
+
+		$resolver->register('blade', function() use ($app)
+		{
+			return new CompilerEngine($app['blade.compiler'], $app['files']);
+		});
+	}
+
+	/**
+	 * Register the view finder implementation.
+	 *
+	 * @return void
+	 */
+	public function registerViewFinder()
+	{
+		$this->app->bindShared('view.finder', function($app)
+		{
+			$paths = $app['config']['view.paths'];
+
+			return new FileViewFinder($app['files'], $paths);
+		});
+	}
+
+	/**
+	 * Register the view environment.
+	 *
+	 * @return void
+	 */
+	public function registerFactory()
+	{
+		$this->app->bindShared('view', function($app)
+		{
+			// Next we need to grab the engine resolver instance that will be used by the
+			// environment. The resolver will be used by an environment to get each of
+			// the various engine implementations such as plain PHP or Blade engine.
+			$resolver = $app['view.engine.resolver'];
+
+			$finder = $app['view.finder'];
+
+			$env = new Factory($resolver, $finder, $app['events']);
+
+			// We will also set the container instance on this view environment since the
+			// view composers may be classes registered in the container, which allows
+			// for great testable, flexible composers for the application developer.
+			$env->setContainer($app);
+
+			$env->share('app', $app);
+
+			return $env;
+		});
+	}
+
+	/**
+	 * Register the session binder for the view environment.
+	 *
+	 * @return void
+	 */
+	protected function registerSessionBinder()
+	{
+		list($app, $me) = array($this->app, $this);
+
+		$app->booted(function() use ($app, $me)
+		{
+			// If the current session has an "errors" variable bound to it, we will share
+			// its value with all view instances so the views can easily access errors
+			// without having to bind. An empty bag is set when there aren't errors.
+			if ($me->sessionHasErrors($app))
+			{
+				$errors = $app['session.store']->get('errors');
+
+				$app['view']->share('errors', $errors);
+			}
+
+			// Putting the errors in the view for every view allows the developer to just
+			// assume that some errors are always available, which is convenient since
+			// they don't have to continually run checks for the presence of errors.
+			else
+			{
+				$app['view']->share('errors', new ViewErrorBag);
+			}
+		});
+	}
+
+	/**
+	 * Determine if the application session has errors.
+	 *
+	 * @param  \Illuminate\Foundation\Application  $app
+	 * @return bool
+	 */
+	public function sessionHasErrors($app)
+	{
+		$config = $app['config']['session'];
+
+		if (isset($app['session.store']) && ! is_null($config['driver']))
+		{
+			return $app['session.store']->has('errors');
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/View/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/View/composer.json b/vendor/laravel/framework/src/Illuminate/View/composer.json
new file mode 100755
index 0000000..8b6b535
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/View/composer.json
@@ -0,0 +1,29 @@
+{
+    "name": "illuminate/view",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Taylor Otwell",
+            "email": "taylorotwell@gmail.com"
+        }
+    ],
+    "require": {
+        "php": ">=5.4.0",
+        "illuminate/container": "4.2.*",
+        "illuminate/events": "4.2.*",
+        "illuminate/filesystem": "4.2.*",
+        "illuminate/support": "4.2.*"
+    },
+    "autoload": {
+        "psr-0": {
+            "Illuminate\\View": ""
+        }
+    },
+    "target-dir": "Illuminate/View",
+    "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/Workbench/Console/WorkbenchMakeCommand.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/Console/WorkbenchMakeCommand.php b/vendor/laravel/framework/src/Illuminate/Workbench/Console/WorkbenchMakeCommand.php
new file mode 100755
index 0000000..a93eb2a
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/Console/WorkbenchMakeCommand.php
@@ -0,0 +1,144 @@
+<?php namespace Illuminate\Workbench\Console;
+
+use Illuminate\Console\Command;
+use Illuminate\Workbench\Package;
+use Illuminate\Workbench\PackageCreator;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Input\InputArgument;
+
+class WorkbenchMakeCommand extends Command {
+
+	/**
+	 * The console command name.
+	 *
+	 * @var string
+	 */
+	protected $name = 'workbench';
+
+	/**
+	 * The console command description.
+	 *
+	 * @var string
+	 */
+	protected $description = 'Create a new package workbench';
+
+	/**
+	 * The package creator instance.
+	 *
+	 * @var \Illuminate\Workbench\PackageCreator
+	 */
+	protected $creator;
+
+	/**
+	 * Create a new make workbench command instance.
+	 *
+	 * @param  \Illuminate\Workbench\PackageCreator  $creator
+	 * @return void
+	 */
+	public function __construct(PackageCreator $creator)
+	{
+		parent::__construct();
+
+		$this->creator = $creator;
+	}
+
+	/**
+	 * Execute the console command.
+	 *
+	 * @return void
+	 */
+	public function fire()
+	{
+		$workbench = $this->runCreator($this->buildPackage());
+
+		$this->info('Package workbench created!');
+
+		$this->callComposerUpdate($workbench);
+	}
+
+	/**
+	 * Run the package creator class for a given Package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @return string
+	 */
+	protected function runCreator($package)
+	{
+		$path = $this->laravel['path.base'].'/workbench';
+
+		$plain = ! $this->option('resources');
+
+		return $this->creator->create($package, $path, $plain);
+	}
+
+	/**
+	 * Call the composer update routine on the path.
+	 *
+	 * @param  string  $path
+	 * @return void
+	 */
+	protected function callComposerUpdate($path)
+	{
+		chdir($path);
+
+		passthru('composer install --dev');
+	}
+
+	/**
+	 * Build the package details from user input.
+	 *
+	 * @return \Illuminate\Workbench\Package
+	 *
+	 * @throws \UnexpectedValueException
+	 */
+	protected function buildPackage()
+	{
+		list($vendor, $name) = $this->getPackageSegments();
+
+		$config = $this->laravel['config']['workbench'];
+
+		if (is_null($config['email']))
+		{
+			throw new \UnexpectedValueException("Please set the author's email in the workbench configuration file.");
+		}
+
+		return new Package($vendor, $name, $config['name'], $config['email']);
+	}
+
+	/**
+	 * Get the package vendor and name segments from the input.
+	 *
+	 * @return array
+	 */
+	protected function getPackageSegments()
+	{
+		$package = $this->argument('package');
+
+		return array_map('studly_case', explode('/', $package, 2));
+	}
+
+	/**
+	 * Get the console command arguments.
+	 *
+	 * @return array
+	 */
+	protected function getArguments()
+	{
+		return array(
+			array('package', InputArgument::REQUIRED, 'The name (vendor/name) of the package.'),
+		);
+	}
+
+	/**
+	 * Get the console command options.
+	 *
+	 * @return array
+	 */
+	protected function getOptions()
+	{
+		return array(
+			array('resources', null, InputOption::VALUE_NONE, 'Create Laravel specific directories.'),
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/Package.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/Package.php b/vendor/laravel/framework/src/Illuminate/Workbench/Package.php
new file mode 100755
index 0000000..b87f8c2
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/Package.php
@@ -0,0 +1,76 @@
+<?php namespace Illuminate\Workbench;
+
+class Package {
+
+	/**
+	 * The vendor name of the package.
+	 *
+	 * @var string
+	 */
+	public $vendor;
+
+	/**
+	 * The snake-cased version of the vendor.
+	 *
+	 * @var string
+	 */
+	public $lowerVendor;
+
+	/**
+	 * The name of the package.
+	 *
+	 * @var string
+	 */
+	public $name;
+
+	/**
+	 * The snake-cased version of the package.
+	 *
+	 * @var string
+	 */
+	public $lowerName;
+
+	/**
+	 * The name of the author.
+	 *
+	 * @var string
+	 */
+	public $author;
+
+	/**
+	 * The email address of the author.
+	 *
+	 * @var string
+	 */
+	public $email;
+
+	/**
+	 * Create a new package instance.
+	 *
+	 * @param  string  $vendor
+	 * @param  string  $name
+	 * @param  string  $author
+	 * @param  string  $email
+	 * @return void
+	 */
+	public function __construct($vendor, $name, $author, $email)
+	{
+		$this->name = $name;
+		$this->email = $email;
+		$this->vendor = $vendor;
+		$this->author = $author;
+		$this->lowerName = snake_case($name, '-');
+		$this->lowerVendor = snake_case($vendor, '-');
+	}
+
+	/**
+	 * Get the full package name.
+	 *
+	 * @return string
+	 */
+	public function getFullName()
+	{
+		return $this->lowerVendor.'/'.$this->lowerName;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/PackageCreator.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/PackageCreator.php b/vendor/laravel/framework/src/Illuminate/Workbench/PackageCreator.php
new file mode 100755
index 0000000..8567d1f
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/PackageCreator.php
@@ -0,0 +1,376 @@
+<?php namespace Illuminate\Workbench;
+
+use Illuminate\Filesystem\Filesystem;
+
+class PackageCreator {
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * The basic building blocks of the package.
+	 *
+	 * @param  array
+	 */
+	protected $basicBlocks = array(
+		'SupportFiles',
+		'TestDirectory',
+		'ServiceProvider',
+	);
+
+	/**
+	 * The building blocks of the package.
+	 *
+	 * @param  array
+	 */
+	protected $blocks = array(
+		'SupportFiles',
+		'SupportDirectories',
+		'PublicDirectory',
+		'TestDirectory',
+		'ServiceProvider',
+	);
+
+	/**
+	 * Create a new package creator instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @return void
+	 */
+	public function __construct(Filesystem $files)
+	{
+		$this->files = $files;
+	}
+
+	/**
+	 * Create a new package stub.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $path
+	 * @param  bool    $plain
+	 * @return string
+	 */
+	public function create(Package $package, $path, $plain = true)
+	{
+		$directory = $this->createDirectory($package, $path);
+
+		// To create the package, we will spin through a list of building blocks that
+		// make up each package. We'll then call the method to build that block on
+		// the class, which keeps the actual building of stuff nice and cleaned.
+		foreach ($this->getBlocks($plain) as $block)
+		{
+			$this->{"write{$block}"}($package, $directory, $plain);
+		}
+
+		return $directory;
+	}
+
+	/**
+	 * Create a package with all resource directories.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $path
+	 * @return void
+	 */
+	public function createWithResources(Package $package, $path)
+	{
+		return $this->create($package, $path, false);
+	}
+
+	/**
+	 * Get the blocks for a given package.
+	 *
+	 * @param  bool  $plain
+	 * @return array
+	 */
+	protected function getBlocks($plain)
+	{
+		return $plain ? $this->basicBlocks : $this->blocks;
+	}
+
+	/**
+	 * Write the support files to the package root.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @param  bool    $plain
+	 * @return void
+	 */
+	public function writeSupportFiles(Package $package, $directory, $plain)
+	{
+		foreach (array('PhpUnit', 'Travis', 'Composer', 'Ignore') as $file)
+		{
+			$this->{"write{$file}File"}($package, $directory, $plain);
+		}
+	}
+
+	/**
+	 * Write the PHPUnit stub file.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @return void
+	 */
+	protected function writePhpUnitFile(Package $package, $directory)
+	{
+		$stub = __DIR__.'/stubs/phpunit.xml';
+
+		$this->files->copy($stub, $directory.'/phpunit.xml');
+	}
+
+	/**
+	 * Write the Travis stub file.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @return void
+	 */
+	protected function writeTravisFile(Package $package, $directory)
+	{
+		$stub = __DIR__.'/stubs/.travis.yml';
+
+		$this->files->copy($stub, $directory.'/.travis.yml');
+	}
+
+	/**
+	 * Write the Composer.json stub file.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @param  bool    $plain
+	 * @return void
+	 */
+	protected function writeComposerFile(Package $package, $directory, $plain)
+	{
+		$stub = $this->getComposerStub($plain);
+
+		$stub = $this->formatPackageStub($package, $stub);
+
+		$this->files->put($directory.'/composer.json', $stub);
+	}
+
+	/**
+	 * Get the Composer.json stub file contents.
+	 *
+	 * @param  bool  $plain
+	 * @return string
+	 */
+	protected function getComposerStub($plain)
+	{
+		if ($plain) return $this->files->get(__DIR__.'/stubs/plain.composer.json');
+
+		return $this->files->get(__DIR__.'/stubs/composer.json');
+	}
+
+	/**
+	 * Write the stub .gitignore file for the package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @param  bool    $plain
+	 * @return void
+	 */
+	public function writeIgnoreFile(Package $package, $directory, $plain)
+	{
+		$this->files->copy(__DIR__.'/stubs/gitignore.txt', $directory.'/.gitignore');
+	}
+
+	/**
+	 * Create the support directories for a package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @return void
+	 */
+	public function writeSupportDirectories(Package $package, $directory)
+	{
+		foreach (array('config', 'controllers', 'lang', 'migrations', 'views') as $support)
+		{
+			$this->writeSupportDirectory($package, $support, $directory);
+		}
+	}
+
+	/**
+	 * Write a specific support directory for the package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $support
+	 * @param  string  $directory
+	 * @return void
+	 */
+	protected function writeSupportDirectory(Package $package, $support, $directory)
+	{
+		// Once we create the source directory, we will write an empty file to the
+		// directory so that it will be kept in source control allowing the dev
+		// to go ahead and push these components to GitHub right on creation.
+		$path = $directory.'/src/'.$support;
+
+		$this->files->makeDirectory($path, 0777, true);
+
+		$this->files->put($path.'/.gitkeep', '');
+	}
+
+	/**
+	 * Create the public directory for the package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @param  bool    $plain
+	 * @return void
+	 */
+	public function writePublicDirectory(Package $package, $directory, $plain)
+	{
+		if ($plain) return;
+
+		$this->files->makeDirectory($directory.'/public');
+
+		$this->files->put($directory.'/public/.gitkeep', '');
+	}
+
+	/**
+	 * Create the test directory for the package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @return void
+	 */
+	public function writeTestDirectory(Package $package, $directory)
+	{
+		$this->files->makeDirectory($directory.'/tests');
+
+		$this->files->put($directory.'/tests/.gitkeep', '');
+	}
+
+	/**
+	 * Write the stub ServiceProvider for the package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @param  bool    $plain
+	 * @return void
+	 */
+	public function writeServiceProvider(Package $package, $directory, $plain)
+	{
+		// Once we have the service provider stub, we will need to format it and make
+		// the necessary replacements to the class, namespaces, etc. Then we'll be
+		// able to write it out into the package's workbench directory for them.
+		$stub = $this->getProviderStub($package, $plain);
+
+		$this->writeProviderStub($package, $directory, $stub);
+	}
+
+	/**
+	 * Write the service provider stub for the package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @param  string  $stub
+	 * @return void
+	 */
+	protected function writeProviderStub(Package $package, $directory, $stub)
+	{
+		$path = $this->createClassDirectory($package, $directory);
+
+		// The primary source directory where the package's classes will live may not
+		// exist yet, so we will need to create it before we write these providers
+		// out to that location. We'll go ahead and create now here before then.
+		$file = $path.'/'.$package->name.'ServiceProvider.php';
+
+		$this->files->put($file, $stub);
+	}
+
+	/**
+	 * Get the stub for a ServiceProvider.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  bool  $plain
+	 * @return string
+	 */
+	protected function getProviderStub(Package $package, $plain)
+	{
+		return $this->formatPackageStub($package, $this->getProviderFile($plain));
+	}
+
+	/**
+	 * Load the raw service provider file.
+	 *
+	 * @param  bool  $plain
+	 * @return string
+	 */
+	protected function getProviderFile($plain)
+	{
+		if ($plain)
+		{
+			return $this->files->get(__DIR__.'/stubs/plain.provider.stub');
+		}
+
+		return $this->files->get(__DIR__.'/stubs/provider.stub');
+	}
+
+	/**
+	 * Create the main source directory for the package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $directory
+	 * @return string
+	 */
+	protected function createClassDirectory(Package $package, $directory)
+	{
+		$path = $directory.'/src/'.$package->vendor.'/'.$package->name;
+
+		if ( ! $this->files->isDirectory($path))
+		{
+			$this->files->makeDirectory($path, 0777, true);
+		}
+
+		return $path;
+	}
+
+	/**
+	 * Format a generic package stub file.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $stub
+	 * @return string
+	 */
+	protected function formatPackageStub(Package $package, $stub)
+	{
+		foreach (get_object_vars($package) as $key => $value)
+		{
+			$stub = str_replace('{{'.snake_case($key).'}}', $value, $stub);
+		}
+
+		return $stub;
+	}
+
+	/**
+	 * Create a workbench directory for the package.
+	 *
+	 * @param  \Illuminate\Workbench\Package  $package
+	 * @param  string  $path
+	 * @return string
+	 *
+	 * @throws \InvalidArgumentException
+	 */
+	protected function createDirectory(Package $package, $path)
+	{
+		$fullPath = $path.'/'.$package->getFullName();
+
+		// If the directory doesn't exist, we will go ahead and create the package
+		// directory in the workbench location. We will use this entire package
+		// name when creating the directory to avoid any potential conflicts.
+		if ( ! $this->files->isDirectory($fullPath))
+		{
+			$this->files->makeDirectory($fullPath, 0777, true);
+
+			return $fullPath;
+		}
+
+		throw new \InvalidArgumentException("Package exists.");
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/Starter.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/Starter.php b/vendor/laravel/framework/src/Illuminate/Workbench/Starter.php
new file mode 100755
index 0000000..b90c368
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/Starter.php
@@ -0,0 +1,33 @@
+<?php namespace Illuminate\Workbench;
+
+use Symfony\Component\Finder\Finder;
+use Illuminate\Filesystem\Filesystem;
+
+class Starter {
+
+	/**
+	 * Load the workbench vendor auto-load files.
+	 *
+	 * @param  string  $path
+	 * @param  \Symfony\Component\Finder\Finder  $finder
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @return void
+	 */
+	public static function start($path, Finder $finder = null, Filesystem $files = null)
+	{
+		$finder = $finder ?: new Finder;
+
+		// We will use the finder to locate all "autoload.php" files in the workbench
+		// directory, then we will include them each so that they are able to load
+		// the appropriate classes and file used by the given workbench package.
+		$files = $files ?: new Filesystem;
+
+		$autoloads = $finder->in($path)->files()->name('autoload.php')->depth('<= 3')->followLinks();
+
+		foreach ($autoloads as $file)
+		{
+			$files->requireOnce($file->getRealPath());
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/WorkbenchServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/WorkbenchServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Workbench/WorkbenchServiceProvider.php
new file mode 100755
index 0000000..f0b0d36
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/WorkbenchServiceProvider.php
@@ -0,0 +1,45 @@
+<?php namespace Illuminate\Workbench;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Workbench\Console\WorkbenchMakeCommand;
+
+class WorkbenchServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = false;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->app->bindShared('package.creator', function($app)
+		{
+			return new PackageCreator($app['files']);
+		});
+
+		$this->app->bindShared('command.workbench', function($app)
+		{
+			return new WorkbenchMakeCommand($app['package.creator']);
+		});
+
+		$this->commands('command.workbench');
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array('package.creator', 'command.workbench');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/composer.json b/vendor/laravel/framework/src/Illuminate/Workbench/composer.json
new file mode 100755
index 0000000..7e3abdb
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/composer.json
@@ -0,0 +1,31 @@
+{
+    "name": "illuminate/workbench",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Taylor Otwell",
+            "email": "taylorotwell@gmail.com"
+        }
+    ],
+    "require": {
+        "php": ">=5.4.0",
+        "illuminate/filesystem": "4.2.*",
+        "illuminate/support": "4.2.*",
+        "symfony/finder": "2.5.*"
+    },
+    "require-dev": {
+        "illuminate/console": "4.2.*"
+    },
+    "autoload": {
+        "psr-0": {
+            "Illuminate\\Workbench": ""
+        }
+    },
+    "target-dir": "Illuminate/Workbench",
+    "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/Workbench/stubs/.travis.yml
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/stubs/.travis.yml b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/.travis.yml
new file mode 100755
index 0000000..f60bbe0
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/.travis.yml
@@ -0,0 +1,13 @@
+language: php
+
+php:
+  - 5.4
+  - 5.5
+  - 5.6
+  - hhvm
+
+before_script:
+  - travis_retry composer self-update
+  - travis_retry composer install --prefer-source --no-interaction --dev
+
+script: phpunit

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/stubs/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/stubs/composer.json b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/composer.json
new file mode 100755
index 0000000..5133cd8
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/composer.json
@@ -0,0 +1,23 @@
+{
+    "name": "{{lower_vendor}}/{{lower_name}}",
+    "description": "",
+    "authors": [
+        {
+            "name": "{{author}}",
+            "email": "{{email}}"
+        }
+    ],
+    "require": {
+        "php": ">=5.4.0",
+        "illuminate/support": "4.2.*"
+    },
+    "autoload": {
+        "classmap": [
+            "src/migrations"
+        ],
+        "psr-0": {
+            "{{vendor}}\\{{name}}\\": "src/"
+        }
+    },
+    "minimum-stability": "stable"
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/stubs/gitignore.txt
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/stubs/gitignore.txt b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/gitignore.txt
new file mode 100755
index 0000000..5826402
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/gitignore.txt
@@ -0,0 +1,4 @@
+/vendor
+composer.phar
+composer.lock
+.DS_Store

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/stubs/phpunit.xml
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/stubs/phpunit.xml b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/phpunit.xml
new file mode 100755
index 0000000..3347b75
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/phpunit.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit backupGlobals="false"
+         backupStaticAttributes="false"
+         bootstrap="vendor/autoload.php"
+         colors="true"
+         convertErrorsToExceptions="true"
+         convertNoticesToExceptions="true"
+         convertWarningsToExceptions="true"
+         processIsolation="false"
+         stopOnFailure="false"
+         syntaxCheck="false"
+>
+    <testsuites>
+        <testsuite name="Package Test Suite">
+            <directory suffix=".php">./tests/</directory>
+        </testsuite>
+    </testsuites>
+</phpunit>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/stubs/plain.composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/stubs/plain.composer.json b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/plain.composer.json
new file mode 100755
index 0000000..a2cd6bb
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/plain.composer.json
@@ -0,0 +1,20 @@
+{
+    "name": "{{lower_vendor}}/{{lower_name}}",
+    "description": "",
+    "authors": [
+        {
+            "name": "{{author}}",
+            "email": "{{email}}"
+        }
+    ],
+    "require": {
+        "php": ">=5.4.0",
+        "illuminate/support": "4.2.*"
+    },
+    "autoload": {
+        "psr-0": {
+            "{{vendor}}\\{{name}}": "src/"
+        }
+    },
+    "minimum-stability": "stable"
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/stubs/plain.provider.stub
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/stubs/plain.provider.stub b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/plain.provider.stub
new file mode 100755
index 0000000..68f4abc
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/plain.provider.stub
@@ -0,0 +1,34 @@
+<?php namespace {{vendor}}\{{name}};
+
+use Illuminate\Support\ServiceProvider;
+
+class {{name}}ServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = false;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		//
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Workbench/stubs/provider.stub
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Workbench/stubs/provider.stub b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/provider.stub
new file mode 100755
index 0000000..a39ecaf
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Workbench/stubs/provider.stub
@@ -0,0 +1,44 @@
+<?php namespace {{vendor}}\{{name}};
+
+use Illuminate\Support\ServiceProvider;
+
+class {{name}}ServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = false;
+
+	/**
+	 * Bootstrap the application events.
+	 *
+	 * @return void
+	 */
+	public function boot()
+	{
+		$this->package('{{lower_vendor}}/{{lower_name}}');
+	}
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		//
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array();
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/monolog/monolog/.php_cs
----------------------------------------------------------------------
diff --git a/vendor/monolog/monolog/.php_cs b/vendor/monolog/monolog/.php_cs
new file mode 100644
index 0000000..8c11b23
--- /dev/null
+++ b/vendor/monolog/monolog/.php_cs
@@ -0,0 +1,15 @@
+<?php
+
+$finder = Symfony\CS\Finder\DefaultFinder::create()
+    ->files()
+    ->name('*.php')
+    ->in(__DIR__.'/src')
+    ->in(__DIR__.'/tests')
+;
+
+return Symfony\CS\Config\Config::create()
+    ->fixers(array(
+        'psr0', 'encoding', 'short_tag', 'braces', 'elseif', 'eof_ending', 'function_declaration', 'indentation', 'line_after_namespace', 'linefeed', 'lowercase_constants', 'lowercase_keywords', 'multiple_use', 'php_closing_tag', 'trailing_spaces', 'visibility', 'duplicate_semicolon', 'extra_empty_lines', 'include', 'namespace_no_leading_whitespace', 'object_operator', 'operators_spaces', 'phpdoc_params', 'return', 'single_array_no_trailing_comma', 'spaces_cast', 'standardize_not_equal', 'ternary_spaces', 'unused_use', 'whitespacy_lines',
+    ))
+    ->finder($finder)
+;