Unverified Commit 9f36ea78 authored by Vipul Basapati's avatar Vipul Basapati Committed by GitHub

Mailables (#278)

* removed generator resources/vendor files

* resolved html flash <br/> in validation messages issue

* updated fronted account section to remove address, state, city, ssn and zipcode as we are not using it anywhere

* Changes in Role Module

* Permission API Changes

* Add User's permission in Custom claims

* Modified the Blogs Request on web and api to check for publish_datetime #250

Fixed style CI issues

* removed generator resources/vendor files

* resolved html flash <br/> in validation messages issue

* updated fronted account section to remove address, state, city, ssn and zipcode as we are not using it anywhere

* Modified the Blogs Request on web and api to check for publish_datetime #250

Fixed style CI issues

* Fixed Menu issue

* fixed table names from faqs repository

* Bug fixes (#255)

* removed generator resources/vendor files

* resolved html flash <br/> in validation messages issue

* updated fronted account section to remove address, state, city, ssn and zipcode as we are not using it anywhere

* Modified the Blogs Request on web and api to check for publish_datetime #250

Fixed style CI issues

* Fixed Menu issue

* Update README.md

* fixed table names from faqs repository

* Email Templates as a file (#260)

* Update README.md

* from one line to view format

* change in vue version

* view file for email template

* Changes in Template styling and usage of non-static values in template.blade.php

* Email templates abatra (#263)

* from one line to view format

* change in vue version

* view file for email template

* Implaement Responsive Email Template

* Update package.json

* Removed mjml dependency

* Add Dynamic Confirmation Link

* upgrade to laravel5.7

* upgrade npm

* Adding analytics for dashboard

* Apply fixes from StyleCI

* 1. Fixed Pages Api bug.
2. Added Email Template Mailable for Forgot Password.
3. Added Email Template Mailable for Reset Password.
4. Added Email Template Mailable for Change Password.
5. Updated email template css.

* Fixed StyleCI issues

* Fixed StyleCI issues
parent 553fde65
APP_NAME="Laravel Admin Panel"
APP_SHORT_NAME="LAP"
APP_ENV=local
APP_KEY=base64:O+TrollIDwasHEREtMG9kBc+/Q32exQLusNVhnq558w=
APP_DEBUG=true
......
......@@ -121,9 +121,12 @@ class BlogsController extends APIController
{
$featured_image = ($action == 'insert') ? 'required' : '';
$publish_datetime = $request->publish_datetime !== '' ? 'required|date' : 'required';
$validation = Validator::make($request->all(), [
'name' => 'required|max:191',
'featured_image' => $featured_image,
'publish_datetime' => $publish_datetime,
'content' => 'required',
'categories' => 'required',
'tags' => 'required',
......
......@@ -31,7 +31,7 @@ class PagesController extends APIController
{
$limit = $request->get('paginate') ? $request->get('paginate') : 25;
$orderBy = $request->get('orderBy') ? $request->get('orderBy') : 'ASC';
$sortBy = $request->get('sortBy') ? $request->get('sortBy') : 'created_at';
$sortBy = $request->get('sortBy') ? $request->get('sortBy') : config('module.pages.table', 'pages').'created_at';
return PagesResource::collection(
$this->repository->getForDataTable()->orderBy($sortBy, $orderBy)->paginate($limit)
......
......@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Models\Access\Permission\Permission;
use App\Models\Access\Role\Role;
use App\Models\Access\User\User;
use App\Models\Settings\Setting;
use Illuminate\Http\Request;
/**
......@@ -18,7 +19,10 @@ class DashboardController extends Controller
*/
public function index()
{
return view('backend.dashboard');
$settingData = Setting::first();
$google_analytics = $settingData->google_analytics;
return view('backend.dashboard', compact('google_analytics', $google_analytics));
}
/**
......
......@@ -95,11 +95,12 @@ class ResetPasswordController extends Controller
/**
* Get the response for a successful password reset.
*
* @param \Illuminate\Http\Request $request
* @param string $response
*
* @return \Illuminate\Http\RedirectResponse
*/
protected function sendResetResponse($response)
protected function sendResetResponse($request, $response)
{
return redirect()->route(homeRoute())->withFlashSuccess(trans($response));
}
......
......@@ -29,6 +29,7 @@ class StoreBlogsRequest extends Request
return [
'name' => 'required|max:191',
'featured_image' => 'required',
'publish_datetime' => 'required|date',
'content' => 'required',
'categories' => 'required',
'tags' => 'required',
......
......@@ -28,6 +28,7 @@ class UpdateBlogsRequest extends Request
{
return [
'name' => 'required|max:191|unique:blogs,name,'.$this->segment(3),
'publish_datetime' => 'required|date',
'content' => 'required',
'categories' => 'required',
'tags' => 'required',
......
......@@ -31,10 +31,6 @@ class UpdateProfileRequest extends Request
'first_name' => 'required|max:255',
'last_name' => 'required|max:255',
'email' => ['sometimes', 'required', 'email', 'max:255', Rule::unique('users')],
'state_id' => 'required',
'city_id' => 'required',
'zip_code' => 'required',
'ssn' => 'required',
];
}
}
......@@ -20,8 +20,8 @@ class PermissionResource extends Resource
'name' => $this->name,
'display_name' => $this->display_name,
'sort' => $this->sort,
'registered_at' => $this->created_at->toIso8601String(),
'last_updated_at' => $this->updated_at->toIso8601String(),
'created_at' => $this->created_at->toIso8601String(),
'updated_at' => $this->updated_at->toIso8601String(),
];
}
......
......@@ -22,8 +22,8 @@ class RoleResource extends Resource
'number_of_users' => $this->users->count(),
'sort' => $this->sort,
'status' => $this->status,
'registered_at' => $this->created_at->toIso8601String(),
'last_updated_at' => $this->updated_at->toIso8601String(),
'created_at' => $this->created_at->toIso8601String(),
'updated_at' => $this->updated_at->toIso8601String(),
];
}
}
......@@ -34,21 +34,6 @@ class UserEventListener
\Log::info('User Registered: '.$event->user->full_name);
}
/**
* @param $event
*/
/*public function onRegistered($event)
{
\Log::info('User Registered: '.$event->user->first_name);
// Send email to the user
$options = [
'data' => $event->user,
'email_template_type' => 1,
];
createNotification('', 1, 2, $options);
}*/
/**
* @param $event
*/
......
......@@ -147,23 +147,22 @@ trait UserAttribute
switch ($this->status) {
case 0:
if (access()->allow('activate-user')) {
$name = $class == '' ? 'Active' : '';
$name = $class == '' ? 'Activate' : '';
return '<a class="'.$class.'" href="'.route('admin.access.user.mark', [$this, 1]).'"><i class="fa fa-check-square" data-toggle="tooltip" data-placement="top" title="'.trans('buttons.backend.access.users.activate').'"></i>'.$name.'</a>';
}
// No break
break;
case 1:
if (access()->allow('deactivate-user')) {
$name = ($class == '') ? 'Deactive' : '';
$name = ($class == '') ? 'Deactivate' : '';
return '<a class="'.$class.'" href="'.route('admin.access.user.mark', [$this, 0]).'"><i class="fa fa-square" data-toggle="tooltip" data-placement="top" title="'.trans('buttons.backend.access.users.deactivate').'"></i>'.$name.'</a>';
}
// No break
break;
default:
return '';
// No break
}
}
......
......@@ -92,8 +92,11 @@ class User extends Authenticatable implements JWTSubject
'email' => $this->email,
'picture' => $this->getPicture(),
'confirmed' => $this->confirmed,
'registered_at' => $this->created_at->toIso8601String(),
'last_updated_at' => $this->updated_at->toIso8601String(),
'role' => optional($this->roles()->first())->name,
'permissions' => $this->permissions()->get(),
'status' => $this->status,
'created_at' => $this->created_at->toIso8601String(),
'updated_at' => $this->updated_at->toIso8601String(),
];
}
}
<?php
namespace App\Notifications\Frontend\Auth;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
/**
* Class UserChangedPassword.
*/
class UserChangedPassword extends Notification
{
use Queueable;
/**
* @var
*/
protected $password;
/**
* UserChangedPassword constructor.
*
* @param $password
*/
public function __construct($password)
{
$this->password = $password;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
*
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param \App\Models\Access\User\User $user
*
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($user)
{
return (new MailMessage())
->view('emails.changed-password', ['password' => $this->password]);
}
}
......@@ -43,16 +43,15 @@ class UserNeedsConfirmation extends Notification
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @param \App\Models\Access\User\User $user
*
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
public function toMail($user)
{
$confirmation_url = route('frontend.auth.account.confirm', $user->confirmation_code);
return (new MailMessage())
->subject(app_name().': '.trans('exceptions.frontend.auth.confirmation.confirm'))
->line(trans('strings.emails.auth.click_to_confirm'))
->action(trans('buttons.emails.auth.confirm_account'), route('frontend.auth.account.confirm', $this->confirmation_code))
->line(trans('strings.emails.auth.thank_you_for_using_app'));
->view('emails.user-confirmation', ['confirmation_url' => $confirmation_url]);
}
}
......@@ -50,10 +50,9 @@ class UserNeedsPasswordReset extends Notification
*/
public function toMail($notifiable)
{
$reset_password_route = route('frontend.auth.password.reset.form', $this->token);
return (new MailMessage())
->subject(app_name().': '.trans('strings.emails.auth.password_reset_subject'))
->line(trans('strings.emails.auth.password_cause_of_email'))
->action(trans('buttons.emails.auth.reset_password'), route('frontend.auth.password.reset.form', $this->token))
->line(trans('strings.emails.auth.password_if_not_requested'));
->view('emails.reset-password', ['reset_password_url' => $reset_password_route]);
}
}
......@@ -23,8 +23,8 @@ class FaqsRepository extends BaseRepository
{
return $this->query()
->select([
config('mdule.faqs.able').'.id',
config('odule.faqs.table').'.question',
config('module.faqs.table').'.id',
config('module.faqs.table').'.question',
config('module.faqs.table').'.answer',
config('module.faqs.table').'.status',
config('module.faqs.table').'.created_at',
......
......@@ -6,6 +6,7 @@ use App\Events\Frontend\Auth\UserConfirmed;
use App\Exceptions\GeneralException;
use App\Models\Access\User\SocialLogin;
use App\Models\Access\User\User;
use App\Notifications\Frontend\Auth\UserChangedPassword;
use App\Notifications\Frontend\Auth\UserNeedsConfirmation;
use App\Repositories\Backend\Access\Role\RoleRepository;
use App\Repositories\BaseRepository;
......@@ -115,7 +116,7 @@ class UserRepository extends BaseRepository
$user->confirmed = 1;
}
DB::transaction(function () use ($user) {
DB::transaction(function () use ($user, $provider) {
if ($user->save()) {
/*
......@@ -130,8 +131,6 @@ class UserRepository extends BaseRepository
* Assigned permissions to user
*/
$user->permissions()->sync($permissions);
}
});
/*
* If users have to confirm their email and this is not a social account,
......@@ -142,6 +141,8 @@ class UserRepository extends BaseRepository
if (config('access.users.confirm_email') && $provider === false) {
$user->notify(new UserNeedsConfirmation($user->confirmation_code));
}
}
});
/*
* Return the user object
......@@ -242,12 +243,6 @@ class UserRepository extends BaseRepository
$user = $this->find($id);
$user->first_name = $input['first_name'];
$user->last_name = $input['last_name'];
$user->address = $input['address'];
$user->state_id = $input['state_id'];
$user->country_id = config('access.constants.default_country');
$user->city_id = $input['city_id'];
$user->zip_code = $input['zip_code'];
$user->ssn = $input['ssn'];
$user->updated_by = access()->user()->id;
if ($user->canChangeEmail()) {
......@@ -292,13 +287,7 @@ class UserRepository extends BaseRepository
$user->password = bcrypt($input['password']);
if ($user->save()) {
$input['email'] = $user->email;
// Send email to the user
$options = [
'data' => $input,
'email_template_type' => 4,
];
createNotification('', $user->id, 2, $options);
$user->notify(new UserChangedPassword($input['password']));
return true;
}
......
......@@ -4,29 +4,30 @@
"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": "1ff0891115bc89c4dcca27e33644c3cf",
"content-hash": "fbc0f145e5c41796b454f9d14d243892",
"packages": [
{
"name": "arcanedev/log-viewer",
"version": "4.5.1",
"version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/ARCANEDEV/LogViewer.git",
"reference": "22bdffe6f9d26e466cc7fd434e447a4b3e9aff0e"
"reference": "a8cd768e8ab4f2ec80d2d3208f34af2799c847c2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/22bdffe6f9d26e466cc7fd434e447a4b3e9aff0e",
"reference": "22bdffe6f9d26e466cc7fd434e447a4b3e9aff0e",
"url": "https://api.github.com/repos/ARCANEDEV/LogViewer/zipball/a8cd768e8ab4f2ec80d2d3208f34af2799c847c2",
"reference": "a8cd768e8ab4f2ec80d2d3208f34af2799c847c2",
"shasum": ""
},
"require": {
"arcanedev/support": "~4.3.0",
"arcanedev/support": "~4.4.0",
"php": ">=7.1.3",
"psr/log": "~1.0"
},
"require-dev": {
"orchestra/testbench": "~3.6.0",
"mockery/mockery": "~1.0",
"orchestra/testbench": "~3.7.0",
"phpunit/phpcov": "~5.0",
"phpunit/phpunit": "~7.0"
},
......@@ -70,7 +71,7 @@
"log-viewer",
"logviewer"
],
"time": "2018-02-08T15:42:11+00:00"
"time": "2018-09-04T18:09:19+00:00"
},
{
"name": "arcanedev/no-captcha",
......@@ -140,25 +141,25 @@
},
{
"name": "arcanedev/support",
"version": "4.3.0",
"version": "4.4.0",
"source": {
"type": "git",
"url": "https://github.com/ARCANEDEV/Support.git",
"reference": "23478c1439c8bdcb7aaf26b817b4886d6c52d423"
"reference": "9f4d9947563c6bec10ea7fa7954129e012216af9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/23478c1439c8bdcb7aaf26b817b4886d6c52d423",
"reference": "23478c1439c8bdcb7aaf26b817b4886d6c52d423",
"url": "https://api.github.com/repos/ARCANEDEV/Support/zipball/9f4d9947563c6bec10ea7fa7954129e012216af9",
"reference": "9f4d9947563c6bec10ea7fa7954129e012216af9",
"shasum": ""
},
"require": {
"illuminate/filesystem": "~5.6.0",
"illuminate/support": "~5.6.0",
"illuminate/filesystem": "~5.7.0",
"illuminate/support": "~5.7.0",
"php": ">=7.1.3"
},
"require-dev": {
"orchestra/testbench": "~3.6.0",
"orchestra/testbench": "~3.7.0",
"phpunit/phpcov": "~5.0",
"phpunit/phpunit": "~7.0"
},
......@@ -191,7 +192,7 @@
"laravel",
"support"
],
"time": "2018-02-08T00:42:15+00:00"
"time": "2018-09-04T17:19:43+00:00"
},
{
"name": "creativeorange/gravatar",
......@@ -249,26 +250,26 @@
},
{
"name": "davejamesmiller/laravel-breadcrumbs",
"version": "5.1.0",
"version": "5.1.2",
"source": {
"type": "git",
"url": "https://github.com/davejamesmiller/laravel-breadcrumbs.git",
"reference": "2a02abfeca13acba6d528f4fcd385570452308f7"
"reference": "f24853b97d9f973a9b936d2692f93b11924415e2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/davejamesmiller/laravel-breadcrumbs/zipball/2a02abfeca13acba6d528f4fcd385570452308f7",
"reference": "2a02abfeca13acba6d528f4fcd385570452308f7",
"url": "https://api.github.com/repos/davejamesmiller/laravel-breadcrumbs/zipball/f24853b97d9f973a9b936d2692f93b11924415e2",
"reference": "f24853b97d9f973a9b936d2692f93b11924415e2",
"shasum": ""
},
"require": {
"illuminate/support": "5.6.*",
"illuminate/view": "5.6.*",
"illuminate/support": "5.6.*|5.7.*",
"illuminate/view": "5.6.*|5.7.*",
"php": ">=7.1.3"
},
"require-dev": {
"laravel/framework": "5.6.*",
"orchestra/testbench": "3.6.*",
"laravel/framework": "5.6.*|5.7.*",
"orchestra/testbench": "3.6.*|3.7.*",
"php-coveralls/php-coveralls": "^1.0",
"phpunit/phpunit": "7.*"
},
......@@ -304,7 +305,7 @@
"keywords": [
"laravel"
],
"time": "2018-05-05T19:30:03+00:00"
"time": "2018-09-14T06:29:58+00:00"
},
{
"name": "dnoegel/php-xdg-base-dir",
......@@ -339,86 +340,18 @@
"description": "implementation of xdg base directory specification for php",
"time": "2014-10-24T07:27:01+00:00"
},
{
"name": "doctrine/annotations",
"version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
"reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5",
"reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5",
"shasum": ""
},
"require": {
"doctrine/lexer": "1.*",
"php": "^7.1"
},
"require-dev": {
"doctrine/cache": "1.*",
"phpunit/phpunit": "^6.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.6.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
},
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
}
],
"description": "Docblock Annotations Parser",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"annotations",
"docblock",
"parser"
],
"time": "2017-12-06T07:11:42+00:00"
},
{
"name": "doctrine/cache",
"version": "v1.7.1",
"version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
"reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a"
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a",
"url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57",
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57",
"shasum": ""
},
"require": {
......@@ -429,8 +362,9 @@
},
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.1",
"doctrine/coding-standard": "^4.0",
"mongodb/mongodb": "^1.1",
"phpunit/phpunit": "^5.7",
"phpunit/phpunit": "^7.0",
"predis/predis": "~1.0"
},
"suggest": {
......@@ -439,7 +373,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.7.x-dev"
"dev-master": "1.8.x-dev"
}
},
"autoload": {
......@@ -474,43 +408,58 @@
}
],
"description": "Caching library offering an object-oriented API for many cache backends",
"homepage": "http://www.doctrine-project.org",
"homepage": "https://www.doctrine-project.org",
"keywords": [
"cache",
"caching"
],
"time": "2017-08-25T07:02:50+00:00"
"time": "2018-08-21T18:01:43+00:00"
},
{
"name": "doctrine/collections",
"version": "v1.5.0",
"name": "doctrine/dbal",
"version": "v2.8.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/collections.git",
"reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf"
"url": "https://github.com/doctrine/dbal.git",
"reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/collections/zipball/a01ee38fcd999f34d9bfbcee59dbda5105449cbf",
"reference": "a01ee38fcd999f34d9bfbcee59dbda5105449cbf",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/5140a64c08b4b607b9bedaae0cedd26f04a0e621",
"reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621",
"shasum": ""
},
"require": {
"doctrine/cache": "^1.0",
"doctrine/event-manager": "^1.0",
"ext-pdo": "*",
"php": "^7.1"
},
"require-dev": {
"doctrine/coding-standard": "~0.1@dev",
"phpunit/phpunit": "^5.7"
"doctrine/coding-standard": "^4.0",
"jetbrains/phpstorm-stubs": "^2018.1.2",
"phpstan/phpstan": "^0.10.1",
"phpunit/phpunit": "^7.1.2",
"phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5",
"symfony/console": "^2.0.5|^3.0|^4.0",
"symfony/phpunit-bridge": "^3.4.5|^4.0.5"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
"bin": [
"bin/doctrine-dbal"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
"dev-master": "2.8.x-dev",
"dev-develop": "3.0.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\Common\\Collections\\": "lib/"
"Doctrine\\DBAL\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
......@@ -533,50 +482,46 @@
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
},
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
}
],
"description": "Collections Abstraction library",
"description": "Database Abstraction Layer",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"array",
"collections",
"iterator"
"database",
"dbal",
"persistence",
"queryobject"
],
"time": "2017-07-22T10:37:32+00:00"
"time": "2018-07-13T03:16:35+00:00"
},
{
"name": "doctrine/common",
"version": "v2.8.1",
"name": "doctrine/event-manager",
"version": "v1.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/common.git",
"reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66"
"url": "https://github.com/doctrine/event-manager.git",
"reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/common/zipball/f68c297ce6455e8fd794aa8ffaf9fa458f6ade66",
"reference": "f68c297ce6455e8fd794aa8ffaf9fa458f6ade66",
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3",
"reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3",
"shasum": ""
},
"require": {
"doctrine/annotations": "1.*",
"doctrine/cache": "1.*",
"doctrine/collections": "1.*",
"doctrine/inflector": "1.*",
"doctrine/lexer": "1.*",
"php": "~7.1"
"php": "^7.1"
},
"conflict": {
"doctrine/common": "<2.9@dev"
},
"require-dev": {
"phpunit/phpunit": "^5.7"
"doctrine/coding-standard": "^4.0",
"phpunit/phpunit": "^7.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.8.x-dev"
"dev-master": "1.0.x-dev"
}
},
"autoload": {
......@@ -608,93 +553,20 @@
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com"
}
],
"description": "Common Library for Doctrine projects",
"homepage": "http://www.doctrine-project.org",
"keywords": [
"annotations",
"collections",
"eventmanager",
"persistence",
"spl"
],
"time": "2017-08-31T08:43:38+00:00"
},
{
"name": "doctrine/dbal",
"version": "v2.7.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "11037b4352c008373561dc6fc836834eed80c3b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/11037b4352c008373561dc6fc836834eed80c3b5",
"reference": "11037b4352c008373561dc6fc836834eed80c3b5",
"shasum": ""
},
"require": {
"doctrine/common": "^2.7.1",
"ext-pdo": "*",
"php": "^7.1"
},
"require-dev": {
"doctrine/coding-standard": "^4.0",
"phpunit/phpunit": "^7.0",
"phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5",
"symfony/console": "^2.0.5||^3.0",
"symfony/phpunit-bridge": "^3.4.5|^4.0.5"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
"bin": [
"bin/doctrine-dbal"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.7.x-dev"
}
},
"autoload": {
"psr-0": {
"Doctrine\\DBAL\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Roman Borschel",
"email": "roman@code-factory.org"
},
{
"name": "Benjamin Eberlei",
"email": "kontakt@beberlei.de"
},
{
"name": "Guilherme Blanco",
"email": "guilhermeblanco@gmail.com"
},
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
}
],
"description": "Database Abstraction Layer",
"homepage": "http://www.doctrine-project.org",
"description": "Doctrine Event Manager component",
"homepage": "https://www.doctrine-project.org/projects/event-manager.html",
"keywords": [
"database",
"dbal",
"persistence",
"queryobject"
"event",
"eventdispatcher",
"eventmanager"
],
"time": "2018-04-07T18:44:18+00:00"
"time": "2018-06-11T11:59:03+00:00"
},
{
"name": "doctrine/inflector",
......@@ -868,16 +740,16 @@
},
{
"name": "egulias/email-validator",
"version": "2.1.4",
"version": "2.1.6",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
"reference": "8790f594151ca6a2010c6218e09d96df67173ad3"
"reference": "0578b32b30b22de3e8664f797cf846fc9246f786"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3",
"reference": "8790f594151ca6a2010c6218e09d96df67173ad3",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0578b32b30b22de3e8664f797cf846fc9246f786",
"reference": "0578b32b30b22de3e8664f797cf846fc9246f786",
"shasum": ""
},
"require": {
......@@ -921,7 +793,7 @@
"validation",
"validator"
],
"time": "2018-04-10T10:11:19+00:00"
"time": "2018-09-25T20:47:26+00:00"
},
{
"name": "erusev/parsedown",
......@@ -1339,32 +1211,32 @@
},
{
"name": "jakub-onderka/php-console-color",
"version": "0.1",
"version": "v0.2",
"source": {
"type": "git",
"url": "https://github.com/JakubOnderka/PHP-Console-Color.git",
"reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1"
"reference": "d5deaecff52a0d61ccb613bb3804088da0307191"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1",
"reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1",
"url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191",
"reference": "d5deaecff52a0d61ccb613bb3804088da0307191",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
"php": ">=5.4.0"
},
"require-dev": {
"jakub-onderka/php-code-style": "1.0",
"jakub-onderka/php-parallel-lint": "0.*",
"jakub-onderka/php-parallel-lint": "1.0",
"jakub-onderka/php-var-dump-check": "0.*",
"phpunit/phpunit": "3.7.*",
"phpunit/phpunit": "~4.3",
"squizlabs/php_codesniffer": "1.*"
},
"type": "library",
"autoload": {
"psr-0": {
"JakubOnderka\\PhpConsoleColor": "src/"
"psr-4": {
"JakubOnderka\\PhpConsoleColor\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
......@@ -1374,11 +1246,10 @@
"authors": [
{
"name": "Jakub Onderka",
"email": "jakub.onderka@gmail.com",
"homepage": "http://www.acci.cz"
"email": "jakub.onderka@gmail.com"
}
],
"time": "2014-04-08T15:00:19+00:00"
"time": "2018-09-29T17:23:10+00:00"
},
{
"name": "jakub-onderka/php-console-highlighter",
......@@ -1426,42 +1297,43 @@
},
{
"name": "laravel/framework",
"version": "v5.6.26",
"version": "v5.7.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "7047df295e77cecb6a2f84736a732af66cc6789c"
"reference": "0438455128c0850b5872c7f3c11b7ccdbbfcba3e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/7047df295e77cecb6a2f84736a732af66cc6789c",
"reference": "7047df295e77cecb6a2f84736a732af66cc6789c",
"url": "https://api.github.com/repos/laravel/framework/zipball/0438455128c0850b5872c7f3c11b7ccdbbfcba3e",
"reference": "0438455128c0850b5872c7f3c11b7ccdbbfcba3e",
"shasum": ""
},
"require": {
"doctrine/inflector": "~1.1",
"dragonmantank/cron-expression": "~2.0",
"erusev/parsedown": "~1.7",
"doctrine/inflector": "^1.1",
"dragonmantank/cron-expression": "^2.0",
"erusev/parsedown": "^1.7",
"ext-mbstring": "*",
"ext-openssl": "*",
"league/flysystem": "^1.0.8",
"monolog/monolog": "~1.12",
"nesbot/carbon": "1.25.*",
"monolog/monolog": "^1.12",
"nesbot/carbon": "^1.26.3",
"opis/closure": "^3.1",
"php": "^7.1.3",
"psr/container": "~1.0",
"psr/container": "^1.0",
"psr/simple-cache": "^1.0",
"ramsey/uuid": "^3.7",
"swiftmailer/swiftmailer": "~6.0",
"symfony/console": "~4.0",
"symfony/debug": "~4.0",
"symfony/finder": "~4.0",
"symfony/http-foundation": "~4.0",
"symfony/http-kernel": "~4.0",
"symfony/process": "~4.0",
"symfony/routing": "~4.0",
"symfony/var-dumper": "~4.0",
"swiftmailer/swiftmailer": "^6.0",
"symfony/console": "^4.1",
"symfony/debug": "^4.1",
"symfony/finder": "^4.1",
"symfony/http-foundation": "^4.1",
"symfony/http-kernel": "^4.1",
"symfony/process": "^4.1",
"symfony/routing": "^4.1",
"symfony/var-dumper": "^4.1",
"tijsverkoyen/css-to-inline-styles": "^2.2.1",
"vlucas/phpdotenv": "~2.2"
"vlucas/phpdotenv": "^2.2"
},
"conflict": {
"tightenco/collect": "<5.5.33"
......@@ -1497,43 +1369,45 @@
"illuminate/view": "self.version"
},
"require-dev": {
"aws/aws-sdk-php": "~3.0",
"doctrine/dbal": "~2.6",
"aws/aws-sdk-php": "^3.0",
"doctrine/dbal": "^2.6",
"filp/whoops": "^2.1.4",
"league/flysystem-cached-adapter": "~1.0",
"mockery/mockery": "~1.0",
"league/flysystem-cached-adapter": "^1.0",
"mockery/mockery": "^1.0",
"moontoast/math": "^1.1",
"orchestra/testbench-core": "3.6.*",
"pda/pheanstalk": "~3.0",
"phpunit/phpunit": "~7.0",
"orchestra/testbench-core": "3.7.*",
"pda/pheanstalk": "^3.0",
"phpunit/phpunit": "^7.0",
"predis/predis": "^1.1.1",
"symfony/css-selector": "~4.0",
"symfony/dom-crawler": "~4.0"
"symfony/css-selector": "^4.1",
"symfony/dom-crawler": "^4.1",
"true/punycode": "^2.1"
},
"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.6).",
"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.6).",
"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 the Flysystem cache (~1.0).",
"league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).",
"league/flysystem-sftp": "Required to use the Flysystem SFTP 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 (~3.0).",
"symfony/css-selector": "Required to use some of the crawler integration testing tools (~4.0).",
"symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~4.0).",
"symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)."
"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 the Flysystem cache (^1.0).",
"league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).",
"league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).",
"moontoast/math": "Required to use ordered UUIDs (^1.1).",
"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 (^3.0).",
"symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.1).",
"symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.1).",
"symfony/psr-http-message-bridge": "Required to psr7 bridging features (^1.0)."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.6-dev"
"dev-master": "5.7-dev"
}
},
"autoload": {
......@@ -1561,20 +1435,20 @@
"framework",
"laravel"
],
"time": "2018-06-20T14:21:11+00:00"
"time": "2018-10-02T14:12:00+00:00"
},
{
"name": "laravel/socialite",
"version": "v3.0.12",
"version": "v3.1.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/socialite.git",
"reference": "b5f465847b1d637efa86bbfe2fc1c9d2bd12f60f"
"reference": "65f771ff4f266ebae23de1a3f18efd80a1da2f8d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/socialite/zipball/b5f465847b1d637efa86bbfe2fc1c9d2bd12f60f",
"reference": "b5f465847b1d637efa86bbfe2fc1c9d2bd12f60f",
"url": "https://api.github.com/repos/laravel/socialite/zipball/65f771ff4f266ebae23de1a3f18efd80a1da2f8d",
"reference": "65f771ff4f266ebae23de1a3f18efd80a1da2f8d",
"shasum": ""
},
"require": {
......@@ -1583,7 +1457,7 @@
"illuminate/http": "~5.4",
"illuminate/support": "~5.4",
"league/oauth1-client": "~1.0",
"php": ">=5.4.0"
"php": ">=5.6.4"
},
"require-dev": {
"mockery/mockery": "~0.9",
......@@ -1619,11 +1493,12 @@
}
],
"description": "Laravel wrapper around OAuth 1 & OAuth 2 libraries.",
"homepage": "https://laravel.com",
"keywords": [
"laravel",
"oauth"
],
"time": "2018-06-01T15:06:47+00:00"
"time": "2018-08-16T12:51:21+00:00"
},
{
"name": "laravel/tinker",
......@@ -1690,35 +1565,35 @@
},
{
"name": "laravelcollective/html",
"version": "v5.6.10",
"version": "v5.7.1",
"source": {
"type": "git",
"url": "https://github.com/LaravelCollective/html.git",
"reference": "974605fcd22a7e4d19f0b2ef635a0d1d7400387d"
"reference": "777b6d390811ba249255ed5750bf17a019cd88a5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/LaravelCollective/html/zipball/974605fcd22a7e4d19f0b2ef635a0d1d7400387d",
"reference": "974605fcd22a7e4d19f0b2ef635a0d1d7400387d",
"url": "https://api.github.com/repos/LaravelCollective/html/zipball/777b6d390811ba249255ed5750bf17a019cd88a5",
"reference": "777b6d390811ba249255ed5750bf17a019cd88a5",
"shasum": ""
},
"require": {
"illuminate/http": "5.6.*",
"illuminate/routing": "5.6.*",
"illuminate/session": "5.6.*",
"illuminate/support": "5.6.*",
"illuminate/view": "5.6.*",
"illuminate/http": "5.7.*",
"illuminate/routing": "5.7.*",
"illuminate/session": "5.7.*",
"illuminate/support": "5.7.*",
"illuminate/view": "5.7.*",
"php": ">=7.1.3"
},
"require-dev": {
"illuminate/database": "5.6.*",
"illuminate/database": "5.7.*",
"mockery/mockery": "~1.0",
"phpunit/phpunit": "~7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.6-dev"
"dev-master": "5.7-dev"
},
"laravel": {
"providers": [
......@@ -1754,20 +1629,20 @@
],
"description": "HTML and Form Builders for the Laravel Framework",
"homepage": "https://laravelcollective.com",
"time": "2018-06-18T15:04:16+00:00"
"time": "2018-09-05T18:32:53+00:00"
},
{
"name": "lcobucci/jwt",
"version": "3.2.2",
"version": "3.2.4",
"source": {
"type": "git",
"url": "https://github.com/lcobucci/jwt.git",
"reference": "0b5930be73582369e10c4d4bb7a12bac927a203c"
"reference": "c9704b751315d21735dc98d78d4f37bd73596da7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/0b5930be73582369e10c4d4bb7a12bac927a203c",
"reference": "0b5930be73582369e10c4d4bb7a12bac927a203c",
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/c9704b751315d21735dc98d78d4f37bd73596da7",
"reference": "c9704b751315d21735dc98d78d4f37bd73596da7",
"shasum": ""
},
"require": {
......@@ -1812,32 +1687,32 @@
"JWS",
"jwt"
],
"time": "2017-09-01T08:23:26+00:00"
"time": "2018-08-03T11:23:50+00:00"
},
{
"name": "league/flysystem",
"version": "1.0.45",
"version": "1.0.47",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6"
"reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a99f94e63b512d75f851b181afcdf0ee9ebef7e6",
"reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a11e4a75f256bdacf99d20780ce42d3b8272975c",
"reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c",
"shasum": ""
},
"require": {
"ext-fileinfo": "*",
"php": ">=5.5.9"
},
"conflict": {
"league/flysystem-sftp": "<1.0.6"
},
"require-dev": {
"ext-fileinfo": "*",
"phpspec/phpspec": "^3.4",
"phpunit/phpunit": "^5.7"
"phpunit/phpunit": "^5.7.10"
},
"suggest": {
"ext-fileinfo": "Required for MimeType",
......@@ -1896,7 +1771,7 @@
"sftp",
"storage"
],
"time": "2018-05-07T08:44:23+00:00"
"time": "2018-09-14T15:30:29+00:00"
},
{
"name": "league/oauth1-client",
......@@ -2104,16 +1979,16 @@
},
{
"name": "nesbot/carbon",
"version": "1.25.0",
"version": "1.34.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4"
"reference": "1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cbcf13da0b531767e39eb86e9687f5deba9857b4",
"reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33",
"reference": "1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33",
"shasum": ""
},
"require": {
......@@ -2126,13 +2001,15 @@
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.23-dev"
"laravel": {
"providers": [
"Carbon\\Laravel\\ServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"Carbon\\": "src/Carbon/"
"": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
......@@ -2153,20 +2030,20 @@
"datetime",
"time"
],
"time": "2018-03-19T15:50:49+00:00"
"time": "2018-09-20T19:36:25+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.0.2",
"version": "v4.0.4",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "35b8caf75e791ba1b2d24fec1552168d72692b12"
"reference": "fa6ee28600d21d49b2b4e1006b48426cec8e579c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/35b8caf75e791ba1b2d24fec1552168d72692b12",
"reference": "35b8caf75e791ba1b2d24fec1552168d72692b12",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/fa6ee28600d21d49b2b4e1006b48426cec8e579c",
"reference": "fa6ee28600d21d49b2b4e1006b48426cec8e579c",
"shasum": ""
},
"require": {
......@@ -2204,37 +2081,94 @@
"parser",
"php"
],
"time": "2018-06-03T11:33:10+00:00"
"time": "2018-09-18T07:03:24+00:00"
},
{
"name": "opis/closure",
"version": "3.1.1",
"source": {
"type": "git",
"url": "https://github.com/opis/closure.git",
"reference": "d3209e46ad6c69a969b705df0738fd0dbe26ef9e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opis/closure/zipball/d3209e46ad6c69a969b705df0738fd0dbe26ef9e",
"reference": "d3209e46ad6c69a969b705df0738fd0dbe26ef9e",
"shasum": ""
},
"require": {
"php": "^5.4 || ^7.0"
},
"require-dev": {
"jeremeamia/superclosure": "^2.0",
"phpunit/phpunit": "^4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Opis\\Closure\\": "src/"
},
"files": [
"functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marius Sarca",
"email": "marius.sarca@gmail.com"
},
{
"name": "Sorin Sarca",
"email": "sarca_sorin@hotmail.com"
}
],
"description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.",
"homepage": "https://opis.io/closure",
"keywords": [
"anonymous functions",
"closure",
"function",
"serializable",
"serialization",
"serialize"
],
"time": "2018-10-02T13:36:53+00:00"
},
{
"name": "paragonie/random_compat",
"version": "v2.0.17",
"version": "v9.99.99",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
"reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d"
"reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/29af24f25bab834fcbb38ad2a69fa93b867e070d",
"reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
"reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
"shasum": ""
},
"require": {
"php": ">=5.2.0"
"php": "^7"
},
"require-dev": {
"phpunit/phpunit": "4.*|5.*"
"phpunit/phpunit": "4.*|5.*",
"vimeo/psalm": "^1"
},
"suggest": {
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
},
"type": "library",
"autoload": {
"files": [
"lib/random.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
......@@ -2253,7 +2187,7 @@
"pseudorandom",
"random"
],
"time": "2018-07-04T16:31:37+00:00"
"time": "2018-07-02T15:55:56+00:00"
},
{
"name": "psr/container",
......@@ -2451,20 +2385,22 @@
},
{
"name": "psy/psysh",
"version": "v0.9.6",
"version": "v0.9.8",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
"reference": "4a2ce86f199d51b6e2524214dc06835e872f4fce"
"reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/4a2ce86f199d51b6e2524214dc06835e872f4fce",
"reference": "4a2ce86f199d51b6e2524214dc06835e872f4fce",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/ed3c32c4304e1a678a6e0f9dc11dd2d927d89555",
"reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555",
"shasum": ""
},
"require": {
"dnoegel/php-xdg-base-dir": "0.1",
"ext-json": "*",
"ext-tokenizer": "*",
"jakub-onderka/php-console-highlighter": "0.3.*",
"nikic/php-parser": "~1.3|~2.0|~3.0|~4.0",
"php": ">=5.4.0",
......@@ -2519,25 +2455,26 @@
"interactive",
"shell"
],
"time": "2018-06-10T17:57:20+00:00"
"time": "2018-09-05T11:40:09+00:00"
},
{
"name": "ramsey/uuid",
"version": "3.7.3",
"version": "3.8.0",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
"reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76"
"reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/44abcdad877d9a46685a3a4d221e3b2c4b87cb76",
"reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76",
"url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3",
"reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3",
"shasum": ""
},
"require": {
"paragonie/random_compat": "^1.0|^2.0",
"php": "^5.4 || ^7.0"
"paragonie/random_compat": "^1.0|^2.0|9.99.99",
"php": "^5.4 || ^7.0",
"symfony/polyfill-ctype": "^1.8"
},
"replace": {
"rhumsaa/uuid": "self.version"
......@@ -2545,16 +2482,17 @@
"require-dev": {
"codeception/aspect-mock": "^1.0 | ~2.0.0",
"doctrine/annotations": "~1.2.0",
"goaop/framework": "1.0.0-alpha.2 | ^1.0 | ^2.1",
"goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0",
"ircmaxell/random-lib": "^1.1",
"jakub-onderka/php-parallel-lint": "^0.9.0",
"mockery/mockery": "^0.9.9",
"moontoast/math": "^1.1",
"php-mock/php-mock-phpunit": "^0.3|^1.1",
"phpunit/phpunit": "^4.7|^5.0",
"phpunit/phpunit": "^4.7|^5.0|^6.5",
"squizlabs/php_codesniffer": "^2.3"
},
"suggest": {
"ext-ctype": "Provides support for PHP Ctype functions",
"ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator",
"ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator",
"ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
......@@ -2599,28 +2537,28 @@
"identifier",
"uuid"
],
"time": "2018-01-20T00:28:24+00:00"
"time": "2018-07-19T23:38:55+00:00"
},
{
"name": "spatie/laravel-cors",
"version": "1.2.2",
"version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-cors.git",
"reference": "314899baf691dd4bbaf3cbbbcaf5aedb4b39a89b"
"reference": "c95a7a100332630d8ff443386171d21343987162"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-cors/zipball/314899baf691dd4bbaf3cbbbcaf5aedb4b39a89b",
"reference": "314899baf691dd4bbaf3cbbbcaf5aedb4b39a89b",
"url": "https://api.github.com/repos/spatie/laravel-cors/zipball/c95a7a100332630d8ff443386171d21343987162",
"reference": "c95a7a100332630d8ff443386171d21343987162",
"shasum": ""
},
"require": {
"illuminate/support": "5.5.*|5.6.*",
"laravel/framework": "5.5.*|5.6.*|5.7.*",
"php": "^7.0"
},
"require-dev": {
"orchestra/testbench": "3.5.*|3.6.*",
"orchestra/testbench": "3.5.*|3.6.*|3.7.*",
"phpunit/phpunit": "^6.5.4|^7.0"
},
"type": "library",
......@@ -2658,20 +2596,20 @@
"request",
"spatie"
],
"time": "2018-05-04T21:18:32+00:00"
"time": "2018-08-31T06:36:45+00:00"
},
{
"name": "swiftmailer/swiftmailer",
"version": "v6.1.1",
"version": "v6.1.3",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
"reference": "aa899fef280b1c1aec8d5d4ac069af7f80c89a23"
"reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/aa899fef280b1c1aec8d5d4ac069af7f80c89a23",
"reference": "aa899fef280b1c1aec8d5d4ac069af7f80c89a23",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8ddcb66ac10c392d3beb54829eef8ac1438595f4",
"reference": "8ddcb66ac10c392d3beb54829eef8ac1438595f4",
"shasum": ""
},
"require": {
......@@ -2717,20 +2655,20 @@
"mail",
"mailer"
],
"time": "2018-07-04T11:12:44+00:00"
"time": "2018-09-11T07:12:52+00:00"
},
{
"name": "symfony/console",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f"
"reference": "dc7122fe5f6113cfaba3b3de575d31112c9aa60b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/70591cda56b4b47c55776ac78e157c4bb6c8b43f",
"reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f",
"url": "https://api.github.com/repos/symfony/console/zipball/dc7122fe5f6113cfaba3b3de575d31112c9aa60b",
"reference": "dc7122fe5f6113cfaba3b3de575d31112c9aa60b",
"shasum": ""
},
"require": {
......@@ -2785,20 +2723,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"time": "2018-05-31T10:17:53+00:00"
"time": "2018-10-03T08:15:46+00:00"
},
{
"name": "symfony/css-selector",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
"reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4"
"reference": "d67de79a70a27d93c92c47f37ece958bf8de4d8a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/03ac71606ecb0b0ce792faa17d74cc32c2949ef4",
"reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/d67de79a70a27d93c92c47f37ece958bf8de4d8a",
"reference": "d67de79a70a27d93c92c47f37ece958bf8de4d8a",
"shasum": ""
},
"require": {
......@@ -2838,20 +2776,20 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-10-02T16:36:10+00:00"
},
{
"name": "symfony/debug",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d"
"reference": "e3f76ce6198f81994e019bb2b4e533e9de1b9b90"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/dbe0fad88046a755dcf9379f2964c61a02f5ae3d",
"reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d",
"url": "https://api.github.com/repos/symfony/debug/zipball/e3f76ce6198f81994e019bb2b4e533e9de1b9b90",
"reference": "e3f76ce6198f81994e019bb2b4e533e9de1b9b90",
"shasum": ""
},
"require": {
......@@ -2894,20 +2832,20 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
"time": "2018-06-08T09:39:36+00:00"
"time": "2018-10-02T16:36:10+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "2391ed210a239868e7256eb6921b1bd83f3087b5"
"reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2391ed210a239868e7256eb6921b1bd83f3087b5",
"reference": "2391ed210a239868e7256eb6921b1bd83f3087b5",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bfb30c2ad377615a463ebbc875eba64a99f6aa3e",
"reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e",
"shasum": ""
},
"require": {
......@@ -2957,20 +2895,20 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
"time": "2018-04-06T07:35:57+00:00"
"time": "2018-07-26T09:10:45+00:00"
},
{
"name": "symfony/finder",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb"
"reference": "1f17195b44543017a9c9b2d437c670627e96ad06"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/84714b8417d19e4ba02ea78a41a975b3efaafddb",
"reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb",
"url": "https://api.github.com/repos/symfony/finder/zipball/1f17195b44543017a9c9b2d437c670627e96ad06",
"reference": "1f17195b44543017a9c9b2d437c670627e96ad06",
"shasum": ""
},
"require": {
......@@ -3006,20 +2944,20 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2018-06-19T21:38:16+00:00"
"time": "2018-10-03T08:47:56+00:00"
},
{
"name": "symfony/http-foundation",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3"
"reference": "d528136617ff24f530e70df9605acc1b788b08d4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/4f9c7cf962e635b0b26b14500ac046e07dbef7f3",
"reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d528136617ff24f530e70df9605acc1b788b08d4",
"reference": "d528136617ff24f530e70df9605acc1b788b08d4",
"shasum": ""
},
"require": {
......@@ -3060,20 +2998,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
"time": "2018-06-19T21:38:16+00:00"
"time": "2018-10-03T08:48:45+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "29c094a1c4f8209b7e033f612cbbd69029e38955"
"reference": "f5e7c15a5d010be0e16ce798594c5960451d4220"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/29c094a1c4f8209b7e033f612cbbd69029e38955",
"reference": "29c094a1c4f8209b7e033f612cbbd69029e38955",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f5e7c15a5d010be0e16ce798594c5960451d4220",
"reference": "f5e7c15a5d010be0e16ce798594c5960451d4220",
"shasum": ""
},
"require": {
......@@ -3147,29 +3085,32 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"time": "2018-06-25T13:06:45+00:00"
"time": "2018-10-03T12:53:38+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.8.0",
"version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae"
"reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
"reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
"reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"suggest": {
"ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8-dev"
"dev-master": "1.9-dev"
}
},
"autoload": {
......@@ -3202,20 +3143,20 @@
"polyfill",
"portable"
],
"time": "2018-04-30T19:57:29+00:00"
"time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.8.0",
"version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "3296adf6a6454a050679cde90f95350ad604b171"
"reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171",
"reference": "3296adf6a6454a050679cde90f95350ad604b171",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8",
"reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8",
"shasum": ""
},
"require": {
......@@ -3227,7 +3168,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8-dev"
"dev-master": "1.9-dev"
}
},
"autoload": {
......@@ -3261,20 +3202,20 @@
"portable",
"shim"
],
"time": "2018-04-26T10:06:28+00:00"
"time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/polyfill-php56",
"version": "v1.8.0",
"version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php56.git",
"reference": "af98553c84912459db3f636329567809d639a8f6"
"reference": "7b4fc009172cc0196535b0328bd1226284a28000"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/af98553c84912459db3f636329567809d639a8f6",
"reference": "af98553c84912459db3f636329567809d639a8f6",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/7b4fc009172cc0196535b0328bd1226284a28000",
"reference": "7b4fc009172cc0196535b0328bd1226284a28000",
"shasum": ""
},
"require": {
......@@ -3284,7 +3225,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8-dev"
"dev-master": "1.9-dev"
}
},
"autoload": {
......@@ -3317,20 +3258,20 @@
"portable",
"shim"
],
"time": "2018-04-26T10:06:28+00:00"
"time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/polyfill-php72",
"version": "v1.8.0",
"version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
"reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46"
"reference": "95c50420b0baed23852452a7f0c7b527303ed5ae"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/a4576e282d782ad82397f3e4ec1df8e0f0cafb46",
"reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46",
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/95c50420b0baed23852452a7f0c7b527303ed5ae",
"reference": "95c50420b0baed23852452a7f0c7b527303ed5ae",
"shasum": ""
},
"require": {
......@@ -3339,7 +3280,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8-dev"
"dev-master": "1.9-dev"
}
},
"autoload": {
......@@ -3372,20 +3313,20 @@
"portable",
"shim"
],
"time": "2018-04-26T10:06:28+00:00"
"time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/polyfill-util",
"version": "v1.8.0",
"version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-util.git",
"reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a"
"reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/1a5ad95d9436cbff3296034fe9f8d586dce3fb3a",
"reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/8e15d04ba3440984d23e7964b2ee1d25c8de1581",
"reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581",
"shasum": ""
},
"require": {
......@@ -3394,7 +3335,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8-dev"
"dev-master": "1.9-dev"
}
},
"autoload": {
......@@ -3424,20 +3365,20 @@
"polyfill",
"shim"
],
"time": "2018-04-26T10:06:28+00:00"
"time": "2018-08-06T14:22:27+00:00"
},
{
"name": "symfony/process",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a"
"reference": "ee33c0322a8fee0855afcc11fff81e6b1011b529"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a",
"reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a",
"url": "https://api.github.com/repos/symfony/process/zipball/ee33c0322a8fee0855afcc11fff81e6b1011b529",
"reference": "ee33c0322a8fee0855afcc11fff81e6b1011b529",
"shasum": ""
},
"require": {
......@@ -3473,20 +3414,20 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
"time": "2018-05-31T10:17:53+00:00"
"time": "2018-10-02T12:40:59+00:00"
},
{
"name": "symfony/routing",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932"
"reference": "537803f0bdfede36b9acef052d2e4d447d9fa0e9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/b38b9797327b26ea2e4146a40e6e2dc9820a6932",
"reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932",
"url": "https://api.github.com/repos/symfony/routing/zipball/537803f0bdfede36b9acef052d2e4d447d9fa0e9",
"reference": "537803f0bdfede36b9acef052d2e4d447d9fa0e9",
"shasum": ""
},
"require": {
......@@ -3550,20 +3491,20 @@
"uri",
"url"
],
"time": "2018-06-19T21:38:16+00:00"
"time": "2018-10-02T12:40:59+00:00"
},
{
"name": "symfony/translation",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854"
"reference": "9f0b61e339160a466ebcde167a6c5521c810e304"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/b6d8164085ee0b6debcd1b7a131fd6f63bb04854",
"reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854",
"url": "https://api.github.com/repos/symfony/translation/zipball/9f0b61e339160a466ebcde167a6c5521c810e304",
"reference": "9f0b61e339160a466ebcde167a6c5521c810e304",
"shasum": ""
},
"require": {
......@@ -3619,20 +3560,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
"time": "2018-06-22T08:59:39+00:00"
"time": "2018-10-02T16:36:10+00:00"
},
{
"name": "symfony/var-dumper",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b"
"reference": "60319b45653580b0cdacca499344577d87732f16"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/b2eebaec085d1f2cafbad7644733d494a3bbbc9b",
"reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/60319b45653580b0cdacca499344577d87732f16",
"reference": "60319b45653580b0cdacca499344577d87732f16",
"shasum": ""
},
"require": {
......@@ -3694,7 +3635,7 @@
"debug",
"dump"
],
"time": "2018-06-23T12:23:56+00:00"
"time": "2018-10-02T16:36:10+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
......@@ -3745,23 +3686,23 @@
},
{
"name": "tymon/jwt-auth",
"version": "1.0.0-rc.2",
"version": "1.0.0-rc.3",
"source": {
"type": "git",
"url": "https://github.com/tymondesigns/jwt-auth.git",
"reference": "d5220f6a84cbb8300f6f2f0f20aa908d072b4e4b"
"reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/d5220f6a84cbb8300f6f2f0f20aa908d072b4e4b",
"reference": "d5220f6a84cbb8300f6f2f0f20aa908d072b4e4b",
"url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/e190b6a75372e7e5e3a6d2cf0e4456313412299f",
"reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f",
"shasum": ""
},
"require": {
"illuminate/auth": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/contracts": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/http": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/support": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/auth": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/contracts": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/http": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/support": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"lcobucci/jwt": "^3.2",
"namshi/jose": "^7.0",
"nesbot/carbon": "^1.0",
......@@ -3769,9 +3710,9 @@
},
"require-dev": {
"cartalyst/sentinel": "2.0.*",
"illuminate/console": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/database": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/routing": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*",
"illuminate/console": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/database": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"illuminate/routing": "5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*",
"mockery/mockery": ">=0.9.9",
"phpunit/phpunit": "~4.8 || ~6.0"
},
......@@ -3816,7 +3757,7 @@
"jwt",
"laravel"
],
"time": "2018-02-07T20:55:14+00:00"
"time": "2018-09-04T19:48:02+00:00"
},
{
"name": "unisharp/laravel-filemanager",
......@@ -3894,16 +3835,16 @@
},
{
"name": "vlucas/phpdotenv",
"version": "v2.5.0",
"version": "v2.5.1",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
"reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a"
"reference": "8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/6ae3e2e6494bb5e58c2decadafc3de7f1453f70a",
"reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e",
"reference": "8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e",
"shasum": ""
},
"require": {
......@@ -3940,38 +3881,38 @@
"env",
"environment"
],
"time": "2018-07-01T10:25:50+00:00"
"time": "2018-07-29T20:33:41+00:00"
},
{
"name": "yajra/laravel-datatables-oracle",
"version": "v8.7.0",
"version": "v8.8.0",
"source": {
"type": "git",
"url": "https://github.com/yajra/laravel-datatables.git",
"reference": "34c281691df93374ac2b3d96e8611f0a6abf2b47"
"reference": "f2959bf773fc315e1b3319fb0a34c880b97706d5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/34c281691df93374ac2b3d96e8611f0a6abf2b47",
"reference": "34c281691df93374ac2b3d96e8611f0a6abf2b47",
"url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/f2959bf773fc315e1b3319fb0a34c880b97706d5",
"reference": "f2959bf773fc315e1b3319fb0a34c880b97706d5",
"shasum": ""
},
"require": {
"illuminate/database": "5.4.*|5.5.*|5.6.*",
"illuminate/filesystem": "5.4.*|5.5.*|5.6.*",
"illuminate/http": "5.4.*|5.5.*|5.6.*",
"illuminate/support": "5.4.*|5.5.*|5.6.*",
"illuminate/view": "5.4.*|5.5.*|5.6.*",
"illuminate/database": "5.4.*|5.5.*|5.6.*|5.7.*",
"illuminate/filesystem": "5.4.*|5.5.*|5.6.*|5.7.*",
"illuminate/http": "5.4.*|5.5.*|5.6.*|5.7.*",
"illuminate/support": "5.4.*|5.5.*|5.6.*|5.7.*",
"illuminate/view": "5.4.*|5.5.*|5.6.*|5.7.*",
"php": ">=7.0"
},
"require-dev": {
"orchestra/testbench": "~3.5"
},
"suggest": {
"yajra/laravel-datatables-buttons": "Plugin for server-side exporting of dataTable.",
"yajra/laravel-datatables-editor": "Plugin to use Datatables Editor (requires a license).",
"yajra/laravel-datatables-buttons": "Plugin for server-side exporting of dataTables.",
"yajra/laravel-datatables-editor": "Plugin to use DataTables Editor (requires a license).",
"yajra/laravel-datatables-fractal": "Plugin for server-side response using Fractal.",
"yajra/laravel-datatables-html": "Plugin for server-side HTML builder of dataTable."
"yajra/laravel-datatables-html": "Plugin for server-side HTML builder of dataTables."
},
"type": "library",
"extra": {
......@@ -4011,35 +3952,35 @@
"jquery",
"laravel"
],
"time": "2018-06-03T01:33:29+00:00"
"time": "2018-09-05T05:43:38+00:00"
}
],
"packages-dev": [
{
"name": "barryvdh/laravel-debugbar",
"version": "v3.1.5",
"version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git",
"reference": "d3cdca2ad6cc6e67735b4a63e7551c690a497f5f"
"reference": "5b68f3972083a7eeec0d6f161962fcda71a127c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/d3cdca2ad6cc6e67735b4a63e7551c690a497f5f",
"reference": "d3cdca2ad6cc6e67735b4a63e7551c690a497f5f",
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/5b68f3972083a7eeec0d6f161962fcda71a127c0",
"reference": "5b68f3972083a7eeec0d6f161962fcda71a127c0",
"shasum": ""
},
"require": {
"illuminate/routing": "5.5.x|5.6.x",
"illuminate/session": "5.5.x|5.6.x",
"illuminate/support": "5.5.x|5.6.x",
"illuminate/routing": "5.5.x|5.6.x|5.7.x",
"illuminate/session": "5.5.x|5.6.x|5.7.x",
"illuminate/support": "5.5.x|5.6.x|5.7.x",
"maximebf/debugbar": "~1.15.0",
"php": ">=7.0",
"symfony/debug": "^3|^4",
"symfony/finder": "^3|^4"
},
"require-dev": {
"illuminate/framework": "5.5.x"
"laravel/framework": "5.5.x"
},
"type": "library",
"extra": {
......@@ -4081,20 +4022,20 @@
"profiler",
"webprofiler"
],
"time": "2018-05-03T18:27:04+00:00"
"time": "2018-08-22T11:06:19+00:00"
},
{
"name": "bvipul/generator",
"version": "v5.6",
"version": "v5.6.1",
"source": {
"type": "git",
"url": "https://github.com/bvipul/generator.git",
"reference": "e434c59a4d88eb963460e6facef792688efcc154"
"reference": "a9080d3941d2fadf636505aea0f5a88df128304b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bvipul/generator/zipball/e434c59a4d88eb963460e6facef792688efcc154",
"reference": "e434c59a4d88eb963460e6facef792688efcc154",
"url": "https://api.github.com/repos/bvipul/generator/zipball/a9080d3941d2fadf636505aea0f5a88df128304b",
"reference": "a9080d3941d2fadf636505aea0f5a88df128304b",
"shasum": ""
},
"type": "package",
......@@ -4114,7 +4055,7 @@
}
],
"description": "To create a whole module with all related files like model, controller, repository, routes, views etc with a simple GUI.",
"time": "2018-06-23T17:18:07+00:00"
"time": "2018-07-07T09:58:44+00:00"
},
{
"name": "codedungeon/php-cli-colors",
......@@ -4162,21 +4103,21 @@
},
{
"name": "codedungeon/phpunit-result-printer",
"version": "0.19.10",
"version": "0.19.14",
"source": {
"type": "git",
"url": "https://github.com/mikeerickson/phpunit-pretty-result-printer.git",
"reference": "3ff0ebbfeca8cf57e0493b9a0a45f22a70626989"
"reference": "d95e985bbc6b884e2e9e74fe99ce41728ae8d6e4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mikeerickson/phpunit-pretty-result-printer/zipball/3ff0ebbfeca8cf57e0493b9a0a45f22a70626989",
"reference": "3ff0ebbfeca8cf57e0493b9a0a45f22a70626989",
"url": "https://api.github.com/repos/mikeerickson/phpunit-pretty-result-printer/zipball/d95e985bbc6b884e2e9e74fe99ce41728ae8d6e4",
"reference": "d95e985bbc6b884e2e9e74fe99ce41728ae8d6e4",
"shasum": ""
},
"require": {
"codedungeon/php-cli-colors": "^1.10",
"hassankhan/config": "^0.10.0",
"codedungeon/php-cli-colors": "^1.10.2",
"hassankhan/config": "^1.0",
"php": "^7.1",
"symfony/yaml": "^2.7|^3.0|^4.0"
},
......@@ -4210,7 +4151,7 @@
"result-printer",
"testing"
],
"time": "2018-05-24T02:02:32+00:00"
"time": "2018-09-05T16:10:09+00:00"
},
{
"name": "doctrine/instantiator",
......@@ -4268,16 +4209,16 @@
},
{
"name": "filp/whoops",
"version": "2.2.0",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
"reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a"
"reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/filp/whoops/zipball/181c4502d8f34db7aed7bfe88d4f87875b8e947a",
"reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a",
"url": "https://api.github.com/repos/filp/whoops/zipball/e79cd403fb77fc8963a99ecc30e80ddd885b3311",
"reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311",
"shasum": ""
},
"require": {
......@@ -4296,7 +4237,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.1-dev"
"dev-master": "2.2-dev"
}
},
"autoload": {
......@@ -4325,20 +4266,20 @@
"throwable",
"whoops"
],
"time": "2018-03-03T17:56:25+00:00"
"time": "2018-06-30T13:14:06+00:00"
},
{
"name": "fzaninotto/faker",
"version": "v1.7.1",
"version": "v1.8.0",
"source": {
"type": "git",
"url": "https://github.com/fzaninotto/Faker.git",
"reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d"
"reference": "f72816b43e74063c8b10357394b6bba8cb1c10de"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
"reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de",
"reference": "f72816b43e74063c8b10357394b6bba8cb1c10de",
"shasum": ""
},
"require": {
......@@ -4346,7 +4287,7 @@
},
"require-dev": {
"ext-intl": "*",
"phpunit/phpunit": "^4.0 || ^5.0",
"phpunit/phpunit": "^4.8.35 || ^5.7",
"squizlabs/php_codesniffer": "^1.5"
},
"type": "library",
......@@ -4375,7 +4316,7 @@
"faker",
"fixtures"
],
"time": "2017-08-15T16:48:10+00:00"
"time": "2018-07-12T10:23:15+00:00"
},
{
"name": "hamcrest/hamcrest-php",
......@@ -4424,28 +4365,29 @@
},
{
"name": "hassankhan/config",
"version": "0.10.0",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/hassankhan/config.git",
"reference": "06ac500348af033f1a2e44dc357ca86282626d4a"
"reference": "930556337783acfd95bde723354119178db01d10"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/hassankhan/config/zipball/06ac500348af033f1a2e44dc357ca86282626d4a",
"reference": "06ac500348af033f1a2e44dc357ca86282626d4a",
"url": "https://api.github.com/repos/hassankhan/config/zipball/930556337783acfd95bde723354119178db01d10",
"reference": "930556337783acfd95bde723354119178db01d10",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
"php": ">=5.5.9"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"scrutinizer/ocular": "~1.1",
"squizlabs/php_codesniffer": "~2.2"
"squizlabs/php_codesniffer": "~2.2",
"symfony/yaml": "~3.4"
},
"suggest": {
"symfony/yaml": "~2.5"
"symfony/yaml": "~3.4"
},
"type": "library",
"autoload": {
......@@ -4477,23 +4419,24 @@
"yaml",
"yml"
],
"time": "2016-02-11T16:21:17+00:00"
"time": "2018-08-22T14:18:52+00:00"
},
{
"name": "laravel/browser-kit-testing",
"version": "v4.0.1",
"version": "v4.0.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/browser-kit-testing.git",
"reference": "d70283fd29ee9ec09d07a9c94cc5518b569cfeaf"
"reference": "efe038f40fb8ad06655ddfcb64e8b603e9e1f999"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/browser-kit-testing/zipball/d70283fd29ee9ec09d07a9c94cc5518b569cfeaf",
"reference": "d70283fd29ee9ec09d07a9c94cc5518b569cfeaf",
"url": "https://api.github.com/repos/laravel/browser-kit-testing/zipball/efe038f40fb8ad06655ddfcb64e8b603e9e1f999",
"reference": "efe038f40fb8ad06655ddfcb64e8b603e9e1f999",
"shasum": ""
},
"require": {
"illuminate/support": "^5.6",
"php": ">=7.1.3",
"phpunit/phpunit": "~7.0",
"symfony/css-selector": "~4.0",
......@@ -4525,7 +4468,7 @@
"laravel",
"testing"
],
"time": "2018-03-13T18:07:36+00:00"
"time": "2018-09-26T13:42:46+00:00"
},
{
"name": "maximebf/debugbar",
......@@ -4703,22 +4646,22 @@
},
{
"name": "phar-io/manifest",
"version": "1.0.1",
"version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
"reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0"
"reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0",
"reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0",
"url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
"reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-phar": "*",
"phar-io/version": "^1.0.1",
"phar-io/version": "^2.0",
"php": "^5.6 || ^7.0"
},
"type": "library",
......@@ -4754,20 +4697,20 @@
}
],
"description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
"time": "2017-03-05T18:14:27+00:00"
"time": "2018-07-08T19:23:20+00:00"
},
{
"name": "phar-io/version",
"version": "1.0.1",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/phar-io/version.git",
"reference": "a70c0ced4be299a63d32fa96d9281d03e94041df"
"reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df",
"reference": "a70c0ced4be299a63d32fa96d9281d03e94041df",
"url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
"reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
"shasum": ""
},
"require": {
......@@ -4801,7 +4744,7 @@
}
],
"description": "Library for handling version information and constraints",
"time": "2017-03-05T17:38:23+00:00"
"time": "2018-07-08T19:19:57+00:00"
},
{
"name": "phpdocumentor/reflection-common",
......@@ -4957,16 +4900,16 @@
},
{
"name": "phpspec/prophecy",
"version": "1.7.6",
"version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712"
"reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
"reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
"reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
"shasum": ""
},
"require": {
......@@ -4978,12 +4921,12 @@
},
"require-dev": {
"phpspec/phpspec": "^2.5|^3.2",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.7.x-dev"
"dev-master": "1.8.x-dev"
}
},
"autoload": {
......@@ -5016,20 +4959,20 @@
"spy",
"stub"
],
"time": "2018-04-18T13:57:24+00:00"
"time": "2018-08-05T17:53:17+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "6.0.7",
"version": "6.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "865662550c384bc1db7e51d29aeda1c2c161d69a"
"reference": "848f78b3309780fef7ec8c4666b7ab4e6b09b22f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/865662550c384bc1db7e51d29aeda1c2c161d69a",
"reference": "865662550c384bc1db7e51d29aeda1c2c161d69a",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/848f78b3309780fef7ec8c4666b7ab4e6b09b22f",
"reference": "848f78b3309780fef7ec8c4666b7ab4e6b09b22f",
"shasum": ""
},
"require": {
......@@ -5079,25 +5022,28 @@
"testing",
"xunit"
],
"time": "2018-06-01T07:51:50+00:00"
"time": "2018-10-04T03:41:23+00:00"
},
{
"name": "phpunit/php-file-iterator",
"version": "2.0.1",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c"
"reference": "050bedf145a257b1ff02746c31894800e5122946"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cecbc684605bb0cc288828eb5d65d93d5c676d3c",
"reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
"reference": "050bedf145a257b1ff02746c31894800e5122946",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"require-dev": {
"phpunit/phpunit": "^7.1"
},
"type": "library",
"extra": {
"branch-alias": {
......@@ -5126,7 +5072,7 @@
"filesystem",
"iterator"
],
"time": "2018-06-11T11:44:00+00:00"
"time": "2018-09-13T20:33:42+00:00"
},
{
"name": "phpunit/php-text-template",
......@@ -5269,16 +5215,16 @@
},
{
"name": "phpunit/phpunit",
"version": "7.2.6",
"version": "7.3.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "400a3836ee549ae6f665323ac3f21e27eac7155f"
"reference": "7b331efabbb628c518c408fdfcaf571156775de2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/400a3836ee549ae6f665323ac3f21e27eac7155f",
"reference": "400a3836ee549ae6f665323ac3f21e27eac7155f",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7b331efabbb628c518c408fdfcaf571156775de2",
"reference": "7b331efabbb628c518c408fdfcaf571156775de2",
"shasum": ""
},
"require": {
......@@ -5289,8 +5235,8 @@
"ext-mbstring": "*",
"ext-xml": "*",
"myclabs/deep-copy": "^1.7",
"phar-io/manifest": "^1.0.1",
"phar-io/version": "^1.0",
"phar-io/manifest": "^1.0.2",
"phar-io/version": "^2.0",
"php": "^7.1",
"phpspec/prophecy": "^1.7",
"phpunit/php-code-coverage": "^6.0.7",
......@@ -5323,7 +5269,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "7.2-dev"
"dev-master": "7.3-dev"
}
},
"autoload": {
......@@ -5349,7 +5295,7 @@
"testing",
"xunit"
],
"time": "2018-06-21T13:13:39+00:00"
"time": "2018-09-08T15:14:29+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
......@@ -5398,16 +5344,16 @@
},
{
"name": "sebastian/comparator",
"version": "3.0.1",
"version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "591a30922f54656695e59b1f39501aec513403da"
"reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/591a30922f54656695e59b1f39501aec513403da",
"reference": "591a30922f54656695e59b1f39501aec513403da",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
"reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
"shasum": ""
},
"require": {
......@@ -5458,7 +5404,7 @@
"compare",
"equality"
],
"time": "2018-06-14T15:05:28+00:00"
"time": "2018-07-12T15:12:46+00:00"
},
{
"name": "sebastian/diff",
......@@ -5916,16 +5862,16 @@
},
{
"name": "symfony/dom-crawler",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
"reference": "3350cacf151b48d903114ab8f7a4ccb23e07e10a"
"reference": "80e60271bb288de2a2259662cff125cff4f93f95"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/3350cacf151b48d903114ab8f7a4ccb23e07e10a",
"reference": "3350cacf151b48d903114ab8f7a4ccb23e07e10a",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/80e60271bb288de2a2259662cff125cff4f93f95",
"reference": "80e60271bb288de2a2259662cff125cff4f93f95",
"shasum": ""
},
"require": {
......@@ -5969,20 +5915,20 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
"time": "2018-05-01T23:02:13+00:00"
"time": "2018-10-02T12:40:59+00:00"
},
{
"name": "symfony/yaml",
"version": "v4.1.1",
"version": "v4.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "80e4bfa9685fc4a09acc4a857ec16974a9cd944e"
"reference": "367e689b2fdc19965be435337b50bc8adf2746c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/80e4bfa9685fc4a09acc4a857ec16974a9cd944e",
"reference": "80e4bfa9685fc4a09acc4a857ec16974a9cd944e",
"url": "https://api.github.com/repos/symfony/yaml/zipball/367e689b2fdc19965be435337b50bc8adf2746c9",
"reference": "367e689b2fdc19965be435337b50bc8adf2746c9",
"shasum": ""
},
"require": {
......@@ -6028,7 +5974,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-10-02T16:36:10+00:00"
},
{
"name": "theseer/tokenizer",
......
......@@ -104,7 +104,7 @@ return [
/*
* Whether or not the user has to confirm their email when signing up
*/
'confirm_email' => false,
'confirm_email' => true,
/*
* Whether or not the users email can be changed on the edit profile screen
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -11,13 +11,13 @@
},
"devDependencies": {
"axios": "^0.18",
"bootstrap-sass": "^3.3.7",
"bootstrap-sass": "3.3.7",
"cross-env": "^5.1",
"font-awesome": "^4.7.0",
"jquery": "^3.1.1",
"laravel-mix": "^2.0",
"laravel-mix": "^2.1.14",
"lodash": "^4.17.4",
"vue": "^2.5.7",
"vue": "^2.5.17",
"webpack-rtl-plugin": "^1.5.0"
},
"dependencies": {
......
# humanstxt.org/
# The humans responsible & technology colophon
# TEAM
<name> -- <role> -- <twitter>
# THANKS
<name>
# TECHNOLOGY COLOPHON
CSS3, HTML5
Apache Server Configs, jQuery, Modernizr, Normalize.css
......@@ -491,7 +491,7 @@ var Backend = {}; // common variable used in all the files of the backend
this.selectors.menuItemContainer.nestable({
callback: function (l, e) {
this.selectors.menuItemsData.val(JSON.stringify($(l).nestable('serialise')));
context.selectors.menuItemsData.val(JSON.stringify($(l).nestable('serialise')));
},
json: this.selectors.menuItemsData.val(),
includeContent: true,
......
<template>
<div :class="typeClass" v-show="show">
<div :class="typeClass" v-show="show" v-html="body">
{{ body }}
</div>
</template>
......
......@@ -188,7 +188,7 @@ return [
'blogs' => [
'title' => 'Blog Title',
'category' => 'Blog Category',
'publish' => 'Publich Date & Time',
'publish' => 'Publish Date & Time',
'image' => 'Featured Image',
'content' => 'Content',
'tags' => 'Tags',
......
......@@ -38,6 +38,11 @@
<script>
window.Laravel = {!! json_encode([ 'csrfToken' => csrf_token() ]) !!};
</script>
<?php
if(!empty($google_analytics)){
echo $google_analytics;
}
?>
</head>
<body class="skin-{{ config('backend.theme') }} {{ config('backend.layout') }}">
<div class="loading" style="display:none"></div>
......
@extends('emails.layouts.app')
@section('content')
<div class="content">
<td align="left">
<table border="0" width="80%" align="center" cellpadding="0" cellspacing="0" class="container590">
<tr>
<td align="left" style="color: #888888; width:20px; font-size: 16px; line-height: 24px;">
<!-- section text ======-->
<p style="line-height: 24px; margin-bottom:15px;">
Hello!
</p>
<p style="line-height: 24px; margin-bottom:20px;">
Your Password has successfully been changed to : {{ $password }}
</p>
<p style="line-height: 24px; margin-bottom:20px;">
If you did not change your password, try resetting your password using above password.
</p>
<p style="line-height: 24px">
Regards,</br>
@yield('title', app_name())
</p>
<br/>
@include('emails.layouts.footer')
</td>
</tr>
</table>
</td>
</div>
@endsection
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;" />
<meta name="viewport" content="width=600,initial-scale = 2.3,user-scalable=no">
<!--<![if !mso]-->
<link href="https://fonts.googleapis.com/css?family=Fira+Sans|Fira+Sans+Condensed|Raleway" rel="stylesheet">
<!--<![endif]-->
<title>@yield('title', app_name())</title>
<style type="text/css">
body {
width: 100%;
margin: 0;
padding: 0;
mso-margin-top-alt: 0px;
mso-margin-bottom-alt: 0px;
mso-padding-alt: 0px 0px 0px 0px;
-webkit-font-smoothing: antialiased;
background-color: #495867;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23a594c1' fill-opacity='0.4'%3E%3Cpath opacity='.5' d='M96 95h4v1h-4v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4h-9v4h-1v-4H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15v-9H0v-1h15V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h9V0h1v15h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9h4v1h-4v9zm-1 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm9-10v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-10 0v-9h-9v9h9zm-9-10h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9zm10 0h9v-9h-9v9z'/%3E%3Cpath d='M6 5V0H5v5H0v1h5v94h1V6h94V5H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
font-family: 'Fira Sans',Raleway, sans-serif;
}
p,
h1,
h2,
h3,
h4 {
margin-top: 0;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
font-family: 'Fira Sans',Raleway, sans-serif;
}
span.preheader {
display: none;
font-size: 1px;
}
html {
width: 100%;
}
table {
font-size: 14px;
border: 0;
padding:10px;
width: 100%;
}
.lap{
color: #007bff;
text-decoration: none;
background-color: transparent;
}
.container{
margin-top: 25px;
margin-left: 25px;
margin-right: 25px;
}
.main-header {
color: #343434;
font-size: 24px;
font-weight:300;
line-height: 35px;
}
.main-header .brand {
letter-spacing: 5px;
font-size: 28px;
}
.main-header .tagline {
font-size: 16px;
}
.small {
font-size: 10px;
}
.center {
text-align: center;
}
/* ----------- responsivity ----------- */
@media only screen and (max-width: 640px) {
/*------ top header ------ */
.main-header {
font-size: 20px !important;
}
.main-section-header {
font-size: 28px !important;
}
.show {
display: block !important;
}
.hide {
display: none !important;
}
.align-center {
text-align: center !important;
}
.no-bg {
background: none !important;
}
/* ====== divider ====== */
.divider img {
width: 440px !important;
}
/*-------- container --------*/
.container590 {
width: 440px !important;
}
.container580 {
width: 400px !important;
}
.main-button {
width: 220px !important;
}
}
@media only screen and (max-width: 479px) {
/*------ top header ------ */
.main-header {
font-size: 18px !important;
}
.main-section-header {
font-size: 26px !important;
}
/*-------- container --------*/
.container590 {
width: 210px !important;
}
.container590 {
width: 210px !important;
}
.container580 {
width: 260px !important;
}
}
</style>
</head>
<body class="respond" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div class="container">
<table border="0" width="100%" cellpadding="0" cellspacing="0" bgcolor="ffffff" style="width:60%; margin: 0 auto;" class="bg_color">
<tr>
<td align="center">
<table border="0" align="center" width="590" cellpadding="0" cellspacing="0" class="container590">
<tr>
<td align="center">
<table border="0" width="40" align="center" cellpadding="0" cellspacing="0" bgcolor="eeeeee">
<tr>
<td align="center" style=""
class="main-header">
<!-- section text ======-->
<div class="brand">{{ env('APP_SHORT_NAME', 'LAP') }}</div>
<div class="tagline">
{{ app_name() }}
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="20" style="font-size: 20px; line-height: 20px;">&nbsp;</td>
</tr>
<tr>
@yield('content')
</tr>
</table>
</td>
</tr>
<tr>
<td height="40" style="font-size: 40px; line-height: 40px;">&nbsp;</td>
</tr>
</table>
</div>
<!-- end section -->
</body>
</html>
\ No newline at end of file
<p class="small center" style="line-height: 24px; margin-bottom: 20px;">
©2018 <a href="{{ url('/') }}" target="_blank" class="lap">@yield('title', app_name())</a>
All Rights are Reserved.
</p>
\ No newline at end of file
@extends('emails.layouts.app')
@section('content')
<div class="content">
<td align="left">
<table border="0" width="80%" align="center" cellpadding="0" cellspacing="0" class="container590">
<tr>
<td align="left" style="color: #888888; width:20px; font-size: 16px; line-height: 24px;">
<!-- section text ======-->
<p style="line-height: 24px; margin-bottom:15px;">
Hello!
</p>
<p style="line-height: 24px; margin-bottom:20px;">
You are receiving this email because we received a password reset request for your account.
</p>
<table border="0" align="center" width="180" cellpadding="0" cellspacing="0" bgcolor="5caad2" style="margin-bottom:20px; background: #003bd7; border-radius: 5px;">
<tr>
<td height="10" style="font-size: 10px; line-height: 10px;">&nbsp;</td>
</tr>
<tr>
<td align="center" style="color: #ffffff; font-size: 14px; line-height: 22px;letter-spacing: 1px;font-weight: bold;">
<!-- main section button -->
<div style="line-height: 22px;">
<a href="{{ $reset_password_url }}" style="color: #ffffff; text-decoration: none;">Reset Password</a>
</div>
</td>
</tr>
<tr>
<td height="10" style="font-size: 10px; line-height: 10px;">&nbsp;</td>
</tr>
</table>
<p style="line-height: 24px; margin-bottom:20px;">
If you did not request a password reset, no further action is required.
</p>
<p style="line-height: 24px">
Regards,</br>
@yield('title', app_name())
</p>
<br/>
<p class="small" style="line-height: 24px; margin-bottom:20px;">
If you’re having trouble clicking the "Reset Password" button, copy and paste the URL below into your web browser:
</p>
<p class="small" style="line-height: 24px; margin-bottom:20px;">
<a href="{{ $reset_password_url }}" target="_blank" class="lap">
{{ $reset_password_url}}
</a>
</p>
@include('emails.layouts.footer')
</td>
</tr>
</table>
</td>
</div>
@endsection
\ No newline at end of file
{!! $data !!}
\ No newline at end of file
@extends('emails.layouts.app')
@section('content')
<div class="content">
<td align="left">
<table border="0" width="80%" align="center" cellpadding="0" cellspacing="0" class="container590">
<tr>
<td align="left" style="color: #888888; width:20px; font-size: 16px; line-height: 24px;">
<!-- section text ======-->
<p style="line-height: 24px; margin-bottom:15px;">
Hello!
</p>
<p style="line-height: 24px; margin-bottom:20px;">
Click here to confirm your account:
</p>
<table border="0" align="center" width="180" cellpadding="0" cellspacing="0" bgcolor="5caad2" style="margin-bottom:20px; background: #003bd7; border-radius: 5px;">
<tr>
<td height="10" style="font-size: 10px; line-height: 10px;">&nbsp;</td>
</tr>
<tr>
<td align="center" style="color: #ffffff; font-size: 14px; line-height: 22px;letter-spacing: 1px;font-weight: bold;">
<!-- main section button -->
<div style="line-height: 22px;">
<a href="{{ $confirmation_url }}" style="color: #ffffff; text-decoration: none;">Confirm Account</a>
</div>
</td>
</tr>
<tr>
<td height="10" style="font-size: 10px; line-height: 10px;">&nbsp;</td>
</tr>
</table>
<p style="line-height: 24px; margin-bottom:20px;">
Thank you for using our application!
</p>
<p style="line-height: 24px">
Regards,</br>
@yield('title', app_name())
</p>
<br/>
<p class="small" style="line-height: 24px; margin-bottom:20px;">
If you’re having trouble clicking the "Confirm Account" button, copy and paste the URL below into your web browser:
</p>
<p class="small" style="line-height: 24px; margin-bottom:20px;">
<a href="{{ $confirmation_url }}" target="_blank" class="lap">
{{ $confirmation_url}}
</a>
</p>
@include('emails.layouts.footer')
</td>
</tr>
</table>
</td>
</div>
@endsection
\ No newline at end of file
......@@ -89,58 +89,6 @@
$("#edit").removeClass("active");
}
//Getting States of default contry
ajaxCall("{{route('frontend.get.states')}}");
//Getting Cities of select State
$("#state").on("change", function() {
var stateId = $(this).val();
var url = "{{route('frontend.get.cities')}}";
ajaxCall(url, stateId);
});
function ajaxCall(url, data = null)
{
$.ajax({
url: url,
type: "POST",
data: {stateId: data},
success: function(result) {
if(result != null)
{
if(result.status == "city")
{
var userCity = "{{ $logged_in_user->city_id }}";
var options;
$.each(result.data, function(key, value) {
if(key == userCity)
options += "<option value='" + key + "' selected>" + value + "</option>";
else
options += "<option value='" + key + "'>" + value + "</option>";
});
$("#city").html('');
$("#city").append(options);
}
else
{
var userState = "{{ $logged_in_user->state_id }}";
var options;
$.each(result.data, function(key, value) {
if(key == userState)
options += "<option value='" + key + "' selected>" + value + "</option>";
else
options += "<option value='" + key + "'>" + value + "</option>";
});
$("#state").append(options);
$("#state").trigger('change');
}
}
}
});
}
$(".tabs").click(function() {
var tab = $(this).attr("aria-controls");
$.session.set("tab", tab);
......
......@@ -27,45 +27,6 @@
</div>
@endif
<div class="form-group">
{{ Form::label('address', trans('validation.attributes.frontend.register-user.address'), ['class' => 'col-md-4 control-label']) }}
<div class="col-md-6">
{{ Form::input('textarea', 'address', null, ['class' => 'form-control', 'placeholder' => trans('validation.attributes.frontend.register-user.address')]) }}
</div>
</div>
{{-- state --}}
<div class="form-group">
{{ Form::label('state_id', trans('validation.attributes.frontend.register-user.state'), ['class' => 'col-md-4 control-label']) }}
<div class="col-md-6">
{{ Form::select('state_id', [] , null, ['class' => 'form-control select2', 'placeholder' => trans('validation.attributes.frontend.register-user.state'), 'id' => 'state', 'style' => 'width : 539px !important;']) }}
</div><!--col-md-6-->
</div><!--form-group-->
{{-- city --}}
<div class="form-group">
{{ Form::label('city_id', trans('validation.attributes.frontend.register-user.city'), ['class' => 'col-md-4 control-label']) }}
<div class="col-md-6">
{{ Form::select('city_id', [], null, ['class' => 'form-control select2', 'placeholder' => trans('validation.attributes.frontend.register-user.city'), 'id' => 'city', 'style' => 'width : 539px !important;']) }}
</div><!--col-md-6-->
</div><!--form-group-->
{{-- zipcode --}}
<div class="form-group">
{{ Form::label('zip_code', trans('validation.attributes.frontend.register-user.zipcode'), ['class' => 'col-md-4 control-label']) }}
<div class="col-md-6">
{{ Form::input('name', 'zip_code', null, ['class' => 'form-control', 'placeholder' => trans('validation.attributes.frontend.register-user.zipcode')]) }}
</div><!--col-md-6-->
</div><!--form-group-->
{{-- SSN --}}
<div class="form-group">
{{ Form::label('ssn', trans('validation.attributes.frontend.register-user.ssn'), ['class' => 'col-md-4 control-label']) }}
<div class="col-md-6">
{{ Form::input('name', 'ssn', null, ['class' => 'form-control', 'placeholder' => trans('validation.attributes.frontend.register-user.ssn')]) }}
</div><!--col-md-6-->
</div><!--form-group-->
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
{{ Form::submit(trans('labels.general.buttons.update'), ['class' => 'btn btn-primary', 'id' => 'update-profile']) }}
......
......@@ -12,26 +12,6 @@
<th>{{ trans('labels.frontend.user.profile.email') }}</th>
<td>{{ !empty($logged_in_user->email) ? $logged_in_user->email : '' }}</td>
</tr>
<tr>
<th>{{ trans('labels.frontend.user.profile.address') }}</th>
<td>{{ !empty($logged_in_user->address) ? $logged_in_user->address : '' }}</td>
</tr>
<tr>
<th>{{ trans('labels.frontend.user.profile.state') }}</th>
<td>{{ !empty($logged_in_user->state->state) ? $logged_in_user->state->state : '' }}</td>
</tr>
<tr>
<th>{{ trans('labels.frontend.user.profile.city') }}</th>
<td>{{ !empty($logged_in_user->city->city) ? $logged_in_user->city->city : '' }}</td>
</tr>
<tr>
<th>{{ trans('labels.frontend.user.profile.zipcode') }}</th>
<td>{{ !empty($logged_in_user->zip_code) ? $logged_in_user->zip_code : '' }}</td>
</tr>
<tr>
<th>{{ trans('labels.frontend.user.profile.ssn') }}</th>
<td>{{ !empty($logged_in_user->ssn) ? $logged_in_user->ssn : '' }}</td>
</tr>
<tr>
<th>{{ trans('labels.frontend.user.profile.created_at') }}</th>
<td>{{ $logged_in_user->created_at }} ({{ $logged_in_user->created_at->diffForHumans() }})</td>
......
<?php
namespace AttributeNamespace;
/**
* Class AttributeClass.
*/
trait AttributeClass
{
// Make your attributes functions here
// Further, see the documentation : https://laravel.com/docs/5.4/eloquent-mutators#defining-an-accessor
/**
* Action Button Attribute to show in grid
* @return string
*/
public function getActionButtonsAttribute()
{
return '<div class="btn-group action-btn">
'.$this->getEditButtonAttribute("editPermission", "editRoute").'
'.$this->getDeleteButtonAttribute("deletePermission", "deleteRoute").'
</div>';
}
}
<?php
Breadcrumbs::register('admin.dummy_small_plural_model.index', function ($breadcrumbs) {
$breadcrumbs->parent('admin.dashboard');
$breadcrumbs->push(trans('menus.backend.dummy_small_plural_model.management'), route('admin.dummy_small_plural_model.index'));
});
Breadcrumbs::register('admin.dummy_small_plural_model.create', function ($breadcrumbs) {
$breadcrumbs->parent('admin.dummy_small_plural_model.index');
$breadcrumbs->push(trans('menus.backend.dummy_small_plural_model.create'), route('admin.dummy_small_plural_model.create'));
});
Breadcrumbs::register('admin.dummy_small_plural_model.edit', function ($breadcrumbs, $id) {
$breadcrumbs->parent('admin.dummy_small_plural_model.index');
$breadcrumbs->push(trans('menus.backend.dummy_small_plural_model.edit'), route('admin.dummy_small_plural_model.edit', $id));
});
<?php
namespace DummyNamespace;
use DummyModelNamespace;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use DummyRepositoryNamespace;
use DummyManageRequestNamespace;
@Namespaces
/**
* DummyController
*/
class DummyController extends Controller
{
/**
* variable to store the repository object
* @var dummy_repository
*/
protected $repository;
/**
* contructor to initialize repository object
* @param dummy_repository $repository;
*/
public function __construct(dummy_repository $repository)
{
$this->repository = $repository;
}
/**
* Display a listing of the resource.
*
* @param DummyManageRequestNamespace $request
* @return \Illuminate\Http\Response
*/
public function index(DummyManageRequest $request)
{
return view('backend.dummy_small_plural_model.index');
}
@startCreate/**
* Show the form for creating a new resource.
*
* @param DummyCreateRequestNamespace $request
* @return \Illuminate\Http\Response
*/
public function create(DummyCreateRequest $request)
{
return view('backend.dummy_small_plural_model.create');
}
/**
* Store a newly created resource in storage.
*
* @param DummyStoreRequestNamespace $request
* @return \Illuminate\Http\Response
*/
public function store(DummyStoreRequest $request)
{
//Input received from the request
$input = $request->except(['_token']);
//Create the model using repository create method
$this->repository->create($input);
//return with successfull message
return redirect()->route('admin.dummy_small_plural_model.index')->withFlashSuccess(trans('alerts.backend.dummy_small_plural_model.created'));
}
@endCreate@startEdit/**
* Show the form for editing the specified resource.
*
* @param DummyModelNamespace $DummyArgumentName
* @param DummyEditRequestNamespace $request
* @return \Illuminate\Http\Response
*/
public function edit(DummyModel $DummyArgumentName, DummyEditRequest $request)
{
return view('backend.dummy_small_plural_model.edit', compact('DummyArgumentName'));
}
/**
* Update the specified resource in storage.
*
* @param DummyUpdateRequestNamespace $request
* @param DummyModelNamespace $DummyArgumentName
* @return \Illuminate\Http\Response
*/
public function update(DummyUpdateRequest $request, DummyModel $DummyArgumentName)
{
//Input received from the request
$input = $request->except(['_token']);
//Update the model using repository update method
$this->repository->update( $DummyArgumentName, $input );
//return with successfull message
return redirect()->route('admin.dummy_small_plural_model.index')->withFlashSuccess(trans('alerts.backend.dummy_small_plural_model.updated'));
}
@endEdit@startDelete/**
* Remove the specified resource from storage.
*
* @param DummyDeleteRequestNamespace $request
* @param DummyModelNamespace $DummyArgumentName
* @return \Illuminate\Http\Response
*/
public function destroy(DummyModel $DummyArgumentName, DummyDeleteRequest $request)
{
//Calling the delete method on repository
$this->repository->delete($DummyArgumentName);
//returning with successfull message
return redirect()->route('admin.dummy_small_plural_model.index')->withFlashSuccess(trans('alerts.backend.dummy_small_plural_model.deleted'));
}
@endDelete
}
<?php
namespace DummyNamespace;
use App\Models\ModelTrait;
use Illuminate\Database\Eloquent\Model;
use DummyAttribute;
use DummyRelationship;
class DummyModel extends Model
{
use ModelTrait,
AttributeName,
RelationshipName {
// AttributeName::getEditButtonAttribute insteadof ModelTrait;
}
/**
* NOTE : If you want to implement Soft Deletes in this model,
* then follow the steps here : https://laravel.com/docs/5.4/eloquent#soft-deleting
*/
/**
* The database table used by the model.
* @var string
*/
protected $table = 'table_name';
/**
* Mass Assignable fields of model
* @var array
*/
protected $fillable = [
];
/**
* Default values for model fields
* @var array
*/
protected $attributes = [
];
/**
* Dates
* @var array
*/
protected $dates = [
'created_at',
'updated_at'
];
/**
* Guarded fields of model
* @var array
*/
protected $guarded = [
'id'
];
/**
* Constructor of Model
* @param array $attributes
*/
public function __construct(array $attributes = [])
{
parent::__construct($attributes);
}
}
<?php
namespace RelationshipNamespace;
/**
* Class RelationshipClass
*/
trait RelationshipClass
{
/*
* put you model relationships here
* Take below example for reference
*/
/*
public function users() {
//Note that the below will only work if user is represented as user_id in your table
//otherwise you have to provide the column name as a parameter
//see the documentation here : https://laravel.com/docs/5.4/eloquent-relationships
$this->belongsTo(User::class);
}
*/
}
<?php
namespace DummyNamespace;
use DB;
use Carbon\Carbon;
use DummyModelNamespace;
use App\Exceptions\GeneralException;
use App\Repositories\BaseRepository;
use Illuminate\Database\Eloquent\Model;
/**
* Class DummyRepoName.
*/
class DummyRepoName extends BaseRepository
{
/**
* Associated Repository Model.
*/
const MODEL = dummy_model_name::class;
/**
* This method is used by Table Controller
* For getting the table data to show in
* the grid
* @return mixed
*/
public function getForDataTable()
{
return $this->query()
->select([
config('module.model_small_plural.table').'.id',
config('module.model_small_plural.table').'.created_at',
config('module.model_small_plural.table').'.updated_at',
]);
}
@startCreate
/**
* For Creating the respective model in storage
*
* @param array $input
* @throws GeneralException
* @return bool
*/
public function create(array $input)
{
$dummy_small_model_name = self::MODEL;
$dummy_small_model_name = new $dummy_small_model_name();
if ($dummy_small_model_name->save($input)) {
return true;
}
throw new GeneralException(trans('exceptions.backend.dummy_small_plural_model_name.create_error'));
}
@endCreate@startEdit
/**
* For updating the respective Model in storage
*
* @param dummy_model_name $dummy_small_model_name
* @param $input
* @throws GeneralException
* return bool
*/
public function update(dummy_model_name $dummy_small_model_name, array $input)
{
if ($dummy_small_model_name->update($input))
return true;
throw new GeneralException(trans('exceptions.backend.dummy_small_plural_model_name.update_error'));
}
@endEdit@startDelete
/**
* For deleting the respective model from storage
*
* @param dummy_model_name $dummy_small_model_name
* @throws GeneralException
* @return bool
*/
public function delete(dummy_model_name $dummy_small_model_name)
{
if ($dummy_small_model_name->delete()) {
return true;
}
throw new GeneralException(trans('exceptions.backend.dummy_small_plural_model_name.delete_error'));
}@endDelete
}
<?php
namespace DummyNamespace;
use Illuminate\Foundation\Http\FormRequest;
class DummyClass extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return access()->allow('permission');
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
//Put your rules for the request in here
//For Example : 'title' => 'required'
//Further, see the documentation : https://laravel.com/docs/5.4/validation#creating-form-requests
];
}
public function messages()
{
return [
//The Custom messages would go in here
//For Example : 'title.required' => 'You need to fill in the title field.'
//Further, see the documentation : https://laravel.com/docs/5.4/validation#customizing-the-error-messages
];
}
}
<?php
namespace DummyNamespace;
use Carbon\Carbon;
use App\Http\Controllers\Controller;
use Yajra\DataTables\Facades\DataTables;
use DummyRepositoryNamespace;
use DummyManageRequestNamespace;
/**
* Class DummyTableController.
*/
class DummyTableController extends Controller
{
/**
* variable to store the repository object
* @var dummy_repository
*/
protected $dummy_small_repo_name;
/**
* contructor to initialize repository object
* @param dummy_repository $dummy_small_repo_name;
*/
public function __construct(dummy_repository $dummy_small_repo_name)
{
$this->dummy_small_repo_name = $dummy_small_repo_name;
}
/**
* This method return the data of the model
* @param dummy_manage_request_name $request
*
* @return mixed
*/
public function __invoke(dummy_manage_request_name $request)
{
return Datatables::of($this->dummy_small_repo_name->getForDataTable())
->escapeColumns(['id'])
->addColumn('created_at', function ($dummy_small_repo_name) {
return Carbon::parse($dummy_small_repo_name->created_at)->toDateString();
})
->addColumn('actions', function ($dummy_small_repo_name) {
return $dummy_small_repo_name->action_buttons;
})
->make(true);
}
}
@extends ('backend.layouts.app')
@section ('title', trans('labels.backend.dummy_small_plural_model.management') . ' | ' . trans('labels.backend.dummy_small_plural_model.create'))
@section('page-header')
<h1>
{{ trans('labels.backend.dummy_small_plural_model.management') }}
<small>{{ trans('labels.backend.dummy_small_plural_model.create') }}</small>
</h1>
@endsection
@section('content')
{{ Form::open(['route' => 'admin.dummy_small_plural_model.store', 'class' => 'form-horizontal', 'role' => 'form', 'method' => 'post', 'id' => 'create-dummy_small_model']) }}
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('labels.backend.dummy_small_plural_model.create') }}</h3>
<div class="box-tools pull-right">
@include('backend.dummy_small_plural_model.partials.dummy_small_plural_model-header-buttons')
</div><!--box-tools pull-right-->
</div><!--box-header with-border-->
<div class="box-body">
<div class="form-group">
{{-- Including Form blade file --}}
@include("backend.dummy_small_plural_model.form")
<div class="edit-form-btn">
{{ link_to_route('admin.dummy_small_plural_model.index', trans('buttons.general.cancel'), [], ['class' => 'btn btn-danger btn-md']) }}
{{ Form::submit(trans('buttons.general.crud.create'), ['class' => 'btn btn-primary btn-md']) }}
<div class="clearfix"></div>
</div><!--edit-form-btn-->
</div><!-- form-group -->
</div><!--box-body-->
</div><!--box box-success-->
{{ Form::close() }}
@endsection
@extends ('backend.layouts.app')
@section ('title', trans('labels.backend.dummy_small_plural_model.management') . ' | ' . trans('labels.backend.dummy_small_plural_model.edit'))
@section('page-header')
<h1>
{{ trans('labels.backend.dummy_small_plural_model.management') }}
<small>{{ trans('labels.backend.dummy_small_plural_model.edit') }}</small>
</h1>
@endsection
@section('content')
{{ Form::model($dummy_small_model, ['route' => ['admin.dummy_small_plural_model.update', $dummy_small_model], 'class' => 'form-horizontal', 'role' => 'form', 'method' => 'PATCH', 'id' => 'edit-dummy_small_model']) }}
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('labels.backend.dummy_small_plural_model.edit') }}</h3>
<div class="box-tools pull-right">
@include('backend.dummy_small_plural_model.partials.dummy_small_plural_model-header-buttons')
</div><!--box-tools pull-right-->
</div><!--box-header with-border-->
<div class="box-body">
<div class="form-group">
{{-- Including Form blade file --}}
@include("backend.dummy_small_plural_model.form")
<div class="edit-form-btn">
{{ link_to_route('admin.dummy_small_plural_model.index', trans('buttons.general.cancel'), [], ['class' => 'btn btn-danger btn-md']) }}
{{ Form::submit(trans('buttons.general.crud.update'), ['class' => 'btn btn-primary btn-md']) }}
<div class="clearfix"></div>
</div><!--edit-form-btn-->
</div><!--form-group-->
</div><!--box-body-->
</div><!--box box-success -->
{{ Form::close() }}
@endsection
<div class="box-body">
<div class="form-group">
<!-- Create Your Field Label Here -->
<!-- Look Below Example for reference -->
{{-- {{ Form::label('name', trans('labels.backend.blogs.title'), ['class' => 'col-lg-2 control-label required']) }} --}}
<div class="col-lg-10">
<!-- Create Your Input Field Here -->
<!-- Look Below Example for reference -->
{{-- {{ Form::text('name', null, ['class' => 'form-control box-size', 'placeholder' => trans('labels.backend.blogs.title'), 'required' => 'required']) }} --}}
</div><!--col-lg-10-->
</div><!--form-group-->
</div><!--box-body-->
@section("after-scripts")
<script type="text/javascript">
//Put your javascript needs in here.
//Don't forget to put `@`parent exactly after `@`section("after-scripts"),
//if your create or edit blade contains javascript of its own
$( document ).ready( function() {
//Everything in here would execute after the DOM is ready to manipulated.
});
</script>
@endsection
<!--Action Button-->
@if( Active::checkUriPattern( 'admin/dummy_small_plural_model' ) )
<div class="btn-group">
<button type="button" class="btn btn-warning btn-flat dropdown-toggle" data-toggle="dropdown">Export
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li id="copyButton"><a href="#"><i class="fa fa-clone"></i> Copy</a></li>
<li id="csvButton"><a href="#"><i class="fa fa-file-text-o"></i> CSV</a></li>
<li id="excelButton"><a href="#"><i class="fa fa-file-excel-o"></i> Excel</a></li>
<li id="pdfButton"><a href="#"><i class="fa fa-file-pdf-o"></i> PDF</a></li>
<li id="printButton"><a href="#"><i class="fa fa-print"></i> Print</a></li>
</ul>
</div>
@endif
<!--Action Button-->
<div class="btn-group">
<button type="button" class="btn btn-primary btn-flat dropdown-toggle" data-toggle="dropdown">Action
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li>
<a href="{{ route( 'admin.dummy_small_plural_model.index' ) }}">
<i class="fa fa-list-ul"></i> {{ trans( 'menus.backend.dummy_small_plural_model.all' ) }}
</a>
</li>
@create@permission( 'create-dummy_small_model' )
<li>
<a href="{{ route( 'admin.dummy_small_plural_model.create' ) }}">
<i class="fa fa-plus"></i> {{ trans( 'menus.backend.dummy_small_plural_model.create' ) }}
</a>
</li>
@endauth@endCreate
</ul>
</div>
<div class="clearfix"></div>
@extends ('backend.layouts.app')
@section ('title', trans('labels.backend.dummy_small_plural_model.management'))
@section('page-header')
<h1>{{ trans('labels.backend.dummy_small_plural_model.management') }}</h1>
@endsection
@section('content')
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('labels.backend.dummy_small_plural_model.management') }}</h3>
<div class="box-tools pull-right">
@include('backend.dummy_small_plural_model.partials.dummy_small_plural_model-header-buttons')
</div>
</div><!--box-header with-border-->
<div class="box-body">
<div class="table-responsive data-table-wrapper">
<table id="dummy_small_plural_model-table" class="table table-condensed table-hover table-bordered">
<thead>
<tr>
<th>{{ trans('labels.backend.dummy_small_plural_model.table.id') }}</th>
<th>{{ trans('labels.backend.dummy_small_plural_model.table.createdat') }}</th>
<th>{{ trans('labels.general.actions') }}</th>
</tr>
</thead>
<thead class="transparent-bg">
<tr>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
</table>
</div><!--table-responsive-->
</div><!-- /.box-body -->
</div><!--box-->
@endsection
@section('after-scripts')
{{-- For DataTables --}}
{{ Html::script(mix('js/dataTable.js')) }}
<script>
//Below written line is short form of writing $(document).ready(function() { })
$(function() {
var dataTable = $('#dummy_small_plural_model-table').dataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route("admin.dummy_small_plural_model.get") }}',
type: 'post'
},
columns: [
{data: 'id', name: '{{config('module.dummy_small_plural_model.table')}}.id'},
{data: 'created_at', name: '{{config('module.dummy_small_plural_model.table')}}.created_at'},
{data: 'actions', name: 'actions', searchable: false, sortable: false}
],
order: [[0, "asc"]],
searchDelay: 500,
dom: 'lBfrtip',
buttons: {
buttons: [
{ extend: 'copy', className: 'copyButton', exportOptions: {columns: [ 0, 1 ] }},
{ extend: 'csv', className: 'csvButton', exportOptions: {columns: [ 0, 1 ] }},
{ extend: 'excel', className: 'excelButton', exportOptions: {columns: [ 0, 1 ] }},
{ extend: 'pdf', className: 'pdfButton', exportOptions: {columns: [ 0, 1 ] }},
{ extend: 'print', className: 'printButton', exportOptions: {columns: [ 0, 1 ] }}
]
}
});
FinBuilders.DataTableSearch.init(dataTable);
});
</script>
@endsection
<?php
/**
* DummyModuleName
*
*/
Route::group(['namespace' => 'route_namespace', 'prefix' => 'admin', 'as' => 'admin.', 'middleware' => 'admin'], function () {
@startNamespace
Route::group( ['namespace' => 'DummyModel'], function () {
Route::resource('dummy_name', 'DummyController');
//For Datatable
Route::post('dummy_name/get', 'DummyTableController')->name('dummy_name.get');
});
@endNamespace@startWithoutNamespace
Route::resource('dummy_name', 'DummyController');
//For Datatable
Route::post('dummy_name/get', 'DummyTableController')->name('dummy_name.get');
@endWithoutNamespace
});
\ No newline at end of file
<?php
/**
* Routes for : DummyModuleName
*/
Route::group(['namespace' => 'route_namespace', 'prefix' => 'admin', 'as' => 'admin.', 'middleware' => 'admin'], function () {
@startNamespace
Route::group( ['namespace' => 'DummyModel'], function () {
Route::get('dummy_name', 'DummyController@index')->name('dummy_name.index');
@startCreateRoute::get('dummy_name/create', 'DummyController@create')->name('dummy_name.create');
Route::post('dummy_name', 'DummyController@store')->name('dummy_name.store');@endCreate
@startEditRoute::get('dummy_name/{dummy_argument_name}/edit', 'DummyController@edit')->name('dummy_name.edit');
Route::patch('dummy_name/{dummy_argument_name}', 'DummyController@update')->name('dummy_name.update');@endEdit
@startDeleteRoute::delete('dummy_name/{dummy_argument_name}', 'DummyController@destroy')->name('dummy_name.destroy');@endDelete
//For Datatable
Route::post('dummy_name/get', 'DummyTableController')->name('dummy_name.get');
});
@endNamespace@startWithoutNamespace
Route::get('dummy_name', 'DummyController@index')->name('dummy_name.index');
@startCreateRoute::get('dummy_name/create', 'DummyController@create')->name('dummy_name.create');
Route::post('dummy_name', 'DummyController@store')->name('dummy_name.store');@endCreate
@startEditRoute::get('dummy_name/{dummy_argument_name}/edit', 'DummyController@edit')->name('dummy_name.edit');
Route::patch('dummy_name/{dummy_argument_name}', 'DummyController@update')->name('dummy_name.update');@endEdit
@startDeleteRoute::delete('dummy_name/{dummy_argument_name}', 'DummyController@destroy')->name('dummy_name.destroy');@endDelete
//For Datatable
Route::post('dummy_name/get', 'DummyTableController')->name('dummy_name.get');
@endWithoutNamespace
});
\ No newline at end of file
@extends ('backend.layouts.app')
@section ('title', trans('generator::labels.modules.management') . ' | ' . trans('generator::labels.modules.create'))
@section('page-header')
<h1>
{{ trans('generator::labels.modules.management') }}
<small>{{ trans('generator::labels.modules.create') }}</small>
</h1>
@endsection
@section('content')
{{ Form::open(['route' => 'admin.modules.store', 'class' => 'form-horizontal', 'role' => 'form', 'method' => 'post', 'id' => 'create-module', 'files' => true]) }}
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('generator::labels.modules.create') }}</h3>
<div class="box-tools pull-right">
@include('generator::partials.modules-header-buttons')
</div><!--box-tools pull-right-->
</div><!-- /.box-header -->
{{-- Including Form blade file --}}
<div class="box-body">
<div class="form-group">
@include("generator::form")
<div class="edit-form-btn">
{{ link_to_route('admin.modules.index', trans('buttons.general.cancel'), [], ['class' => 'btn btn-danger btn-md']) }}
{{ Form::submit(trans('buttons.general.crud.create'), ['class' => 'btn btn-primary btn-md']) }}
<div class="clearfix"></div>
</div>
</div>
</div><!--box-->
</div>
{{ Form::close() }}
@endsection
@extends ('backend.layouts.app')
@section ('title', trans('generator::labels.modules.management') . ' | ' . trans('generator::labels.modules.edit'))
@section('page-header')
<h1>
{{ trans('generator::labels.modules.management') }}
<small>{{ trans('generator::labels.modules.edit') }}</small>
</h1>
@endsection
@section('content')
{{ Form::model($module, ['route' => ['admin.modules.update', $module], 'class' => 'form-horizontal', 'role' => 'form', 'method' => 'PATCH', 'id' => 'edit-module', 'files' => true]) }}
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('generator::labels.modules.edit') }}</h3>
<div class="box-tools pull-right">
@include('generator::partials.modules-header-buttons')
</div><!--box-tools pull-right-->
</div><!-- /.box-header -->
{{-- Including Form blade file --}}
<div class="box-body">
<div class="form-group">
@include("backend.modules.form")
<div class="edit-form-btn">
{{ link_to_route('admin.modules.index', trans('buttons.general.cancel'), [], ['class' => 'btn btn-danger btn-md']) }}
{{ Form::submit(trans('buttons.general.crud.update'), ['class' => 'btn btn-primary btn-md']) }}
<div class="clearfix"></div>
</div>
</div>
</div><!--box-->
</div>
{{ Form::close() }}
@endsection
\ No newline at end of file
<div class="box-body">
<div class="form-group">
<div class="col-lg-10 col-lg-offset-1">
<div class="alert alert-warning">
Note : You need to have 0777 permission to all folders of the project.
</div>
</div>
</div>
<!-- Module Name -->
<div class="form-group">
{{ Form::label('name', trans('generator::labels.modules.form.name'), ['class' => 'col-lg-2 control-label required']) }}
<div class="col-lg-10">
{{ Form::text('name', null, ['class' => 'form-control box-size', 'placeholder' => 'e.g., Blog', 'required' => 'required']) }}
</div><!--col-lg-10-->
</div>
<!-- Directory -->
<div class="form-group">
{{ Form::label('directory_name', trans('generator::labels.modules.form.directory_name'), ['class' => 'col-lg-2 control-label required']) }}
<div class="col-lg-10">
{{ Form::text('directory_name', null, ['class' => 'form-control box-size', 'placeholder' => 'e.g., Blog', 'required' => true]) }}
</div><!--col-lg-10-->
</div>
<!-- End Directory -->
<!-- Model Name -->
<div class="form-group">
{{ Form::label('model_name', trans('generator::labels.modules.form.model_name'), ['class' => 'col-lg-2 control-label required']) }}
<div class="col-lg-10">
{{ Form::text('model_name', null, ['class' => 'form-control box-size only-text', 'placeholder' => 'e.g., Blog', 'required' => true]) }}
<div class="model-messages"></div>
</div>
</div>
<!-- End Model Name -->
<!-- Table Name -->
<div class="form-group">
{{ Form::label('table_name', trans('generator::labels.modules.form.table_name'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-10">
{{ Form::text('table_name', null, ['class' => 'form-control box-size', 'placeholder' => 'e.g., Blog']) }}
<div class="table-messages"></div>
</div><!--col-lg-10-->
</div>
<!-- End Table Name -->
<!-- Crud Operations Create/Edit/Delete to be added to the field (Read operation is given by default)-->
<div class="form-group">
{{ Form::label('operations', 'CRUD Operations', ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-8">
<label class="control control--checkbox">
<!-- For Create Operation of CRUD -->
{{ Form::checkbox('model_create', '1', false) }}Create
<div class="control__indicator"></div>
</label>
<label class="control control--checkbox">
<!-- For Edit Operation of CRUD -->
{{ Form::checkbox('model_edit', '1', false) }}Edit
<div class="control__indicator"></div>
</label>
<label class="control control--checkbox">
<!-- For Delete Operation of CRUD -->
{{ Form::checkbox('model_delete', '1', false) }}Delete
<div class="control__indicator"></div>
</label>
</div>
</div>
<!-- End Crud Operations -->
<div class="box-header text-center">
<hr width=60%/>
<h3 class="box-title"> Optional </h3>
<hr width=60%/>
</div><!-- /.box-header -->
<!-- Events -->
<div class="events-div">
<div class="form-group event clearfix">
{{ Form::label('event[]', trans('generator::labels.modules.form.event'), ['class' => 'col-lg-2 control-label']) }}
<div class="col-lg-6">
{{ Form::text('event[]', null, ['class' => 'form-control box-size', 'placeholder' => trans('generator::labels.modules.form.event'), 'style' => 'width:100%']) }}
</div><!--col-lg-10-->
<a href="#" class="btn btn-danger btn-md remove-field hidden">Remove Event</a>
<a href="#" class="btn btn-primary btn-md add-field">Add Event</a>
</div><!--form control-->
</div>
<div class="el-messages">
</div>
<!-- End Events -->
<!-- To Show the generated File -->
<div class="box-body">
<!--All Files -->
<div class="form-group">
<label class="col-lg-2 control-label">Files To Be Generated</label>
<div class="col-lg-10">
<textarea class="form-control box-size files" contenteditable="true" rows=15 readonly="">
</textarea>
</div>
</div>
<!-- All Files -->
</div>
<!-- End The File Generated Textbox -->
<!-- Override CheckBox -->
<div class="form-group">
<div class="col-lg-2"></div>
<div class="col-lg-10">
<p><strong>Note : </strong> The Files would be overwritten, if already exists. Please look at files (and their respective paths) carefully before creating.</p>
</div><!--form control-->
</div>
<!-- end Override Checkbox -->
</div>
@section("after-scripts")
{!! Html::script('js/backend/pluralize.js') !!}
<script type="text/javascript">
//When the DOM is ready to be manipulated
$(document).ready(function(){
model_ns = {!! json_encode($model_namespace) !!};
controller_ns = {!! json_encode($controller_namespace) !!};
event_ns = {!! json_encode($event_namespace) !!};
request_ns = {!! json_encode($request_namespace) !!};
repo_ns = {!! json_encode($repo_namespace) !!};
route_path = {!! json_encode($route_path) !!};
view_path = {!! json_encode($view_path) !!};
//If any errors occured
handleAllCheckboxes();
//events and listeners checkbox change event
$("input[name=el]").on('change', function(e){
handleCheckBox($(this), $(".el"));
});
//Add field in event panel
$(document).on('click', ".add-field", function(e){
e.preventDefault();
clone = $(".event").first().clone();
clone.find(".remove-field").removeClass('hidden');
clone.appendTo(".events-div");
});
//remove field in event panel
$(document).on('click', ".remove-field", function(e){
e.preventDefault();
$(this).parent('div').remove();
});
//model name on blur event
$(document).on('blur', "input[name=model_name]", function(e){
getFilesGenerated();
table = pluralize($(this).val());
$("input[name=table_name]").val(table.toLowerCase());
});
//Directory name blur event
$(document).on('blur', "input[name=directory_name]", function(e){
getFilesGenerated();
});
//Model Create Checkbox change event
$(document).on('change', "input[name=model_create]", function(e){
getFilesGenerated();
});
//Model Edit Checkbox change event
$(document).on('change', "input[name=model_edit]", function(e){
getFilesGenerated();
});
//Model Delete Checkbox change event
$(document).on('change', "input[name=model_delete]", function(e){
getFilesGenerated();
});
//table name on blur event
$(document).on('blur', "input[name=table_name]", function(e){
checkTableExists($(this));
});
//Events Change Event
$(document).on('change', "input[name='event[]']", function(e){
getFilesGenerated();
});
});
function checkModelExists(model) {
if(model.val()) {
path = getPath( model_ns, $("input[name=model_namespace]").val(), model.val());
checkPath(path, 'model');
} else {
throwMessages('error', 'Please provide some input.', "model");
}
}
function checkTableExists(table) {
if(table.val()){
$.post( "{{ route('admin.modules.check.table') }}", { 'table' : table.val()} )
.done( function( data ) {
throwMessages(data.type, data.message, "table");
});
} else {
throwMessages('error', "Please provide some input.", "table");
}
}
function checkEventExists(event) {
if(event.val() && $("input[name=event_namespace]").val()) {
path = getPath( event_ns, $("input[name=event_namespace]").val(), event.val());
checkPath(path, 'el');
} else {
throwMessages('error', 'Please provide some input.', "el");
}
}
function getPath(ns, namespace, model) {
if(dir = $("input[name=directory_name]").val()) {
return ns + namespace + "\\" + dir + "\\" + model;
} else {
return ns + namespace + "\\" + model;
}
}
function checkPath(path, element) {
$.post( "{{ route('admin.modules.check.namespace') }}", { 'path' : path} )
.done( function( data ) {
throwMessages(data.type, data.message, element);
});
}
function throwMessages(type, message, element) {
appendMessage = '';
switch(type) {
case 'warning' :
appendMessage = "<span class='"+ element +"-warning'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i>&nbsp; "+ message +"</span>";
break;
case 'error' :
appendMessage = "<span class='"+ element +"-error'><i class='fa fa-exclamation-circle' aria-hidden='true'></i>&nbsp; "+ message +"</span>";
break;
case 'success' :
appendMessage = "<span class='"+ element +"-success'><i class='fa fa-check' aria-hidden='true'></i>&nbsp; "+ message +"</span>";
}
$("."+element+"-messages").html(appendMessage);
}
function getFilesGenerated() {
model = $("input[name=model_name]").val();
if(model) {
separator = "" ;
if(dir = $("input[name=directory_name]").val()) {
model_nspace = model_ns + dir;
controller_nspace = controller_ns + dir;
request_nspace = request_ns + dir;
repo_nspace = repo_ns + dir;
event_nspace = event_ns + dir;
views_path = view_path + pluralize(dir.toLowerCase());
separator = "\\";
}
else {
model_nspace = model_ns;
controller_nspace = controller_ns;
request_nspace = request_ns;
repo_nspace = repo_ns;
event_nspace = event_ns;
views_path = view_path;
}
list_nspace = event_nspace.replace("Events", "Listeners");
directory_separator = "\\";
files = [];
model_plural = pluralize(model);
files.push(model_nspace + separator + model + ".php\n");
files.push(model_nspace + separator + "Traits" + directory_separator + model_plural + "Attribute.php\n");
files.push(model_nspace + separator + "Traits" + directory_separator + model_plural + "Relationship.php\n");
files.push("\n" + controller_nspace + separator +model_plural + "Controller.php\n");
files.push(controller_nspace + separator +model_plural + "TableController.php\n");
create = $("input[name=model_create]").prop('checked');
edit = $("input[name=model_edit]").prop('checked');
del = $("input[name=model_delete]").prop('checked');
files.push("\n");
if(create) {
files.push(request_nspace + separator + "Create" + model_plural + "Request.php\n");
files.push(request_nspace + separator + "Store" + model_plural + "Request.php\n");
}
if(edit) {
files.push(request_nspace + separator + "Edit" + model_plural + "Request.php\n");
files.push(request_nspace + separator + "Update" + model_plural + "Request.php\n");
}
if(del) {
files.push(request_nspace + separator + "Delete" + model_plural + "Request.php\n");
}
files.push("\n" + views_path + separator + "index.blade.php\n");
if(create) {
files.push(views_path + separator + "create.blade.php\n");
}
if(edit) {
files.push(views_path + separator + "edit.blade.php\n");
}
if(create || edit) {
files.push(views_path + separator + "form.blade.php\n");
}
files.push("\n");
files.push(route_path + model + ".php\n");
files.push("\n");
files.push(repo_nspace + separator + model_plural + "Repository.php\n");
files.push("\n");
$(document).find('input[name="event[]"]').each(function(){
if(e = $(this).val()) {
files.push(event_nspace + separator + e + ".php\n");
files.push(list_nspace + separator + e + "Listener.php\n");
}
});
files = files.toString().replace (/,/g, "");
$(".files").val(files);
}
}
//If any errors occured,
//the panels should automatically be opened
//which were opened before
function handleAllCheckboxes() {
handleCheckBox($("input[name=model]"), $(".model"));
handleCheckBox($("input[name=controller]"), $(".controller"));
handleCheckBox($("input[name=table_controller]"), $(".table_controller"));
handleCheckBox($("input[name=table]"), $(".table"));
handleCheckBox($("input[name=route]"), $(".route"));
handleCheckBox($("input[name=views]"), $(".views"));
handleCheckBox($("input[name=el]"), $(".el"));
handleCheckBox($("input[name=repository]"), $(".repository"));
throwMessages('warning', 'The table name can only contain characters and digits and underscores[_].', 'table');
throwMessages('warning', 'The files with the same name would be overwritten.', 'views');
}
//Handle the checkbox event for that element
function handleCheckBox(checkbox, element){
checkboxValue = checkbox.prop('checked');
if($("."+checkbox.attr('name')+"-messages").children().length == 0) {
$("."+checkbox.attr('name')+"-messages").empty();
}
if(checkboxValue) {
element.removeClass('hidden', 3000);
}
else {
element.addClass('hidden', 3000);
}
//calling required field handler functions
switch (checkbox.attr('name')) {
case 'model' : handleModelRequiredFields(checkboxValue);
break;
case 'controller' : handleControllerRequiredFields(checkboxValue);
break;
case 'table' : handleTableRequiredFields(checkboxValue);
break;
case 'route' : handleRouteRequiredFields(checkboxValue);
break;
case 'repository' : handleRepoRequiredFields(checkboxValue);
break;
case 'el' : handleEventRequiredFields(checkboxValue);
break;
}
}
//Events Required fields if that panel is open
function handleEventRequiredFields(check) {
$("input[name=event_namespace]").attr('required', check);
$("input[name='event[]']").attr('required', check);
}
//For changing namespace
// function changeNamespace(val, ns, element) {
// if(!val) {
// val = ns.replace('/\\\\/g', '');
// } else {
// val = ns + "\\" + val + "\\";
// }
// element.text(val);
// }
//For only characters
$( document ).on('keyup', ".only-text", function(e) {
var val = $(this).val();
if (val.match(/[^a-zA-Z]/g)) {
$(this).val(val.replace(/[^a-zA-Z]/g, ''));
}
});
</script>
@endsection
@extends ('backend.layouts.app')
@section ('title', trans('labels.backend.modules.management'))
@section('page-header')
<h1>{{ trans('labels.backend.modules.management') }}</h1>
@endsection
@section('content')
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('labels.backend.modules.management') }}</h3>
<div class="box-tools pull-right">
@include('generator::partials.modules-header-buttons')
</div>
</div><!-- /.box-header -->
<div class="box-body">
<div class="table-responsive data-table-wrapper">
<table id="modules-table" class="table table-condensed table-hover table-bordered">
<thead>
<tr>
<th>{{ trans('labels.backend.modules.table.name') }}</th>
<th>{{ trans('labels.backend.modules.table.view_permission_id') }}</th>
<th>{{ trans('labels.backend.modules.table.url') }}</th>
<th>{{ trans('labels.backend.modules.table.created_by') }}</th>
</tr>
</thead>
<thead class="transparent-bg">
<tr>
<th>
{!! Form::text('name', null, ["class" => "search-input-text form-control", "data-column" => 0, "placeholder" => trans('labels.backend.modules.table.name')]) !!}
<a class="reset-data" href="javascript:void(0)"><i class="fa fa-times"></i></a>
</th>
<th>
{!! Form::text('permission', null, ["class" => "search-input-text form-control", "data-column" => 1, "placeholder" => trans('labels.backend.modules.table.view_permission_id')]) !!}
<a class="reset-data" href="javascript:void(0)"><i class="fa fa-times"></i></a>
</th>
<th>
{!! Form::text('route', null, ["class" => "search-input-text form-control", "data-column" => 2, "placeholder" => trans('labels.backend.modules.table.url')]) !!}
<a class="reset-data" href="javascript:void(0)"><i class="fa fa-times"></i></a>
</th>
<th>
{!! Form::text('created_by', null, ["class" => "search-input-text form-control", "data-column" => 3, "placeholder" => trans('labels.backend.modules.table.created_by')]) !!}
<a class="reset-data" href="javascript:void(0)"><i class="fa fa-times"></i></a>
</th>
</tr>
</thead>
</table>
</div><!--table-responsive-->
</div><!-- /.box-body -->
</div><!--box-->
<!--<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title">{{ trans('history.backend.recent_history') }}</h3>
<div class="box-tools pull-right">
<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
</div><!-- /.box tools -->
</div><!-- /.box-header -->
<div class="box-body">
{{-- {!! history()->renderType('Blog') !!} --}}
</div><!-- /.box-body -->
</div><!--box box-success-->
@endsection
@section('after-scripts')
{{-- For DataTables --}}
{{ Html::script(mix('js/dataTable.js')) }}
<script>
$(function() {
var dataTable = $('#modules-table').dataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route("admin.modules.get") }}',
type: 'post'
},
columns: [
{data: 'name', name: '{{config('module.table')}}.name'},
{data: 'view_permission_id', name: '{{config('module.table')}}.view_permission_id'},
{data: 'url', name: '{{config('module.table')}}.url'},
{data: 'created_by', name: '{{config('access.users_table')}}.first_name'}
],
order: [[0, "asc"]],
searchDelay: 500,
dom: 'lBfrtip',
buttons: {
buttons: [
{ extend: 'copy', className: 'copyButton', exportOptions: {columns: [ 0, 1, 2, 3 ] }},
{ extend: 'csv', className: 'csvButton', exportOptions: {columns: [ 0, 1, 2, 3 ] }},
{ extend: 'excel', className: 'excelButton', exportOptions: {columns: [ 0, 1, 2, 3 ] }},
{ extend: 'pdf', className: 'pdfButton', exportOptions: {columns: [ 0, 1, 2, 3 ] }},
{ extend: 'print', className: 'printButton', exportOptions: {columns: [ 0, 1, 2, 3 ] }}
]
}
});
Backend.DataTableSearch.init(dataTable);
});
</script>
@endsection
<!--Action Button-->
@if(Active::checkUriPattern('admin/modules'))
<div class="btn-group">
<button type="button" class="btn btn-warning btn-flat dropdown-toggle" data-toggle="dropdown">Export
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li id="copyButton"><a href="#"><i class="fa fa-clone"></i> Copy</a></li>
<li id="csvButton"><a href="#"><i class="fa fa-file-text-o"></i> CSV</a></li>
<li id="excelButton"><a href="#"><i class="fa fa-file-excel-o"></i> Excel</a></li>
<li id="pdfButton"><a href="#"><i class="fa fa-file-pdf-o"></i> PDF</a></li>
<li id="printButton"><a href="#"><i class="fa fa-print"></i> Print</a></li>
</ul>
</div>
@endif
<!--Action Button-->
<div class="btn-group">
<button type="button" class="btn btn-primary btn-flat dropdown-toggle" data-toggle="dropdown">Action
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="{{route('admin.modules.index')}}"><i class="fa fa-list-ul"></i> {{trans('menus.backend.modules.all')}}</a></li>
<li><a href="{{route('admin.modules.create')}}"><i class="fa fa-plus"></i> {{trans('menus.backend.modules.create')}}</a></li>
</ul>
</div>
<div class="clearfix"></div>
\ No newline at end of file
......@@ -100,6 +100,17 @@ class ManageBlogsTest extends TestCase
->assertSessionHasErrors('featured_image');
}
/** @test */
public function it_requires_publish_datetime_while_creating()
{
$blog = $this->makeBlog();
unset($blog->publish_datetime);
$this->post(route('admin.blogs.store'), $blog->toArray())
->assertSessionHasErrors('publish_datetime');
}
/** @test */
public function it_requires_categories_while_creating()
{
......@@ -156,6 +167,17 @@ class ManageBlogsTest extends TestCase
->assertSessionHasErrors('content');
}
/** @test */
public function it_requires_publish_datetime_while_updating()
{
$this->withExceptionHandling();
unset($this->blog->publish_datetime);
$this->patch(route('admin.blogs.update', $this->blog), $this->blog->toArray())
->assertSessionHasErrors('publish_datetime');
}
/** @test */
public function it_requires_categories_while_updating()
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment