// Only define DEBUG_MODE if it's not already defined if (!defined('DEBUG_MODE')) { define('DEBUG_MODE', false); } // Only show errors in development if (DEBUG_MODE === true) { ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); } // Check if article exists if (empty($article)) { // Article not found, show 404 page include_once FRONTEND_PATH . '/templates/404.php'; exit; } // Set page variables $pageTitle = $article['title'] . ' - ' . APP_NAME; $pageDescription = !empty($article['excerpt']) ? strip_tags($article['excerpt']) : truncate_text(strip_tags($article['content']), 160); // Clean any remaining HTML entities from the description $pageDescription = html_entity_decode(strip_tags($pageDescription)); $ogType = 'article'; $ogImage = !empty($article['featured_image']) ? 'https://' . $_SERVER['HTTP_HOST'] . '/' . $article['featured_image'] : null; $currentUrl = 'https://' . $_SERVER['HTTP_HOST'] . '/article/' . $article['slug']; $activeNav = ''; $showBreadcrumbs = true; // Set breadcrumbs $breadcrumbs = []; // Add category to breadcrumbs if available if (!empty($articleCategories) && count($articleCategories) > 0) { $category = $articleCategories[0]; // Use first category $breadcrumbs[] = [ 'title' => $category['name'], 'url' => '/category/' . $category['slug'] ]; } // Add article to breadcrumbs $breadcrumbs[] = [ 'title' => $article['title'], 'active' => true ]; // Generate schema.org markup for article $schemaMarkup = generate_article_schema($article); // The update_tags function has been moved to frontend/includes/functions.php // Debug: Before view count increment error_log("DEBUG: Before increment_article_views - Article ID: " . $article['id']); // Increment view count before displaying increment_article_views($article['id']); // Debug: After view count increment error_log("DEBUG: After increment_article_views - Article ID: " . $article['id']); // For debugging - create a debug log that will be displayed on the page $debugLog = []; $debugLog[] = "Debug: Article ID: " . $article['id']; // Get database connection global $db; // Initialize debug log $debugLog[] = "Using existing database connection via dbQuery"; // Debug: Database connection check error_log("DEBUG: Database connection check - DB is " . ($db ? "available" : "NOT available")); // Make sure article tags are loaded and initialized as an array if (!isset($articleTags)) { // Fetch existing tags for this article try { if ($db) { $tagQuery = "SELECT t.id, t.name, t.slug FROM tags t JOIN news_tags nt ON t.id = nt.tag_id WHERE nt.news_id = ?"; $tagStmt = $db->prepare($tagQuery); $tagStmt->execute([$article['id']]); $articleTags = $tagStmt->fetchAll(PDO::FETCH_ASSOC); } else { $articleTags = []; error_log('Database connection not available when fetching article tags'); } } catch (Exception $e) { // If there's an error, initialize as empty array $articleTags = []; error_log('Error fetching article tags: ' . $e->getMessage()); } } // Ensure $articleTags is always an array if (!is_array($articleTags)) { $articleTags = []; } // Debug: Before calling update_tags error_log("DEBUG: About to call update_tags function - Article ID: " . $article['id']); error_log("DEBUG: ArticleTags count before update: " . count($articleTags)); // Update article tags based on content $tagsUpdated = false; $tagsUpdated = update_tags(); error_log("DEBUG: update_tags function returned: " . ($tagsUpdated ? "TRUE" : "FALSE")); // Refresh article tags after potential updates if update was successful if ($tagsUpdated && $db) { error_log("DEBUG: Refreshing article tags after successful update"); try { $tagQuery = "SELECT t.id, t.name, t.slug FROM tags t JOIN news_tags nt ON t.id = nt.tag_id WHERE nt.news_id = ?"; $tagStmt = $db->prepare($tagQuery); $tagStmt->execute([$article['id']]); $articleTags = $tagStmt->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $e) { // Log error but continue with existing tags error_log('Error refreshing article tags: ' . $e->getMessage()); } } // Update debug log with more information $debugLog[] = "Debug: Database connection: " . ($db ? "Available" : "NOT available"); $debugLog[] = "Debug: ArticleTags count: " . count($articleTags); // Add function call trace for debugging $debugLog[] = "Debug: Execution trace:"; $debugLog[] = "- Before increment_article_views"; $debugLog[] = "- After increment_article_views"; $debugLog[] = "- Database connection check: " . ($db ? "SUCCESS" : "FAILED"); $debugLog[] = "- Article tags loaded: " . (isset($articleTags) ? "YES" : "NO"); $debugLog[] = "- About to call update_tags"; $debugLog[] = "- update_tags result: " . ($tagsUpdated ? "SUCCESS" : "FAILED"); // Add database connection details $debugLog[] = "Debug: Database connection details:"; if ($db) { $debugLog[] = "- Connection type: " . get_class($db); $debugLog[] = "- Connection hash: " . spl_object_hash($db); } // Add more detailed database info if ($db) { try { $debugLog[] = "Debug: Database info:"; $stmt = $db->query("SELECT DATABASE() as db_name"); $dbInfo = $stmt->fetch(PDO::FETCH_ASSOC); $debugLog[] = "- Current database: " . ($dbInfo['db_name'] ?? 'unknown'); // Check if tags table exists and has data $stmt = $db->query("SELECT COUNT(*) as tag_count FROM tags"); $tagCount = $stmt->fetch(PDO::FETCH_ASSOC); $debugLog[] = "- Tags in database: " . ($tagCount['tag_count'] ?? 'unknown'); } catch (Exception $e) { $debugLog[] = "- Error getting DB info: " . $e->getMessage(); } } // Include header include_once FRONTEND_PATH . '/includes/header.php'; // Display debug information at the top of the page (only during development) if (defined('DEBUG_MODE') && DEBUG_MODE === true) { echo '
'; echo '

