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

مهاتير محمد في عامه المئة: رؤى حول الإسلام والتنمية ونهضة ماليزيا

مهاتير محمد في عامه المئة: رؤى حول الإسلام والتنمية ونهضة ماليزيا

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

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

أولًا: موقف مهاتير من الإسلام

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

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

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

ثانيًا: الخبرة التنموية الماليزية في ظل مهاتير

كان مهاتير مقتنعًا، أن التنمية تستند إلى أعمدة رئيسية هي: العدالة في توزيع الثروات، والتركيز على التعليم، ومكافحة الفساد، واستثمار الخبرات والكوادر الوطنية والاستقرار.

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

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

ثالثًا: التوجه الخارجي لمهاتير

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

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

(اخبار سوريا الوطن ١-مركز الوادي للدراسات الأسيوية)

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

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