/** * Execute the console command. * * @return mixed */ public function handle() { $c = strtolower($this->argument('controller')); $files = []; $files[] = mkny_models_path($c) . '.php'; $files[] = mkny_model_config_path($c) . '.php'; $files[] = mkny_presenters_path($c) . 'Presenter.php'; $files[] = mkny_controllers_path($c) . 'Controller.php'; $files[] = mkny_requests_path($c) . 'Request.php'; $files[] = mkny_lang_path(\App::getLocale() . '/' . $c) . '.php'; $errors = []; foreach ($files as $file) { if (!$this->files->exists($file)) { $errors[] = $file; } } if (!$this->option('force') && count($errors)) { $this->error("Nao foi possivel executar o delete-automatico!\nAlguns arquivos estao ausentes!"); } else { if ($this->option('force') || $this->confirm("Deseja realmente remover os arquivos: \n'" . implode("',\n'", $files))) { foreach ($files as $file) { $this->files->delete($file); } $this->info('Deleted!'); } } }
/** * Pagina para a geração dos [Modulos] * * @return view */ public function getIndex() { // dd(\Request::input('banco')); // if(Session::get('banco') == 'ws'){ // Session::forget('banco'); // return redirect()->route('adm::gen::index', ['wsurl' => '1']); // } else { // Busca todas as tabelas do banco $tables = $this->logic->buildTables(); // Varre as tabelas para buscar relacionamentos, controllers e dados especificos foreach ($tables as $key => $table) { // Constroi um array para organizar o retorno das relacoes $arrRelations = []; // Busca os relacionamentos $relations = $this->logic->buildRelationships($table->schema . '.' . $table->name); if ($relations) { foreach ($relations as $relation) { // Formata em string, para melhor analise no codigo $arrRelations[] = "{$relation->schema_foreign}.{$relation->table_foreign}.{$relation->table_foreign_field} > {$relation->schema_primary}.{$relation->table_primary}.{$relation->table_primary_field}"; } } $tables[$key]->relation = $arrRelations; // Monta o provavel nome do controlador $controller = $this->logic->controllerName($table->name); // Predetermina o nome do controller $tables[$key]->controller = $controller; // Verifica se o [Modulo] ja foi gerado $tables[$key]->is_generated = $this->files->exists(mkny_models_path($controller) . '.php'); } // Cria uma collection das tables $tables = collect($tables); // Schemas selecionados $data['schemas_selected'] = \Request::input('schema') ?: array(); // Faz o filtro inteligente nos schemas selecionados if (isset($data['schemas_selected']) && count($data['schemas_selected'])) { $tables = $tables->whereIn('schema', $data['schemas_selected']); } // Pega todas as tabelas selecionadas $data['tables'] = $tables->all(); // Schemas para a selecao $data['schemas'] = explode(',', $this->logic->_getSchemas()); // } // Informa o database // $data['database'] = Session::get('banco'); $data['database'] = Config::get('database.default'); // Conexoes disponiveis (config/database.php) $data['connections'] = array_keys(Config::get('database.connections')); // Tratamento do WS // if(\Request::get('wsurl')){ // $ws = new \Mkny\Cinimod\Logic\WSClientLogic(); // $ws->init(\Request::get('wsurl')); // $data['ws_methods'] = $ws->getAvailableFunctions(); // } // Get the view return view('cinimod::admin.generator.index')->with($data); }