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

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

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

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

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

وتابعت فرانس: "صرّح صحفي روسي، طلب عدم الكشف عن هويته، لفرانس إنفو: ’الإيجارات باهظة الثمن؛ لا يسكنها إلا أفراد الطبقة الراقية، ورغم هروبهم، لا بد أن عائلة الأسد لا تزال تملك بعض الموارد.. بشار الأسد مقيمٌ شديد التحفظ‘، ويضيف الصحفي الروسي: ’لا تُتسرب معلوماتٌ كثيرة عن حياته في المنفى، لا نعرف شيئًا، ناهيك عن رؤيته في السينما أو في مركز تجاري، يبدو أن أحدًا لم يلتقِ به، علاوةً على ذلك، حتى موقعه الدقيق ليس مؤكدًا تمامًا، يُرجَّح أنه في حي مدينة العواصم، نظرًا لوجود شققٍ هناك، لكن مصادر أخرى تُشير إلى أنه في حي روبليفكا‘، هذه الضاحية الغربية لموسكو على نفس المستوى الراقي، بقصورٍ ضخمةٍ تُحيط بها ثرواتٌ طائلة، لدرجة أنها استحقت لقب ’بيفرلي هيلز الروسية‘".

وأردف التقرير: "كيف يُمكننا تفسير هذا الصمت المفاجئ، الصادر عن رجلٍ اعتاد على تسليط الضوء عليه خلال حكمه الدموي الذي استمر 24 عامًا؟ يتخيل فابريس بالانش، الجغرافي المتخصص في الشأن السوري، والذي التقى بشار الأسد عام 2016: ’لا شك أن الكرملين أمره بالبقاء بعيدًا عن الأضواء.. إنه محمي ومُراقَب من قِبل المخابرات الروسية، تحركاته على الأرجح محدودة‘، ربما أيضًا لأن حي مدينة العواصم مُستهدف بانتظام من قِبل الطائرات الأوكرانية المُسيّرة".

ولا يمكن لموقع CNN بالعربية التأكد من صحة المزاعم التي وردت في التقرير بشكل مستقل.

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

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

قد يهمك أيضاً

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

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