shell bypass 403
<?php namespace JoeDixon\Translation; use Illuminate\Translation\TranslationServiceProvider as ServiceProvider; use Illuminate\Translation\Translator; use JoeDixon\Translation\Drivers\Translation; class TranslationBindingsServiceProvider extends ServiceProvider { /** * Register package bindings in the container. * * @return void */ public function register() { if ($this->app['config']['translation.driver'] === 'database') { $this->registerDatabaseTranslator(); } else { parent::register(); } } private function registerDatabaseTranslator() { $this->registerDatabaseLoader(); $this->app->singleton('translator', function ($app) { $loader = $app['translation.loader']; // When registering the translator component, we'll need to set the default // locale as well as the fallback locale. So, we'll grab the application // configuration so we can easily get both of these values from there. $locale = $app['config']['app.locale']; $trans = new Translator($loader, $locale); $trans->setFallback($app['config']['app.fallback_locale']); return $trans; }); } protected function registerDatabaseLoader() { $this->app->singleton('translation.loader', function ($app) { // Post Laravel 5.4, the interface was moved to the contracts // directory. Here we perform a check to see whether or not the // interface exists and instantiate the relevant loader accordingly. if (interface_exists('Illuminate\Contracts\Translation\Loader')) { return new ContractDatabaseLoader($this->app->make(Translation::class)); } return new InterfaceDatabaseLoader($this->app->make(Translation::class)); }); } }