diff --git a/.env.prod b/.env.prod new file mode 100644 index 00000000..4b60c95c --- /dev/null +++ b/.env.prod @@ -0,0 +1,80 @@ +APP_NAME=IZYIM +APP_ENV=production +APP_KEY=base64:Fu2YulXExzm9HJ5LgVmZUmcbRkchHkc82q02MorN5GQ= +APP_DEBUG=true +APP_URL=http://localhost + +LOG_CHANNEL=stack + +DB_CONNECTION=mysql +DB_HOST=mysql +DB_PORT=3306 +DB_DATABASE=default +DB_USERNAME=default +DB_PASSWORD=secret + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +SESSION_DRIVER=file +SESSION_LIFETIME=120 +QUEUE_DRIVER=sync + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" +APP_NAME=exchange +APP_ENV=local +APP_KEY=base64:Fu2YulXExzm9HJ5LgVmZUmcbRkchHkc82q02MorN5GQ= +APP_DEBUG=true +APP_URL=http://localhost + +LOG_CHANNEL=stack + +DB_CONNECTION=mysql +DB_HOST=mysql +DB_PORT=3306 +DB_DATABASE=default +DB_USERNAME=default +DB_PASSWORD=secret + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +SESSION_DRIVER=file +SESSION_LIFETIME=120 +QUEUE_DRIVER=sync + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" + +JWT_SECRET=FwYZ3SPFgjpEDqAwcaSIV6eEmQiMtGWt \ No newline at end of file diff --git a/.env.testing b/.env.testing new file mode 100644 index 00000000..6d5009b2 --- /dev/null +++ b/.env.testing @@ -0,0 +1,18 @@ +APP_ENV=phpunit +APP_DEBUG=true +APP_KEY=w7VQXeA7U31DCdh1U39lpRz0iD7i0oCI +APP_URL=http://localhost + +DB_CONNECTION=mysql +DB_HOST=mysql +DB_PORT=3306 +DB_DATABASE=default +DB_USERNAME=default +DB_PASSWORD=secret + +CACHE_DRIVER=array +SESSION_DRIVER=array +QUEUE_DRIVER=sync +MAIL_DRIVER=log + +JWT_SECRET=FwYx3SPFxjpEDxAwcaSIV6eExQiMtGWx \ No newline at end of file diff --git a/.gitignore b/.gitignore index edb24e42..f039c007 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ /public/storage /public/js /public/css -public/mix-manifest.json +/public/mix-manifest.json /storage/*.key /vendor/** /.idea @@ -19,4 +19,5 @@ yarn-error.log .env.prod vendor/composer/autoload_static.php vendor/composer/autoload_classmap.php -package-lock.json \ No newline at end of file +package-lock.json +composer.lock \ No newline at end of file diff --git a/.gitlab-ci.sh b/.gitlab-ci.sh new file mode 100644 index 00000000..d907b6d8 --- /dev/null +++ b/.gitlab-ci.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Install dependencies only for Docker. +[[ ! -e /.dockerenv ]] && exit 0 +set -xe + +# Update packages and install composer and PHP dependencies. +apt-get update -yqq +apt-get install git libgd-dev libcurl4-gnutls-dev libicu-dev libmcrypt-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libpq-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev -yqq + +# Compile PHP, include these extensions. +docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ +docker-php-ext-install mbstring pdo_mysql curl json intl gd xml zip bz2 opcache + +# Install Composer and project dependencies. +curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer +composer install + +# Copy over testing configuration. +cp .env.testing .env + +# Install xdebug +#pecl install xdebug && docker-php-ext-enable xdebug + +# Generate an application key. Re-cache. +php artisan key:generate +php artisan jwt:secret +php artisan config:cache +php artisan config:clear +# php artisan optimize // remove after laravel 5.6 + +# Run database migrations with seeder +php artisan migrate:refresh --seed + + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..df02450b --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,34 @@ +before_script: + - bash .gitlab-ci.sh + +stages: + - testing + - staging + +variables: + MYSQL_DATABASE: default + MYSQL_USER: default + MYSQL_PASSWORD: secret + MYSQL_ROOT_PASSWORD: root + +unitTesting: + stage: testing + image: php:7.2.6 + services: + - mysql:5.7 + script: + - vendor/bin/phpunit --coverage-text --colors=never + +staging: + stage: staging + before_script: + - mkdir -p ~/.ssh + - echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa + - chmod 400 ~/.ssh/id_rsa + - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' + script: + - ssh izyim@40.76.84.105 "cd exchange && git pull origin master && sudo docker-compose -f docker-prod.yml up -d" + environment: + name: staging + url: https://exchange-staging.izyim.com/ + when: manual diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d5c4091..6544d4d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,21 +1,38 @@ # Changelog +## 1.0.2-alpha - 2018-08-13 +- Added completed booking tab feature +- Removed login remember me checkbox +- Updated blue report with bank name and bank branch +- Fixed marking bug on mobile version +- Fixed step 2 bug -## 4.1.0 - 2018-03-14 +## 1.0.1-alpha - 2018-08-09 +- Fixed X2 milestone, now completed at step 5 +- Fixed X2 no billing charge +- Fixed forgot password bug +- Updated customer registration marking with auto capital feature +- Updated admin marking setting with auto capital feature +- Added green report info for every page after supplier booking page + +## 1.0.0-alpha - 2018-08-02 +- Release 1.0.0 + +## 4.1.0-dev - 2018-03-14 - Upgrade to Laravel 5.6 - Update npm dependencies - Enabled Mix [esModule](https://github.com/JeffreyWay/laravel-mix/pull/1526#issuecomment-373044182) by default - Lint with eslint-plugin-vue and eslint-config-standard -## 4.0.0 - 2018-01-23 +## 4.0.0-dev - 2018-01-23 - Brought back the `layout` property in pages that was removed in 3.0. By default it's set to `default` (`~/layouts/default.vue`). -## 3.0.1 - 2018-01-22 +## 3.0.1-dev - 2018-01-22 - Removed middleware from routes, since they don't work when you press the back button. Now you have to use the `middleware` property in pages. -## 3.0.0 - 2018-01-22 +## 3.0.0-dev - 2018-01-22 - Removed `layout` property from pages in favor of explicit layout components - Improved middleware system, you can either define it on a route or directly on a component @@ -23,23 +40,23 @@ - Change jwt token ttl to one day - Fixed hot module replacement -## 2.2.1 - 2018-01-19 +## 2.2.1-dev - 2018-01-19 - Upgrade to Bootstrap 4 -## 2.2.0 - 2018-01-16 +## 2.2.0-dev - 2018-01-16 - Added dynamic import for pages - Added locale with dynamic import - Import shakable fontawesome module -## 2.1.0 - 2018-01-10 +## 2.1.0-dev - 2018-01-10 - Simplifyd password reset - Upgrade to Bootstrap 4 beta3 - Added oauth with popup window -## 2.0.0 - 2017-12-19 +## 2.0.0-dev - 2017-12-19 - Added support for Socialite - Added dropdown to select the locale @@ -52,7 +69,7 @@ - Namespaced store modules - Published project to Packagist -## 1.0.0 - 2017-09-02 +## 1.0.0-dev - 2017-09-02 - Upgrade to Laravel 5.5. - Upgrade to Bootstrap 4 beta1. diff --git a/Dockerfile b/Dockerfile index edff056f..e5570779 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,11 @@ +# Build frontend assets +# FROM node as frontend +# WORKDIR /app +# ADD . /app +# RUN npm install +# RUN npm run production + +# Build backend FROM php:7.1.3 RUN apt-get update -y && apt-get install -y openssl zip unzip git zlib1g-dev netcat mysql-client libgd-dev libfreetype6-dev libjpeg62-turbo-dev libpng12-dev RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer @@ -7,11 +15,13 @@ WORKDIR /app ADD . /app RUN chown -R www-data:www-data /app RUN chmod 755 /app/storage +RUN chmod 777 -R /app/bootstrap/cache RUN composer install RUN php artisan clear-compiled COPY wait.sh /usr/local/bin/wait.sh RUN chmod +x /usr/local/bin/wait.sh -CMD /usr/local/bin/wait.sh && composer update --no-scripts && composer dumpautoload && php artisan storage:link && php artisan migrate && php artisan serve --host=0.0.0.0 --port=8000 + +CMD /usr/local/bin/wait.sh && composer update --no-scripts && composer dumpautoload && php artisan migrate && php artisan serve --host=0.0.0.0 --port=8000 EXPOSE 8000 diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index 40375d30..7cf81310 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -26,9 +26,16 @@ class ForgotPasswordController extends Controller * @param string $response * @return \Illuminate\Http\RedirectResponse */ - protected function sendResetLinkEmail($response) + protected function sendResetLink(Request $request) { - return ['status' => trans($response)]; + if($request->input('email')) { + $this->sendResetLinkEmail($request); + } + + return response()->json([ + 'error' => false, + 'status' => 'We have sent reset password link to '. $request->input('email') + ]); } /** diff --git a/app/Http/Controllers/Auth/OAuthController.php b/app/Http/Controllers/Auth/OAuthController.php index 1064c9f5..b5d2c8c6 100644 --- a/app/Http/Controllers/Auth/OAuthController.php +++ b/app/Http/Controllers/Auth/OAuthController.php @@ -8,6 +8,8 @@ use App\Http\Controllers\Controller; use App\Exceptions\EmailTakenException; use Laravel\Socialite\Facades\Socialite; use Illuminate\Foundation\Auth\AuthenticatesUsers; +use Tymon\JWTAuth\Facades\JWTAuth; +use Tymon\JWTAuth\Exceptions\JWTException; class OAuthController extends Controller { diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index e86685b1..ac102fc2 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -46,7 +46,6 @@ class RegisterController extends Controller protected function validator(array $data) { return Validator::make($data, [ - 'name' => 'required|name|max:255', 'marking' => 'required|max:255|unique:markings', 'email' => 'required|email|max:255|unique:users', 'password' => 'required|min:6|confirmed', @@ -61,12 +60,17 @@ class RegisterController extends Controller */ protected function create(Request $data) { + $this->validate($data, [ + 'email' => 'required|email|max:255|unique:users', + 'password' => 'required|min:6|confirmed', + ]); + $marking = Marking::Where('email',$data['email'])->first(); if(!$marking){ return response()->json(["message"=>"Marking does not exist, please contact sales team to get one"], 400); } - if($marking->marking != $data['marking']){ + if($marking->marking != strtoupper($data['marking'])){ return response()->json(["message"=>"Incorrect marking"], 400); } @@ -78,7 +82,7 @@ class RegisterController extends Controller $user = new User(); $user->name = $data['name']; $user->email = $data['email']; - $user->marking = $marking->marking; + $user->marking = $marking->marking; $user->password = bcrypt($data['password']); $user->save(); diff --git a/app/Http/Controllers/BookingController.php b/app/Http/Controllers/BookingController.php index 05ce2205..c02a4d8b 100644 --- a/app/Http/Controllers/BookingController.php +++ b/app/Http/Controllers/BookingController.php @@ -13,6 +13,7 @@ use App\Invoice; use App\SettingCredit; use App\SettingTaxRate; use App\SettingBillingCharge; +use App\Notification; use Auth; use Validator; use DateTime; @@ -23,7 +24,8 @@ class BookingController extends Controller public function index(){ $user = Auth::user(); $bookings = Booking::select('user_id', 'id', 'created_at', 'status', 'rate', 'term', 'amount', 'bia', 'verification_status') - ->where('user_id', $user->id) + ->where('user_id', Auth::user()->id) + ->where('status', '<', '7') ->orderby('updated_at','desc') ->paginate(10); @@ -70,17 +72,86 @@ class BookingController extends Controller default: $status_desc = ""; } + $booking->status_desc = $status_desc; $booking->marking = $booking->user->marking; } return $bookings; } + + public function userComplete(){ + $user = Auth::user(); + $bookings = Booking::select('user_id', 'id', 'created_at', 'status', 'rate', 'term', 'amount', 'bia', 'verification_status') + ->where('user_id', Auth::user()->id) + ->where('status', '=', '7') + ->orderby('updated_at','desc') + ->paginate(10); + + // reformat to fit frontend structure + foreach ($bookings as $booking) { + // set timeout + $date1 = new DateTime($booking->created_at); + $date2 = new DateTime(); + $time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit; + $difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U')); + $booking->timeout = $difference_in_seconds; + + // TODO : you can make it better + if($difference_in_seconds < 0 ){ + $booking->timeout = 0; + } + + // TODO : transfer_amount change name to bia + $booking->transfer_amount = $booking->bia; + + $booking->track_status = "(". $booking->status ."/7)"; + + // all x2 until step 5 only + if ($booking->term == "x2_cash" || $booking->term == "x2_cheque" || $booking->term == "x2_ba") { + $booking->track_status = "(". $booking->status ."/5)"; + } + + switch ($booking->status) { + case 1: + $status_desc = "Order in progress"; + break; + case 2: + $status_desc = "Waiting for payment"; + break; + case 3: + $status_desc = "Waiting verification"; + break; + case 4: + $status_desc = "Processing transfer"; + break; + case 5: + $status_desc = "Transfer Complete, please upload your PO"; + if ($booking->term == "x2_cash" || $booking->term == "x2_cheque" || $booking->term == "x2_ba"){ + $status_desc = "Order Completed"; + } + break; + case 6: + $status_desc = "Processing invoice"; + break; + case 7: + $status_desc = "Order Completed"; + break; + default: + $status_desc = ""; + } + $booking->status_desc = $status_desc; + $booking->marking = $booking->user->marking; + } + + return $bookings; + } public function adminIndex(){ $user = Auth::user(); $bookings = Booking::select('user_id', 'id', 'created_at', 'admin_status', 'rate', 'term', 'amount', 'bia', 'verification_status') + ->where('status', '<', '7') ->orderby('updated_at','desc') - ->get(); + ->paginate(10); // reformat to fit frontend structure foreach ($bookings as $booking) { @@ -100,9 +171,8 @@ class BookingController extends Controller $booking->transfer_amount = $booking->bia; $term = $booking->term; - if($term == "x1_ba" || $term == "x2_cheque"){ - $status = $booking->admin_status > 2 ? $booking->admin_status - 2 : $booking->admin_status; - $booking->track_status = "(". $status ."/5)"; + if ($booking->term == "x2_cash" || $booking->term == "x2_cheque" || $booking->term == "x2_ba"){ + $booking->track_status = "(". $booking->admin_status ."/6)"; } else{ $booking->track_status = "(". $booking->admin_status ."/7)"; @@ -116,20 +186,19 @@ class BookingController extends Controller $status_desc = "Verify user bank slip"; break; case 3: - if($term !== "x1_ba" || $term !== "x2_cheque"){ - $status_desc = "Generate supplier booking report"; - break; - } + $status_desc = "Generate supplier booking report"; + break; case 4: - if($term !== "x1_ba" || $term !== "x2_cheque"){ - $status_desc = "Supplier booking report. Please confirm with your booking."; - break; - } + $status_desc = "Supplier booking report. Please confirm with your booking."; + break; case 5: $status_desc = "Please, upload China Bankslip"; break; - case 6: - $status_desc = "Waiting customer to upload purchase order"; + case 6: + $status_desc = "Waiting customer to upload purchase order"; + if ($booking->term == "x2_cash" || $booking->term == "x2_cheque" || $booking->term == "x2_ba"){ + $status_desc = "Order Completed"; + } break; case 7: $status_desc = "Customer has uploaded purchase order, please upload invoice"; @@ -146,19 +215,76 @@ class BookingController extends Controller return $bookings; } + public function adminBookComplete(){ + $user = Auth::user(); + $bookings = Booking::select('user_id', 'id', 'created_at', 'status', 'rate', 'term', 'amount', 'bia', 'verification_status') + ->where('admin_status', '=', '7') + ->orderby('updated_at','desc') + ->paginate(10); + + // reformat to fit frontend structure + foreach ($bookings as $booking) { + // set timeout + $date1 = new DateTime($booking->created_at); + $date2 = new DateTime(); + $time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit; + $difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U')); + $booking->timeout = $difference_in_seconds; + + // TODO : you can make it better + if($difference_in_seconds < 0 ){ + $booking->timeout = 0; + } + + // TODO : transfer_amount change name to bia + $booking->transfer_amount = $booking->bia; + + $booking->track_status = "(". $booking->status ."/7)"; + switch ($booking->status) { + case 1: + $status_desc = "Order in progress"; + break; + case 2: + $status_desc = "Waiting for payment"; + break; + case 3: + $status_desc = "Waiting verification"; + break; + case 4: + $status_desc = "Processing transfer"; + break; + case 5: + $status_desc = "Transfer Complete, please upload your PO"; + break; + case 6: + $status_desc = "Processing invoice"; + break; + case 7: + $status_desc = "Order Completed"; + break; + default: + $status_desc = ""; + } + $booking->status_desc = $status_desc; + $booking->marking = $booking->user->marking; + } + + return $bookings; + } public function show($id) { $booking = Booking::where('user_id',Auth::user()->id)->where('id', $id)->first(); - - $user_bankslip = $booking->userBankSlip()->first(); - $china_bankslip = $booking->chinaBankSlip()->get(); - $po = $booking->purchaseOrder()->first(); - $invoice = $booking->invoice()->first(); + if($booking){ $date1 = new DateTime($booking->created_at); + $user_bankslip = $booking->userBankSlip()->first(); + $china_bankslip = $booking->chinaBankSlip()->get(); + $po = $booking->purchaseOrder()->first(); + $invoice = $booking->invoice()->first(); + if ($user_bankslip){ $booking->user_bankslip_path = Storage::url($user_bankslip->bankslip_path); $booking->reject_reason = $user_bankslip->reject_reason; @@ -193,7 +319,10 @@ class BookingController extends Controller } return $booking; - } + } + else{ + return response()->json(['success'=>false, 'message'=>'Booking not found'], 404); + } } public function adminShow($id) @@ -248,7 +377,9 @@ class BookingController extends Controller $term = $request->input('term'); $amount = $request->input("amount"); // in RMB $rates = Rate::orderby('updated_at','desc')->first(); - $creditLimit = SettingCredit::orderby('updated_at','desc')->first(); + $creditLimit = SettingCredit::orderby('updated_at','desc')->first(); + $taxrate = SettingTaxRate::latest()->first()->tax_rate; + $billingChargeRate = SettingBillingCharge::latest()->first()->billing_charge_rate; if (!$creditLimit){ return response()->json("Credit limit not set, please contact admin", 405); @@ -289,41 +420,48 @@ class BookingController extends Controller break; } - // Service charge (RMB) : if amount higher than 10,000, no service charge. if amount lower than 10,000, 20.00 service charge - if ($amount >= 10000 && ($term == 'x2_cash' || $term = 'x2_cheque' || $term = 'x2_ba')) { + // Service charge (RMB) : if amount higher than 10,000 or term x2 no service charge. + if ($amount >= 10000 && ($term == 'x2_cash' || $term == 'x2_cheque' || $term == 'x2_ba')) { $svcharge = 0; } else { $svcharge = 20.00; } - - // initial rmb to myr amount - $RMBinMYR = (($amount + $svcharge) / $rate); - - // TODO : Should be remove this ? - // gst 0% - $gst = 0 * $RMBinMYR; - - // Sales tax : 10 % - $sales_tax = 0.10 * $RMBinMYR; - - // Billing fees : 1.5% - $billing = 0.015 * $RMBinMYR; - - // Bank in amount - $bia = round($RMBinMYR + $gst + $sales_tax + $billing, 2); - + + $subtotal = round(($amount + $svcharge) / $rate, 2); + + // TODO : refactor + if ($taxrate !=0){ + $taxAmount = round($subtotal * $taxrate - $subtotal, 2); + } + else{ + $taxAmount = 0; + } + + if ($term == 'x2_cash' || $term == 'x2_cheque' || $term == 'x2_ba'){ + $billingChargeAmount = 0; + } + else{ + // TODO : billing charge rate to percentage so we do not need to minus amount + svcharge + $billingChargeAmount = round((($amount / $rate) * $billingChargeRate) - ($amount / $rate), 2); + } + + + + $bankin_amount = round($subtotal + $taxAmount + $billingChargeAmount , 2); $booking = new Booking(); $booking->account_name = $request->input('account_name'); $booking->account_num = $request->input('account_num'); $booking->bank_name = $request->input('bank_name'); $booking->bank_branch = $request->input('bank_branch'); $booking->amount = $request->input('amount'); + $booking->order_no = $request->input('order_no'); + $booking->payment_for = $request->input('payment_for'); $booking->term = $term; $booking->rate_id = $rates->id; $booking->rate = $rate; - $booking->rmb_book_amount = $request->input('amount'); + $booking->rmb_book_amount = $request->input('amount'); // BIG TODO : amount change variable name to rmb_book_amount $booking->status = 2; - $booking->bia = $bia; + $booking->bia = $bankin_amount; // BID TODO : change bia viariable name // $booking->user_id = $user->id; $booking->user()->associate($user); @@ -350,8 +488,9 @@ class BookingController extends Controller // $booking->usd_book_cnap = $request->input('usd_book_cnap'); // $booking->usd_book_bank_branch = $request->input('usd_book_bank_branch'); // $booking->verification_status = $request->input('verification_status'); + // return response()->json($booking, 201); $booking->save(); - //return response()->json('error', 400); + // return response()->json('error', 400); return response()->json($booking, 201); } @@ -392,7 +531,7 @@ class BookingController extends Controller } $validator = Validator::make($request->all(), [ - 'file' => 'max:3072' + 'file' => 'max:10000' // image size ]); if($validator->fails()) @@ -415,19 +554,26 @@ class BookingController extends Controller 'user_bankslip', $bankslip_file, $unique_image_path ); - $user_bankslip = $booking->userBankSlip()->first(); + if($upload_path){ + $user_bankslip = $booking->userBankSlip()->first(); - // if user bankslip not exist, create new one - if(!$user_bankslip){ - $user_bankslip = new UserBankSlip; + // if user bankslip not exist, create new one + if(!$user_bankslip){ + $user_bankslip = new UserBankSlip; + } + $user_bankslip->booking_id = $booking->id; + $user_bankslip->bankslip_path = $upload_path; + $user_bankslip->transfer_amount = $request->input('transfer_amount'); + $user_bankslip->save(); + + + return response()->json(['message'=>"Success"],200); + } + else{ + return response()->json(['message' => 'File not uploaded. Please contact support'], 400); } - $user_bankslip->booking_id = $booking->id; - $user_bankslip->bankslip_path = $upload_path; - $user_bankslip->transfer_amount = $request->input('transfer_amount'); - $user_bankslip->save(); - return response()->json(['message'=>"Success"],200); } else { return response()->json(['message' => 'No file detected'], 400); @@ -447,9 +593,16 @@ class BookingController extends Controller $booking->admin_status = 2; $booking->save(); + // Add notification message to admin + $adminNotification = new Notification; + $adminNotification->detail = "A bankslip is uploaded for booking " . $booking->id; + $adminNotification->link = "/booking/" . $booking->id . "/verification"; + $adminNotification->user_id = User::withRole('admin')->first()->id; + $adminNotification->save(); + $user_bankslip->transfer_amount = $request->input('transfer_amount'); $user_bankslip->save(); - return response()->json(["message"=> "Success"],200); + return response()->json($adminNotification,200); } public function uploadPurchaseOrder(Request $request, $id) @@ -472,7 +625,7 @@ class BookingController extends Controller } $validator = Validator::make($request->all(), [ - 'file' => 'max:3072' + 'file' => 'max:10000' ]); if($validator->fails()) @@ -545,6 +698,8 @@ class BookingController extends Controller $amount = $request->input('amount'); $term = $request->input('term'); $china_beneficiary = $request->input('china_beneficiary'); + $order_no = $request->input('order_no'); + $payment_for = $request->input('payment_for'); $rates = Rate::orderby('updated_at','desc')->first(); $marking = $user = Auth::user()->marking; $taxrate = SettingTaxRate::latest()->first()->tax_rate; @@ -559,16 +714,15 @@ class BookingController extends Controller if($amount > $creditLimit->rmb_credit_limit){ return response()->json(["message" => "Exceed credit limit, please contact our sales team for larger quantitiy"], 400); } - switch ($term) { case "x1_cash": $rate = $rates->x1_cash; - $payment_method = "cash"; + $payment_method = "CASH"; break; case "x1_cheque": $rate = $rates->x1_cheque; - $payment_method = "Cheque"; + $payment_method = "CHEQUE"; break; case "x1_ba": $rate = $rates->x1_ba; @@ -576,11 +730,11 @@ class BookingController extends Controller break; case "x2_cash": $rate = $rates->x2_cash; - $payment_method = "Cash"; + $payment_method = "CASH"; break; case "x2_cheque": $rate = $rates->x2_cheque; - $payment_method = "Cheque"; + $payment_method = "CHEQUE"; break; case "x2_ba": $rate = $rates->x2_ba; @@ -594,19 +748,36 @@ class BookingController extends Controller break; } - if ($amount >= 10000 && ($term == 'x2_cash' || $term = 'x2_cheque' || $term = 'x2_ba')) { + if ($amount >= 10000 && ($term == 'x2_cash' || $term == 'x2_cheque' || $term == 'x2_ba')) { $svcharge = 0; } else { $svcharge = 20.00; } - $subtotal = round($amount + $svcharge / $rate,2); - $taxAmount = round($subtotal * $taxrate,2); - $billingChargeAmount = round(($amount + $svcharge) * $billingChargeRate, 2); + $subtotal = round(($amount + $svcharge) / $rate,2); + + // TODO : refactor + if ($taxrate !=0){ + $taxAmount = round($subtotal * $taxrate - $subtotal,2); + } + else{ + $taxAmount = 0; + } + + if ($term == 'x2_cash' || $term == 'x2_cheque' || $term == 'x2_ba'){ + $billingChargeAmount = 0; + } + else{ + // TODO : billing charge rate to percentage so we do not need to minus amount + svcharge + $billingChargeAmount = round((($amount / $rate) * $billingChargeRate) - ($amount / $rate), 2); + } + $bankin_amount = round($subtotal + $taxAmount + $billingChargeAmount , 2); return response()->json([ 'date' => date('Y-m-d'), + 'order_no' => $order_no, + 'payment_for' => $payment_for, 'marking' => $marking, 'payment_method' => $payment_method, 'china_beneficary' => $china_beneficiary, @@ -617,6 +788,10 @@ class BookingController extends Controller 'taxAmount' => $taxAmount, 'billingChargeAmount' => $billingChargeAmount, 'bankin_amount' => $bankin_amount, + 'bank_name'=> $request->input('bank_name'), + 'bank_branch'=> $request->input('bank_branch'), + 'acc_name' => $request->input('acc_name'), + 'acc_no' => $request->input('acc_no') ], 200); } @@ -642,16 +817,30 @@ class BookingController extends Controller $userBankSlip->is_approve = 1; $userBankSlip->is_reject = 0; - $userBankSlip->estimated_arrival_time = $request->input('estimated_arrival_time'); $userBankSlip->save(); // update booking status $booking->status = 4; - if($booking->term !== "x1_ba" || $booking->term !== "x2_cheque") + if($booking->term !== "x1_ba" || $booking->term !== "x2_cheque"){ $booking->admin_status = 3; - else + // Add notification message to user + $userNotification = new Notification; + $userNotification->detail = "Your bankslip for booking " . $booking->id . " is approved."; + $userNotification->link = "/booking/" . $booking->id . "/transfer"; + $userNotification->user_id = $booking->user_id; + $userNotification->save(); + } + else{ $booking->admin_status = 5; + // Add notification message to user + $userNotification = new Notification; + $userNotification->detail = "Your bankslip for booking " . $booking->id . " is approved."; + $userNotification->link = "/booking/" . $booking->id . "/supplier"; + $userNotification->user_id = $booking->user_id; + $userNotification->save(); + } $booking->save(); + return response()->json(['message'=>'Success'],200); } @@ -707,7 +896,7 @@ class BookingController extends Controller } $validator = Validator::make($request->all(), [ - 'invoice_path' => 'max:3072' + 'invoice_path' => 'max:10000' ]); if($validator->fails()) @@ -747,6 +936,11 @@ class BookingController extends Controller $booking->admin_status = 5; // upload china bankslip if($booking->save()){ + $userNotification = new Notification; + $userNotification->detail = "Supplier booking report for booking " . $booking->id . " is completed."; + $userNotification->link = "/booking/" . $booking->id . "/transfer"; + $userNotification->user_id = $booking->user_id; + $userNotification->save(); return response()->json(['message'=>"Success"],200); } } @@ -755,16 +949,21 @@ class BookingController extends Controller $booking = Booking::where('user_id',Auth::user()->id)->where('id',$id)->first(); $purchase_order = $booking->purchaseOrder()->first(); - return($purchase_order); if(!$purchase_order){ return response()->json(["message"=> "Please upload your purchase order"],400); } - $booking->status = 6; // wait invoice $booking->admin_status = 6; // upload invoice $booking->save(); - return response()->json(['message'=>'Success'],200); + + $adminNotification = new Notification; + $adminNotification->detail = "Purchase Order for booking " . $booking->id . " is uploaded."; + $adminNotification->link = "/booking/" . $booking->id . "/upload-invoice"; + $adminNotification->user_id = User::withRole('admin')->first()->id; + $adminNotification->save(); + + return response()->json($purchase_order,200); } public function confirmInvoice(Request $request, $id) @@ -781,27 +980,32 @@ class BookingController extends Controller $booking->admin_status = 7; // completed if($booking->save()){ + $adminNotification = new Notification; + $adminNotification->detail = "Invoice for booking " . $booking->id . " is uploaded."; + $adminNotification->link = "/booking/" . $booking->id . "/complete"; + $adminNotification->user_id = $booking->user_id; + $adminNotification->save(); return response()->json(['message'=>"Success"],200); } } - // public function adminShowCompletedOrders() - // { - // $bookings = Booking::select('id','created_at','user_id','rate','amount', 'bia', 'admin_status') - // ->where('admin_status', 7) - // ->orderBy('id', 'desc') - // ->get(); + public function adminShowCompletedOrders() + { + $bookings = Booking::select('id','created_at','user_id','rate','amount', 'bia', 'admin_status') + ->where('admin_status', 7) + ->orderBy('id', 'desc') + ->get(); - // foreach ($bookings as $booking) { - // $booking->id; - // $booking->created_at; - // $booking->marking = $booking->user->marking; - // $booking->rate; - // $booking->amount; - // $booking->bia; - // $booking->admin_status = "(". $booking->admin_status ."/7)";; - // } - // return $bookings; - // } + foreach ($bookings as $booking) { + $booking->id; + $booking->created_at; + $booking->marking = $booking->user->marking; + $booking->rate; + $booking->amount; + $booking->bia; + $booking->admin_status = "(". $booking->admin_status ."/7)";; + } + return $bookings; + } } diff --git a/app/Http/Controllers/BookingSupplierController.php b/app/Http/Controllers/BookingSupplierController.php index 93caaf06..0c7fb17e 100644 --- a/app/Http/Controllers/BookingSupplierController.php +++ b/app/Http/Controllers/BookingSupplierController.php @@ -11,6 +11,8 @@ use App\UserBankSlip; use App\SettingBeneficiary; use App\SupplierBookingItem; use App\SettingSupplier; +use App\SettingTaxRate; +use App\SettingActiveBank; use Illuminate\Http\Request; class BookingSupplierController extends Controller @@ -30,15 +32,68 @@ class BookingSupplierController extends Controller public function show($id) { $booking = Booking::where('id', $id)->first(); + $bankin_amount = round($booking->amount / $booking->rate, 2); if (!$booking){ return response()->json(['message' => 'Booking not found'], 404); } + switch ($booking->term) { + case "x1_cash": + $payment_method = "CASH"; + break; + case "x1_cheque": + + $payment_method = "CHEQUE"; + break; + case "x1_ba": + + $payment_method = "BA"; + break; + case "x2_cash": + + $payment_method = "CASH"; + break; + case "x2_cheque": + $payment_method = "CHEQUE"; + break; + case "x2_ba": + $payment_method = "BA"; + break; + default: + return response()->json([ + 'success' => false, + 'message' => 'Invalid input', + ], 422); + break; + } + + $supplier_booking = $booking->supplierBooking()->first(); $dt = new \DateTime($supplier_booking->created_at); $supplier_booking->date = $dt->format('j F Y'); - + $supplier_booking->marking = $booking->user->marking; + $supplier_booking->payment_for = $booking->payment_for; + $supplier_booking->order_no = $booking->order_no; + $supplier_booking->payment_method = $payment_method; + + $active_bank = SettingActiveBank::first(); + + // if setting is set to use customer's beneficiary + if ($active_bank->beneficiary_id == 0){ + $supplier_booking->acc_name = $booking->account_name; + $supplier_booking->acc_no = $booking->account_num; // TODO : standardize acc_no + $supplier_booking->bank_name = $booking->bank_name; + $supplier_booking->bank_branch = $booking->bank_branch; + } + + else{ + $beneficiary = SettingBeneficiary::find($active_bank->beneficiary_id); + $supplier_booking->acc_name = $beneficiary->company_name; + $supplier_booking->acc_no = $beneficiary->acc_no; + $supplier_booking->bank_name = $beneficiary->bank_name; + $supplier_booking->bank_branch = $beneficiary->bank_branch; + } return response()->json($supplier_booking ,200); } @@ -47,41 +102,58 @@ class BookingSupplierController extends Controller // TODO : Multiple booking public function store(Request $request) { - $transfer_amount = $request->input("transfer_amount"); + //$transfer_amount = $request->input("transfer_amount"); $supplier_id = $request->input("supplier_id"); $booking_id = $request->input("booking_id"); - $rate = $request->input('rate'); + $rate = $request->input('rate'); // costing rate $rebate = $request->input('rebate'); - - // Calculation - $amountInRMB = $transfer_amount * $rate; - $billing = 0.015 * $transfer_amount; - $sales_tax = 0.10 * $transfer_amount; - $gst = 0 * $transfer_amount; // do we still need this ? - $customerBankInAmount = round($transfer_amount + $gst + $sales_tax + $billing,2); - $rmbBankAmount = $customerBankInAmount + $rebate; - - $user = Auth::user(); $supplier = SettingSupplier::find($supplier_id); $booking = Booking::find($booking_id); + + + // Calculation (backup) + // $amountInRMB = $transfer_amount * $rate; + // $billing = 0.015 * $transfer_amount; + // $sales_tax = 0.0 * $transfer_amount; + // $gst = 0 * $transfer_amount; // do we still need this ? + // $customerBankInAmount = round($transfer_amount + $gst + $sales_tax + $billing,2); + // $rmbBankAmount = round($customerBankInAmount + $rebate, 2); + + // Update: changes in 1.1 according to new supplier booking report + $transfer_amount = $booking->amount; + + $amount_in_myr = round($transfer_amount / $rate, 2); + $amountInRMB = $transfer_amount; + $tax_rate = SettingTaxRate::latest()->first()->tax_rate; + $sales_tax = round($tax_rate * $amount_in_myr - $amount_in_myr, 2); + $amount_after_tax = round($amount_in_myr * $tax_rate,2); + //$billing = 0.015 * $transfer_amount; + // + //$gst = 0 * $transfer_amount; // do we still need this ? + //$customerBankInAmount = round($transfer_amount + $gst + $sales_tax + $billing,2); + //$rmbBankAmount = round($customerBankInAmount + $rebate, 2); + // update existing booking supplier if exist $bookingsupplier = SupplierBooking::where('booking_id', $booking_id)->first(); if (!$bookingsupplier){ $bookingsupplier = new SupplierBooking(); - } $bookingsupplier->supplier_id = $supplier->id; - $bookingsupplier->payment_method = $request->input('payment_method'); - $bookingsupplier->transfer_amount = $transfer_amount; + $bookingsupplier->amountInRMB = $amountInRMB; // TODO : rename to underscore + $bookingsupplier->amount_in_myr = $amount_in_myr; + $bookingsupplier->tax_rate = $tax_rate; + $bookingsupplier->amount_after_tax = $amount_after_tax; $bookingsupplier->rate = $rate; - $bookingsupplier->billing_amount = $billing; - $bookingsupplier->salestax_amount = $sales_tax; - $bookingsupplier->rebate = $rebate; - $bookingsupplier->amountInRMB = $amountInRMB; - $bookingsupplier->rmbBankAmount = $rmbBankAmount; + $bookingsupplier->rebate = $rebate; + $bookingsupplier->salestax_amount = $sales_tax; + //$bookingsupplier->payment_method = $request->input('payment_method'); // TODO : remove from db + //$bookingsupplier->transfer_amount = $transfer_amount; // TODO : remove from db + //$bookingsupplier->billing_amount = $billing; // TODO : remove from db + + //$bookingsupplier->rmbBankAmount = $rmbBankAmount; // TODO : remove from db $bookingsupplier->booking_id = $booking->id; $bookingsupplier->save(); @@ -89,47 +161,12 @@ class BookingSupplierController extends Controller $booking->status = 4; $booking->admin_status = 4; $booking->save(); + + return response()->json($bookingsupplier, 201); } - - public function update(Request $request, $id) - { - $bookingsupplier = SupplierBooking::find($id); - $bookingsupplier->payment_method = $request->input('payment_method'); - $bookingsupplier->transfer_amount = $request->input('transfer_amount'); - $bookingsupplier->rate = $request->input('rate'); - $bookingsupplier->rebate = $request->input('rebate'); - // calculation - $amountInRMB = $amount * $rate; - $billing = 0.015 * $amount; - $sales_tax = 0.10 * $amount; - $gst = 0 * $amount; - $customerBankInAmount = round($amount + $gst + $sales_tax + $billing,2); - $rmbBankAmount = $customerBankInAmount + $rebate; - - // save amount in rmb - $bookingsupplier->amountInRMB = $amountInRMB; - // save rmb bank amount - $bookingsupplier->rmbBankAmount = $rmbBankAmount; - $bookingsupplier->save(); - - /* For multiple booking */ - // $supplierbookingitems = $request->input("supplierbookingitem"); - // foreach ($bookings as $booking) - // { - // $update_supplierbookingitem = SupplierBookingItem::where('supplierbooking_id', $id)->first(); - // $update_supplierbookingitem->china_bankslip_url = $booking['china_bankslip_url']; - // $update_supplierbookingitem->bank_in_amount = $booking['bank_in_amount']; - // $update_supplierbookingitem->date = $booking['date']; - // $update_supplierbookingitem->details = $booking['details']; - // $update_supplierbookingitem->save(); - // } - return response()->json(['book_id'=>$book_id],201); - } - - public function report(Request $request, $id) { $supplier_booking = Booking::firstOrFail($id)->supplierBooking()->firstOrFail(); diff --git a/app/Http/Controllers/ChinaBankSlipController.php b/app/Http/Controllers/ChinaBankSlipController.php index eabfe4a5..0ed406ed 100644 --- a/app/Http/Controllers/ChinaBankSlipController.php +++ b/app/Http/Controllers/ChinaBankSlipController.php @@ -4,6 +4,8 @@ namespace App\Http\Controllers; use App\ChinaBankSlip; use App\Booking; +use App\User; +use App\Notification; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; use Validator; @@ -30,7 +32,7 @@ class ChinaBankSlipController extends Controller } $validator = Validator::make($request->all(), [ - 'china_bank_slips' => 'max:3072' + 'china_bank_slips' => 'max:10000' ]); if($validator->fails()){ @@ -80,6 +82,13 @@ class ChinaBankSlipController extends Controller $booking->admin_status = 6; $booking->save(); + $userNotification = new Notification; + $userNotification->detail = "Your china bankslip for booking " . $booking->id . " is uploaded."; + $userNotification->link = "/booking/" . $booking->id . "/upload-po"; + $userNotification->user_id = $booking->user_id; + $userNotification->save(); + + return response()->json(["message"=> "Success"],200); } diff --git a/app/Http/Controllers/MarkingController.php b/app/Http/Controllers/MarkingController.php index 1d432333..1ab3aee1 100644 --- a/app/Http/Controllers/MarkingController.php +++ b/app/Http/Controllers/MarkingController.php @@ -19,13 +19,17 @@ class MarkingController extends Controller public function store(Request $request) { - $marking = Marking::create($request->all()); + $marking = new Marking; + $marking->marking = strtoupper($request->input('marking')); + $marking->email = $request->input('email'); + $marking->save(); return response()->json($marking, 201); } public function update(Request $request, Marking $marking) { + // TODO : update to upper case $marking->update($request->all()); return response()->json($marking, 200); diff --git a/app/Http/Controllers/NotificationController.php b/app/Http/Controllers/NotificationController.php new file mode 100644 index 00000000..7c8aa8a7 --- /dev/null +++ b/app/Http/Controllers/NotificationController.php @@ -0,0 +1,66 @@ +orderby('updated_at','desc'); + } + + public function show(Notification $notification) + { + return $notification; + } + + public function store(Request $request) + { + $notification = Notification::create($request->all()); + + return response()->json($notification, 201); + } + + public function update(Request $request, Notification $notification) + { + $notification->update($request->all()); + + return response()->json($notification, 200); + } + + public function delete(Notification $notification) + { + $notification->delete(); + + return response()->json(null, 204); + } + + public function getUserMessage() + { + $user_all_notification = Notification::Where("user_id",Auth::user()->id) + ->orderby('updated_at','desc') + ->paginate(5); + $user_unread_notification = Notification::Where([["user_id",Auth::user()->id],["is_read",0]]) + ->orderby('updated_at','desc') + ->get(); + + return response()->json([ + "message" =>$user_all_notification, + "unread_message" =>$user_unread_notification + ],200); + } + + public function readNotification($notification_id){ + $affected = DB::table('notifications') + ->Where('id', $notification_id) + ->update(array('is_read' => 1)); + return response()->json("Read message", 200); + } + + +} \ No newline at end of file diff --git a/app/Http/Controllers/SettingBeneficiaryController.php b/app/Http/Controllers/SettingBeneficiaryController.php index fdec75f7..eef947b1 100644 --- a/app/Http/Controllers/SettingBeneficiaryController.php +++ b/app/Http/Controllers/SettingBeneficiaryController.php @@ -12,8 +12,12 @@ class SettingBeneficiaryController extends Controller return SettingBeneficiary::all(); } - public function show(SettingBeneficiary $beneficiary) + public function show($beneficiary) { + if ($beneficiary == 0){ + response()->json(["company_name"=>"123", "account_number"=>"123"] , 201); + } + $beneficiary = SettingBeneficiary::find($beneficiary); return $beneficiary; } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 0a4f3fa2..b0ba3b82 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -61,6 +61,7 @@ class Kernel extends HttpKernel 'ability' => 'App\Http\Middleware\TokenEntrustAbility', 'role' => \Zizaco\Entrust\Middleware\EntrustRole::class, 'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class, + 'jwt' => \App\Http\Middleware\RefreshToken::class, 'ability' => 'App\Http\Middleware\TokenEntrustAbility' ]; } diff --git a/app/Http/Middleware/TokenEntrustAbility.php b/app/Http/Middleware/TokenEntrustAbility.php index da6c0696..3463bfcf 100644 --- a/app/Http/Middleware/TokenEntrustAbility.php +++ b/app/Http/Middleware/TokenEntrustAbility.php @@ -5,7 +5,7 @@ namespace App\Http\Middleware; use Closure; use Tymon\JWTAuth\Exceptions\JWTException; use Tymon\JWTAuth\Exceptions\TokenExpiredException; -use Tymon\JWTAuth\Middleware\BaseMiddleware; +use Tymon\JWTAuth\Http\Middleware\BaseMiddleware; class TokenEntrustAbility extends BaseMiddleware { diff --git a/app/Notification.php b/app/Notification.php new file mode 100644 index 00000000..0ac7488f --- /dev/null +++ b/app/Notification.php @@ -0,0 +1,77 @@ +created_at; + + date_default_timezone_set('Asia/Kuala_Lumpur'); //Change as per your default time + $str = strtotime($created_time); + $today = strtotime(date('Y-m-d H:i:s')); + + // It returns the time difference in Seconds... + $time_differnce = $today-$str; + + // To Calculate the time difference in Years... + $years = 60*60*24*365; + + // To Calculate the time difference in Months... + $months = 60*60*24*30; + + // To Calculate the time difference in Days... + $days = 60*60*24; + + // To Calculate the time difference in Hours... + $hours = 60*60; + + // To Calculate the time difference in Minutes... + $minutes = 60; + + if(intval($time_differnce/$years) > 1) + { + return intval($time_differnce/$years)." years ago"; + }else if(intval($time_differnce/$years) > 0) + { + return intval($time_differnce/$years)." year ago"; + }else if(intval($time_differnce/$months) > 1) + { + return intval($time_differnce/$months)." months ago"; + }else if(intval(($time_differnce/$months)) > 0) + { + return intval(($time_differnce/$months))." month ago"; + }else if(intval(($time_differnce/$days)) > 1) + { + return intval(($time_differnce/$days))." days ago"; + }else if (intval(($time_differnce/$days)) > 0) + { + return intval(($time_differnce/$days))." day ago"; + }else if (intval(($time_differnce/$hours)) > 1) + { + return intval(($time_differnce/$hours))." hours ago"; + }else if (intval(($time_differnce/$hours)) > 0) + { + return intval(($time_differnce/$hours))." hour ago"; + }else if (intval(($time_differnce/$minutes)) > 1) + { + return intval(($time_differnce/$minutes))." minutes ago"; + }else if (intval(($time_differnce/$minutes)) > 0) + { + return intval(($time_differnce/$minutes))." minute ago"; + }else if (intval(($time_differnce)) > 1) + { + return intval(($time_differnce))." seconds ago"; + }else + { + return "few seconds ago"; + } + } + +} diff --git a/app/UserBankSlip.php b/app/UserBankSlip.php index eb6ddc0e..3e3e6678 100644 --- a/app/UserBankSlip.php +++ b/app/UserBankSlip.php @@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model; class UserBankSlip extends Model { - protected $fillable = ['bank_slip_type','bankslip_url','transfer_amount','booking_id','cust_marking','estimated_arrival_time']; + protected $fillable = ['bank_slip_type','bankslip_url','transfer_amount','booking_id','cust_marking']; public function booking() { diff --git a/caddy/Caddyfile b/caddy/Caddyfile index 00750dea..eaf1b056 100644 --- a/caddy/Caddyfile +++ b/caddy/Caddyfile @@ -1,18 +1,26 @@ -# Docs: https://caddyserver.com/docs/caddyfile https://exchange-staging.izyim.com { + proxy /phpmyadmin 127.0.0.1:8090 root /var/www/public + fastcgi / 127.0.0.1:9000 php { index index.php } + header / { + Cache-Control no-cache + } + # To handle .html extensions with laravel change ext to # ext / .html rewrite { - to {path} {path}/ /index.php?{query} + r .* + ext / + to /index.php?{query} } + gzip - browse + # browse log stdout errors stdout on startup php-fpm --nodaemonize diff --git a/caddy/Dockerfile b/caddy/Dockerfile index 675a39b5..a36b4ea1 100644 --- a/caddy/Dockerfile +++ b/caddy/Dockerfile @@ -12,6 +12,8 @@ RUN curl --silent --show-error --fail --location \ COPY Caddyfile /etc/Caddyfile -WORKDIR /var/www/public +WORKDIR /var/www +RUN mkdir -p /var/www/public/storage +RUN ln -sf /var/www/storage/app/public /var/www/public/storage CMD ["/usr/bin/caddy", "--conf", "/etc/Caddyfile", "--log", "stdout"] \ No newline at end of file diff --git a/composer.lock b/composer.lock deleted file mode 100644 index aa761c45..00000000 --- a/composer.lock +++ /dev/null @@ -1,5224 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "61c96f9a80f168154bc8f5383f0a85c1", - "packages": [ - { - "name": "dnoegel/php-xdg-base-dir", - "version": "0.1", - "source": { - "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", - "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "@stable" - }, - "type": "project", - "autoload": { - "psr-4": { - "XdgBaseDir\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "implementation of xdg base directory specification for php", - "time": "2014-10-24T07:27:01+00:00" - }, - { - "name": "doctrine/cache", - "version": "v1.7.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/b3217d58609e9c8e661cd41357a54d926c4a2a1a", - "reference": "b3217d58609e9c8e661cd41357a54d926c4a2a1a", - "shasum": "" - }, - "require": { - "php": "~7.1" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "alcaeus/mongo-php-adapter": "^1.1", - "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^5.7", - "predis/predis": "~1.0" - }, - "suggest": { - "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } - }, - "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": "Caching library offering an object-oriented API for many cache backends", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "cache", - "caching" - ], - "time": "2017-08-25T07:02:50+00:00" - }, - { - "name": "doctrine/dbal", - "version": "v2.8.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621" - }, - "dist": { - "type": "zip", - "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": "^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": "2.8.x-dev", - "dev-develop": "3.0.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" - } - ], - "description": "Database Abstraction Layer", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "database", - "dbal", - "persistence", - "queryobject" - ], - "time": "2018-07-13T03:16:35+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3", - "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "conflict": { - "doctrine/common": "<2.9@dev" - }, - "require-dev": { - "doctrine/coding-standard": "^4.0", - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" - } - }, - "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" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "Doctrine Event Manager component", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "eventdispatcher", - "eventmanager" - ], - "time": "2018-06-11T11:59:03+00:00" - }, - { - "name": "doctrine/inflector", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^6.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" - } - }, - "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": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "inflection", - "pluralize", - "singularize", - "string" - ], - "time": "2018-01-09T20:05:19+00:00" - }, - { - "name": "doctrine/lexer", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "lexer", - "parser" - ], - "time": "2014-09-09T13:34:57+00:00" - }, - { - "name": "dragonmantank/cron-expression", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "92a2c3768d50e21a1f26a53cb795ce72806266c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/92a2c3768d50e21a1f26a53cb795ce72806266c5", - "reference": "92a2c3768d50e21a1f26a53cb795ce72806266c5", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], - "time": "2018-06-06T03:12:17+00:00" - }, - { - "name": "egulias/email-validator", - "version": "2.1.4", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "8790f594151ca6a2010c6218e09d96df67173ad3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3", - "reference": "8790f594151ca6a2010c6218e09d96df67173ad3", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" - }, - "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", - "satooshi/php-coveralls": "^1.0.1" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ], - "time": "2018-04-10T10:11:19+00:00" - }, - { - "name": "erusev/parsedown", - "version": "1.7.1", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", - "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "type": "library", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "time": "2018-03-08T01:11:30+00:00" - }, - { - "name": "fideloper/proxy", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "cf8a0ca4b85659b9557e206c90110a6a4dba980a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/cf8a0ca4b85659b9557e206c90110a6a4dba980a", - "reference": "cf8a0ca4b85659b9557e206c90110a6a4dba980a", - "shasum": "" - }, - "require": { - "illuminate/contracts": "~5.0", - "php": ">=5.4.0" - }, - "require-dev": { - "illuminate/http": "~5.6", - "mockery/mockery": "~1.0", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Fideloper\\Proxy\\TrustedProxyServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Fideloper\\Proxy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Fidao", - "email": "fideloper@gmail.com" - } - ], - "description": "Set trusted proxies for Laravel", - "keywords": [ - "load balancing", - "proxy", - "trusted proxy" - ], - "time": "2018-02-07T20:20:57+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "6.3.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba", - "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba", - "shasum": "" - }, - "require": { - "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.4", - "php": ">=5.5" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.3-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2018-04-22T15:46:56+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "v1.3.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", - "shasum": "" - }, - "require": { - "php": ">=5.5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "time": "2016-12-20T10:07:11+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Schultze", - "homepage": "https://github.com/Tobion" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "request", - "response", - "stream", - "uri", - "url" - ], - "time": "2017-03-20T17:10:46+00:00" - }, - { - "name": "intervention/image", - "version": "2.4.2", - "source": { - "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "e82d274f786e3d4b866a59b173f42e716f0783eb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/e82d274f786e3d4b866a59b173f42e716f0783eb", - "reference": "e82d274f786e3d4b866a59b173f42e716f0783eb", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "guzzlehttp/psr7": "~1.1", - "php": ">=5.4.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "^4.8 || ^5.7" - }, - "suggest": { - "ext-gd": "to use GD library based image processing.", - "ext-imagick": "to use Imagick based image processing.", - "intervention/imagecache": "Caching extension for the Intervention Image library" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - }, - "laravel": { - "providers": [ - "Intervention\\Image\\ImageServiceProvider" - ], - "aliases": { - "Image": "Intervention\\Image\\Facades\\Image" - } - } - }, - "autoload": { - "psr-4": { - "Intervention\\Image\\": "src/Intervention/Image" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@olivervogel.com", - "homepage": "http://olivervogel.com/" - } - ], - "description": "Image handling and manipulation library with support for Laravel integration", - "homepage": "http://image.intervention.io/", - "keywords": [ - "gd", - "image", - "imagick", - "laravel", - "thumbnail", - "watermark" - ], - "time": "2018-05-29T14:19:03+00:00" - }, - { - "name": "jakub-onderka/php-console-color", - "version": "0.1", - "source": { - "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", - "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", - "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "jakub-onderka/php-code-style": "1.0", - "jakub-onderka/php-parallel-lint": "0.*", - "jakub-onderka/php-var-dump-check": "0.*", - "phpunit/phpunit": "3.7.*", - "squizlabs/php_codesniffer": "1.*" - }, - "type": "library", - "autoload": { - "psr-0": { - "JakubOnderka\\PhpConsoleColor": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "jakub.onderka@gmail.com", - "homepage": "http://www.acci.cz" - } - ], - "time": "2014-04-08T15:00:19+00:00" - }, - { - "name": "jakub-onderka/php-console-highlighter", - "version": "v0.3.2", - "source": { - "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", - "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", - "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", - "shasum": "" - }, - "require": { - "jakub-onderka/php-console-color": "~0.1", - "php": ">=5.3.0" - }, - "require-dev": { - "jakub-onderka/php-code-style": "~1.0", - "jakub-onderka/php-parallel-lint": "~0.5", - "jakub-onderka/php-var-dump-check": "~0.1", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~1.5" - }, - "type": "library", - "autoload": { - "psr-0": { - "JakubOnderka\\PhpConsoleHighlighter": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "acci@acci.cz", - "homepage": "http://www.acci.cz/" - } - ], - "time": "2015-04-20T18:58:01+00:00" - }, - { - "name": "laravel/framework", - "version": "v5.6.28", - "source": { - "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "40ba2ee0e61cb4bc3c9f1dab04908e6acf06b86f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/40ba2ee0e61cb4bc3c9f1dab04908e6acf06b86f", - "reference": "40ba2ee0e61cb4bc3c9f1dab04908e6acf06b86f", - "shasum": "" - }, - "require": { - "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.*", - "php": "^7.1.3", - "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", - "tijsverkoyen/css-to-inline-styles": "^2.2.1", - "vlucas/phpdotenv": "~2.2" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", - "illuminate/cache": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/contracts": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "self.version", - "illuminate/pagination": "self.version", - "illuminate/pipeline": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" - }, - "require-dev": { - "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", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "3.6.*", - "pda/pheanstalk": "~3.0", - "phpunit/phpunit": "~7.0", - "predis/predis": "^1.1.1", - "symfony/css-selector": "~4.0", - "symfony/dom-crawler": "~4.0" - }, - "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).", - "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)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.6-dev" - } - }, - "autoload": { - "files": [ - "src/Illuminate/Foundation/helpers.php", - "src/Illuminate/Support/helpers.php" - ], - "psr-4": { - "Illuminate\\": "src/Illuminate/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Laravel Framework.", - "homepage": "https://laravel.com", - "keywords": [ - "framework", - "laravel" - ], - "time": "2018-07-17T14:15:36+00:00" - }, - { - "name": "laravel/socialite", - "version": "v3.0.12", - "source": { - "type": "git", - "url": "https://github.com/laravel/socialite.git", - "reference": "b5f465847b1d637efa86bbfe2fc1c9d2bd12f60f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/b5f465847b1d637efa86bbfe2fc1c9d2bd12f60f", - "reference": "b5f465847b1d637efa86bbfe2fc1c9d2bd12f60f", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "~6.0", - "illuminate/contracts": "~5.4", - "illuminate/http": "~5.4", - "illuminate/support": "~5.4", - "league/oauth1-client": "~1.0", - "php": ">=5.4.0" - }, - "require-dev": { - "mockery/mockery": "~0.9", - "phpunit/phpunit": "~4.0|~5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Socialite\\SocialiteServiceProvider" - ], - "aliases": { - "Socialite": "Laravel\\Socialite\\Facades\\Socialite" - } - } - }, - "autoload": { - "psr-4": { - "Laravel\\Socialite\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel wrapper around OAuth 1 & OAuth 2 libraries.", - "keywords": [ - "laravel", - "oauth" - ], - "time": "2018-06-01T15:06:47+00:00" - }, - { - "name": "laravel/tinker", - "version": "v1.0.7", - "source": { - "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/e3086ee8cb1f54a39ae8dcb72d1c37d10128997d", - "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d", - "shasum": "" - }, - "require": { - "illuminate/console": "~5.1", - "illuminate/contracts": "~5.1", - "illuminate/support": "~5.1", - "php": ">=5.5.9", - "psy/psysh": "0.7.*|0.8.*|0.9.*", - "symfony/var-dumper": "~3.0|~4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0|~5.0" - }, - "suggest": { - "illuminate/database": "The Illuminate Database package (~5.1)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Tinker\\TinkerServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Tinker\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Powerful REPL for the Laravel framework.", - "keywords": [ - "REPL", - "Tinker", - "laravel", - "psysh" - ], - "time": "2018-05-17T13:42:07+00:00" - }, - { - "name": "laravelcollective/html", - "version": "v5.6.10", - "source": { - "type": "git", - "url": "https://github.com/LaravelCollective/html.git", - "reference": "974605fcd22a7e4d19f0b2ef635a0d1d7400387d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/LaravelCollective/html/zipball/974605fcd22a7e4d19f0b2ef635a0d1d7400387d", - "reference": "974605fcd22a7e4d19f0b2ef635a0d1d7400387d", - "shasum": "" - }, - "require": { - "illuminate/http": "5.6.*", - "illuminate/routing": "5.6.*", - "illuminate/session": "5.6.*", - "illuminate/support": "5.6.*", - "illuminate/view": "5.6.*", - "php": ">=7.1.3" - }, - "require-dev": { - "illuminate/database": "5.6.*", - "mockery/mockery": "~1.0", - "phpunit/phpunit": "~7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.6-dev" - }, - "laravel": { - "providers": [ - "Collective\\Html\\HtmlServiceProvider" - ], - "aliases": { - "Form": "Collective\\Html\\FormFacade", - "Html": "Collective\\Html\\HtmlFacade" - } - } - }, - "autoload": { - "psr-4": { - "Collective\\Html\\": "src/" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylorotwell@gmail.com" - }, - { - "name": "Adam Engebretson", - "email": "adam@laravelcollective.com" - } - ], - "description": "HTML and Form Builders for the Laravel Framework", - "homepage": "https://laravelcollective.com", - "time": "2018-06-18T15:04:16+00:00" - }, - { - "name": "lcobucci/jwt", - "version": "3.2.2", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "0b5930be73582369e10c4d4bb7a12bac927a203c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/0b5930be73582369e10c4d4bb7a12bac927a203c", - "reference": "0b5930be73582369e10c4d4bb7a12bac927a203c", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=5.5" - }, - "require-dev": { - "mdanter/ecc": "~0.3.1", - "mikey179/vfsstream": "~1.5", - "phpmd/phpmd": "~2.2", - "phpunit/php-invoker": "~1.1", - "phpunit/phpunit": "~4.5", - "squizlabs/php_codesniffer": "~2.3" - }, - "suggest": { - "mdanter/ecc": "Required to use Elliptic Curves based algorithms." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "psr-4": { - "Lcobucci\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Luís Otávio Cobucci Oblonczyk", - "email": "lcobucci@gmail.com", - "role": "Developer" - } - ], - "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], - "time": "2017-09-01T08:23:26+00:00" - }, - { - "name": "league/flysystem", - "version": "1.0.45", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a99f94e63b512d75f851b181afcdf0ee9ebef7e6", - "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "ext-fileinfo": "*", - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7" - }, - "suggest": { - "ext-fileinfo": "Required for MimeType", - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frenky.net" - } - ], - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", - "files", - "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" - ], - "time": "2018-05-07T08:44:23+00:00" - }, - { - "name": "league/oauth1-client", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/oauth1-client.git", - "reference": "fca5f160650cb74d23fc11aa570dd61f86dcf647" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth1-client/zipball/fca5f160650cb74d23fc11aa570dd61f86dcf647", - "reference": "fca5f160650cb74d23fc11aa570dd61f86dcf647", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^6.0", - "php": ">=5.5.0" - }, - "require-dev": { - "mockery/mockery": "^0.9", - "phpunit/phpunit": "^4.0", - "squizlabs/php_codesniffer": "^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "League\\OAuth1\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Corlett", - "email": "bencorlett@me.com", - "homepage": "http://www.webcomm.com.au", - "role": "Developer" - } - ], - "description": "OAuth 1.0 Client Library", - "keywords": [ - "Authentication", - "SSO", - "authorization", - "bitbucket", - "identity", - "idp", - "oauth", - "oauth1", - "single sign on", - "trello", - "tumblr", - "twitter" - ], - "time": "2016-08-17T00:36:58+00:00" - }, - { - "name": "monolog/monolog", - "version": "1.23.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/log-implementation": "1.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", - "php-amqplib/php-amqplib": "~2.4", - "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", - "swiftmailer/swiftmailer": "^5.3|^6.0" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2017-06-19T01:22:40+00:00" - }, - { - "name": "namshi/jose", - "version": "7.2.3", - "source": { - "type": "git", - "url": "https://github.com/namshi/jose.git", - "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/namshi/jose/zipball/89a24d7eb3040e285dd5925fcad992378b82bcff", - "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff", - "shasum": "" - }, - "require": { - "ext-date": "*", - "ext-hash": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-spl": "*", - "php": ">=5.5", - "symfony/polyfill-php56": "^1.0" - }, - "require-dev": { - "phpseclib/phpseclib": "^2.0", - "phpunit/phpunit": "^4.5|^5.0", - "satooshi/php-coveralls": "^1.0" - }, - "suggest": { - "ext-openssl": "Allows to use OpenSSL as crypto engine.", - "phpseclib/phpseclib": "Allows to use Phpseclib as crypto engine, use version ^2.0." - }, - "type": "library", - "autoload": { - "psr-4": { - "Namshi\\JOSE\\": "src/Namshi/JOSE/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alessandro Nadalin", - "email": "alessandro.nadalin@gmail.com" - }, - { - "name": "Alessandro Cinelli (cirpo)", - "email": "alessandro.cinelli@gmail.com" - } - ], - "description": "JSON Object Signing and Encryption library for PHP.", - "keywords": [ - "JSON Web Signature", - "JSON Web Token", - "JWS", - "json", - "jwt", - "token" - ], - "time": "2016-12-05T07:27:31+00:00" - }, - { - "name": "nesbot/carbon", - "version": "1.25.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cbcf13da0b531767e39eb86e9687f5deba9857b4", - "reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/translation": "~2.6 || ~3.0 || ~4.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2", - "phpunit/phpunit": "^4.8.35 || ^5.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.23-dev" - } - }, - "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" - } - ], - "description": "A simple API extension for DateTime.", - "homepage": "http://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], - "time": "2018-03-19T15:50:49+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.0.3", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bd088dc940a418f09cda079a9b5c7c478890fb8d", - "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.5 || ^7.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2018-07-15T17:25:16+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.99", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "shasum": "" - }, - "require": { - "php": "^7" - }, - "require-dev": { - "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", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "time": "2018-07-02T15:55:56+00:00" - }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "time": "2017-02-14T16:28:37+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2016-10-10T12:19:37+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "psy/psysh", - "version": "v0.9.6", - "source": { - "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "4a2ce86f199d51b6e2524214dc06835e872f4fce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4a2ce86f199d51b6e2524214dc06835e872f4fce", - "reference": "4a2ce86f199d51b6e2524214dc06835e872f4fce", - "shasum": "" - }, - "require": { - "dnoegel/php-xdg-base-dir": "0.1", - "jakub-onderka/php-console-highlighter": "0.3.*", - "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", - "php": ">=5.4.0", - "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", - "symfony/var-dumper": "~2.7|~3.0|~4.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "~2.15|~3.16", - "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." - }, - "bin": [ - "bin/psysh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "0.9.x-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" - } - ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ], - "time": "2018-06-10T17:57:20+00:00" - }, - { - "name": "ramsey/uuid", - "version": "3.8.0", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", - "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", - "shasum": "" - }, - "require": { - "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" - }, - "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.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|^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", - "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", - "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marijn Huizendveld", - "email": "marijn.huizendveld@gmail.com" - }, - { - "name": "Thibaud Fabre", - "email": "thibaud@aztech.io" - }, - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", - "homepage": "https://github.com/ramsey/uuid", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "time": "2018-07-19T23:38:55+00:00" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.1.2", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "7d760881d266d63c5e7a1155cbcf2ac656a31ca8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7d760881d266d63c5e7a1155cbcf2ac656a31ca8", - "reference": "7d760881d266d63c5e7a1155cbcf2ac656a31ca8", - "shasum": "" - }, - "require": { - "egulias/email-validator": "~2.0", - "php": ">=7.0.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "~3.3@dev" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.1-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "time": "2018-07-13T07:04:35+00:00" - }, - { - "name": "symfony/console", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/70591cda56b4b47c55776ac78e157c4bb6c8b43f", - "reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~3.4|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.4|~4.0" - }, - "suggest": { - "psr/log-implementation": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2018-05-31T10:17:53+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/03ac71606ecb0b0ce792faa17d74cc32c2949ef4", - "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "https://symfony.com", - "time": "2018-05-30T07:26:09+00:00" - }, - { - "name": "symfony/debug", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/dbe0fad88046a755dcf9379f2964c61a02f5ae3d", - "reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "~3.4|~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "time": "2018-06-08T09:39:36+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "2391ed210a239868e7256eb6921b1bd83f3087b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2391ed210a239868e7256eb6921b1bd83f3087b5", - "reference": "2391ed210a239868e7256eb6921b1bd83f3087b5", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "conflict": { - "symfony/dependency-injection": "<3.4" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/expression-language": "~3.4|~4.0", - "symfony/stopwatch": "~3.4|~4.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2018-04-06T07:35:57+00:00" - }, - { - "name": "symfony/finder", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/84714b8417d19e4ba02ea78a41a975b3efaafddb", - "reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2018-06-19T21:38:16+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4f9c7cf962e635b0b26b14500ac046e07dbef7f3", - "reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/expression-language": "~3.4|~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpFoundation Component", - "homepage": "https://symfony.com", - "time": "2018-06-19T21:38:16+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "29c094a1c4f8209b7e033f612cbbd69029e38955" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/29c094a1c4f8209b7e033f612cbbd69029e38955", - "reference": "29c094a1c4f8209b7e033f612cbbd69029e38955", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0", - "symfony/debug": "~3.4|~4.0", - "symfony/event-dispatcher": "~4.1", - "symfony/http-foundation": "^4.1.1", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<4.1", - "symfony/var-dumper": "<4.1.1", - "twig/twig": "<1.34|<2.4,>=2" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/cache": "~1.0", - "symfony/browser-kit": "~3.4|~4.0", - "symfony/config": "~3.4|~4.0", - "symfony/console": "~3.4|~4.0", - "symfony/css-selector": "~3.4|~4.0", - "symfony/dependency-injection": "^4.1", - "symfony/dom-crawler": "~3.4|~4.0", - "symfony/expression-language": "~3.4|~4.0", - "symfony/finder": "~3.4|~4.0", - "symfony/process": "~3.4|~4.0", - "symfony/routing": "~3.4|~4.0", - "symfony/stopwatch": "~3.4|~4.0", - "symfony/templating": "~3.4|~4.0", - "symfony/translation": "~3.4|~4.0", - "symfony/var-dumper": "^4.1.1" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/var-dumper": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony HttpKernel Component", - "homepage": "https://symfony.com", - "time": "2018-06-25T13:06:45+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - }, - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "time": "2018-04-30T19:57:29+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "3296adf6a6454a050679cde90f95350ad604b171" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", - "reference": "3296adf6a6454a050679cde90f95350ad604b171", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2018-04-26T10:06:28+00:00" - }, - { - "name": "symfony/polyfill-php56", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "af98553c84912459db3f636329567809d639a8f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/af98553c84912459db3f636329567809d639a8f6", - "reference": "af98553c84912459db3f636329567809d639a8f6", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/polyfill-util": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php56\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-04-26T10:06:28+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/a4576e282d782ad82397f3e4ec1df8e0f0cafb46", - "reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2018-04-26T10:06:28+00:00" - }, - { - "name": "symfony/polyfill-util", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-util.git", - "reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/1a5ad95d9436cbff3296034fe9f8d586dce3fb3a", - "reference": "1a5ad95d9436cbff3296034fe9f8d586dce3fb3a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Util\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony utilities for portability of PHP codes", - "homepage": "https://symfony.com", - "keywords": [ - "compat", - "compatibility", - "polyfill", - "shim" - ], - "time": "2018-04-26T10:06:28+00:00" - }, - { - "name": "symfony/process", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a", - "reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2018-05-31T10:17:53+00:00" - }, - { - "name": "symfony/routing", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/b38b9797327b26ea2e4146a40e6e2dc9820a6932", - "reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932", - "shasum": "" - }, - "require": { - "php": "^7.1.3" - }, - "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/expression-language": "~3.4|~4.0", - "symfony/http-foundation": "~3.4|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/dependency-injection": "For loading routes from a service", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Routing Component", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2018-06-19T21:38:16+00:00" - }, - { - "name": "symfony/translation", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b6d8164085ee0b6debcd1b7a131fd6f63bb04854", - "reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/console": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/intl": "~3.4|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Translation Component", - "homepage": "https://symfony.com", - "time": "2018-06-22T08:59:39+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v4.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b2eebaec085d1f2cafbad7644733d494a3bbbc9b", - "reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" - }, - "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/process": "~3.4|~4.0", - "twig/twig": "~1.34|~2.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony mechanism for exploring and dumping PHP variables", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "time": "2018-06-23T12:23:56+00:00" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.1", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", - "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2017-11-27T11:13:29+00:00" - }, - { - "name": "tymon/jwt-auth", - "version": "1.0.0-rc.2", - "source": { - "type": "git", - "url": "https://github.com/tymondesigns/jwt-auth.git", - "reference": "d5220f6a84cbb8300f6f2f0f20aa908d072b4e4b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/d5220f6a84cbb8300f6f2f0f20aa908d072b4e4b", - "reference": "d5220f6a84cbb8300f6f2f0f20aa908d072b4e4b", - "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.*", - "lcobucci/jwt": "^3.2", - "namshi/jose": "^7.0", - "nesbot/carbon": "^1.0", - "php": "^5.5.9 || ^7.0" - }, - "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.*", - "mockery/mockery": ">=0.9.9", - "phpunit/phpunit": "~4.8 || ~6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "1.0-dev" - }, - "laravel": { - "aliases": { - "JWTAuth": "Tymon\\JWTAuth\\Facades\\JWTAuth", - "JWTFactory": "Tymon\\JWTAuth\\Facades\\JWTFactory" - }, - "providers": [ - "Tymon\\JWTAuth\\Providers\\LaravelServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Tymon\\JWTAuth\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sean Tymon", - "email": "tymon148@gmail.com", - "homepage": "https://tymon.xyz", - "role": "Developer" - } - ], - "description": "JSON Web Token Authentication for Laravel and Lumen", - "homepage": "https://github.com/tymondesigns/jwt-auth", - "keywords": [ - "Authentication", - "JSON Web Token", - "auth", - "jwt", - "laravel" - ], - "time": "2018-02-07T20:55:14+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v2.5.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/6ae3e2e6494bb5e58c2decadafc3de7f1453f70a", - "reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "http://www.vancelucas.com" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "time": "2018-07-01T10:25:50+00:00" - }, - { - "name": "zizaco/entrust", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/Zizaco/entrust.git", - "reference": "ba9241426f9c518982d868e2cbac381a9581d802" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Zizaco/entrust/zipball/ba9241426f9c518982d868e2cbac381a9581d802", - "reference": "ba9241426f9c518982d868e2cbac381a9581d802", - "shasum": "" - }, - "require": { - "illuminate/cache": "~5.0", - "illuminate/console": "~5.0", - "illuminate/support": "~5.0", - "php": ">=5.5.0" - }, - "require-dev": { - "illuminate/database": "~5.0", - "mockery/mockery": "dev-master", - "phpunit/phpunit": "~4.1", - "sami/sami": "dev-master" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Zizaco\\Entrust\\EntrustServiceProvider" - ], - "aliases": { - "Entrust": "Zizaco\\Entrust\\EntrustFacade" - } - } - }, - "autoload": { - "classmap": [ - "src/commands" - ], - "psr-4": { - "Zizaco\\Entrust\\": "src/Entrust/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andrew Elkins", - "homepage": "http://andrewelkins.com" - }, - { - "name": "Zizaco Zizuini", - "email": "zizaco@gmail.com" - }, - { - "name": "Ben Batschelet", - "homepage": "http://github.com/bbatsche" - }, - { - "name": "Michele Angioni", - "email": "michele.angioni@gmail.com" - } - ], - "description": "This package provides a flexible way to add Role-based Permissions to Laravel", - "keywords": [ - "acl", - "auth", - "illuminate", - "laravel", - "permission", - "roles" - ], - "time": "2017-11-13T23:46:19+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", - "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "^6.2.3", - "squizlabs/php_codesniffer": "^3.0.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2017-07-22T11:58:36+00:00" - }, - { - "name": "facebook/webdriver", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/facebook/php-webdriver.git", - "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e", - "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-zip": "*", - "php": "^5.6 || ~7.0", - "symfony/process": "^2.8 || ^3.1 || ^4.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.0", - "jakub-onderka/php-parallel-lint": "^0.9.2", - "php-coveralls/php-coveralls": "^2.0", - "php-mock/php-mock-phpunit": "^1.1", - "phpunit/phpunit": "^5.7", - "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", - "squizlabs/php_codesniffer": "^2.6", - "symfony/var-dumper": "^3.3 || ^4.0" - }, - "suggest": { - "ext-SimpleXML": "For Firefox profile creation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-community": "1.5-dev" - } - }, - "autoload": { - "psr-4": { - "Facebook\\WebDriver\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "A PHP client for Selenium WebDriver", - "homepage": "https://github.com/facebook/php-webdriver", - "keywords": [ - "facebook", - "php", - "selenium", - "webdriver" - ], - "time": "2018-05-16T17:37:13+00:00" - }, - { - "name": "filp/whoops", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/181c4502d8f34db7aed7bfe88d4f87875b8e947a", - "reference": "181c4502d8f34db7aed7bfe88d4f87875b8e947a", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0", - "psr/log": "^1.0.1" - }, - "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", - "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" - ], - "time": "2018-03-03T17:56:25+00:00" - }, - { - "name": "fzaninotto/faker", - "version": "v1.8.0", - "source": { - "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", - "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^1.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Faker\\": "src/Faker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "François Zaninotto" - } - ], - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ], - "time": "2018-07-12T10:23:15+00:00" - }, - { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", - "shasum": "" - }, - "require": { - "php": "^5.3|^7.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "1.3.3", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "hamcrest" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], - "time": "2016-01-20T08:20:44+00:00" - }, - { - "name": "laravel/dusk", - "version": "v3.0.9", - "source": { - "type": "git", - "url": "https://github.com/laravel/dusk.git", - "reference": "48215ab0028d759e5fd7cc8989f4b6c58050841d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/dusk/zipball/48215ab0028d759e5fd7cc8989f4b6c58050841d", - "reference": "48215ab0028d759e5fd7cc8989f4b6c58050841d", - "shasum": "" - }, - "require": { - "facebook/webdriver": "~1.3", - "illuminate/console": "~5.6", - "illuminate/support": "~5.6", - "nesbot/carbon": "~1.20", - "php": ">=7.1.0", - "symfony/console": "~4.0", - "symfony/process": "~4.0" - }, - "require-dev": { - "mockery/mockery": "~1.0", - "phpunit/phpunit": "~7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Dusk\\DuskServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Dusk\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "Laravel Dusk provides simple end-to-end testing and browser automation.", - "keywords": [ - "laravel", - "testing", - "webdriver" - ], - "time": "2018-06-20T13:47:27+00:00" - }, - { - "name": "mockery/mockery", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "99e29d3596b16dabe4982548527d5ddf90232e99" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/99e29d3596b16dabe4982548527d5ddf90232e99", - "reference": "99e29d3596b16dabe4982548527d5ddf90232e99", - "shasum": "" - }, - "require": { - "hamcrest/hamcrest-php": "~2.0", - "lib-pcre": ">=7.0", - "php": ">=5.6.0" - }, - "require-dev": { - "phpdocumentor/phpdocumentor": "^2.9", - "phpunit/phpunit": "~5.7.10|~6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Mockery": "library/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" - } - ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", - "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" - ], - "time": "2018-05-08T08:54:48+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.8.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", - "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "replace": { - "myclabs/deep-copy": "self.version" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2018-06-11T23:09:50+00:00" - }, - { - "name": "nunomaduro/collision", - "version": "v2.0.3", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "b1f606399ae77e9479b5597cd1aa3d8ea0078176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/b1f606399ae77e9479b5597cd1aa3d8ea0078176", - "reference": "b1f606399ae77e9479b5597cd1aa3d8ea0078176", - "shasum": "" - }, - "require": { - "filp/whoops": "^2.1.4", - "jakub-onderka/php-console-highlighter": "0.3.*", - "php": "^7.1", - "symfony/console": "~2.8|~3.3|~4.0" - }, - "require-dev": { - "laravel/framework": "5.6.*", - "phpstan/phpstan": "^0.9.2", - "phpunit/phpunit": "~7.2" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Cli error handling for console/command-line PHP applications.", - "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "error", - "handling", - "laravel", - "laravel-zero", - "php", - "symfony" - ], - "time": "2018-06-16T22:05:52+00:00" - }, - { - "name": "phar-io/manifest", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" - }, - { - "name": "phar-io/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2017-09-11T18:02:19+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "4.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "94fd0001232e47129dd3504189fa1c7225010d08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", - "reference": "94fd0001232e47129dd3504189fa1c7225010d08", - "shasum": "" - }, - "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0", - "phpdocumentor/type-resolver": "^0.4.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "doctrine/instantiator": "~1.0.5", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-11-30T07:14:17+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", - "shasum": "" - }, - "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "time": "2017-07-14T14:27:02+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "1.7.6", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2018-04-18T13:57:24+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "6.0.7", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "865662550c384bc1db7e51d29aeda1c2c161d69a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/865662550c384bc1db7e51d29aeda1c2c161d69a", - "reference": "865662550c384bc1db7e51d29aeda1c2c161d69a", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xmlwriter": "*", - "php": "^7.1", - "phpunit/php-file-iterator": "^2.0", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "suggest": { - "ext-xdebug": "^2.6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2018-06-01T07:51:50+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cecbc684605bb0cc288828eb5d65d93d5c676d3c", - "reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2018-06-11T11:44:00+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21T13:50:34+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", - "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2018-02-01T13:07:23+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace", - "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2018-02-01T13:16:43+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "7.2.7", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "8e878aff7917ef66e702e03d1359b16eee254e2c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e878aff7917ef66e702e03d1359b16eee254e2c", - "reference": "8e878aff7917ef66e702e03d1359b16eee254e2c", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.1", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "myclabs/deep-copy": "^1.7", - "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", - "phpunit/php-file-iterator": "^2.0.1", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.0", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^3.1", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^1.0", - "sebastian/version": "^2.0.1" - }, - "conflict": { - "phpunit/phpunit-mock-objects": "*" - }, - "require-dev": { - "ext-pdo": "*" - }, - "suggest": { - "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2018-07-15T05:20:50+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" - }, - { - "name": "sebastian/comparator", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "shasum": "" - }, - "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2018-07-12T15:12:46+00:00" - }, - { - "name": "sebastian/diff", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "366541b989927187c4ca70490a35615d3fef2dce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/366541b989927187c4ca70490a35615d3fef2dce", - "reference": "366541b989927187c4ca70490a35615d3fef2dce", - "shasum": "" - }, - "require": { - "php": "^7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0", - "symfony/process": "^2 || ^3.3 || ^4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "time": "2018-06-10T07:54:39+00:00" - }, - { - "name": "sebastian/environment", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2017-07-01T08:51:00+00:00" - }, - { - "name": "sebastian/exporter", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2017-04-03T13:19:02+00:00" - }, - { - "name": "sebastian/global-state", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2017-04-27T15:39:26+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "shasum": "" - }, - "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "shasum": "" - }, - "require": { - "php": "^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "shasum": "" - }, - "require": { - "php": ">=5.6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2015-07-28T20:34:47+00:00" - }, - { - "name": "sebastian/version", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", - "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2017-04-07T12:08:54+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2018-01-29T19:49:41+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "tymon/jwt-auth": 5, - "zizaco/entrust": 20 - }, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^7.1.3" - }, - "platform-dev": [] -} diff --git a/config/app.php b/config/app.php index 2622af98..3d40b81c 100644 --- a/config/app.php +++ b/config/app.php @@ -169,6 +169,7 @@ return [ App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, + Tymon\JWTAuth\Providers\LaravelServiceProvider::class ], /* @@ -219,6 +220,9 @@ return [ 'View' => Illuminate\Support\Facades\View::class, 'Html' => Collective\Html\HtmlFacade::class, 'Entrust' => Zizaco\Entrust\EntrustFacade::class, + 'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class, + 'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class, + ], ]; diff --git a/config/database.php b/config/database.php index 7ee80bab..5633d24f 100644 --- a/config/database.php +++ b/config/database.php @@ -50,7 +50,7 @@ return [ 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', - 'strict' => false, + 'strict' => true, 'engine' => null, ], @@ -58,9 +58,9 @@ return [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), - 'database' => 'forunittest', - 'username' => 'root', - 'password' => '', + 'database' => 'phpunit', + 'username' => 'default', + 'password' => 'secret', 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', diff --git a/config/jwt.php b/config/jwt.php index c4ea92db..b9fffd28 100644 --- a/config/jwt.php +++ b/config/jwt.php @@ -100,7 +100,7 @@ return [ | */ - 'ttl' => env('JWT_TTL', 60), + 'ttl' => env('JWT_TTL', 60 * 12), /* |-------------------------------------------------------------------------- diff --git a/database/factories/MarkingFactory.php b/database/factories/MarkingFactory.php index 989fcf07..9b67e6ee 100644 --- a/database/factories/MarkingFactory.php +++ b/database/factories/MarkingFactory.php @@ -5,6 +5,6 @@ use Faker\Generator as Faker; $factory->define(App\Marking::class, function (Faker $faker) { return [ 'email' => $faker->unique()->safeEmail, - 'marking' => str_random(10) + 'marking' => strtoupper(str_random(5)) ]; }); diff --git a/database/factories/UserBankSlipFactory.php b/database/factories/UserBankSlipFactory.php index e5406866..9ac7db69 100644 --- a/database/factories/UserBankSlipFactory.php +++ b/database/factories/UserBankSlipFactory.php @@ -11,6 +11,5 @@ $factory->define(App\UserBankSlip::class, function (Faker $faker) { 'transfer_amount' => $faker->randomDigit, 'cust_marking' => str_random(10), 'booking_id' => $faker->randomElement($book_id), - 'estimated_arrival_time' => $faker->randomDigit ]; }); diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index ef13ef8b..276efb9e 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -21,6 +21,6 @@ $factory->define(App\User::class, function (Faker $faker) { 'email' => $faker->unique()->safeEmail, 'password' => $password ?: $password = bcrypt('secret'), 'remember_token' => str_random(10), - 'marking' => $faker->name, + 'marking' => $faker->name, ]; -}); +}); \ No newline at end of file diff --git a/database/migrations/2018_04_25_090031_create_setting_suppliers_table.php b/database/migrations/2018_04_25_090031_create_setting_suppliers_table.php index 3bd6a44e..1f3d6df1 100644 --- a/database/migrations/2018_04_25_090031_create_setting_suppliers_table.php +++ b/database/migrations/2018_04_25_090031_create_setting_suppliers_table.php @@ -17,7 +17,7 @@ class CreateSettingSuppliersTable extends Migration $table->increments('id'); $table->string('company_name'); $table->string('gst_no'); - $table->string('supplier_reg_no'); + $table->string('supplier_reg_no')->nullable(); $table->string('bank_name'); $table->string('acc_no'); $table->timestamps(); diff --git a/database/migrations/2018_05_08_032048_create_china_bank_slips_table.php b/database/migrations/2018_05_08_032048_create_china_bank_slips_table.php index c9e54898..3368053a 100644 --- a/database/migrations/2018_05_08_032048_create_china_bank_slips_table.php +++ b/database/migrations/2018_05_08_032048_create_china_bank_slips_table.php @@ -21,7 +21,7 @@ class CreateChinaBankSlipsTable extends Migration $table->string('bank_address'); $table->string('swift'); $table->string('cnap'); - $table->string('bank _branch'); + $table->string('bank_branch'); $table->string('order_id'); $table->double('transfer_amount_needed'); $table->double('actual_transfer_amount'); diff --git a/database/migrations/2018_05_28_085925_create_purchase_orders_table.php b/database/migrations/2018_05_28_085925_create_purchase_orders_table.php index a96688c3..0ab7bbe2 100644 --- a/database/migrations/2018_05_28_085925_create_purchase_orders_table.php +++ b/database/migrations/2018_05_28_085925_create_purchase_orders_table.php @@ -17,7 +17,7 @@ class CreatePurchaseOrdersTable extends Migration $table->increments('id'); $table->string('image_url'); $table->double('amount'); - $table->integer('book_id')->unsigned(); + $table->integer('book_id')->unsigned()->nullable; $table->foreign('book_id')->references('id')->on('bookings'); $table->timestamps(); }); diff --git a/database/migrations/2018_06_25_101043_add_time_limit_setting_credit_table.php b/database/migrations/2018_06_25_101043_add_time_limit_setting_credit_table.php index 4e0aefef..7b6b8e41 100644 --- a/database/migrations/2018_06_25_101043_add_time_limit_setting_credit_table.php +++ b/database/migrations/2018_06_25_101043_add_time_limit_setting_credit_table.php @@ -14,7 +14,7 @@ class AddTimeLimitSettingCreditTable extends Migration public function up() { Schema::table('setting_credits', function (Blueprint $table) { - $table->integer('time_limit'); + $table->integer('time_limit')->nullable(); }); } @@ -26,7 +26,7 @@ class AddTimeLimitSettingCreditTable extends Migration public function down() { Schema::table('setting_credits', function (Blueprint $table) { - // $table->dropColumn('time_limit'); + $table->dropColumn('time_limit'); }); } } \ No newline at end of file diff --git a/database/migrations/2018_06_26_035802_add_eta_user_bank_slip_table.php b/database/migrations/2018_06_26_035802_add_eta_user_bank_slip_table.php index acd53a08..ff5cc1f7 100644 --- a/database/migrations/2018_06_26_035802_add_eta_user_bank_slip_table.php +++ b/database/migrations/2018_06_26_035802_add_eta_user_bank_slip_table.php @@ -14,7 +14,7 @@ class AddEtaUserBankSlipTable extends Migration public function up() { Schema::table('user_bank_slips', function (Blueprint $table) { - $table->integer('estimated_arrival_time'); + $table->integer('estimated_arrival_time')->nullable(); }); } @@ -27,7 +27,7 @@ class AddEtaUserBankSlipTable extends Migration { if (Schema::hasColumn('user_bank_slips', 'estimated_arrival_time')) { Schema::table('user_bank_slips', function (Blueprint $table) { - // $table->dropColumn('estimated_arrival_time'); + $table->dropColumn('estimated_arrival_time'); }); } } diff --git a/database/migrations/2018_06_27_081455_add_bookingid_foreignkey_to_chinabankslip_table.php b/database/migrations/2018_06_27_081455_add_bookingid_foreignkey_to_chinabankslip_table.php index e46794c8..f83dbe57 100644 --- a/database/migrations/2018_06_27_081455_add_bookingid_foreignkey_to_chinabankslip_table.php +++ b/database/migrations/2018_06_27_081455_add_bookingid_foreignkey_to_chinabankslip_table.php @@ -15,7 +15,7 @@ class AddBookingidForeignkeyToChinabankslipTable extends Migration { Schema::table('china_bank_slips', function($table) { - $table->integer('booking_id')->unsigned(); + $table->integer('booking_id')->unsigned()->nullable(); $table->foreign('booking_id')->references('id')->on('bookings'); }); } diff --git a/database/migrations/2018_06_28_011717_rename_booking_foreignkey_in_po_table.php b/database/migrations/2018_06_28_011717_rename_booking_foreignkey_in_po_table.php index 98e6832d..aa36fdd9 100644 --- a/database/migrations/2018_06_28_011717_rename_booking_foreignkey_in_po_table.php +++ b/database/migrations/2018_06_28_011717_rename_booking_foreignkey_in_po_table.php @@ -17,7 +17,7 @@ class RenameBookingForeignkeyInPoTable extends Migration { $table->dropForeign(['book_id']); $table->dropColumn('book_id'); - $table->integer('booking_id')->unsigned(); + $table->integer('booking_id')->unsigned()->nullable(); $table->foreign('booking_id')->references('id')->on('bookings'); }); } diff --git a/database/migrations/2018_07_02_104306_rename_booking_foreignkey_from_supplierbooking_table.php b/database/migrations/2018_07_02_104306_rename_booking_foreignkey_from_supplierbooking_table.php index f1a1dbd6..66df713b 100644 --- a/database/migrations/2018_07_02_104306_rename_booking_foreignkey_from_supplierbooking_table.php +++ b/database/migrations/2018_07_02_104306_rename_booking_foreignkey_from_supplierbooking_table.php @@ -17,7 +17,7 @@ class RenameBookingForeignkeyFromSupplierbookingTable extends Migration { $table->dropForeign(['book_id']); $table->dropColumn('book_id'); - $table->integer('booking_id')->unsigned(); + $table->integer('booking_id')->unsigned()->nullable(); $table->foreign('booking_id')->references('id')->on('bookings'); }); } diff --git a/database/migrations/2018_07_03_014020_add_billing_field_to_supplierbooking_table.php b/database/migrations/2018_07_03_014020_add_billing_field_to_supplierbooking_table.php index 15e2f5a2..11ea5119 100644 --- a/database/migrations/2018_07_03_014020_add_billing_field_to_supplierbooking_table.php +++ b/database/migrations/2018_07_03_014020_add_billing_field_to_supplierbooking_table.php @@ -15,7 +15,7 @@ class AddBillingFieldToSupplierbookingTable extends Migration { Schema::table('supplier_bookings', function($table) { - $table->double('billing_amount'); + $table->double('billing_amount')->nullable(); }); } @@ -26,6 +26,8 @@ class AddBillingFieldToSupplierbookingTable extends Migration */ public function down() { - // + Schema::table('supplier_bookings', function (Blueprint $table) { + $table->dropColumn('billing_amount'); + }); } } diff --git a/database/migrations/2018_07_03_014343_add_salestax_field_to_supplierbooking_table.php b/database/migrations/2018_07_03_014343_add_salestax_field_to_supplierbooking_table.php index 63cafbdd..cdb3a24c 100644 --- a/database/migrations/2018_07_03_014343_add_salestax_field_to_supplierbooking_table.php +++ b/database/migrations/2018_07_03_014343_add_salestax_field_to_supplierbooking_table.php @@ -15,7 +15,7 @@ class AddSalestaxFieldToSupplierbookingTable extends Migration { Schema::table('supplier_bookings', function($table) { - $table->double('salestax_amount'); + $table->double('salestax_amount')->nullable(); }); } @@ -26,6 +26,8 @@ class AddSalestaxFieldToSupplierbookingTable extends Migration */ public function down() { - // + Schema::table('supplier_bookings', function (Blueprint $table) { + $table->dropColumn('salestax_amount'); + }); } } diff --git a/database/migrations/2018_07_05_041532_add_name_in_users_table.php b/database/migrations/2018_07_05_041532_add_name_in_users_table.php index e15f3d90..6aa3e718 100644 --- a/database/migrations/2018_07_05_041532_add_name_in_users_table.php +++ b/database/migrations/2018_07_05_041532_add_name_in_users_table.php @@ -15,7 +15,7 @@ class AddNameInUsersTable extends Migration { Schema::table('users', function($table) { - $table->string('name'); + $table->string('name')->nullable(); }); } diff --git a/database/migrations/2018_07_05_095441_add_marking_to_user_table.php b/database/migrations/2018_07_05_095441_add_marking_to_user_table.php index d8824ab7..20861381 100644 --- a/database/migrations/2018_07_05_095441_add_marking_to_user_table.php +++ b/database/migrations/2018_07_05_095441_add_marking_to_user_table.php @@ -15,7 +15,7 @@ class AddMarkingToUserTable extends Migration { Schema::table('users', function($table) { - $table->string('marking'); + $table->string('marking')->nullable(); }); } @@ -25,7 +25,10 @@ class AddMarkingToUserTable extends Migration * @return void */ public function down() - { - // + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('marking'); + }); + } } diff --git a/database/migrations/2018_07_06_075408_create_setting_active_bank_table.php b/database/migrations/2018_07_06_075408_create_setting_active_bank_table.php index 10e0947a..dc783c2d 100644 --- a/database/migrations/2018_07_06_075408_create_setting_active_bank_table.php +++ b/database/migrations/2018_07_06_075408_create_setting_active_bank_table.php @@ -17,7 +17,7 @@ class CreateSettingActiveBankTable extends Migration $table->increments('id'); $table->string('x1_bank_id')->unique(); $table->string('x2_bank_id')->unique(); - $table->string('beneficiary_id')->unique(); + $table->string('beneficiary_id')->nullable(); $table->foreign('x1_bank_id') ->references('acc_no')->on('setting_malaysia_banks') ->onDelete('cascade'); diff --git a/database/migrations/2018_07_11_150423_update_accno_to_id_setting_active_table.php b/database/migrations/2018_07_11_150423_update_accno_to_id_setting_active_table.php deleted file mode 100644 index 148134b9..00000000 --- a/database/migrations/2018_07_11_150423_update_accno_to_id_setting_active_table.php +++ /dev/null @@ -1,51 +0,0 @@ -dropForeign('setting_active_banks_x1_bank_id_foreign'); - $table->dropForeign('setting_active_banks_x2_bank_id_foreign'); - $table->dropForeign('setting_active_banks_beneficiary_id_foreign'); - $table->dropColumn('x1_bank_id'); - $table->dropColumn('x2_bank_id'); - $table->dropColumn('beneficiary_id'); - }); - - Schema::table('setting_active_banks', function(Blueprint $table) - { - $table->unsignedInteger('x1_bank_id')->unique(); - $table->foreign('x1_bank_id') - ->references('id')->on('setting_malaysia_banks'); - - $table->unsignedInteger('x2_bank_id')->unique(); - $table->foreign('x2_bank_id') - ->references('id')->on('setting_malaysia_banks'); - - $table->unsignedInteger('beneficiary_id')->unique(); - $table->foreign('beneficiary_id') - ->references('id')->on('setting_beneficiaries'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } -} diff --git a/database/migrations/2018_07_20_175339_add_orderno_n_paymentfor_field_to_bookings_table.php b/database/migrations/2018_07_20_175339_add_orderno_n_paymentfor_field_to_bookings_table.php new file mode 100644 index 00000000..b9aed4d2 --- /dev/null +++ b/database/migrations/2018_07_20_175339_add_orderno_n_paymentfor_field_to_bookings_table.php @@ -0,0 +1,33 @@ +string('order_no')->nullable(); + $table->string('payment_for')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('bookings', function (Blueprint $table) { + // + }); + } +} diff --git a/database/migrations/2018_07_21_102920_create_notification_table.php b/database/migrations/2018_07_21_102920_create_notification_table.php new file mode 100644 index 00000000..7e3be228 --- /dev/null +++ b/database/migrations/2018_07_21_102920_create_notification_table.php @@ -0,0 +1,39 @@ +increments('id'); + $table->string('detail'); + $table->string('link'); + $table->unsignedInteger('user_id'); + $table->boolean('is_read')->default(0); + $table->timestamps(); + + $table->foreign('user_id') + ->references('id')->on('users') + ->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('notifications'); + } +} diff --git a/database/migrations/2018_07_26_094305_add_fields_into_supplier_bookings_table.php b/database/migrations/2018_07_26_094305_add_fields_into_supplier_bookings_table.php new file mode 100644 index 00000000..c7320caa --- /dev/null +++ b/database/migrations/2018_07_26_094305_add_fields_into_supplier_bookings_table.php @@ -0,0 +1,32 @@ +string('amount_in_myr')->nullable(); + $table->string('tax_rate')->nullable(); + $table->string('amount_after_tax')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2018_07_30_162106_change_datatype_in_booking_table.php b/database/migrations/2018_07_30_162106_change_datatype_in_booking_table.php new file mode 100644 index 00000000..fa2cb486 --- /dev/null +++ b/database/migrations/2018_07_30_162106_change_datatype_in_booking_table.php @@ -0,0 +1,33 @@ +string('account_num')->nullable()->change(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('bookings', function (Blueprint $table) { + // + }); + } +} diff --git a/database/migrations/2018_08_02_141753_make_nullable_in_china_bank_slips_table.php b/database/migrations/2018_08_02_141753_make_nullable_in_china_bank_slips_table.php new file mode 100644 index 00000000..3a73ae18 --- /dev/null +++ b/database/migrations/2018_08_02_141753_make_nullable_in_china_bank_slips_table.php @@ -0,0 +1,42 @@ +string('company_name')->nullable()->change(); + $table->string('bank_name')->nullable()->change(); + $table->string('acc_no')->nullable()->change(); + $table->string('bank_address')->nullable()->change(); + $table->string('swift')->nullable()->change(); + $table->string('cnap')->nullable()->change(); + $table->string('order_id')->nullable()->change(); + $table->decimal('transfer_amount_needed')->nullable()->change(); + $table->decimal('actual_transfer_amount')->nullable()->change(); + $table->string('date')->nullable()->change(); + $table->string('details')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('china_bank_slips', function (Blueprint $table) { + // + }); + } +} diff --git a/database/migrations/2018_08_08_103115_make_nullable_in_bookings_table.php b/database/migrations/2018_08_08_103115_make_nullable_in_bookings_table.php new file mode 100644 index 00000000..d8524e66 --- /dev/null +++ b/database/migrations/2018_08_08_103115_make_nullable_in_bookings_table.php @@ -0,0 +1,37 @@ +string('company_name')->nullable()->change(); + $table->string('company_address')->nullable()->change(); + $table->string('bank_address')->nullable()->change(); + $table->string('swift_code')->nullable()->change(); + $table->string('cnap')->nullable()->change(); + $table->string('term')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('bookings', function (Blueprint $table) { + // + }); + } +} diff --git a/database/migrations/2018_08_08_104726_make_nullable_in_supplier_bookings_table.php b/database/migrations/2018_08_08_104726_make_nullable_in_supplier_bookings_table.php new file mode 100644 index 00000000..6c91e5f7 --- /dev/null +++ b/database/migrations/2018_08_08_104726_make_nullable_in_supplier_bookings_table.php @@ -0,0 +1,33 @@ +decimal('transfer_amount')->nullable()->change(); + $table->decimal('rmbBankAmount')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('supplier_bookings', function (Blueprint $table) { + // + }); + } +} diff --git a/database/migrations/2018_08_13_121253_drop_eta_in_china_bank_slips_table.php b/database/migrations/2018_08_13_121253_drop_eta_in_china_bank_slips_table.php new file mode 100644 index 00000000..61814d4e --- /dev/null +++ b/database/migrations/2018_08_13_121253_drop_eta_in_china_bank_slips_table.php @@ -0,0 +1,29 @@ +dropColumn('estimated_arrival_time'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + } +} diff --git a/database/migrations/2018_08_13_161906_remove_billing_amount_in_supplier_bookings.php b/database/migrations/2018_08_13_161906_remove_billing_amount_in_supplier_bookings.php new file mode 100644 index 00000000..55f0b542 --- /dev/null +++ b/database/migrations/2018_08_13_161906_remove_billing_amount_in_supplier_bookings.php @@ -0,0 +1,30 @@ +dropColumn('billing_amount'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2018_08_13_162910_dropcolumn_bank_branch_in_china_bank_slips_table.php b/database/migrations/2018_08_13_162910_dropcolumn_bank_branch_in_china_bank_slips_table.php new file mode 100644 index 00000000..c93b456d --- /dev/null +++ b/database/migrations/2018_08_13_162910_dropcolumn_bank_branch_in_china_bank_slips_table.php @@ -0,0 +1,32 @@ +dropColumn('bank_branch'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('china_bank_slips', function (Blueprint $table) { + // + }); + } +} diff --git a/database/seeds/BookTableSeeder.php b/database/seeds/BookTableSeeder.php index 5dfc3fd9..e27ff224 100644 --- a/database/seeds/BookTableSeeder.php +++ b/database/seeds/BookTableSeeder.php @@ -18,8 +18,8 @@ class BookTableSeeder extends Seeder $rate = Rate::all()->last(); DB::table('bookings')->insert([ - 'account_name' => 'milah', - 'account_num' => '99898', + 'account_name' => 'EXCHANGE SDN BHD', + 'account_num' => '99898239298123', 'bank_name' => 'maybank', 'bank_branch' => 'rembau', 'company_name' => 'ICEF', @@ -35,7 +35,9 @@ class BookTableSeeder extends Seeder 'rate_id' => $rate->id, 'user_id' => $user->id, 'status' => 2, - 'admin_status' => 2, + 'admin_status' => 1, + 'order_no' => '001', + 'payment_for' => 'FULL PAYMENT', 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), ]); diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index ebc04e05..e0ba98e9 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -28,6 +28,7 @@ class DatabaseSeeder extends Seeder $this->call(SettingActiveBankSeeder::class); $this->call(SettingTaxRateSeeder::class); $this->call(SettingBillingChargeSeeder::class); + $this->call(NotificationSeeder::class); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); } } diff --git a/database/seeds/NotificationSeeder.php b/database/seeds/NotificationSeeder.php new file mode 100644 index 00000000..316b11ad --- /dev/null +++ b/database/seeds/NotificationSeeder.php @@ -0,0 +1,35 @@ +first(); + $admin = User::where("email", "admin@example.com")->first(); + + DB::table('notifications')->insert([ + 'detail' => 'This is an user seeder notification', + 'user_id' => $user->id, + 'link' => '/', + 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), + 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), + ]); + + DB::table('notifications')->insert([ + 'detail' => 'This is an admin seeder notification', + 'user_id' => $admin->id, + 'link' => '/', + 'created_at' => Carbon::now()->format('Y-m-d H:i:s'), + 'updated_at' => Carbon::now()->format('Y-m-d H:i:s'), + ]); + } +} diff --git a/database/seeds/RolesAndPermissionsSeeder.php b/database/seeds/RolesAndPermissionsSeeder.php index dfcc6ab5..3274bd14 100644 --- a/database/seeds/RolesAndPermissionsSeeder.php +++ b/database/seeds/RolesAndPermissionsSeeder.php @@ -132,21 +132,21 @@ class RolesAndPermissionsSeeder extends Seeder { } $this->command->info($commandBullet."Attached $pcount permissions to $role[name] role"); - // Update old records - if ($originalRole) - { - $userCount = 0; - $RoleUsers = DB::table(Config::get('entrust.role_user_table'))->where('role_id',$originalRole->id)->get(); - foreach ($RoleUsers as $user) { - $u = User::where('id',$user->user_id)->first(); - $u->attachRole($newRole); - $userCount++; - } - $this->command->info($commandBullet."Updated role attachment for $userCount users"); + // Update old records : Temporary disabled + // if ($originalRole) + // { + // $userCount = 0; + // $RoleUsers = DB::table(Config::get('entrust.role_user_table'))->where('role_id',$originalRole->id)->get(); + // foreach ($RoleUsers as $user) { + // $u = User::where('id',$user->user_id)->first(); + // $u->attachRole($newRole); + // $userCount++; + // } + // $this->command->info($commandBullet."Updated role attachment for $userCount users"); - Role::where('id',$originalRole->id)->delete(); // will also remove old role_user records - $this->command->info($commandBullet."Removed the original $role[name] role"); - } + // Role::where('id',$originalRole->id)->delete(); // will also remove old role_user records + // $this->command->info($commandBullet."Removed the original $role[name] role"); + // } } diff --git a/database/seeds/SettingActiveBankSeeder.php b/database/seeds/SettingActiveBankSeeder.php index 59ed5afd..2dc4831e 100644 --- a/database/seeds/SettingActiveBankSeeder.php +++ b/database/seeds/SettingActiveBankSeeder.php @@ -13,15 +13,15 @@ class SettingActiveBankSeeder extends Seeder */ public function run() { - $bankx1 = SettingMalaysiaBank::where('acc_no', "=" ,'malaysiaacc01')->first(); - $bankx2 = SettingMalaysiaBank::where('acc_no', "=",'malaysiaacc02')->first(); - $chinabank = SettingBeneficiary::where('acc_no', "=" ,'123456789')->first(); + $bankx1 = SettingMalaysiaBank::find(1); + $bankx2 = SettingMalaysiaBank::find(2); + $beneficiary = SettingBeneficiary::find(2); DB::table('setting_active_banks')->truncate(); DB::table('setting_active_banks')->insert([ 'x1_bank_id' => $bankx1->id, 'x2_bank_id' => $bankx2->id, - 'beneficiary_id' => $chinabank->id + 'beneficiary_id' => $beneficiary->id ]); } } diff --git a/database/seeds/SettingBeneficiarySeeder.php b/database/seeds/SettingBeneficiarySeeder.php index ff34fbc4..a78a899d 100644 --- a/database/seeds/SettingBeneficiarySeeder.php +++ b/database/seeds/SettingBeneficiarySeeder.php @@ -23,7 +23,7 @@ class SettingBeneficiarySeeder extends Seeder 'bank_branch' => 'Putra' ]); DB::table('setting_beneficiaries')->insert([ - 'company_name' => 'Bota', + 'company_name' => 'CIEF1', 'bank_name' => 'CIMB', 'acc_no' => '123456789', 'bank_address' => 'Jalan cyberjaya', diff --git a/database/seeds/SettingCreditSeeder.php b/database/seeds/SettingCreditSeeder.php index a79c1e2d..8b8c8f76 100644 --- a/database/seeds/SettingCreditSeeder.php +++ b/database/seeds/SettingCreditSeeder.php @@ -13,9 +13,9 @@ class SettingCreditSeeder extends Seeder public function run() { DB::table('setting_credits')->insert([ - 'rmb_credit_limit' => '4000', - 'usd_credit_limit' => '5000', - 'time_limit' => '6000' + 'rmb_credit_limit' => '100000', + 'usd_credit_limit' => '100000', + 'time_limit' => '60000' ]); } } diff --git a/database/seeds/SettingMalaysiaBankSeeder.php b/database/seeds/SettingMalaysiaBankSeeder.php index 21cc374a..7fed97fe 100644 --- a/database/seeds/SettingMalaysiaBankSeeder.php +++ b/database/seeds/SettingMalaysiaBankSeeder.php @@ -15,8 +15,8 @@ class SettingMalaysiaBankSeeder extends Seeder DB::table('setting_malaysia_banks')->truncate(); DB::table('setting_malaysia_banks')->insert([ 'company_name' => 'CIEF', - 'bank_name' => 'Maybank', - 'acc_no' => 'malaysiaacc01', + 'bank_name' => 'MAYBANK', + 'acc_no' => '75930284783', 'bank_address' => 'Jalan putrajaya', 'swift' => 'ABC123', 'cnap' => 'CED234', @@ -24,8 +24,8 @@ class SettingMalaysiaBankSeeder extends Seeder ]); DB::table('setting_malaysia_banks')->insert([ 'company_name' => 'CIEF', - 'bank_name' => 'Maybank', - 'acc_no' => 'malaysiaacc02', + 'bank_name' => 'MAYBANK', + 'acc_no' => '85839298348', 'bank_address' => 'Jalan putrajaya', 'swift' => 'ABC123', 'cnap' => 'CED234', diff --git a/database/seeds/SettingTaxRateSeeder.php b/database/seeds/SettingTaxRateSeeder.php index 9ecff163..f2b4aa01 100644 --- a/database/seeds/SettingTaxRateSeeder.php +++ b/database/seeds/SettingTaxRateSeeder.php @@ -12,7 +12,7 @@ class SettingTaxRateSeeder extends Seeder public function run() { DB::table('setting_tax_rates')->insert([ - 'tax_rate' => '1.1', + 'tax_rate' => '1.0', ]); } } diff --git a/docker-prod.yml b/docker-prod.yml index 41b2345d..7295a0f6 100644 --- a/docker-prod.yml +++ b/docker-prod.yml @@ -67,5 +67,19 @@ services: cache: image: redis:3.0-alpine + phpmyadmin: + depends_on: + - mysql + image: phpmyadmin/phpmyadmin + restart: always + ports: + - 8090:80 + environment: + PMA_HOST: mysql + MYSQL_ROOT_PASSWORD: root + networks: + - frontend + - backend + volumes: dbdata: \ No newline at end of file diff --git a/package.json b/package.json index 5b860ffb..33534d51 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "@fortawesome/fontawesome-free-brands": "^5.0.8", "@fortawesome/fontawesome-free-regular": "^5.0.8", "@fortawesome/fontawesome-free-solid": "^5.0.8", - "@fortawesome/vue-fontawesome": "^0.0.22", + "@fortawesome/vue-fontawesome": "0.0.22", "@xkeshi/vue-countdown": "^0.6.0", "axios": "^0.18.0", "bootstrap": "^4.0.0", @@ -27,7 +27,6 @@ "npm": "^6.0.1", "popper.js": "^1.14.1", "sweetalert2": "^7.15.1", - "vee-validate": "^2.1.0-beta.5", "vform": "^1.0.0", "vue": "^2.5.16", "vue-axios": "^2.1.1", diff --git a/phpunit.xml b/phpunit.xml index d7f2ae60..3166e109 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -30,10 +30,12 @@ - + - - + + + diff --git a/public/banklogo.png b/public/banklogo.png deleted file mode 100644 index 90b6a8c8..00000000 Binary files a/public/banklogo.png and /dev/null differ diff --git a/readme.md b/readme.md index 591fad7e..38e97b74 100644 --- a/readme.md +++ b/readme.md @@ -47,6 +47,13 @@ npm run hot npm run production ``` +#### Todo +- [ ] Unit test on supplier booking +- [ ] Continous delivery with npm build +- [ ] Add comments in controller functions +- [ ] Store files to AWS S3 +- [ ] Real time rate update + ## Changelog Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently. diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js index 5b2beb01..9509ac12 100644 --- a/resources/assets/js/app.js +++ b/resources/assets/js/app.js @@ -10,26 +10,24 @@ import locale from 'element-ui/lib/locale/lang/en' import '~/plugins' import '~/components' -import VeeValidate from 'vee-validate'; const config = { - errorBagName: 'errors', // change if property conflicts. - fieldsBagName: 'fields', - delay: 0, - // locale: 'zh_CN', - strict: true, - enableAutoClasses: false, - classNames: { - touched: 'touched', // the control has been blurred - untouched: 'untouched', // the control hasn't been blurred - valid: 'valid', // model is valid - invalid: 'invalid', // model is invalid - pristine: 'pristine', // control has not been interacted with - dirty: 'dirty' // control has been interacted with - }, - events: 'blur', - inject: true -}; -Vue.use(VeeValidate, config); + errorBagName: 'errors', // change if property conflicts. + fieldsBagName: 'fields', + delay: 0, + // locale: 'zh_CN', + strict: true, + enableAutoClasses: false, + classNames: { + touched: 'touched', // the control has been blurred + untouched: 'untouched', // the control hasn't been blurred + valid: 'valid', // model is valid + invalid: 'invalid', // model is invalid + pristine: 'pristine', // control has not been interacted with + dirty: 'dirty' // control has been interacted with + }, + events: 'blur', + inject: true +} Vue.config.productionTip = false diff --git a/resources/assets/js/components/AdminProgressTrack.vue b/resources/assets/js/components/AdminProgressTrack.vue index 3a0a6507..499f307b 100644 --- a/resources/assets/js/components/AdminProgressTrack.vue +++ b/resources/assets/js/components/AdminProgressTrack.vue @@ -1,10 +1,10 @@