Debug Information

'; echo ''; // Direct test of update_tags function with sample data if ($db) { echo '

Direct Test of update_tags Function

'; // Create sample data with proper string values $sampleArticle = [ 'id' => $article['id'], 'title' => 'Sample Title for Testing', 'content' => 'This is sample content for testing the update_tags function.' ]; // Ensure all values are strings to avoid null values $sampleArticle['title'] = (string)$sampleArticle['title']; $sampleArticle['content'] = (string)$sampleArticle['content']; $sampleTags = []; // Try to get some real tags for testing try { $stmt = $db->query("SELECT id, name, slug FROM tags LIMIT 5"); $testTags = $stmt->fetchAll(PDO::FETCH_ASSOC); echo '

Test with ' . count($testTags) . ' sample tags:

'; echo ''; // Run the test echo '

Running test update_tags function...

'; // Set global variables for the test global $article, $articleTags; $originalArticle = $article; $originalTags = $articleTags; // Temporarily set global variables for the test $article = $sampleArticle; $articleTags = $sampleTags; // Run the test $testResult = update_tags(); // Restore original values $article = $originalArticle; $articleTags = $originalTags; echo '

Test result: ' . ($testResult ? 'SUCCESS' : 'FAILED') . '

'; } catch (Exception $e) { echo '

Error during test: ' . htmlspecialchars($e->getMessage()) . '

'; } } echo '
'; } ?>

تحقيقات مكثفة لكشف مصير المفقودين في سوريا: المؤسسة المستقلة تبدأ عملها بشراكة مع السلطات

تحقيقات مكثفة لكشف مصير المفقودين في سوريا: المؤسسة المستقلة تبدأ عملها بشراكة مع السلطات

أعلنت رئيسة "المؤسسة المستقلة المعنية بالمفقودين في سوريا"، كارلا كينتانا، أن المؤسسة بدأت التحقيقات في الأطفال المفقودين، والمختفين قسرًا من قبل النظام السابق، وطالبي اللجوء المفقودين، مشيرة إلى وجود شراكة بناءة مع السلطات السورية، لم تكن موجودة قبل 8 من كانون الأول 2024.

وتشير جهود منظمات المجتمع المدني ومجموعات الضحايا على مدى سنوات عديدة إلى أن أعداد المفقودين تتجاوز 100,000 شخص، بحسب ما قالت رئيسة المؤسسة، لعنب بلدي، في وقت سابق.

وأوضحت كينتانا، خلال إحاطتها غير الرسمية الأولى في الجمعية العامة للأمم المتحدة، الخميس 12 من حزيران، أن المؤسسة حاليًا تقوم بجمع المعلومات عن الأشخاص المفقودين على يد تنظيم "الدولة الإسلامية". ومع ذلك، فإن فتح خط تحقيق معين لا يعني أننا لا نبحث عن الجميع طوال الوقت، كما ترى المسؤولة الأممية، التي أكدت التزام المؤسسة بـ"البحث عن جميع المفقودين دون استثناء".

وبحسب المسؤولة الأممية، فإن المبدأ الأول لعملية البحث عن المفقودين هو الافتراض بأنهم على قيد الحياة، و"لكن وللأسف، في حال لم يكونوا على قيد الحياة، فمن الضروري تحديد هويتهم وإعادة رفاتهم إلى أحبائهم بطريقة تكفل الحفاظ على كرامتهم".

أفق جديد

وقالت كينتانا إنه بعد سنوات طويلة من الانتهاكات الجسيمة لحقوق الإنسان والنزاع العنيف، تقف سوريا أمام أفق جديد. وفي حين أن التحديات لا تزال هائلة، فقد ظهرت فرص جديدة للبحث عن عشرات الآلاف من المفقودين والشروع معًا في البحث عن الحقيقة، بحسب المسؤولة الأممية.

