argument('folder'); if ($folder == 'all') { $apps = scandir(app_path('SupportedApps')); foreach ($apps as $folder) { if ($folder == '.' || $folder == '..') { continue; } $this->addApp($folder); } } else { $this->addApp($folder); } } public function addApp($folder) { $json = app_path('SupportedApps/'.$folder.'/app.json'); if (file_exists($json)) { $app = json_decode(file_get_contents($json)); if (isset($app->appid)) { $exists = Application::find($app->appid); if ($exists) { $this->error('Application already registered - '.$exists->name.' - '.$exists->appid); } else { // Doesn't exist so add it SupportedApps::saveApp($app, new Application); $this->saveIcon($folder, $app->icon); $this->info('Application Added - '.$app->name.' - '.$app->appid); } } else { $this->error('No App ID for - '.$folder); } } else { $this->error('Could not find '.$json); } } private function saveIcon($appFolder, $icon) { $iconPath = app_path('SupportedApps/' . $appFolder . '/' . $icon); $contents = file_get_contents($iconPath); Storage::disk('public')->put('icons/'.$icon, $contents); } }