From efc1d74ef23f5fcccf07e920cbae60d1d54de53b Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 27 Feb 2020 17:10:48 +0100 Subject: [PATCH] wip #3439 @0.5 --- src/resources/install/.env | 41 ++ src/resources/install/app/bootstrap.php | 55 ++ src/resources/install/config/app.php | 258 ++++++++ src/resources/install/config/auth.php | 102 +++ .../install/config/backpack/base.php | 277 ++++++++ .../install/config/backpack/crud.php | 549 ++++++++++++++++ .../config/backpack/langfilemanager.php | 10 + .../config/backpack/permissionmanager.php | 48 ++ src/resources/install/config/backup.php | 202 ++++++ src/resources/install/config/base.php | 277 ++++++++ src/resources/install/config/blade-svg.php | 72 +++ src/resources/install/config/broadcasting.php | 59 ++ src/resources/install/config/cache.php | 93 +++ src/resources/install/config/crud.php | 598 ++++++++++++++++++ src/resources/install/config/cubist-front.php | 2 + src/resources/install/config/cubist.php | 10 + src/resources/install/config/database.php | 131 ++++ .../install/config/elasticsearch.php | 206 ++++++ src/resources/install/config/elfinder.php | 81 +++ src/resources/install/config/features.php | 10 + src/resources/install/config/filesystems.php | 80 +++ .../install/config/googletagmanager.php | 26 + src/resources/install/config/gravatar.php | 34 + src/resources/install/config/gtag.php | 19 + src/resources/install/config/hashing.php | 52 ++ .../install/config/laravel-menu/settings.php | 13 + .../install/config/laravel-menu/views.php | 5 + src/resources/install/config/logging.php | 94 +++ src/resources/install/config/mail.php | 136 ++++ src/resources/install/config/markdown.php | 168 +++++ src/resources/install/config/medialibrary.php | 150 +++++ src/resources/install/config/permission.php | 127 ++++ .../install/config/prologue/alerts.php | 39 ++ src/resources/install/config/queue.php | 86 +++ src/resources/install/config/services.php | 43 ++ src/resources/install/config/session.php | 199 ++++++ src/resources/install/config/view.php | 36 ++ 37 files changed, 4388 insertions(+) create mode 100644 src/resources/install/.env create mode 100644 src/resources/install/app/bootstrap.php create mode 100644 src/resources/install/config/app.php create mode 100644 src/resources/install/config/auth.php create mode 100644 src/resources/install/config/backpack/base.php create mode 100644 src/resources/install/config/backpack/crud.php create mode 100644 src/resources/install/config/backpack/langfilemanager.php create mode 100644 src/resources/install/config/backpack/permissionmanager.php create mode 100644 src/resources/install/config/backup.php create mode 100644 src/resources/install/config/base.php create mode 100644 src/resources/install/config/blade-svg.php create mode 100644 src/resources/install/config/broadcasting.php create mode 100644 src/resources/install/config/cache.php create mode 100644 src/resources/install/config/crud.php create mode 100644 src/resources/install/config/cubist-front.php create mode 100644 src/resources/install/config/cubist.php create mode 100644 src/resources/install/config/database.php create mode 100644 src/resources/install/config/elasticsearch.php create mode 100644 src/resources/install/config/elfinder.php create mode 100644 src/resources/install/config/features.php create mode 100644 src/resources/install/config/filesystems.php create mode 100644 src/resources/install/config/googletagmanager.php create mode 100644 src/resources/install/config/gravatar.php create mode 100644 src/resources/install/config/gtag.php create mode 100644 src/resources/install/config/hashing.php create mode 100644 src/resources/install/config/laravel-menu/settings.php create mode 100644 src/resources/install/config/laravel-menu/views.php create mode 100644 src/resources/install/config/logging.php create mode 100644 src/resources/install/config/mail.php create mode 100644 src/resources/install/config/markdown.php create mode 100644 src/resources/install/config/medialibrary.php create mode 100644 src/resources/install/config/permission.php create mode 100644 src/resources/install/config/prologue/alerts.php create mode 100644 src/resources/install/config/queue.php create mode 100644 src/resources/install/config/services.php create mode 100644 src/resources/install/config/session.php create mode 100644 src/resources/install/config/view.php diff --git a/src/resources/install/.env b/src/resources/install/.env new file mode 100644 index 0000000..043de38 --- /dev/null +++ b/src/resources/install/.env @@ -0,0 +1,41 @@ +APP_NAME=QuizFactory +APP_ENV=staging +APP_KEY=base64:DRIdIwSEuQNkxuUTfyyRyssizosh3D9QHWTnobrW44U= +APP_DEBUG=true +APP_URL=https://quizfactory.cubedesigners.com + +LOG_CHANNEL=stack +APP_LOG=daily + +DB_CONNECTION=mysql +DB_SOCKET=/var/run/mysqld/mysqld.sock +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=quizfactory +DB_USERNAME=extranet +DB_PASSWORD=WvcAeYBDnrB93RXa + +LOCALE=en +LOCALE_FALLBACK=en + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=localhost +MAIL_PORT=25 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS=null +MAIL_FROM_NAME="${APP_NAME}" + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/src/resources/install/app/bootstrap.php b/src/resources/install/app/bootstrap.php new file mode 100644 index 0000000..8d4e15e --- /dev/null +++ b/src/resources/install/app/bootstrap.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/src/resources/install/config/app.php b/src/resources/install/config/app.php new file mode 100644 index 0000000..a3498e1 --- /dev/null +++ b/src/resources/install/config/app.php @@ -0,0 +1,258 @@ + env('APP_NAME', 'Laravel'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + + /* + * Variants + */ + + 'variants' => env('APP_VARIANTS', '') === '' ? [] : explode(',', env('APP_VARIANTS')), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => env('APP_DEBUG', false), + + 'debug_blacklist' => [ + '_ENV' => [ + 'APP_KEY', + 'DB_PASSWORD', + 'REDIS_PASSWORD', + 'MAIL_PASSWORD', + 'PUSHER_APP_KEY', + 'PUSHER_APP_SECRET', + 'BACKPACK_LICENSE', + ], + '_SERVER' => [ + 'APP_KEY', + 'DB_PASSWORD', + 'REDIS_PASSWORD', + 'MAIL_PASSWORD', + 'PUSHER_APP_KEY', + 'PUSHER_APP_SECRET', + 'BACKPACK_LICENSE', + ], + '_POST' => [ + 'password', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + 'asset_url' => env('ASSET_URL', null), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => env('LOCALE','en'), + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => env('LOCALE_FALLBACK','en'), + + /* + |-------------------------------------------------------------------------- + | Faker Locale + |-------------------------------------------------------------------------- + | + | This locale will be used by the Faker PHP library when generating fake + | data for your database seeds. For example, this will be used to get + | localized telephone numbers, street address information and more. + | + */ + + 'faker_locale' => 'en_US', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => [ + + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Cubist\Backpack\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Notifications\NotificationServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + + /* + * Package Service Providers... + */ + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + ], + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => [ + + 'App' => Illuminate\Support\Facades\App::class, + 'Artisan' => Illuminate\Support\Facades\Artisan::class, + 'Auth' => Illuminate\Support\Facades\Auth::class, + 'Blade' => Illuminate\Support\Facades\Blade::class, + 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, + 'Bus' => Illuminate\Support\Facades\Bus::class, + 'Cache' => Illuminate\Support\Facades\Cache::class, + 'Config' => Illuminate\Support\Facades\Config::class, + 'Cookie' => Illuminate\Support\Facades\Cookie::class, + 'Crypt' => Illuminate\Support\Facades\Crypt::class, + 'DB' => Illuminate\Support\Facades\DB::class, + 'Eloquent' => Illuminate\Database\Eloquent\Model::class, + 'Event' => Illuminate\Support\Facades\Event::class, + 'File' => Illuminate\Support\Facades\File::class, + 'Gate' => Illuminate\Support\Facades\Gate::class, + 'Hash' => Illuminate\Support\Facades\Hash::class, + 'Lang' => Illuminate\Support\Facades\Lang::class, + 'Log' => Illuminate\Support\Facades\Log::class, + 'Mail' => Illuminate\Support\Facades\Mail::class, + 'Notification' => Illuminate\Support\Facades\Notification::class, + 'Password' => Illuminate\Support\Facades\Password::class, + 'Queue' => Illuminate\Support\Facades\Queue::class, + 'Redirect' => Illuminate\Support\Facades\Redirect::class, + 'Redis' => Illuminate\Support\Facades\Redis::class, + 'Request' => Illuminate\Support\Facades\Request::class, + 'Response' => Illuminate\Support\Facades\Response::class, + 'Route' => Illuminate\Support\Facades\Route::class, + 'Schema' => Illuminate\Support\Facades\Schema::class, + 'Session' => Illuminate\Support\Facades\Session::class, + 'Storage' => Illuminate\Support\Facades\Storage::class, + 'URL' => Illuminate\Support\Facades\URL::class, + 'Validator' => Illuminate\Support\Facades\Validator::class, + 'View' => Illuminate\Support\Facades\View::class, + ], + +]; diff --git a/src/resources/install/config/auth.php b/src/resources/install/config/auth.php new file mode 100644 index 0000000..8d5b185 --- /dev/null +++ b/src/resources/install/config/auth.php @@ -0,0 +1,102 @@ + [ + 'guard' => 'admin', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + + 'api' => [ + 'driver' => 'token', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => 'password_resets', + 'expire' => 60, + ], + ], + +]; diff --git a/src/resources/install/config/backpack/base.php b/src/resources/install/config/backpack/base.php new file mode 100644 index 0000000..568e15b --- /dev/null +++ b/src/resources/install/config/backpack/base.php @@ -0,0 +1,277 @@ + 'D MMM YYYY', + 'default_datetime_format' => 'D MMM YYYY, HH:mm', + + // Direction, according to language + // (left-to-right vs right-to-left) + 'html_direction' => 'ltr', + + // ---- + // HEAD + // ---- + + // Project name. Shown in the window title. + 'project_name' => 'Project name', + + // When clicking on the admin panel's top-left logo/name, + // where should the user be redirected? + // The string below will be passed through the url() helper. + // - default: '' (project root) + // - alternative: 'admin' (the admin's dashboard) + 'home_link' => 'admin', + + // Content of the HTML meta robots tag to prevent indexing and link following + 'meta_robots_content' => 'noindex, nofollow', + + // ------ + // STYLES + // ------ + + // CSS files that are loaded in all pages, using Laravel's asset() helper + 'styles' => [ + 'packages/backpack/base/css/bundle.css', + + // Here's what's inside the bundle: + // 'packages/@digitallyhappy/backstrap/css/style.min.css', + // 'packages/animate.css/animate.min.css', + // 'packages/noty/noty.css', + + // Load the fonts separately (so that you can replace them at will): + 'packages/source-sans-pro/source-sans-pro.css', + 'packages/line-awesome/css/line-awesome.min.css', + + // Example (the fonts above, loaded from CDN instead) + // 'https://maxcdn.icons8.com/fonts/line-awesome/1.1/css/line-awesome-font-awesome.min.css', + // 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic', + + // Example (load font-awesome instead of line-awesome): + // 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.2/css/all.min.css', + ], + + // CSS files that are loaded in all pages, using Laravel's mix() helper + 'mix_styles' => [ // file_path => manifest_directory_path + // 'css/app.css' => '', + ], + + // ------ + // HEADER + // ------ + + // Menu logo. You can replace this with an tag if you have a logo. + 'project_logo' => 'PROJECT LOGO', + + // Show / hide breadcrumbs on admin panel pages. + 'breadcrumbs' => true, + + // Horizontal navbar classes. Helps make the admin panel look similar to your project's design. + 'header_class' => 'app-header bg-purple border-0 navbar navbar-color', + // For background colors use: bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan, bg-white + // For links to be visible on different background colors use: "navbar-dark", "navbar-light", "navbar-color" + + // ---- + // BODY + // ---- + + // Body element classes. + 'body_class' => 'app aside-menu-fixed sidebar-lg-show', + // Try sidebar-hidden, sidebar-fixed, sidebar-compact, sidebar-lg-show + + // Sidebar element classes. + 'sidebar_class' => 'sidebar sidebar-pills bg-light', + // Remove "sidebar-transparent" for standard sidebar look + // Try "sidebar-light" or "sidebar-dark" for dark/light links + // You can also add a background class like bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan + + // ------ + // FOOTER + // ------ + + // Footer element classes. + 'footer_class' => 'app-footer d-print-none', + // hide it with d-none + // change background color with bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan, bg-white + + // Developer or company name. Shown in footer. + 'developer_name' => 'Cubedesigners', + + // Developer website. Link in footer. Type false if you want to hide it. + 'developer_link' => 'https://www.cubedesigners.com', + + // Show powered by Laravel Backpack in the footer? true/false + 'show_powered_by' => false, + + // ------- + // SCRIPTS + // ------- + + // JS files that are loaded in all pages, using Laravel's asset() helper + 'scripts' => [ + // Backstrap includes jQuery, Bootstrap, CoreUI, PNotify, Popper + 'packages/backpack/base/js/bundle.js', + + // examples (everything inside the bundle, loaded from CDN) + // 'https://code.jquery.com/jquery-3.4.1.min.js', + // 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js', + // 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js', + // 'https://unpkg.com/@coreui/coreui/dist/js/coreui.min.js', + // 'https://cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js', + // 'https://unpkg.com/sweetalert/dist/sweetalert.min.js', + // 'https://cdnjs.cloudflare.com/ajax/libs/noty/3.1.4/noty.min.js' + + // examples (VueJS or React) + // 'https://unpkg.com/vue@2.4.4/dist/vue.min.js', + // 'https://unpkg.com/react@16/umd/react.production.min.js', + // 'https://unpkg.com/react-dom@16/umd/react-dom.production.min.js', + ], + + // JS files that are loaded in all pages, using Laravel's mix() helper + 'mix_scripts' => [// file_path => manifest_directory_path + // 'js/app.js' => '', + ], + + // ------------- + // CACHE-BUSTING + // ------------- + + // All JS and CSS assets defined above have this string appended as query string (?v=string). + // If you want to manually trigger cachebusting for all styles and scripts, + // append or prepent something to the string below, so that it's different. + 'cachebusting_string' => \PackageVersions\Versions::getVersion('backpack/crud'), + + /* + |-------------------------------------------------------------------------- + | Registration Open + |-------------------------------------------------------------------------- + | + | Choose whether new users/admins are allowed to register. + | This will show the Register button on the login page and allow access to the + | Register functions in AuthController. + | + | By default the registration is open only on localhost. + */ + + 'registration_open' => env('BACKPACK_REGISTRATION_OPEN', env('APP_ENV') === 'local'), + + /* + |-------------------------------------------------------------------------- + | Routing + |-------------------------------------------------------------------------- + */ + + // The prefix used in all base routes (the 'admin' in admin/dashboard) + // You can make sure all your URLs use this prefix by using the backpack_url() helper instead of url() + 'route_prefix' => 'admin', + + // Set this to false if you would like to use your own AuthController and PasswordController + // (you then need to setup your auth routes manually in your routes.php file) + 'setup_auth_routes' => true, + + // Set this to false if you would like to skip adding the dashboard routes + // (you then need to overwrite the login route on your AuthController) + 'setup_dashboard_routes' => true, + + // Set this to false if you would like to skip adding "my account" routes + // (you then need to manually define the routes in your web.php) + 'setup_my_account_routes' => true, + + /* + |-------------------------------------------------------------------------- + | Authentication + |-------------------------------------------------------------------------- + */ + + // Fully qualified namespace of the User model + 'user_model_fqn' => App\Models\BackpackUser::class, + + // The classes for the middleware to check if the visitor is an admin + // Can be a single class or an array of clases + 'middleware_class' => [ + App\Http\Middleware\CheckIfAdmin::class, + \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, + // \Backpack\CRUD\app\Http\Middleware\UseBackpackAuthGuardInsteadOfDefaultAuthGuard::class, + ], + + // Alias for that middleware + 'middleware_key' => 'admin', + // Note: It's recommended to use the backpack_middleware() helper everywhere, which pulls this key for you. + + // Username column for authentication + // The Backpack default is the same as the Laravel default (email) + // If you need to switch to username, you also need to create that column in your db + 'authentication_column' => 'email', + 'authentication_column_name' => 'Email', + + // The guard that protects the Backpack admin panel. + // If null, the config.auth.defaults.guard value will be used. + 'guard' => 'backpack', + + // The password reset configuration for Backpack. + // If null, the config.auth.defaults.passwords value will be used. + 'passwords' => 'backpack', + + // What kind of avatar will you like to show to the user? + // Default: gravatar (automatically use the gravatar for his email) + // Other options: + // - placehold (generic image with his first letter) + // - example_method_name (specify the method on the User model that returns the URL) + 'avatar_type' => 'gravatar', + + /* + |-------------------------------------------------------------------------- + | Theme (User Interface) + |-------------------------------------------------------------------------- + */ + // Change the view namespace in order to load a different theme than the one Backpack provides. + // You can create child themes yourself, by creating a view folder anywhere in your resources/views + // and choosing that view_namespace instead of the default one. Backpack will load a file from there + // if it exists, otherwise it will load it from the default namespace ("backpack::"). + + 'view_namespace' => 'backpack::', + + // EXAMPLE: if you create a new folder in resources/views/vendor/myname/mypackage, + // your namespace would be the one below. IMPORTANT: in this case the namespace ends with a dot. + // 'view_namespace' => 'vendor.myname.mypackage.', + + /* + |-------------------------------------------------------------------------- + | File System + |-------------------------------------------------------------------------- + */ + + // Backpack\Base sets up its own filesystem disk, just like you would by + // adding an entry to your config/filesystems.php. It points to the root + // of your project and it's used throughout all Backpack packages. + // + // You can rename this disk here. Default: root + 'root_disk_name' => 'root', + + /* + |-------------------------------------------------------------------------- + | License Code + |-------------------------------------------------------------------------- + | + | If you, your employer or your client make money by using Backpack, you need + | to purchase a license. A license code will be provided after purchase, + | which you can put here or in your ENV file in staging & production. + | + | More info and payment form on: + | https://www.backpackforlaravel.com + | + */ + + 'license_code' => env('BACKPACK_LICENSE', false), +]; diff --git a/src/resources/install/config/backpack/crud.php b/src/resources/install/config/backpack/crud.php new file mode 100644 index 0000000..9a35027 --- /dev/null +++ b/src/resources/install/config/backpack/crud.php @@ -0,0 +1,549 @@ + 'save_and_back', //options: save_and_back, save_and_edit, save_and_new + + // When the user chooses "save and back" or "save and new", show a bubble + // for the fact that the default save action has been changed? + 'show_save_action_change' => true, //options: true, false + + // When using tabbed forms (create & update), what kind of tabs would you like? + 'tabs_type' => 'horizontal', //options: horizontal, vertical + + // How would you like the validation errors to be shown? + 'show_grouped_errors' => true, + 'show_inline_errors' => true, + + // Here you may override the css-classes for the content section of the create view globally + // To override per view use $this->crud->setCreateContentClass('class-string') + 'create_content_class' => 'col-md-8 col-md-offset-2', + + // Here you may override the css-classes for the content section of the edit view globally + // To override per view use $this->crud->setEditContentClass('class-string') + 'edit_content_class' => 'col-md-8 col-md-offset-2', + + // Here you may override the css-classes for the content section of the revisions timeline view globally + // To override per view use $this->crud->setRevisionsTimelineContentClass('class-string') + 'revisions_timeline_content_class' => 'col-md-10 col-md-offset-1', + + /* + |------------ + | READ + |------------ + */ + + // LIST VIEW (table view) + + // enable the datatables-responsive plugin, which hides columns if they don't fit? + // if not, a horizontal scrollbar will be shown instead + 'responsive_table' => true, + + // stores pagination and filters in localStorage for two hours + // whenever the user tries to see that page, backpack loads the previous pagination and filtration + 'persistent_table' => false, + + // How many items should be shown by default by the Datatable? + // This value can be overwritten on a specific CRUD by calling + // $this->crud->setDefaultPageLength(50); + 'default_page_length' => 25, + + // A 1D array of options which will be used for both the displayed option and the value, or + // A 2D array in which the first array is used to define the value options and the second array the displayed options + // If a 2D array is used, strings in the right hand array will be automatically run through trans() + 'page_length_menu' => [[10, 25, 50, 100, -1], [10, 25, 50, 100, 'backpack::crud.all']], + + // Here you may override the css-class for the content section of the list view globally + // To override per view use $this->crud->setListContentClass('class-string') + 'list_content_class' => 'col-md-12', + + // SHOW (PREVIEW) + + // Here you may override the css-classes for the content section of the show view globally + // To override per view use $this->crud->setShowContentClass('class-string') + 'show_content_class' => 'col-md-8 col-md-offset-2', + + /* + |------------ + | DELETE + |------------ + */ + + /* + |------------ + | REORDER + |------------ + */ + + // Here you may override the css-classes for the content section of the reorder view globally + // To override per view use $this->crud->setReorderContentClass('class-string') + 'reorder_content_class' => 'col-md-8 col-md-offset-2', + + /* + |------------ + | DETAILS ROW + |------------ + */ + + /* + |------------------- + | TRANSLATABLE CRUDS + |------------------- + */ + + 'show_translatable_field_icon' => true, + 'translatable_field_icon_position' => 'right', // left or right + + 'locales' => [ + 'fr' => 'French', + 'en' => 'English', + "de" => "German", + // "af_NA" => "Afrikaans (Namibia)", + // "af_ZA" => "Afrikaans (South Africa)", + // "af" => "Afrikaans", + // "ak_GH" => "Akan (Ghana)", + // "ak" => "Akan", + // "sq_AL" => "Albanian (Albania)", + // "sq" => "Albanian", + // "am_ET" => "Amharic (Ethiopia)", + // "am" => "Amharic", + // "ar_DZ" => "Arabic (Algeria)", + // "ar_BH" => "Arabic (Bahrain)", + // "ar_EG" => "Arabic (Egypt)", + // "ar_IQ" => "Arabic (Iraq)", + // "ar_JO" => "Arabic (Jordan)", + // "ar_KW" => "Arabic (Kuwait)", + // "ar_LB" => "Arabic (Lebanon)", + // "ar_LY" => "Arabic (Libya)", + // "ar_MA" => "Arabic (Morocco)", + // "ar_OM" => "Arabic (Oman)", + // "ar_QA" => "Arabic (Qatar)", + // "ar_SA" => "Arabic (Saudi Arabia)", + // "ar_SD" => "Arabic (Sudan)", + // "ar_SY" => "Arabic (Syria)", + // "ar_TN" => "Arabic (Tunisia)", + // "ar_AE" => "Arabic (United Arab Emirates)", + // "ar_YE" => "Arabic (Yemen)", + // "ar" => "Arabic", + // "hy_AM" => "Armenian (Armenia)", + // "hy" => "Armenian", + // "as_IN" => "Assamese (India)", + // "as" => "Assamese", + // "asa_TZ" => "Asu (Tanzania)", + // "asa" => "Asu", + // "az_Cyrl" => "Azerbaijani (Cyrillic)", + // "az_Cyrl_AZ" => "Azerbaijani (Cyrillic, Azerbaijan)", + // "az_Latn" => "Azerbaijani (Latin)", + // "az_Latn_AZ" => "Azerbaijani (Latin, Azerbaijan)", + // "az" => "Azerbaijani", + // "bm_ML" => "Bambara (Mali)", + // "bm" => "Bambara", + // "eu_ES" => "Basque (Spain)", + // "eu" => "Basque", + // "be_BY" => "Belarusian (Belarus)", + // "be" => "Belarusian", + // "bem_ZM" => "Bemba (Zambia)", + // "bem" => "Bemba", + // "bez_TZ" => "Bena (Tanzania)", + // "bez" => "Bena", + // "bn_BD" => "Bengali (Bangladesh)", + // "bn_IN" => "Bengali (India)", + // "bn" => "Bengali", + // "bs_BA" => "Bosnian (Bosnia and Herzegovina)", + // "bs" => "Bosnian", + // "bg_BG" => "Bulgarian (Bulgaria)", + // "bg" => "Bulgarian", + // "my_MM" => "Burmese (Myanmar [Burma])", + // "my" => "Burmese", + // "ca_ES" => "Catalan (Spain)", + // "ca" => "Catalan", + // "tzm_Latn" => "Central Morocco Tamazight (Latin)", + // "tzm_Latn_MA" => "Central Morocco Tamazight (Latin, Morocco)", + // "tzm" => "Central Morocco Tamazight", + // "chr_US" => "Cherokee (United States)", + // "chr" => "Cherokee", + // "cgg_UG" => "Chiga (Uganda)", + // "cgg" => "Chiga", + // "zh_Hans" => "Chinese (Simplified Han)", + // "zh_Hans_CN" => "Chinese (Simplified Han, China)", + // "zh_Hans_HK" => "Chinese (Simplified Han, Hong Kong SAR China)", + // "zh_Hans_MO" => "Chinese (Simplified Han, Macau SAR China)", + // "zh_Hans_SG" => "Chinese (Simplified Han, Singapore)", + // "zh_Hant" => "Chinese (Traditional Han)", + // "zh_Hant_HK" => "Chinese (Traditional Han, Hong Kong SAR China)", + // "zh_Hant_MO" => "Chinese (Traditional Han, Macau SAR China)", + // "zh_Hant_TW" => "Chinese (Traditional Han, Taiwan)", + // "zh" => "Chinese", + // "kw_GB" => "Cornish (United Kingdom)", + // "kw" => "Cornish", + // "hr_HR" => "Croatian (Croatia)", + // "hr" => "Croatian", + // "cs_CZ" => "Czech (Czech Republic)", + // "cs" => "Czech", + // "da_DK" => "Danish (Denmark)", + // "da" => "Danish", + // "nl_BE" => "Dutch (Belgium)", + // "nl_NL" => "Dutch (Netherlands)", + // "nl" => "Dutch", + // "ebu_KE" => "Embu (Kenya)", + // "ebu" => "Embu", + // "en_AS" => "English (American Samoa)", + // "en_AU" => "English (Australia)", + // "en_BE" => "English (Belgium)", + // "en_BZ" => "English (Belize)", + // "en_BW" => "English (Botswana)", + // "en_CA" => "English (Canada)", + // "en_GU" => "English (Guam)", + // "en_HK" => "English (Hong Kong SAR China)", + // "en_IN" => "English (India)", + // "en_IE" => "English (Ireland)", + // "en_JM" => "English (Jamaica)", + // "en_MT" => "English (Malta)", + // "en_MH" => "English (Marshall Islands)", + // "en_MU" => "English (Mauritius)", + // "en_NA" => "English (Namibia)", + // "en_NZ" => "English (New Zealand)", + // "en_MP" => "English (Northern Mariana Islands)", + // "en_PK" => "English (Pakistan)", + // "en_PH" => "English (Philippines)", + // "en_SG" => "English (Singapore)", + // "en_ZA" => "English (South Africa)", + // "en_TT" => "English (Trinidad and Tobago)", + // "en_UM" => "English (U.S. Minor Outlying Islands)", + // "en_VI" => "English (U.S. Virgin Islands)", + // "en_GB" => "English (United Kingdom)", + // "en_US" => "English (United States)", + // "en_ZW" => "English (Zimbabwe)", + + // "eo" => "Esperanto", + // "et_EE" => "Estonian (Estonia)", + // "et" => "Estonian", + // "ee_GH" => "Ewe (Ghana)", + // "ee_TG" => "Ewe (Togo)", + // "ee" => "Ewe", + // "fo_FO" => "Faroese (Faroe Islands)", + // "fo" => "Faroese", + // "fil_PH" => "Filipino (Philippines)", + // "fil" => "Filipino", + // "fi_FI" => "Finnish (Finland)", + // "fi" => "Finnish", + // "fr_BE" => "French (Belgium)", + // "fr_BJ" => "French (Benin)", + // "fr_BF" => "French (Burkina Faso)", + // "fr_BI" => "French (Burundi)", + // "fr_CM" => "French (Cameroon)", + // "fr_CA" => "French (Canada)", + // "fr_CF" => "French (Central African Republic)", + // "fr_TD" => "French (Chad)", + // "fr_KM" => "French (Comoros)", + // "fr_CG" => "French (Congo - Brazzaville)", + // "fr_CD" => "French (Congo - Kinshasa)", + // "fr_CI" => "French (Côte d’Ivoire)", + // "fr_DJ" => "French (Djibouti)", + // "fr_GQ" => "French (Equatorial Guinea)", + // "fr_FR" => "French (France)", + // "fr_GA" => "French (Gabon)", + // "fr_GP" => "French (Guadeloupe)", + // "fr_GN" => "French (Guinea)", + // "fr_LU" => "French (Luxembourg)", + // "fr_MG" => "French (Madagascar)", + // "fr_ML" => "French (Mali)", + // "fr_MQ" => "French (Martinique)", + // "fr_MC" => "French (Monaco)", + // "fr_NE" => "French (Niger)", + // "fr_RW" => "French (Rwanda)", + // "fr_RE" => "French (Réunion)", + // "fr_BL" => "French (Saint Barthélemy)", + // "fr_MF" => "French (Saint Martin)", + // "fr_SN" => "French (Senegal)", + // "fr_CH" => "French (Switzerland)", + // "fr_TG" => "French (Togo)", + + // "ff_SN" => "Fulah (Senegal)", + // "ff" => "Fulah", + // "gl_ES" => "Galician (Spain)", + // "gl" => "Galician", + // "lg_UG" => "Ganda (Uganda)", + // "lg" => "Ganda", + // "ka_GE" => "Georgian (Georgia)", + // "ka" => "Georgian", + // "de_AT" => "German (Austria)", + // "de_BE" => "German (Belgium)", + // "de_DE" => "German (Germany)", + // "de_LI" => "German (Liechtenstein)", + // "de_LU" => "German (Luxembourg)", + // "de_CH" => "German (Switzerland)", + + // "el_CY" => "Greek (Cyprus)", + // "el_GR" => "Greek (Greece)", + // "el" => "Greek", + // "gu_IN" => "Gujarati (India)", + // "gu" => "Gujarati", + // "guz_KE" => "Gusii (Kenya)", + // "guz" => "Gusii", + // "ha_Latn" => "Hausa (Latin)", + // "ha_Latn_GH" => "Hausa (Latin, Ghana)", + // "ha_Latn_NE" => "Hausa (Latin, Niger)", + // "ha_Latn_NG" => "Hausa (Latin, Nigeria)", + // "ha" => "Hausa", + // "haw_US" => "Hawaiian (United States)", + // "haw" => "Hawaiian", + // "he_IL" => "Hebrew (Israel)", + // "he" => "Hebrew", + // "hi_IN" => "Hindi (India)", + // "hi" => "Hindi", + // "hu_HU" => "Hungarian (Hungary)", + // "hu" => "Hungarian", + // "is_IS" => "Icelandic (Iceland)", + // "is" => "Icelandic", + // "ig_NG" => "Igbo (Nigeria)", + // "ig" => "Igbo", + // "id_ID" => "Indonesian (Indonesia)", + // "id" => "Indonesian", + // "ga_IE" => "Irish (Ireland)", + // "ga" => "Irish", + // "it_IT" => "Italian (Italy)", + // "it_CH" => "Italian (Switzerland)", + //'it' => 'Italian', + // "ja_JP" => "Japanese (Japan)", + // "ja" => "Japanese", + // "kea_CV" => "Kabuverdianu (Cape Verde)", + // "kea" => "Kabuverdianu", + // "kab_DZ" => "Kabyle (Algeria)", + // "kab" => "Kabyle", + // "kl_GL" => "Kalaallisut (Greenland)", + // "kl" => "Kalaallisut", + // "kln_KE" => "Kalenjin (Kenya)", + // "kln" => "Kalenjin", + // "kam_KE" => "Kamba (Kenya)", + // "kam" => "Kamba", + // "kn_IN" => "Kannada (India)", + // "kn" => "Kannada", + // "kk_Cyrl" => "Kazakh (Cyrillic)", + // "kk_Cyrl_KZ" => "Kazakh (Cyrillic, Kazakhstan)", + // "kk" => "Kazakh", + // "km_KH" => "Khmer (Cambodia)", + // "km" => "Khmer", + // "ki_KE" => "Kikuyu (Kenya)", + // "ki" => "Kikuyu", + // "rw_RW" => "Kinyarwanda (Rwanda)", + // "rw" => "Kinyarwanda", + // "kok_IN" => "Konkani (India)", + // "kok" => "Konkani", + // "ko_KR" => "Korean (South Korea)", + // "ko" => "Korean", + // "khq_ML" => "Koyra Chiini (Mali)", + // "khq" => "Koyra Chiini", + // "ses_ML" => "Koyraboro Senni (Mali)", + // "ses" => "Koyraboro Senni", + // "lag_TZ" => "Langi (Tanzania)", + // "lag" => "Langi", + // "lv_LV" => "Latvian (Latvia)", + // "lv" => "Latvian", + // "lt_LT" => "Lithuanian (Lithuania)", + // "lt" => "Lithuanian", + // "luo_KE" => "Luo (Kenya)", + // "luo" => "Luo", + // "luy_KE" => "Luyia (Kenya)", + // "luy" => "Luyia", + // "mk_MK" => "Macedonian (Macedonia)", + // "mk" => "Macedonian", + // "jmc_TZ" => "Machame (Tanzania)", + // "jmc" => "Machame", + // "kde_TZ" => "Makonde (Tanzania)", + // "kde" => "Makonde", + // "mg_MG" => "Malagasy (Madagascar)", + // "mg" => "Malagasy", + // "ms_BN" => "Malay (Brunei)", + // "ms_MY" => "Malay (Malaysia)", + // "ms" => "Malay", + // "ml_IN" => "Malayalam (India)", + // "ml" => "Malayalam", + // "mt_MT" => "Maltese (Malta)", + // "mt" => "Maltese", + // "gv_GB" => "Manx (United Kingdom)", + // "gv" => "Manx", + // "mr_IN" => "Marathi (India)", + // "mr" => "Marathi", + // "mas_KE" => "Masai (Kenya)", + // "mas_TZ" => "Masai (Tanzania)", + // "mas" => "Masai", + // "mer_KE" => "Meru (Kenya)", + // "mer" => "Meru", + // "mfe_MU" => "Morisyen (Mauritius)", + // "mfe" => "Morisyen", + // "naq_NA" => "Nama (Namibia)", + // "naq" => "Nama", + // "ne_IN" => "Nepali (India)", + // "ne_NP" => "Nepali (Nepal)", + // "ne" => "Nepali", + // "nd_ZW" => "North Ndebele (Zimbabwe)", + // "nd" => "North Ndebele", + // "nb_NO" => "Norwegian Bokmål (Norway)", + // "nb" => "Norwegian Bokmål", + // "nn_NO" => "Norwegian Nynorsk (Norway)", + // "nn" => "Norwegian Nynorsk", + // "nyn_UG" => "Nyankole (Uganda)", + // "nyn" => "Nyankole", + // "or_IN" => "Oriya (India)", + // "or" => "Oriya", + // "om_ET" => "Oromo (Ethiopia)", + // "om_KE" => "Oromo (Kenya)", + // "om" => "Oromo", + // "ps_AF" => "Pashto (Afghanistan)", + // "ps" => "Pashto", + // "fa_AF" => "Persian (Afghanistan)", + // "fa_IR" => "Persian (Iran)", + // "fa" => "Persian", + // "pl_PL" => "Polish (Poland)", + // "pl" => "Polish", + // "pt_BR" => "Portuguese (Brazil)", + // "pt_GW" => "Portuguese (Guinea-Bissau)", + // "pt_MZ" => "Portuguese (Mozambique)", + // "pt_PT" => "Portuguese (Portugal)", + // "pt" => "Portuguese", + // "pa_Arab" => "Punjabi (Arabic)", + // "pa_Arab_PK" => "Punjabi (Arabic, Pakistan)", + // "pa_Guru" => "Punjabi (Gurmukhi)", + // "pa_Guru_IN" => "Punjabi (Gurmukhi, India)", + // "pa" => "Punjabi", + // "ro_MD" => "Romanian (Moldova)", + // "ro_RO" => "Romanian (Romania)", + //'ro' => 'Romanian', + // "rm_CH" => "Romansh (Switzerland)", + // "rm" => "Romansh", + // "rof_TZ" => "Rombo (Tanzania)", + // "rof" => "Rombo", + // "ru_MD" => "Russian (Moldova)", + // "ru_RU" => "Russian (Russia)", + // "ru_UA" => "Russian (Ukraine)", + // "ru" => "Russian", + // "rwk_TZ" => "Rwa (Tanzania)", + // "rwk" => "Rwa", + // "saq_KE" => "Samburu (Kenya)", + // "saq" => "Samburu", + // "sg_CF" => "Sango (Central African Republic)", + // "sg" => "Sango", + // "seh_MZ" => "Sena (Mozambique)", + // "seh" => "Sena", + // "sr_Cyrl" => "Serbian (Cyrillic)", + // "sr_Cyrl_BA" => "Serbian (Cyrillic, Bosnia and Herzegovina)", + // "sr_Cyrl_ME" => "Serbian (Cyrillic, Montenegro)", + // "sr_Cyrl_RS" => "Serbian (Cyrillic, Serbia)", + // "sr_Latn" => "Serbian (Latin)", + // "sr_Latn_BA" => "Serbian (Latin, Bosnia and Herzegovina)", + // "sr_Latn_ME" => "Serbian (Latin, Montenegro)", + // "sr_Latn_RS" => "Serbian (Latin, Serbia)", + // "sr" => "Serbian", + // "sn_ZW" => "Shona (Zimbabwe)", + // "sn" => "Shona", + // "ii_CN" => "Sichuan Yi (China)", + // "ii" => "Sichuan Yi", + // "si_LK" => "Sinhala (Sri Lanka)", + // "si" => "Sinhala", + // "sk_SK" => "Slovak (Slovakia)", + // "sk" => "Slovak", + // "sl_SI" => "Slovenian (Slovenia)", + // "sl" => "Slovenian", + // "xog_UG" => "Soga (Uganda)", + // "xog" => "Soga", + // "so_DJ" => "Somali (Djibouti)", + // "so_ET" => "Somali (Ethiopia)", + // "so_KE" => "Somali (Kenya)", + // "so_SO" => "Somali (Somalia)", + // "so" => "Somali", + // "es_AR" => "Spanish (Argentina)", + // "es_BO" => "Spanish (Bolivia)", + // "es_CL" => "Spanish (Chile)", + // "es_CO" => "Spanish (Colombia)", + // "es_CR" => "Spanish (Costa Rica)", + // "es_DO" => "Spanish (Dominican Republic)", + // "es_EC" => "Spanish (Ecuador)", + // "es_SV" => "Spanish (El Salvador)", + // "es_GQ" => "Spanish (Equatorial Guinea)", + // "es_GT" => "Spanish (Guatemala)", + // "es_HN" => "Spanish (Honduras)", + // "es_419" => "Spanish (Latin America)", + // "es_MX" => "Spanish (Mexico)", + // "es_NI" => "Spanish (Nicaragua)", + // "es_PA" => "Spanish (Panama)", + // "es_PY" => "Spanish (Paraguay)", + // "es_PE" => "Spanish (Peru)", + // "es_PR" => "Spanish (Puerto Rico)", + // "es_ES" => "Spanish (Spain)", + // "es_US" => "Spanish (United States)", + // "es_UY" => "Spanish (Uruguay)", + // "es_VE" => "Spanish (Venezuela)", + // "es" => "Spanish", + // "sw_KE" => "Swahili (Kenya)", + // "sw_TZ" => "Swahili (Tanzania)", + // "sw" => "Swahili", + // "sv_FI" => "Swedish (Finland)", + // "sv_SE" => "Swedish (Sweden)", + // "sv" => "Swedish", + // "gsw_CH" => "Swiss German (Switzerland)", + // "gsw" => "Swiss German", + // "shi_Latn" => "Tachelhit (Latin)", + // "shi_Latn_MA" => "Tachelhit (Latin, Morocco)", + // "shi_Tfng" => "Tachelhit (Tifinagh)", + // "shi_Tfng_MA" => "Tachelhit (Tifinagh, Morocco)", + // "shi" => "Tachelhit", + // "dav_KE" => "Taita (Kenya)", + // "dav" => "Taita", + // "ta_IN" => "Tamil (India)", + // "ta_LK" => "Tamil (Sri Lanka)", + // "ta" => "Tamil", + // "te_IN" => "Telugu (India)", + // "te" => "Telugu", + // "teo_KE" => "Teso (Kenya)", + // "teo_UG" => "Teso (Uganda)", + // "teo" => "Teso", + // "th_TH" => "Thai (Thailand)", + // "th" => "Thai", + // "bo_CN" => "Tibetan (China)", + // "bo_IN" => "Tibetan (India)", + // "bo" => "Tibetan", + // "ti_ER" => "Tigrinya (Eritrea)", + // "ti_ET" => "Tigrinya (Ethiopia)", + // "ti" => "Tigrinya", + // "to_TO" => "Tonga (Tonga)", + // "to" => "Tonga", + // "tr_TR" => "Turkish (Turkey)", + // "tr" => "Turkish", + // "uk_UA" => "Ukrainian (Ukraine)", + // "uk" => "Ukrainian", + // "ur_IN" => "Urdu (India)", + // "ur_PK" => "Urdu (Pakistan)", + // "ur" => "Urdu", + // "uz_Arab" => "Uzbek (Arabic)", + // "uz_Arab_AF" => "Uzbek (Arabic, Afghanistan)", + // "uz_Cyrl" => "Uzbek (Cyrillic)", + // "uz_Cyrl_UZ" => "Uzbek (Cyrillic, Uzbekistan)", + // "uz_Latn" => "Uzbek (Latin)", + // "uz_Latn_UZ" => "Uzbek (Latin, Uzbekistan)", + // "uz" => "Uzbek", + // "vi_VN" => "Vietnamese (Vietnam)", + // "vi" => "Vietnamese", + // "vun_TZ" => "Vunjo (Tanzania)", + // "vun" => "Vunjo", + // "cy_GB" => "Welsh (United Kingdom)", + // "cy" => "Welsh", + // "yo_NG" => "Yoruba (Nigeria)", + // "yo" => "Yoruba", + // "zu_ZA" => "Zulu (South Africa)", + // "zu" => "Zulu" + ], + +]; diff --git a/src/resources/install/config/backpack/langfilemanager.php b/src/resources/install/config/backpack/langfilemanager.php new file mode 100644 index 0000000..005661b --- /dev/null +++ b/src/resources/install/config/backpack/langfilemanager.php @@ -0,0 +1,10 @@ + ['pagination', 'reminders', 'validation', 'log', 'crud'], + +]; diff --git a/src/resources/install/config/backpack/permissionmanager.php b/src/resources/install/config/backpack/permissionmanager.php new file mode 100644 index 0000000..ed07ad7 --- /dev/null +++ b/src/resources/install/config/backpack/permissionmanager.php @@ -0,0 +1,48 @@ + [ + 'user' => App\Models\BackpackUser::class, + 'permission' => Backpack\PermissionManager\app\Models\Permission::class, + 'role' => Backpack\PermissionManager\app\Models\Role::class, + ], + + /* + |-------------------------------------------------------------------------- + | Disallow the user interface for creating/updating permissions or roles. + |-------------------------------------------------------------------------- + | Roles and permissions are used in code by their name + | - ex: $user->hasPermissionTo('edit articles'); + | + | So after the developer has entered all permissions and roles, the administrator should either: + | - not have access to the panels + | or + | - creating and updating should be disabled + */ + + 'allow_permission_create' => true, + 'allow_permission_update' => true, + 'allow_permission_delete' => true, + 'allow_role_create' => true, + 'allow_role_update' => true, + 'allow_role_delete' => true, + + /* + |-------------------------------------------------------------------------- + | Multiple-guards functionality + |-------------------------------------------------------------------------- + | + */ + 'multiple_guards' => false, + +]; diff --git a/src/resources/install/config/backup.php b/src/resources/install/config/backup.php new file mode 100644 index 0000000..deaa8a4 --- /dev/null +++ b/src/resources/install/config/backup.php @@ -0,0 +1,202 @@ + [ + + /* -------------------------------------- + * Backpack\BackupManager Command Flags + * -------------------------------------- + * These flags will be attached every time a backup is triggered + * by Backpack\BackupManager. By default only notifications are disabled. + * + * https://docs.spatie.be/laravel-backup/v4/taking-backups/overview + * --only-to-disk=name-of-your-disk + * --only-db + * --only-files + * --disable-notifications + */ + 'backpack_flags' => [ + '--disable-notifications'=> true, + ], + + /* + * The name of this application. You can use this name to monitor + * the backups. + */ + 'name' => env('APP_URL'), + + 'source' => [ + + 'files' => [ + + /* + * The list of directories that should be part of the backup. You can + * specify individual files as well. + */ + 'include' => [ + base_path(), + ], + + /* + * These directories will be excluded from the backup. + * You can specify individual files as well. + */ + 'exclude' => [ + base_path('vendor'), + storage_path(), + ], + + /* + * Determines if symlinks should be followed. + */ + 'followLinks' => false, + ], + + /* + * The names of the connections to the databases that should be part of the backup. + * Currently only MySQL- and PostgreSQL-databases are supported. + */ + 'databases' => [ + 'mysql', + ], + ], + + /* + * The database dump can be gzipped to decrease diskspace usage. + */ + 'gzip_database_dump' => false, + + 'destination' => [ + + /* + * The filename prefix used for the backup zip file. + */ + 'filename_prefix' => '', + + /* + * The disk names on which the backups will be stored. + */ + 'disks' => [ + 'backups', + ], + ], + + 'temporary_directory' => storage_path('app/backup-temp'), + ], + + /* + * You can get notified when specific events occur. Out of the box you can use 'mail' and 'slack'. + * For Slack you need to install guzzlehttp/guzzle. + * + * You can also use your own notification classes, just make sure the class is named after one of + * the `Spatie\Backup\Events` classes. + */ + 'notifications' => [ + + 'notifications' => [ + \Spatie\Backup\Notifications\Notifications\BackupHasFailed::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFound::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\CleanupHasFailed::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\BackupWasSuccessful::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\HealthyBackupWasFound::class => ['mail'], + \Spatie\Backup\Notifications\Notifications\CleanupWasSuccessful::class => ['mail'], + ], + + /* + * Here you can specify the notifiable to which the notifications should be sent. The default + * notifiable will use the variables specified in this config file. + */ + 'notifiable' => \Spatie\Backup\Notifications\Notifiable::class, + + /* + * Here you can specify how emails should be sent. + */ + 'mail' => [ + 'to' => 'your@email.com', + ], + + /* + * Here you can specify how messages should be sent to Slack. + */ + 'slack' => [ + 'webhook_url' => '', + + /* + * If this is set to null the default channel of the webhook will be used. + */ + 'channel' => null, + ], + ], + + /* + * Here you can specify which backups should be monitored. + * If a backup does not meet the specified requirements the + * UnHealthyBackupWasFound event will be fired. + */ + 'monitorBackups' => [ + [ + 'name' => env('APP_NAME'), + 'disks' => ['backups'], + 'newestBackupsShouldNotBeOlderThanDays' => 1, + 'storageUsedMayNotBeHigherThanMegabytes' => 5000, + ], + + /* + [ + 'name' => 'name of the second app', + 'disks' => ['local', 's3'], + 'newestBackupsShouldNotBeOlderThanDays' => 1, + 'storageUsedMayNotBeHigherThanMegabytes' => 5000, + ], + */ + ], + + 'cleanup' => [ + /* + * The strategy that will be used to cleanup old backups. The default strategy + * will keep all backups for a certain amount of days. After that period only + * a daily backup will be kept. After that period only weekly backups will + * be kept and so on. + * + * No matter how you configure it the default strategy will never + * delete the newest backup. + */ + 'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class, + + 'defaultStrategy' => [ + + /* + * The number of days for which backups must be kept. + */ + 'keepAllBackupsForDays' => 7, + + /* + * The number of days for which daily backups must be kept. + */ + 'keepDailyBackupsForDays' => 16, + + /* + * The number of weeks for which one weekly backup must be kept. + */ + 'keepWeeklyBackupsForWeeks' => 8, + + /* + * The number of months for which one monthly backup must be kept. + */ + 'keepMonthlyBackupsForMonths' => 4, + + /* + * The number of years for which one yearly backup must be kept. + */ + 'keepYearlyBackupsForYears' => 2, + + /* + * After cleaning up the backups remove the oldest backup until + * this amount of megabytes has been reached. + */ + 'deleteOldestBackupsWhenUsingMoreMegabytesThan' => 5000, + ], + ], + +]; diff --git a/src/resources/install/config/base.php b/src/resources/install/config/base.php new file mode 100644 index 0000000..2e26533 --- /dev/null +++ b/src/resources/install/config/base.php @@ -0,0 +1,277 @@ + 'D MMM YYYY', + 'default_datetime_format' => 'D MMM YYYY, HH:mm', + + // Direction, according to language + // (left-to-right vs right-to-left) + 'html_direction' => 'ltr', + + // ---- + // HEAD + // ---- + + // Project name. Shown in the window title. + 'project_name' => 'Quiz Factory', + + // When clicking on the admin panel's top-left logo/name, + // where should the user be redirected? + // The string below will be passed through the url() helper. + // - default: '' (project root) + // - alternative: 'admin' (the admin's dashboard) + 'home_link' => 'admin', + + // Content of the HTML meta robots tag to prevent indexing and link following + 'meta_robots_content' => 'noindex, nofollow', + + // ------ + // STYLES + // ------ + + // CSS files that are loaded in all pages, using Laravel's asset() helper + 'styles' => [ + 'packages/backpack/base/css/bundle.css', + + // Here's what's inside the bundle: + // 'packages/@digitallyhappy/backstrap/css/style.min.css', + // 'packages/animate.css/animate.min.css', + // 'packages/noty/noty.css', + + // Load the fonts separately (so that you can replace them at will): + 'packages/source-sans-pro/source-sans-pro.css', + 'packages/line-awesome/css/line-awesome.min.css', + + // Example (the fonts above, loaded from CDN instead) + // 'https://maxcdn.icons8.com/fonts/line-awesome/1.1/css/line-awesome-font-awesome.min.css', + // 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic', + + // Example (load font-awesome instead of line-awesome): + // 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.10.2/css/all.min.css', + ], + + // CSS files that are loaded in all pages, using Laravel's mix() helper + 'mix_styles' => [ // file_path => manifest_directory_path + // 'css/app.css' => '', + ], + + // ------ + // HEADER + // ------ + + // Menu logo. You can replace this with an tag if you have a logo. + 'project_logo' => 'PROJECTLOGO', + + // Show / hide breadcrumbs on admin panel pages. + 'breadcrumbs' => true, + + // Horizontal navbar classes. Helps make the admin panel look similar to your project's design. + 'header_class' => 'app-header bg-purple border-0 navbar navbar-color', + // For background colors use: bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan, bg-white + // For links to be visible on different background colors use: "navbar-dark", "navbar-light", "navbar-color" + + // ---- + // BODY + // ---- + + // Body element classes. + 'body_class' => 'app aside-menu-fixed sidebar-lg-show', + // Try sidebar-hidden, sidebar-fixed, sidebar-compact, sidebar-lg-show + + // Sidebar element classes. + 'sidebar_class' => 'sidebar sidebar-pills bg-light', + // Remove "sidebar-transparent" for standard sidebar look + // Try "sidebar-light" or "sidebar-dark" for dark/light links + // You can also add a background class like bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan + + // ------ + // FOOTER + // ------ + + // Footer element classes. + 'footer_class' => 'app-footer d-print-none', + // hide it with d-none + // change background color with bg-dark, bg-primary, bg-secondary, bg-danger, bg-warning, bg-success, bg-info, bg-blue, bg-light-blue, bg-indigo, bg-purple, bg-pink, bg-red, bg-orange, bg-yellow, bg-green, bg-teal, bg-cyan, bg-white + + // Developer or company name. Shown in footer. + 'developer_name' => 'Cubedesigners', + + // Developer website. Link in footer. Type false if you want to hide it. + 'developer_link' => 'https://www.cubedesigners.com', + + // Show powered by Laravel Backpack in the footer? true/false + 'show_powered_by' => false, + + // ------- + // SCRIPTS + // ------- + + // JS files that are loaded in all pages, using Laravel's asset() helper + 'scripts' => [ + // Backstrap includes jQuery, Bootstrap, CoreUI, PNotify, Popper + 'packages/backpack/base/js/bundle.js', + + // examples (everything inside the bundle, loaded from CDN) + // 'https://code.jquery.com/jquery-3.4.1.min.js', + // 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js', + // 'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js', + // 'https://unpkg.com/@coreui/coreui/dist/js/coreui.min.js', + // 'https://cdnjs.cloudflare.com/ajax/libs/pace/1.0.2/pace.min.js', + // 'https://unpkg.com/sweetalert/dist/sweetalert.min.js', + // 'https://cdnjs.cloudflare.com/ajax/libs/noty/3.1.4/noty.min.js' + + // examples (VueJS or React) + // 'https://unpkg.com/vue@2.4.4/dist/vue.min.js', + // 'https://unpkg.com/react@16/umd/react.production.min.js', + // 'https://unpkg.com/react-dom@16/umd/react-dom.production.min.js', + ], + + // JS files that are loaded in all pages, using Laravel's mix() helper + 'mix_scripts' => [// file_path => manifest_directory_path + // 'js/app.js' => '', + ], + + // ------------- + // CACHE-BUSTING + // ------------- + + // All JS and CSS assets defined above have this string appended as query string (?v=string). + // If you want to manually trigger cachebusting for all styles and scripts, + // append or prepent something to the string below, so that it's different. + 'cachebusting_string' => \PackageVersions\Versions::getVersion('backpack/crud'), + + /* + |-------------------------------------------------------------------------- + | Registration Open + |-------------------------------------------------------------------------- + | + | Choose whether new users/admins are allowed to register. + | This will show the Register button on the login page and allow access to the + | Register functions in AuthController. + | + | By default the registration is open only on localhost. + */ + + 'registration_open' => env('BACKPACK_REGISTRATION_OPEN', env('APP_ENV') === 'local'), + + /* + |-------------------------------------------------------------------------- + | Routing + |-------------------------------------------------------------------------- + */ + + // The prefix used in all base routes (the 'admin' in admin/dashboard) + // You can make sure all your URLs use this prefix by using the backpack_url() helper instead of url() + 'route_prefix' => 'admin', + + // Set this to false if you would like to use your own AuthController and PasswordController + // (you then need to setup your auth routes manually in your routes.php file) + 'setup_auth_routes' => true, + + // Set this to false if you would like to skip adding the dashboard routes + // (you then need to overwrite the login route on your AuthController) + 'setup_dashboard_routes' => true, + + // Set this to false if you would like to skip adding "my account" routes + // (you then need to manually define the routes in your web.php) + 'setup_my_account_routes' => true, + + /* + |-------------------------------------------------------------------------- + | Authentication + |-------------------------------------------------------------------------- + */ + + // Fully qualified namespace of the User model + 'user_model_fqn' => App\Models\BackpackUser::class, + + // The classes for the middleware to check if the visitor is an admin + // Can be a single class or an array of clases + 'middleware_class' => [ + App\Http\Middleware\CheckIfAdmin::class, + \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, + // \Backpack\CRUD\app\Http\Middleware\UseBackpackAuthGuardInsteadOfDefaultAuthGuard::class, + ], + + // Alias for that middleware + 'middleware_key' => 'admin', + // Note: It's recommended to use the backpack_middleware() helper everywhere, which pulls this key for you. + + // Username column for authentication + // The Backpack default is the same as the Laravel default (email) + // If you need to switch to username, you also need to create that column in your db + 'authentication_column' => 'email', + 'authentication_column_name' => 'Email', + + // The guard that protects the Backpack admin panel. + // If null, the config.auth.defaults.guard value will be used. + 'guard' => 'backpack', + + // The password reset configuration for Backpack. + // If null, the config.auth.defaults.passwords value will be used. + 'passwords' => 'backpack', + + // What kind of avatar will you like to show to the user? + // Default: gravatar (automatically use the gravatar for his email) + // Other options: + // - placehold (generic image with his first letter) + // - example_method_name (specify the method on the User model that returns the URL) + 'avatar_type' => 'gravatar', + + /* + |-------------------------------------------------------------------------- + | Theme (User Interface) + |-------------------------------------------------------------------------- + */ + // Change the view namespace in order to load a different theme than the one Backpack provides. + // You can create child themes yourself, by creating a view folder anywhere in your resources/views + // and choosing that view_namespace instead of the default one. Backpack will load a file from there + // if it exists, otherwise it will load it from the default namespace ("backpack::"). + + 'view_namespace' => 'backpack::', + + // EXAMPLE: if you create a new folder in resources/views/vendor/myname/mypackage, + // your namespace would be the one below. IMPORTANT: in this case the namespace ends with a dot. + // 'view_namespace' => 'vendor.myname.mypackage.', + + /* + |-------------------------------------------------------------------------- + | File System + |-------------------------------------------------------------------------- + */ + + // Backpack\Base sets up its own filesystem disk, just like you would by + // adding an entry to your config/filesystems.php. It points to the root + // of your project and it's used throughout all Backpack packages. + // + // You can rename this disk here. Default: root + 'root_disk_name' => 'root', + + /* + |-------------------------------------------------------------------------- + | License Code + |-------------------------------------------------------------------------- + | + | If you, your employer or your client make money by using Backpack, you need + | to purchase a license. A license code will be provided after purchase, + | which you can put here or in your ENV file in staging & production. + | + | More info and payment form on: + | https://www.backpackforlaravel.com + | + */ + + 'license_code' => env('BACKPACK_LICENSE', false), +]; diff --git a/src/resources/install/config/blade-svg.php b/src/resources/install/config/blade-svg.php new file mode 100644 index 0000000..4d4a955 --- /dev/null +++ b/src/resources/install/config/blade-svg.php @@ -0,0 +1,72 @@ + 'public/images', + + /* + |-------------------------------------------------------------------------- + | Spritesheet Path + |-------------------------------------------------------------------------- + | + | If you would rather have one spritesheet than a lot of individual SVG + | files, you may specify a path to a spritesheet. The SVG images are + | extracted from this spritesheet to be rendered out individually. + | + */ + + 'spritesheet_path' => 'resources/svg/spritesheet.svg', + + /* + |-------------------------------------------------------------------------- + | Spritesheet URL + |-------------------------------------------------------------------------- + | + | If you don't want to embed the spritesheet directly in your markup and + | would rather reference an external URL, you can specify the path to + | the external spritesheet to use with this configuration option. + | + */ + + 'spritesheet_url' => '', + + /* + |-------------------------------------------------------------------------- + | Inline Rendering + |-------------------------------------------------------------------------- + | + | This value will determine whether or not the SVG should be rendered inline + | or if it should reference a spritesheet through a element. + | + | Default: true + | + */ + + 'inline' => true, + + /* + |-------------------------------------------------------------------------- + | Optional Class + |-------------------------------------------------------------------------- + | + | If you would like to have CSS classes applied to your SVGs, you must + | specify them here. Much like how you would define multiple classes + | in an HTML attribute, you may separate each class using a space. + | + | Default: '' + | + */ + + 'class' => 'svg fill-current', +]; diff --git a/src/resources/install/config/broadcasting.php b/src/resources/install/config/broadcasting.php new file mode 100644 index 0000000..3ca45ea --- /dev/null +++ b/src/resources/install/config/broadcasting.php @@ -0,0 +1,59 @@ + env('BROADCAST_DRIVER', 'null'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_APP_KEY'), + 'secret' => env('PUSHER_APP_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'encrypted' => true, + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/src/resources/install/config/cache.php b/src/resources/install/config/cache.php new file mode 100644 index 0000000..c291ff0 --- /dev/null +++ b/src/resources/install/config/cache.php @@ -0,0 +1,93 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'cache', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing a RAM based store such as APC or Memcached, there might + | be other applications utilizing the same cache. So, we'll specify a + | value to get prefixed to all our keys so we can avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_' . Str::slug(env('APP_ENV', 'env')) . '_cache'), + +]; diff --git a/src/resources/install/config/crud.php b/src/resources/install/config/crud.php new file mode 100644 index 0000000..7114ca9 --- /dev/null +++ b/src/resources/install/config/crud.php @@ -0,0 +1,598 @@ + [ + + /* + * List Operation + */ + 'list' => [ + // Define the size/looks of the content div for all CRUDs + // To override per view use $this->crud->setListContentClass('class-string') + 'contentClass' => 'col-md-12', + + // enable the datatables-responsive plugin, which hides columns if they don't fit? + // if not, a horizontal scrollbar will be shown instead + 'responsiveTable' => true, + + // stores pagination and filters in localStorage for two hours + // whenever the user tries to see that page, backpack loads the previous pagination and filtration + 'persistentTable' => true, + + // the time the table will be persisted in minutes + // after this the table info is cleared from localStorage. + // use false to never force localStorage clear. (default) + // keep in mind: User can clear his localStorage whenever he wants. + + 'persistentTableDuration' => false, + + // How many items should be shown by default by the Datatable? + // This value can be overwritten on a specific CRUD by calling + // $this->crud->setDefaultPageLength(50); + 'defaultPageLength' => 10, + + // A 1D array of options which will be used for both the displayed option and the value, or + // A 2D array in which the first array is used to define the value options and the second array the displayed options + // If a 2D array is used, strings in the right hand array will be automatically run through trans() + 'pageLengthMenu' => [[10, 25, 50, 100, -1], [10, 25, 50, 100, 'backpack::crud.all']], + + // How important is it for the action buttons to be visible? + // - 0 - most important + // - 1 - as important as bulk buttons + // - 2-3 - more important than the rest of the columns + // - 4 - less important than most columns + 'actionsColumnPriority' => 1, + ], + + /* + * Create Operation + */ + 'create' => [ + // Define the size/looks of the content div for all CRUDs + // To override per view use $this->crud->setCreateContentClass('class-string') + 'contentClass' => 'col-md-8 bold-labels', + + // When using tabbed forms (create & update), what kind of tabs would you like? + 'tabsType' => 'horizontal', //options: horizontal, vertical + + // How would you like the validation errors to be shown? + 'groupedErrors' => true, + 'inlineErrors' => true, + + // when the page loads, put the cursor on the first input? + 'autoFocusOnFirstField' => true, + + // Where do you want to redirect the user by default, save? + // options: save_and_back, save_and_edit, save_and_new + 'defaultSaveAction' => 'save_and_back', + + // When the user chooses "save and back" or "save and new", show a bubble + // for the fact that the default save action has been changed? + 'showSaveActionChange' => true, //options: true, false + + // Before saving the entry, how would you like the request to be stripped? + // - false - ONLY save inputs that have fields (safest) + // - [x, y, z] - save ALL inputs, EXCEPT the ones given in this array + 'saveAllInputsExcept' => false, + // 'saveAllInputsExcept' => ['_token', '_method', 'http_referrer', 'current_tab', 'save_action'], + ], + + /* + * Update Operation + */ + 'update' => [ + // Define the size/looks of the content div for all CRUDs + // To override per view use $this->crud->setEditContentClass('class-string') + 'contentClass' => 'col-md-8 bold-labels', + + // When using tabbed forms (create & update), what kind of tabs would you like? + 'tabsType' => 'horizontal', //options: horizontal, vertical + + // How would you like the validation errors to be shown? + 'groupedErrors' => true, + 'inlineErrors' => true, + + // when the page loads, put the cursor on the first input? + 'autoFocusOnFirstField' => true, + + // Where do you want to redirect the user by default, save? + // options: save_and_back, save_and_edit, save_and_new + 'defaultSaveAction' => 'save_and_back', + + // When the user chooses "save and back" or "save and new", show a bubble + // for the fact that the default save action has been changed? + 'showSaveActionChange' => true, //options: true, false + + // Before saving the entry, how would you like the request to be stripped? + // - false - Save ONLY inputs that have a field (safest, default); + // - [x, y, z] - Save ALL inputs, EXCEPT the ones given in this array; + 'saveAllInputsExcept' => false, + // 'saveAllInputsExcept' => ['_token', '_method', 'http_referrer', 'current_tab', 'save_action'], + ], + + /* + * Show Operation + */ + 'show' => [ + // Define the size/looks of the content div for all CRUDs + // To override per Controller use $this->crud->setShowContentClass('class-string') + 'contentClass' => 'col-md-8', + ], + + /* + * Reorder Operation + */ + 'reorder' => [ + // Define the size/looks of the content div for all CRUDs + // To override per Controller use $this->crud->setReorderContentClass('class-string') + 'contentClass' => 'col-md-8 col-md-offset-2', + ], + + /* + * Revisions Operation + */ + 'revisions' => [ + // Define the size/looks of the content div for all CRUDs + // To override per view use $this->crud->setRevisionsTimelineContentClass('class-string') + 'timelineContentClass' => 'col-md-12', + ], + + ], + + /* + |------------------- + | TRANSLATABLE CRUDS + |------------------- + */ + + 'show_translatable_field_icon' => true, + 'translatable_field_icon_position' => 'right', // left or right + + 'locales' => [ + // "af_NA" => "Afrikaans (Namibia)", + // "af_ZA" => "Afrikaans (South Africa)", + // "af" => "Afrikaans", + // "ak_GH" => "Akan (Ghana)", + // "ak" => "Akan", + // "sq_AL" => "Albanian (Albania)", + // "sq" => "Albanian", + // "am_ET" => "Amharic (Ethiopia)", + // "am" => "Amharic", + // "ar_DZ" => "Arabic (Algeria)", + // "ar_BH" => "Arabic (Bahrain)", + // "ar_EG" => "Arabic (Egypt)", + // "ar_IQ" => "Arabic (Iraq)", + // "ar_JO" => "Arabic (Jordan)", + // "ar_KW" => "Arabic (Kuwait)", + // "ar_LB" => "Arabic (Lebanon)", + // "ar_LY" => "Arabic (Libya)", + // "ar_MA" => "Arabic (Morocco)", + // "ar_OM" => "Arabic (Oman)", + // "ar_QA" => "Arabic (Qatar)", + // "ar_SA" => "Arabic (Saudi Arabia)", + // "ar_SD" => "Arabic (Sudan)", + // "ar_SY" => "Arabic (Syria)", + // "ar_TN" => "Arabic (Tunisia)", + // "ar_AE" => "Arabic (United Arab Emirates)", + // "ar_YE" => "Arabic (Yemen)", + // "ar" => "Arabic", + // "hy_AM" => "Armenian (Armenia)", + // "hy" => "Armenian", + // "as_IN" => "Assamese (India)", + // "as" => "Assamese", + // "asa_TZ" => "Asu (Tanzania)", + // "asa" => "Asu", + // "az_Cyrl" => "Azerbaijani (Cyrillic)", + // "az_Cyrl_AZ" => "Azerbaijani (Cyrillic, Azerbaijan)", + // "az_Latn" => "Azerbaijani (Latin)", + // "az_Latn_AZ" => "Azerbaijani (Latin, Azerbaijan)", + // "az" => "Azerbaijani", + // "bm_ML" => "Bambara (Mali)", + // "bm" => "Bambara", + // "eu_ES" => "Basque (Spain)", + // "eu" => "Basque", + // "be_BY" => "Belarusian (Belarus)", + // "be" => "Belarusian", + // "bem_ZM" => "Bemba (Zambia)", + // "bem" => "Bemba", + // "bez_TZ" => "Bena (Tanzania)", + // "bez" => "Bena", + // "bn_BD" => "Bengali (Bangladesh)", + // "bn_IN" => "Bengali (India)", + // "bn" => "Bengali", + // "bs_BA" => "Bosnian (Bosnia and Herzegovina)", + // "bs" => "Bosnian", + // "bg_BG" => "Bulgarian (Bulgaria)", + // "bg" => "Bulgarian", + // "my_MM" => "Burmese (Myanmar [Burma])", + // "my" => "Burmese", + // "ca_ES" => "Catalan (Spain)", + // "ca" => "Catalan", + // "tzm_Latn" => "Central Morocco Tamazight (Latin)", + // "tzm_Latn_MA" => "Central Morocco Tamazight (Latin, Morocco)", + // "tzm" => "Central Morocco Tamazight", + // "chr_US" => "Cherokee (United States)", + // "chr" => "Cherokee", + // "cgg_UG" => "Chiga (Uganda)", + // "cgg" => "Chiga", + // "zh_Hans" => "Chinese (Simplified Han)", + // "zh_Hans_CN" => "Chinese (Simplified Han, China)", + // "zh_Hans_HK" => "Chinese (Simplified Han, Hong Kong SAR China)", + // "zh_Hans_MO" => "Chinese (Simplified Han, Macau SAR China)", + // "zh_Hans_SG" => "Chinese (Simplified Han, Singapore)", + // "zh_Hant" => "Chinese (Traditional Han)", + // "zh_Hant_HK" => "Chinese (Traditional Han, Hong Kong SAR China)", + // "zh_Hant_MO" => "Chinese (Traditional Han, Macau SAR China)", + // "zh_Hant_TW" => "Chinese (Traditional Han, Taiwan)", + // "zh" => "Chinese", + // "kw_GB" => "Cornish (United Kingdom)", + // "kw" => "Cornish", + // "hr_HR" => "Croatian (Croatia)", + // "hr" => "Croatian", + // "cs_CZ" => "Czech (Czech Republic)", + // "cs" => "Czech", + // "da_DK" => "Danish (Denmark)", + // "da" => "Danish", + // "nl_BE" => "Dutch (Belgium)", + // "nl_NL" => "Dutch (Netherlands)", + // "nl" => "Dutch", + // "ebu_KE" => "Embu (Kenya)", + // "ebu" => "Embu", + // "en_AS" => "English (American Samoa)", + // "en_AU" => "English (Australia)", + // "en_BE" => "English (Belgium)", + // "en_BZ" => "English (Belize)", + // "en_BW" => "English (Botswana)", + // "en_CA" => "English (Canada)", + // "en_GU" => "English (Guam)", + // "en_HK" => "English (Hong Kong SAR China)", + // "en_IN" => "English (India)", + // "en_IE" => "English (Ireland)", + // "en_JM" => "English (Jamaica)", + // "en_MT" => "English (Malta)", + // "en_MH" => "English (Marshall Islands)", + // "en_MU" => "English (Mauritius)", + // "en_NA" => "English (Namibia)", + // "en_NZ" => "English (New Zealand)", + // "en_MP" => "English (Northern Mariana Islands)", + // "en_PK" => "English (Pakistan)", + // "en_PH" => "English (Philippines)", + // "en_SG" => "English (Singapore)", + // "en_ZA" => "English (South Africa)", + // "en_TT" => "English (Trinidad and Tobago)", + // "en_UM" => "English (U.S. Minor Outlying Islands)", + // "en_VI" => "English (U.S. Virgin Islands)", + // "en_GB" => "English (United Kingdom)", + // "en_US" => "English (United States)", + // "en_ZW" => "English (Zimbabwe)", + 'en' => 'English', + // "eo" => "Esperanto", + // "et_EE" => "Estonian (Estonia)", + // "et" => "Estonian", + // "ee_GH" => "Ewe (Ghana)", + // "ee_TG" => "Ewe (Togo)", + // "ee" => "Ewe", + // "fo_FO" => "Faroese (Faroe Islands)", + // "fo" => "Faroese", + // "fil_PH" => "Filipino (Philippines)", + // "fil" => "Filipino", + // "fi_FI" => "Finnish (Finland)", + // "fi" => "Finnish", + // "fr_BE" => "French (Belgium)", + // "fr_BJ" => "French (Benin)", + // "fr_BF" => "French (Burkina Faso)", + // "fr_BI" => "French (Burundi)", + // "fr_CM" => "French (Cameroon)", + // "fr_CA" => "French (Canada)", + // "fr_CF" => "French (Central African Republic)", + // "fr_TD" => "French (Chad)", + // "fr_KM" => "French (Comoros)", + // "fr_CG" => "French (Congo - Brazzaville)", + // "fr_CD" => "French (Congo - Kinshasa)", + // "fr_CI" => "French (Côte d’Ivoire)", + // "fr_DJ" => "French (Djibouti)", + // "fr_GQ" => "French (Equatorial Guinea)", + // "fr_FR" => "French (France)", + // "fr_GA" => "French (Gabon)", + // "fr_GP" => "French (Guadeloupe)", + // "fr_GN" => "French (Guinea)", + // "fr_LU" => "French (Luxembourg)", + // "fr_MG" => "French (Madagascar)", + // "fr_ML" => "French (Mali)", + // "fr_MQ" => "French (Martinique)", + // "fr_MC" => "French (Monaco)", + // "fr_NE" => "French (Niger)", + // "fr_RW" => "French (Rwanda)", + // "fr_RE" => "French (Réunion)", + // "fr_BL" => "French (Saint Barthélemy)", + // "fr_MF" => "French (Saint Martin)", + // "fr_SN" => "French (Senegal)", + // "fr_CH" => "French (Switzerland)", + // "fr_TG" => "French (Togo)", + 'fr' => 'French', + // "ff_SN" => "Fulah (Senegal)", + // "ff" => "Fulah", + // "gl_ES" => "Galician (Spain)", + // "gl" => "Galician", + // "lg_UG" => "Ganda (Uganda)", + // "lg" => "Ganda", + // "ka_GE" => "Georgian (Georgia)", + // "ka" => "Georgian", + // "de_AT" => "German (Austria)", + // "de_BE" => "German (Belgium)", + // "de_DE" => "German (Germany)", + // "de_LI" => "German (Liechtenstein)", + // "de_LU" => "German (Luxembourg)", + // "de_CH" => "German (Switzerland)", + // "de" => "German", + // "el_CY" => "Greek (Cyprus)", + // "el_GR" => "Greek (Greece)", + // "el" => "Greek", + // "gu_IN" => "Gujarati (India)", + // "gu" => "Gujarati", + // "guz_KE" => "Gusii (Kenya)", + // "guz" => "Gusii", + // "ha_Latn" => "Hausa (Latin)", + // "ha_Latn_GH" => "Hausa (Latin, Ghana)", + // "ha_Latn_NE" => "Hausa (Latin, Niger)", + // "ha_Latn_NG" => "Hausa (Latin, Nigeria)", + // "ha" => "Hausa", + // "haw_US" => "Hawaiian (United States)", + // "haw" => "Hawaiian", + // "he_IL" => "Hebrew (Israel)", + // "he" => "Hebrew", + // "hi_IN" => "Hindi (India)", + // "hi" => "Hindi", + // "hu_HU" => "Hungarian (Hungary)", + // "hu" => "Hungarian", + // "is_IS" => "Icelandic (Iceland)", + // "is" => "Icelandic", + // "ig_NG" => "Igbo (Nigeria)", + // "ig" => "Igbo", + // "id_ID" => "Indonesian (Indonesia)", + // "id" => "Indonesian", + // "ga_IE" => "Irish (Ireland)", + // "ga" => "Irish", + // "it_IT" => "Italian (Italy)", + // "it_CH" => "Italian (Switzerland)", + 'it' => 'Italian', + // "ja_JP" => "Japanese (Japan)", + // "ja" => "Japanese", + // "kea_CV" => "Kabuverdianu (Cape Verde)", + // "kea" => "Kabuverdianu", + // "kab_DZ" => "Kabyle (Algeria)", + // "kab" => "Kabyle", + // "kl_GL" => "Kalaallisut (Greenland)", + // "kl" => "Kalaallisut", + // "kln_KE" => "Kalenjin (Kenya)", + // "kln" => "Kalenjin", + // "kam_KE" => "Kamba (Kenya)", + // "kam" => "Kamba", + // "kn_IN" => "Kannada (India)", + // "kn" => "Kannada", + // "kk_Cyrl" => "Kazakh (Cyrillic)", + // "kk_Cyrl_KZ" => "Kazakh (Cyrillic, Kazakhstan)", + // "kk" => "Kazakh", + // "km_KH" => "Khmer (Cambodia)", + // "km" => "Khmer", + // "ki_KE" => "Kikuyu (Kenya)", + // "ki" => "Kikuyu", + // "rw_RW" => "Kinyarwanda (Rwanda)", + // "rw" => "Kinyarwanda", + // "kok_IN" => "Konkani (India)", + // "kok" => "Konkani", + // "ko_KR" => "Korean (South Korea)", + // "ko" => "Korean", + // "khq_ML" => "Koyra Chiini (Mali)", + // "khq" => "Koyra Chiini", + // "ses_ML" => "Koyraboro Senni (Mali)", + // "ses" => "Koyraboro Senni", + // "lag_TZ" => "Langi (Tanzania)", + // "lag" => "Langi", + // "lv_LV" => "Latvian (Latvia)", + // "lv" => "Latvian", + // "lt_LT" => "Lithuanian (Lithuania)", + // "lt" => "Lithuanian", + // "luo_KE" => "Luo (Kenya)", + // "luo" => "Luo", + // "luy_KE" => "Luyia (Kenya)", + // "luy" => "Luyia", + // "mk_MK" => "Macedonian (Macedonia)", + // "mk" => "Macedonian", + // "jmc_TZ" => "Machame (Tanzania)", + // "jmc" => "Machame", + // "kde_TZ" => "Makonde (Tanzania)", + // "kde" => "Makonde", + // "mg_MG" => "Malagasy (Madagascar)", + // "mg" => "Malagasy", + // "ms_BN" => "Malay (Brunei)", + // "ms_MY" => "Malay (Malaysia)", + // "ms" => "Malay", + // "ml_IN" => "Malayalam (India)", + // "ml" => "Malayalam", + // "mt_MT" => "Maltese (Malta)", + // "mt" => "Maltese", + // "gv_GB" => "Manx (United Kingdom)", + // "gv" => "Manx", + // "mr_IN" => "Marathi (India)", + // "mr" => "Marathi", + // "mas_KE" => "Masai (Kenya)", + // "mas_TZ" => "Masai (Tanzania)", + // "mas" => "Masai", + // "mer_KE" => "Meru (Kenya)", + // "mer" => "Meru", + // "mfe_MU" => "Morisyen (Mauritius)", + // "mfe" => "Morisyen", + // "naq_NA" => "Nama (Namibia)", + // "naq" => "Nama", + // "ne_IN" => "Nepali (India)", + // "ne_NP" => "Nepali (Nepal)", + // "ne" => "Nepali", + // "nd_ZW" => "North Ndebele (Zimbabwe)", + // "nd" => "North Ndebele", + // "nb_NO" => "Norwegian Bokmål (Norway)", + // "nb" => "Norwegian Bokmål", + // "nn_NO" => "Norwegian Nynorsk (Norway)", + // "nn" => "Norwegian Nynorsk", + // "nyn_UG" => "Nyankole (Uganda)", + // "nyn" => "Nyankole", + // "or_IN" => "Oriya (India)", + // "or" => "Oriya", + // "om_ET" => "Oromo (Ethiopia)", + // "om_KE" => "Oromo (Kenya)", + // "om" => "Oromo", + // "ps_AF" => "Pashto (Afghanistan)", + // "ps" => "Pashto", + // "fa_AF" => "Persian (Afghanistan)", + // "fa_IR" => "Persian (Iran)", + // "fa" => "Persian", + // "pl_PL" => "Polish (Poland)", + // "pl" => "Polish", + // "pt_BR" => "Portuguese (Brazil)", + // "pt_GW" => "Portuguese (Guinea-Bissau)", + // "pt_MZ" => "Portuguese (Mozambique)", + // "pt_PT" => "Portuguese (Portugal)", + // "pt" => "Portuguese", + // "pa_Arab" => "Punjabi (Arabic)", + // "pa_Arab_PK" => "Punjabi (Arabic, Pakistan)", + // "pa_Guru" => "Punjabi (Gurmukhi)", + // "pa_Guru_IN" => "Punjabi (Gurmukhi, India)", + // "pa" => "Punjabi", + // "ro_MD" => "Romanian (Moldova)", + // "ro_RO" => "Romanian (Romania)", + 'ro' => 'Romanian', + // "rm_CH" => "Romansh (Switzerland)", + // "rm" => "Romansh", + // "rof_TZ" => "Rombo (Tanzania)", + // "rof" => "Rombo", + // "ru_MD" => "Russian (Moldova)", + // "ru_RU" => "Russian (Russia)", + // "ru_UA" => "Russian (Ukraine)", + // "ru" => "Russian", + // "rwk_TZ" => "Rwa (Tanzania)", + // "rwk" => "Rwa", + // "saq_KE" => "Samburu (Kenya)", + // "saq" => "Samburu", + // "sg_CF" => "Sango (Central African Republic)", + // "sg" => "Sango", + // "seh_MZ" => "Sena (Mozambique)", + // "seh" => "Sena", + // "sr_Cyrl" => "Serbian (Cyrillic)", + // "sr_Cyrl_BA" => "Serbian (Cyrillic, Bosnia and Herzegovina)", + // "sr_Cyrl_ME" => "Serbian (Cyrillic, Montenegro)", + // "sr_Cyrl_RS" => "Serbian (Cyrillic, Serbia)", + // "sr_Latn" => "Serbian (Latin)", + // "sr_Latn_BA" => "Serbian (Latin, Bosnia and Herzegovina)", + // "sr_Latn_ME" => "Serbian (Latin, Montenegro)", + // "sr_Latn_RS" => "Serbian (Latin, Serbia)", + // "sr" => "Serbian", + // "sn_ZW" => "Shona (Zimbabwe)", + // "sn" => "Shona", + // "ii_CN" => "Sichuan Yi (China)", + // "ii" => "Sichuan Yi", + // "si_LK" => "Sinhala (Sri Lanka)", + // "si" => "Sinhala", + // "sk_SK" => "Slovak (Slovakia)", + // "sk" => "Slovak", + // "sl_SI" => "Slovenian (Slovenia)", + // "sl" => "Slovenian", + // "xog_UG" => "Soga (Uganda)", + // "xog" => "Soga", + // "so_DJ" => "Somali (Djibouti)", + // "so_ET" => "Somali (Ethiopia)", + // "so_KE" => "Somali (Kenya)", + // "so_SO" => "Somali (Somalia)", + // "so" => "Somali", + // "es_AR" => "Spanish (Argentina)", + // "es_BO" => "Spanish (Bolivia)", + // "es_CL" => "Spanish (Chile)", + // "es_CO" => "Spanish (Colombia)", + // "es_CR" => "Spanish (Costa Rica)", + // "es_DO" => "Spanish (Dominican Republic)", + // "es_EC" => "Spanish (Ecuador)", + // "es_SV" => "Spanish (El Salvador)", + // "es_GQ" => "Spanish (Equatorial Guinea)", + // "es_GT" => "Spanish (Guatemala)", + // "es_HN" => "Spanish (Honduras)", + // "es_419" => "Spanish (Latin America)", + // "es_MX" => "Spanish (Mexico)", + // "es_NI" => "Spanish (Nicaragua)", + // "es_PA" => "Spanish (Panama)", + // "es_PY" => "Spanish (Paraguay)", + // "es_PE" => "Spanish (Peru)", + // "es_PR" => "Spanish (Puerto Rico)", + // "es_ES" => "Spanish (Spain)", + // "es_US" => "Spanish (United States)", + // "es_UY" => "Spanish (Uruguay)", + // "es_VE" => "Spanish (Venezuela)", + // "es" => "Spanish", + // "sw_KE" => "Swahili (Kenya)", + // "sw_TZ" => "Swahili (Tanzania)", + // "sw" => "Swahili", + // "sv_FI" => "Swedish (Finland)", + // "sv_SE" => "Swedish (Sweden)", + // "sv" => "Swedish", + // "gsw_CH" => "Swiss German (Switzerland)", + // "gsw" => "Swiss German", + // "shi_Latn" => "Tachelhit (Latin)", + // "shi_Latn_MA" => "Tachelhit (Latin, Morocco)", + // "shi_Tfng" => "Tachelhit (Tifinagh)", + // "shi_Tfng_MA" => "Tachelhit (Tifinagh, Morocco)", + // "shi" => "Tachelhit", + // "dav_KE" => "Taita (Kenya)", + // "dav" => "Taita", + // "ta_IN" => "Tamil (India)", + // "ta_LK" => "Tamil (Sri Lanka)", + // "ta" => "Tamil", + // "te_IN" => "Telugu (India)", + // "te" => "Telugu", + // "teo_KE" => "Teso (Kenya)", + // "teo_UG" => "Teso (Uganda)", + // "teo" => "Teso", + // "th_TH" => "Thai (Thailand)", + // "th" => "Thai", + // "bo_CN" => "Tibetan (China)", + // "bo_IN" => "Tibetan (India)", + // "bo" => "Tibetan", + // "ti_ER" => "Tigrinya (Eritrea)", + // "ti_ET" => "Tigrinya (Ethiopia)", + // "ti" => "Tigrinya", + // "to_TO" => "Tonga (Tonga)", + // "to" => "Tonga", + // "tr_TR" => "Turkish (Turkey)", + // "tr" => "Turkish", + // "uk_UA" => "Ukrainian (Ukraine)", + // "uk" => "Ukrainian", + // "ur_IN" => "Urdu (India)", + // "ur_PK" => "Urdu (Pakistan)", + // "ur" => "Urdu", + // "uz_Arab" => "Uzbek (Arabic)", + // "uz_Arab_AF" => "Uzbek (Arabic, Afghanistan)", + // "uz_Cyrl" => "Uzbek (Cyrillic)", + // "uz_Cyrl_UZ" => "Uzbek (Cyrillic, Uzbekistan)", + // "uz_Latn" => "Uzbek (Latin)", + // "uz_Latn_UZ" => "Uzbek (Latin, Uzbekistan)", + // "uz" => "Uzbek", + // "vi_VN" => "Vietnamese (Vietnam)", + // "vi" => "Vietnamese", + // "vun_TZ" => "Vunjo (Tanzania)", + // "vun" => "Vunjo", + // "cy_GB" => "Welsh (United Kingdom)", + // "cy" => "Welsh", + // "yo_NG" => "Yoruba (Nigeria)", + // "yo" => "Yoruba", + // "zu_ZA" => "Zulu (South Africa)", + // "zu" => "Zulu" + ], + +]; diff --git a/src/resources/install/config/cubist-front.php b/src/resources/install/config/cubist-front.php new file mode 100644 index 0000000..a1b26e6 --- /dev/null +++ b/src/resources/install/config/cubist-front.php @@ -0,0 +1,2 @@ + env('CUBIST_INTERNAL_SEARCH', false), + 'internal_search_index' => env('CUBIST_INTERNAL_SEARCH_INDEX', strtolower(env('APP_NAME', 'App_name') . '_' . env('APP_ENV', 'dev'))), + 'page_model' => '\App\Models\Page', + 'settings_model' => '\App\Models\Settings', + 'locale_model' => '\App\Models\Locale', + 'seo_robots' => env('SEO_ROBOTS', true), +]; + diff --git a/src/resources/install/config/database.php b/src/resources/install/config/database.php new file mode 100644 index 0000000..22347a4 --- /dev/null +++ b/src/resources/install/config/database.php @@ -0,0 +1,131 @@ + env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + 'schema' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer body of commands than a typical key-value system + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'client' => 'predis', + + 'default' => [ + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', 6379), + 'database' => env('REDIS_DB', 0), + ], + + 'cache' => [ + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', 6379), + 'database' => env('REDIS_CACHE_DB', 1), + ], + + ], + +]; diff --git a/src/resources/install/config/elasticsearch.php b/src/resources/install/config/elasticsearch.php new file mode 100644 index 0000000..98c1ecd --- /dev/null +++ b/src/resources/install/config/elasticsearch.php @@ -0,0 +1,206 @@ + 'default', + + /** + * These are the connection parameters used when building a client. + */ + + 'connections' => [ + + 'default' => [ + + /** + * Hosts + * + * This is an array of hosts that the client will connect to. It can be a + * single host, or an array if you are running a cluster of Elasticsearch + * instances. + * + * This is the only configuration value that is mandatory. + * + * Presently using "extended" host configuration method + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_extended_host_configuration + * + * There is also the shorter "inline" configuration method available + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_inline_host_configuration + */ + + 'hosts' => [ + [ + 'host' => env('ELASTICSEARCH_HOST', '127.0.0.1'), + 'port' => env('ELASTICSEARCH_PORT', 9200), + 'scheme' => env('ELASTICSEARCH_SCHEME', null), + 'user' => env('ELASTICSEARCH_USER', null), + 'pass' => env('ELASTICSEARCH_PASS', null), + + // If you are connecting to an Elasticsearch instance on AWS, you will need these values as well + 'aws' => env('AWS_ELASTICSEARCH_ENABLED', false), + 'aws_region' => env('AWS_REGION', ''), + 'aws_key' => env('AWS_ACCESS_KEY_ID', ''), + 'aws_secret' => env('AWS_SECRET_ACCESS_KEY', '') + ], + ], + + /** + * SSL + * + * If your Elasticsearch instance uses an out-dated or self-signed SSL + * certificate, you will need to pass in the certificate bundle. This can + * either be the path to the certificate file (for self-signed certs), or a + * package like https://github.com/Kdyby/CurlCaBundle. See the documentation + * below for all the details. + * + * If you are using SSL instances, and the certificates are up-to-date and + * signed by a public certificate authority, then you can leave this null and + * just use "https" in the host path(s) above and you should be fine. + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_security.html#_ssl_encryption_2 + */ + + 'sslVerification' => null, + + /** + * Logging + * + * Logging is handled by passing in an instance of Monolog\Logger (which + * coincidentally is what Laravel's default logger is). + * + * If logging is enabled, you either need to set the path and log level + * (some defaults are given for you below), or you can use a custom logger by + * setting 'logObject' to an instance of Psr\Log\LoggerInterface. In fact, + * if you just want to use the default Laravel logger, then set 'logObject' + * to \Log::getMonolog(). + * + * Note: 'logObject' takes precedent over 'logPath'/'logLevel', so set + * 'logObject' null if you just want file-based logging to a custom path. + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#enabling_logger + */ + + 'logging' => false, + + // If you have an existing instance of Monolog you can use it here. + // 'logObject' => \Log::getMonolog(), + + 'logPath' => storage_path('logs/elasticsearch.log'), + + 'logLevel' => Monolog\Logger::INFO, + + /** + * Retries + * + * By default, the client will retry n times, where n = number of nodes in + * your cluster. If you would like to disable retries, or change the number, + * you can do so here. + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_set_retries + */ + + 'retries' => null, + + /** + * The remainder of the configuration options can almost always be left + * as-is unless you have specific reasons to change them. Refer to the + * appropriate sections in the Elasticsearch documentation for what each option + * does and what values it expects. + */ + + /** + * Sniff On Start + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html + */ + + 'sniffOnStart' => false, + + /** + * HTTP Handler + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_configure_the_http_handler + * @see http://ringphp.readthedocs.org/en/latest/client_handlers.html + */ + + 'httpHandler' => null, + + /** + * Connection Pool + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_the_connection_pool + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_connection_pool.html + */ + + 'connectionPool' => null, + + /** + * Connection Selector + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_the_connection_selector + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_selectors.html + */ + + 'connectionSelector' => null, + + /** + * Serializer + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_the_serializer + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_serializers.html + */ + + 'serializer' => null, + + /** + * Connection Factory + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_a_custom_connectionfactory + */ + + 'connectionFactory' => null, + + /** + * Endpoint + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/6.0/_configuration.html#_set_the_endpoint_closure + */ + + 'endpoint' => null, + + + /** + * Register additional namespaces + * + * An array of additional namespaces to register. + * + * @example 'namespaces' => [XPack::Security(), XPack::Watcher()] + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/ElasticsearchPHP_Endpoints.html#Elasticsearch_ClientBuilderregisterNamespace_registerNamespace + */ + 'namespaces' => [], + + /** + * Tracer + * + * Tracer is handled by passing in a name of the class implements Psr\Log\LoggerInterface. + * + * @see https://www.elastic.co/guide/en/elasticsearch/client/php-api/2.0/_configuration.html#_setting_a_custom_connectionfactory + */ + 'tracer' => null, + + ], + + ], + +]; diff --git a/src/resources/install/config/elfinder.php b/src/resources/install/config/elfinder.php new file mode 100644 index 0000000..4515d5e --- /dev/null +++ b/src/resources/install/config/elfinder.php @@ -0,0 +1,81 @@ + ['uploads'], + + /* + |-------------------------------------------------------------------------- + | Filesystem disks (Flysytem) + |-------------------------------------------------------------------------- + | + | Define an array of Filesystem disks, which use Flysystem. + | You can set extra options, example: + | + | 'my-disk' => [ + | 'URL' => url('to/disk'), + | 'alias' => 'Local storage', + | ] + */ + 'disks' => [ + // 'uploads', + ], + + /* + |-------------------------------------------------------------------------- + | Routes group config + |-------------------------------------------------------------------------- + | + | The default group settings for the elFinder routes. + | + */ + + 'route' => [ + 'prefix' => config('backpack.base.route_prefix', 'admin').'/elfinder', + 'middleware' => ['web', config('backpack.base.middleware_key', 'admin')], //Set to null to disable middleware filter + ], + + /* + |-------------------------------------------------------------------------- + | Access filter + |-------------------------------------------------------------------------- + | + | Filter callback to check the files + | + */ + + 'access' => 'Barryvdh\Elfinder\Elfinder::checkAccess', + + /* + |-------------------------------------------------------------------------- + | Roots + |-------------------------------------------------------------------------- + | + | By default, the roots file is LocalFileSystem, with the above public dir. + | If you want custom options, you can set your own roots below. + | + */ + + 'roots' => null, + + /* + |-------------------------------------------------------------------------- + | Options + |-------------------------------------------------------------------------- + | + | These options are merged, together with 'roots' and passed to the Connector. + | See https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options-2.1 + | + */ + + 'options' => [], + +]; diff --git a/src/resources/install/config/features.php b/src/resources/install/config/features.php new file mode 100644 index 0000000..397f405 --- /dev/null +++ b/src/resources/install/config/features.php @@ -0,0 +1,10 @@ + env('FEATURE_SEARCH', true), + 'quote' => env('FEATURE_QUOTE', true), + 'news' => env('FEATURE_NEWS', true), + 'i18n' => env('FEATURE_I18N', true), + 'team' => env('FEATURE_TEAM', true), + 'partners' => env('FEATURE_PARTNERS', true), + 'clients' => env('FEATURE_CLIENTS', true), +]; diff --git a/src/resources/install/config/filesystems.php b/src/resources/install/config/filesystems.php new file mode 100644 index 0000000..0e611cb --- /dev/null +++ b/src/resources/install/config/filesystems.php @@ -0,0 +1,80 @@ + env('FILESYSTEM_DRIVER', 'local'), + + /* + |-------------------------------------------------------------------------- + | Default Cloud Filesystem Disk + |-------------------------------------------------------------------------- + | + | Many applications store files both locally and in the cloud. For this + | reason, you may specify a default "cloud" driver here. This driver + | will be bound as the Cloud disk implementation in the container. + | + */ + + 'cloud' => env('FILESYSTEM_CLOUD', 's3'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been setup for each driver as an example of the required options. + | + | Supported Drivers: "local", "ftp", "sftp", "s3", "rackspace" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + ], + + // used for Backpack/BackupManager + 'backups' => [ + 'driver' => 'local', + 'root' => storage_path('backups'), // that's where your backups are stored by default: storage/backups + ], + + 'storage' => [ + 'driver' => 'local', + 'root' => storage_path(), + ], + + ], + +]; diff --git a/src/resources/install/config/googletagmanager.php b/src/resources/install/config/googletagmanager.php new file mode 100644 index 0000000..eeb26cd --- /dev/null +++ b/src/resources/install/config/googletagmanager.php @@ -0,0 +1,26 @@ + env('GOOGLE_TAGMANAGER_ID', ''), + + /* + * Enable or disable script rendering. Useful for local development. + */ + 'enabled' => env('GOOGLE_TAGMANAGER_ID', '') != '', + + /* + * If you want to use some macro's you 'll probably store them + * in a dedicated file. You can optionally define the path + * to that file here and we will load it for you. + */ + 'macroPath' => '', + + /* + * The key under which data is saved to the session with flash. + */ + 'sessionKey' => '_googleTagManager', + +]; diff --git a/src/resources/install/config/gravatar.php b/src/resources/install/config/gravatar.php new file mode 100644 index 0000000..8f4466b --- /dev/null +++ b/src/resources/install/config/gravatar.php @@ -0,0 +1,34 @@ + array( + + // By default, images are presented at 80px by 80px if no size parameter is supplied. + // You may request a specific image size, which will be dynamically delivered from Gravatar + // by passing a single pixel dimension (since the images are square): + 'size' => 80, + + // the fallback image, can be a string or a url + // for more info, visit: http://en.gravatar.com/site/implement/images/#default-image + 'fallback' => 'mm', + + // would you like to return a https://... image + 'secure' => false, + + // Gravatar allows users to self-rate their images so that they can indicate if an image + // is appropriate for a certain audience. By default, only 'G' rated images are displayed + // unless you indicate that you would like to see higher ratings. + // Available options: + // g: suitable for display on all websites with any audience type. + // pg: may contain rude gestures, provocatively dressed individuals, the lesser swear words, or mild violence. + // r: may contain such things as harsh profanity, intense violence, nudity, or hard drug use. + // x: may contain hardcore sexual imagery or extremely disturbing violence. + 'maximumRating' => 'g', + + // If for some reason you wanted to force the default image to always load, you can do that setting this to true + 'forceDefault' => false, + + // If you require a file-type extension (some places do) then you may also add an (optional) .jpg extension to that URL + 'forceExtension' => 'jpg', + ) +); \ No newline at end of file diff --git a/src/resources/install/config/gtag.php b/src/resources/install/config/gtag.php new file mode 100644 index 0000000..a0c3110 --- /dev/null +++ b/src/resources/install/config/gtag.php @@ -0,0 +1,19 @@ + env('GOOGLE_ANALYTICS_ID', ''), + + /* + * Enable or disable script rendering. Useful for local development. + */ + 'enabled' => env('GOOGLE_ANALYTICS_ID', '') != '', + + /* + * Observe Do Not Track header. Disable google analytics tracking when enabled on the user agent + */ + 'observe_dnt' => true, +]; diff --git a/src/resources/install/config/hashing.php b/src/resources/install/config/hashing.php new file mode 100644 index 0000000..8425770 --- /dev/null +++ b/src/resources/install/config/hashing.php @@ -0,0 +1,52 @@ + 'bcrypt', + + /* + |-------------------------------------------------------------------------- + | Bcrypt Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Bcrypt algorithm. This will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'bcrypt' => [ + 'rounds' => env('BCRYPT_ROUNDS', 10), + ], + + /* + |-------------------------------------------------------------------------- + | Argon Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Argon algorithm. These will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'argon' => [ + 'memory' => 1024, + 'threads' => 2, + 'time' => 2, + ], + +]; diff --git a/src/resources/install/config/laravel-menu/settings.php b/src/resources/install/config/laravel-menu/settings.php new file mode 100644 index 0000000..22dc044 --- /dev/null +++ b/src/resources/install/config/laravel-menu/settings.php @@ -0,0 +1,13 @@ + [ + 'auto_activate' => true, + 'activate_parents' => true, + 'active_class' => 'active', + 'restful' => false, + 'cascade_data' => true, + 'rest_base' => '', // string|array + 'active_element' => 'item', // item|link + ], +]; diff --git a/src/resources/install/config/laravel-menu/views.php b/src/resources/install/config/laravel-menu/views.php new file mode 100644 index 0000000..e136d88 --- /dev/null +++ b/src/resources/install/config/laravel-menu/views.php @@ -0,0 +1,5 @@ + 'laravel-menu::bootstrap-navbar-items', +]; diff --git a/src/resources/install/config/logging.php b/src/resources/install/config/logging.php new file mode 100644 index 0000000..d09cd7d --- /dev/null +++ b/src/resources/install/config/logging.php @@ -0,0 +1,94 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", + | "custom", "stack" + | + */ + + 'channels' => [ + 'stack' => [ + 'driver' => 'stack', + 'channels' => ['daily'], + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => 'debug', + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => 'debug', + 'days' => 14, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Laravel Log', + 'emoji' => ':boom:', + 'level' => 'critical', + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => 'debug', + 'handler' => SyslogUdpHandler::class, + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + ], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => 'debug', + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => 'debug', + ], + ], + +]; diff --git a/src/resources/install/config/mail.php b/src/resources/install/config/mail.php new file mode 100644 index 0000000..83dd874 --- /dev/null +++ b/src/resources/install/config/mail.php @@ -0,0 +1,136 @@ + env('MAIL_DRIVER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Address + |-------------------------------------------------------------------------- + | + | Here you may provide the host address of the SMTP server used by your + | applications. A default option is provided that is compatible with + | the Mailgun mail service which will provide reliable deliveries. + | + */ + + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Port + |-------------------------------------------------------------------------- + | + | This is the SMTP port used by your application to deliver e-mails to + | users of the application. Like the host we have set this value to + | stay compatible with the Mailgun e-mail application by default. + | + */ + + 'port' => env('MAIL_PORT', 587), + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'pmi@cubedesigners.com'), + 'name' => env('MAIL_FROM_NAME', 'PM-Instrumentation'), + ], + + /* + |-------------------------------------------------------------------------- + | E-Mail Encryption Protocol + |-------------------------------------------------------------------------- + | + | Here you may specify the encryption protocol that should be used when + | the application send e-mail messages. A sensible default using the + | transport layer security protocol should provide great security. + | + */ + + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Username + |-------------------------------------------------------------------------- + | + | If your SMTP server requires a username for authentication, you should + | set it here. This will get used to authenticate with your server on + | connection. You may also set the "password" value below this one. + | + */ + + 'username' => env('MAIL_USERNAME'), + + 'password' => env('MAIL_PASSWORD'), + + /* + |-------------------------------------------------------------------------- + | Sendmail System Path + |-------------------------------------------------------------------------- + | + | When using the "sendmail" driver to send e-mails, we will need to know + | the path to where Sendmail lives on this server. A default path has + | been provided here, which will work well on most of your systems. + | + */ + + 'sendmail' => '/usr/sbin/sendmail -bs', + + /* + |-------------------------------------------------------------------------- + | Markdown Mail Settings + |-------------------------------------------------------------------------- + | + | If you are using Markdown based email rendering, you may configure your + | theme and component paths here, allowing you to customize the design + | of the emails. Or, you may simply stick with the Laravel defaults! + | + */ + + 'markdown' => [ + 'theme' => 'default', + + 'paths' => [ + resource_path('views/vendor/mail'), + ], + ], + + /* + |-------------------------------------------------------------------------- + | Log Channel + |-------------------------------------------------------------------------- + | + | If you are using the "log" driver, you may specify the logging channel + | if you prefer to keep mail messages separate from other log entries + | for simpler reading. Otherwise, the default channel will be used. + | + */ + + 'log_channel' => env('MAIL_LOG_CHANNEL'), + +]; diff --git a/src/resources/install/config/markdown.php b/src/resources/install/config/markdown.php new file mode 100644 index 0000000..5f7115c --- /dev/null +++ b/src/resources/install/config/markdown.php @@ -0,0 +1,168 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +return [ + + /* + |-------------------------------------------------------------------------- + | Enable View Integration + |-------------------------------------------------------------------------- + | + | This option specifies if the view integration is enabled so you can write + | markdown views and have them rendered as html. The following extensions + | are currently supported: ".md", ".md.php", and ".md.blade.php". You may + | disable this integration if it is conflicting with another package. + | + | Default: true + | + */ + + 'views' => true, + + /* + |-------------------------------------------------------------------------- + | CommonMark Extensions + |-------------------------------------------------------------------------- + | + | This option specifies what extensions will be automatically enabled. + | Simply provide your extension class names here. + | + | Default: [] + | + */ + + 'extensions' => [ + Cubist\Backpack\app\Markdown\Heading\Extension::class, + Cubist\Backpack\app\Markdown\Wrapper\Extension::class, + League\CommonMark\Ext\Autolink\AutolinkExtension::class, + League\CommonMark\Ext\Table\TableExtension::class, + Cubist\Backpack\app\Markdown\InternalLink\Extension::class, + + ], + + /* + |-------------------------------------------------------------------------- + | Renderer Configuration + |-------------------------------------------------------------------------- + | + | This option specifies an array of options for rendering HTML. + | + | Default: [ + | 'block_separator' => "\n", + | 'inner_separator' => "\n", + | 'soft_break' => "\n", + | ] + | + */ + + 'renderer' => [ + 'block_separator' => "\n", + 'inner_separator' => "\n", + 'soft_break' => "\n", + ], + + /* + |-------------------------------------------------------------------------- + | Enable Em Tag Parsing + |-------------------------------------------------------------------------- + | + | This option specifies if `` parsing is enabled. + | + | Default: true + | + */ + + 'enable_em' => true, + + /* + |-------------------------------------------------------------------------- + | Enable Strong Tag Parsing + |-------------------------------------------------------------------------- + | + | This option specifies if `` parsing is enabled. + | + | Default: true + | + */ + + 'enable_strong' => true, + + /* + |-------------------------------------------------------------------------- + | Enable Asterisk Parsing + |-------------------------------------------------------------------------- + | + | This option specifies if `*` should be parsed for emphasis. + | + | Default: true + | + */ + + 'use_asterisk' => true, + + /* + |-------------------------------------------------------------------------- + | Enable Underscore Parsing + |-------------------------------------------------------------------------- + | + | This option specifies if `_` should be parsed for emphasis. + | + | Default: true + | + */ + + 'use_underscore' => true, + + /* + |-------------------------------------------------------------------------- + | HTML Input + |-------------------------------------------------------------------------- + | + | This option specifies how to handle untrusted HTML input. + | + | Default: 'strip' + | + */ + + 'html_input' => 'strip', + + /* + |-------------------------------------------------------------------------- + | Allow Unsafe Links + |-------------------------------------------------------------------------- + | + | This option specifies whether to allow risky image URLs and links. + | + | Default: true + | + */ + + 'allow_unsafe_links' => true, + + /* + |-------------------------------------------------------------------------- + | Maximum Nesting Level + |-------------------------------------------------------------------------- + | + | This option specifies the maximum permitted block nesting level. + | + | Default: INF + | + */ + + 'max_nesting_level' => INF, + + 'heading_offset' => 0, + 'heading_max' => 6 + +]; diff --git a/src/resources/install/config/medialibrary.php b/src/resources/install/config/medialibrary.php new file mode 100644 index 0000000..9275e29 --- /dev/null +++ b/src/resources/install/config/medialibrary.php @@ -0,0 +1,150 @@ + 'public', + + /* + * The maximum file size of an item in bytes. + * Adding a larger file will result in an exception. + */ + 'max_file_size' => 1024 * 1024 * 1024, + + /* + * This queue will be used to generate derived and responsive images. + * Leave empty to use the default queue. + */ + 'queue_name' => '', + + /* + * The fully qualified class name of the media model. + */ + 'media_model' => Spatie\MediaLibrary\Models\Media::class, + + 's3' => [ + /* + * The domain that should be prepended when generating urls. + */ + 'domain' => 'https://'.env('AWS_BUCKET').'.s3.amazonaws.com', + ], + + 'remote' => [ + /* + * Any extra headers that should be included when uploading media to + * a remote disk. Even though supported headers may vary between + * different drivers, a sensible default has been provided. + * + * Supported by S3: CacheControl, Expires, StorageClass, + * ServerSideEncryption, Metadata, ACL, ContentEncoding + */ + 'extra_headers' => [ + 'CacheControl' => 'max-age=604800', + ], + ], + + 'responsive_images' => [ + + /* + * This class is responsible for calculating the target widths of the responsive + * images. By default we optimize for filesize and create variations that each are 20% + * smaller than the previous one. More info in the documentation. + * + * https://docs.spatie.be/laravel-medialibrary/v7/advanced-usage/generating-responsive-images + */ + 'width_calculator' => Spatie\MediaLibrary\ResponsiveImages\WidthCalculator\FileSizeOptimizedWidthCalculator::class, + + /* + * By default rendering media to a responsive image will add some javascript and a tiny placeholder. + * This ensures that the browser can already determine the correct layout. + */ + 'use_tiny_placeholders' => true, + + /* + * This class will generate the tiny placeholder used for progressive image loading. By default + * the medialibrary will use a tiny blurred jpg image. + */ + 'tiny_placeholder_generator' => Spatie\MediaLibrary\ResponsiveImages\TinyPlaceholderGenerator\Blurred::class, + ], + + /* + * When urls to files get generated, this class will be called. Leave empty + * if your files are stored locally above the site root or on s3. + */ + 'url_generator' => null, + + /* + * The class that contains the strategy for determining a media file's path. + */ + 'path_generator' => null, + + /* + * Medialibrary will try to optimize all converted images by removing + * metadata and applying a little bit of compression. These are + * the optimizers that will be used by default. + */ + 'image_optimizers' => [ + Spatie\ImageOptimizer\Optimizers\Jpegoptim::class => [ + '--strip-all', // this strips out all text information such as comments and EXIF data + '--all-progressive', // this will make sure the resulting image is a progressive one + ], + Spatie\ImageOptimizer\Optimizers\Pngquant::class => [ + '--force', // required parameter for this package + ], + Spatie\ImageOptimizer\Optimizers\Optipng::class => [ + '-i0', // this will result in a non-interlaced, progressive scanned image + '-o2', // this set the optimization level to two (multiple IDAT compression trials) + '-quiet', // required parameter for this package + ], + Spatie\ImageOptimizer\Optimizers\Svgo::class => [ + '--disable=cleanupIDs', // disabling because it is known to cause troubles + ], + Spatie\ImageOptimizer\Optimizers\Gifsicle::class => [ + '-b', // required parameter for this package + '-O3', // this produces the slowest but best results + ], + ], + + /* + * These generators will be used to create an image of media files. + */ + 'image_generators' => [ + Spatie\MediaLibrary\ImageGenerators\FileTypes\Image::class, + Spatie\MediaLibrary\ImageGenerators\FileTypes\Webp::class, + Spatie\MediaLibrary\ImageGenerators\FileTypes\Pdf::class, + Spatie\MediaLibrary\ImageGenerators\FileTypes\Svg::class, + Spatie\MediaLibrary\ImageGenerators\FileTypes\Video::class, + ], + + /* + * The engine that should perform the image conversions. + * Should be either `gd` or `imagick`. + */ + 'image_driver' => 'gd', + + /* + * FFMPEG & FFProbe binaries paths, only used if you try to generate video + * thumbnails and have installed the php-ffmpeg/php-ffmpeg composer + * dependency. + */ + 'ffmpeg_path' => env('FFMPEG_PATH', '/usr/bin/ffmpeg'), + 'ffprobe_path' => env('FFPROBE_PATH', '/usr/bin/ffprobe'), + + /* + * The path where to store temporary files while performing image conversions. + * If set to null, storage_path('medialibrary/temp') will be used. + */ + 'temporary_directory_path' => null, + + /* + * Here you can override the class names of the jobs used by this package. Make sure + * your custom jobs extend the ones provided by the package. + */ + 'jobs' => [ + 'perform_conversions' => Spatie\MediaLibrary\Jobs\PerformConversions::class, + 'generate_responsive_images' => Spatie\MediaLibrary\Jobs\GenerateResponsiveImages::class, + ], +]; diff --git a/src/resources/install/config/permission.php b/src/resources/install/config/permission.php new file mode 100644 index 0000000..c675dce --- /dev/null +++ b/src/resources/install/config/permission.php @@ -0,0 +1,127 @@ + [ + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * Eloquent model should be used to retrieve your permissions. Of course, it + * is often just the "Permission" model but you may use whatever you like. + * + * The model you want to use as a Permission model needs to implement the + * `Spatie\Permission\Contracts\Permission` contract. + */ + + 'permission' => Spatie\Permission\Models\Permission::class, + + /* + * When using the "HasRoles" trait from this package, we need to know which + * Eloquent model should be used to retrieve your roles. Of course, it + * is often just the "Role" model but you may use whatever you like. + * + * The model you want to use as a Role model needs to implement the + * `Spatie\Permission\Contracts\Role` contract. + */ + + 'role' => Spatie\Permission\Models\Role::class, + + ], + + 'table_names' => [ + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your roles. We have chosen a basic + * default value but you may easily change it to any table you like. + */ + + 'roles' => 'roles', + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * table should be used to retrieve your permissions. We have chosen a basic + * default value but you may easily change it to any table you like. + */ + + 'permissions' => 'permissions', + + /* + * When using the "HasPermissions" trait from this package, we need to know which + * table should be used to retrieve your models permissions. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'model_has_permissions' => 'model_has_permissions', + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your models roles. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'model_has_roles' => 'model_has_roles', + + /* + * When using the "HasRoles" trait from this package, we need to know which + * table should be used to retrieve your roles permissions. We have chosen a + * basic default value but you may easily change it to any table you like. + */ + + 'role_has_permissions' => 'role_has_permissions', + ], + + 'column_names' => [ + + /* + * Change this if you want to name the related model primary key other than + * `model_id`. + * + * For example, this would be nice if your primary keys are all UUIDs. In + * that case, name this `model_uuid`. + */ + 'model_morph_key' => 'model_id', + ], + + /* + * When set to true, the required permission/role names are added to the exception + * message. This could be considered an information leak in some contexts, so + * the default setting is false here for optimum safety. + */ + + 'display_permission_in_exception' => false, + + 'cache' => [ + + /* + * By default all permissions will be cached for 24 hours unless a permission or + * role is updated. Then the cache will be flushed immediately. + */ + + 'expiration_time' => 60 * 24, + + /* + * The key to use when tagging and prefixing entries in the cache. + */ + + 'key' => 'spatie.permission.cache', + + /* + * When checking for a permission against a model by passing a Permission + * instance to the check, this key determines what attribute on the + * Permissions model is used to cache against. + * + * Ideally, this should match your preferred way of checking permissions, eg: + * `$user->can('view-posts')` would be 'name'. + */ + + 'model_key' => 'name', + + /* + * You may optionally indicate a specific cache driver to use for permission and + * role caching using any of the `store` drivers listed in the cache.php config + * file. Using 'default' here means to use the `default` set in cache.php. + */ + 'store' => 'default', + ], +]; diff --git a/src/resources/install/config/prologue/alerts.php b/src/resources/install/config/prologue/alerts.php new file mode 100644 index 0000000..8f816d4 --- /dev/null +++ b/src/resources/install/config/prologue/alerts.php @@ -0,0 +1,39 @@ + [ + 'info', + 'warning', + 'error', + 'success', + ], + + /* + |-------------------------------------------------------------------------- + | Session Key + |-------------------------------------------------------------------------- + | + | The session key which is used to store flashed messages into the current + | session. This can be changed if it conflicts with another key. + | + */ + + 'session_key' => 'alert_messages', + +]; diff --git a/src/resources/install/config/queue.php b/src/resources/install/config/queue.php new file mode 100644 index 0000000..c1430b4 --- /dev/null +++ b/src/resources/install/config/queue.php @@ -0,0 +1,86 @@ + env('QUEUE_CONNECTION', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 90, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'retry_after' => 90, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('SQS_KEY', 'your-public-key'), + 'secret' => env('SQS_SECRET', 'your-secret-key'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'your-queue-name'), + 'region' => env('SQS_REGION', 'us-east-1'), + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => 90, + 'block_for' => null, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/src/resources/install/config/services.php b/src/resources/install/config/services.php new file mode 100644 index 0000000..bb4d2ec --- /dev/null +++ b/src/resources/install/config/services.php @@ -0,0 +1,43 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), + ], + + 'ses' => [ + 'key' => env('SES_KEY'), + 'secret' => env('SES_SECRET'), + 'region' => env('SES_REGION', 'us-east-1'), + ], + + 'sparkpost' => [ + 'secret' => env('SPARKPOST_SECRET'), + ], + + 'stripe' => [ + 'model' => App\User::class, + 'key' => env('STRIPE_KEY'), + 'secret' => env('STRIPE_SECRET'), + 'webhook' => [ + 'secret' => env('STRIPE_WEBHOOK_SECRET'), + 'tolerance' => env('STRIPE_WEBHOOK_TOLERANCE', 300), + ], + ], + +]; diff --git a/src/resources/install/config/session.php b/src/resources/install/config/session.php new file mode 100644 index 0000000..fae302a --- /dev/null +++ b/src/resources/install/config/session.php @@ -0,0 +1,199 @@ + env('SESSION_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => env('SESSION_LIFETIME', 120), + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION', null), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | When using the "apc" or "memcached" session drivers, you may specify a + | cache store that should be used for these sessions. This value must + | correspond with one of the application's configured cache stores. + | + */ + + 'store' => env('SESSION_STORE', null), + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => env('SESSION_DOMAIN', null), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE', false), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. You are free to modify this option if needed. + | + */ + + 'http_only' => true, + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | do not enable this as other CSRF protection services are in place. + | + | Supported: "lax", "strict" + | + */ + + 'same_site' => null, + +]; diff --git a/src/resources/install/config/view.php b/src/resources/install/config/view.php new file mode 100644 index 0000000..22b8a18 --- /dev/null +++ b/src/resources/install/config/view.php @@ -0,0 +1,36 @@ + [ + resource_path('views'), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => env( + 'VIEW_COMPILED_PATH', + realpath(storage_path('framework/views')) + ), + +]; -- 2.39.5