كينتانا اعتبرت أن مصير المفقودين ليس أمرًا محوريًا بالنسبة للعائلات فحسب، بل بالنسبة للمجتمع السوري ككل. وأشارت إلى أن معالجة هذه القضية أمر ضروري لتحقيق المصالحة وبناء سلام مستدام، فدعم العائلات ومشاركتها في توضيح مصير المفقودين ومكان وجودهم أمر لا غنى عنه من أجل التعافي المجتمعي.

ولا يمكن إنكار تسارع الأحداث اليومية في سوريا، بحسب رئيسة المؤسسة المستقلة، التي طالبت المجتمع الدولي أن "يرتقي إلى مستوى اللحظة ويتصرف بمسؤولية".

وتعمل المؤسسة المستقلة المعنية بالمفقودين في سوريا، على تطوير استراتيجية دعم شاملة للعائلات تُراعي الواقع المتغيّر داخل سوريا وعبر الحدود، من خلال رسم خريطة لمقدّمي الخدمات للمساعدة في إنشاء نظام إحالة يستجيب لاحتياجات الأسر.

ركائز العمل

اعتبرت رئيسة "المؤسسة المستقلة المعنية بالمفقودين" في سوريا أن بناء مؤسسة مكلفة بمهمة ضخمة للبحث عن آلاف الأشخاص ليس بالأمر السهل، ويستغرق وقتًا طويلًا. وأشارت إلى أن هذا الأمر يتطلب العديد من الخطوات. ويشمل ذلك إنشاء العمليات، وتنفيذ المنهجيات، والتنسيق مع جميع أصحاب المصلحة المعنيين، وتلقي المعلومات واستيعابها، وتعزيز الثقة مع العائلات والمجتمع المدني والسلطات والمجتمع السوري بأكمله.

واتخذت المؤسسة المستقلة خطوات "مهمة" للبدء في بناء هذه الركائز، بحسب كينتانا، إذ جرى تعيين موظفين تقنيين، وصياغة النصوص التوجيهية والخطط، ورسم خرائط للجهات الفاعلة والأحداث والمواقع، وإجراء تحليل للسياق وخطوط التقصي الضرورية للبحث عن الحقيقة.

وأما على المستوى التقني، فقد جرى إنشاء مركز بيانات آمن ومنصة تحليل لجميع المصادر، مع استكمالها بإطار قانوني لمعالجة المعلومات، كما استثمرت في التكنولوجيا المتقدمة لعمليات البحث، وأنشأت سجلًا.

وترى كنيتانا أنه من الضروري العمل مع جميع أصحاب المصلحة المعنيين، وبعضهم موجود بالفعل في الميدان، وذلك من خلال منهجيات محددة. وفي الوقت ذاته، يجب تعزيز القدرات الوطنية لسوريا، بما في ذلك البنية التحتية والموارد البشرية.

وأشارت المسؤولة الأممية إلى أن "المشاركة الفعلية للعائلات والمجتمع المدني في عملية البحث عن المفقودين، يقع في صميم ولايتها، والمؤسسة على تواصل يومي معهم.

وقالت كينتانا إن "أحد العناصر الأساسية لتنفيذ ولايتنا وتعزيز التعاون هو إقامة وجود لنا في سوريا ونقل موظفين إلى هناك وتعيين موظفين سوريين وسوريات.. لقد تقدمنا بالفعل بطلب رسمي، وآمل أن تتقدم مناقشاتنا مع السلطات بسرعة".

ما "المؤسسة المستقلة المعنية بالمفقودين في سوريا"

تأسست بقرار من الجمعية العامة للأمم المتحدة في 29 من حزيران 2023، وهي كيان تابع للأمم المتحدة، جاء "استجابة للنداءات العاجلة من أفراد أسر الآلاف من الأشخاص المفقودين في سوريا لاتخاذ إجراءات لتحديد مصيرهم ومكان وجودهم".

وينص القرار التأسيسي للمؤسسة المستقلة المعنية بالمفقودين على:

توضيح مصير ومكان وجود جميع الأشخاص المفقودين في سوريا.

توفير الدعم الكافي للضحايا، بمن في ذلك الناجون والناجيات وأسر المفقودين.

مسعى عالمي

شددت، رئيسة المؤسسة المستقلة المعنية بشؤون المفقودين في سوريا، على الأهمية المستمرة للدعوة الواردة في قرار الجمعية العامة والأمين العام للأمم المتحدة لجميع الدول الأعضاء، بالتعاون الكامل مع المؤسسة المستقلة، بما يتماشى مع التزاماتها بموجب القانون الدولي.

