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

سوريا تعود إلى اجتماعات صندوق النقد والبنك الدولي: هل تنجح في كسر عزلتها الاقتصادية؟

سوريا تعود إلى اجتماعات صندوق النقد والبنك الدولي: هل تنجح في كسر عزلتها الاقتصادية؟

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

عودة إلى الساحة الدولية

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

فرصة لإعادة الإعمار

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

رسالة إيجابية أم مجرد رمزية؟

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

تحديات مستقبلية

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

اجتماعات جانبية قد تكون حاسمة

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

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

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