First Commit
This commit is contained in:
Executable
+101
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
|
||||
use Kernel\Application;
|
||||
|
||||
return function (Application $app) {
|
||||
// Admin Routes
|
||||
$app->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.<br>";
|
||||
} else {
|
||||
echo "Table 'modelos' already exists.<br>";
|
||||
}
|
||||
|
||||
// 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.<br>";
|
||||
} else {
|
||||
echo "Module 'modelo' already registered.<br>";
|
||||
}
|
||||
|
||||
echo "Installation completed. <a href='/admin/dashboard'>Go to Dashboard</a>";
|
||||
} catch (\Exception $e) {
|
||||
echo "Error: " . $e->getMessage() . " <a href='/admin/dashboard'>Go to Dashboard</a>";
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user