Files
citrus-cms/resources/views/admin-ajax/get-dynamic-documents.blade.php
T
2026-04-28 21:15:09 +03:00

58 lines
1.7 KiB
PHP

<?php
/**
* @api-readonly
* Returns active dynamic document mappings
*/
// resources/views/admin-ajax/get-dynamic-documents.blade.php
use Illuminate\Support\Facades\DB;
// Set JSON header
header('Content-Type: application/json');
try {
// Get all active dynamic document mappings
$mappings = DB::table('register_document_mappings')
->where('is_active', 1)
->orderBy('order')
->orderBy('name')
->get();
$dynamicItems = [];
foreach ($mappings as $mapping) {
$displayTitle = !empty($mapping->description) ? $mapping->description : $mapping->name;
$dynamicItems[] = [
'id' => 'dynamic_' . $mapping->id,
'type' => 'dynamic',
'name' => $mapping->name,
'display_title' => $displayTitle,
'title2' => $mapping->name,
'path' => $mapping->search_folder,
'icon' => $mapping->icon ?? '🔧',
'badge_text' => $mapping->badge_text ?? 'Dynamic',
'badge_color' => $mapping->color ?? 'warning',
'sql_query' => $mapping->sql_query,
'identifier_field' => $mapping->identifier_field,
'date_field' => $mapping->date_field,
'file_search_pattern' => $mapping->file_search_pattern,
'title2_pattern' => $mapping->title2_pattern,
'title4_pattern' => $mapping->title4_pattern,
'is_dynamic' => true
];
}
echo json_encode([
'success' => true,
'dynamic_items' => $dynamicItems
], JSON_UNESCAPED_UNICODE);
} catch (\Throwable $th) {
echo json_encode([
'success' => false,
'message' => $th->getMessage()
], JSON_UNESCAPED_UNICODE);
}
exit;