http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php
deleted file mode 100755
index 034917d..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php
+++ /dev/null
@@ -1,1055 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Query\Expression;
-use Illuminate\Database\Eloquent\Collection;
-use Illuminate\Database\Eloquent\ModelNotFoundException;
-
-class BelongsToMany extends Relation {
-
-       /**
-        * The intermediate table for the relation.
-        *
-        * @var string
-        */
-       protected $table;
-
-       /**
-        * The foreign key of the parent model.
-        *
-        * @var string
-        */
-       protected $foreignKey;
-
-       /**
-        * The associated key of the relation.
-        *
-        * @var string
-        */
-       protected $otherKey;
-
-       /**
-        * The "name" of the relationship.
-        *
-        * @var string
-        */
-       protected $relationName;
-
-       /**
-        * The pivot table columns to retrieve.
-        *
-        * @var array
-        */
-       protected $pivotColumns = array();
-
-       /**
-        * Any pivot table restrictions.
-        *
-        * @var array
-        */
-       protected $pivotWheres = [];
-
-       /**
-        * Create a new has many relationship instance.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Model  $parent
-        * @param  string  $table
-        * @param  string  $foreignKey
-        * @param  string  $otherKey
-        * @param  string  $relationName
-        * @return void
-        */
-       public function __construct(Builder $query, Model $parent, $table, 
$foreignKey, $otherKey, $relationName = null)
-       {
-               $this->table = $table;
-               $this->otherKey = $otherKey;
-               $this->foreignKey = $foreignKey;
-               $this->relationName = $relationName;
-
-               parent::__construct($query, $parent);
-       }
-
-       /**
-        * Get the results of the relationship.
-        *
-        * @return mixed
-        */
-       public function getResults()
-       {
-               return $this->get();
-       }
-
-       /**
-        * Set a where clause for a pivot table column.
-        *
-        * @param  string  $column
-        * @param  string  $operator
-        * @param  mixed   $value
-        * @param  string  $boolean
-        * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
-        */
-       public function wherePivot($column, $operator = null, $value = null, 
$boolean = 'and')
-       {
-               $this->pivotWheres[] = func_get_args();
-
-               return $this->where($this->table.'.'.$column, $operator, 
$value, $boolean);
-       }
-
-       /**
-        * Set an or where clause for a pivot table column.
-        *
-        * @param  string  $column
-        * @param  string  $operator
-        * @param  mixed   $value
-        * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
-        */
-       public function orWherePivot($column, $operator = null, $value = null)
-       {
-               return $this->wherePivot($column, $operator, $value, 'or');
-       }
-
-       /**
-        * Execute the query and get the first result.
-        *
-        * @param  array   $columns
-        * @return mixed
-        */
-       public function first($columns = array('*'))
-       {
-               $results = $this->take(1)->get($columns);
-
-               return count($results) > 0 ? $results->first() : null;
-       }
-
-       /**
-        * Execute the query and get the first result or throw an exception.
-        *
-        * @param  array  $columns
-        * @return \Illuminate\Database\Eloquent\Model|static
-        *
-        * @throws \Illuminate\Database\Eloquent\ModelNotFoundException
-        */
-       public function firstOrFail($columns = array('*'))
-       {
-               if ( ! is_null($model = $this->first($columns))) return $model;
-
-               throw new ModelNotFoundException;
-       }
-
-       /**
-        * Execute the query as a "select" statement.
-        *
-        * @param  array  $columns
-        * @return \Illuminate\Database\Eloquent\Collection
-        */
-       public function get($columns = array('*'))
-       {
-               // First we'll add the proper select columns onto the query so 
it is run with
-               // the proper columns. Then, we will get the results and 
hydrate out pivot
-               // models with the result of those columns as a separate model 
relation.
-               $columns = $this->query->getQuery()->columns ? array() : 
$columns;
-
-               $select = $this->getSelectColumns($columns);
-
-               $models = $this->query->addSelect($select)->getModels();
-
-               $this->hydratePivotRelation($models);
-
-               // If we actually found models we will also eager load any 
relationships that
-               // have been specified as needing to be eager loaded. This will 
solve the
-               // n + 1 query problem for the developer and also increase 
performance.
-               if (count($models) > 0)
-               {
-                       $models = $this->query->eagerLoadRelations($models);
-               }
-
-               return $this->related->newCollection($models);
-       }
-
-       /**
-        * Get a paginator for the "select" statement.
-        *
-        * @param  int    $perPage
-        * @param  array  $columns
-        * @return \Illuminate\Pagination\Paginator
-        */
-       public function paginate($perPage = null, $columns = array('*'))
-       {
-               $this->query->addSelect($this->getSelectColumns($columns));
-
-               // When paginating results, we need to add the pivot columns to 
the query and
-               // then hydrate into the pivot objects once the results have 
been gathered
-               // from the database since this isn't performed by the Eloquent 
builder.
-               $pager = $this->query->paginate($perPage, $columns);
-
-               $this->hydratePivotRelation($pager->getItems());
-
-               return $pager;
-       }
-
-       /**
-        * Hydrate the pivot table relationship on the models.
-        *
-        * @param  array  $models
-        * @return void
-        */
-       protected function hydratePivotRelation(array $models)
-       {
-               // To hydrate the pivot relationship, we will just gather the 
pivot attributes
-               // and create a new Pivot model, which is basically a dynamic 
model that we
-               // will set the attributes, table, and connections on so it 
they be used.
-               foreach ($models as $model)
-               {
-                       $pivot = 
$this->newExistingPivot($this->cleanPivotAttributes($model));
-
-                       $model->setRelation('pivot', $pivot);
-               }
-       }
-
-       /**
-        * Get the pivot attributes from a model.
-        *
-        * @param  \Illuminate\Database\Eloquent\Model  $model
-        * @return array
-        */
-       protected function cleanPivotAttributes(Model $model)
-       {
-               $values = array();
-
-               foreach ($model->getAttributes() as $key => $value)
-               {
-                       // To get the pivots attributes we will just take any 
of the attributes which
-                       // begin with "pivot_" and add those to this arrays, as 
well as unsetting
-                       // them from the parent's models since they exist in a 
different table.
-                       if (strpos($key, 'pivot_') === 0)
-                       {
-                               $values[substr($key, 6)] = $value;
-
-                               unset($model->$key);
-                       }
-               }
-
-               return $values;
-       }
-
-       /**
-        * Set the base constraints on the relation query.
-        *
-        * @return void
-        */
-       public function addConstraints()
-       {
-               $this->setJoin();
-
-               if (static::$constraints) $this->setWhere();
-       }
-
-       /**
-        * Add the constraints for a relationship count query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Builder  $parent
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       public function getRelationCountQuery(Builder $query, Builder $parent)
-       {
-               if ($parent->getQuery()->from == $query->getQuery()->from)
-               {
-                       return $this->getRelationCountQueryForSelfJoin($query, 
$parent);
-               }
-
-               $this->setJoin($query);
-
-               return parent::getRelationCountQuery($query, $parent);
-       }
-
-       /**
-        * Add the constraints for a relationship count query on the same table.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Builder  $parent
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       public function getRelationCountQueryForSelfJoin(Builder $query, 
Builder $parent)
-       {
-               $query->select(new Expression('count(*)'));
-
-               $tablePrefix = 
$this->query->getQuery()->getConnection()->getTablePrefix();
-
-               $query->from($this->table.' as '.$tablePrefix.$hash = 
$this->getRelationCountHash());
-
-               $key = $this->wrap($this->getQualifiedParentKeyName());
-
-               return $query->where($hash.'.'.$this->foreignKey, '=', new 
Expression($key));
-       }
-
-       /**
-        * Get a relationship join table hash.
-        *
-        * @return string
-        */
-       public function getRelationCountHash()
-       {
-               return 'self_'.md5(microtime(true));
-       }
-
-       /**
-        * Set the select clause for the relation query.
-        *
-        * @param  array  $columns
-        * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
-        */
-       protected function getSelectColumns(array $columns = array('*'))
-       {
-               if ($columns == array('*'))
-               {
-                       $columns = array($this->related->getTable().'.*');
-               }
-
-               return array_merge($columns, $this->getAliasedPivotColumns());
-       }
-
-       /**
-        * Get the pivot columns for the relation.
-        *
-        * @return array
-        */
-       protected function getAliasedPivotColumns()
-       {
-               $defaults = array($this->foreignKey, $this->otherKey);
-
-               // We need to alias all of the pivot columns with the "pivot_" 
prefix so we
-               // can easily extract them out of the models and put them into 
the pivot
-               // relationships when they are retrieved and hydrated into the 
models.
-               $columns = array();
-
-               foreach (array_merge($defaults, $this->pivotColumns) as $column)
-               {
-                       $columns[] = $this->table.'.'.$column.' as 
pivot_'.$column;
-               }
-
-               return array_unique($columns);
-       }
-
-       /**
-        * Determine whether the given column is defined as a pivot column.
-        *
-        * @param  string  $column
-        * @return bool
-        */
-       protected function hasPivotColumn($column)
-       {
-               return in_array($column, $this->pivotColumns);
-       }
-
-       /**
-        * Set the join clause for the relation query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder|null
-        * @return $this
-        */
-       protected function setJoin($query = null)
-       {
-               $query = $query ?: $this->query;
-
-               // We need to join to the intermediate table on the related 
model's primary
-               // key column with the intermediate table's foreign key for the 
related
-               // model instance. Then we can set the "where" for the parent 
models.
-               $baseTable = $this->related->getTable();
-
-               $key = $baseTable.'.'.$this->related->getKeyName();
-
-               $query->join($this->table, $key, '=', $this->getOtherKey());
-
-               return $this;
-       }
-
-       /**
-        * Set the where clause for the relation query.
-        *
-        * @return $this
-        */
-       protected function setWhere()
-       {
-               $foreign = $this->getForeignKey();
-
-               $this->query->where($foreign, '=', $this->parent->getKey());
-
-               return $this;
-       }
-
-       /**
-        * Set the constraints for an eager load of the relation.
-        *
-        * @param  array  $models
-        * @return void
-        */
-       public function addEagerConstraints(array $models)
-       {
-               $this->query->whereIn($this->getForeignKey(), 
$this->getKeys($models));
-       }
-
-       /**
-        * Initialize the relation on a set of models.
-        *
-        * @param  array   $models
-        * @param  string  $relation
-        * @return array
-        */
-       public function initRelation(array $models, $relation)
-       {
-               foreach ($models as $model)
-               {
-                       $model->setRelation($relation, 
$this->related->newCollection());
-               }
-
-               return $models;
-       }
-
-       /**
-        * Match the eagerly loaded results to their parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function match(array $models, Collection $results, $relation)
-       {
-               $dictionary = $this->buildDictionary($results);
-
-               // Once we have an array dictionary of child objects we can 
easily match the
-               // children back to their parent using the dictionary and the 
keys on the
-               // the parent models. Then we will return the hydrated models 
back out.
-               foreach ($models as $model)
-               {
-                       if (isset($dictionary[$key = $model->getKey()]))
-                       {
-                               $collection = 
$this->related->newCollection($dictionary[$key]);
-
-                               $model->setRelation($relation, $collection);
-                       }
-               }
-
-               return $models;
-       }
-
-       /**
-        * Build model dictionary keyed by the relation's foreign key.
-        *
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @return array
-        */
-       protected function buildDictionary(Collection $results)
-       {
-               $foreign = $this->foreignKey;
-
-               // First we will build a dictionary of child models keyed by 
the foreign key
-               // of the relation so that we will easily and quickly match 
them to their
-               // parents without having a possibly slow inner loops for every 
models.
-               $dictionary = array();
-
-               foreach ($results as $result)
-               {
-                       $dictionary[$result->pivot->$foreign][] = $result;
-               }
-
-               return $dictionary;
-       }
-
-       /**
-        * Touch all of the related models for the relationship.
-        *
-        * E.g.: Touch all roles associated with this user.
-        *
-        * @return void
-        */
-       public function touch()
-       {
-               $key = $this->getRelated()->getKeyName();
-
-               $columns = $this->getRelatedFreshUpdate();
-
-               // If we actually have IDs for the relation, we will run the 
query to update all
-               // the related model's timestamps, to make sure these all 
reflect the changes
-               // to the parent models. This will help us keep any caching 
synced up here.
-               $ids = $this->getRelatedIds();
-
-               if (count($ids) > 0)
-               {
-                       $this->getRelated()->newQuery()->whereIn($key, 
$ids)->update($columns);
-               }
-       }
-
-       /**
-        * Get all of the IDs for the related models.
-        *
-        * @return array
-        */
-       public function getRelatedIds()
-       {
-               $related = $this->getRelated();
-
-               $fullKey = $related->getQualifiedKeyName();
-
-               return 
$this->getQuery()->select($fullKey)->lists($related->getKeyName());
-       }
-
-       /**
-        * Save a new model and attach it to the parent model.
-        *
-        * @param  \Illuminate\Database\Eloquent\Model  $model
-        * @param  array  $joining
-        * @param  bool   $touch
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function save(Model $model, array $joining = array(), $touch = 
true)
-       {
-               $model->save(array('touch' => false));
-
-               $this->attach($model->getKey(), $joining, $touch);
-
-               return $model;
-       }
-
-       /**
-        * Save an array of new models and attach them to the parent model.
-        *
-        * @param  array  $models
-        * @param  array  $joinings
-        * @return array
-        */
-       public function saveMany(array $models, array $joinings = array())
-       {
-               foreach ($models as $key => $model)
-               {
-                       $this->save($model, (array) array_get($joinings, $key), 
false);
-               }
-
-               $this->touchIfTouching();
-
-               return $models;
-       }
-
-       /**
-        * Create a new instance of the related model.
-        *
-        * @param  array  $attributes
-        * @param  array  $joining
-        * @param  bool   $touch
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function create(array $attributes, array $joining = array(), 
$touch = true)
-       {
-               $instance = $this->related->newInstance($attributes);
-
-               // Once we save the related model, we need to attach it to the 
base model via
-               // through intermediate table so we'll use the existing 
"attach" method to
-               // accomplish this which will insert the record and any more 
attributes.
-               $instance->save(array('touch' => false));
-
-               $this->attach($instance->getKey(), $joining, $touch);
-
-               return $instance;
-       }
-
-       /**
-        * Create an array of new instances of the related models.
-        *
-        * @param  array  $records
-        * @param  array  $joinings
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function createMany(array $records, array $joinings = array())
-       {
-               $instances = array();
-
-               foreach ($records as $key => $record)
-               {
-                       $instances[] = $this->create($record, (array) 
array_get($joinings, $key), false);
-               }
-
-               $this->touchIfTouching();
-
-               return $instances;
-       }
-
-       /**
-        * Sync the intermediate tables with a list of IDs or collection of 
models.
-        *
-        * @param  array  $ids
-        * @param  bool   $detaching
-        * @return array
-        */
-       public function sync($ids, $detaching = true)
-       {
-               $changes = array(
-                       'attached' => array(), 'detached' => array(), 'updated' 
=> array()
-               );
-
-               if ($ids instanceof Collection) $ids = $ids->modelKeys();
-
-               // First we need to attach any of the associated models that 
are not currently
-               // in this joining table. We'll spin through the given IDs, 
checking to see
-               // if they exist in the array of current ones, and if not we 
will insert.
-               $current = $this->newPivotQuery()->lists($this->otherKey);
-
-               $records = $this->formatSyncList($ids);
-
-               $detach = array_diff($current, array_keys($records));
-
-               // Next, we will take the differences of the currents and given 
IDs and detach
-               // all of the entities that exist in the "current" array but 
are not in the
-               // the array of the IDs given to the method which will complete 
the sync.
-               if ($detaching && count($detach) > 0)
-               {
-                       $this->detach($detach);
-
-                       $changes['detached'] = (array) array_map(function($v) { 
return (int) $v; }, $detach);
-               }
-
-               // Now we are finally ready to attach the new records. Note 
that we'll disable
-               // touching until after the entire operation is complete so we 
don't fire a
-               // ton of touch operations until we are totally done syncing 
the records.
-               $changes = array_merge(
-                       $changes, $this->attachNew($records, $current, false)
-               );
-
-               if (count($changes['attached']) || count($changes['updated']))
-               {
-                       $this->touchIfTouching();
-               }
-
-               return $changes;
-       }
-
-       /**
-        * Format the sync list so that it is keyed by ID.
-        *
-        * @param  array  $records
-        * @return array
-        */
-       protected function formatSyncList(array $records)
-       {
-               $results = array();
-
-               foreach ($records as $id => $attributes)
-               {
-                       if ( ! is_array($attributes))
-                       {
-                               list($id, $attributes) = array($attributes, 
array());
-                       }
-
-                       $results[$id] = $attributes;
-               }
-
-               return $results;
-       }
-
-       /**
-        * Attach all of the IDs that aren't in the current array.
-        *
-        * @param  array  $records
-        * @param  array  $current
-        * @param  bool   $touch
-        * @return array
-        */
-       protected function attachNew(array $records, array $current, $touch = 
true)
-       {
-               $changes = array('attached' => array(), 'updated' => array());
-
-               foreach ($records as $id => $attributes)
-               {
-                       // If the ID is not in the list of existing pivot IDs, 
we will insert a new pivot
-                       // record, otherwise, we will just update this existing 
record on this joining
-                       // table, so that the developers will easily update 
these records pain free.
-                       if ( ! in_array($id, $current))
-                       {
-                               $this->attach($id, $attributes, $touch);
-
-                               $changes['attached'][] = (int) $id;
-                       }
-
-                       // Now we'll try to update an existing pivot record 
with the attributes that were
-                       // given to the method. If the model is actually 
updated we will add it to the
-                       // list of updated pivot records so we return them back 
out to the consumer.
-                       elseif (count($attributes) > 0 &&
-                               $this->updateExistingPivot($id, $attributes, 
$touch))
-                       {
-                               $changes['updated'][] = (int) $id;
-                       }
-               }
-
-               return $changes;
-       }
-
-       /**
-        * Update an existing pivot record on the table.
-        *
-        * @param  mixed  $id
-        * @param  array  $attributes
-        * @param  bool   $touch
-        * @return void
-        */
-       public function updateExistingPivot($id, array $attributes, $touch = 
true)
-       {
-               if (in_array($this->updatedAt(), $this->pivotColumns))
-               {
-                       $attributes = $this->setTimestampsOnAttach($attributes, 
true);
-               }
-
-               $updated = 
$this->newPivotStatementForId($id)->update($attributes);
-
-               if ($touch) $this->touchIfTouching();
-
-               return $updated;
-       }
-
-       /**
-        * Attach a model to the parent.
-        *
-        * @param  mixed  $id
-        * @param  array  $attributes
-        * @param  bool   $touch
-        * @return void
-        */
-       public function attach($id, array $attributes = array(), $touch = true)
-       {
-               if ($id instanceof Model) $id = $id->getKey();
-
-               $query = $this->newPivotStatement();
-
-               $query->insert($this->createAttachRecords((array) $id, 
$attributes));
-
-               if ($touch) $this->touchIfTouching();
-       }
-
-       /**
-        * Create an array of records to insert into the pivot table.
-        *
-        * @param  array  $ids
-        * @param  array  $attributes
-        * @return array
-        */
-       protected function createAttachRecords($ids, array $attributes)
-       {
-               $records = array();
-
-               $timed = ($this->hasPivotColumn($this->createdAt()) || 
$this->hasPivotColumn($this->updatedAt()));
-
-               // To create the attachment records, we will simply spin 
through the IDs given
-               // and create a new record to insert for each ID. Each ID may 
actually be a
-               // key in the array, with extra attributes to be placed in 
other columns.
-               foreach ($ids as $key => $value)
-               {
-                       $records[] = $this->attacher($key, $value, $attributes, 
$timed);
-               }
-
-               return $records;
-       }
-
-       /**
-        * Create a full attachment record payload.
-        *
-        * @param  int    $key
-        * @param  mixed  $value
-        * @param  array  $attributes
-        * @param  bool   $timed
-        * @return array
-        */
-       protected function attacher($key, $value, $attributes, $timed)
-       {
-               list($id, $extra) = $this->getAttachId($key, $value, 
$attributes);
-
-               // To create the attachment records, we will simply spin 
through the IDs given
-               // and create a new record to insert for each ID. Each ID may 
actually be a
-               // key in the array, with extra attributes to be placed in 
other columns.
-               $record = $this->createAttachRecord($id, $timed);
-
-               return array_merge($record, $extra);
-       }
-
-       /**
-        * Get the attach record ID and extra attributes.
-        *
-        * @param  mixed  $key
-        * @param  mixed  $value
-        * @param  array  $attributes
-        * @return array
-        */
-       protected function getAttachId($key, $value, array $attributes)
-       {
-               if (is_array($value))
-               {
-                       return array($key, array_merge($value, $attributes));
-               }
-
-               return array($value, $attributes);
-       }
-
-       /**
-        * Create a new pivot attachment record.
-        *
-        * @param  int   $id
-        * @param  bool  $timed
-        * @return array
-        */
-       protected function createAttachRecord($id, $timed)
-       {
-               $record[$this->foreignKey] = $this->parent->getKey();
-
-               $record[$this->otherKey] = $id;
-
-               // If the record needs to have creation and update timestamps, 
we will make
-               // them by calling the parent model's "freshTimestamp" method 
which will
-               // provide us with a fresh timestamp in this model's preferred 
format.
-               if ($timed)
-               {
-                       $record = $this->setTimestampsOnAttach($record);
-               }
-
-               return $record;
-       }
-
-       /**
-        * Set the creation and update timestamps on an attach record.
-        *
-        * @param  array  $record
-        * @param  bool   $exists
-        * @return array
-        */
-       protected function setTimestampsOnAttach(array $record, $exists = false)
-       {
-               $fresh = $this->parent->freshTimestamp();
-
-               if ( ! $exists && $this->hasPivotColumn($this->createdAt()))
-               {
-                       $record[$this->createdAt()] = $fresh;
-               }
-
-               if ($this->hasPivotColumn($this->updatedAt()))
-               {
-                       $record[$this->updatedAt()] = $fresh;
-               }
-
-               return $record;
-       }
-
-       /**
-        * Detach models from the relationship.
-        *
-        * @param  int|array  $ids
-        * @param  bool  $touch
-        * @return int
-        */
-       public function detach($ids = array(), $touch = true)
-       {
-               if ($ids instanceof Model) $ids = (array) $ids->getKey();
-
-               $query = $this->newPivotQuery();
-
-               // If associated IDs were passed to the method we will only 
delete those
-               // associations, otherwise all of the association ties will be 
broken.
-               // We'll return the numbers of affected rows when we do the 
deletes.
-               $ids = (array) $ids;
-
-               if (count($ids) > 0)
-               {
-                       $query->whereIn($this->otherKey, (array) $ids);
-               }
-
-               if ($touch) $this->touchIfTouching();
-
-               // Once we have all of the conditions set on the statement, we 
are ready
-               // to run the delete on the pivot table. Then, if the touch 
parameter
-               // is true, we will go ahead and touch all related models to 
sync.
-               $results = $query->delete();
-
-               return $results;
-       }
-
-       /**
-        * If we're touching the parent model, touch.
-        *
-        * @return void
-        */
-       public function touchIfTouching()
-       {
-               if ($this->touchingParent()) $this->getParent()->touch();
-
-               if ($this->getParent()->touches($this->relationName)) 
$this->touch();
-       }
-
-       /**
-        * Determine if we should touch the parent on sync.
-        *
-        * @return bool
-        */
-       protected function touchingParent()
-       {
-               return 
$this->getRelated()->touches($this->guessInverseRelation());
-       }
-
-       /**
-        * Attempt to guess the name of the inverse of the relation.
-        *
-        * @return string
-        */
-       protected function guessInverseRelation()
-       {
-               return 
camel_case(str_plural(class_basename($this->getParent())));
-       }
-
-       /**
-        * Create a new query builder for the pivot table.
-        *
-        * @return \Illuminate\Database\Query\Builder
-        */
-       protected function newPivotQuery()
-       {
-               $query = $this->newPivotStatement();
-
-               foreach ($this->pivotWheres as $whereArgs)
-               {
-                       call_user_func_array([$query, 'where'], $whereArgs);
-               }
-
-               return $query->where($this->foreignKey, 
$this->parent->getKey());
-       }
-
-       /**
-        * Get a new plain query builder for the pivot table.
-        *
-        * @return \Illuminate\Database\Query\Builder
-        */
-       public function newPivotStatement()
-       {
-               return $this->query->getQuery()->newQuery()->from($this->table);
-       }
-
-       /**
-        * Get a new pivot statement for a given "other" ID.
-        *
-        * @param  mixed  $id
-        * @return \Illuminate\Database\Query\Builder
-        */
-       public function newPivotStatementForId($id)
-       {
-               return $this->newPivotQuery()->where($this->otherKey, $id);
-       }
-
-       /**
-        * Create a new pivot model instance.
-        *
-        * @param  array  $attributes
-        * @param  bool   $exists
-        * @return \Illuminate\Database\Eloquent\Relations\Pivot
-        */
-       public function newPivot(array $attributes = array(), $exists = false)
-       {
-               $pivot = $this->related->newPivot($this->parent, $attributes, 
$this->table, $exists);
-
-               return $pivot->setPivotKeys($this->foreignKey, $this->otherKey);
-       }
-
-       /**
-        * Create a new existing pivot model instance.
-        *
-        * @param  array  $attributes
-        * @return \Illuminate\Database\Eloquent\Relations\Pivot
-        */
-       public function newExistingPivot(array $attributes = array())
-       {
-               return $this->newPivot($attributes, true);
-       }
-
-       /**
-        * Set the columns on the pivot table to retrieve.
-        *
-        * @param  mixed  $columns
-        * @return $this
-        */
-       public function withPivot($columns)
-       {
-               $columns = is_array($columns) ? $columns : func_get_args();
-
-               $this->pivotColumns = array_merge($this->pivotColumns, 
$columns);
-
-               return $this;
-       }
-
-       /**
-        * Specify that the pivot table has creation and update timestamps.
-        *
-        * @param  mixed  $createdAt
-        * @param  mixed  $updatedAt
-        * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
-        */
-       public function withTimestamps($createdAt = null, $updatedAt = null)
-       {
-               return $this->withPivot($createdAt ?: $this->createdAt(), 
$updatedAt ?: $this->updatedAt());
-       }
-
-       /**
-        * Get the related model's updated at column name.
-        *
-        * @return string
-        */
-       public function getRelatedFreshUpdate()
-       {
-               return array($this->related->getUpdatedAtColumn() => 
$this->related->freshTimestamp());
-       }
-
-       /**
-        * Get the key for comparing against the parent key in "has" query.
-        *
-        * @return string
-        */
-       public function getHasCompareKey()
-       {
-               return $this->getForeignKey();
-       }
-
-       /**
-        * Get the fully qualified foreign key for the relation.
-        *
-        * @return string
-        */
-       public function getForeignKey()
-       {
-               return $this->table.'.'.$this->foreignKey;
-       }
-
-       /**
-        * Get the fully qualified "other key" for the relation.
-        *
-        * @return string
-        */
-       public function getOtherKey()
-       {
-               return $this->table.'.'.$this->otherKey;
-       }
-
-       /**
-        * Get the intermediate table for the relationship.
-        *
-        * @return string
-        */
-       public function getTable()
-       {
-               return $this->table;
-       }
-
-       /**
-        * Get the relationship name for the relationship.
-        *
-        * @return string
-        */
-       public function getRelationName()
-       {
-               return $this->relationName;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php
deleted file mode 100755
index 159a658..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasMany.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Collection;
-
-class HasMany extends HasOneOrMany {
-
-       /**
-        * Get the results of the relationship.
-        *
-        * @return mixed
-        */
-       public function getResults()
-       {
-               return $this->query->get();
-       }
-
-       /**
-        * Initialize the relation on a set of models.
-        *
-        * @param  array   $models
-        * @param  string  $relation
-        * @return array
-        */
-       public function initRelation(array $models, $relation)
-       {
-               foreach ($models as $model)
-               {
-                       $model->setRelation($relation, 
$this->related->newCollection());
-               }
-
-               return $models;
-       }
-
-       /**
-        * Match the eagerly loaded results to their parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function match(array $models, Collection $results, $relation)
-       {
-               return $this->matchMany($models, $results, $relation);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php
deleted file mode 100644
index d0e33a7..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasManyThrough.php
+++ /dev/null
@@ -1,263 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Query\Expression;
-use Illuminate\Database\Eloquent\Collection;
-
-class HasManyThrough extends Relation {
-
-       /**
-        * The distance parent model instance.
-        *
-        * @var \Illuminate\Database\Eloquent\Model
-        */
-       protected $farParent;
-
-       /**
-        * The near key on the relationship.
-        *
-        * @var string
-        */
-       protected $firstKey;
-
-       /**
-        * The far key on the relationship.
-        *
-        * @var string
-        */
-       protected $secondKey;
-
-       /**
-        * Create a new has many relationship instance.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Model  $farParent
-        * @param  \Illuminate\Database\Eloquent\Model  $parent
-        * @param  string  $firstKey
-        * @param  string  $secondKey
-        * @return void
-        */
-       public function __construct(Builder $query, Model $farParent, Model 
$parent, $firstKey, $secondKey)
-       {
-               $this->firstKey = $firstKey;
-               $this->secondKey = $secondKey;
-               $this->farParent = $farParent;
-
-               parent::__construct($query, $parent);
-       }
-
-       /**
-        * Set the base constraints on the relation query.
-        *
-        * @return void
-        */
-       public function addConstraints()
-       {
-               $parentTable = $this->parent->getTable();
-
-               $this->setJoin();
-
-               if (static::$constraints)
-               {
-                       $this->query->where($parentTable.'.'.$this->firstKey, 
'=', $this->farParent->getKey());
-               }
-       }
-
-       /**
-        * Add the constraints for a relationship count query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Builder  $parent
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       public function getRelationCountQuery(Builder $query, Builder $parent)
-       {
-               $parentTable = $this->parent->getTable();
-
-               $this->setJoin($query);
-
-               $query->select(new Expression('count(*)'));
-
-               $key = $this->wrap($parentTable.'.'.$this->firstKey);
-
-               return $query->where($this->getHasCompareKey(), '=', new 
Expression($key));
-       }
-
-       /**
-        * Set the join clause on the query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder|null  $query
-        * @return void
-        */
-       protected function setJoin(Builder $query = null)
-       {
-               $query = $query ?: $this->query;
-
-               $foreignKey = $this->related->getTable().'.'.$this->secondKey;
-
-               $query->join($this->parent->getTable(), 
$this->getQualifiedParentKeyName(), '=', $foreignKey);
-       }
-
-       /**
-        * Set the constraints for an eager load of the relation.
-        *
-        * @param  array  $models
-        * @return void
-        */
-       public function addEagerConstraints(array $models)
-       {
-               $table = $this->parent->getTable();
-
-               $this->query->whereIn($table.'.'.$this->firstKey, 
$this->getKeys($models));
-       }
-
-       /**
-        * Initialize the relation on a set of models.
-        *
-        * @param  array   $models
-        * @param  string  $relation
-        * @return array
-        */
-       public function initRelation(array $models, $relation)
-       {
-               foreach ($models as $model)
-               {
-                       $model->setRelation($relation, 
$this->related->newCollection());
-               }
-
-               return $models;
-       }
-
-       /**
-        * Match the eagerly loaded results to their parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function match(array $models, Collection $results, $relation)
-       {
-               $dictionary = $this->buildDictionary($results);
-
-               // Once we have the dictionary we can simply spin through the 
parent models to
-               // link them up with their children using the keyed dictionary 
to make the
-               // matching very convenient and easy work. Then we'll just 
return them.
-               foreach ($models as $model)
-               {
-                       $key = $model->getKey();
-
-                       if (isset($dictionary[$key]))
-                       {
-                               $value = 
$this->related->newCollection($dictionary[$key]);
-
-                               $model->setRelation($relation, $value);
-                       }
-               }
-
-               return $models;
-       }
-
-       /**
-        * Build model dictionary keyed by the relation's foreign key.
-        *
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @return array
-        */
-       protected function buildDictionary(Collection $results)
-       {
-               $dictionary = array();
-
-               $foreign = $this->firstKey;
-
-               // First we will create a dictionary of models keyed by the 
foreign key of the
-               // relationship as this will allow us to quickly access all of 
the related
-               // models without having to do nested looping which will be 
quite slow.
-               foreach ($results as $result)
-               {
-                       $dictionary[$result->{$foreign}][] = $result;
-               }
-
-               return $dictionary;
-       }
-
-       /**
-        * Get the results of the relationship.
-        *
-        * @return mixed
-        */
-       public function getResults()
-       {
-               return $this->get();
-       }
-
-       /**
-        * Execute the query as a "select" statement.
-        *
-        * @param  array  $columns
-        * @return \Illuminate\Database\Eloquent\Collection
-        */
-       public function get($columns = array('*'))
-       {
-               // First we'll add the proper select columns onto the query so 
it is run with
-               // the proper columns. Then, we will get the results and 
hydrate out pivot
-               // models with the result of those columns as a separate model 
relation.
-               $select = $this->getSelectColumns($columns);
-
-               $models = $this->query->addSelect($select)->getModels();
-
-               // If we actually found models we will also eager load any 
relationships that
-               // have been specified as needing to be eager loaded. This will 
solve the
-               // n + 1 query problem for the developer and also increase 
performance.
-               if (count($models) > 0)
-               {
-                       $models = $this->query->eagerLoadRelations($models);
-               }
-
-               return $this->related->newCollection($models);
-       }
-
-       /**
-        * Set the select clause for the relation query.
-        *
-        * @param  array  $columns
-        * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
-        */
-       protected function getSelectColumns(array $columns = array('*'))
-       {
-               if ($columns == array('*'))
-               {
-                       $columns = array($this->related->getTable().'.*');
-               }
-
-               return array_merge($columns, 
array($this->parent->getTable().'.'.$this->firstKey));
-       }
-
-       /**
-        * Get a paginator for the "select" statement.
-        *
-        * @param  int    $perPage
-        * @param  array  $columns
-        * @return \Illuminate\Pagination\Paginator
-        */
-       public function paginate($perPage = null, $columns = array('*'))
-       {
-               $this->query->addSelect($this->getSelectColumns($columns));
-
-               $pager = $this->query->paginate($perPage, $columns);
-
-               return $pager;
-       }
-
-       /**
-        * Get the key for comparing against the parent key in "has" query.
-        *
-        * @return string
-        */
-       public function getHasCompareKey()
-       {
-               return $this->farParent->getQualifiedKeyName();
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php
deleted file mode 100755
index fd0f9a0..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOne.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Collection;
-
-class HasOne extends HasOneOrMany {
-
-       /**
-        * Get the results of the relationship.
-        *
-        * @return mixed
-        */
-       public function getResults()
-       {
-               return $this->query->first();
-       }
-
-       /**
-        * Initialize the relation on a set of models.
-        *
-        * @param  array   $models
-        * @param  string  $relation
-        * @return array
-        */
-       public function initRelation(array $models, $relation)
-       {
-               foreach ($models as $model)
-               {
-                       $model->setRelation($relation, null);
-               }
-
-               return $models;
-       }
-
-       /**
-        * Match the eagerly loaded results to their parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function match(array $models, Collection $results, $relation)
-       {
-               return $this->matchOne($models, $results, $relation);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php
deleted file mode 100755
index 83bc7ee..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/HasOneOrMany.php
+++ /dev/null
@@ -1,291 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Eloquent\Collection;
-
-abstract class HasOneOrMany extends Relation {
-
-       /**
-        * The foreign key of the parent model.
-        *
-        * @var string
-        */
-       protected $foreignKey;
-
-       /**
-        * The local key of the parent model.
-        *
-        * @var string
-        */
-       protected $localKey;
-
-       /**
-        * Create a new has many relationship instance.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Model  $parent
-        * @param  string  $foreignKey
-        * @param  string  $localKey
-        * @return void
-        */
-       public function __construct(Builder $query, Model $parent, $foreignKey, 
$localKey)
-       {
-               $this->localKey = $localKey;
-               $this->foreignKey = $foreignKey;
-
-               parent::__construct($query, $parent);
-       }
-
-       /**
-        * Set the base constraints on the relation query.
-        *
-        * @return void
-        */
-       public function addConstraints()
-       {
-               if (static::$constraints)
-               {
-                       $this->query->where($this->foreignKey, '=', 
$this->getParentKey());
-               }
-       }
-
-       /**
-        * Set the constraints for an eager load of the relation.
-        *
-        * @param  array  $models
-        * @return void
-        */
-       public function addEagerConstraints(array $models)
-       {
-               $this->query->whereIn($this->foreignKey, 
$this->getKeys($models, $this->localKey));
-       }
-
-       /**
-        * Match the eagerly loaded results to their single parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function matchOne(array $models, Collection $results, $relation)
-       {
-               return $this->matchOneOrMany($models, $results, $relation, 
'one');
-       }
-
-       /**
-        * Match the eagerly loaded results to their many parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function matchMany(array $models, Collection $results, $relation)
-       {
-               return $this->matchOneOrMany($models, $results, $relation, 
'many');
-       }
-
-       /**
-        * Match the eagerly loaded results to their many parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @param  string  $type
-        * @return array
-        */
-       protected function matchOneOrMany(array $models, Collection $results, 
$relation, $type)
-       {
-               $dictionary = $this->buildDictionary($results);
-
-               // Once we have the dictionary we can simply spin through the 
parent models to
-               // link them up with their children using the keyed dictionary 
to make the
-               // matching very convenient and easy work. Then we'll just 
return them.
-               foreach ($models as $model)
-               {
-                       $key = $model->getAttribute($this->localKey);
-
-                       if (isset($dictionary[$key]))
-                       {
-                               $value = $this->getRelationValue($dictionary, 
$key, $type);
-
-                               $model->setRelation($relation, $value);
-                       }
-               }
-
-               return $models;
-       }
-
-       /**
-        * Get the value of a relationship by one or many type.
-        *
-        * @param  array   $dictionary
-        * @param  string  $key
-        * @param  string  $type
-        * @return mixed
-        */
-       protected function getRelationValue(array $dictionary, $key, $type)
-       {
-               $value = $dictionary[$key];
-
-               return $type == 'one' ? reset($value) : 
$this->related->newCollection($value);
-       }
-
-       /**
-        * Build model dictionary keyed by the relation's foreign key.
-        *
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @return array
-        */
-       protected function buildDictionary(Collection $results)
-       {
-               $dictionary = array();
-
-               $foreign = $this->getPlainForeignKey();
-
-               // First we will create a dictionary of models keyed by the 
foreign key of the
-               // relationship as this will allow us to quickly access all of 
the related
-               // models without having to do nested looping which will be 
quite slow.
-               foreach ($results as $result)
-               {
-                       $dictionary[$result->{$foreign}][] = $result;
-               }
-
-               return $dictionary;
-       }
-
-       /**
-        * Attach a model instance to the parent model.
-        *
-        * @param  \Illuminate\Database\Eloquent\Model  $model
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function save(Model $model)
-       {
-               $model->setAttribute($this->getPlainForeignKey(), 
$this->getParentKey());
-
-               return $model->save() ? $model : false;
-       }
-
-       /**
-        * Attach an array of models to the parent instance.
-        *
-        * @param  array  $models
-        * @return array
-        */
-       public function saveMany(array $models)
-       {
-               array_walk($models, array($this, 'save'));
-
-               return $models;
-       }
-
-       /**
-        * Create a new instance of the related model.
-        *
-        * @param  array  $attributes
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function create(array $attributes)
-       {
-               // Here we will set the raw attributes to avoid hitting the 
"fill" method so
-               // that we do not have to worry about a mass accessor rules 
blocking sets
-               // on the models. Otherwise, some of these attributes will not 
get set.
-               $instance = $this->related->newInstance($attributes);
-
-               $instance->setAttribute($this->getPlainForeignKey(), 
$this->getParentKey());
-
-               $instance->save();
-
-               return $instance;
-       }
-
-       /**
-        * Create an array of new instances of the related model.
-        *
-        * @param  array  $records
-        * @return array
-        */
-       public function createMany(array $records)
-       {
-               $instances = array();
-
-               foreach ($records as $record)
-               {
-                       $instances[] = $this->create($record);
-               }
-
-               return $instances;
-       }
-
-       /**
-        * Perform an update on all the related models.
-        *
-        * @param  array  $attributes
-        * @return int
-        */
-       public function update(array $attributes)
-       {
-               if ($this->related->usesTimestamps())
-               {
-                       $attributes[$this->relatedUpdatedAt()] = 
$this->related->freshTimestamp();
-               }
-
-               return $this->query->update($attributes);
-       }
-
-       /**
-        * Get the key for comparing against the parent key in "has" query.
-        *
-        * @return string
-        */
-       public function getHasCompareKey()
-       {
-               return $this->getForeignKey();
-       }
-
-       /**
-        * Get the foreign key for the relationship.
-        *
-        * @return string
-        */
-       public function getForeignKey()
-       {
-               return $this->foreignKey;
-       }
-
-       /**
-        * Get the plain foreign key.
-        *
-        * @return string
-        */
-       public function getPlainForeignKey()
-       {
-               $segments = explode('.', $this->getForeignKey());
-
-               return $segments[count($segments) - 1];
-       }
-
-       /**
-        * Get the key value of the parent's local key.
-        *
-        * @return mixed
-        */
-       public function getParentKey()
-       {
-               return $this->parent->getAttribute($this->localKey);
-       }
-
-       /**
-        * Get the fully qualified parent key name.
-        *
-        * @return string
-        */
-       public function getQualifiedParentKeyName()
-       {
-               return $this->parent->getTable().'.'.$this->localKey;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php
deleted file mode 100755
index 1abdf37..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphMany.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Collection;
-
-class MorphMany extends MorphOneOrMany {
-
-       /**
-        * Get the results of the relationship.
-        *
-        * @return mixed
-        */
-       public function getResults()
-       {
-               return $this->query->get();
-       }
-
-       /**
-        * Initialize the relation on a set of models.
-        *
-        * @param  array   $models
-        * @param  string  $relation
-        * @return array
-        */
-       public function initRelation(array $models, $relation)
-       {
-               foreach ($models as $model)
-               {
-                       $model->setRelation($relation, 
$this->related->newCollection());
-               }
-
-               return $models;
-       }
-
-       /**
-        * Match the eagerly loaded results to their parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function match(array $models, Collection $results, $relation)
-       {
-               return $this->matchMany($models, $results, $relation);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php
deleted file mode 100755
index fdebc24..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOne.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Collection;
-
-class MorphOne extends MorphOneOrMany {
-
-       /**
-        * Get the results of the relationship.
-        *
-        * @return mixed
-        */
-       public function getResults()
-       {
-               return $this->query->first();
-       }
-
-       /**
-        * Initialize the relation on a set of models.
-        *
-        * @param  array   $models
-        * @param  string  $relation
-        * @return array
-        */
-       public function initRelation(array $models, $relation)
-       {
-               foreach ($models as $model)
-               {
-                       $model->setRelation($relation, null);
-               }
-
-               return $models;
-       }
-
-       /**
-        * Match the eagerly loaded results to their parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function match(array $models, Collection $results, $relation)
-       {
-               return $this->matchOne($models, $results, $relation);
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php
deleted file mode 100755
index 4a20351..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphOneOrMany.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Database\Eloquent\Builder;
-
-abstract class MorphOneOrMany extends HasOneOrMany {
-
-       /**
-        * The foreign key type for the relationship.
-        *
-        * @var string
-        */
-       protected $morphType;
-
-       /**
-        * The class name of the parent model.
-        *
-        * @var string
-        */
-       protected $morphClass;
-
-       /**
-        * Create a new has many relationship instance.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Model  $parent
-        * @param  string  $type
-        * @param  string  $id
-        * @param  string  $localKey
-        * @return void
-        */
-       public function __construct(Builder $query, Model $parent, $type, $id, 
$localKey)
-       {
-               $this->morphType = $type;
-
-               $this->morphClass = $parent->getMorphClass();
-
-               parent::__construct($query, $parent, $id, $localKey);
-       }
-
-       /**
-        * Set the base constraints on the relation query.
-        *
-        * @return void
-        */
-       public function addConstraints()
-       {
-               if (static::$constraints)
-               {
-                       parent::addConstraints();
-
-                       $this->query->where($this->morphType, 
$this->morphClass);
-               }
-       }
-
-       /**
-        * Get the relationship count query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Builder  $parent
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       public function getRelationCountQuery(Builder $query, Builder $parent)
-       {
-               $query = parent::getRelationCountQuery($query, $parent);
-
-               return $query->where($this->morphType, $this->morphClass);
-       }
-
-       /**
-        * Set the constraints for an eager load of the relation.
-        *
-        * @param  array  $models
-        * @return void
-        */
-       public function addEagerConstraints(array $models)
-       {
-               parent::addEagerConstraints($models);
-
-               $this->query->where($this->morphType, $this->morphClass);
-       }
-
-       /**
-        * Attach a model instance to the parent model.
-        *
-        * @param  \Illuminate\Database\Eloquent\Model  $model
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function save(Model $model)
-       {
-               $model->setAttribute($this->getPlainMorphType(), 
$this->morphClass);
-
-               return parent::save($model);
-       }
-
-       /**
-        * Create a new instance of the related model.
-        *
-        * @param  array  $attributes
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function create(array $attributes)
-       {
-               $instance = $this->related->newInstance($attributes);
-
-               // When saving a polymorphic relationship, we need to set not 
only the foreign
-               // key, but also the foreign key type, which is typically the 
class name of
-               // the parent model. This makes the polymorphic item unique in 
the table.
-               $this->setForeignAttributesForCreate($instance);
-
-               $instance->save();
-
-               return $instance;
-       }
-
-       /**
-        * Set the foreign ID and type for creating a related model.
-        *
-        * @param  \Illuminate\Database\Eloquent\Model  $model
-        * @return void
-        */
-       protected function setForeignAttributesForCreate(Model $model)
-       {
-               $model->{$this->getPlainForeignKey()} = $this->getParentKey();
-
-               $model->{last(explode('.', $this->morphType))} = 
$this->morphClass;
-       }
-
-       /**
-        * Get the foreign key "type" name.
-        *
-        * @return string
-        */
-       public function getMorphType()
-       {
-               return $this->morphType;
-       }
-
-       /**
-        * Get the plain morph type name without the table.
-        *
-        * @return string
-        */
-       public function getPlainMorphType()
-       {
-               return last(explode('.', $this->morphType));
-       }
-
-       /**
-        * Get the class name of the parent model.
-        *
-        * @return string
-        */
-       public function getMorphClass()
-       {
-               return $this->morphClass;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php
deleted file mode 100644
index d6c773f..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphPivot.php
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Builder;
-
-class MorphPivot extends Pivot {
-
-       /**
-        * The type of the polymorphic relation.
-        *
-        * Explicitly define this so it's not included in saved attributes.
-        *
-        * @var string
-        */
-       protected $morphType;
-
-       /**
-        * The value of the polymorphic relation.
-        *
-        * Explicitly define this so it's not included in saved attributes.
-        *
-        * @var string
-        */
-       protected $morphClass;
-
-       /**
-        * Set the keys for a save update query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       protected function setKeysForSaveQuery(Builder $query)
-       {
-               $query->where($this->morphType, $this->morphClass);
-
-               return parent::setKeysForSaveQuery($query);
-       }
-
-       /**
-        * Delete the pivot model record from the database.
-        *
-        * @return int
-        */
-       public function delete()
-       {
-               $query = $this->getDeleteQuery();
-
-               $query->where($this->morphType, $this->morphClass);
-
-               return $query->delete();
-       }
-
-       /**
-        * Set the morph type for the pivot.
-        *
-        * @param  string  $morphType
-        * @return $this
-        */
-       public function setMorphType($morphType)
-       {
-               $this->morphType = $morphType;
-
-               return $this;
-       }
-
-       /**
-        * Set the morph class for the pivot.
-        *
-        * @param  string  $morphClass
-        * @return \Illuminate\Database\Eloquent\Relations\MorphPivot
-        */
-       public function setMorphClass($morphClass)
-       {
-                       $this->morphClass = $morphClass;
-
-                       return $this;
-       }
-
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php
deleted file mode 100644
index cd9948f..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphTo.php
+++ /dev/null
@@ -1,246 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Eloquent\Collection;
-use Illuminate\Support\Collection as BaseCollection;
-
-class MorphTo extends BelongsTo {
-
-       /**
-        * The type of the polymorphic relation.
-        *
-        * @var string
-        */
-       protected $morphType;
-
-       /**
-        * The models whose relations are being eager loaded.
-        *
-        * @var \Illuminate\Database\Eloquent\Collection
-        */
-       protected $models;
-
-       /**
-        * All of the models keyed by ID.
-        *
-        * @var array
-        */
-       protected $dictionary = array();
-
-       /*
-        * Indicates if soft-deleted model instances should be fetched.
-        *
-        * @var bool
-        */
-       protected $withTrashed = false;
-
-       /**
-        * Create a new belongs to relationship instance.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Model  $parent
-        * @param  string  $foreignKey
-        * @param  string  $otherKey
-        * @param  string  $type
-        * @param  string  $relation
-        * @return void
-        */
-       public function __construct(Builder $query, Model $parent, $foreignKey, 
$otherKey, $type, $relation)
-       {
-               $this->morphType = $type;
-
-               parent::__construct($query, $parent, $foreignKey, $otherKey, 
$relation);
-       }
-
-       /**
-        * Set the constraints for an eager load of the relation.
-        *
-        * @param  array  $models
-        * @return void
-        */
-       public function addEagerConstraints(array $models)
-       {
-               $this->buildDictionary($this->models = 
Collection::make($models));
-       }
-
-       /**
-        * Build a dictionary with the models.
-        *
-        * @param  \Illuminate\Database\Eloquent\Collection  $models
-        * @return void
-        */
-       protected function buildDictionary(Collection $models)
-       {
-               foreach ($models as $model)
-               {
-                       if ($model->{$this->morphType})
-                       {
-                               
$this->dictionary[$model->{$this->morphType}][$model->{$this->foreignKey}][] = 
$model;
-                       }
-               }
-       }
-
-       /**
-        * Match the eagerly loaded results to their parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       public function match(array $models, Collection $results, $relation)
-       {
-               return $models;
-       }
-
-       /**
-        * Associate the model instance to the given parent.
-        *
-        * @param  \Illuminate\Database\Eloquent\Model  $model
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function associate(Model $model)
-       {
-               $this->parent->setAttribute($this->foreignKey, 
$model->getKey());
-
-               $this->parent->setAttribute($this->morphType, 
$model->getMorphClass());
-
-               return $this->parent->setRelation($this->relation, $model);
-       }
-
-       /**
-        * Get the results of the relationship.
-        *
-        * Called via eager load method of Eloquent query builder.
-        *
-        * @return mixed
-        */
-       public function getEager()
-       {
-               foreach (array_keys($this->dictionary) as $type)
-               {
-                       $this->matchToMorphParents($type, 
$this->getResultsByType($type));
-               }
-
-               return $this->models;
-       }
-
-       /**
-        * Match the results for a given type to their parents.
-        *
-        * @param  string  $type
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @return void
-        */
-       protected function matchToMorphParents($type, Collection $results)
-       {
-               foreach ($results as $result)
-               {
-                       if (isset($this->dictionary[$type][$result->getKey()]))
-                       {
-                               foreach 
($this->dictionary[$type][$result->getKey()] as $model)
-                               {
-                                       $model->setRelation($this->relation, 
$result);
-                               }
-                       }
-               }
-       }
-
-       /**
-        * Get all of the relation results for a type.
-        *
-        * @param  string  $type
-        * @return \Illuminate\Database\Eloquent\Collection
-        */
-       protected function getResultsByType($type)
-       {
-               $instance = $this->createModelByType($type);
-
-               $key = $instance->getKeyName();
-
-               $query = $instance->newQuery();
-
-               $query = $this->useWithTrashed($query);
-
-               return $query->whereIn($key, 
$this->gatherKeysByType($type)->all())->get();
-       }
-
-       /**
-        * Gather all of the foreign keys for a given type.
-        *
-        * @param  string  $type
-        * @return array
-        */
-       protected function gatherKeysByType($type)
-       {
-               $foreign = $this->foreignKey;
-
-               return 
BaseCollection::make($this->dictionary[$type])->map(function($models) use 
($foreign)
-               {
-                       return head($models)->{$foreign};
-
-               })->unique();
-       }
-
-       /**
-        * Create a new model instance by type.
-        *
-        * @param  string  $type
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function createModelByType($type)
-       {
-               return new $type;
-       }
-
-       /**
-        * Get the foreign key "type" name.
-        *
-        * @return string
-        */
-       public function getMorphType()
-       {
-               return $this->morphType;
-       }
-
-       /**
-        * Get the dictionary used by the relationship.
-        *
-        * @return array
-        */
-       public function getDictionary()
-       {
-               return $this->dictionary;
-       }
-
-       /**
-        * Fetch soft-deleted model instances with query
-        *
-        * @return $this
-        */
-       public function withTrashed()
-       {
-               $this->withTrashed = true;
-
-               $this->query = $this->useWithTrashed($this->query);
-
-               return $this;
-       }
-
-       /**
-        * Return trashed models with query if told so
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       protected function useWithTrashed(Builder $query)
-       {
-               if ($this->withTrashed && $query->getMacro('withTrashed') !== 
null)
-               {
-                       return $query->withTrashed();
-               }
-               return $query;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php
deleted file mode 100644
index 2d8d6ac..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/MorphToMany.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Database\Eloquent\Builder;
-
-class MorphToMany extends BelongsToMany {
-
-       /**
-        * The type of the polymorphic relation.
-        *
-        * @var string
-        */
-       protected $morphType;
-
-       /**
-        * The class name of the morph type constraint.
-        *
-        * @var string
-        */
-       protected $morphClass;
-
-       /**
-        * Indicates if we are connecting the inverse of the relation.
-        *
-        * This primarily affects the morphClass constraint.
-        *
-        * @var bool
-        */
-       protected $inverse;
-
-       /**
-        * Create a new has many relationship instance.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Model  $parent
-        * @param  string  $name
-        * @param  string  $table
-        * @param  string  $foreignKey
-        * @param  string  $otherKey
-        * @param  string  $relationName
-        * @param  bool   $inverse
-        * @return void
-        */
-       public function __construct(Builder $query, Model $parent, $name, 
$table, $foreignKey, $otherKey, $relationName = null, $inverse = false)
-       {
-               $this->inverse = $inverse;
-               $this->morphType = $name.'_type';
-               $this->morphClass = $inverse ? 
$query->getModel()->getMorphClass() : $parent->getMorphClass();
-
-               parent::__construct($query, $parent, $table, $foreignKey, 
$otherKey, $relationName);
-       }
-
-       /**
-        * Set the where clause for the relation query.
-        *
-        * @return $this
-        */
-       protected function setWhere()
-       {
-               parent::setWhere();
-
-               $this->query->where($this->table.'.'.$this->morphType, 
$this->morphClass);
-
-               return $this;
-       }
-
-       /**
-        * Add the constraints for a relationship count query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Builder  $parent
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       public function getRelationCountQuery(Builder $query, Builder $parent)
-       {
-               $query = parent::getRelationCountQuery($query, $parent);
-
-               return $query->where($this->table.'.'.$this->morphType, 
$this->morphClass);
-       }
-
-       /**
-        * Set the constraints for an eager load of the relation.
-        *
-        * @param  array  $models
-        * @return void
-        */
-       public function addEagerConstraints(array $models)
-       {
-               parent::addEagerConstraints($models);
-
-               $this->query->where($this->table.'.'.$this->morphType, 
$this->morphClass);
-       }
-
-       /**
-        * Create a new pivot attachment record.
-        *
-        * @param  int   $id
-        * @param  bool  $timed
-        * @return array
-        */
-       protected function createAttachRecord($id, $timed)
-       {
-               $record = parent::createAttachRecord($id, $timed);
-
-               return array_add($record, $this->morphType, $this->morphClass);
-       }
-
-       /**
-        * Create a new query builder for the pivot table.
-        *
-        * @return \Illuminate\Database\Query\Builder
-        */
-       protected function newPivotQuery()
-       {
-               $query = parent::newPivotQuery();
-
-               return $query->where($this->morphType, $this->morphClass);
-       }
-
-       /**
-        * Create a new pivot model instance.
-        *
-        * @param  array  $attributes
-        * @param  bool   $exists
-        * @return \Illuminate\Database\Eloquent\Relations\Pivot
-        */
-       public function newPivot(array $attributes = array(), $exists = false)
-       {
-               $pivot = new MorphPivot($this->parent, $attributes, 
$this->table, $exists);
-
-               $pivot->setPivotKeys($this->foreignKey, $this->otherKey)
-                         ->setMorphType($this->morphType)
-                         ->setMorphClass($this->morphClass);
-
-               return $pivot;
-       }
-
-       /**
-        * Get the foreign key "type" name.
-        *
-        * @return string
-        */
-       public function getMorphType()
-       {
-               return $this->morphType;
-       }
-
-       /**
-        * Get the class name of the parent model.
-        *
-        * @return string
-        */
-       public function getMorphClass()
-       {
-               return $this->morphClass;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php
deleted file mode 100755
index 365477e..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Pivot.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Database\Eloquent\Builder;
-
-class Pivot extends Model {
-
-       /**
-        * The parent model of the relationship.
-        *
-        * @var \Illuminate\Database\Eloquent\Model
-        */
-       protected $parent;
-
-       /**
-        * The name of the foreign key column.
-        *
-        * @var string
-        */
-       protected $foreignKey;
-
-       /**
-        * The name of the "other key" column.
-        *
-        * @var string
-        */
-       protected $otherKey;
-
-       /**
-        * The attributes that aren't mass assignable.
-        *
-        * @var array
-        */
-       protected $guarded = array();
-
-       /**
-        * Create a new pivot model instance.
-        *
-        * @param  \Illuminate\Database\Eloquent\Model  $parent
-        * @param  array   $attributes
-        * @param  string  $table
-        * @param  bool    $exists
-        * @return void
-        */
-       public function __construct(Model $parent, $attributes, $table, $exists 
= false)
-       {
-               parent::__construct();
-
-               // The pivot model is a "dynamic" model since we will set the 
tables dynamically
-               // for the instance. This allows it work for any intermediate 
tables for the
-               // many to many relationship that are defined by this 
developer's classes.
-               $this->setRawAttributes($attributes, true);
-
-               $this->setTable($table);
-
-               $this->setConnection($parent->getConnectionName());
-
-               // We store off the parent instance so we will access the 
timestamp column names
-               // for the model, since the pivot model timestamps aren't 
easily configurable
-               // from the developer's point of view. We can use the parents 
to get these.
-               $this->parent = $parent;
-
-               $this->exists = $exists;
-
-               $this->timestamps = $this->hasTimestampAttributes();
-       }
-
-       /**
-        * Set the keys for a save update query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       protected function setKeysForSaveQuery(Builder $query)
-       {
-               $query->where($this->foreignKey, 
$this->getAttribute($this->foreignKey));
-
-               return $query->where($this->otherKey, 
$this->getAttribute($this->otherKey));
-       }
-
-       /**
-        * Delete the pivot model record from the database.
-        *
-        * @return int
-        */
-       public function delete()
-       {
-               return $this->getDeleteQuery()->delete();
-       }
-
-       /**
-        * Get the query builder for a delete operation on the pivot.
-        *
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       protected function getDeleteQuery()
-       {
-               $foreign = $this->getAttribute($this->foreignKey);
-
-               $query = $this->newQuery()->where($this->foreignKey, $foreign);
-
-               return $query->where($this->otherKey, 
$this->getAttribute($this->otherKey));
-       }
-
-       /**
-        * Get the foreign key column name.
-        *
-        * @return string
-        */
-       public function getForeignKey()
-       {
-               return $this->foreignKey;
-       }
-
-       /**
-        * Get the "other key" column name.
-        *
-        * @return string
-        */
-       public function getOtherKey()
-       {
-               return $this->otherKey;
-       }
-
-       /**
-        * Set the key names for the pivot model instance.
-        *
-        * @param  string  $foreignKey
-        * @param  string  $otherKey
-        * @return $this
-        */
-       public function setPivotKeys($foreignKey, $otherKey)
-       {
-               $this->foreignKey = $foreignKey;
-
-               $this->otherKey = $otherKey;
-
-               return $this;
-       }
-
-       /**
-        * Determine if the pivot model has timestamp attributes.
-        *
-        * @return bool
-        */
-       public function hasTimestampAttributes()
-       {
-               return array_key_exists($this->getCreatedAtColumn(), 
$this->attributes);
-       }
-
-       /**
-        * Get the name of the "created at" column.
-        *
-        * @return string
-        */
-       public function getCreatedAtColumn()
-       {
-               return $this->parent->getCreatedAtColumn();
-       }
-
-       /**
-        * Get the name of the "updated at" column.
-        *
-        * @return string
-        */
-       public function getUpdatedAtColumn()
-       {
-               return $this->parent->getUpdatedAtColumn();
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php
deleted file mode 100755
index 24125bb..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php
+++ /dev/null
@@ -1,288 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent\Relations;
-
-use Closure;
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Query\Expression;
-use Illuminate\Database\Eloquent\Collection;
-
-abstract class Relation {
-
-       /**
-        * The Eloquent query builder instance.
-        *
-        * @var \Illuminate\Database\Eloquent\Builder
-        */
-       protected $query;
-
-       /**
-        * The parent model instance.
-        *
-        * @var \Illuminate\Database\Eloquent\Model
-        */
-       protected $parent;
-
-       /**
-        * The related model instance.
-        *
-        * @var \Illuminate\Database\Eloquent\Model
-        */
-       protected $related;
-
-       /**
-        * Indicates if the relation is adding constraints.
-        *
-        * @var bool
-        */
-       protected static $constraints = true;
-
-       /**
-        * Create a new relation instance.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Model  $parent
-        * @return void
-        */
-       public function __construct(Builder $query, Model $parent)
-       {
-               $this->query = $query;
-               $this->parent = $parent;
-               $this->related = $query->getModel();
-
-               $this->addConstraints();
-       }
-
-       /**
-        * Set the base constraints on the relation query.
-        *
-        * @return void
-        */
-       abstract public function addConstraints();
-
-       /**
-        * Set the constraints for an eager load of the relation.
-        *
-        * @param  array  $models
-        * @return void
-        */
-       abstract public function addEagerConstraints(array $models);
-
-       /**
-        * Initialize the relation on a set of models.
-        *
-        * @param  array   $models
-        * @param  string  $relation
-        * @return array
-        */
-       abstract public function initRelation(array $models, $relation);
-
-       /**
-        * Match the eagerly loaded results to their parents.
-        *
-        * @param  array   $models
-        * @param  \Illuminate\Database\Eloquent\Collection  $results
-        * @param  string  $relation
-        * @return array
-        */
-       abstract public function match(array $models, Collection $results, 
$relation);
-
-       /**
-        * Get the results of the relationship.
-        *
-        * @return mixed
-        */
-       abstract public function getResults();
-
-       /**
-        * Get the relationship for eager loading.
-        *
-        * @return \Illuminate\Database\Eloquent\Collection
-        */
-       public function getEager()
-       {
-               return $this->get();
-       }
-
-       /**
-        * Touch all of the related models for the relationship.
-        *
-        * @return void
-        */
-       public function touch()
-       {
-               $column = $this->getRelated()->getUpdatedAtColumn();
-
-               $this->rawUpdate(array($column => 
$this->getRelated()->freshTimestampString()));
-       }
-
-       /**
-        * Run a raw update against the base query.
-        *
-        * @param  array  $attributes
-        * @return int
-        */
-       public function rawUpdate(array $attributes = array())
-       {
-               return $this->query->update($attributes);
-       }
-
-       /**
-        * Add the constraints for a relationship count query.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $query
-        * @param  \Illuminate\Database\Eloquent\Builder  $parent
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       public function getRelationCountQuery(Builder $query, Builder $parent)
-       {
-               $query->select(new Expression('count(*)'));
-
-               $key = $this->wrap($this->getQualifiedParentKeyName());
-
-               return $query->where($this->getHasCompareKey(), '=', new 
Expression($key));
-       }
-
-       /**
-        * Run a callback with constraints disabled on the relation.
-        *
-        * @param  \Closure  $callback
-        * @return mixed
-        */
-       public static function noConstraints(Closure $callback)
-       {
-               static::$constraints = false;
-
-               // When resetting the relation where clause, we want to shift 
the first element
-               // off of the bindings, leaving only the constraints that the 
developers put
-               // as "extra" on the relationships, and not original relation 
constraints.
-               $results = call_user_func($callback);
-
-               static::$constraints = true;
-
-               return $results;
-       }
-
-       /**
-        * Get all of the primary keys for an array of models.
-        *
-        * @param  array   $models
-        * @param  string  $key
-        * @return array
-        */
-       protected function getKeys(array $models, $key = null)
-       {
-               return array_unique(array_values(array_map(function($value) use 
($key)
-               {
-                       return $key ? $value->getAttribute($key) : 
$value->getKey();
-
-               }, $models)));
-       }
-
-       /**
-        * Get the underlying query for the relation.
-        *
-        * @return \Illuminate\Database\Eloquent\Builder
-        */
-       public function getQuery()
-       {
-               return $this->query;
-       }
-
-       /**
-        * Get the base query builder driving the Eloquent builder.
-        *
-        * @return \Illuminate\Database\Query\Builder
-        */
-       public function getBaseQuery()
-       {
-               return $this->query->getQuery();
-       }
-
-       /**
-        * Get the parent model of the relation.
-        *
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function getParent()
-       {
-               return $this->parent;
-       }
-
-       /**
-        * Get the fully qualified parent key name.
-        *
-        * @return string
-        */
-       public function getQualifiedParentKeyName()
-       {
-               return $this->parent->getQualifiedKeyName();
-       }
-
-       /**
-        * Get the related model of the relation.
-        *
-        * @return \Illuminate\Database\Eloquent\Model
-        */
-       public function getRelated()
-       {
-               return $this->related;
-       }
-
-       /**
-        * Get the name of the "created at" column.
-        *
-        * @return string
-        */
-       public function createdAt()
-       {
-               return $this->parent->getCreatedAtColumn();
-       }
-
-       /**
-        * Get the name of the "updated at" column.
-        *
-        * @return string
-        */
-       public function updatedAt()
-       {
-               return $this->parent->getUpdatedAtColumn();
-       }
-
-       /**
-        * Get the name of the related model's "updated at" column.
-        *
-        * @return string
-        */
-       public function relatedUpdatedAt()
-       {
-               return $this->related->getUpdatedAtColumn();
-       }
-
-       /**
-        * Wrap the given value with the parent query's grammar.
-        *
-        * @param  string  $value
-        * @return string
-        */
-       public function wrap($value)
-       {
-               return 
$this->parent->newQueryWithoutScopes()->getQuery()->getGrammar()->wrap($value);
-       }
-
-       /**
-        * Handle dynamic method calls to the relationship.
-        *
-        * @param  string  $method
-        * @param  array   $parameters
-        * @return mixed
-        */
-       public function __call($method, $parameters)
-       {
-               $result = call_user_func_array(array($this->query, $method), 
$parameters);
-
-               if ($result === $this->query) return $this;
-
-               return $result;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/ScopeInterface.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/ScopeInterface.php 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/ScopeInterface.php
deleted file mode 100644
index b0a93a9..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/ScopeInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent;
-
-interface ScopeInterface {
-
-       /**
-        * Apply the scope to a given Eloquent query builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       public function apply(Builder $builder);
-
-       /**
-        * Remove the scope from the given Eloquent query builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       public function remove(Builder $builder);
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php
deleted file mode 100644
index 61c5d5c..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent;
-
-class SoftDeletingScope implements ScopeInterface {
-
-       /**
-        * All of the extensions to be added to the builder.
-        *
-        * @var array
-        */
-       protected $extensions = ['ForceDelete', 'Restore', 'WithTrashed', 
'OnlyTrashed'];
-
-       /**
-        * Apply the scope to a given Eloquent query builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       public function apply(Builder $builder)
-       {
-               $model = $builder->getModel();
-
-               $builder->whereNull($model->getQualifiedDeletedAtColumn());
-
-               $this->extend($builder);
-       }
-
-       /**
-        * Remove the scope from the given Eloquent query builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       public function remove(Builder $builder)
-       {
-               $column = $builder->getModel()->getQualifiedDeletedAtColumn();
-
-               $query = $builder->getQuery();
-
-               foreach ((array) $query->wheres as $key => $where)
-               {
-                       // If the where clause is a soft delete date 
constraint, we will remove it from
-                       // the query and reset the keys on the wheres. This 
allows this developer to
-                       // include deleted model in a relationship result set 
that is lazy loaded.
-                       if ($this->isSoftDeleteConstraint($where, $column))
-                       {
-                               unset($query->wheres[$key]);
-
-                               $query->wheres = array_values($query->wheres);
-                       }
-               }
-       }
-
-       /**
-        * Extend the query builder with the needed functions.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       public function extend(Builder $builder)
-       {
-               foreach ($this->extensions as $extension)
-               {
-                       $this->{"add{$extension}"}($builder);
-               }
-
-               $builder->onDelete(function(Builder $builder)
-               {
-                       $column = $this->getDeletedAtColumn($builder);
-
-                       return $builder->update(array(
-                               $column => 
$builder->getModel()->freshTimestampString()
-                       ));
-               });
-       }
-
-       /**
-        * Get the "deleted at" column for the builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return string
-        */
-       protected function getDeletedAtColumn(Builder $builder)
-       {
-               if (count($builder->getQuery()->joins) > 0)
-               {
-                       return 
$builder->getModel()->getQualifiedDeletedAtColumn();
-               }
-               else
-               {
-                       return $builder->getModel()->getDeletedAtColumn();
-               }
-       }
-
-       /**
-        * Add the force delete extension to the builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       protected function addForceDelete(Builder $builder)
-       {
-               $builder->macro('forceDelete', function(Builder $builder)
-               {
-                       return $builder->getQuery()->delete();
-               });
-       }
-
-       /**
-        * Add the restore extension to the builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       protected function addRestore(Builder $builder)
-       {
-               $builder->macro('restore', function(Builder $builder)
-               {
-                       $builder->withTrashed();
-
-                       return 
$builder->update(array($builder->getModel()->getDeletedAtColumn() => null));
-               });
-       }
-
-       /**
-        * Add the with-trashed extension to the builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       protected function addWithTrashed(Builder $builder)
-       {
-               $builder->macro('withTrashed', function(Builder $builder)
-               {
-                       $this->remove($builder);
-
-                       return $builder;
-               });
-       }
-
-       /**
-        * Add the only-trashed extension to the builder.
-        *
-        * @param  \Illuminate\Database\Eloquent\Builder  $builder
-        * @return void
-        */
-       protected function addOnlyTrashed(Builder $builder)
-       {
-               $builder->macro('onlyTrashed', function(Builder $builder)
-               {
-                       $this->remove($builder);
-
-                       
$builder->getQuery()->whereNotNull($builder->getModel()->getQualifiedDeletedAtColumn());
-
-                       return $builder;
-               });
-       }
-
-       /**
-        * Determine if the given where clause is a soft delete constraint.
-        *
-        * @param  array   $where
-        * @param  string  $column
-        * @return bool
-        */
-       protected function isSoftDeleteConstraint(array $where, $column)
-       {
-               return $where['type'] == 'Null' && $where['column'] == $column;
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/80fd786e/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingTrait.php
----------------------------------------------------------------------
diff --git 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingTrait.php
 
b/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingTrait.php
deleted file mode 100644
index 617c019..0000000
--- 
a/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingTrait.php
+++ /dev/null
@@ -1,170 +0,0 @@
-<?php namespace Illuminate\Database\Eloquent;
-
-trait SoftDeletingTrait {
-
-       /**
-        * Indicates if the model is currently force deleting.
-        *
-        * @var bool
-        */
-       protected $forceDeleting = false;
-
-       /**
-        * Boot the soft deleting trait for a model.
-        *
-        * @return void
-        */
-       public static function bootSoftDeletingTrait()
-       {
-               static::addGlobalScope(new SoftDeletingScope);
-       }
-
-       /**
-        * Force a hard delete on a soft deleted model.
-        *
-        * @return void
-        */
-       public function forceDelete()
-       {
-               $this->forceDeleting = true;
-
-               $this->delete();
-
-               $this->forceDeleting = false;
-       }
-
-       /**
-        * Perform the actual delete query on this model instance.
-        *
-        * @return void
-        */
-       protected function performDeleteOnModel()
-       {
-               if ($this->forceDeleting)
-               {
-                       return $this->withTrashed()->where($this->getKeyName(), 
$this->getKey())->forceDelete();
-               }
-
-               return $this->runSoftDelete();
-       }
-
-       /**
-        * Perform the actual delete query on this model instance.
-        *
-        * @return void
-        */
-       protected function runSoftDelete()
-       {
-               $query = $this->newQuery()->where($this->getKeyName(), 
$this->getKey());
-
-               $this->{$this->getDeletedAtColumn()} = $time = 
$this->freshTimestamp();
-
-               $query->update(array($this->getDeletedAtColumn() => 
$this->fromDateTime($time)));
-       }
-
-       /**
-        * Restore a soft-deleted model instance.
-        *
-        * @return bool|null
-        */
-       public function restore()
-       {
-               // If the restoring event does not return false, we will 
proceed with this
-               // restore operation. Otherwise, we bail out so the developer 
will stop
-               // the restore totally. We will clear the deleted timestamp and 
save.
-               if ($this->fireModelEvent('restoring') === false)
-               {
-                       return false;
-               }
-
-               $this->{$this->getDeletedAtColumn()} = null;
-
-               // Once we have saved the model, we will fire the "restored" 
event so this
-               // developer will do anything they need to after a restore 
operation is
-               // totally finished. Then we will return the result of the save 
call.
-               $this->exists = true;
-
-               $result = $this->save();
-
-               $this->fireModelEvent('restored', false);
-
-               return $result;
-       }
-
-       /**
-        * Determine if the model instance has been soft-deleted.
-        *
-        * @return bool
-        */
-       public function trashed()
-       {
-               return ! is_null($this->{$this->getDeletedAtColumn()});
-       }
-
-       /**
-        * Get a new query builder that includes soft deletes.
-        *
-        * @return \Illuminate\Database\Eloquent\Builder|static
-        */
-       public static function withTrashed()
-       {
-               return (new static)->newQueryWithoutScope(new 
SoftDeletingScope);
-       }
-
-       /**
-        * Get a new query builder that only includes soft deletes.
-        *
-        * @return \Illuminate\Database\Eloquent\Builder|static
-        */
-       public static function onlyTrashed()
-       {
-               $instance = new static;
-
-               $column = $instance->getQualifiedDeletedAtColumn();
-
-               return $instance->newQueryWithoutScope(new 
SoftDeletingScope)->whereNotNull($column);
-       }
-
-       /**
-        * Register a restoring model event with the dispatcher.
-        *
-        * @param  \Closure|string  $callback
-        * @return void
-        */
-       public static function restoring($callback)
-       {
-               static::registerModelEvent('restoring', $callback);
-       }
-
-       /**
-        * Register a restored model event with the dispatcher.
-        *
-        * @param  \Closure|string  $callback
-        * @return void
-        */
-       public static function restored($callback)
-       {
-               static::registerModelEvent('restored', $callback);
-       }
-
-       /**
-        * Get the name of the "deleted at" column.
-        *
-        * @return string
-        */
-       public function getDeletedAtColumn()
-       {
-               return defined('static::DELETED_AT') ? static::DELETED_AT : 
'deleted_at';
-       }
-
-       /**
-        * Get the fully qualified "deleted at" column.
-        *
-        * @return string
-        */
-       public function getQualifiedDeletedAtColumn()
-       {
-               return $this->getTable().'.'.$this->getDeletedAtColumn();
-       }
-
-}

Reply via email to