<excludeFolder url="file://$MODULE_DIR$/vendor/clue/stream-filter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/coderello/laravel-nova-lang" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dompdf/dompdf" />
+ <excludeFolder url="file://$MODULE_DIR$/vendor/http-interop/http-factory-guzzle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/itsgoingd/clockwork" />
+ <excludeFolder url="file://$MODULE_DIR$/vendor/jean85/pretty-package-versions" />
<excludeFolder url="file://$MODULE_DIR$/vendor/justinrainbow/json-schema" />
<excludeFolder url="file://$MODULE_DIR$/vendor/kriswallsmith/buzz" />
<excludeFolder url="file://$MODULE_DIR$/vendor/kub-at/php-simple-html-dom-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phenx/php-svg-lib" />
<excludeFolder url="file://$MODULE_DIR$/vendor/php-http/client-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/php-http/discovery" />
+ <excludeFolder url="file://$MODULE_DIR$/vendor/php-http/guzzle6-adapter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/php-http/httplug" />
<excludeFolder url="file://$MODULE_DIR$/vendor/php-http/message" />
<excludeFolder url="file://$MODULE_DIR$/vendor/php-http/message-factory" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sabberworm/php-css-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/seld/jsonlint" />
<excludeFolder url="file://$MODULE_DIR$/vendor/seld/phar-utils" />
+ <excludeFolder url="file://$MODULE_DIR$/vendor/sentry/sentry" />
+ <excludeFolder url="file://$MODULE_DIR$/vendor/sentry/sentry-laravel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/pdf-to-image" />
<excludeFolder url="file://$MODULE_DIR$/vendor/spatie/pdf-to-text" />
<excludeFolder url="file://$MODULE_DIR$/vendor/stripe/stripe-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/filesystem" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/options-resolver" />
+ <excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-uuid" />
</content>
<content url="file://$MODULE_DIR$/node_modules" />
<orderEntry type="inheritedJdk" />
<path value="$PROJECT_DIR$/vendor/laravel/cashier" />
<path value="$PROJECT_DIR$/vendor/stripe/stripe-php" />
<path value="$PROJECT_DIR$/vendor/league/html-to-markdown" />
+ <path value="$PROJECT_DIR$/vendor/php-http/guzzle6-adapter" />
+ <path value="$PROJECT_DIR$/vendor/http-interop/http-factory-guzzle" />
+ <path value="$PROJECT_DIR$/vendor/symfony/polyfill-uuid" />
+ <path value="$PROJECT_DIR$/vendor/jean85/pretty-package-versions" />
+ <path value="$PROJECT_DIR$/vendor/sentry/sentry" />
+ <path value="$PROJECT_DIR$/vendor/sentry/sentry-laravel" />
</include_path>
</component>
<component name="PhpInterpreters">
*/
public function report(Throwable $exception)
{
+ if (app()->bound('sentry') && $this->shouldReport($exception)) {
+ app('sentry')->captureException($exception);
+ }
+
parent::report($exception);
}
-
/**
* Render an exception into an HTTP response.
*
--- /dev/null
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use A17\Twill\Http\Controllers\Admin\ModuleController;
+
+class AdCampaignController extends ModuleController
+{
+ protected $moduleName = 'adCampaigns';
+}
--- /dev/null
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use A17\Twill\Http\Controllers\Admin\ModuleController;
+
+class ArticleController extends ModuleController
+{
+ protected $moduleName = 'articles';
+}
--- /dev/null
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use A17\Twill\Http\Controllers\Admin\ModuleController;
+
+class EventController extends ModuleController
+{
+ protected $moduleName = 'events';
+}
--- /dev/null
+<?php
+
+namespace App\Http\Controllers;
+
+use Illuminate\Contracts\Filesystem\Filesystem;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\File;
+use Illuminate\Support\Facades\Response;
+use Illuminate\Support\Facades\Storage;
+use League\Glide\Responses\LaravelResponseFactory;
+use League\Glide\ServerFactory;
+
+class ImageController extends Controller
+{
+ public function show($path)
+ {
+ \Debugbar::disable();
+ return "a";
+ $server = ServerFactory::create([
+ 'response' => new LaravelResponseFactory($request),
+ 'source' => Storage::cloud()->getDriver(),
+ 'cache' => $filesystem->getDriver(),
+ 'cache_path_prefix' => '.cache',
+ 'base_url' => 'images',
+ 'driver' => 'imagick',
+ 'cache_with_file_extensions' => true
+ ]);
+
+
+ $img = $server->makeImage($path, request()->all());
+
+// $file = Storage::get($img);
+// $type = Storage::mimeType($img);
+//
+// $response = Response::make($file, 200);
+//
+// $response->header("Content-Type", $type);
+
+// return $response;
+
+ \Image::make($filesystem->get($img))->response();
+
+ return $server->getImageResponse($path, request()->all());
+
+ }
+}
--- /dev/null
+<?php
+
+namespace App\Http\Requests\Admin;
+
+use A17\Twill\Http\Requests\Admin\Request;
+
+class AdCampaignRequest extends Request
+{
+ public function rulesForCreate()
+ {
+ return [];
+ }
+
+ public function rulesForUpdate()
+ {
+ return [];
+ }
+}
--- /dev/null
+<?php
+
+namespace App\Http\Requests\Admin;
+
+use A17\Twill\Http\Requests\Admin\Request;
+
+class ArticleRequest extends Request
+{
+ public function rulesForCreate()
+ {
+ return [];
+ }
+
+ public function rulesForUpdate()
+ {
+ return [];
+ }
+}
--- /dev/null
+<?php
+
+namespace App\Http\Requests\Admin;
+
+use A17\Twill\Http\Requests\Admin\Request;
+
+class EventRequest extends Request
+{
+ public function rulesForCreate()
+ {
+ return [];
+ }
+
+ public function rulesForUpdate()
+ {
+ return [];
+ }
+}
--- /dev/null
+<?php
+
+namespace App\Models;
+
+use A17\Twill\Models\Behaviors\HasSlug;
+use A17\Twill\Models\Behaviors\HasMedias;
+use A17\Twill\Models\Behaviors\HasPosition;
+use A17\Twill\Models\Behaviors\Sortable;
+use A17\Twill\Models\Model;
+
+class AdCampaign extends Model implements Sortable
+{
+ use HasSlug, HasMedias, HasPosition;
+
+ protected $fillable = [
+ 'published',
+ 'title',
+ 'description',
+ 'position',
+ 'url',
+ 'publish_start_date',
+ 'publish_end_date'
+ ];
+
+ public $slugAttributes = [
+ 'title',
+ ];
+
+ public $mediasParams = [
+ 'cover' => [
+ 'desktop' => [
+ [
+ 'name' => 'desktop',
+ 'ratio' => 16 / 9,
+ ],
+ ],
+ 'mobile' => [
+ [
+ 'name' => 'mobile',
+ 'ratio' => 1,
+ ],
+ ],
+ 'flexible' => [
+ [
+ 'name' => 'free',
+ 'ratio' => 0,
+ ],
+ [
+ 'name' => 'landscape',
+ 'ratio' => 16 / 9,
+ ],
+ [
+ 'name' => 'portrait',
+ 'ratio' => 3 / 5,
+ ],
+ ],
+ ],
+ ];
+}
--- /dev/null
+<?php
+
+namespace App\Models;
+
+use A17\Twill\Models\Behaviors\HasBlocks;
+use A17\Twill\Models\Behaviors\HasSlug;
+use A17\Twill\Models\Behaviors\HasMedias;
+use A17\Twill\Models\Behaviors\HasRevisions;
+use A17\Twill\Models\Behaviors\HasPosition;
+use A17\Twill\Models\Behaviors\Sortable;
+use A17\Twill\Models\Model;
+
+class Article extends Model implements Sortable
+{
+ use HasBlocks, HasSlug, HasMedias, HasRevisions, HasPosition;
+
+ protected $fillable = [
+ 'published',
+ 'title',
+ 'description',
+ 'position',
+ ];
+
+ public $slugAttributes = [
+ 'title',
+ ];
+
+ public $mediasParams = [
+ 'cover' => [
+ 'desktop' => [
+ [
+ 'name' => 'desktop',
+ 'ratio' => 16 / 9,
+ ],
+ ],
+ 'mobile' => [
+ [
+ 'name' => 'mobile',
+ 'ratio' => 1,
+ ],
+ ],
+ 'flexible' => [
+ [
+ 'name' => 'free',
+ 'ratio' => 0,
+ ],
+ [
+ 'name' => 'landscape',
+ 'ratio' => 16 / 9,
+ ],
+ [
+ 'name' => 'portrait',
+ 'ratio' => 3 / 5,
+ ],
+ ],
+ ],
+ ];
+}
--- /dev/null
+<?php
+
+namespace App\Models;
+
+use A17\Twill\Models\Behaviors\HasSlug;
+use A17\Twill\Models\Behaviors\HasMedias;
+use A17\Twill\Models\Model;
+
+class Event extends Model
+{
+ use HasSlug, HasMedias;
+
+ protected $fillable = [
+ 'published',
+ 'title',
+ 'description',
+ ];
+
+ public $slugAttributes = [
+ 'title',
+ ];
+
+ public $mediasParams = [
+ 'cover' => [
+ 'desktop' => [
+ [
+ 'name' => 'desktop',
+ 'ratio' => 16 / 9,
+ ],
+ ],
+ 'mobile' => [
+ [
+ 'name' => 'mobile',
+ 'ratio' => 1,
+ ],
+ ],
+ 'flexible' => [
+ [
+ 'name' => 'free',
+ 'ratio' => 0,
+ ],
+ [
+ 'name' => 'landscape',
+ 'ratio' => 16 / 9,
+ ],
+ [
+ 'name' => 'portrait',
+ 'ratio' => 3 / 5,
+ ],
+ ],
+ ],
+ ];
+}
--- /dev/null
+<?php
+
+namespace App\Models\Revisions;
+
+use A17\Twill\Models\Revision;
+
+class ArticleRevision extends Revision
+{
+ protected $table = "article_revisions";
+}
--- /dev/null
+<?php
+
+namespace App\Models\Slugs;
+
+use A17\Twill\Models\Model;
+
+class AdCampaignSlug extends Model
+{
+ protected $table = "ad_campaign_slugs";
+}
--- /dev/null
+<?php
+
+namespace App\Models\Slugs;
+
+use A17\Twill\Models\Model;
+
+class ArticleSlug extends Model
+{
+ protected $table = "article_slugs";
+}
--- /dev/null
+<?php
+
+namespace App\Models\Slugs;
+
+use A17\Twill\Models\Model;
+
+class EventSlug extends Model
+{
+ protected $table = "event_slugs";
+}
--- /dev/null
+<?php
+
+namespace App\Repositories;
+
+use A17\Twill\Repositories\Behaviors\HandleSlugs;
+use A17\Twill\Repositories\Behaviors\HandleMedias;
+use A17\Twill\Repositories\ModuleRepository;
+use App\Models\AdCampaign;
+
+class AdCampaignRepository extends ModuleRepository
+{
+ use HandleSlugs, HandleMedias;
+
+ public function __construct(AdCampaign $model)
+ {
+ $this->model = $model;
+ }
+}
--- /dev/null
+<?php
+
+namespace App\Repositories;
+
+use A17\Twill\Repositories\Behaviors\HandleBlocks;
+use A17\Twill\Repositories\Behaviors\HandleSlugs;
+use A17\Twill\Repositories\Behaviors\HandleMedias;
+use A17\Twill\Repositories\Behaviors\HandleRevisions;
+use A17\Twill\Repositories\ModuleRepository;
+use App\Models\Article;
+
+class ArticleRepository extends ModuleRepository
+{
+ use HandleBlocks, HandleSlugs, HandleMedias, HandleRevisions;
+
+ public function __construct(Article $model)
+ {
+ $this->model = $model;
+ }
+}
--- /dev/null
+<?php
+
+namespace App\Repositories;
+
+use A17\Twill\Repositories\Behaviors\HandleSlugs;
+use A17\Twill\Repositories\Behaviors\HandleMedias;
+use A17\Twill\Repositories\ModuleRepository;
+use App\Models\Event;
+
+class EventRepository extends ModuleRepository
+{
+ use HandleSlugs, HandleMedias;
+
+ public function __construct(Event $model)
+ {
+ $this->model = $model;
+ }
+}
"laravel/nova": "~3.0",
"laravel/scout": "^8.0",
"laravel/tinker": "^2.0",
+ "league/glide": "^1.5",
+ "league/glide-laravel": "^1.0",
"league/html-to-markdown": "^4.9",
"mailgun/mailgun-php": "^3.0",
"nyholm/psr7": "^1.2",
"pusher/pusher-php-server": "~4.0",
+ "sentry/sentry-laravel": "1.7.1",
"spatie/pdf-to-image": "^2.0",
"spatie/pdf-to-text": "^1.3",
"vaites/php-apache-tika": "^0.9.1"
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "dd380938d2af9ce010a6b0c03d32998e",
+ "content-hash": "619658d66882bcbce2ed61728005dc01",
"packages": [
{
"name": "algolia/algoliasearch-client-php",
],
"time": "2020-04-19T11:20:08+00:00"
},
+ {
+ "name": "composer/package-versions-deprecated",
+ "version": "1.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/package-versions-deprecated.git",
+ "reference": "98df7f1b293c0550bd5b1ce6b60b59bdda23aa47"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/98df7f1b293c0550bd5b1ce6b60b59bdda23aa47",
+ "reference": "98df7f1b293c0550bd5b1ce6b60b59bdda23aa47",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.1.0 || ^2.0",
+ "php": "^7"
+ },
+ "replace": {
+ "ocramius/package-versions": "1.2 - 1.8.99"
+ },
+ "require-dev": {
+ "composer/composer": "^1.9.3 || ^2.0@dev",
+ "ext-zip": "^1.13",
+ "phpunit/phpunit": "^6.5 || ^7"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "PackageVersions\\Installer",
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PackageVersions\\": "src/PackageVersions"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be"
+ }
+ ],
+ "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
+ "time": "2020-04-23T11:49:37+00:00"
+ },
{
"name": "dasprid/enum",
"version": "1.0.0",
],
"time": "2019-07-01T23:21:34+00:00"
},
+ {
+ "name": "http-interop/http-factory-guzzle",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/http-interop/http-factory-guzzle.git",
+ "reference": "34861658efb9899a6618cef03de46e2a52c80fc0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/34861658efb9899a6618cef03de46e2a52c80fc0",
+ "reference": "34861658efb9899a6618cef03de46e2a52c80fc0",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/psr7": "^1.4.2",
+ "psr/http-factory": "^1.0"
+ },
+ "provide": {
+ "psr/http-factory-implementation": "^1.0"
+ },
+ "require-dev": {
+ "http-interop/http-factory-tests": "^0.5",
+ "phpunit/phpunit": "^6.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Http\\Factory\\Guzzle\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "An HTTP Factory using Guzzle PSR7",
+ "keywords": [
+ "factory",
+ "http",
+ "psr-17",
+ "psr-7"
+ ],
+ "time": "2018-07-31T19:32:56+00:00"
+ },
{
"name": "imgix/imgix-php",
"version": "3.2.0",
"abandoned": "php-parallel-lint/php-console-highlighter",
"time": "2018-09-29T18:48:56+00:00"
},
+ {
+ "name": "jean85/pretty-package-versions",
+ "version": "1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Jean85/pretty-package-versions.git",
+ "reference": "e3517fb11b67e798239354fe8213927d012ad8f9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/e3517fb11b67e798239354fe8213927d012ad8f9",
+ "reference": "e3517fb11b67e798239354fe8213927d012ad8f9",
+ "shasum": ""
+ },
+ "require": {
+ "composer/package-versions-deprecated": "^1.8.0",
+ "php": "^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Jean85\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Alessandro Lai",
+ "email": "alessandro.lai85@gmail.com"
+ }
+ ],
+ "description": "A wrapper for ocramius/package-versions to get pretty versions strings",
+ "keywords": [
+ "composer",
+ "package",
+ "release",
+ "versions"
+ ],
+ "time": "2020-04-24T14:19:45+00:00"
+ },
{
"name": "kriswallsmith/buzz",
"version": "1.1.0",
],
"time": "2020-01-03T11:25:47+00:00"
},
+ {
+ "name": "php-http/guzzle6-adapter",
+ "version": "v2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/guzzle6-adapter.git",
+ "reference": "6074a4b1f4d5c21061b70bab3b8ad484282fe31f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/guzzle6-adapter/zipball/6074a4b1f4d5c21061b70bab3b8ad484282fe31f",
+ "reference": "6074a4b1f4d5c21061b70bab3b8ad484282fe31f",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/guzzle": "^6.0",
+ "php": "^7.1",
+ "php-http/httplug": "^2.0",
+ "psr/http-client": "^1.0"
+ },
+ "provide": {
+ "php-http/async-client-implementation": "1.0",
+ "php-http/client-implementation": "1.0",
+ "psr/http-client-implementation": "1.0"
+ },
+ "require-dev": {
+ "ext-curl": "*",
+ "php-http/client-integration-tests": "^2.0",
+ "phpunit/phpunit": "^7.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Http\\Adapter\\Guzzle6\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ },
+ {
+ "name": "David de Boer",
+ "email": "david@ddeboer.nl"
+ }
+ ],
+ "description": "Guzzle 6 HTTP Adapter",
+ "homepage": "http://httplug.io",
+ "keywords": [
+ "Guzzle",
+ "http"
+ ],
+ "time": "2018-12-16T14:44:03+00:00"
+ },
{
"name": "php-http/httplug",
"version": "2.1.0",
],
"time": "2019-02-22T07:42:52+00:00"
},
+ {
+ "name": "sentry/sdk",
+ "version": "2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/getsentry/sentry-php-sdk.git",
+ "reference": "18921af9c2777517ef9fb480845c22a98554d6af"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/getsentry/sentry-php-sdk/zipball/18921af9c2777517ef9fb480845c22a98554d6af",
+ "reference": "18921af9c2777517ef9fb480845c22a98554d6af",
+ "shasum": ""
+ },
+ "require": {
+ "http-interop/http-factory-guzzle": "^1.0",
+ "php-http/guzzle6-adapter": "^1.1|^2.0",
+ "sentry/sentry": "^2.3"
+ },
+ "type": "metapackage",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Sentry",
+ "email": "accounts@sentry.io"
+ }
+ ],
+ "description": "This is a metapackage shipping sentry/sentry with a recommended http client.",
+ "time": "2020-01-08T19:16:29+00:00"
+ },
+ {
+ "name": "sentry/sentry",
+ "version": "2.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/getsentry/sentry-php.git",
+ "reference": "b3e71feb32f1787b66a3b4fdb8686972e9c7ba94"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/b3e71feb32f1787b66a3b4fdb8686972e9c7ba94",
+ "reference": "b3e71feb32f1787b66a3b4fdb8686972e9c7ba94",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "guzzlehttp/promises": "^1.3",
+ "guzzlehttp/psr7": "^1.6",
+ "jean85/pretty-package-versions": "^1.2",
+ "php": "^7.1",
+ "php-http/async-client-implementation": "^1.0",
+ "php-http/client-common": "^1.5|^2.0",
+ "php-http/discovery": "^1.6.1",
+ "php-http/httplug": "^1.1|^2.0",
+ "php-http/message": "^1.5",
+ "psr/http-message-implementation": "^1.0",
+ "symfony/options-resolver": "^2.7|^3.0|^4.0|^5.0",
+ "symfony/polyfill-uuid": "^1.13.1"
+ },
+ "conflict": {
+ "php-http/client-common": "1.8.0",
+ "raven/raven": "*"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^2.13",
+ "monolog/monolog": "^1.3|^2.0",
+ "php-http/mock-client": "^1.3",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^0.11",
+ "phpstan/phpstan-phpunit": "^0.11",
+ "phpunit/phpunit": "^7.5.18",
+ "symfony/phpunit-bridge": "^4.3|^5.0",
+ "vimeo/psalm": "^3.4"
+ },
+ "suggest": {
+ "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "Sentry\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sentry",
+ "email": "accounts@sentry.io"
+ }
+ ],
+ "description": "A PHP SDK for Sentry (http://sentry.io)",
+ "homepage": "http://sentry.io",
+ "keywords": [
+ "crash-reporting",
+ "crash-reports",
+ "error-handler",
+ "error-monitoring",
+ "log",
+ "logging",
+ "sentry"
+ ],
+ "time": "2020-03-06T09:24:53+00:00"
+ },
+ {
+ "name": "sentry/sentry-laravel",
+ "version": "1.7.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/getsentry/sentry-laravel.git",
+ "reference": "8ec4695c5c6fa28d952c0f361e02997e84920354"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/8ec4695c5c6fa28d952c0f361e02997e84920354",
+ "reference": "8ec4695c5c6fa28d952c0f361e02997e84920354",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/support": "5.0 - 5.8 | ^6.0 | ^7.0",
+ "php": "^7.1",
+ "sentry/sdk": "^2.1"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "2.14.*",
+ "laravel/framework": "^6.0",
+ "orchestra/testbench": "^3.9",
+ "phpunit/phpunit": "^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev",
+ "dev-0.x": "0.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Sentry\\Laravel\\ServiceProvider"
+ ],
+ "aliases": {
+ "Sentry": "Sentry\\Laravel\\Facade"
+ }
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Sentry\\Laravel\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "authors": [
+ {
+ "name": "Sentry",
+ "email": "accounts@sentry.io"
+ }
+ ],
+ "description": "Laravel SDK for Sentry (https://sentry.io)",
+ "homepage": "https://sentry.io",
+ "keywords": [
+ "crash-reporting",
+ "crash-reports",
+ "error-handler",
+ "error-monitoring",
+ "laravel",
+ "log",
+ "logging",
+ "sentry"
+ ],
+ "time": "2020-04-01T10:30:44+00:00"
+ },
{
"name": "spatie/laravel-activitylog",
"version": "3.14.1",
],
"time": "2020-02-27T09:26:54+00:00"
},
+ {
+ "name": "symfony/polyfill-uuid",
+ "version": "v1.15.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-uuid.git",
+ "reference": "2318f7f470a892867f3de602e403d006b1b9c9aa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2318f7f470a892867f3de602e403d006b1b9c9aa",
+ "reference": "2318f7f470a892867f3de602e403d006b1b9c9aa",
+ "shasum": ""
+ },
+ "require": {
+ "paragonie/random_compat": "~1.0|~2.0|~9.99",
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-uuid": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.15-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Uuid\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Grégoire Pineau",
+ "email": "lyrixx@lyrixx.info"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for uuid functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "uuid"
+ ],
+ "time": "2020-03-23T13:44:10+00:00"
+ },
{
"name": "symfony/process",
"version": "v5.0.7",
'Asset' => App\Helpers\Asset::class,
],
-
];
--- /dev/null
+<?php
+
+return [
+ /*
+ |--------------------------------------------------------------------------
+ | Twill Glide configuration
+ |--------------------------------------------------------------------------
+ |
+ | This array allows you to provide the package with your configuration
+ | for the Glide image service.
+ |
+ */
+
+ 'source' => env('GLIDE_SOURCE', storage_path('app/public/' . config('twill.media_library.local_path'))),
+ 'cache' => env('GLIDE_CACHE', storage_path('app')),
+ 'cache_path_prefix' => env('GLIDE_CACHE_PATH_PREFIX', 'glide_cache'),
+ 'base_url' => env('GLIDE_BASE_URL', 'http://localhost:8001'),
+ 'base_path' => env('GLIDE_BASE_PATH', 'images'),
+ 'use_signed_urls' => env('GLIDE_USE_SIGNED_URLS', false),
+ 'sign_key' => env('GLIDE_SIGN_KEY'),
+ 'driver' => env('GLIDE_DRIVER', 'gd'),
+ 'add_params_to_svgs' => false,
+ 'default_params' => [
+ 'fm' => 'jpg',
+ 'q' => '80',
+ 'fit' => 'max',
+ ],
+ 'lqip_default_params' => [
+ 'fm' => 'gif',
+ 'blur' => 100,
+ 'dpr' => 1,
+ ],
+ 'social_default_params' => [
+ 'fm' => 'jpg',
+ 'w' => 900,
+ 'h' => 470,
+ 'fit' => 'crop',
+ ],
+ 'cms_default_params' => [
+ 'q' => '60',
+ 'dpr' => '1',
+ ],
+ 'presets' => [],
+];
--- /dev/null
+<?php
+
+return [
+
+ 'dsn' => env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')),
+
+ // capture release as git sha
+ 'release' => trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')),
+
+ 'breadcrumbs' => [
+ // Capture Laravel logs in breadcrumbs
+ 'logs' => true,
+
+ // Capture SQL queries in breadcrumbs
+ 'sql_queries' => true,
+
+ // Capture bindings on SQL queries logged in breadcrumbs
+ 'sql_bindings' => true,
+
+ // Capture queue job information in breadcrumbs
+ 'queue_info' => true,
+ ],
+
+];
'title' => 'PdfFiles',
'module' => true
],
+ 'adCampaigns' => [
+ 'title' => 'AdCampaigns',
+ 'module' => true
+ ],
+ 'events' => [
+ 'title' => 'Events',
+ 'module' => true
+ ],
+ 'articles' => [
+ 'title' => 'Articles',
+ 'module' => true
+ ],
+
+
+
'featured' => [
'title' => 'Features',
'route' => 'admin.featured.homepage',
*/
'js_namespace' => 'TWILL',
'dev_mode' => false,
- 'dev_mode_url' => env('TWILL_DEV_MODE_URL', 'http://localhost:8080'),
+ 'dev_mode_url' => env('TWILL_DEV_MODE_URL', 'http://localhost:8001'),
'public_directory' => env('TWILL_ASSETS_DIR', 'assets/admin'),
'manifest_file' => 'twill-manifest.json',
'vendor_path' => 'vendor/area17/twill',
*/
'locale' => 'fr',
'fallback_locale' => 'en',
+
+ 'media_library' => [
+ 'image_service' => \A17\Twill\Services\MediaLibrary\Glide::class,
+ ]
+
];
--- /dev/null
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+
+class CreateAdCampaignsTables extends Migration
+{
+ public function up()
+ {
+ Schema::create('ad_campaigns', function (Blueprint $table) {
+ // this will create an id, a "published" column, and soft delete and timestamps columns
+ createDefaultTableFields($table);
+
+ // feel free to modify the name of this column, but title is supported by default (you would need to specify the name of the column Twill should consider as your "title" column in your module controller if you change it)
+ $table->string('title', 200)->nullable();
+
+ // your generated model and form include a description field, to get you started, but feel free to get rid of it if you don't need it
+ $table->text('description')->nullable();
+ $table->string('url')->nullable();
+
+ $table->string('organization')->nullable();
+
+
+ $table->integer('position')->unsigned()->nullable();
+
+ // add those 2 columns to enable publication timeframe fields (you can use publish_start_date only if you don't need to provide the ability to specify an end date)
+ $table->timestamp('publish_start_date')->nullable();
+ $table->timestamp('publish_end_date')->nullable();
+ });
+
+ Schema::create('ad_campaign_slugs', function (Blueprint $table) {
+ createDefaultSlugsTableFields($table, 'ad_campaign');
+ });
+
+
+ }
+
+ public function down()
+ {
+
+ Schema::dropIfExists('ad_campaign_slugs');
+ Schema::dropIfExists('ad_campaigns');
+ }
+}
--- /dev/null
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+
+class CreateEventsTables extends Migration
+{
+ public function up()
+ {
+ Schema::create('events', function (Blueprint $table) {
+ // this will create an id, a "published" column, and soft delete and timestamps columns
+ createDefaultTableFields($table);
+
+ // feel free to modify the name of this column, but title is supported by default (you would need to specify the name of the column Twill should consider as your "title" column in your module controller if you change it)
+ $table->string('title', 200)->nullable();
+
+ // your generated model and form include a description field, to get you started, but feel free to get rid of it if you don't need it
+ $table->text('description')->nullable();
+
+ $table->dateTime('start_date');
+ $table->dateTime('end_date')->nullable();
+ $table->string('organizer')->nullable();
+
+
+
+ // add those 2 columns to enable publication timeframe fields (you can use publish_start_date only if you don't need to provide the ability to specify an end date)
+ // $table->timestamp('publish_start_date')->nullable();
+ // $table->timestamp('publish_end_date')->nullable();
+ });
+
+ Schema::create('event_slugs', function (Blueprint $table) {
+ createDefaultSlugsTableFields($table, 'event');
+ });
+
+
+ }
+
+ public function down()
+ {
+
+ Schema::dropIfExists('event_slugs');
+ Schema::dropIfExists('events');
+ }
+}
--- /dev/null
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+
+class CreateArticlesTables extends Migration
+{
+ public function up()
+ {
+ Schema::create('articles', function (Blueprint $table) {
+ // this will create an id, a "published" column, and soft delete and timestamps columns
+ createDefaultTableFields($table);
+
+ // feel free to modify the name of this column, but title is supported by default (you would need to specify the name of the column Twill should consider as your "title" column in your module controller if you change it)
+ $table->string('title', 200)->nullable();
+
+ // your generated model and form include a description field, to get you started, but feel free to get rid of it if you don't need it
+ $table->text('description')->nullable();
+
+ $table->integer('position')->unsigned()->nullable();
+
+ // add those 2 columns to enable publication timeframe fields (you can use publish_start_date only if you don't need to provide the ability to specify an end date)
+ $table->timestamp('publish_start_date')->nullable();
+ // $table->timestamp('publish_end_date')->nullable();
+ });
+
+ Schema::create('article_slugs', function (Blueprint $table) {
+ createDefaultSlugsTableFields($table, 'article');
+ });
+
+ Schema::create('article_revisions', function (Blueprint $table) {
+ createDefaultRevisionsTableFields($table, 'article');
+ });
+ }
+
+ public function down()
+ {
+ Schema::dropIfExists('article_revisions');
+ Schema::dropIfExists('article_slugs');
+ Schema::dropIfExists('articles');
+ }
+}
--- /dev/null
+@extends('twill::layouts.form')
+
+@section('contentFields')
+ @formField('input', [
+ 'name' => 'organization',
+ 'label' => 'Entreprise',
+ 'maxlength' => 100
+ ])
+ @formField('wysiwyg', [
+ 'name' => 'description',
+ 'label' => 'Description',
+ 'maxlength' => 400
+ ])
+ @formField('input', [
+ 'name' => 'url',
+ 'label' => 'Lien',
+ 'maxlength' => 255
+ ])
+ @formField('medias', [
+ 'name' => 'image',
+ 'label' => 'Image',
+ ])
+@stop
--- /dev/null
+@extends('twill::layouts.form')
+
+@section('contentFields')
+ @formField('input', [
+ 'name' => 'description',
+ 'label' => 'Description',
+ 'maxlength' => 400
+ ])
+ @formField('block_editor', [
+ 'blocks' => ['title', 'quote', 'text', 'image', 'grid', 'test', 'publications', 'news']
+ ])
+@stop
--- /dev/null
+@extends('twill::layouts.form')
+
+@section('contentFields')
+ @formField('date_picker', [
+ 'name' => 'start_date',
+ 'label' => 'Date de début',
+ ])
+ @formField('date_picker', [
+ 'name' => 'end_date',
+ 'label' => 'Date de fin',
+ ])
+ @formField('input', [
+ 'name' => 'organization',
+ 'label' => 'Entreprise',
+ 'maxlength' => 100
+ ])
+ @formField('wysiwyg', [
+ 'name' => 'description',
+ 'label' => 'Description',
+ 'maxlength' => 400
+ ])
+ @formField('input', [
+ 'name' => 'url',
+ 'label' => 'Lien',
+ 'maxlength' => 255
+ ])
+ @formField('medias', [
+ 'name' => 'image',
+ 'label' => 'Image',
+ ])
+
+@stop
<?php
-
Route::module('pdfFiles');
+Route::module('articles');
+Route::module('adCampaigns');
+Route::module('events');
Auth::routes(['verify' => true]);
-
+Route::get('/images/{path}', 'ImageController@show')->where('path', '.*');
/** ADMIN ROUTES */