] * @since [v3.0] * @return void */ public function boot() { // Share common setting variables with all views. view()->composer('*', function ($view) { $view->with('snipeSettings', Setting::getSettings()); }); /** * Set some common variables so that they're globally available. * The paths should always be public (versus private uploads) */ // Model paths and URLs \App::singleton('eula_pdf_path', function () { return 'eula_pdf_path/'; }); \App::singleton('assets_upload_path', function () { return 'assets/'; }); \App::singleton('accessories_upload_path', function () { return 'public/uploads/accessories/'; }); \App::singleton('models_upload_path', function () { return 'models/'; }); \App::singleton('models_upload_url', function () { return 'models/'; }); // Categories \App::singleton('categories_upload_path', function () { return 'categories/'; }); \App::singleton('categories_upload_url', function () { return 'categories/'; }); // Locations \App::singleton('locations_upload_path', function () { return 'locations/'; }); \App::singleton('locations_upload_url', function () { return 'locations/'; }); // Users \App::singleton('users_upload_path', function () { return 'avatars/'; }); \App::singleton('users_upload_url', function () { return 'users/'; }); // Manufacturers \App::singleton('manufacturers_upload_path', function () { return 'manufacturers/'; }); \App::singleton('manufacturers_upload_url', function () { return 'manufacturers/'; }); // Suppliers \App::singleton('suppliers_upload_path', function () { return 'suppliers/'; }); \App::singleton('suppliers_upload_url', function () { return 'suppliers/'; }); // Departments \App::singleton('departments_upload_path', function () { return 'departments/'; }); \App::singleton('departments_upload_url', function () { return 'departments/'; }); // Company paths and URLs \App::singleton('companies_upload_path', function () { return 'companies/'; }); \App::singleton('companies_upload_url', function () { return 'companies/'; }); // Accessories paths and URLs \App::singleton('accessories_upload_path', function () { return 'accessories/'; }); \App::singleton('accessories_upload_url', function () { return 'accessories/'; }); // Consumables paths and URLs \App::singleton('consumables_upload_path', function () { return 'consumables/'; }); \App::singleton('consumables_upload_url', function () { return 'consumables/'; }); // Components paths and URLs \App::singleton('components_upload_path', function () { return 'components/'; }); \App::singleton('components_upload_url', function () { return 'components/'; }); // Set the monetary locale to the configured locale to make helper::parseFloat work. setlocale(LC_MONETARY, config('app.locale')); setlocale(LC_NUMERIC, config('app.locale')); /* * This is a shorter way to see if the app is in demo mode. * * This makes it cleanly available in blades and in controllers, e.g. * * Blade: * {{ app('demo_mode') ? ' disabled' : ''}} for form blades where we need to disable a form * * Controller: * if (app('demo_mode')) { * // don't allow the thing * } * @todo - use this everywhere else in the app where we have very long if/else config('app.lock_passwords') stuff */ \App::singleton('demo_mode', function () { if (config('app.lock_passwords') === true) { return true; } return false; }); } /** * Register any application services. * * @return void */ public function register() { } }