diff --git a/app/Http/Controllers/Admin/CartRuleCrudController.php b/app/Http/Controllers/Admin/CartRuleCrudController.php index d636f70..836d05a 100644 --- a/app/Http/Controllers/Admin/CartRuleCrudController.php +++ b/app/Http/Controllers/Admin/CartRuleCrudController.php @@ -195,14 +195,14 @@ public function setFields() // INFORMATION TAB [ 'name' => 'name', - 'label' => trans('cartrule.name') . ' *', + 'label' => trans('cartrule.name'), 'type' => 'text', 'attributes'=> ['required' => 'true'], 'tab' => trans('cartrule.information_tab'), ], [ 'name' => 'code', - 'label' => trans('cartrule.code') . ' *', + 'label' => trans('cartrule.code'), 'tab' => trans('cartrule.information_tab'), ], [ @@ -213,7 +213,7 @@ public function setFields() ], [ 'name' => 'priority', - 'label' => trans('cartrule.priority') . ' *', + 'label' => trans('cartrule.priority'), 'type' => 'number', 'attributes'=> [ 'step' => 'any', @@ -251,13 +251,13 @@ public function setFields() ], [ 'name' => 'start_date', - 'label' => trans('cartrule.start_date') . ' *', + 'label' => trans('cartrule.start_date'), 'type' => 'datetime_picker', 'tab' => trans('cartrule.conditions_tab'), ], [ 'name' => 'expiration_date', - 'label' => trans('cartrule.expiration_date') . ' *', + 'label' => trans('cartrule.expiration_date'), 'type' => 'datetime_picker', 'tab' => trans('cartrule.conditions_tab'), ], diff --git a/app/Http/Controllers/Admin/ClientCrudController.php b/app/Http/Controllers/Admin/ClientCrudController.php index 38bd33d..f8321f5 100644 --- a/app/Http/Controllers/Admin/ClientCrudController.php +++ b/app/Http/Controllers/Admin/ClientCrudController.php @@ -83,9 +83,6 @@ public function setup() public function setFields() { - - // dd($this->crud->model->find(1)->roles->first()->name); - $this->crud->addFields([ [ 'name' => 'salutation', @@ -203,9 +200,13 @@ public function setFields() public function store(StoreRequest $request) { + $clientRoleName = env('CLIENT_ROLE_NAME'); + $this->handlePasswordInput($request); $redirect_location = parent::storeCrud($request); + // $clientRoleID = \DB::table('roles')->whereName($clientRoleName ?: 'client')->first()->id; + // $this->crud->entry->roles()->attach($clientRoleID); return $redirect_location; } diff --git a/app/Http/Controllers/Admin/NotificationTemplateCrudController.php b/app/Http/Controllers/Admin/NotificationTemplateCrudController.php new file mode 100644 index 0000000..273d618 --- /dev/null +++ b/app/Http/Controllers/Admin/NotificationTemplateCrudController.php @@ -0,0 +1,218 @@ +crud->setModel('App\Models\NotificationTemplate'); + $this->crud->setRoute(config('backpack.base.route_prefix') . '/notification-templates'); + $this->crud->setEntityNameStrings(trans('notification_templates.notification_template'), trans('notification_templates.notification_templates')); + + /* + |-------------------------------------------------------------------------- + | COLUMNS + |-------------------------------------------------------------------------- + */ + $this->crud->addColumns([ + [ + 'name' => 'name', + 'label' => trans('notification_templates.name'), + ], + [ + 'name' => 'slug', + 'label' => trans('notification_templates.slug'), + ], + [ + 'name' => 'body', + 'label' => trans('notification_templates.body'), + ], + ]); + + /* + |-------------------------------------------------------------------------- + | PERMISSIONS + |------------------------------------------------------------------------- + */ + $this->setPermissions(); + + /* + |-------------------------------------------------------------------------- + | FIELDS + |-------------------------------------------------------------------------- + */ + $this->setFields(); + + } + + public function setPermissions() + { + // Get authenticated user + $user = auth()->user(); + + // Deny all accesses + $this->crud->denyAccess(['list', 'create', 'update', 'delete']); + + // Allow list access + if ($user->can('list_notification_templates')) { + $this->crud->allowAccess('list'); + } + + // Allow create access + if ($user->can('create_notification_template')) { + $this->crud->allowAccess('create'); + } + + // Allow update access + if ($user->can('update_notification_template')) { + $this->crud->allowAccess('update'); + } + + // Uncomment if you want to allow delete functionality + // Allow delete access + // if ($user->can('delete_notification_template')) { + // $this->crud->allowAccess('delete'); + // } + } + + public function setFields() + { + $availableModels = [ + 'User' => 'App\Models\User', + 'Order' => 'App\Models\Order' + ]; + + $this->crud->addFields([ + [ + 'name' => 'name', + 'label' => trans('notification_templates.name'), + 'type' => 'text', + ], + [ + 'name' => 'slug', + 'label' => trans('notification_templates.slug'), + 'type' => 'slug', + // 'attributes' => ['disabled' => 'disabled'] + ], + [ + 'name' => 'model', + 'label' => trans('notification_templates.model'), + 'type' => 'select2_from_array_notification_template_model', + 'options' => $availableModels + ], + [ + 'name' => 'body', + 'label' => trans('notification_templates.body'), + 'type' => 'ckeditor', + 'wrapperAttributes' => [ + 'class' => 'form-group col-md-9 col-xs-12' + ] + ], + [ + 'name' => 'notification_list_variables', + 'label' => trans('notification_templates.available_variables'), + 'type' => 'notification_list_variables', + 'wrapperAttributes' => [ + 'class' => 'form-group available-variables col-md-3 col-xs-12' + ] + ], + ]); + } + + public function listModelVars(Request $request) + { + $modelClass = 'App\\Models\\'.$request->input('model'); + + if ($request->input('model') === 'User') { + $modelClass = 'App\\'.$request->input('model'); + } + + if (class_exists($modelClass)) { + $model = new $modelClass; + + return response()->json($model->notificationVars); + } + + return null; + } + + + /** + * Get model variables available to use in an email template + * @param string $modelName + * @return array + */ + public function getModelVariables($modelName) + { + $modelClass = 'App\\Models\\'.$modelName; + + if ($modelName === 'User') { + $modelClass = 'App\\'.$modelName; + } + + if (class_exists($modelClass)) { + $model = new $modelClass; + } + + return $model->notificationVars; + } + + /** + * Check variables in body to match the available variables from the model + * @param $request + * @return boolean + */ + public function checkModelVariables($request) { + preg_match_all('/(\{{2}\s?(.*?)\s?\}{2})/mi', + $request->body, + $out, PREG_PATTERN_ORDER); + + if (count(array_diff($out[2], $this->getModelVariables($request->model))) > 0) { + return false; + } + return true; + } + + + public function store(StoreRequest $request) + { + if (!$this->checkModelVariables($request)) { + \Alert::error(trans('notification_templates.variables_error'))->flash(); + return redirect()->back()->withInput(); + } + + // your additional operations before save here + $redirect_location = parent::storeCrud(); + // your additional operations after save here + // use $this->data['entry'] or $this->crud->entry + return $redirect_location; + } + + + public function update(UpdateRequest $request) + { + if (!$this->checkModelVariables($request)) { + \Alert::error(trans('notification_templates.variables_error'))->flash(); + return redirect()->back()->withInput(); + } + + // your additional operations before save here + $redirect_location = parent::updateCrud(); + // your additional operations after save here + // use $this->data['entry'] or $this->crud->entry + return $redirect_location; + } +} diff --git a/app/Http/Controllers/Admin/OrderStatusCrudController.php b/app/Http/Controllers/Admin/OrderStatusCrudController.php index 697b14b..a1ea57b 100644 --- a/app/Http/Controllers/Admin/OrderStatusCrudController.php +++ b/app/Http/Controllers/Admin/OrderStatusCrudController.php @@ -32,6 +32,12 @@ public function setUp() [ 'name' => 'name', 'label' => trans('order.status_name'), + ], + [ + 'name' => 'notification', + 'label' => trans('order.notification'), + 'type' => 'boolean', + 'options' => [0 => 'Disabled', 1 => 'Enabled'] ] ]); @@ -94,6 +100,14 @@ public function setFields() 'name' => 'name', 'label' => trans('order.status_name'), 'type' => 'text', + ], + [ + 'name' => 'notification', + 'type' => 'select_from_array', + 'options' => [ + 1 => 'Enabled', + 0 => 'Disabled' + ] ] ]); } diff --git a/app/Http/Controllers/Admin/ProductCrudController.php b/app/Http/Controllers/Admin/ProductCrudController.php index 6b341f0..fdeef61 100644 --- a/app/Http/Controllers/Admin/ProductCrudController.php +++ b/app/Http/Controllers/Admin/ProductCrudController.php @@ -147,7 +147,8 @@ public function setFields() [ 'name' => 'description', 'label' => trans('product.description'), - 'type' => 'ckeditor', + // 'type' => 'ckeditor', + 'type' => 'text', // TAB 'tab' => trans('product.general_tab'), @@ -206,6 +207,8 @@ public function setFields() [ 'name' => 'price_vat_calculator', 'type' => 'product_vat', + 'tab' => trans('product.general_tab'), + ], [ 'type' => 'select2_tax', @@ -311,7 +314,7 @@ public function setFields() 'model' => 'App\Models\SpecificPrice', 'attribute' => 'start_date', // TAB - 'tab' => trans('specificprice.specific_price') + 'tab' => trans('specificprice.specific_price') ], [ 'name' => 'expiration_date', @@ -319,9 +322,9 @@ public function setFields() 'type' => 'datetime_picker', 'model' => 'App\Models\SpecificPrice', 'attribute' => 'expiration_date', - + // TAB - 'tab' => trans('specificprice.specific_price') + 'tab' => trans('specificprice.specific_price') ], ]); @@ -390,23 +393,17 @@ public function ajaxDeleteProductImage(Request $request, ProductImage $productIm } } - public function store(StoreRequest $request, ProductGroup $productGroup, - SpecificPrice $specificPrice) + public function store(StoreRequest $request, ProductGroup $productGroup, SpecificPrice $specificPrice) { - - // Create group entry $productGroup = $productGroup->create(); - $request->merge([ 'group_id' => $productGroup->id ]); - $redirect_location = parent::storeCrud($request); - // Save product's attribute values if ($request->input('attributes')) { foreach ($request->input('attributes') as $key => $attr_value) { @@ -423,21 +420,39 @@ public function store(StoreRequest $request, ProductGroup $productGroup, $productId = $this->crud->entry->id; $reduction = $request->input('reduction'); $discountType = $request->input('discount_type'); - - // Check if the price after reduction is not less than 0 - if(!$this->validateReductionPrice($productId, $reduction, - $discountType)) { - \Alert::error( - trans('specificprice.reduction_price_not_ok'))->flash(); + $startDate = $request->input('start_date'); + $expirationDate = $request->input('expiration_date'); + + if(!$request->has('start_date') || !$request->has('expiration_date')) { + \Alert::error(trans('specificprice.dates_cant_be_null'))->flash(); + return $redirect_location; } - else{ - // Save specific price - $specificPrice->discount_type = $request->input('discount_type'); - $specificPrice->reduction = $request->input('reduction'); - $specificPrice->start_date = $request->input('start_date'); - $specificPrice->expiration_date = $request->input('expiration_date'); - $specificPrice->product_id = $productId; - $specificPrice = $specificPrice->save(); + + // Check if a specific price reduction doesn't already exist in this period + if(!$this->validateProductDates($productId, $startDate, $expirationDate)) { + $product = Product::find($productId); + $productName = $product->name; + + \Alert::error(trans('specificprice.wrong_dates', ['productName' => $productName]))->flash(); + return $redirect_location; + } + + // Check if the price after reduction is not less than 0 + if($request->has('reduction') && $request->has('discount_type')) { + if(!$this->validateReductionPrice($productId, $reduction, + $discountType)) { + \Alert::error( + trans('specificprice.reduction_price_not_ok'))->flash(); + } + else{ + // Save specific price + $specificPrice->discount_type = $discountType; + $specificPrice->reduction = $reduction; + $specificPrice->start_date = $startDate; + $specificPrice->expiration_date = $expirationDate; + $specificPrice->product_id = $productId; + $specificPrice = $specificPrice->save(); + } } @@ -514,30 +529,40 @@ public function update(UpdateRequest $request, Attribute $attribute, Product $pr // Check if the price after reduction is not less than 0 - if(!$this->validateReductionPrice($productId, $reduction, - $discountType)) { - \Alert::error( - trans('specificprice.reduction_price_not_ok'))->flash(); - return $redirect_location; + if($request->has('reduction') && $request->has('discount_type') && $discountType) { + if(!$this->validateReductionPrice($productId, $reduction, + $discountType)) { + \Alert::error( + trans('specificprice.reduction_price_not_ok'))->flash(); + return $redirect_location; + } + } + + if(!$request->has('start_date') || !$request->has('expiration_date')) { + \Alert::error(trans('specificprice.dates_cant_be_null'))->flash(); + return $redirect_location; } // Check if a specific price reduction doesn't already exist in this period if(!$this->validateProductDates($productId, $startDate, $expirationDate)) { - $product = Product::find($productId); - $productName = $product->name; + $product = Product::find($productId); + $productName = $product->name; - \Alert::error(trans('specificprice.wrong_dates', ['productName' => $productName]))->flash(); - return $redirect_location; - } + \Alert::error(trans('specificprice.wrong_dates', ['productName' => $productName]))->flash(); + return $redirect_location; + } + if($request->has('reduction') && $request->has('discount_type') && $discountType) { + // Save specific price + $specificPrice = new SpecificPrice(); - // Save specific price - $specificPrice->discount_type = $discountType; - $specificPrice->reduction = $reduction; - $specificPrice->start_date = $startDate; - $specificPrice->expiration_date = $expirationDate; - $specificPrice->product_id = $productId; - $specificPrice = $specificPrice->save(); + $specificPrice->discount_type = $discountType; + $specificPrice->reduction = $reduction; + $specificPrice->start_date = $startDate; + $specificPrice->expiration_date = $expirationDate; + $specificPrice->product_id = $productId; + $specificPrice = $specificPrice->save(); + } return $redirect_location; @@ -621,9 +646,10 @@ public function cloneProduct(Product $product, Request $request) * * @return boolean */ - public function validateReductionPrice($productId, $reduction, + public function validateReductionPrice($productId, $reduction, $discountType) { + $product = Product::find($productId); $oldPrice = $product->price; if($discountType == 'Amount') { @@ -640,32 +666,32 @@ public function validateReductionPrice($productId, $reduction, } /** - * Check if it doesn't already exist a specific price reduction for the same + * Check if it doesn't already exist a specific price reduction for the same * period for a product * * @return boolean */ - public function validateProductDates($productId, $startDate, $expirationDate) + public function validateProductDates($productId, $startDate, $expirationDate) { $specificPrice = SpecificPrice::where('product_id', $productId)->get(); - + foreach ($specificPrice as $item) { $existingStartDate = $item->start_date; - $existingExpirationDate = $item->expiration_date; - if($expirationDate >= $existingStartDate + $existingExpirationDate = $item->expiration_date; + if($expirationDate >= $existingStartDate && $startDate <= $existingExpirationDate) { return false; } - if($expirationDate >= $existingStartDate + if($expirationDate >= $existingStartDate && $startDate <= $existingExpirationDate) { return false; } - if($startDate <= $existingStartDate + if($startDate <= $existingStartDate && $expirationDate >= $existingExpirationDate) { return false; } } - + return true; } diff --git a/app/Http/Controllers/Admin/SpecificPriceCrudController.php b/app/Http/Controllers/Admin/SpecificPriceCrudController.php index f80a142..3f5740f 100644 --- a/app/Http/Controllers/Admin/SpecificPriceCrudController.php +++ b/app/Http/Controllers/Admin/SpecificPriceCrudController.php @@ -136,7 +136,7 @@ public function setFields(){ $this->crud->addField( [ 'name' => 'product_id', - 'label' => trans('specificprice.product') . ' *', + 'label' => trans('specificprice.product'), 'model' => 'App\Models\Product', 'entity' => 'product', 'attribute' => 'name', @@ -146,7 +146,7 @@ public function setFields(){ $this->crud->addField( [ 'name' => 'product_id', - 'label' => trans('specificprice.products'). ' *', + 'label' => trans('specificprice.products'), 'model' => 'App\Models\Product', 'entity' => 'product', 'attribute' => 'name', @@ -157,26 +157,26 @@ public function setFields(){ [ 'name' => 'discount_type', - 'label' => trans('specificprice.discount_type'). ' *', + 'label' => trans('specificprice.discount_type'), 'type' => 'enum_discount_type', 'attributes'=> ['field_to_enable' => 'currency_id', 'enable_field_on_option' => 'Amount'], ], [ 'name' => 'reduction', - 'label' => trans('specificprice.reduction'). ' *', + 'label' => trans('specificprice.reduction'), 'model' => 'App\Models\SpecificPrice', 'type' => 'number', ], [ 'name' => 'start_date', - 'label' => trans('specificprice.start_date'). ' *', + 'label' => trans('specificprice.start_date'), 'type' => 'datetime_picker', ], [ - 'name' => 'expiration_date', - 'label' => trans('specificprice.expiration_date'). ' *', + 'name' => 'expiration_date', + 'label' => trans('specificprice.expiration_date'), 'type' => 'datetime_picker', ], diff --git a/app/Http/Controllers/Admin/UserCrudController.php b/app/Http/Controllers/Admin/UserCrudController.php index b1635d8..b99469e 100644 --- a/app/Http/Controllers/Admin/UserCrudController.php +++ b/app/Http/Controllers/Admin/UserCrudController.php @@ -21,11 +21,14 @@ public function setup() $this->crud->setModel('App\User'); $this->crud->setRoute(config('backpack.base.route_prefix') . '/users'); $this->crud->setEntityNameStrings('user', 'users'); - $this->crud->addClause('whereHas', 'roles', function ($query) { - $adminRoleName = env('ADMIN_ROLE_NAME'); - $query->whereName($adminRoleName ?: 'administrator'); + + // Include all users except clients + $this->crud->addClause('whereDoesntHave', 'roles', function ($query) { + $clientRoleName = env('CLIENT_ROLE_NAME'); + return $query->where("name", $clientRoleName ?: 'client'); }); + /* |-------------------------------------------------------------------------- | COLUMNS @@ -123,6 +126,17 @@ public function setFields() 'tab' => trans('user.tab_general'), ], + [ + 'name' => 'active', + 'label' => trans('common.status'), + 'type' => 'select_from_array', + 'options' => [ + 0 => trans('common.inactive'), + 1 => trans('common.active'), + ], + + 'tab' => trans('user.tab_general'), + ], [ // two interconnected entities 'label' => trans('permissionmanager.user_role_permission'), diff --git a/app/Http/Requests/NotificationTemplateRequest.php b/app/Http/Requests/NotificationTemplateRequest.php new file mode 100644 index 0000000..a7ce887 --- /dev/null +++ b/app/Http/Requests/NotificationTemplateRequest.php @@ -0,0 +1,55 @@ + 'required|unique:notification_templates,slug,'.$this->segment(3) + ]; + } + + /** + * Get the validation attributes that apply to the request. + * + * @return array + */ + public function attributes() + { + return [ + // + ]; + } + + /** + * Get the validation messages that apply to the request. + * + * @return array + */ + public function messages() + { + return [ + // + ]; + } +} diff --git a/app/Http/helpers.php b/app/Http/helpers.php index 38014b7..a1c1902 100644 --- a/app/Http/helpers.php +++ b/app/Http/helpers.php @@ -12,4 +12,30 @@ function getRelationType($relation = null) { function decimalFormat($number = 0, $decimals = 2) { return number_format((float)$number, $decimals, '.', ''); +} + +// Get models +function getModels($path, $exception = []){ + $out = []; + $results = scandir($path); + foreach ($results as $result) { + if ($result === '.' or $result === '..') continue; + $filename = $path . '/' . $result; + if (is_dir($filename)) { + $out = array_merge($out, getModels($filename)); + } else { + $out[] = substr($filename,0,-4); + } + } + return $out; +} + +function getStringBetween($string, $start, $end){ + $string = ' ' . $string; + $ini = strpos($string, $start); + if ($ini == 0) return ''; + $ini += strlen($start); + $len = strpos($string, $end, $ini) - $ini; + + return substr($string, $ini, $len); } \ No newline at end of file diff --git a/app/Mail/NotificationTemplateMail.php b/app/Mail/NotificationTemplateMail.php new file mode 100644 index 0000000..407f59e --- /dev/null +++ b/app/Mail/NotificationTemplateMail.php @@ -0,0 +1,46 @@ +template = NotificationTemplate::where('slug', $slug)->first(); + $this->model = $model; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + $variables = $this->model->notificationVariables(); + + $patterns = collect($variables)->map(function ($variable, $key) { + return '/(\{{2}\s?'.$key.'\s?\}{2})/mi'; + }); + + $body = preg_replace($patterns->toArray(), $variables, $this->template->body); + + return $this->view('email.notification_template.layout', compact('body')); + } +} diff --git a/app/Models/NotificationTemplate.php b/app/Models/NotificationTemplate.php new file mode 100644 index 0000000..03fbea9 --- /dev/null +++ b/app/Models/NotificationTemplate.php @@ -0,0 +1,60 @@ + $this->user->salutation, + 'userName' => $this->user->name, + 'userEmail' => $this->user->email, + 'total' => $this->total(), + 'carrier' => $this->carrier()->first()->name, + 'status' => $this->status->name + ]; + } - $products = $this->products->each(function ($product) use (&$total) { - $total += ($product->pivot->price_with_tax*$product->pivot->quantity); + /* + |-------------------------------------------------------------------------- + | EVENTS + |-------------------------------------------------------------------------- + */ + protected static function boot() + { + parent::boot(); + + static::updating(function($order) { + // Send notification when order status was changed + $oldStatus = $order->getOriginal(); + if ($order->status_id != $oldStatus['status_id'] && $order->status->notification != 0) { + // example of usage: (be sure that a notification template mail with the slug "example-slug" exists in db) + return \Mail::to($order->user->email)->send(new NotificationTemplateMail($order, "order-status-changed")); + } }); + } - $carrierPrice = $this->carrier->price; - - return decimalFormat($total+$carrierPrice); + /* + |-------------------------------------------------------------------------- + | FUNCTIONS + |-------------------------------------------------------------------------- + */ + public function total() + { + return decimalFormat($this->products->sum(function ($product) { + return $product->pivot->price_with_tax * $product->pivot->quantity; + }, 0) + $this->carrier->price); } /* diff --git a/app/Models/Product.php b/app/Models/Product.php index 8bca27f..a604494 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -100,7 +100,6 @@ public function group() return $this->belongsTo('App\Models\ProductGroup'); } - public function cartRules() { return $this->belongsToMany('App\Models\CartRule'); @@ -111,7 +110,7 @@ public function specificPrice() return $this->belongsTo('App\Models\SpecificPrice'); } - + /* |-------------------------------------------------------------------------- diff --git a/app/Models/SpecificPrice.php b/app/Models/SpecificPrice.php index f8569d6..22b88c1 100644 --- a/app/Models/SpecificPrice.php +++ b/app/Models/SpecificPrice.php @@ -62,7 +62,7 @@ public function getOldPrice() { $product = Product::find($this->product_id); if(isset($product)) { - return $product->price . $product->currency; + return number_format($product->price . $product->currency, 2); } return '-'; } @@ -74,12 +74,12 @@ public function getReducedPrice() if(isset($product)) { $oldPrice = $product->price; if($this->discount_type == 'Percent'){ - return $oldPrice - $this->reduction/100 * $oldPrice; + return number_format($oldPrice - $this->reduction/100 * $oldPrice, 2); } if($this->discount_type == 'Amount'){ - return $oldPrice - $this->reduction; + return number_format($oldPrice - $this->reduction, 2); } - return $product->price; + return number_format($product->price, 2); } return '-'; } diff --git a/app/User.php b/app/User.php index 40692ed..1a136a3 100644 --- a/app/User.php +++ b/app/User.php @@ -18,7 +18,7 @@ class User extends Authenticatable |-------------------------------------------------------------------------- */ protected $table = 'users'; - //protected $primaryKey = 'id'; + // protected $primaryKey = 'id'; // public $timestamps = false; // protected $guarded = ['id']; protected $fillable = [ @@ -36,6 +36,28 @@ class User extends Authenticatable 'remember_token', ]; + public $notificationVars = [ + 'userSalutation', + 'userName', + 'userEmail', + 'age', + ]; + + /* + |-------------------------------------------------------------------------- + | NOTIFICATIONS VARIABLES + |-------------------------------------------------------------------------- + */ + public function notificationVariables() + { + return [ + 'userSalutation' => $this->user->salutation, + 'userName' => $this->user->name, + 'userEmail' => $this->user->email, + 'age' => $this->age(), + ]; + } + /* |-------------------------------------------------------------------------- @@ -78,7 +100,8 @@ public function cartRules() { return $this->belongsToMany('App\Models\CartRule'); } - + + /* |-------------------------------------------------------------------------- | SCOPES diff --git a/composer.json b/composer.json index 209a1a0..0e0fcce 100644 --- a/composer.json +++ b/composer.json @@ -6,20 +6,21 @@ "type": "project", "require": { "php": ">=5.6.4", - "laravel/framework": "5.4.*", - "backpack/base": "^0.7.16", - "backpack/crud": "^3.2", + "laravel/framework": "5.5.*", + "backpack/base": "^0.8.0", + "backpack/crud": "^3.3.0", "backpack/settings": "^2.0", "backpack/permissionmanager": "^2.1" }, "require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", - "phpunit/phpunit": "~5.0", + "phpunit/phpunit": "~6.0", "symfony/css-selector": "3.1.*", "symfony/dom-crawler": "3.1.*", "laracasts/generators": "dev-master as 1.1.4", - "backpack/generators": "^1.1" + "backpack/generators": "^1.1", + "filp/whoops": "~2.0" }, "autoload": { "classmap": [ @@ -51,6 +52,10 @@ "post-update-cmd": [ "Illuminate\\Foundation\\ComposerScripts::postUpdate", "php artisan optimize" + ], + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover" ] }, "config": { diff --git a/composer.lock b/composer.lock index 8f7b3c5..4d4bd2c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "dd81ce16940d9f1ee7f0d96f557737d0", + "content-hash": "70ad68115ac7870322a2375d9ab0ae0e", "packages": [ { "name": "almasaeed2010/adminlte", @@ -48,29 +48,29 @@ }, { "name": "backpack/base", - "version": "0.7.21", + "version": "0.8.7", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/Base.git", - "reference": "5a7a56715ca63cd46bafe984dfeb5c6d4791d77d" + "reference": "81931ed91a5d1a155559b9535fe0deea85e9d0cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Backpack/Base/zipball/5a7a56715ca63cd46bafe984dfeb5c6d4791d77d", - "reference": "5a7a56715ca63cd46bafe984dfeb5c6d4791d77d", + "url": "https://api.github.com/repos/Laravel-Backpack/Base/zipball/81931ed91a5d1a155559b9535fe0deea85e9d0cd", + "reference": "81931ed91a5d1a155559b9535fe0deea85e9d0cd", "shasum": "" }, "require": { "almasaeed2010/adminlte": "2.3.*", - "illuminate/support": "~5.1", + "creativeorange/gravatar": "~1.0", "jenssegers/date": "^3.2", - "laravel/framework": "5.3.*|5.4.*", + "laravel/framework": "5.5.*", "prologue/alerts": "^0.4.1" }, "require-dev": { "backpack/generators": "^1.1", "laracasts/generators": "^1.1", - "phpunit/phpunit": "4.*", + "phpunit/phpunit": "~6.0", "scrutinizer/ocular": "~1.1", "squizlabs/php_codesniffer": "~2.3" }, @@ -78,6 +78,11 @@ "extra": { "branch-alias": { "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Backpack\\Base\\BaseServiceProvider" + ] } }, "autoload": { @@ -87,7 +92,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "proprietary" ], "authors": [ { @@ -103,39 +108,48 @@ "backpack", "base" ], - "time": "2017-07-18T14:32:38+00:00" + "time": "2018-01-17T20:04:51+00:00" }, { "name": "backpack/crud", - "version": "3.2.13", + "version": "3.3.6", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/CRUD.git", - "reference": "1408d81179eeb96140a9574445025b2c9fcadd13" + "reference": "9439535025a60fa0b12bd71aa0e913a823853f31" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Backpack/CRUD/zipball/1408d81179eeb96140a9574445025b2c9fcadd13", - "reference": "1408d81179eeb96140a9574445025b2c9fcadd13", + "url": "https://api.github.com/repos/Laravel-Backpack/CRUD/zipball/9439535025a60fa0b12bd71aa0e913a823853f31", + "reference": "9439535025a60fa0b12bd71aa0e913a823853f31", "shasum": "" }, "require": { - "backpack/base": "^0.7.15", + "backpack/base": "^0.8.0", "barryvdh/laravel-elfinder": "^0.3.10", "doctrine/dbal": "^2.5", "intervention/image": "^2.3", "laravelcollective/html": "~5.0", - "livecontrol/eloquent-datatable": "^0.1.5", "venturecraft/revisionable": "1.*" }, "require-dev": { - "phpunit/phpunit": "4.*", + "orchestra/database": "~3.4", + "orchestra/testbench": "~3.0", + "phpunit/phpunit": "~6.0", "scrutinizer/ocular": "~1.1" }, "type": "library", "extra": { "branch-alias": { "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Backpack\\CRUD\\CrudServiceProvider" + ], + "aliases": { + "CRUD": "Backpack\\CRUD\\CrudServiceProvider" + } } }, "autoload": { @@ -149,7 +163,7 @@ ], "authors": [ { - "name": "Cristian tabacitu", + "name": "Cristian Tabacitu", "email": "hello@tabacitu.ro", "homepage": "http://www.tabacitu.ro", "role": "Chief Architect & Lead Developer" @@ -159,34 +173,34 @@ "homepage": "https://github.com/laravel-backpack/CRUD", "keywords": [ "Admin Interface", + "Content management system", "admin panel", "cms", + "content management framework", "create", "crud", "delete", "read", "update" ], - "time": "2017-07-07T05:10:25+00:00" + "time": "2018-01-16T12:19:49+00:00" }, { "name": "backpack/permissionmanager", - "version": "2.1.18", + "version": "2.1.24", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/PermissionManager.git", - "reference": "afe54eae58ace53ded29ee36bb8ca522297b3dbd" + "reference": "d82f33a6d56b6562a44cf199c78afbacd8093829" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Backpack/PermissionManager/zipball/afe54eae58ace53ded29ee36bb8ca522297b3dbd", - "reference": "afe54eae58ace53ded29ee36bb8ca522297b3dbd", + "url": "https://api.github.com/repos/Laravel-Backpack/PermissionManager/zipball/d82f33a6d56b6562a44cf199c78afbacd8093829", + "reference": "d82f33a6d56b6562a44cf199c78afbacd8093829", "shasum": "" }, "require": { - "backpack/crud": "^3.2.0", - "illuminate/support": "~5.1", - "php": ">=5.3.0", + "backpack/crud": "^3.3.0", "spatie/laravel-permission": "^1.4" }, "require-dev": { @@ -197,6 +211,11 @@ "extra": { "branch-alias": { "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Backpack\\PermissionManager\\PermissionManagerServiceProvider" + ] } }, "autoload": { @@ -206,7 +225,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "proprietary" ], "authors": [ { @@ -239,24 +258,24 @@ "updivision", "users roles admin" ], - "time": "2017-07-06T05:18:06+00:00" + "time": "2017-12-13T05:34:02+00:00" }, { "name": "backpack/settings", - "version": "2.0.19", + "version": "2.0.27", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/Settings.git", - "reference": "8c756046d5c6a580dfdf516abe6680c305399977" + "reference": "b51d4a92305f03fba6d4221767b9c5b1cbeb2e66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Backpack/Settings/zipball/8c756046d5c6a580dfdf516abe6680c305399977", - "reference": "8c756046d5c6a580dfdf516abe6680c305399977", + "url": "https://api.github.com/repos/Laravel-Backpack/Settings/zipball/b51d4a92305f03fba6d4221767b9c5b1cbeb2e66", + "reference": "b51d4a92305f03fba6d4221767b9c5b1cbeb2e66", "shasum": "" }, "require": { - "backpack/crud": "3.2.*" + "backpack/crud": "^3.2" }, "require-dev": { "phpunit/phpunit": "4.*", @@ -266,6 +285,11 @@ "extra": { "branch-alias": { "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Backpack\\Settings\\SettingsServiceProvider" + ] } }, "autoload": { @@ -275,7 +299,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "proprietary" ], "authors": [ { @@ -298,20 +322,20 @@ "tabacitu", "updivision" ], - "time": "2017-07-06T05:28:37+00:00" + "time": "2017-12-14T23:20:32+00:00" }, { "name": "barryvdh/elfinder-flysystem-driver", - "version": "v0.2.0", + "version": "v0.2.1", "source": { "type": "git", "url": "https://github.com/barryvdh/elfinder-flysystem-driver.git", - "reference": "61d70d94786e12eecdfb97de289ffa5c33c521e5" + "reference": "1f323056495fdce019b6ef1621be697f2945c609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/elfinder-flysystem-driver/zipball/61d70d94786e12eecdfb97de289ffa5c33c521e5", - "reference": "61d70d94786e12eecdfb97de289ffa5c33c521e5", + "url": "https://api.github.com/repos/barryvdh/elfinder-flysystem-driver/zipball/1f323056495fdce019b6ef1621be697f2945c609", + "reference": "1f323056495fdce019b6ef1621be697f2945c609", "shasum": "" }, "require": { @@ -354,25 +378,25 @@ "elfinder", "filesystem" ], - "time": "2016-04-05T14:47:48+00:00" + "time": "2017-07-08T17:59:38+00:00" }, { "name": "barryvdh/laravel-elfinder", - "version": "v0.3.10", + "version": "v0.3.11", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-elfinder.git", - "reference": "797c16d1ca7a5f9040cfb59346fdfc2a8e65415f" + "reference": "e39c7831b68c8d2e4d84f2c43026e091f115e7ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-elfinder/zipball/797c16d1ca7a5f9040cfb59346fdfc2a8e65415f", - "reference": "797c16d1ca7a5f9040cfb59346fdfc2a8e65415f", + "url": "https://api.github.com/repos/barryvdh/laravel-elfinder/zipball/e39c7831b68c8d2e4d84f2c43026e091f115e7ae", + "reference": "e39c7831b68c8d2e4d84f2c43026e091f115e7ae", "shasum": "" }, "require": { "barryvdh/elfinder-flysystem-driver": "^0.1.4|^0.2", - "illuminate/support": "5.0.x|5.1.x|5.2.x|5.3.x|5.4.x", + "illuminate/support": "5.0.x|5.1.x|5.2.x|5.3.x|5.4.x|5.5.x", "league/flysystem": "^1.0", "league/flysystem-cached-adapter": "^1.0", "php": ">=5.4.0", @@ -406,7 +430,51 @@ "laravel", "tinymce" ], - "time": "2017-01-27T08:46:01+00:00" + "time": "2017-08-28T11:46:35+00:00" + }, + { + "name": "creativeorange/gravatar", + "version": "1.0.10", + "source": { + "type": "git", + "url": "https://github.com/creativeorange/gravatar.git", + "reference": "a0e84f0c8e8922ad151168d6ebd8db6a1b2d8cd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/creativeorange/gravatar/zipball/a0e84f0c8e8922ad151168d6ebd8db6a1b2d8cd2", + "reference": "a0e84f0c8e8922ad151168d6ebd8db6a1b2d8cd2", + "shasum": "" + }, + "require": { + "illuminate/support": "5.*", + "php": ">=5.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Creativeorange\\Gravatar\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaco Tijssen", + "email": "jaco@creativeorange.nl", + "homepage": "https://www.creativeorange.nl", + "role": "Developer" + } + ], + "description": "A Laravel 5.0, 5.1, 5.2 and 5.3 gravatar package for retrieving gravatar image URLs or checking the existance of an image.", + "keywords": [ + "avatar", + "gravatar", + "laravel" + ], + "time": "2017-02-15T22:07:40+00:00" }, { "name": "doctrine/annotations", @@ -878,23 +946,83 @@ ], "time": "2014-09-09T13:34:57+00:00" }, + { + "name": "egulias/email-validator", + "version": "2.1.3", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "1bec00a10039b823cc94eef4eddd47dcd3b2ca04" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/1bec00a10039b823cc94eef4eddd47dcd3b2ca04", + "reference": "1bec00a10039b823cc94eef4eddd47dcd3b2ca04", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">= 5.5" + }, + "require-dev": { + "dominicsayers/isemail": "dev-master", + "phpunit/phpunit": "^4.8.35", + "satooshi/php-coveralls": "^1.0.1" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "EmailValidator" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "time": "2017-11-15T23:40:40+00:00" + }, { "name": "erusev/parsedown", - "version": "1.6.3", + "version": "1.6.4", "source": { "type": "git", "url": "https://github.com/erusev/parsedown.git", - "reference": "728952b90a333b5c6f77f06ea9422b94b585878d" + "reference": "fbe3fe878f4fe69048bb8a52783a09802004f548" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/728952b90a333b5c6f77f06ea9422b94b585878d", - "reference": "728952b90a333b5c6f77f06ea9422b94b585878d", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/fbe3fe878f4fe69048bb8a52783a09802004f548", + "reference": "fbe3fe878f4fe69048bb8a52783a09802004f548", "shasum": "" }, "require": { "php": ">=5.3.0" }, + "require-dev": { + "phpunit/phpunit": "^4.8.35" + }, "type": "library", "autoload": { "psr-0": { @@ -918,7 +1046,7 @@ "markdown", "parser" ], - "time": "2017-05-14T14:47:48+00:00" + "time": "2017-11-14T20:44:03+00:00" }, { "name": "guzzlehttp/psr7", @@ -987,16 +1115,16 @@ }, { "name": "intervention/image", - "version": "2.4.0", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "322a4ade249467179c50a3e50eda8760ff3af2a3" + "reference": "3603dbcc9a17d307533473246a6c58c31cf17919" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/322a4ade249467179c50a3e50eda8760ff3af2a3", - "reference": "322a4ade249467179c50a3e50eda8760ff3af2a3", + "url": "https://api.github.com/repos/Intervention/image/zipball/3603dbcc9a17d307533473246a6c58c31cf17919", + "reference": "3603dbcc9a17d307533473246a6c58c31cf17919", "shasum": "" }, "require": { @@ -1053,7 +1181,7 @@ "thumbnail", "watermark" ], - "time": "2017-07-03T15:50:40+00:00" + "time": "2017-09-21T16:29:17+00:00" }, { "name": "jenssegers/date", @@ -1122,39 +1250,40 @@ }, { "name": "laravel/framework", - "version": "v5.4.30", + "version": "v5.5.32", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "b9a64955f4278f45ac348a6e000b5ecc85da167a" + "reference": "254e4c3e133f5bc8d6068cdf28ea062abc10adf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/b9a64955f4278f45ac348a6e000b5ecc85da167a", - "reference": "b9a64955f4278f45ac348a6e000b5ecc85da167a", + "url": "https://api.github.com/repos/laravel/framework/zipball/254e4c3e133f5bc8d6068cdf28ea062abc10adf2", + "reference": "254e4c3e133f5bc8d6068cdf28ea062abc10adf2", "shasum": "" }, "require": { - "doctrine/inflector": "~1.0", + "doctrine/inflector": "~1.1", "erusev/parsedown": "~1.6", "ext-mbstring": "*", "ext-openssl": "*", "league/flysystem": "~1.0", - "monolog/monolog": "~1.11", + "monolog/monolog": "~1.12", "mtdowling/cron-expression": "~1.0", "nesbot/carbon": "~1.20", - "paragonie/random_compat": "~1.4|~2.0", - "php": ">=5.6.4", + "php": ">=7.0", + "psr/container": "~1.0", + "psr/simple-cache": "^1.0", "ramsey/uuid": "~3.0", - "swiftmailer/swiftmailer": "~5.4", - "symfony/console": "~3.2", - "symfony/debug": "~3.2", - "symfony/finder": "~3.2", - "symfony/http-foundation": "~3.2", - "symfony/http-kernel": "~3.2", - "symfony/process": "~3.2", - "symfony/routing": "~3.2", - "symfony/var-dumper": "~3.2", + "swiftmailer/swiftmailer": "~6.0", + "symfony/console": "~3.3", + "symfony/debug": "~3.3", + "symfony/finder": "~3.3", + "symfony/http-foundation": "~3.3", + "symfony/http-kernel": "~3.3", + "symfony/process": "~3.3", + "symfony/routing": "~3.3", + "symfony/var-dumper": "~3.3", "tijsverkoyen/css-to-inline-styles": "~2.2", "vlucas/phpdotenv": "~2.2" }, @@ -1171,7 +1300,6 @@ "illuminate/database": "self.version", "illuminate/encryption": "self.version", "illuminate/events": "self.version", - "illuminate/exception": "self.version", "illuminate/filesystem": "self.version", "illuminate/hashing": "self.version", "illuminate/http": "self.version", @@ -1193,33 +1321,38 @@ "require-dev": { "aws/aws-sdk-php": "~3.0", "doctrine/dbal": "~2.5", - "mockery/mockery": "~0.9.4", + "filp/whoops": "^2.1.4", + "mockery/mockery": "~1.0", + "orchestra/testbench-core": "3.5.*", "pda/pheanstalk": "~3.0", - "phpunit/phpunit": "~5.7", - "predis/predis": "~1.0", - "symfony/css-selector": "~3.2", - "symfony/dom-crawler": "~3.2" + "phpunit/phpunit": "~6.0", + "predis/predis": "^1.1.1", + "symfony/css-selector": "~3.3", + "symfony/dom-crawler": "~3.3" }, "suggest": { "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.5).", + "ext-pcntl": "Required to use all features of the queue worker.", + "ext-posix": "Required to use all features of the queue worker.", "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~6.0).", "laravel/tinker": "Required to use the tinker console command (~1.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", + "league/flysystem-cached-adapter": "Required to use Flysystem caching (~1.0).", "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", "nexmo/client": "Required to use the Nexmo transport (~1.0).", "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).", - "symfony/css-selector": "Required to use some of the crawler integration testing tools (~3.2).", - "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~3.2).", - "symfony/psr-http-message-bridge": "Required to psr7 bridging features (0.2.*)." + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~3.0).", + "symfony/css-selector": "Required to use some of the crawler integration testing tools (~3.3).", + "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~3.3).", + "symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.4-dev" + "dev-master": "5.5-dev" } }, "autoload": { @@ -1247,36 +1380,47 @@ "framework", "laravel" ], - "time": "2017-07-19T19:26:19+00:00" + "time": "2018-01-18T13:27:23+00:00" }, { "name": "laravelcollective/html", - "version": "v5.4.8", + "version": "v5.5.1", "source": { "type": "git", "url": "https://github.com/LaravelCollective/html.git", - "reference": "9b8f51e7a2368911c896f5d42757886bae0717b5" + "reference": "2f6dc39ab3655724a615fe8a652d8b7f04fc9ac6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/LaravelCollective/html/zipball/9b8f51e7a2368911c896f5d42757886bae0717b5", - "reference": "9b8f51e7a2368911c896f5d42757886bae0717b5", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/2f6dc39ab3655724a615fe8a652d8b7f04fc9ac6", + "reference": "2f6dc39ab3655724a615fe8a652d8b7f04fc9ac6", "shasum": "" }, "require": { - "illuminate/http": "5.4.*", - "illuminate/routing": "5.4.*", - "illuminate/session": "5.4.*", - "illuminate/support": "5.4.*", - "illuminate/view": "5.4.*", - "php": ">=5.6.4" + "illuminate/http": "5.5.*", + "illuminate/routing": "5.5.*", + "illuminate/session": "5.5.*", + "illuminate/support": "5.5.*", + "illuminate/view": "5.5.*", + "php": ">=7.0.0" }, "require-dev": { - "illuminate/database": "5.4.*", + "illuminate/database": "5.5.*", "mockery/mockery": "~0.9.4", "phpunit/phpunit": "~5.4" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Collective\\Html\\HtmlServiceProvider" + ], + "aliases": { + "Form": "Collective\\Html\\FormFacade", + "Html": "Collective\\Html\\HtmlFacade" + } + } + }, "autoload": { "psr-4": { "Collective\\Html\\": "src/" @@ -1301,20 +1445,20 @@ ], "description": "HTML and Form Builders for the Laravel Framework", "homepage": "http://laravelcollective.com", - "time": "2017-05-22T06:35:07+00:00" + "time": "2017-08-31T14:46:03+00:00" }, { "name": "league/flysystem", - "version": "1.0.40", + "version": "1.0.41", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "3828f0b24e2c1918bb362d57a53205d6dc8fde61" + "reference": "f400aa98912c561ba625ea4065031b7a41e5a155" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3828f0b24e2c1918bb362d57a53205d6dc8fde61", - "reference": "3828f0b24e2c1918bb362d57a53205d6dc8fde61", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f400aa98912c561ba625ea4065031b7a41e5a155", + "reference": "f400aa98912c561ba625ea4065031b7a41e5a155", "shasum": "" }, "require": { @@ -1335,13 +1479,13 @@ "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-copy": "Allows you to use Copy.com storage", "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", "league/flysystem-webdav": "Allows you to use WebDAV storage", "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage" + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" }, "type": "library", "extra": { @@ -1384,7 +1528,7 @@ "sftp", "storage" ], - "time": "2017-04-28T10:15:08+00:00" + "time": "2017-08-06T17:41:04+00:00" }, { "name": "league/flysystem-cached-adapter", @@ -1434,51 +1578,6 @@ "description": "An adapter decorator to enable meta-data caching.", "time": "2017-03-20T09:59:34+00:00" }, - { - "name": "livecontrol/eloquent-datatable", - "version": "0.1.5", - "source": { - "type": "git", - "url": "https://github.com/LiveControl/EloquentDataTable.git", - "reference": "49488446f3116ebf725447bb805bb76c28109d1b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/LiveControl/EloquentDataTable/zipball/49488446f3116ebf725447bb805bb76c28109d1b", - "reference": "49488446f3116ebf725447bb805bb76c28109d1b", - "shasum": "" - }, - "require": { - "illuminate/database": "5.*", - "php": ">=5.4.0" - }, - "require-dev": { - "phpspec/phpspec": "~2.1" - }, - "type": "library", - "autoload": { - "psr-0": { - "LiveControl\\EloquentDataTable": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jeffrey de Vreede", - "email": "jeffrey@devreede.eu" - } - ], - "description": "Eloquent DataTable plugin for server side ajax call handling.", - "keywords": [ - "datatable", - "eloquent", - "laravel" - ], - "time": "2015-09-15T11:39:39+00:00" - }, { "name": "monolog/monolog", "version": "1.23.0", @@ -1559,7 +1658,7 @@ }, { "name": "mtdowling/cron-expression", - "version": "v1.2.0", + "version": "v1.2.1", "source": { "type": "git", "url": "https://github.com/mtdowling/cron-expression.git", @@ -1656,16 +1755,16 @@ }, { "name": "paragonie/random_compat", - "version": "v2.0.10", + "version": "v2.0.11", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d" + "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d", - "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/5da4d3c796c275c55f057af5a643ae297d96b4d8", + "reference": "5da4d3c796c275c55f057af5a643ae297d96b4d8", "shasum": "" }, "require": { @@ -1700,7 +1799,7 @@ "pseudorandom", "random" ], - "time": "2017-03-13T16:27:32+00:00" + "time": "2017-09-27T21:40:39+00:00" }, { "name": "prologue/alerts", @@ -1798,6 +1897,55 @@ ], "time": "2016-08-06T20:24:11+00:00" }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, { "name": "psr/http-message", "version": "1.0.1", @@ -1895,18 +2043,66 @@ ], "time": "2016-10-10T12:19:37+00:00" }, + { + "name": "psr/simple-cache", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/753fa598e8f3b9966c886fe13f370baa45ef0e24", + "reference": "753fa598e8f3b9966c886fe13f370baa45ef0e24", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "time": "2017-01-02T13:31:39+00:00" + }, { "name": "ramsey/uuid", - "version": "3.6.1", + "version": "3.7.3", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "4ae32dd9ab8860a4bbd750ad269cba7f06f7934e" + "reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/4ae32dd9ab8860a4bbd750ad269cba7f06f7934e", - "reference": "4ae32dd9ab8860a4bbd750ad269cba7f06f7934e", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/44abcdad877d9a46685a3a4d221e3b2c4b87cb76", + "reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76", "shasum": "" }, "require": { @@ -1917,17 +2113,15 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "apigen/apigen": "^4.1", - "codeception/aspect-mock": "^1.0 | ^2.0", + "codeception/aspect-mock": "^1.0 | ~2.0.0", "doctrine/annotations": "~1.2.0", "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ^2.1", "ircmaxell/random-lib": "^1.1", "jakub-onderka/php-parallel-lint": "^0.9.0", - "mockery/mockery": "^0.9.4", + "mockery/mockery": "^0.9.9", "moontoast/math": "^1.1", "php-mock/php-mock-phpunit": "^0.3|^1.1", - "phpunit/phpunit": "^4.7|>=5.0 <5.4", - "satooshi/php-coveralls": "^0.6.1", + "phpunit/phpunit": "^4.7|^5.0", "squizlabs/php_codesniffer": "^2.3" }, "suggest": { @@ -1975,33 +2169,40 @@ "identifier", "uuid" ], - "time": "2017-03-26T20:37:53+00:00" + "time": "2018-01-20T00:28:24+00:00" }, { "name": "spatie/laravel-permission", - "version": "1.12.0", + "version": "1.15.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-permission.git", - "reference": "837ff988016824318efe30c32947146c393a273f" + "reference": "4e733d026d95fded179b919c652186b9b529f2f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/837ff988016824318efe30c32947146c393a273f", - "reference": "837ff988016824318efe30c32947146c393a273f", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/4e733d026d95fded179b919c652186b9b529f2f0", + "reference": "4e733d026d95fded179b919c652186b9b529f2f0", "shasum": "" }, "require": { - "illuminate/contracts": "~5.1.0|~5.2.0|~5.3.0|~5.4.0", - "laravel/framework": "~5.1.11|~5.2.0|~5.3.0|~5.4.0", + "illuminate/contracts": "~5.1.0|~5.2.0|~5.3.0|~5.4.0|~5.5.0", + "laravel/framework": "~5.1.11|~5.2.0|~5.3.0|~5.4.0|~5.5.0", "php": ">=5.6.0" }, "require-dev": { "monolog/monolog": "^1.22", - "orchestra/testbench": "~3.3.0|~3.4.0", - "phpunit/phpunit": "^5.7.8" + "orchestra/testbench": "~3.3.0|~3.4.0|~3.5.0", + "phpunit/phpunit": "^5.7.8|~6.0" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Permission\\PermissionServiceProvider" + ] + } + }, "autoload": { "psr-4": { "Spatie\\Permission\\": "src" @@ -2028,20 +2229,20 @@ "security", "spatie" ], - "time": "2017-03-14T19:14:04+00:00" + "time": "2017-12-08T14:04:29+00:00" }, { "name": "studio-42/elfinder", - "version": "2.1.26", + "version": "2.1.31", "source": { "type": "git", "url": "https://github.com/Studio-42/elFinder.git", - "reference": "2a4a721dcf8399a2c09f986a1b38eda895d12680" + "reference": "4cfb7541c672e06581fcbe34bfaca0e233932d9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Studio-42/elFinder/zipball/2a4a721dcf8399a2c09f986a1b38eda895d12680", - "reference": "2a4a721dcf8399a2c09f986a1b38eda895d12680", + "url": "https://api.github.com/repos/Studio-42/elFinder/zipball/4cfb7541c672e06581fcbe34bfaca0e233932d9b", + "reference": "4cfb7541c672e06581fcbe34bfaca0e233932d9b", "shasum": "" }, "require": { @@ -2086,33 +2287,34 @@ ], "description": "File manager for web", "homepage": "http://elfinder.org", - "time": "2017-07-17T05:37:56+00:00" + "time": "2017-12-27T09:38:20+00:00" }, { "name": "swiftmailer/swiftmailer", - "version": "v5.4.8", + "version": "v6.0.2", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517" + "reference": "412333372fb6c8ffb65496a2bbd7321af75733fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517", - "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/412333372fb6c8ffb65496a2bbd7321af75733fc", + "reference": "412333372fb6c8ffb65496a2bbd7321af75733fc", "shasum": "" }, "require": { - "php": ">=5.3.3" + "egulias/email-validator": "~2.0", + "php": ">=7.0.0" }, "require-dev": { "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "~3.2" + "symfony/phpunit-bridge": "~3.3@dev" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.4-dev" + "dev-master": "6.0-dev" } }, "autoload": { @@ -2134,55 +2336,55 @@ } ], "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "http://swiftmailer.org", + "homepage": "http://swiftmailer.symfony.com", "keywords": [ "email", "mail", "mailer" ], - "time": "2017-05-01T15:54:03+00:00" + "time": "2017-09-30T22:39:41+00:00" }, { "name": "symfony/console", - "version": "v3.3.6", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "b0878233cb5c4391347e5495089c7af11b8e6201" + "reference": "8394c8ef121949e8f858f13bc1e34f05169e4e7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/b0878233cb5c4391347e5495089c7af11b8e6201", - "reference": "b0878233cb5c4391347e5495089c7af11b8e6201", + "url": "https://api.github.com/repos/symfony/console/zipball/8394c8ef121949e8f858f13bc1e34f05169e4e7d", + "reference": "8394c8ef121949e8f858f13bc1e34f05169e4e7d", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/dependency-injection": "<3.3" + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~3.3", - "symfony/dependency-injection": "~3.3", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" + "symfony/config": "~3.3|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.3|~4.0" }, "suggest": { "psr/log": "For using the console logger", "symfony/event-dispatcher": "", - "symfony/filesystem": "", + "symfony/lock": "", "symfony/process": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2209,7 +2411,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2017-07-29T21:27:59+00:00" + "time": "2018-01-03T07:37:34+00:00" }, { "name": "symfony/css-selector", @@ -2266,32 +2468,32 @@ }, { "name": "symfony/debug", - "version": "v3.3.6", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "7c13ae8ce1e2adbbd574fc39de7be498e1284e13" + "reference": "603b95dda8b00020e4e6e60dc906e7b715b1c245" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/7c13ae8ce1e2adbbd574fc39de7be498e1284e13", - "reference": "7c13ae8ce1e2adbbd574fc39de7be498e1284e13", + "url": "https://api.github.com/repos/symfony/debug/zipball/603b95dda8b00020e4e6e60dc906e7b715b1c245", + "reference": "603b95dda8b00020e4e6e60dc906e7b715b1c245", "shasum": "" }, "require": { - "php": ">=5.5.9", + "php": "^5.5.9|>=7.0.8", "psr/log": "~1.0" }, "conflict": { "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { - "symfony/http-kernel": "~2.8|~3.0" + "symfony/http-kernel": "~2.8|~3.0|~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2318,34 +2520,34 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2017-07-28T15:27:31+00:00" + "time": "2018-01-03T17:14:19+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.3.6", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "67535f1e3fd662bdc68d7ba317c93eecd973617e" + "reference": "26b87b6bca8f8f797331a30b76fdae5342dc26ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67535f1e3fd662bdc68d7ba317c93eecd973617e", - "reference": "67535f1e3fd662bdc68d7ba317c93eecd973617e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/26b87b6bca8f8f797331a30b76fdae5342dc26ca", + "reference": "26b87b6bca8f8f797331a30b76fdae5342dc26ca", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": "^5.5.9|>=7.0.8" }, "conflict": { "symfony/dependency-injection": "<3.3" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~3.3", - "symfony/expression-language": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0" + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" }, "suggest": { "symfony/dependency-injection": "", @@ -2354,7 +2556,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2381,29 +2583,29 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2017-06-09T14:53:08+00:00" + "time": "2018-01-03T07:37:34+00:00" }, { "name": "symfony/finder", - "version": "v3.3.6", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "baea7f66d30854ad32988c11a09d7ffd485810c4" + "reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/baea7f66d30854ad32988c11a09d7ffd485810c4", - "reference": "baea7f66d30854ad32988c11a09d7ffd485810c4", + "url": "https://api.github.com/repos/symfony/finder/zipball/613e26310776f49a1773b6737c6bd554b8bc8c6f", + "reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": "^5.5.9|>=7.0.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2430,33 +2632,34 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2017-06-01T21:01:25+00:00" + "time": "2018-01-03T07:37:34+00:00" }, { "name": "symfony/http-foundation", - "version": "v3.3.6", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "49e8cd2d59a7aa9bfab19e46de680c76e500a031" + "reference": "4a213be1cc8598089b8c7451529a2927b49b5d26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/49e8cd2d59a7aa9bfab19e46de680c76e500a031", - "reference": "49e8cd2d59a7aa9bfab19e46de680c76e500a031", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4a213be1cc8598089b8c7451529a2927b49b5d26", + "reference": "4a213be1cc8598089b8c7451529a2927b49b5d26", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/polyfill-mbstring": "~1.1" + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php70": "~1.6" }, "require-dev": { - "symfony/expression-language": "~2.8|~3.0" + "symfony/expression-language": "~2.8|~3.0|~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2483,56 +2686,58 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2017-07-21T11:04:46+00:00" + "time": "2018-01-03T17:14:19+00:00" }, { "name": "symfony/http-kernel", - "version": "v3.3.6", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "db10d05f1d95e4168e638db7a81c79616f568ea5" + "reference": "1c2a82d6a8ec9b354fe4ef48ad1ad3f1a4f7db0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/db10d05f1d95e4168e638db7a81c79616f568ea5", - "reference": "db10d05f1d95e4168e638db7a81c79616f568ea5", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1c2a82d6a8ec9b354fe4ef48ad1ad3f1a4f7db0e", + "reference": "1c2a82d6a8ec9b354fe4ef48ad1ad3f1a4f7db0e", "shasum": "" }, "require": { - "php": ">=5.5.9", + "php": "^5.5.9|>=7.0.8", "psr/log": "~1.0", - "symfony/debug": "~2.8|~3.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/http-foundation": "~3.3" + "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/http-foundation": "^3.3.11|~4.0" }, "conflict": { "symfony/config": "<2.8", - "symfony/dependency-injection": "<3.3", + "symfony/dependency-injection": "<3.4", "symfony/var-dumper": "<3.3", "twig/twig": "<1.34|<2.4,>=2" }, + "provide": { + "psr/log-implementation": "1.0" + }, "require-dev": { "psr/cache": "~1.0", - "symfony/browser-kit": "~2.8|~3.0", + "symfony/browser-kit": "~2.8|~3.0|~4.0", "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/css-selector": "~2.8|~3.0", - "symfony/dependency-injection": "~3.3", - "symfony/dom-crawler": "~2.8|~3.0", - "symfony/expression-language": "~2.8|~3.0", - "symfony/finder": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0", - "symfony/routing": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0", - "symfony/templating": "~2.8|~3.0", - "symfony/translation": "~2.8|~3.0", - "symfony/var-dumper": "~3.3" + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/console": "~2.8|~3.0|~4.0", + "symfony/css-selector": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/dom-crawler": "~2.8|~3.0|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/process": "~2.8|~3.0|~4.0", + "symfony/routing": "~3.4|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0", + "symfony/templating": "~2.8|~3.0|~4.0", + "symfony/translation": "~2.8|~3.0|~4.0", + "symfony/var-dumper": "~3.3|~4.0" }, "suggest": { "symfony/browser-kit": "", - "symfony/class-loader": "", "symfony/config": "", "symfony/console": "", "symfony/dependency-injection": "", @@ -2542,7 +2747,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2569,20 +2774,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2017-08-01T10:25:59+00:00" + "time": "2018-01-05T08:33:00+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.4.0", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937" + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", - "reference": "f29dca382a6485c3cbe6379f0c61230167681937", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", "shasum": "" }, "require": { @@ -2594,7 +2799,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.6-dev" } }, "autoload": { @@ -2628,37 +2833,41 @@ "portable", "shim" ], - "time": "2017-06-09T14:24:12+00:00" + "time": "2017-10-11T12:05:26+00:00" }, { - "name": "symfony/process", - "version": "v3.3.6", + "name": "symfony/polyfill-php70", + "version": "v1.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "07432804942b9f6dd7b7377faf9920af5f95d70a" + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/07432804942b9f6dd7b7377faf9920af5f95d70a", - "reference": "07432804942b9f6dd7b7377faf9920af5f95d70a", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", + "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", "shasum": "" }, "require": { - "php": ">=5.5.9" + "paragonie/random_compat": "~1.0|~2.0", + "php": ">=5.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "1.6-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Process\\": "" + "Symfony\\Polyfill\\Php70\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2667,49 +2876,104 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", "homepage": "https://symfony.com", - "time": "2017-07-13T13:05:09+00:00" + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2017-10-11T12:05:26+00:00" }, { - "name": "symfony/routing", - "version": "v3.3.6", + "name": "symfony/process", + "version": "v3.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "4aee1a917fd4859ff8b51b9fd1dfb790a5ecfa26" + "url": "https://github.com/symfony/process.git", + "reference": "ff69f110c6b33fd33cd2089ba97d6112f44ef0ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/4aee1a917fd4859ff8b51b9fd1dfb790a5ecfa26", - "reference": "4aee1a917fd4859ff8b51b9fd1dfb790a5ecfa26", + "url": "https://api.github.com/repos/symfony/process/zipball/ff69f110c6b33fd33cd2089ba97d6112f44ef0ba", + "reference": "ff69f110c6b33fd33cd2089ba97d6112f44ef0ba", "shasum": "" }, "require": { - "php": ">=5.5.9" + "php": "^5.5.9|>=7.0.8" }, - "conflict": { + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2018-01-03T07:37:34+00:00" + }, + { + "name": "symfony/routing", + "version": "v3.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "e2b6d6fe7b090c7af720b75c7722c6dfa7a52658" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/e2b6d6fe7b090c7af720b75c7722c6dfa7a52658", + "reference": "e2b6d6fe7b090c7af720b75c7722c6dfa7a52658", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { "symfony/config": "<2.8", "symfony/dependency-injection": "<3.3", - "symfony/yaml": "<3.3" + "symfony/yaml": "<3.4" }, "require-dev": { "doctrine/annotations": "~1.0", "doctrine/common": "~2.2", "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/dependency-injection": "~3.3", - "symfony/expression-language": "~2.8|~3.0", - "symfony/http-foundation": "~2.8|~3.0", - "symfony/yaml": "~3.3" + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/http-foundation": "~2.8|~3.0|~4.0", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { "doctrine/annotations": "For using the annotation loader", @@ -2722,7 +2986,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2755,35 +3019,38 @@ "uri", "url" ], - "time": "2017-07-21T17:43:13+00:00" + "time": "2018-01-04T15:09:34+00:00" }, { "name": "symfony/translation", - "version": "v3.3.6", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3" + "reference": "17b5962d252b2d6d1d37a2485ebb7ddc5b2bef0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3", - "reference": "35dd5fb003c90e8bd4d8cabdf94bf9c96d06fdc3", + "url": "https://api.github.com/repos/symfony/translation/zipball/17b5962d252b2d6d1d37a2485ebb7ddc5b2bef0a", + "reference": "17b5962d252b2d6d1d37a2485ebb7ddc5b2bef0a", "shasum": "" }, "require": { - "php": ">=5.5.9", + "php": "^5.5.9|>=7.0.8", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { "symfony/config": "<2.8", - "symfony/yaml": "<3.3" + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0", - "symfony/intl": "^2.8.18|^3.2.5", - "symfony/yaml": "~3.3" + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/intl": "^2.8.18|^3.2.5|~4.0", + "symfony/yaml": "~3.4|~4.0" }, "suggest": { "psr/log": "To use logging capability in translator", @@ -2793,7 +3060,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2820,24 +3087,24 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2017-06-24T16:45:30+00:00" + "time": "2018-01-03T07:37:34+00:00" }, { "name": "symfony/var-dumper", - "version": "v3.3.6", + "version": "v3.4.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "b2623bccb969ad595c2090f9be498b74670d0663" + "reference": "545be7e78ccbec43e599f10ff7500d0b09eda9d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b2623bccb969ad595c2090f9be498b74670d0663", - "reference": "b2623bccb969ad595c2090f9be498b74670d0663", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/545be7e78ccbec43e599f10ff7500d0b09eda9d0", + "reference": "545be7e78ccbec43e599f10ff7500d0b09eda9d0", "shasum": "" }, "require": { - "php": ">=5.5.9", + "php": "^5.5.9|>=7.0.8", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -2849,12 +3116,13 @@ }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", "ext-symfony_debug": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -2888,33 +3156,33 @@ "debug", "dump" ], - "time": "2017-07-28T06:06:09+00:00" + "time": "2018-01-03T17:14:19+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b" + "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b", - "reference": "ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", + "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", "shasum": "" }, "require": { - "php": "^5.5 || ^7", - "symfony/css-selector": "^2.7|~3.0" + "php": "^5.5 || ^7.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0" }, "require-dev": { - "phpunit/phpunit": "~4.8|5.1.*" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { @@ -2935,7 +3203,7 @@ ], "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2016-09-20T12:50:39+00:00" + "time": "2017-11-27T11:13:29+00:00" }, { "name": "venturecraft/revisionable", @@ -3039,16 +3307,16 @@ "packages-dev": [ { "name": "backpack/generators", - "version": "1.1.9", + "version": "1.1.11", "source": { "type": "git", "url": "https://github.com/Laravel-Backpack/Generators.git", - "reference": "c3d93e43e81aeba094e2cb44b13b5c54c2dca3aa" + "reference": "e8ca837fcfa8219c543b405f6c810b838130aa73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Backpack/Generators/zipball/c3d93e43e81aeba094e2cb44b13b5c54c2dca3aa", - "reference": "c3d93e43e81aeba094e2cb44b13b5c54c2dca3aa", + "url": "https://api.github.com/repos/Laravel-Backpack/Generators/zipball/e8ca837fcfa8219c543b405f6c810b838130aa73", + "reference": "e8ca837fcfa8219c543b405f6c810b838130aa73", "shasum": "" }, "require": { @@ -3064,6 +3332,11 @@ "extra": { "branch-alias": { "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Backpack\\Generators\\GeneratorsServiceProvider" + ] } }, "autoload": { @@ -3092,7 +3365,7 @@ "request", "view" ], - "time": "2017-04-26T05:13:41+00:00" + "time": "2017-08-30T18:32:34+00:00" }, { "name": "doctrine/instantiator", @@ -3148,31 +3421,94 @@ ], "time": "2015-06-14T21:17:01+00:00" }, + { + "name": "filp/whoops", + "version": "2.1.14", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "c6081b8838686aa04f1e83ba7e91f78b7b2a23e6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/c6081b8838686aa04f1e83ba7e91f78b7b2a23e6", + "reference": "c6081b8838686aa04f1e83ba7e91f78b7b2a23e6", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0", + "psr/log": "^1.0.1" + }, + "require-dev": { + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "symfony/var-dumper": "^2.6 || ^3.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "time": "2017-11-23T18:22:44+00:00" + }, { "name": "fzaninotto/faker", - "version": "v1.6.0", + "version": "v1.7.1", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123" + "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/44f9a286a04b80c76a4e5fb7aad8bb539b920123", - "reference": "44f9a286a04b80c76a4e5fb7aad8bb539b920123", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", + "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", "shasum": "" }, "require": { - "php": "^5.3.3|^7.0" + "php": "^5.3.3 || ^7.0" }, "require-dev": { "ext-intl": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~1.5" + "phpunit/phpunit": "^4.0 || ^5.0", + "squizlabs/php_codesniffer": "^1.5" }, "type": "library", "extra": { - "branch-alias": [] + "branch-alias": { + "dev-master": "1.8-dev" + } }, "autoload": { "psr-4": { @@ -3194,7 +3530,7 @@ "faker", "fixtures" ], - "time": "2016-04-29T12:21:54+00:00" + "time": "2017-08-15T16:48:10+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -3247,12 +3583,12 @@ "source": { "type": "git", "url": "https://github.com/laracasts/Laravel-5-Generators-Extended.git", - "reference": "4e9ce5db9d93475ca27b993a92de3b15090aa139" + "reference": "8d99c3f9891abce5cc84d5d1d4a7c26cf514ab6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laracasts/Laravel-5-Generators-Extended/zipball/4e9ce5db9d93475ca27b993a92de3b15090aa139", - "reference": "4e9ce5db9d93475ca27b993a92de3b15090aa139", + "url": "https://api.github.com/repos/laracasts/Laravel-5-Generators-Extended/zipball/8d99c3f9891abce5cc84d5d1d4a7c26cf514ab6e", + "reference": "8d99c3f9891abce5cc84d5d1d4a7c26cf514ab6e", "shasum": "" }, "require": { @@ -3263,6 +3599,13 @@ "phpspec/phpspec": "~2.1" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laracasts\\Generators\\GeneratorsServiceProvider" + ] + } + }, "autoload": { "psr-4": { "Laracasts\\Generators\\": "src/" @@ -3283,7 +3626,7 @@ "generators", "laravel" ], - "time": "2017-01-25T15:31:26+00:00" + "time": "2017-11-15T07:23:53+00:00" }, { "name": "mockery/mockery", @@ -3324,7 +3667,7 @@ ], "authors": [ { - "name": "Padraic Brady", + "name": "Pádraic Brady", "email": "padraic.brady@gmail.com", "homepage": "http://blog.astrumfutura.com" }, @@ -3352,37 +3695,40 @@ }, { "name": "myclabs/deep-copy", - "version": "1.6.1", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102" + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102", - "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": "^5.6 || ^7.0" }, "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^4.1" }, "type": "library", "autoload": { "psr-4": { "DeepCopy\\": "src/DeepCopy/" - } + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", "keywords": [ "clone", "copy", @@ -3390,20 +3736,122 @@ "object", "object graph" ], - "time": "2017-04-12T18:52:22+00:00" + "time": "2017-10-19T19:58:43+00:00" + }, + { + "name": "phar-io/manifest", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", + "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^1.0.1", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2017-03-05T18:14:27+00:00" + }, + { + "name": "phar-io/version", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", + "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2017-03-05T17:38:23+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "1.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", "shasum": "" }, "require": { @@ -3444,33 +3892,39 @@ "reflection", "static analysis" ], - "time": "2015-12-27T11:43:31+00:00" + "time": "2017-09-11T18:02:19+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "3.2.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "46f7e8bb075036c92695b15a1ddb6971c751e585" + "reference": "66465776cfc249844bde6d117abff1d22e06c2da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/46f7e8bb075036c92695b15a1ddb6971c751e585", - "reference": "46f7e8bb075036c92695b15a1ddb6971c751e585", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66465776cfc249844bde6d117abff1d22e06c2da", + "reference": "66465776cfc249844bde6d117abff1d22e06c2da", "shasum": "" }, "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0", "phpdocumentor/type-resolver": "^0.4.0", "webmozart/assert": "^1.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" + "doctrine/instantiator": "~1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, "autoload": { "psr-4": { "phpDocumentor\\Reflection\\": [ @@ -3489,7 +3943,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-07-15T11:38:20+00:00" + "time": "2017-11-27T17:38:31+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -3540,33 +3994,33 @@ }, { "name": "phpspec/prophecy", - "version": "v1.7.0", + "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" + "reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf", + "reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", "sebastian/comparator": "^1.1|^2.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, "require-dev": { "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" + "phpunit/phpunit": "^4.8.35 || ^5.7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6.x-dev" + "dev-master": "1.7.x-dev" } }, "autoload": { @@ -3599,44 +4053,44 @@ "spy", "stub" ], - "time": "2017-03-02T20:05:34+00:00" + "time": "2017-11-24T13:59:53+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "4.0.8", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" + "reference": "661f34d0bd3f1a7225ef491a70a020ad23a057a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", - "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/661f34d0bd3f1a7225ef491a70a020ad23a057a1", + "reference": "661f34d0bd3f1a7225ef491a70a020ad23a057a1", "shasum": "" }, "require": { "ext-dom": "*", "ext-xmlwriter": "*", - "php": "^5.6 || ^7.0", - "phpunit/php-file-iterator": "^1.3", - "phpunit/php-text-template": "^1.2", - "phpunit/php-token-stream": "^1.4.2 || ^2.0", - "sebastian/code-unit-reverse-lookup": "^1.0", - "sebastian/environment": "^1.3.2 || ^2.0", - "sebastian/version": "^1.0 || ^2.0" + "php": "^7.0", + "phpunit/php-file-iterator": "^1.4.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^2.0.1", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" }, "require-dev": { - "ext-xdebug": "^2.1.4", - "phpunit/phpunit": "^5.7" + "phpunit/phpunit": "^6.0" }, "suggest": { - "ext-xdebug": "^2.5.1" + "ext-xdebug": "^2.5.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0.x-dev" + "dev-master": "5.3.x-dev" } }, "autoload": { @@ -3651,7 +4105,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -3662,20 +4116,20 @@ "testing", "xunit" ], - "time": "2017-04-02T07:44:40+00:00" + "time": "2017-12-06T09:29:45+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "1.4.2", + "version": "1.4.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", "shasum": "" }, "require": { @@ -3709,7 +4163,7 @@ "filesystem", "iterator" ], - "time": "2016-10-03T07:40:28+00:00" + "time": "2017-11-27T13:52:08+00:00" }, { "name": "phpunit/php-text-template", @@ -3803,29 +4257,29 @@ }, { "name": "phpunit/php-token-stream", - "version": "1.4.11", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" + "reference": "791198a2c6254db10131eecfe8c06670700904db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db", + "reference": "791198a2c6254db10131eecfe8c06670700904db", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^6.2.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -3848,20 +4302,20 @@ "keywords": [ "tokenizer" ], - "time": "2017-02-27T10:12:30+00:00" + "time": "2017-11-27T05:48:46+00:00" }, { "name": "phpunit/phpunit", - "version": "5.7.21", + "version": "6.5.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "3b91adfb64264ddec5a2dee9851f354aa66327db" + "reference": "83d27937a310f2984fd575686138597147bdc7df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3b91adfb64264ddec5a2dee9851f354aa66327db", - "reference": "3b91adfb64264ddec5a2dee9851f354aa66327db", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/83d27937a310f2984fd575686138597147bdc7df", + "reference": "83d27937a310f2984fd575686138597147bdc7df", "shasum": "" }, "require": { @@ -3870,33 +4324,35 @@ "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "~1.3", - "php": "^5.6 || ^7.0", - "phpspec/prophecy": "^1.6.2", - "phpunit/php-code-coverage": "^4.0.4", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "^3.2", - "sebastian/comparator": "^1.2.4", - "sebastian/diff": "^1.4.3", - "sebastian/environment": "^1.3.4 || ^2.0", - "sebastian/exporter": "~2.0", - "sebastian/global-state": "^1.1", - "sebastian/object-enumerator": "~2.0", - "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", - "symfony/yaml": "~2.1|~3.0" + "myclabs/deep-copy": "^1.6.1", + "phar-io/manifest": "^1.0.1", + "phar-io/version": "^1.0", + "php": "^7.0", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^5.3", + "phpunit/php-file-iterator": "^1.4.3", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^1.0.9", + "phpunit/phpunit-mock-objects": "^5.0.5", + "sebastian/comparator": "^2.1", + "sebastian/diff": "^2.0", + "sebastian/environment": "^3.1", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^1.0", + "sebastian/version": "^2.0.1" }, "conflict": { - "phpdocumentor/reflection-docblock": "3.0.2" + "phpdocumentor/reflection-docblock": "3.0.2", + "phpunit/dbunit": "<3.0" }, "require-dev": { "ext-pdo": "*" }, "suggest": { "ext-xdebug": "*", - "phpunit/php-invoker": "~1.1" + "phpunit/php-invoker": "^1.1" }, "bin": [ "phpunit" @@ -3904,7 +4360,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.7.x-dev" + "dev-master": "6.5.x-dev" } }, "autoload": { @@ -3930,33 +4386,33 @@ "testing", "xunit" ], - "time": "2017-06-21T08:11:54+00:00" + "time": "2017-12-17T06:31:19+00:00" }, { "name": "phpunit/phpunit-mock-objects", - "version": "3.4.4", + "version": "5.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" + "reference": "33fd41a76e746b8fa96d00b49a23dadfa8334cdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118", - "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/33fd41a76e746b8fa96d00b49a23dadfa8334cdf", + "reference": "33fd41a76e746b8fa96d00b49a23dadfa8334cdf", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.6 || ^7.0", - "phpunit/php-text-template": "^1.2", - "sebastian/exporter": "^1.2 || ^2.0" + "doctrine/instantiator": "^1.0.5", + "php": "^7.0", + "phpunit/php-text-template": "^1.2.1", + "sebastian/exporter": "^3.1" }, "conflict": { - "phpunit/phpunit": "<5.4.0" + "phpunit/phpunit": "<6.0" }, "require-dev": { - "phpunit/phpunit": "^5.4" + "phpunit/phpunit": "^6.5" }, "suggest": { "ext-soap": "*" @@ -3964,7 +4420,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2.x-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { @@ -3979,7 +4435,7 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", + "email": "sebastian@phpunit.de", "role": "lead" } ], @@ -3989,7 +4445,7 @@ "mock", "xunit" ], - "time": "2017-06-30T09:13:00+00:00" + "time": "2018-01-06T05:45:45+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -4038,30 +4494,30 @@ }, { "name": "sebastian/comparator", - "version": "1.2.4", + "version": "2.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" + "reference": "11c07feade1d65453e06df3b3b90171d6d982087" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/11c07feade1d65453e06df3b3b90171d6d982087", + "reference": "11c07feade1d65453e06df3b3b90171d6d982087", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" + "php": "^7.0", + "sebastian/diff": "^2.0", + "sebastian/exporter": "^3.1" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "2.1.x-dev" } }, "autoload": { @@ -4092,38 +4548,38 @@ } ], "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", + "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ "comparator", "compare", "equality" ], - "time": "2017-01-29T09:50:25+00:00" + "time": "2018-01-12T06:34:42+00:00" }, { "name": "sebastian/diff", - "version": "1.4.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", - "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", + "reference": "347c1d8b49c5c3ee30c7040ea6fc446790e6bddd", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpunit/phpunit": "^6.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -4150,32 +4606,32 @@ "keywords": [ "diff" ], - "time": "2017-05-22T07:24:03+00:00" + "time": "2017-08-03T08:09:46+00:00" }, { "name": "sebastian/environment", - "version": "2.0.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", - "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^5.0" + "phpunit/phpunit": "^6.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { @@ -4200,34 +4656,34 @@ "environment", "hhvm" ], - "time": "2016-11-26T07:53:53+00:00" + "time": "2017-07-01T08:51:00+00:00" }, { "name": "sebastian/exporter", - "version": "2.0.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", - "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", + "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~2.0" + "php": "^7.0", + "sebastian/recursion-context": "^3.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { @@ -4267,27 +4723,27 @@ "export", "exporter" ], - "time": "2016-11-19T08:54:04+00:00" + "time": "2017-04-03T13:19:02+00:00" }, { "name": "sebastian/global-state", - "version": "1.1.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "phpunit/phpunit": "^6.0" }, "suggest": { "ext-uopz": "*" @@ -4295,7 +4751,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -4318,33 +4774,34 @@ "keywords": [ "global state" ], - "time": "2015-10-12T03:26:01+00:00" + "time": "2017-04-27T15:39:26+00:00" }, { "name": "sebastian/object-enumerator", - "version": "2.0.1", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", - "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", "shasum": "" }, "require": { - "php": ">=5.6", - "sebastian/recursion-context": "~2.0" + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" }, "require-dev": { - "phpunit/phpunit": "~5" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -4364,32 +4821,77 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-02-18T15:18:39+00:00" + "time": "2017-08-03T12:35:26+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" }, { "name": "sebastian/recursion-context", - "version": "2.0.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", - "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": "^7.0" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "phpunit/phpunit": "^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -4417,7 +4919,7 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-11-19T07:33:16+00:00" + "time": "2017-03-03T06:23:57+00:00" }, { "name": "sebastian/resource-operations", @@ -4561,59 +5063,44 @@ "time": "2017-01-21T17:13:55+00:00" }, { - "name": "symfony/yaml", - "version": "v3.3.6", + "name": "theseer/tokenizer", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "ddc23324e6cfe066f3dd34a37ff494fa80b617ed" + "url": "https://github.com/theseer/tokenizer.git", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/ddc23324e6cfe066f3dd34a37ff494fa80b617ed", - "reference": "ddc23324e6cfe066f3dd34a37ff494fa80b617ed", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", "shasum": "" }, "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.3-dev" - } - }, "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" } ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2017-07-23T12:43:26+00:00" + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2017-04-07T12:08:54+00:00" }, { "name": "webmozart/assert", diff --git a/database/migrations/2017_07_03_000007_create_notification_templates_table.php b/database/migrations/2017_07_03_000007_create_notification_templates_table.php index c8ff3ec..33070e7 100644 --- a/database/migrations/2017_07_03_000007_create_notification_templates_table.php +++ b/database/migrations/2017_07_03_000007_create_notification_templates_table.php @@ -17,7 +17,9 @@ public function up() $table->engine = 'InnoDB'; $table->increments('id'); $table->string('name', 255)->nullable()->default(null); - $table->longText('content')->nullable()->default(null); + $table->string('slug', 255)->unique()->nullable()->default(null); + $table->string('model', 255)->nullable()->default(null); + $table->longText('body')->nullable()->default(null); }); } diff --git a/database/migrations/2017_07_03_000009_create_order_statuses_table.php b/database/migrations/2017_07_03_000009_create_order_statuses_table.php index 1255462..7851200 100644 --- a/database/migrations/2017_07_03_000009_create_order_statuses_table.php +++ b/database/migrations/2017_07_03_000009_create_order_statuses_table.php @@ -17,6 +17,7 @@ public function up() $table->engine = 'InnoDB'; $table->increments('id'); $table->string('name', 50)->nullable()->default(null); + $table->integer('notification')->default(1); }); } diff --git a/database/migrations/2017_08_17_131600_create_specific_prices_table.php b/database/migrations/2017_08_17_131600_create_specific_prices_table.php index 21d2ce2..21070de 100644 --- a/database/migrations/2017_08_17_131600_create_specific_prices_table.php +++ b/database/migrations/2017_08_17_131600_create_specific_prices_table.php @@ -21,18 +21,12 @@ public function up() $table->dateTime('start_date'); $table->dateTime('expiration_date'); $table->integer('product_id')->unsigned()->nullable(); - // $table->integer('currency_id')->unsigned()->nullable(); // Foreign keys $table->foreign('product_id') ->references('id')->on('products') ->onDelete('no action') ->onUpdate('no action'); - - // $table->foreign('currency_id') - // ->references('id')->on('currencies') - // ->onDelete('no action') - // ->onUpdate('no action'); }); } diff --git a/database/migrations/2018_01_10_120321_delete_notifications_table.php b/database/migrations/2018_01_10_120321_delete_notifications_table.php new file mode 100644 index 0000000..d74bc95 --- /dev/null +++ b/database/migrations/2018_01_10_120321_delete_notifications_table.php @@ -0,0 +1,31 @@ +engine = 'InnoDB'; + $table->increments('id'); + }); + } +} diff --git a/database/migrations/2018_01_23_153705_modify_orders_table_created_at_required.php b/database/migrations/2018_01_23_153705_modify_orders_table_created_at_required.php new file mode 100644 index 0000000..d51921f --- /dev/null +++ b/database/migrations/2018_01_23_153705_modify_orders_table_created_at_required.php @@ -0,0 +1,31 @@ +delete(); + + $addresses = [ + [ + 'user_id' => 2, + 'country_id' => 178, + 'name' => 'Jerry Williams', + 'address1' => 'South Fabien Street', + 'address2' => 'No. 34', + 'county' => 'Bucharest', + 'city' => 'Bucharest', + 'postal_code' => '123456', + 'phone' => '+413-26-9811311', + 'mobile_phone' => '+257-35-5785588', + 'comment' => 'Lorem ipsum dolor sit amet.', + 'created_at' => \Carbon\Carbon::now()->toDateTimeString() + + ], + ]; + + DB::table('addresses')->insert($addresses); + } +} diff --git a/database/seeds/CarriersTableSeeder.php b/database/seeds/CarriersTableSeeder.php new file mode 100644 index 0000000..2db9b4e --- /dev/null +++ b/database/seeds/CarriersTableSeeder.php @@ -0,0 +1,27 @@ +delete(); + + $carriers = [ + [ + 'name' => 'Best Express', + 'price' => '20', + 'delivery_text' => 'Lorem Ipsum is simply dummy text of the printing and typesetting industry.', + 'logo' => null, + ], + ]; + + DB::table('carriers')->insert($carriers); + } +} diff --git a/database/seeds/CompaniesTableSeeder.php b/database/seeds/CompaniesTableSeeder.php new file mode 100644 index 0000000..43f6192 --- /dev/null +++ b/database/seeds/CompaniesTableSeeder.php @@ -0,0 +1,32 @@ +delete(); + + $companies = [ + [ + 'user_id' => 2, + 'name' => 'Company Name', + 'address1' => 'Flowers street', + 'address2' => 'No. 25', + 'county' => 'Bucharest', + 'city' => 'Bucharest', + 'tin' => '12345678', + 'trn' => 'J1/123/2000', + + ], + ]; + + DB::table('companies')->insert($companies); + } +} diff --git a/database/seeds/CurrenciesTableSeeder.php b/database/seeds/CurrenciesTableSeeder.php new file mode 100644 index 0000000..9a7b93f --- /dev/null +++ b/database/seeds/CurrenciesTableSeeder.php @@ -0,0 +1,27 @@ +delete(); + + $currencies = [ + [ + 'name' => 'Euro', + 'iso' => 'EUR', + 'value' => '1', + 'default' => '1', + ], + ]; + + DB::table('currencies')->insert($currencies); + } +} diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index d2d81c1..81e8d64 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -38,5 +38,26 @@ public function run() $this->call(RolesTableSeeder::class); $this->call(PermissionRolesTableSeeder::class); $this->call(RoleUsersTableSeeder::class); + + // Seed currencies + $this->call(CurrenciesTableSeeder::class); + + // Seed carriers + $this->call(CarriersTableSeeder::class); + + // Seed order statuses + $this->call(OrderStatusesTableSeeder::class); + + // Seed order statuses + $this->call(NotificationTemplatesTableSeeder::class); + + // Seed client address + $this->call(AddressesTableSeeder::class); + + // Seed client company + $this->call(CompaniesTableSeeder::class); + + // Orders + $this->call(OrdersTableSeeder::class); } } diff --git a/database/seeds/NotificationTemplatesTableSeeder.php b/database/seeds/NotificationTemplatesTableSeeder.php new file mode 100644 index 0000000..491030c --- /dev/null +++ b/database/seeds/NotificationTemplatesTableSeeder.php @@ -0,0 +1,31 @@ +delete(); + + $notificationTemplates = [ + [ + 'name' => 'Order Status Changed', + 'slug' => 'order-status-changed', + 'model' => 'Order', + 'body' => '
Hello, {{ userName }},
+Your order status was changed to {{ status }}.
+ +Best,
+eStarter team.
', + ], + ]; + + DB::table('notification_templates')->insert($notificationTemplates); + } +} diff --git a/database/seeds/OrderStatusesTableSeeder.php b/database/seeds/OrderStatusesTableSeeder.php new file mode 100644 index 0000000..ec89f76 --- /dev/null +++ b/database/seeds/OrderStatusesTableSeeder.php @@ -0,0 +1,37 @@ +delete(); + + $orderStatuses = [ + [ + 'name' => 'Pending', + 'notification' => 1, + ], + [ + 'name' => 'Processed', + 'notification' => 1, + ], + [ + 'name' => 'Delivered', + 'notification' => 1, + ], + [ + 'name' => 'Done', + 'notification' => 0, + ], + ]; + + DB::table('order_statuses')->insert($orderStatuses); + } +} diff --git a/database/seeds/OrdersTableSeeder.php b/database/seeds/OrdersTableSeeder.php new file mode 100644 index 0000000..c5b2d3b --- /dev/null +++ b/database/seeds/OrdersTableSeeder.php @@ -0,0 +1,73 @@ +delete(); + + $orders = [ + [ + 'user_id' => 2, + 'status_id' => 1, + 'carrier_id' => 1, + 'shipping_address_id' => 1, + 'billing_address_id' => 1, + 'billing_company_id' => 1, + 'currency_id' => 1, + 'comment' => 'Lorem ipsum dolor sit amet.', + 'shipping_no' => '123456', + 'invoice_no' => '654321', + 'invoice_date' => \Carbon\Carbon::now()->toDateTimeString(), + 'delivery_date' => \Carbon\Carbon::now()->addDays(3)->toDateTimeString(), + 'total_discount' => 0, + 'total_discount_tax' => 0, + 'total_shipping' => 20, + 'total_shipping_tax' => 20, + 'total' => '42.73', + 'total_tax' => 45, + 'created_at' => \Carbon\Carbon::now()->toDateTimeString() + + ], + ]; + + DB::table('orders')->insert($orders); + + // Add products to order + DB::table('order_product')->delete(); + + $orderProducts = [ + [ + 'product_id' => 1, + 'order_id' => 1, + 'name' => 'T-Shirt', + 'sku' => 1000, + 'price' => '22.73', + 'price_with_tax' => 25, + 'quantity' => 1 + ] + ]; + + DB::table('order_product')->insert($orderProducts); + + // Add order status history + DB::table('order_status_history')->delete(); + + $orderStatusHistory = [ + [ + 'order_id' => 1, + 'status_id' => 1, + 'created_at' => \Carbon\Carbon::now()->toDateTimeString() + ] + ]; + + DB::table('order_status_history')->insert($orderStatusHistory); + } +} diff --git a/database/seeds/PermissionsTableSeeder.php b/database/seeds/PermissionsTableSeeder.php index b934451..47c0d3a 100644 --- a/database/seeds/PermissionsTableSeeder.php +++ b/database/seeds/PermissionsTableSeeder.php @@ -71,6 +71,11 @@ public function run() ['name' => 'create_specific_price'], ['name' => 'update_specific_price'], ['name' => 'delete_specific_price'], + + ['name' => 'list_notification_templates'], + ['name' => 'create_notification_template'], + ['name' => 'update_notification_template'], + ['name' => 'delete_notification_template'], ]; DB::table('permissions')->insert($permissions); diff --git a/database/seeds/RoleUsersTableSeeder.php b/database/seeds/RoleUsersTableSeeder.php index 8492a14..0abb6b8 100644 --- a/database/seeds/RoleUsersTableSeeder.php +++ b/database/seeds/RoleUsersTableSeeder.php @@ -14,10 +14,16 @@ public function run() DB::table('role_users')->delete(); $roleUsers = [ + // Set admin role for user id 1 [ 'role_id' => 1, 'user_id' => 1 ], + // Set client role for user id 2 + [ + 'role_id' => 2, + 'user_id' => 2 + ], ]; DB::table('role_users')->insert($roleUsers); diff --git a/database/seeds/UsersTableSeeder.php b/database/seeds/UsersTableSeeder.php index 89602ce..bc5216a 100644 --- a/database/seeds/UsersTableSeeder.php +++ b/database/seeds/UsersTableSeeder.php @@ -14,13 +14,28 @@ public function run() DB::table('users')->delete(); $users = [ - 'name' => 'Ecommerce Admin', - 'email' => 'admin@ecommerce.com', - 'password' => '$2y$10$QNf5iYdhmFxVn7OMrtZJQemkt46VPLZtGmU6ncJk3LERyd1r/zSqW', // Encrypted password is: adminpass - 'salutation' => 'Mr.', - 'birthday' => \Carbon\Carbon::now()->toDateString(), - 'gender' => 1, - 'active' => 1, + // Admin + [ + 'name' => 'Admin', + 'email' => 'admin@ecommerce.com', + 'password' => '$2y$10$QNf5iYdhmFxVn7OMrtZJQemkt46VPLZtGmU6ncJk3LERyd1r/zSqW', // Encrypted password is: adminpass + 'salutation' => 'Mr.', + 'birthday' => \Carbon\Carbon::now()->toDateString(), + 'gender' => 1, + 'active' => 1, + 'created_at' => \Carbon\Carbon::now()->toDateTimeString() + ], + // Client + [ + 'name' => 'Client', + 'email' => 'client@ecommerce.com', + 'password' => '$2y$10$xxgI.2pRrN1H6LuxYJz.0.653AyqU4E1302xe.N4MOhv3uHM0Uqo2', // Encrypted password is: clientpass + 'salutation' => 'Mr.', + 'birthday' => \Carbon\Carbon::now()->subYears(20)->toDateString(), + 'gender' => 1, + 'active' => 1, + 'created_at' => \Carbon\Carbon::now()->toDateTimeString() + ], ]; DB::table('users')->insert($users); diff --git a/public/vendor/backpack/crud/img/ajax-loader.gif b/public/vendor/backpack/crud/img/ajax-loader.gif new file mode 100644 index 0000000..7cb60b3 Binary files /dev/null and b/public/vendor/backpack/crud/img/ajax-loader.gif differ diff --git a/public/vendor/backpack/overlays/backpack.bold.css b/public/vendor/backpack/overlays/backpack.bold.css new file mode 100644 index 0000000..0ac16b4 --- /dev/null +++ b/public/vendor/backpack/overlays/backpack.bold.css @@ -0,0 +1,46 @@ +/* ------------------------------------------ */ +/* ------- Backpack Bold Overlay ------------ */ +/* ------------------------------------------ */ +/* This file brings some subjective improvements to the AdminLTE style. Use this file or not - it's a matter of preference. */ + +.sidebar-menu>li>a>.fa, +.sidebar-menu>li>a>.glyphicon, +.sidebar-menu>li>a>.ion { + margin-right: 5px; +} + +body[class^='skin-'] .sidebar-menu>li>a { + border-left: 2px solid transparent; +} + +.skin-purple .sidebar-menu>li.header { + padding-top: 5px; + padding-bottom: 5px; +} + +.content-header { + padding: 35px 15px 0px 15px; +} +.content-header>h1 { + font-size: 32px; + font-weight: 200; +} +.content-header>.breadcrumb { + top: 5px; +} +.user-panel { + padding: 20px 10px 20px 10px; +} + +.btn { + font-weight: 300; +} + +body { + font-size: 15px; + font-weight: 300; +} + +.logo-lg b { + font-weight: 400; +} \ No newline at end of file diff --git a/resources/lang/en/notification_templates.php b/resources/lang/en/notification_templates.php new file mode 100644 index 0000000..4b0aad8 --- /dev/null +++ b/resources/lang/en/notification_templates.php @@ -0,0 +1,12 @@ + 'Notification Template', + 'notification_templates' => 'Notification Templates', + 'name' => 'Name', + 'slug' => 'Slug', + 'model' => 'Model', + 'body' => 'Body', + 'available_variables' => 'Available variables', + 'variables_error' => 'Please check template variables' +]; \ No newline at end of file diff --git a/resources/lang/en/order.php b/resources/lang/en/order.php index 295bbc3..f06e9fa 100644 --- a/resources/lang/en/order.php +++ b/resources/lang/en/order.php @@ -8,6 +8,7 @@ 'order_statuses' => 'Order Statuses', 'status' => 'Status', 'status_name' => 'Status Name', + 'notification' => 'Notification', 'no_status_history' => 'No status history', 'no_order_statuses' => 'No order statuses defined', 'update_status' => 'Update status', diff --git a/resources/lang/en/specificprice.php b/resources/lang/en/specificprice.php index 29b3d9b..5216d38 100644 --- a/resources/lang/en/specificprice.php +++ b/resources/lang/en/specificprice.php @@ -13,6 +13,7 @@ 'discount_type' => 'Discount type', 'old_price' => 'Old price', 'reduced_price' => 'Reduced price', - 'reduction_price_not_ok' => 'Error! The price will be less than 0.00 after reduction for product :productName', - 'wrong_dates' => 'Error! There is already a specific price for product :productName in this period', + 'reduction_price_not_ok' => 'Specific price not saved. The price will be less than 0.00 after reduction for product :productName', + 'wrong_dates' => 'Specific price not saved. There is already a specific price for product :productName in this period', + 'dates_cant_be_null' => 'Specific price not saved. The specific price should have a start date and expiration date', ]; \ No newline at end of file diff --git a/resources/views/admin/order/view.blade.php b/resources/views/admin/order/view.blade.php index 2aed441..0e15d68 100644 --- a/resources/views/admin/order/view.blade.php +++ b/resources/views/admin/order/view.blade.php @@ -128,123 +128,125 @@{{ trans('address.contact_person') }} | -{{ $order->shippingAddress->name }} | -
{{ trans('address.address') }} | -
- {{ $order->shippingAddress->address1 }} - {{ $order->shippingAddress->address2 }} - |
-
{{ trans('address.county') }} | -{{ $order->shippingAddress->county }} | -
{{ trans('address.city') }} | -{{ $order->shippingAddress->city }} | -
{{ trans('address.postal_code') }} | -{{ $order->shippingAddress->postal_code }} | -
{{ trans('address.phone') }} | -{{ $order->shippingAddress->phone }} | -
{{ trans('address.mobile_phone') }} | -{{ $order->shippingAddress->mobile_phone }} | -
{{ trans('address.comment') }} | -{{ $order->shippingAddress->comment }} | -
{{ trans('company.company_name') }} | -{{ $order->billingCompanyInfo->name }} | -
{{ trans('company.address') }} | -
- {{ $order->billingCompanyInfo->address1 }} - {{ $order->billingCompanyInfo->address2 }} - |
-
{{ trans('company.county') }} | -{{ $order->billingCompanyInfo->county }} | -
{{ trans('company.city') }} | -{{ $order->billingCompanyInfo->city }} | -
{{ trans('company.tin') }} | -{{ $order->billingCompanyInfo->tin }} | -
{{ trans('company.trn') }} | -{{ $order->billingCompanyInfo->trn }} | -
{{ trans('address.contact_person') }} | -{{ $order->billingAddress->name }} | +{{ $order->shippingAddress->name }} |
{{ trans('address.address') }} |
- {{ $order->billingAddress->address1 }} - {{ $order->billingAddress->address2 }} + {{ $order->shippingAddress->address1 }} + {{ $order->shippingAddress->address2 }} |
|
{{ trans('address.county') }} | -{{ $order->billingAddress->county }} | +{{ $order->shippingAddress->county }} |
{{ trans('address.city') }} | -{{ $order->billingAddress->city }} | +{{ $order->shippingAddress->city }} |
{{ trans('address.postal_code') }} | -{{ $order->billingAddress->postal_code }} | +{{ $order->shippingAddress->postal_code }} |
{{ trans('address.phone') }} | -{{ $order->billingAddress->phone }} | +{{ $order->shippingAddress->phone }} |
{{ trans('address.mobile_phone') }} | -{{ $order->billingAddress->mobile_phone }} | +{{ $order->shippingAddress->mobile_phone }} |
{{ trans('address.comment') }} | -{{ $order->billingAddress->comment }} | +{{ $order->shippingAddress->comment }} |
{{ trans('company.company_name') }} | +{{ $order->billingCompanyInfo->name }} | +
{{ trans('company.address') }} | +
+ {{ $order->billingCompanyInfo->address1 }} + {{ $order->billingCompanyInfo->address2 }} + |
+
{{ trans('company.county') }} | +{{ $order->billingCompanyInfo->county }} | +
{{ trans('company.city') }} | +{{ $order->billingCompanyInfo->city }} | +
{{ trans('company.tin') }} | +{{ $order->billingCompanyInfo->tin }} | +
{{ trans('company.trn') }} | +{{ $order->billingCompanyInfo->trn }} | +
{{ trans('address.contact_person') }} | +{{ $order->billingAddress->name }} | +
{{ trans('address.address') }} | +
+ {{ $order->billingAddress->address1 }} + {{ $order->billingAddress->address2 }} + |
+
{{ trans('address.county') }} | +{{ $order->billingAddress->county }} | +
{{ trans('address.city') }} | +{{ $order->billingAddress->city }} | +
{{ trans('address.postal_code') }} | +{{ $order->billingAddress->postal_code }} | +
{{ trans('address.phone') }} | +{{ $order->billingAddress->phone }} | +
{{ trans('address.mobile_phone') }} | +{{ $order->billingAddress->mobile_phone }} | +
{{ trans('address.comment') }} | +{{ $order->billingAddress->comment }} | +
{{ Auth::user()->name }}
- Online + {{ trans('backpack::base.my_account') }} {{ trans('backpack::base.logout') }}