Priority File Manager

📁 public_html
Base Directory:
/home/ecedu/public_html/cce/service
NameTypeSizeActions
📁 .. Folder -
📄 commentAdd.php File 2848
Edit Download
📄 commentRead.php File 1326
Edit Download
📁 images Folder -
📄 loadMoreNews.php File 3073
Edit Download
📄 session.php File 536
Edit Download
'يجب توفير إما typeId أو search'], JSON_UNESCAPED_UNICODE); exit; } $total = 0; $newsList = []; $table = ''; try { if ($typeId > 0) { $table = $repo->getTableName($typeId); $total = $repo->getCountByType($typeId); $newsList = $repo->getListNewsByType($typeId, $limit, $offset); } else { $total = $repo->getCountByText($search, $lang); $newsList = $repo->getListNewsByText($search, $lang, $limit, $offset); } } catch (Throwable $e) { http_response_code(500); echo json_encode(['error' => $e->getMessage()], JSON_UNESCAPED_UNICODE); exit; } /** * ترجمة الحقل حسب اللغة المطلوبة */ function localize(array $row, string $lang, string $base): string { $suffix = $lang === 'ku' ? '1' : ($lang === 'en' ? '2' : ''); $key = $base . $suffix; return $row[$key] ?? $row[$base] ?? ''; } /** * تقصير النص مع الحفاظ على الكلمات كاملة */ function snippet(string $text, int $max): string { $clean = strip_tags($text); if (mb_strlen($clean) <= $max) { return $clean; } $cut = mb_strrpos($clean = mb_substr($clean, 0, $max), ' '); return mb_substr($clean, 0, $cut ?: $max) . ' …'; } /** * بناء صف البيانات للعرض */ function buildNewsRow(array $n, string $lang, string $table, int $type): array { // تنظيف اسم الجدول لاستخدامه في مسار الصورة $cleanTable = preg_replace('/[^a-zA-Z0-9_]/', '', $table); return [ 'id' => (int)($n['news_id'] ?? 0), 'type' => $type, 'type_id' => (int)($n['type_id'] ?? 0), 'title' => localize($n, $lang, 'news_title'), 'description' => snippet(localize($n, $lang, 'news_description'), 300), 'image' => "service/images/news/{$cleanTable}/img_{$n['news_id']}." . ($n['img_ext'] ?? 'jpg'), 'author' => $n['author'] ?? '', 'date' => date('Y-m-d', strtotime($n['news_date'] ?? 'now')), 'date_raw' => $n['news_date'] ?? date('Y-m-d H:i:s'), ]; } // بناء البيانات للواجهة $rows = []; foreach ($newsList as $newsItem) { $rows[] = buildNewsRow($newsItem, $lang, $table,$typeId); } echo json_encode( ['total' => $total, 'rows' => $rows], JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK ); exit;