وأشارت إلى أن البحث عن المفقودين في سوريا هو بالفعل "مسعى عالمي"، فهو يتجاوز حدود سوريا والجهات الفاعلة الإقليمية التي أبدت التزامها بالفعل، هو يتعلق بأشخاص من جنسيات عديدة و"يظل واجبًا إنسانيًا أساسيًا بالنسبة لنا جميعًا".

هيئة المفقودين أمام تحديات الوقت والتمويل و"كسب الثقة"

وقالت كنيتانا إن "هناك أمر واضح لا جدال فيه، هو أنه لا يمكن لأي أحد أن يعالج بمفرده أزمة المفقودين، ويجب أن يكون السوريون هم من يقودون هذه العملية، بينما نقف إلى جانبهم لدعمهم. وفي ظل نشوء سوريا جديدة، تُدرك المؤسسة المستقلة تمامًا هذا التغيير الهائل والتحديات ذات الصلة، بحسب كينتانا، مضيفة، "نعلم أنه علينا أن نتأقلم بسرعة مع هذا التغيير الهائل، فالوقت هو جوهر المسألة في عملية البحث عن المفقودين".

صندوق ائتماني

يجري بناء المؤسسة المستقلة ليس فقط في ظل واقع متغير جذريًا في سوريا والمنطقة، بل أيضًا في سياق الوضع المالي للأمم المتحدة، بحسب المسؤولة الأممية. وتعمل المؤسسة على تحسين هيكلها لتعزيز الكفاءة ومواءمة الموارد مع الأولويات البرامجية بشكل أفضل، حيث يشمل ذلك السعي إعادة النقل الجغرافي لمعظم الوظائف، ويُفضّل أن يكون ذلك في دمشق، ريثما تتم الموافقة من السلطات.

ورغم الجهود المبذولة للتقليل من تأثير قيود السيولة على تنفيذ ولاية المؤسسة، تم تأجيل بعض الأنشطة، ولم يتم شغل سوى 30 وظيفة من أصل 45 وظيفة معتمدة حتى الآن.

وكشفت كينتانا عن إنشاء صندوق ائتماني في نيسان الماضي لدعم المبادرات الاستراتيجية من خلال المساهمات الطوعية، ليتيح مزيدًا من المرونة والدعم الموجه.

وشكرت رئيسة المؤسسة المستقلة حكومة ألمانيا، باعتبارها أول دولة تبرعت للصندوق الائتماني، داعية الدول الأعضاء الأخرى إلى النظر في تقديم مساهمات إضافية في لحظة حاسمة بالنسبة للمؤسسة المستقلة ولسوريا.

ترحيب وخطة للتعاون

في 17 من أيار الماضي، جرى تشكيل الهيئة الوطنية للمفقودين في سوريا، برئاسة محمد رضا جلخي.

رئيسة المؤسسة المستقلة المعنية بالمفقودين في سوريا، كارلا كينتانا، رحبت بمرسوم الرئيس السوري في المرحلة الانتقالية، أحمد الشرع، بتشكيل الهيئة الوطنية للمفقودين في سوريا، وتعيين الدكتور محمد رضى جلخي رئيسًا لها.

كينتانا قالت، في حديث سابق إلى عنب بلدي، إن "إنشاء الهيئة الوطنية خطوة فعالة نحو قضية المفقودين وعلاقتها بالمصالحة الوطنية وبناء السلام. إنه اعتراف بالألم الذي تشعر به العائلات على أحبائها المفقودين والجرح الذي لا يزال مفتوحًا بكل بيت في سوريا".

وأضافت، "في إطار ولايتنا الإنسانية، تدعم المؤسسة المستقلة المعنية بالمفقودين جهود سوريا للبحث عن جميع المفقودين دون استثناء، لقد فُقد أشخاص في سوريا خلال أكثر من 50 عامًا من حكم النظام، بما في ذلك 14 عامًا من الحرب".

رئيسة المؤسسة المستقلة المعنية بالمفقودين كشفت عن تواصل أجرته مع رئيس الهيئة الوطنية للمفقودين، محمد رضى جلخي، واتفاقها معه على نقاط للتعاون. وأشارت إلى أن المؤسسة مستعدة للتعاون مع الهيئة ودعم جهودها، مضيفة، "لطالما قلنا إن البحث عن المفقودين يجب أن يكون بقيادة سورية وبدعم دولي".

وتابعت أن "المؤسسة المستقلة" يمكنها تقديم الدعم الفني ومنهجيات الطب الشرعي المتقدمة وخطط البحث المحددة، وتعزيز البنية التحتية الوطنية وقدرات الموارد البشرية اللازمة للبحث، وتقديم الدروس المستفادة السابقة من التجارب الدولية المختلفة، وتنسيق الدعم الدولي للجهود الوطنية، وغيرها من الجهود.

مشاركة المقال:

Warning: Undefined variable $tagsUpdated in /home/comparecarriers/public_html/yallasyrianews.com/frontend/templates/article.php on line 419