diff --git a/composer.json b/composer.json index e35b40f..09a7193 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ "license": "MIT", "require": { "php": ">=5.3.0", - "illuminate/support": "~5.1" + "illuminate/support": "5.5.*|5.6.*|5.7.*|5.8.*|^6.0|^7.0" }, "autoload": { "classmap": [ diff --git a/src/UFirst/LangImportExport/Console/ExportToCsvCommand.php b/src/UFirst/LangImportExport/Console/ExportToCsvCommand.php index 0b4236a..1ef4539 100644 --- a/src/UFirst/LangImportExport/Console/ExportToCsvCommand.php +++ b/src/UFirst/LangImportExport/Console/ExportToCsvCommand.php @@ -55,7 +55,7 @@ protected function getOptions() * * @return void */ - public function fire() + public function handle() { $locale = $this->argument('locale'); $group = $this->argument('group'); @@ -73,7 +73,7 @@ public function fire() // Write CSV lintes foreach ($strings as $key => $value) { - fputcsv($out, array($key, $value), $delimiter, $enclosure); + fputcsv($out, array($key, is_array($value) ? implode(',', $value) : $value), $delimiter, $enclosure); } fclose($out); diff --git a/src/UFirst/LangImportExport/Console/ImportFromCsvCommand.php b/src/UFirst/LangImportExport/Console/ImportFromCsvCommand.php index be4bda1..fa68f8b 100644 --- a/src/UFirst/LangImportExport/Console/ImportFromCsvCommand.php +++ b/src/UFirst/LangImportExport/Console/ImportFromCsvCommand.php @@ -56,7 +56,7 @@ protected function getOptions() * * @return void */ - public function fire() + public function handle() { $locale = $this->argument('locale'); $group = $this->argument('group'); diff --git a/src/UFirst/LangImportExport/LangImportExportServiceProvider.php b/src/UFirst/LangImportExport/LangImportExportServiceProvider.php index 8f0380f..867dbdc 100644 --- a/src/UFirst/LangImportExport/LangImportExportServiceProvider.php +++ b/src/UFirst/LangImportExport/LangImportExportServiceProvider.php @@ -3,11 +3,10 @@ namespace UFirst\LangImportExport; use Illuminate\Support\ServiceProvider; -use Illuminate\Contracts\Events\Dispatcher as DispatcherContract; use UFirst\LangImportExport\Console\ExportToCsvCommand; use UFirst\LangImportExport\Console\ImportFromCsvCommand; - +use UFirst\LangImportExport\LangListService; class LangImportExportServiceProvider extends ServiceProvider { /** @@ -15,19 +14,7 @@ class LangImportExportServiceProvider extends ServiceProvider { * * @var bool */ - protected $defer = true; - - /** - * Bootstrap the application events. - * - * @return void - */ - public function boot(DispatcherContract $events) - { - parent::boot($events); - $this->registerExportToCsvCommand(); - $this->registerImportFromCsvCommand(); - } + protected $defer = false; /** * Register the service provider. @@ -36,7 +23,15 @@ public function boot(DispatcherContract $events) */ public function register() { - require __DIR__.'/../../bindings.php'; + if ($this->app->runningInConsole()) { + $this->commands([ + ExportToCsvCommand::class, + ImportFromCsvCommand::class + ]); + $this->app->singleton('LangImportExportLangListService', function ($app) { + return new LangListService(); + }); + } } /** @@ -51,22 +46,4 @@ public function provides() ]; } - private function registerExportToCsvCommand() { - $this->app['lang-export.csv'] = $this->app->share(function($app) - { - return new ExportToCsvCommand(); - }); - - $this->commands('lang-export.csv'); - } - - private function registerImportFromCsvCommand() { - $this->app['lang-import.csv'] = $this->app->share(function($app) - { - return new ImportFromCsvCommand(); - }); - - $this->commands('lang-import.csv'); - } - } diff --git a/src/UFirst/LangImportExport/LangListService.php b/src/UFirst/LangImportExport/LangListService.php index 38972cf..a8533cc 100644 --- a/src/UFirst/LangImportExport/LangListService.php +++ b/src/UFirst/LangImportExport/LangListService.php @@ -1,6 +1,7 @@ load($locale, $group); - $translations_with_prefix = array_dot(array($group => $translations)); + $translations_with_prefix = Arr::dot(array($group => $translations)); return $translations_with_prefix; } public function writeLangList($locale, $group, $new_translations) { $translations = Lang::getLoader()->load($locale, $group); foreach($new_translations as $key => $value) { - array_set($translations, $key, $value); + Arr::set($translations, $key, $value); } $header = "