'pagebuilder', 'modules_display_name' => 'Page Builder', 'modules_description' => 'Sistema construtor de páginas para gerenciar conteúdo público e temas', 'modules_version' => '1.0.0', 'modules_author' => 'SysCMS Team', 'modules_ative' => true, 'modules_public' => true, 'modules_blocked' => false, 'modules_dependencies' => [], 'modules_permissions' => [ "pagebuilder.view", "pagebuilder.create", "pagebuilder.edit", "pagebuilder.delete", "pagebuilder.publish", "pagebuilder.themes.manage", "pagebuilder.themes.activate" ], 'modules_settings' => [ "enable_pagebuilder" => [ "type" => "boolean", "default" => true, "description" => "Habilitar o módulo construtor de páginas" ], "enable_admin_pages" => [ "type" => "boolean", "default" => true, "description" => "Habilitar administração de páginas no dashboard" ], "default_theme" => [ "type" => "string", "default" => "default", "description" => "Tema padrão para novas páginas" ], "enable_animations" => [ "type" => "boolean", "default" => true, "description" => "Habilitar animações de rolagem nas páginas" ] ], 'modules_path' => 'modules/pagebuilder', 'modules_namespace' => 'Modules\\PageBuilder', 'modules_icon' => 'bi bi-file-earmark-richtext', 'menu_side_bar' => true, 'menu_nav_bar' => false, 'modules_order' => 5, 'modules_install_date' => date('Y-m-d H:i:s'), 'modules_update_date' => date('Y-m-d H:i:s') ]; $existingModule = Module::where('modules_name', 'pagebuilder')->first(); if (!$existingModule) { $module = Module::create($moduleData); if (Capsule::schema()->hasTable('bus')) { $companies = Company::all(); foreach ($companies as $company) { $exists = Capsule::table('bus_modules') ->where('bus_modules_bus_id', $company->bus_id) ->where('bus_modules_module_id', $module->modules_id) ->exists(); if (!$exists) { Capsule::table('bus_modules')->insert([ 'bus_modules_bus_id' => $company->bus_id, 'bus_modules_module_id' => $module->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') ]); } } } } } public function down() { $module = Module::where('modules_name', 'pagebuilder')->first(); if ($module) { Capsule::table('bus_modules')->where('bus_modules_module_id', $module->modules_id)->delete(); $module->delete(); } } }