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:58 UTC
[11/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/Foundation/changes.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/changes.json b/vendor/laravel/framework/src/Illuminate/Foundation/changes.json
new file mode 100755
index 0000000..4d9a112
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/changes.json
@@ -0,0 +1,215 @@
+{
+ "4.2.*": [
+ {"message": "View and Pagination 'Environment' classes renamed to 'Factory'.", "backport": null},
+ {"message": "Configurable encryption for Iron.io queue messages.", "backport": null},
+ {"message": "Make FrameGuard middleware opt-in.", "backport": null},
+ {"message": "Convert View '$errors' shared variable into ViewErrorBag. Allows multiple bags per view. Should be backwards compatible.", "backport": null},
+ {"message": "Calling 'create' on a HasOne or HasMany relation will now use 'fill' method so mutators are executed on related model.", "backport": null},
+ {"message": "Use rawurldecode when decoding parameters in Route::parameters.", "backport": null},
+ {"message": "When date_format validation rule is used, before and after validation dates must match given format.", "backport": null},
+ {"message": "Added ability to register global Eloquent scopes using traits and addGlobalScope.", "backport": null},
+ {"message": "Soft deleting converted to use new global scope facilities.", "backport": null},
+ {"message": "Added ability to extend Eloquent Builder using 'macro' method.", "backport": null},
+ {"message": "Soft deleting models now use SoftDeletingTrait instead of softDelete property.", "backport": null},
+ {"message": "The queue:listen command will now write the names of the jobs it processes to the console.", "backport": null},
+ {"message": "Added Mailgun API transport for Mail::send. Depends on new 'services' configuration file.", "backport": null},
+ {"message": "Added Mandrill API transport for Mail::send. Depends on new 'services' configuration file.", "backport": null},
+ {"message": "Added 'log' mail transport for Mail::send. Writes raw MIME string to log files.", "backport": null},
+ {"message": "Added simplePaginate method to query and Eloquent builder.", "backport": null},
+ {"message": "Destructive migration operations now require confirmation or --force when being run in production.", "backport": null},
+ {"message": "Added Cache::pull method for retrieving a value and then deleting it.", "backport": null},
+ {"message": "Added Session::pull method for retrieving a value and then deleting it.", "backport": null},
+ {"message": "Added rel attribute to basic pagination links.", "backport": null},
+ {"message": "The 'page' query variable is now ignored when calling the paginator 'appends' method.", "backport": null},
+ {"message": "Empty arrays that are 'required' validate as false when empty.", "backport": null},
+ {"message": "Added --daemon option to the queue:work command.", "backport": null},
+ {"message": "Added convenient traits for authentication and password reminding.", "backport": null},
+ {"message": "Added 'reject' method to Collection.", "backport": null},
+ {"message": "Added 'updateOrCreate' method to Eloquent model.", "backport": null},
+ {"message": "Added 'keyBy' method to Collection.", "backport": null},
+ {"message": "Added 'contains' method to base Collection.", "backport": null},
+ {"message": "Allow 'where' route constraints to be passed in array definition of Route.", "backport": null},
+ {"message": "Properly support Route 'where' constraints on a Route group.", "backport": null},
+ {"message": "When 'increment' or 'decrement' is called on a single Model instance, the local attribute value is updated as well.", "backport": null},
+ {"message": "Automatically retry queries on database connections that have 'gone away'.", "backport": null},
+ {"message": "Allow accessing of read / write database connections using ::read and ::write syntax.", "backport": null}
+ ],
+ "4.1.*": [
+ {"message": "Added new SSH task runner tools.", "backport": null},
+ {"message": "Allow before and after validation rules to reference other fields.", "backport": null},
+ {"message": "Added splice method to Collection class.", "backport": null},
+ {"message": "Added newest and oldest methods to query builder for timestamp short-hand queries.", "backport": null},
+ {"message": "Rebuild the routing layer for speed and efficiency.", "backport": null},
+ {"message": "Added morphToMany relation for polymorphic many-to-many relations.", "backport": null},
+ {"message": "Make Boris available from Tinker command when available.", "backport": null},
+ {"message": "Allow route names to be specified on resources.", "backport": null},
+ {"message": "Collection `push` now appends. New `prepend` method on collections.", "backport": null},
+ {"message": "Use environment for log file name.", "backport": null},
+ {"message": "Use 'bit' as storage type for boolean on SQL Server.", "backport": null},
+ {"message": "Added new 'firing' method to event dispatcher, deprecated passing of event as last parameter.", "backport": null},
+ {"message": "Added QueryException with better formatted error messages.", "backport": null},
+ {"message": "Added 'input' method to Router.", "backport": null},
+ {"message": "Laravel now generates a single laravel.log file instead of many files.", "backport": null},
+ {"message": "Added new 'tail' Artisan command for tailing remote log files.", "backport": null},
+ {"message": "Support passing an array of files or dynamic arguments into File::delete.", "backport": null},
+ {"message": "Support calling local controller methods as filters using @method syntax.", "backport": null},
+ {"message": "Support passing Carbon instances into Cache put style methods.", "backport": null},
+ {"message": "New SessionInterface implementation - moved away from Symfony's implementation.", "backport": null},
+ {"message": "Native session driver has been replaced by 'file'. Specifying 'native' driver will just use the new file driver.", "backport": null},
+ {"message": "Now using Stack\\Builder in Application::run.", "backport": null},
+ {"message": "Cookies should now be accessed via Input::cookie - Cookie::get will continue to work for this release.", "backport": null},
+ {"message": "When accessing cookies outside of a request context, you will need to decrypt them manually.", "backport": null},
+ {"message": "When unit testing, the application instance is now refreshed once per test class - not every test.", "backport": null},
+ {"message": "Added 'whereNotBetween' support to the query builder.", "backport": null},
+ {"message": "Added App::middleware method to inject middlewares onto Stack.", "backport": null},
+ {"message": "Deprecate 'close' application hooks, Stack middlewares should be used instead.", "backport": null},
+ {"message": "A new packages directory within `lang` can now override package language files.", "backport": null},
+ {"message": "Added new 'Auth::viaRemember method to determine if user was authed via 'remember me' cookie.", "backport": null},
+ {"message": "Allow passing a view name to paginator's 'links' method.", "backport": null},
+ {"message": "Added new hasManyThrough relationship type.", "backport": null},
+ {"message": "Cloned Eloquent query builders now clone the underlying query builder.", "backport": null},
+ {"message": "Allow for passing of custom attributes into Validator::make as fourth parameter.", "backport": null},
+ {"message": "Allow comma delimited list of queues to be passed to queue:listen / queue:work to implement queue priority.", "backport": null},
+ {"message": "When new bindings are added to container, old aliases bound to that key will now be dropped.", "backport": null},
+ {"message": "Added new 'resolvable' and 'isAlias' methods to the container.", "backport": null},
+ {"message": "BelongsTo relationships may now reference any key on parent model, not just primary key.", "backport": null},
+ {"message": "HasOne, HasMany, and morph relationships may now use any key on parent model, not just primary key.", "backport": null},
+ {"message": "Eloquent 'has' method will now maintain where clauses set on relation.", "backport": null},
+ {"message": "New 'whereHas' and 'orWhereHas' Eloquent methods that allow extra constraints on 'has' type queries.", "backport": null},
+ {"message": "New 'or' syntax in Blade echos can be used to build isset statements and echos.", "backport": null},
+ {"message": "Allow the 'name' of belongsTo and belongsToMany to be explictly set.", "backport": null},
+ {"message": "New Cache::tags feature that allows tagging cached items and flushing them by any tag.", "backport": null},
+ {"message": "New FrameGuard middleware sends SAMEORIGIN X-Frame-Options header on each response by default.", "backport": null},
+ {"message": "Added 'joinWhere' and 'leftJoinWhere' to query builder for joins with bindings.", "backport": null},
+ {"message": "Added 'require_without_all' validation rule.", "backport": null},
+ {"message": "Controller method is now passed to missingMethod as first parameter.", "backport": null},
+ {"message": "New @append Blade directive for appending content onto a section.", "backport": null},
+ {"message": "Session IDs are now automatically regenerated on login.", "backport": null},
+ {"message": "Improve Auth::once to get rid of redundant database call.", "backport": null},
+ {"message": "In addition to the 'remember' function, query builder now supports 'rememberForever'.", "backport": null},
+ {"message": "Changes (breaking) to the return values of password reminder functions to provide more freedom to developer.", "backport": null},
+ {"message": "Added new `auth:reminders-controller' command to generate an entire password reminder controller.", "backport": null},
+ {"message": "New 'Password::validator' function that allows custom validation on passwords when resetting.", "backport": null},
+ {"message": "Added support for checking job attempts to Iron.io queue jobs.", "backport": null},
+ {"message": "Added support for releasing pushed Iron.io jobs back onto the queue.", "backport": null},
+ {"message": "Allow strict mode option to be enabled for MySQL connections.", "backport": null},
+ {"message": "Added 'wherePivot' and 'orWherePivot' methods to BelongsToMany relationship for convenience.", "backport": null},
+ {"message": "Added automatic separation of read / write connections into database layer.", "backport": null},
+ {"message": "Added automatic failed job handling for all queue drivers. New --tries switch for queue:listen and queue:work.", "backport": null},
+ {"message": "Cache:add now returns true when the value is actually added. False is returned otherwise.", "backport": null},
+ {"message": "Added merge, diff, and intersect to the Collection class.", "backport": null},
+ {"message": "Added fragment method to paginator.", "backport": null},
+ {"message": "Added 'renderSections' method to the View.", "backport": null},
+ {"message": "Added pessimistic locking to query builder via 'lock', 'lockForUpdate', and 'sharedLock'.", "backport": null},
+ {"message": "Closure can now be passed to Collection->first, functions similarly to array_first.", "backport": null},
+ {"message": "Added Mail::failures to get the failed recipients for a message.", "backport": null},
+ {"message": "Renamed `Model::tags($cacheTags)` to `Model::cacheTags($cacheTags)`", "backport": null},
+ {"message": "Model::destroy now returns the total number of records deleted.", "backport": null},
+ {"message": "Fixed relative URL generation.", "backport": null},
+ {"message": "Added --seeder option to migrate:refresh Artisan command.", "backport": null},
+ {"message": "Added 'cacheDriver' method to query builder.", "backport": null},
+ {"message": "Added support for whereHas on belongsTo relationships.", "backport": null},
+ {"message": "Added groupBy to Collection class.", "backport": null},
+ {"message": "Added the View::composers method.", "backport": null},
+ {"message": "Added new 'sometimes' validation rule short-cut to only run validation if rule is present.", "backport": null},
+ {"message": "Duplicate service providers can't be registered without 'force' parameter.", "backport": null},
+ {"message": "Added --lines option to the 'tail' Artisan command.", "backport": null},
+ {"message": "Allow 'keytext' option to be set on Remote configuration.", "backport": null},
+ {"message": "Added support for '.env' files in the project root directory for loading $_ENV and $_SERVER.", "backport": null},
+ {"message": "Added 'getString' method to the SSH class to allow fetching remote file into a string.", "backport": null},
+ {"message": "Added 'append_config' helper to assign high keys to configuration items.", "backport": null},
+ {"message": "Nested where queries using Closures with Eloquent will now use Eloquent query builder.", "backport": null},
+ {"message": "Allow passing a string into the 'sortBy' and 'sortByDesc' Collection methods.", "backport": null},
+ {"message": "Added 'sum' method to the base Support collection.", "backport": null},
+ {"message": "Return an empty Collection if the array given to Eloquent::find is empty.", "backport": null},
+ {"message": "Added 'toBase' method to Eloquent collection.", "backport": null},
+ {"message": "New 'Route::matched' event available.", "backport": null},
+ {"message": "Added new 'selectRaw' method to query builder.", "backport": null},
+ {"message": "Fixed required_with behavior to match required_without. Added required_with_any.", "backport": null},
+ {"message": "Added ability to register custom message replacers with the Validator.", "backport": null},
+ {"message": "Added support for 'char' columns in the Schema builder.", "backport": null},
+ {"message": "Added 'forgetBeforeFilter' and 'forgetAfterFilter' to controllers.", "backport": null},
+ {"message": "Allow container parameter overrides to be specified by argument name.", "backport": null},
+ {"message": "BelongsToMany 'sync' method now returns array with information on what changed.", "backport": null},
+ {"message": "TTR configuration option now supported on Beanstalk queues.", "backport": null},
+ {"message": "Added support for eager loading of MorphTo relationships.", "backport": null},
+ {"message": "Added 'assertViewMissing' method to TestCase.", "backport": null},
+ {"message": "Added 'whereYear', 'whereMonth', and 'whereDay'.", "backport": null},
+ {"message": "Added events for committing, rolling back, and starting transactions on databsae connections.", "backport": null},
+ {"message": "Added 'Auth::id' method to just get the authenticate user ID from the session / recaller cookie.", "backport": null},
+ {"message": "New 'Input::exists' function for checking for the mere presence of input items.", "backport": null},
+ {"message": "New system for invalidating remember me cookies on logout.", "backport": null},
+ {"message": "Iron queue now accepts ssl_verifypeer configuration option.", "backport": null},
+ {"message": "Make column quoting more robust for greater security when passing an array of user input into update methods.", "backport": null}
+ ],
+ "4.0.*": [
+ {"message": "Added implode method to query builder and Collection class.", "backport": null},
+ {"message": "Fixed bug that caused Model->push method to fail.", "backport": null},
+ {"message": "Make session cookie HttpOnly by default.", "backport": null},
+ {"message": "Added mail.pretend configuration option.", "backport": null},
+ {"message": "Query elapsed time is now reported as float instead of string.", "backport": null},
+ {"message": "Added Model::query method for generating an empty query builder.", "backport": null},
+ {"message": "The @yield Blade directive now accepts a default value as the second argument.", "backport": null},
+ {"message": "Fixed bug causing null to be passed to auth.logout event.", "backport": null},
+ {"message": "Added polyfill for array_column forward compatibility.", "backport": null},
+ {"message": "Passing NULL to validator exists rule as extra condition will do where null check.", "backport": null},
+ {"message": "Auth::extend Closures should only return UserProviderInterface implementations.", "backport": null},
+ {"message": "Make it easier to extend the Request class.", "backport": null},
+ {"message": "Transparent support for APCu cache via 'apc' driver.", "backport": null},
+ {"message": "Add morphs short-cut for adding polymorphic schema columns.", "backport": null},
+ {"message": "Namespaces are now excluded from guessed model names.", "backport": null},
+ {"message": "Added new --command option to command:make Artisan command.", "backport": null},
+ {"message": "Added mediumText and longText to schema builder.", "backport": null},
+ {"message": "Added support for macros on the Response class.", "backport": null},
+ {"message": "Added support for view creators in addition to composers.", "backport": null},
+ {"message": "Allow App::down to be bypassed if the event returns null.", "backport": null},
+ {"message": "Added Request::format function to get human-readable expected Response format.", "backport": null},
+ {"message": "Allow array sizes to be checked by validator.", "backport": null},
+ {"message": "Added support for where conditions on unique validation rule.", "backport": null},
+ {"message": "Restore method on Eloquent models now fires restoring and restored events.", "backport": null},
+ {"message": "Fixed re-population of radio buttons and checkboxes in FormBuilder.", "backport": null},
+ {"message": "Postgres ENUMs are now more truly implemented using 'check' constraints.", "backport": null},
+ {"message": "Added selectMonth and selectYear to FormBuilder.", "backport": null},
+ {"message": "Fix container resolution of default values for non-scalar dependencies.", "backport": null},
+ {"message": "Allow optional path to be specified with calling _path helpers.", "backport": null},
+ {"message": "Emulate nested transactions in the database connection layer.", "backport": null},
+ {"message": "Added new appends property to Eloquent for adding to arrays and JSON.", "backport": null},
+ {"message": "Allow connection to be configurable when using Redis based sessions.", "backport": null},
+ {"message": "Allow passing DateTime objects to Queue::later.", "backport": null},
+ {"message": "Added Queue::bulk method for pushing several jobs out at once.", "backport": null},
+ {"message": "Added 'dates' property to Eloquent model for convenient setting of date columns.", "backport": null},
+ {"message": "Added 'chunk' method to query builder and Eloquent for doing work on large result sets.", "backport": null},
+ {"message": "Facades are now mockable without an application root.", "backport": null},
+ {"message": "Data may now be dynamically bound to views via magic methods.", "backport": null},
+ {"message": "Added support for XCache cache driver.", "backport": null},
+ {"message": "Added 'env' command to get current environment.", "backport": null},
+ {"message": "Added new --path and --name options to 'routes' Artisan command.", "backport": null},
+ {"message": "Implement JSONable and Arrayable interfaces on Paginator.", "backport": null},
+ {"message": "Foreign characters now supported in validation 'alpha' rules.", "backport": null},
+ {"message": "Added 'prepend' method to Filesystem.", "backport": null},
+ {"message": "Added 'reduce' collection to Collection, and 'min' and 'max' to Eloquent Collection.", "backport": null},
+ {"message": "Added 'firstOrCreate' and 'firstOrNew' methods to Eloquent model.", "backport": null},
+ {"message": "Added Redirect::away method to always redirect to external URL with no validation.", "backport": null},
+ {"message": "Added 'double' method to Schema builder.", "backport": null},
+ {"message": "Pass keys to 'map' method on Collection.", "backport": null},
+ {"message": "Added 'orderByRaw' method to query builder.", "backport": null},
+ {"message": "Added --bench option to controller:make Artisan command.", "backport": null},
+ {"message": "Moved newPivot method into model for custom Pivot model instances.", "backport": null},
+ {"message": "Added 'shared' method to View to pull a single shared item out.", "backport": null},
+ {"message": "Added assertHasOldInput test assertion.", "backport": null},
+ {"message": "Added slick new 'sometimes' method to Validator for conditionally adding rules.", "backport": null},
+ {"message": "Added new '--sleep' option to queue:listen command to control time between jobs.", "backport": null},
+ {"message": "Allow Blade processing on echos to be escaped using the @ sign.", "backport": null},
+ {"message": "Allow custom messages to be registered when using Validator::extend.", "backport": null},
+ {"message": "Added new auth:clear-reminders command for clearing expired password reminders.", "backport": null},
+ {"message": "Added Cookie::queue method for creating cookies that are automatically attached to the final response.", "backport": null},
+ {"message": "Allow environment to be checked via App::environment method.", "backport": null},
+ {"message": "Add support for order by and limit on MySQL update queries.", "backport": null},
+ {"message": "Tweak Container::resolve to accept a type, new resolvingAny method for all objects.", "backport": null},
+ {"message": "Do not run queue workers while application is in maintenance mode.", "backport": null},
+ {"message": "Values returned from scopes are now returned for chaining.", "backport": null},
+ {"message": "New 'nullableTimestamps' method on Schema builder.", "backport": null},
+ {"message": "Added 'extend' alias method for 'addConnector' in QueueManager class.", "backport": null},
+ {"message": "Fixed exception handling bug that caused HTML to be dumped into console.", "backport": null}
+ ]
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Foundation/start.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Foundation/start.php b/vendor/laravel/framework/src/Illuminate/Foundation/start.php
new file mode 100755
index 0000000..ad84ec1
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Foundation/start.php
@@ -0,0 +1,271 @@
+<?php
+
+/*
+|--------------------------------------------------------------------------
+| Set PHP Error Reporting Options
+|--------------------------------------------------------------------------
+|
+| Here we will set the strictest error reporting options, and also turn
+| off PHP's error reporting, since all errors will be handled by the
+| framework and we don't want any output leaking back to the user.
+|
+*/
+
+error_reporting(-1);
+
+/*
+|--------------------------------------------------------------------------
+| Check Extensions
+|--------------------------------------------------------------------------
+|
+| Laravel requires a few extensions to function. Here we will check the
+| loaded extensions to make sure they are present. If not we'll just
+| bail from here. Otherwise, Composer will crazily fall back code.
+|
+*/
+
+if ( ! extension_loaded('mcrypt'))
+{
+ echo 'Mcrypt PHP extension required.'.PHP_EOL;
+
+ exit(1);
+}
+
+/*
+|--------------------------------------------------------------------------
+| Register Class Imports
+|--------------------------------------------------------------------------
+|
+| Here we will just import a few classes that we need during the booting
+| of the framework. These are mainly classes that involve loading the
+| config files for this application, such as the config repository.
+|
+*/
+
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Facade;
+use Illuminate\Foundation\AliasLoader;
+use Illuminate\Config\EnvironmentVariables;
+use Illuminate\Config\Repository as Config;
+
+/*
+|--------------------------------------------------------------------------
+| Bind The Application In The Container
+|--------------------------------------------------------------------------
+|
+| This may look strange, but we actually want to bind the app into itself
+| in case we need to Facade test an application. This will allow us to
+| resolve the "app" key out of this container for this app's facade.
+|
+*/
+
+$app->instance('app', $app);
+
+/*
+|--------------------------------------------------------------------------
+| Check For The Test Environment
+|--------------------------------------------------------------------------
+|
+| If the "unitTesting" variable is set, it means we are running the unit
+| tests for the application and should override this environment here
+| so we use the right configuration. The flag gets set by TestCase.
+|
+*/
+
+if (isset($unitTesting))
+{
+ $app['env'] = $env = $testEnvironment;
+}
+
+/*
+|--------------------------------------------------------------------------
+| Load The Illuminate Facades
+|--------------------------------------------------------------------------
+|
+| The facades provide a terser static interface over the various parts
+| of the application, allowing their methods to be accessed through
+| a mixtures of magic methods and facade derivatives. It's slick.
+|
+*/
+
+Facade::clearResolvedInstances();
+
+Facade::setFacadeApplication($app);
+
+/*
+|--------------------------------------------------------------------------
+| Register Facade Aliases To Full Classes
+|--------------------------------------------------------------------------
+|
+| By default, we use short keys in the container for each of the core
+| pieces of the framework. Here we will register the aliases for a
+| list of all of the fully qualified class names making DI easy.
+|
+*/
+
+$app->registerCoreContainerAliases();
+
+/*
+|--------------------------------------------------------------------------
+| Register The Environment Variables
+|--------------------------------------------------------------------------
+|
+| Here we will register all of the $_ENV and $_SERVER variables into the
+| process so that they're globally available configuration options so
+| sensitive configuration information can be swept out of the code.
+|
+*/
+
+with($envVariables = new EnvironmentVariables(
+ $app->getEnvironmentVariablesLoader()))->load($env);
+
+/*
+|--------------------------------------------------------------------------
+| Register The Configuration Repository
+|--------------------------------------------------------------------------
+|
+| The configuration repository is used to lazily load in the options for
+| this application from the configuration files. The files are easily
+| separated by their concerns so they do not become really crowded.
+|
+*/
+
+$app->instance('config', $config = new Config(
+
+ $app->getConfigLoader(), $env
+
+));
+
+/*
+|--------------------------------------------------------------------------
+| Register Application Exception Handling
+|--------------------------------------------------------------------------
+|
+| We will go ahead and register the application exception handling here
+| which will provide a great output of exception details and a stack
+| trace in the case of exceptions while an application is running.
+|
+*/
+
+$app->startExceptionHandling();
+
+if ($env != 'testing') ini_set('display_errors', 'Off');
+
+/*
+|--------------------------------------------------------------------------
+| Set The Default Timezone
+|--------------------------------------------------------------------------
+|
+| Here we will set the default timezone for PHP. PHP is notoriously mean
+| if the timezone is not explicitly set. This will be used by each of
+| the PHP date and date-time functions throughout the application.
+|
+*/
+
+$config = $app['config']['app'];
+
+date_default_timezone_set($config['timezone']);
+
+/*
+|--------------------------------------------------------------------------
+| Register The Alias Loader
+|--------------------------------------------------------------------------
+|
+| The alias loader is responsible for lazy loading the class aliases setup
+| for the application. We will only register it if the "config" service
+| is bound in the application since it contains the alias definitions.
+|
+*/
+
+$aliases = $config['aliases'];
+
+AliasLoader::getInstance($aliases)->register();
+
+/*
+|--------------------------------------------------------------------------
+| Enable HTTP Method Override
+|--------------------------------------------------------------------------
+|
+| Next we will tell the request class to allow HTTP method overriding
+| since we use this to simulate PUT and DELETE requests from forms
+| as they are not currently supported by plain HTML form setups.
+|
+*/
+
+Request::enableHttpMethodParameterOverride();
+
+/*
+|--------------------------------------------------------------------------
+| Register The Core Service Providers
+|--------------------------------------------------------------------------
+|
+| The Illuminate core service providers register all of the core pieces
+| of the Illuminate framework including session, caching, encryption
+| and more. It's simply a convenient wrapper for the registration.
+|
+*/
+
+$providers = $config['providers'];
+
+$app->getProviderRepository()->load($app, $providers);
+
+/*
+|--------------------------------------------------------------------------
+| Register Booted Start Files
+|--------------------------------------------------------------------------
+|
+| Once the application has been booted there are several "start" files
+| we will want to include. We'll register our "booted" handler here
+| so the files are included after the application gets booted up.
+|
+*/
+
+$app->booted(function() use ($app, $env)
+{
+
+ /*
+ |--------------------------------------------------------------------------
+ | Load The Application Start Script
+ |--------------------------------------------------------------------------
+ |
+ | The start scripts gives this application the opportunity to override
+ | any of the existing IoC bindings, as well as register its own new
+ | bindings for things like repositories, etc. We'll load it here.
+ |
+ */
+
+ $path = $app['path'].'/start/global.php';
+
+ if (file_exists($path)) require $path;
+
+ /*
+ |--------------------------------------------------------------------------
+ | Load The Environment Start Script
+ |--------------------------------------------------------------------------
+ |
+ | The environment start script is only loaded if it exists for the app
+ | environment currently active, which allows some actions to happen
+ | in one environment while not in the other, keeping things clean.
+ |
+ */
+
+ $path = $app['path']."/start/{$env}.php";
+
+ if (file_exists($path)) require $path;
+
+ /*
+ |--------------------------------------------------------------------------
+ | Load The Application Routes
+ |--------------------------------------------------------------------------
+ |
+ | The Application routes are kept separate from the application starting
+ | just to keep the file a little cleaner. We'll go ahead and load in
+ | all of the routes now and return the application to the callers.
+ |
+ */
+
+ $routes = $app['path'].'/routes.php';
+
+ if (file_exists($routes)) require $routes;
+
+});
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php b/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php
new file mode 100755
index 0000000..935c5d5
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php
@@ -0,0 +1,73 @@
+<?php namespace Illuminate\Hashing;
+
+class BcryptHasher implements HasherInterface {
+
+ /**
+ * Default crypt cost factor.
+ *
+ * @var int
+ */
+ protected $rounds = 10;
+
+ /**
+ * Hash the given value.
+ *
+ * @param string $value
+ * @param array $options
+ * @return string
+ *
+ * @throws \RuntimeException
+ */
+ public function make($value, array $options = array())
+ {
+ $cost = isset($options['rounds']) ? $options['rounds'] : $this->rounds;
+
+ $hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost));
+
+ if ($hash === false)
+ {
+ throw new \RuntimeException("Bcrypt hashing not supported.");
+ }
+
+ return $hash;
+ }
+
+ /**
+ * Check the given plain value against a hash.
+ *
+ * @param string $value
+ * @param string $hashedValue
+ * @param array $options
+ * @return bool
+ */
+ public function check($value, $hashedValue, array $options = array())
+ {
+ return password_verify($value, $hashedValue);
+ }
+
+ /**
+ * Check if the given hash has been hashed using the given options.
+ *
+ * @param string $hashedValue
+ * @param array $options
+ * @return bool
+ */
+ public function needsRehash($hashedValue, array $options = array())
+ {
+ $cost = isset($options['rounds']) ? $options['rounds'] : $this->rounds;
+
+ return password_needs_rehash($hashedValue, PASSWORD_BCRYPT, array('cost' => $cost));
+ }
+
+ /**
+ * Set the default crypt cost factor.
+ *
+ * @param int $rounds
+ * @return void
+ */
+ public function setRounds($rounds)
+ {
+ $this->rounds = (int) $rounds;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php
new file mode 100755
index 0000000..cc1f5c2
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Hashing/HashServiceProvider.php
@@ -0,0 +1,34 @@
+<?php namespace Illuminate\Hashing;
+
+use Illuminate\Support\ServiceProvider;
+
+class HashServiceProvider extends ServiceProvider {
+
+ /**
+ * Indicates if loading of the provider is deferred.
+ *
+ * @var bool
+ */
+ protected $defer = true;
+
+ /**
+ * Register the service provider.
+ *
+ * @return void
+ */
+ public function register()
+ {
+ $this->app->bindShared('hash', function() { return new BcryptHasher; });
+ }
+
+ /**
+ * Get the services provided by the provider.
+ *
+ * @return array
+ */
+ public function provides()
+ {
+ return array('hash');
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Hashing/HasherInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Hashing/HasherInterface.php b/vendor/laravel/framework/src/Illuminate/Hashing/HasherInterface.php
new file mode 100755
index 0000000..7070690
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Hashing/HasherInterface.php
@@ -0,0 +1,33 @@
+<?php namespace Illuminate\Hashing;
+
+interface HasherInterface {
+
+ /**
+ * Hash the given value.
+ *
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function make($value, array $options = array());
+
+ /**
+ * Check the given plain value against a hash.
+ *
+ * @param string $value
+ * @param string $hashedValue
+ * @param array $options
+ * @return bool
+ */
+ public function check($value, $hashedValue, array $options = array());
+
+ /**
+ * Check if the given hash has been hashed using the given options.
+ *
+ * @param string $hashedValue
+ * @param array $options
+ * @return bool
+ */
+ public function needsRehash($hashedValue, array $options = array());
+
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Hashing/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Hashing/composer.json b/vendor/laravel/framework/src/Illuminate/Hashing/composer.json
new file mode 100755
index 0000000..b85b2cc
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Hashing/composer.json
@@ -0,0 +1,27 @@
+{
+ "name": "illuminate/hashing",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylorotwell@gmail.com"
+ }
+ ],
+ "require": {
+ "php": ">=5.4.0",
+ "illuminate/support": "4.2.*",
+ "ircmaxell/password-compat": "~1.0"
+ },
+ "autoload": {
+ "psr-0": {
+ "Illuminate\\Hashing": ""
+ }
+ },
+ "target-dir": "Illuminate/Hashing",
+ "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/Html/FormBuilder.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Html/FormBuilder.php b/vendor/laravel/framework/src/Illuminate/Html/FormBuilder.php
new file mode 100755
index 0000000..0e60ddb
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Html/FormBuilder.php
@@ -0,0 +1,985 @@
+<?php namespace Illuminate\Html;
+
+use Illuminate\Routing\UrlGenerator;
+use Illuminate\Session\Store as Session;
+use Illuminate\Support\Traits\MacroableTrait;
+
+class FormBuilder {
+
+ use MacroableTrait;
+
+ /**
+ * The HTML builder instance.
+ *
+ * @var \Illuminate\Html\HtmlBuilder
+ */
+ protected $html;
+
+ /**
+ * The URL generator instance.
+ *
+ * @var \Illuminate\Routing\UrlGenerator $url
+ */
+ protected $url;
+
+ /**
+ * The CSRF token used by the form builder.
+ *
+ * @var string
+ */
+ protected $csrfToken;
+
+ /**
+ * The session store implementation.
+ *
+ * @var \Illuminate\Session\Store
+ */
+ protected $session;
+
+ /**
+ * The current model instance for the form.
+ *
+ * @var mixed
+ */
+ protected $model;
+
+ /**
+ * An array of label names we've created.
+ *
+ * @var array
+ */
+ protected $labels = array();
+
+ /**
+ * The reserved form open attributes.
+ *
+ * @var array
+ */
+ protected $reserved = array('method', 'url', 'route', 'action', 'files');
+
+ /**
+ * The form methods that should be spoofed, in uppercase.
+ *
+ * @var array
+ */
+ protected $spoofedMethods = array('DELETE', 'PATCH', 'PUT');
+
+ /**
+ * The types of inputs to not fill values on by default.
+ *
+ * @var array
+ */
+ protected $skipValueTypes = array('file', 'password', 'checkbox', 'radio');
+
+ /**
+ * Create a new form builder instance.
+ *
+ * @param \Illuminate\Routing\UrlGenerator $url
+ * @param \Illuminate\Html\HtmlBuilder $html
+ * @param string $csrfToken
+ * @return void
+ */
+ public function __construct(HtmlBuilder $html, UrlGenerator $url, $csrfToken)
+ {
+ $this->url = $url;
+ $this->html = $html;
+ $this->csrfToken = $csrfToken;
+ }
+
+ /**
+ * Open up a new HTML form.
+ *
+ * @param array $options
+ * @return string
+ */
+ public function open(array $options = array())
+ {
+ $method = array_get($options, 'method', 'post');
+
+ // We need to extract the proper method from the attributes. If the method is
+ // something other than GET or POST we'll use POST since we will spoof the
+ // actual method since forms don't support the reserved methods in HTML.
+ $attributes['method'] = $this->getMethod($method);
+
+ $attributes['action'] = $this->getAction($options);
+
+ $attributes['accept-charset'] = 'UTF-8';
+
+ // If the method is PUT, PATCH or DELETE we will need to add a spoofer hidden
+ // field that will instruct the Symfony request to pretend the method is a
+ // different method than it actually is, for convenience from the forms.
+ $append = $this->getAppendage($method);
+
+ if (isset($options['files']) && $options['files'])
+ {
+ $options['enctype'] = 'multipart/form-data';
+ }
+
+ // Finally we're ready to create the final form HTML field. We will attribute
+ // format the array of attributes. We will also add on the appendage which
+ // is used to spoof requests for this PUT, PATCH, etc. methods on forms.
+ $attributes = array_merge(
+
+ $attributes, array_except($options, $this->reserved)
+
+ );
+
+ // Finally, we will concatenate all of the attributes into a single string so
+ // we can build out the final form open statement. We'll also append on an
+ // extra value for the hidden _method field if it's needed for the form.
+ $attributes = $this->html->attributes($attributes);
+
+ return '<form'.$attributes.'>'.$append;
+ }
+
+ /**
+ * Create a new model based form builder.
+ *
+ * @param mixed $model
+ * @param array $options
+ * @return string
+ */
+ public function model($model, array $options = array())
+ {
+ $this->model = $model;
+
+ return $this->open($options);
+ }
+
+ /**
+ * Set the model instance on the form builder.
+ *
+ * @param mixed $model
+ * @return void
+ */
+ public function setModel($model)
+ {
+ $this->model = $model;
+ }
+
+ /**
+ * Close the current form.
+ *
+ * @return string
+ */
+ public function close()
+ {
+ $this->labels = array();
+
+ $this->model = null;
+
+ return '</form>';
+ }
+
+ /**
+ * Generate a hidden field with the current CSRF token.
+ *
+ * @return string
+ */
+ public function token()
+ {
+ return $this->hidden('_token', $this->csrfToken);
+ }
+
+ /**
+ * Create a form label element.
+ *
+ * @param string $name
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function label($name, $value = null, $options = array())
+ {
+ $this->labels[] = $name;
+
+ $options = $this->html->attributes($options);
+
+ $value = e($this->formatLabel($name, $value));
+
+ return '<label for="'.$name.'"'.$options.'>'.$value.'</label>';
+ }
+
+ /**
+ * Format the label value.
+ *
+ * @param string $name
+ * @param string|null $value
+ * @return string
+ */
+ protected function formatLabel($name, $value)
+ {
+ return $value ?: ucwords(str_replace('_', ' ', $name));
+ }
+
+ /**
+ * Create a form input field.
+ *
+ * @param string $type
+ * @param string $name
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function input($type, $name, $value = null, $options = array())
+ {
+ if ( ! isset($options['name'])) $options['name'] = $name;
+
+ // We will get the appropriate value for the given field. We will look for the
+ // value in the session for the value in the old input data then we'll look
+ // in the model instance if one is set. Otherwise we will just use empty.
+ $id = $this->getIdAttribute($name, $options);
+
+ if ( ! in_array($type, $this->skipValueTypes))
+ {
+ $value = $this->getValueAttribute($name, $value);
+ }
+
+ // Once we have the type, value, and ID we can merge them into the rest of the
+ // attributes array so we can convert them into their HTML attribute format
+ // when creating the HTML element. Then, we will return the entire input.
+ $merge = compact('type', 'value', 'id');
+
+ $options = array_merge($options, $merge);
+
+ return '<input'.$this->html->attributes($options).'>';
+ }
+
+ /**
+ * Create a text input field.
+ *
+ * @param string $name
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function text($name, $value = null, $options = array())
+ {
+ return $this->input('text', $name, $value, $options);
+ }
+
+ /**
+ * Create a password input field.
+ *
+ * @param string $name
+ * @param array $options
+ * @return string
+ */
+ public function password($name, $options = array())
+ {
+ return $this->input('password', $name, '', $options);
+ }
+
+ /**
+ * Create a hidden input field.
+ *
+ * @param string $name
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function hidden($name, $value = null, $options = array())
+ {
+ return $this->input('hidden', $name, $value, $options);
+ }
+
+ /**
+ * Create an e-mail input field.
+ *
+ * @param string $name
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function email($name, $value = null, $options = array())
+ {
+ return $this->input('email', $name, $value, $options);
+ }
+
+ /**
+ * Create a url input field.
+ *
+ * @param string $name
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function url($name, $value = null, $options = array())
+ {
+ return $this->input('url', $name, $value, $options);
+ }
+
+ /**
+ * Create a file input field.
+ *
+ * @param string $name
+ * @param array $options
+ * @return string
+ */
+ public function file($name, $options = array())
+ {
+ return $this->input('file', $name, null, $options);
+ }
+
+ /**
+ * Create a textarea input field.
+ *
+ * @param string $name
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function textarea($name, $value = null, $options = array())
+ {
+ if ( ! isset($options['name'])) $options['name'] = $name;
+
+ // Next we will look for the rows and cols attributes, as each of these are put
+ // on the textarea element definition. If they are not present, we will just
+ // assume some sane default values for these attributes for the developer.
+ $options = $this->setTextAreaSize($options);
+
+ $options['id'] = $this->getIdAttribute($name, $options);
+
+ $value = (string) $this->getValueAttribute($name, $value);
+
+ unset($options['size']);
+
+ // Next we will convert the attributes into a string form. Also we have removed
+ // the size attribute, as it was merely a short-cut for the rows and cols on
+ // the element. Then we'll create the final textarea elements HTML for us.
+ $options = $this->html->attributes($options);
+
+ return '<textarea'.$options.'>'.e($value).'</textarea>';
+ }
+
+ /**
+ * Set the text area size on the attributes.
+ *
+ * @param array $options
+ * @return array
+ */
+ protected function setTextAreaSize($options)
+ {
+ if (isset($options['size']))
+ {
+ return $this->setQuickTextAreaSize($options);
+ }
+
+ // If the "size" attribute was not specified, we will just look for the regular
+ // columns and rows attributes, using sane defaults if these do not exist on
+ // the attributes array. We'll then return this entire options array back.
+ $cols = array_get($options, 'cols', 50);
+
+ $rows = array_get($options, 'rows', 10);
+
+ return array_merge($options, compact('cols', 'rows'));
+ }
+
+ /**
+ * Set the text area size using the quick "size" attribute.
+ *
+ * @param array $options
+ * @return array
+ */
+ protected function setQuickTextAreaSize($options)
+ {
+ $segments = explode('x', $options['size']);
+
+ return array_merge($options, array('cols' => $segments[0], 'rows' => $segments[1]));
+ }
+
+ /**
+ * Create a number input field.
+ *
+ * @param string $name
+ * @param string|null $value
+ * @param array $options
+ * @return string
+ */
+ public function number($name, $value = null, $options = array())
+ {
+ return $this->input('number', $name, $value, $options);
+ }
+
+ /**
+ * Create a select box field.
+ *
+ * @param string $name
+ * @param array $list
+ * @param string $selected
+ * @param array $options
+ * @return string
+ */
+ public function select($name, $list = array(), $selected = null, $options = array())
+ {
+ // When building a select box the "value" attribute is really the selected one
+ // so we will use that when checking the model or session for a value which
+ // should provide a convenient method of re-populating the forms on post.
+ $selected = $this->getValueAttribute($name, $selected);
+
+ $options['id'] = $this->getIdAttribute($name, $options);
+
+ if ( ! isset($options['name'])) $options['name'] = $name;
+
+ // We will simply loop through the options and build an HTML value for each of
+ // them until we have an array of HTML declarations. Then we will join them
+ // all together into one single HTML element that can be put on the form.
+ $html = array();
+
+ foreach ($list as $value => $display)
+ {
+ $html[] = $this->getSelectOption($display, $value, $selected);
+ }
+
+ // Once we have all of this HTML, we can join this into a single element after
+ // formatting the attributes into an HTML "attributes" string, then we will
+ // build out a final select statement, which will contain all the values.
+ $options = $this->html->attributes($options);
+
+ $list = implode('', $html);
+
+ return "<select{$options}>{$list}</select>";
+ }
+
+ /**
+ * Create a select range field.
+ *
+ * @param string $name
+ * @param string $begin
+ * @param string $end
+ * @param string $selected
+ * @param array $options
+ * @return string
+ */
+ public function selectRange($name, $begin, $end, $selected = null, $options = array())
+ {
+ $range = array_combine($range = range($begin, $end), $range);
+
+ return $this->select($name, $range, $selected, $options);
+ }
+
+ /**
+ * Create a select year field.
+ *
+ * @param string $name
+ * @param string $begin
+ * @param string $end
+ * @param string $selected
+ * @param array $options
+ * @return string
+ */
+ public function selectYear()
+ {
+ return call_user_func_array(array($this, 'selectRange'), func_get_args());
+ }
+
+ /**
+ * Create a select month field.
+ *
+ * @param string $name
+ * @param string $selected
+ * @param array $options
+ * @param string $format
+ * @return string
+ */
+ public function selectMonth($name, $selected = null, $options = array(), $format = '%B')
+ {
+ $months = array();
+
+ foreach (range(1, 12) as $month)
+ {
+ $months[$month] = strftime($format, mktime(0, 0, 0, $month, 1));
+ }
+
+ return $this->select($name, $months, $selected, $options);
+ }
+
+ /**
+ * Get the select option for the given value.
+ *
+ * @param string $display
+ * @param string $value
+ * @param string $selected
+ * @return string
+ */
+ public function getSelectOption($display, $value, $selected)
+ {
+ if (is_array($display))
+ {
+ return $this->optionGroup($display, $value, $selected);
+ }
+
+ return $this->option($display, $value, $selected);
+ }
+
+ /**
+ * Create an option group form element.
+ *
+ * @param array $list
+ * @param string $label
+ * @param string $selected
+ * @return string
+ */
+ protected function optionGroup($list, $label, $selected)
+ {
+ $html = array();
+
+ foreach ($list as $value => $display)
+ {
+ $html[] = $this->option($display, $value, $selected);
+ }
+
+ return '<optgroup label="'.e($label).'">'.implode('', $html).'</optgroup>';
+ }
+
+ /**
+ * Create a select element option.
+ *
+ * @param string $display
+ * @param string $value
+ * @param string $selected
+ * @return string
+ */
+ protected function option($display, $value, $selected)
+ {
+ $selected = $this->getSelectedValue($value, $selected);
+
+ $options = array('value' => e($value), 'selected' => $selected);
+
+ return '<option'.$this->html->attributes($options).'>'.e($display).'</option>';
+ }
+
+ /**
+ * Determine if the value is selected.
+ *
+ * @param string $value
+ * @param string $selected
+ * @return string
+ */
+ protected function getSelectedValue($value, $selected)
+ {
+ if (is_array($selected))
+ {
+ return in_array($value, $selected) ? 'selected' : null;
+ }
+
+ return ((string) $value == (string) $selected) ? 'selected' : null;
+ }
+
+ /**
+ * Create a checkbox input field.
+ *
+ * @param string $name
+ * @param mixed $value
+ * @param bool $checked
+ * @param array $options
+ * @return string
+ */
+ public function checkbox($name, $value = 1, $checked = null, $options = array())
+ {
+ return $this->checkable('checkbox', $name, $value, $checked, $options);
+ }
+
+ /**
+ * Create a radio button input field.
+ *
+ * @param string $name
+ * @param mixed $value
+ * @param bool $checked
+ * @param array $options
+ * @return string
+ */
+ public function radio($name, $value = null, $checked = null, $options = array())
+ {
+ if (is_null($value)) $value = $name;
+
+ return $this->checkable('radio', $name, $value, $checked, $options);
+ }
+
+ /**
+ * Create a checkable input field.
+ *
+ * @param string $type
+ * @param string $name
+ * @param mixed $value
+ * @param bool $checked
+ * @param array $options
+ * @return string
+ */
+ protected function checkable($type, $name, $value, $checked, $options)
+ {
+ $checked = $this->getCheckedState($type, $name, $value, $checked);
+
+ if ($checked) $options['checked'] = 'checked';
+
+ return $this->input($type, $name, $value, $options);
+ }
+
+ /**
+ * Get the check state for a checkable input.
+ *
+ * @param string $type
+ * @param string $name
+ * @param mixed $value
+ * @param bool $checked
+ * @return bool
+ */
+ protected function getCheckedState($type, $name, $value, $checked)
+ {
+ switch ($type)
+ {
+ case 'checkbox':
+ return $this->getCheckboxCheckedState($name, $value, $checked);
+
+ case 'radio':
+ return $this->getRadioCheckedState($name, $value, $checked);
+
+ default:
+ return $this->getValueAttribute($name) == $value;
+ }
+ }
+
+ /**
+ * Get the check state for a checkbox input.
+ *
+ * @param string $name
+ * @param mixed $value
+ * @param bool $checked
+ * @return bool
+ */
+ protected function getCheckboxCheckedState($name, $value, $checked)
+ {
+ if (isset($this->session) && ! $this->oldInputIsEmpty() && is_null($this->old($name))) return false;
+
+ if ($this->missingOldAndModel($name)) return $checked;
+
+ $posted = $this->getValueAttribute($name);
+
+ return is_array($posted) ? in_array($value, $posted) : (bool) $posted;
+ }
+
+ /**
+ * Get the check state for a radio input.
+ *
+ * @param string $name
+ * @param mixed $value
+ * @param bool $checked
+ * @return bool
+ */
+ protected function getRadioCheckedState($name, $value, $checked)
+ {
+ if ($this->missingOldAndModel($name)) return $checked;
+
+ return $this->getValueAttribute($name) == $value;
+ }
+
+ /**
+ * Determine if old input or model input exists for a key.
+ *
+ * @param string $name
+ * @return bool
+ */
+ protected function missingOldAndModel($name)
+ {
+ return (is_null($this->old($name)) && is_null($this->getModelValueAttribute($name)));
+ }
+
+ /**
+ * Create a HTML reset input element.
+ *
+ * @param string $value
+ * @param array $attributes
+ * @return string
+ */
+ public function reset($value, $attributes = array())
+ {
+ return $this->input('reset', null, $value, $attributes);
+ }
+
+ /**
+ * Create a HTML image input element.
+ *
+ * @param string $url
+ * @param string $name
+ * @param array $attributes
+ * @return string
+ */
+ public function image($url, $name = null, $attributes = array())
+ {
+ $attributes['src'] = $this->url->asset($url);
+
+ return $this->input('image', $name, null, $attributes);
+ }
+
+ /**
+ * Create a submit button element.
+ *
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function submit($value = null, $options = array())
+ {
+ return $this->input('submit', null, $value, $options);
+ }
+
+ /**
+ * Create a button element.
+ *
+ * @param string $value
+ * @param array $options
+ * @return string
+ */
+ public function button($value = null, $options = array())
+ {
+ if ( ! array_key_exists('type', $options))
+ {
+ $options['type'] = 'button';
+ }
+
+ return '<button'.$this->html->attributes($options).'>'.$value.'</button>';
+ }
+
+ /**
+ * Parse the form action method.
+ *
+ * @param string $method
+ * @return string
+ */
+ protected function getMethod($method)
+ {
+ $method = strtoupper($method);
+
+ return $method != 'GET' ? 'POST' : $method;
+ }
+
+ /**
+ * Get the form action from the options.
+ *
+ * @param array $options
+ * @return string
+ */
+ protected function getAction(array $options)
+ {
+ // We will also check for a "route" or "action" parameter on the array so that
+ // developers can easily specify a route or controller action when creating
+ // a form providing a convenient interface for creating the form actions.
+ if (isset($options['url']))
+ {
+ return $this->getUrlAction($options['url']);
+ }
+
+ if (isset($options['route']))
+ {
+ return $this->getRouteAction($options['route']);
+ }
+
+ // If an action is available, we are attempting to open a form to a controller
+ // action route. So, we will use the URL generator to get the path to these
+ // actions and return them from the method. Otherwise, we'll use current.
+ elseif (isset($options['action']))
+ {
+ return $this->getControllerAction($options['action']);
+ }
+
+ return $this->url->current();
+ }
+
+ /**
+ * Get the action for a "url" option.
+ *
+ * @param array|string $options
+ * @return string
+ */
+ protected function getUrlAction($options)
+ {
+ if (is_array($options))
+ {
+ return $this->url->to($options[0], array_slice($options, 1));
+ }
+
+ return $this->url->to($options);
+ }
+
+ /**
+ * Get the action for a "route" option.
+ *
+ * @param array|string $options
+ * @return string
+ */
+ protected function getRouteAction($options)
+ {
+ if (is_array($options))
+ {
+ return $this->url->route($options[0], array_slice($options, 1));
+ }
+
+ return $this->url->route($options);
+ }
+
+ /**
+ * Get the action for an "action" option.
+ *
+ * @param array|string $options
+ * @return string
+ */
+ protected function getControllerAction($options)
+ {
+ if (is_array($options))
+ {
+ return $this->url->action($options[0], array_slice($options, 1));
+ }
+
+ return $this->url->action($options);
+ }
+
+ /**
+ * Get the form appendage for the given method.
+ *
+ * @param string $method
+ * @return string
+ */
+ protected function getAppendage($method)
+ {
+ list($method, $appendage) = array(strtoupper($method), '');
+
+ // If the HTTP method is in this list of spoofed methods, we will attach the
+ // method spoofer hidden input to the form. This allows us to use regular
+ // form to initiate PUT and DELETE requests in addition to the typical.
+ if (in_array($method, $this->spoofedMethods))
+ {
+ $appendage .= $this->hidden('_method', $method);
+ }
+
+ // If the method is something other than GET we will go ahead and attach the
+ // CSRF token to the form, as this can't hurt and is convenient to simply
+ // always have available on every form the developers creates for them.
+ if ($method != 'GET')
+ {
+ $appendage .= $this->token();
+ }
+
+ return $appendage;
+ }
+
+ /**
+ * Get the ID attribute for a field name.
+ *
+ * @param string $name
+ * @param array $attributes
+ * @return string
+ */
+ public function getIdAttribute($name, $attributes)
+ {
+ if (array_key_exists('id', $attributes))
+ {
+ return $attributes['id'];
+ }
+
+ if (in_array($name, $this->labels))
+ {
+ return $name;
+ }
+ }
+
+ /**
+ * Get the value that should be assigned to the field.
+ *
+ * @param string $name
+ * @param string $value
+ * @return string
+ */
+ public function getValueAttribute($name, $value = null)
+ {
+ if (is_null($name)) return $value;
+
+ if ( ! is_null($this->old($name)))
+ {
+ return $this->old($name);
+ }
+
+ if ( ! is_null($value)) return $value;
+
+ if (isset($this->model))
+ {
+ return $this->getModelValueAttribute($name);
+ }
+ }
+
+ /**
+ * Get the model value that should be assigned to the field.
+ *
+ * @param string $name
+ * @return string
+ */
+ protected function getModelValueAttribute($name)
+ {
+ if (is_object($this->model))
+ {
+ return object_get($this->model, $this->transformKey($name));
+ }
+ elseif (is_array($this->model))
+ {
+ return array_get($this->model, $this->transformKey($name));
+ }
+ }
+
+ /**
+ * Get a value from the session's old input.
+ *
+ * @param string $name
+ * @return string
+ */
+ public function old($name)
+ {
+ if (isset($this->session))
+ {
+ return $this->session->getOldInput($this->transformKey($name));
+ }
+ }
+
+ /**
+ * Determine if the old input is empty.
+ *
+ * @return bool
+ */
+ public function oldInputIsEmpty()
+ {
+ return (isset($this->session) && count($this->session->getOldInput()) == 0);
+ }
+
+ /**
+ * Transform key from array to dot syntax.
+ *
+ * @param string $key
+ * @return string
+ */
+ protected function transformKey($key)
+ {
+ return str_replace(array('.', '[]', '[', ']'), array('_', '', '.', ''), $key);
+ }
+
+ /**
+ * Get the session store implementation.
+ *
+ * @return \Illuminate\Session\Store $session
+ */
+ public function getSessionStore()
+ {
+ return $this->session;
+ }
+
+ /**
+ * Set the session store implementation.
+ *
+ * @param \Illuminate\Session\Store $session
+ * @return $this
+ */
+ public function setSessionStore(Session $session)
+ {
+ $this->session = $session;
+
+ return $this;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Html/HtmlBuilder.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Html/HtmlBuilder.php b/vendor/laravel/framework/src/Illuminate/Html/HtmlBuilder.php
new file mode 100755
index 0000000..fdab724
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Html/HtmlBuilder.php
@@ -0,0 +1,375 @@
+<?php namespace Illuminate\Html;
+
+use Illuminate\Routing\UrlGenerator;
+use Illuminate\Support\Traits\MacroableTrait;
+
+class HtmlBuilder {
+
+ use MacroableTrait;
+
+ /**
+ * The URL generator instance.
+ *
+ * @var \Illuminate\Routing\UrlGenerator
+ */
+ protected $url;
+
+ /**
+ * Create a new HTML builder instance.
+ *
+ * @param \Illuminate\Routing\UrlGenerator $url
+ * @return void
+ */
+ public function __construct(UrlGenerator $url = null)
+ {
+ $this->url = $url;
+ }
+
+ /**
+ * Convert an HTML string to entities.
+ *
+ * @param string $value
+ * @return string
+ */
+ public function entities($value)
+ {
+ return htmlentities($value, ENT_QUOTES, 'UTF-8', false);
+ }
+
+ /**
+ * Convert entities to HTML characters.
+ *
+ * @param string $value
+ * @return string
+ */
+ public function decode($value)
+ {
+ return html_entity_decode($value, ENT_QUOTES, 'UTF-8');
+ }
+
+ /**
+ * Generate a link to a JavaScript file.
+ *
+ * @param string $url
+ * @param array $attributes
+ * @param bool $secure
+ * @return string
+ */
+ public function script($url, $attributes = array(), $secure = null)
+ {
+ $attributes['src'] = $this->url->asset($url, $secure);
+
+ return '<script'.$this->attributes($attributes).'></script>'.PHP_EOL;
+ }
+
+ /**
+ * Generate a link to a CSS file.
+ *
+ * @param string $url
+ * @param array $attributes
+ * @param bool $secure
+ * @return string
+ */
+ public function style($url, $attributes = array(), $secure = null)
+ {
+ $defaults = array('media' => 'all', 'type' => 'text/css', 'rel' => 'stylesheet');
+
+ $attributes = $attributes + $defaults;
+
+ $attributes['href'] = $this->url->asset($url, $secure);
+
+ return '<link'.$this->attributes($attributes).'>'.PHP_EOL;
+ }
+
+ /**
+ * Generate an HTML image element.
+ *
+ * @param string $url
+ * @param string $alt
+ * @param array $attributes
+ * @param bool $secure
+ * @return string
+ */
+ public function image($url, $alt = null, $attributes = array(), $secure = null)
+ {
+ $attributes['alt'] = $alt;
+
+ return '<img src="'.$this->url->asset($url, $secure).'"'.$this->attributes($attributes).'>';
+ }
+
+ /**
+ * Generate a HTML link.
+ *
+ * @param string $url
+ * @param string $title
+ * @param array $attributes
+ * @param bool $secure
+ * @return string
+ */
+ public function link($url, $title = null, $attributes = array(), $secure = null)
+ {
+ $url = $this->url->to($url, array(), $secure);
+
+ if (is_null($title) || $title === false) $title = $url;
+
+ return '<a href="'.$url.'"'.$this->attributes($attributes).'>'.$this->entities($title).'</a>';
+ }
+
+ /**
+ * Generate a HTTPS HTML link.
+ *
+ * @param string $url
+ * @param string $title
+ * @param array $attributes
+ * @return string
+ */
+ public function secureLink($url, $title = null, $attributes = array())
+ {
+ return $this->link($url, $title, $attributes, true);
+ }
+
+ /**
+ * Generate a HTML link to an asset.
+ *
+ * @param string $url
+ * @param string $title
+ * @param array $attributes
+ * @param bool $secure
+ * @return string
+ */
+ public function linkAsset($url, $title = null, $attributes = array(), $secure = null)
+ {
+ $url = $this->url->asset($url, $secure);
+
+ return $this->link($url, $title ?: $url, $attributes, $secure);
+ }
+
+ /**
+ * Generate a HTTPS HTML link to an asset.
+ *
+ * @param string $url
+ * @param string $title
+ * @param array $attributes
+ * @return string
+ */
+ public function linkSecureAsset($url, $title = null, $attributes = array())
+ {
+ return $this->linkAsset($url, $title, $attributes, true);
+ }
+
+ /**
+ * Generate a HTML link to a named route.
+ *
+ * @param string $name
+ * @param string $title
+ * @param array $parameters
+ * @param array $attributes
+ * @return string
+ */
+ public function linkRoute($name, $title = null, $parameters = array(), $attributes = array())
+ {
+ return $this->link($this->url->route($name, $parameters), $title, $attributes);
+ }
+
+ /**
+ * Generate a HTML link to a controller action.
+ *
+ * @param string $action
+ * @param string $title
+ * @param array $parameters
+ * @param array $attributes
+ * @return string
+ */
+ public function linkAction($action, $title = null, $parameters = array(), $attributes = array())
+ {
+ return $this->link($this->url->action($action, $parameters), $title, $attributes);
+ }
+
+ /**
+ * Generate a HTML link to an email address.
+ *
+ * @param string $email
+ * @param string $title
+ * @param array $attributes
+ * @return string
+ */
+ public function mailto($email, $title = null, $attributes = array())
+ {
+ $email = $this->email($email);
+
+ $title = $title ?: $email;
+
+ $email = $this->obfuscate('mailto:') . $email;
+
+ return '<a href="'.$email.'"'.$this->attributes($attributes).'>'.$this->entities($title).'</a>';
+ }
+
+ /**
+ * Obfuscate an e-mail address to prevent spam-bots from sniffing it.
+ *
+ * @param string $email
+ * @return string
+ */
+ public function email($email)
+ {
+ return str_replace('@', '@', $this->obfuscate($email));
+ }
+
+ /**
+ * Generate an ordered list of items.
+ *
+ * @param array $list
+ * @param array $attributes
+ * @return string
+ */
+ public function ol($list, $attributes = array())
+ {
+ return $this->listing('ol', $list, $attributes);
+ }
+
+ /**
+ * Generate an un-ordered list of items.
+ *
+ * @param array $list
+ * @param array $attributes
+ * @return string
+ */
+ public function ul($list, $attributes = array())
+ {
+ return $this->listing('ul', $list, $attributes);
+ }
+
+ /**
+ * Create a listing HTML element.
+ *
+ * @param string $type
+ * @param array $list
+ * @param array $attributes
+ * @return string
+ */
+ protected function listing($type, $list, $attributes = array())
+ {
+ $html = '';
+
+ if (count($list) == 0) return $html;
+
+ // Essentially we will just spin through the list and build the list of the HTML
+ // elements from the array. We will also handled nested lists in case that is
+ // present in the array. Then we will build out the final listing elements.
+ foreach ($list as $key => $value)
+ {
+ $html .= $this->listingElement($key, $type, $value);
+ }
+
+ $attributes = $this->attributes($attributes);
+
+ return "<{$type}{$attributes}>{$html}</{$type}>";
+ }
+
+ /**
+ * Create the HTML for a listing element.
+ *
+ * @param mixed $key
+ * @param string $type
+ * @param string $value
+ * @return string
+ */
+ protected function listingElement($key, $type, $value)
+ {
+ if (is_array($value))
+ {
+ return $this->nestedListing($key, $type, $value);
+ }
+
+ return '<li>'.e($value).'</li>';
+ }
+
+ /**
+ * Create the HTML for a nested listing attribute.
+ *
+ * @param mixed $key
+ * @param string $type
+ * @param string $value
+ * @return string
+ */
+ protected function nestedListing($key, $type, $value)
+ {
+ if (is_int($key))
+ {
+ return $this->listing($type, $value);
+ }
+
+ return '<li>'.$key.$this->listing($type, $value).'</li>';
+ }
+
+ /**
+ * Build an HTML attribute string from an array.
+ *
+ * @param array $attributes
+ * @return string
+ */
+ public function attributes($attributes)
+ {
+ $html = array();
+
+ // For numeric keys we will assume that the key and the value are the same
+ // as this will convert HTML attributes such as "required" to a correct
+ // form like required="required" instead of using incorrect numerics.
+ foreach ((array) $attributes as $key => $value)
+ {
+ $element = $this->attributeElement($key, $value);
+
+ if ( ! is_null($element)) $html[] = $element;
+ }
+
+ return count($html) > 0 ? ' '.implode(' ', $html) : '';
+ }
+
+ /**
+ * Build a single attribute element.
+ *
+ * @param string $key
+ * @param string $value
+ * @return string
+ */
+ protected function attributeElement($key, $value)
+ {
+ if (is_numeric($key)) $key = $value;
+
+ if ( ! is_null($value)) return $key.'="'.e($value).'"';
+ }
+
+ /**
+ * Obfuscate a string to prevent spam-bots from sniffing it.
+ *
+ * @param string $value
+ * @return string
+ */
+ public function obfuscate($value)
+ {
+ $safe = '';
+
+ foreach (str_split($value) as $letter)
+ {
+ if (ord($letter) > 128) return $letter;
+
+ // To properly obfuscate the value, we will randomly convert each letter to
+ // its entity or hexadecimal representation, keeping a bot from sniffing
+ // the randomly obfuscated letters out of the string on the responses.
+ switch (rand(1, 3))
+ {
+ case 1:
+ $safe .= '&#'.ord($letter).';'; break;
+
+ case 2:
+ $safe .= '&#x'.dechex(ord($letter)).';'; break;
+
+ case 3:
+ $safe .= $letter;
+ }
+ }
+
+ return $safe;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Html/HtmlServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Html/HtmlServiceProvider.php b/vendor/laravel/framework/src/Illuminate/Html/HtmlServiceProvider.php
new file mode 100755
index 0000000..702051e
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Html/HtmlServiceProvider.php
@@ -0,0 +1,64 @@
+<?php namespace Illuminate\Html;
+
+use Illuminate\Support\ServiceProvider;
+
+class HtmlServiceProvider extends ServiceProvider {
+
+ /**
+ * Indicates if loading of the provider is deferred.
+ *
+ * @var bool
+ */
+ protected $defer = true;
+
+ /**
+ * Register the service provider.
+ *
+ * @return void
+ */
+ public function register()
+ {
+ $this->registerHtmlBuilder();
+
+ $this->registerFormBuilder();
+ }
+
+ /**
+ * Register the HTML builder instance.
+ *
+ * @return void
+ */
+ protected function registerHtmlBuilder()
+ {
+ $this->app->bindShared('html', function($app)
+ {
+ return new HtmlBuilder($app['url']);
+ });
+ }
+
+ /**
+ * Register the form builder instance.
+ *
+ * @return void
+ */
+ protected function registerFormBuilder()
+ {
+ $this->app->bindShared('form', function($app)
+ {
+ $form = new FormBuilder($app['html'], $app['url'], $app['session.store']->getToken());
+
+ return $form->setSessionStore($app['session.store']);
+ });
+ }
+
+ /**
+ * Get the services provided by the provider.
+ *
+ * @return array
+ */
+ public function provides()
+ {
+ return array('html', 'form');
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Html/composer.json
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Html/composer.json b/vendor/laravel/framework/src/Illuminate/Html/composer.json
new file mode 100755
index 0000000..a498acf
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Html/composer.json
@@ -0,0 +1,28 @@
+{
+ "name": "illuminate/html",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylorotwell@gmail.com"
+ }
+ ],
+ "require": {
+ "php": ">=5.4.0",
+ "illuminate/http": "4.2.*",
+ "illuminate/session": "4.2.*",
+ "illuminate/support": "4.2.*"
+ },
+ "autoload": {
+ "psr-0": {
+ "Illuminate\\Html": ""
+ }
+ },
+ "target-dir": "Illuminate/Html",
+ "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/Http/FrameGuard.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Http/FrameGuard.php b/vendor/laravel/framework/src/Illuminate/Http/FrameGuard.php
new file mode 100644
index 0000000..9237605
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Http/FrameGuard.php
@@ -0,0 +1,45 @@
+<?php namespace Illuminate\Http;
+
+use Symfony\Component\HttpKernel\HttpKernelInterface;
+use Symfony\Component\HttpFoundation\Request as SymfonyRequest;
+
+class FrameGuard implements HttpKernelInterface {
+
+ /**
+ * The wrapped kernel implementation.
+ *
+ * @var \Symfony\Component\HttpKernel\HttpKernelInterface
+ */
+ protected $app;
+
+ /**
+ * Create a new FrameGuard instance.
+ *
+ * @param \Symfony\Component\HttpKernel\HttpKernelInterface $app
+ * @return void
+ */
+ public function __construct(HttpKernelInterface $app)
+ {
+ $this->app = $app;
+ }
+
+ /**
+ * Handle the given request and get the response.
+ *
+ * @implements HttpKernelInterface::handle
+ *
+ * @param \Symfony\Component\HttpFoundation\Request $request
+ * @param int $type
+ * @param bool $catch
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function handle(SymfonyRequest $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
+ {
+ $response = $this->app->handle($request, $type, $catch);
+
+ $response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);
+
+ return $response;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php b/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php
new file mode 100755
index 0000000..5d1b69b
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php
@@ -0,0 +1,78 @@
+<?php namespace Illuminate\Http;
+
+use Illuminate\Support\Contracts\JsonableInterface;
+
+class JsonResponse extends \Symfony\Component\HttpFoundation\JsonResponse {
+
+ use ResponseTrait;
+
+ /**
+ * The json encoding options.
+ *
+ * @var int
+ */
+ protected $jsonOptions;
+
+ /**
+ * Constructor.
+ *
+ * @param mixed $data
+ * @param int $status
+ * @param array $headers
+ * @param int $options
+ */
+ public function __construct($data = null, $status = 200, $headers = array(), $options = 0)
+ {
+ $this->jsonOptions = $options;
+
+ parent::__construct($data, $status, $headers);
+ }
+
+ /**
+ * Get the json_decoded data from the response
+ *
+ * @param bool $assoc
+ * @param int $depth
+ * @return mixed
+ */
+ public function getData($assoc = false, $depth = 512)
+ {
+ return json_decode($this->data, $assoc, $depth);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setData($data = array())
+ {
+ $this->data = $data instanceof JsonableInterface
+ ? $data->toJson($this->jsonOptions)
+ : json_encode($data, $this->jsonOptions);
+
+ return $this->update();
+ }
+
+ /**
+ * Get the JSON encoding options.
+ *
+ * @return int
+ */
+ public function getJsonOptions()
+ {
+ return $this->jsonOptions;
+ }
+
+ /**
+ * Set the JSON encoding options.
+ *
+ * @param int $options
+ * @return mixed
+ */
+ public function setJsonOptions($options)
+ {
+ $this->jsonOptions = $options;
+
+ return $this->setData($this->getData());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Http/RedirectResponse.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Http/RedirectResponse.php b/vendor/laravel/framework/src/Illuminate/Http/RedirectResponse.php
new file mode 100755
index 0000000..56debbf
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Http/RedirectResponse.php
@@ -0,0 +1,224 @@
+<?php namespace Illuminate\Http;
+
+use Illuminate\Support\MessageBag;
+use Illuminate\Support\ViewErrorBag;
+use Symfony\Component\HttpFoundation\Cookie;
+use Illuminate\Session\Store as SessionStore;
+use Symfony\Component\HttpFoundation\File\UploadedFile;
+use Illuminate\Support\Contracts\MessageProviderInterface;
+
+class RedirectResponse extends \Symfony\Component\HttpFoundation\RedirectResponse {
+
+ /**
+ * The request instance.
+ *
+ * @var \Illuminate\Http\Request
+ */
+ protected $request;
+
+ /**
+ * The session store implementation.
+ *
+ * @var \Illuminate\Session\Store
+ */
+ protected $session;
+
+ /**
+ * Set a header on the Response.
+ *
+ * @param string $key
+ * @param string $value
+ * @param bool $replace
+ * @return $this
+ */
+ public function header($key, $value, $replace = true)
+ {
+ $this->headers->set($key, $value, $replace);
+
+ return $this;
+ }
+
+ /**
+ * Flash a piece of data to the session.
+ *
+ * @param string $key
+ * @param mixed $value
+ * @return \Illuminate\Http\RedirectResponse
+ */
+ public function with($key, $value = null)
+ {
+ $key = is_array($key) ? $key : [$key => $value];
+
+ foreach ($key as $k => $v)
+ {
+ $this->session->flash($k, $v);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Add a cookie to the response.
+ *
+ * @param \Symfony\Component\HttpFoundation\Cookie $cookie
+ * @return $this
+ */
+ public function withCookie(Cookie $cookie)
+ {
+ $this->headers->setCookie($cookie);
+
+ return $this;
+ }
+
+ /**
+ * Add multiple cookies to the response.
+ *
+ * @param array $cookie
+ * @return $this
+ */
+ public function withCookies(array $cookies)
+ {
+ foreach ($cookies as $cookie)
+ {
+ $this->headers->setCookie($cookie);
+ }
+
+ return $this;
+ }
+
+ /**
+ * Flash an array of input to the session.
+ *
+ * @param array $input
+ * @return $this
+ */
+ public function withInput(array $input = null)
+ {
+ $input = $input ?: $this->request->input();
+
+ $this->session->flashInput(array_filter($input, function ($value)
+ {
+ return ! $value instanceof UploadedFile;
+ }));
+
+ return $this;
+ }
+
+ /**
+ * Flash an array of input to the session.
+ *
+ * @param mixed string
+ * @return $this
+ */
+ public function onlyInput()
+ {
+ return $this->withInput($this->request->only(func_get_args()));
+ }
+
+ /**
+ * Flash an array of input to the session.
+ *
+ * @param mixed string
+ * @return \Illuminate\Http\RedirectResponse
+ */
+ public function exceptInput()
+ {
+ return $this->withInput($this->request->except(func_get_args()));
+ }
+
+ /**
+ * Flash a container of errors to the session.
+ *
+ * @param \Illuminate\Support\Contracts\MessageProviderInterface|array $provider
+ * @param string $key
+ * @return $this
+ */
+ public function withErrors($provider, $key = 'default')
+ {
+ $value = $this->parseErrors($provider);
+
+ $this->session->flash(
+ 'errors', $this->session->get('errors', new ViewErrorBag)->put($key, $value)
+ );
+
+ return $this;
+ }
+
+ /**
+ * Parse the given errors into an appropriate value.
+ *
+ * @param \Illuminate\Support\Contracts\MessageProviderInterface|array $provider
+ * @return \Illuminate\Support\MessageBag
+ */
+ protected function parseErrors($provider)
+ {
+ if ($provider instanceof MessageProviderInterface)
+ {
+ return $provider->getMessageBag();
+ }
+
+ return new MessageBag((array) $provider);
+ }
+
+ /**
+ * Get the request instance.
+ *
+ * @return \Illuminate\Http\Request
+ */
+ public function getRequest()
+ {
+ return $this->request;
+ }
+
+ /**
+ * Set the request instance.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return void
+ */
+ public function setRequest(Request $request)
+ {
+ $this->request = $request;
+ }
+
+ /**
+ * Get the session store implementation.
+ *
+ * @return \Illuminate\Session\Store
+ */
+ public function getSession()
+ {
+ return $this->session;
+ }
+
+ /**
+ * Set the session store implementation.
+ *
+ * @param \Illuminate\Session\Store $session
+ * @return void
+ */
+ public function setSession(SessionStore $session)
+ {
+ $this->session = $session;
+ }
+
+ /**
+ * Dynamically bind flash data in the session.
+ *
+ * @param string $method
+ * @param array $parameters
+ * @return void
+ *
+ * @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 Redirect.");
+ }
+
+}