@php /** * Get All Modules - Returns list of all enabled modules/types * * Used by Full Content Scanner to discover all translatable content * * Returns JSON: * - success: boolean * - modules: array of {slug, title} */ header('Content-Type: application/json'); use App\Types; try { // Get all enabled parent modules $parentModules = Types::whereNull("kid") ->where("enabled", true) ->orderBy("s", "ASC") ->get(['slug', 'title']); // Get all enabled child modules $childModules = Types::whereNotNull("kid") ->where("enabled", true) ->orderBy("s", "ASC") ->get(['slug', 'title', 'kid']); $modules = []; // Add parent modules foreach ($parentModules as $module) { if (!empty($module->slug)) { $modules[] = [ 'slug' => $module->slug, 'title' => $module->title ?? $module->slug ]; } } // Add child modules foreach ($childModules as $module) { if (!empty($module->slug)) { $modules[] = [ 'slug' => $module->slug, 'title' => $module->title ?? $module->slug ]; } } echo json_encode([ 'success' => true, 'modules' => $modules, 'total' => count($modules) ]); } catch (\Exception $e) { echo json_encode([ 'success' => false, 'message' => 'Failed to load modules: ' . $e->getMessage(), 'modules' => [] ]); } @endphp