addRoute('GET', '/admin/modelo', [\Modules\Modelo\Controllers\ModeloController::class, 'index']); $app->addRoute('GET', '/admin/modelo/create', [\Modules\Modelo\Controllers\ModeloController::class, 'create']); $app->addRoute('POST', '/admin/modelo/store', [\Modules\Modelo\Controllers\ModeloController::class, 'store']); $app->addRoute('GET', '/admin/modelo/edit/{id}', [\Modules\Modelo\Controllers\ModeloController::class, 'edit']); $app->addRoute('POST', '/admin/modelo/update/{id}', [\Modules\Modelo\Controllers\ModeloController::class, 'update']); $app->addRoute('GET', '/admin/modelo/delete/{id}', [\Modules\Modelo\Controllers\ModeloController::class, 'delete']); $app->addRoute('GET', '/admin/modelo/manual', [\Modules\Modelo\Controllers\ModeloController::class, 'manual']); // Public Routes $app->addRoute('GET', '/modelo', [\Modules\Modelo\Controllers\PublicController::class, 'index']); $app->addRoute('GET', '/modelo/{slug}', [\Modules\Modelo\Controllers\PublicController::class, 'show']); // Install/Migrate Route (Temporary) $app->addRoute('GET', '/admin/modelo/install', function () { try { // Create Table if (!\Illuminate\Database\Capsule\Manager::schema()->hasTable('modelos')) { \Illuminate\Database\Capsule\Manager::schema()->create('modelos', function ($table) { $table->increments('modelos_id'); $table->integer('modelos_bus_id')->default(0)->index(); $table->string('modelos_title', 255); $table->text('modelos_content'); $table->integer('modelos_order')->default(0); $table->boolean('modelos_active')->default(true); $table->string('modelos_visibility')->default('public'); $table->timestamps(); }); echo "Table 'modelos' created.
"; } else { echo "Table 'modelos' already exists.
"; } // Register Module $module = \App\Models\Module::where('modules_name', 'modelo')->first(); if (!$module) { $newModule = \App\Models\Module::create([ 'modules_name' => 'modelo', 'modules_display_name' => 'Modelo (Template)', 'modules_description' => 'Módulo modelo para criação de novos módulos', 'modules_version' => '1.0.0', 'modules_author' => 'SysCMS Team', 'modules_ative' => true, 'modules_public' => true, 'modules_blocked' => false, 'modules_dependencies' => [], 'modules_permissions' => ["modelo.view", "modelo.manage"], 'modules_settings' => [ "menu" => [ "dashboard" => [ "icon" => "bi bi-box", "label" => "Modelo", "route" => "admin/modelo", "order" => 99, "permission" => "modelo.view" ] ] ], 'modules_path' => 'modules/modelo', 'modules_namespace' => 'Modules\\Modelo', 'modules_icon' => 'bi bi-box', 'menu_side_bar' => true, 'menu_nav_bar' => false, 'modules_order' => 99 ]); // Add to companies if (\Illuminate\Database\Capsule\Manager::schema()->hasTable('bus')) { $companies = \Modules\Company\Models\Company::all(); foreach ($companies as $company) { \Illuminate\Database\Capsule\Manager::table('bus_modules')->insert([ 'bus_modules_bus_id' => $company->bus_id, 'bus_modules_module_id' => $newModule->modules_id, 'bus_modules_is_enabled' => true, 'bus_modules_settings' => json_encode([]), 'bus_modules_enabled_by' => 1, 'bus_modules_enabled_at' => date('Y-m-d H:i:s'), 'bus_modules_show_public_nav' => true, 'bus_modules_show_dashboard_nav' => true, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ]); } } echo "Module 'modelo' registered.
"; } else { echo "Module 'modelo' already registered.
"; } echo "Installation completed. Go to Dashboard"; } catch (\Exception $e) { echo "Error: " . $e->getMessage() . " Go to Dashboard"; } }); };