= $t['no_cases'] ?>
= $t['clear_search'] ?>= $lang === 'en' ? $case['title_en'] : $case['title_ar'] ?>
= htmlspecialchars($truncated_desc) ?>
''' [
'title' => 'Support a Cause',
'subtitle' => 'Empower communities worldwide through your generosity.',
'all_cats' => 'All Categories',
'raised' => 'Raised',
'of' => 'of',
'goal' => 'Goal',
'donate_now' => 'Donate Now',
'lang_name' => 'العربية',
'lang_code' => 'ar',
'hero_title' => 'Make a Real Impact Today',
'hero_sub' => 'Choose a campaign from our trusted categories and help change lives in minutes.',
'no_cases' => 'No active cases found matching your criteria.',
'admin_panel' => 'Admin Panel',
'modal_title' => 'Make a Donation',
'modal_amount' => 'Amount (OMR)',
'modal_name' => 'Your Name',
'modal_email' => 'Your Email',
'modal_phone' => 'Phone Number',
'modal_submit' => 'Proceed to Payment',
'top_priority' => 'Top Priority',
'urgent' => 'Urgent',
'featured' => 'Featured',
'search_placeholder' => 'Search for a case...',
'search_btn' => 'Search',
'new_badge' => 'NEW',
'monthly_giving' => 'Join our monthly giving circle',
'clear_search' => 'Clear Search',
'priority_notice' => 'LATEST UPDATES',
'donate_type_me' => 'Donate for myself',
'donate_type_gift' => 'Donate as a gift',
'recipient_name' => 'Recipient Name',
'recipient_phone' => 'Recipient Phone',
'gift_message' => 'Gift Message',
'gift_notice' => 'The system will send a notification to the recipient.',
'read_more' => 'Read More',
'close' => 'Close',
'home' => 'Home',
'about_us' => 'About Us',
'contact_us' => 'Contact Us',
'modal_name_placeholder' => 'Anonymous Donor',
'modal_email_placeholder' => 'you@example.com',
'modal_phone_placeholder' => '12345678',
'modal_phone_hint' => 'Enter 8 digits. 968 will be added automatically.',
],
'ar' => [
'title' => 'ادعم قضية',
'subtitle' => 'مكن المجتمعات في جميع أنحاء العالم من خلال كرمك.',
'all_cats' => 'جميع الفئات',
'raised' => 'تم جمع',
'of' => 'من',
'goal' => 'الهدف',
'donate_now' => 'تبرع الآن',
'lang_name' => 'English',
'lang_code' => 'en',
'hero_title' => 'أحدث تأثيراً حقيقياً اليوم',
'hero_sub' => 'اختر حملة من فئاتنا الموثوقة وساعد في تغيير الأرواح في دقائق.',
'no_cases' => 'لم يتم العثور على حالات نشطة تطابق بحثك.',
'admin_panel' => 'لوحة التحكم',
'modal_title' => 'تبرع الآن',
'modal_amount' => 'المبلغ (ريال عماني)',
'modal_name' => 'الاسم',
'modal_email' => 'البريد الإلكتروني',
'modal_phone' => 'رقم الهاتف',
'modal_submit' => 'الانتقال للدفع',
'top_priority' => 'أولوية قصوى',
'urgent' => 'عاجل',
'featured' => 'مميز',
'search_placeholder' => 'ابحث عن حالة...',
'search_btn' => 'بحث',
'new_badge' => 'جديد',
'monthly_giving' => 'انضم إلى دائرة العطاء الشهري',
'clear_search' => 'مسح البحث',
'priority_notice' => 'آخر التحديثات',
'donate_type_me' => 'تبرع لنفسي',
'donate_type_gift' => 'تبرع كهدية لشخص آخر',
'recipient_name' => 'اسم المستلم',
'recipient_phone' => 'رقم هاتف المستلم',
'gift_message' => 'رسالة الهدية',
'gift_notice' => 'سيقوم النظام بإرسال إشعار إلى المستلم.',
'read_more' => 'اقرأ المزيد',
'close' => 'إغلاق',
'home' => 'الرئيسية',
'about_us' => 'من نحن',
'contact_us' => 'اتصل بنا',
'modal_name_placeholder' => 'فاعل خير',
'modal_email_placeholder' => 'you@example.com',
'modal_phone_placeholder' => '12345678',
'modal_phone_hint' => 'أدخل 8 أرقام. ستتم إضافة 968 تلقائيًا.',
]
];
$t = $texts[$lang];
// Database fetch
$pdo = db();
$profile = $pdo->query("SELECT * FROM org_profile LIMIT 1")->fetch();
$categories = $pdo->query("SELECT * FROM categories")->fetchAll();
$selected_cat = $_GET['cat'] ?? 'all';
$search_query = trim($_GET['search'] ?? '');
// Fetch featured/top priority cases separately for the "ads" section
$featured_cases = $pdo->query("SELECT c.*, cat.name_en as cat_name_en, cat.name_ar as cat_name_ar
FROM cases c
LEFT JOIN categories cat ON c.category_id = cat.id
WHERE c.status = 'active' AND (c.importance = 'top_priority' OR c.importance = 'urgent')
ORDER BY c.importance = 'top_priority' DESC, c.id DESC LIMIT 5")->fetchAll();
$params = [];
$sql = "SELECT c.*, cat.name_en as cat_name_en, cat.name_ar as cat_name_ar
FROM cases c
LEFT JOIN categories cat ON c.category_id = cat.id
WHERE c.status = 'active'";
if ($selected_cat !== 'all') {
$sql .= " AND c.category_id = :cat";
$params['cat'] = (int)$selected_cat;
}
if ($search_query !== '') {
$sql .= " AND (c.title_en LIKE :search OR c.title_ar LIKE :search OR c.desc_en LIKE :search OR c.desc_ar LIKE :search)";
$params['search'] = "%$search_query%";
}
$sql .= " ORDER BY CASE WHEN c.importance = 'top_priority' THEN 1 WHEN c.importance = 'urgent' THEN 2 ELSE 3 END, c.id DESC";
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
$cases = $stmt->fetchAll();
// Helpers for safe string operations
function safe_strlen($text) {
if (empty($text)) return 0;
if (function_exists('mb_strlen')) {
return mb_strlen($text);
}
return strlen($text);
}
function safe_truncate($text, $limit = 120) {
if (empty($text)) return '';
if (function_exists('mb_strimwidth')) {
return mb_strimwidth($text, 0, $limit, "...");
}
return (strlen($text) > $limit) ? substr($text, 0, $limit) . "..." : $text;
}
require_once 'includes/header.php';
?>
= $t['hero_sub'] ?> = $t['no_cases'] ?>
= htmlspecialchars($truncated_desc) ?>
= $t['hero_title'] ?>
= $lang === 'en' ? $case['title_en'] : $case['title_ar'] ?>