// 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 '
'; } ?>

بريطانيا ترفع العقوبات عن مؤسسات سورية تمهيداً لإعادة الإعمار.. والسعودية وأمريكا تدعمان حكومة الشرع

بريطانيا ترفع العقوبات عن مؤسسات سورية تمهيداً لإعادة الإعمار.. والسعودية وأمريكا تدعمان حكومة الشرع

في خطوة تُعتبر الأبرز في ملف العقوبات المفروضة على سوريا، أعلنت الحكومة البريطانية رفع عقوباتها المفروضة على 12 مؤسّسة وقطاعاً في سوريا، مع الإبقاء على بعض العقوبات الشخصية المرتبطة بنظام بشار الأسد، في وقت تستعدّ فيه السعودية للعب دور أكبر في ملف «إعادة الإعمار»، بعد توسيع حضورها السياسي في الساحة السورية، ومساهمتها الكبيرة في تمهيد طريق دمشق نحو واشنطن.

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

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

وإلى جانب رفع العقوبات، أعلنت الخارجية البريطانية أن النظام المالي السوري سوف يحصل على دعم لمساعدته على الانفتاح وإعادة البناء في أعقاب سقوط الأسد.

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

وأضاف: «(إننا) سوف نواصل الضغط على الحكومة السورية لضمان وفائها بالتزاماتها»، متابعاً أن بريطانيا مستمرة في تقديم «مساعدات إنسانية منقذة للحياة، بما في ذلك تعهّدها بتقديم 160 مليون جنيه إسترليني في عام 2025 لدعم تعافي سوريا واستقرارها».

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

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

ويأتي الكشف عن هذه الرسالة بعد أيام من إرسال الإدارة الجديدة رداً خطياً على مجموعة شروط أميركية (8 شروط) قدّمتها واشنطن للانفتاح على دمشق، بينها ما يتعلق بالتعاون مع القوات الأميركية وفتح الأراضي السورية لـ«مكافحة الإرهاب»، إلى جانب منع أي نشاط عسكري أو أمني يخلّ بالجوار (في إشارة إلى إسرائيل)، ومنع المقاتلين الأجانب من تولّي مناصب قيادية في الجيش السوري الذي اشترطت الولايات المتحدة أن يكون «احترافياً» (إنهاء الخدمة الإلزامية). ويبدو أن الشرع وافق على معظم تلك الشروط، باستثناء النقطة المتعلقة بالمقاتلين الأجانب، والذين يعمل على منحهم الجنسية السورية.

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

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

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