// 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)-- في ظل الرطوبة وحرارة الصيف العالية، يُصبح الحفاظ على مكياج ثابت وأنيق تحديًا حقيقيًا للكثير من النساء، وتزداد أهمية معرفة الخطوات الصحيحة لضمان بقاء المكياج رغم الظروف المناخية الصعبة.

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

كيف يؤثر الطقس الحار والرطب على تطبيق المكياج وثباته؟

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

ما هي أبرز الأخطاء التي يرتكبها الناس عند وضع المكياج في هذه الظروف؟

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

ما هو روتين العناية بالبشرة الذي تنصحين به قبل وضع المكياج في الأجواء الرطبة؟

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

هل من المهم استخدام برايمر؟ وإذا كان الجواب نعم، فما النوع الأفضل في الطقس الحار؟

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

هل يجب تجنّب استخدام المواد المرطّبة الثقيلة أو كريمات الوقاية من الشمس الكثيفة في هذه الأجواء؟

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

كيف يجب تعديل كريم الأساس والكونسيلر ليبقيا حتى أطول فترة ممكنة في الطقس الحار والرطب؟

خبيرة التجميل السورية حنين حسّان: في الطقس الحار والرطب، يُفضّل تجنّب كريم الأساس الثقيل واستخدام مرطّب ملوّن أو واقٍ شمسي بلون خفيف – فهي خيارات خفيفة توحّد لون البشرة بدون طبقات زائدة. لمن يرغب بتغطية أكبر، أنصح باستخدام كريم أساس مائي لأنّه أقل دهنية وأكثر تهوية للبشرة. أما بالنسبة للكونسيلر، فمن المهم اختيار تركيبة خفيفة ووضعها على مناطق محددة فقط لتجنّب التكتّل، واستخدام تركيبات جافة أو طويلة الأمد للمناطق التي تحتاج تغطية أكبر.

ما هي أهم خطوات المكياج التي يجب اتباعها لتحقيق النتيجة المثالية؟

خبيرة التجميل السورية حنين حسّان: يجب أوّلًا استخدام التونر وكريمات العناية بالبشرة التي تتحكّم بالزيوت، ثمّ استعمال البرايمر المضاد للزيوت، يليه رذاذ التثبيت، ووضع طبقات خفيفة من كريم الأساس بتركيبة مائية أو خالية من الزيوت، ثمّ التثبيت ببودرة شفّافة مطفأة، مع التركيز على المناطق الدهنية (مثل الـT-zone)، ثم بودرة مضغوطة، ومن بعدها رذاذ تثبيت بعد البودرة، ويفضّل استخدام الرذاذ بين الخطوات.

هل المنتجات الكريمية أو البودرة أفضل في الطقس الحار؟

خبيرة التجميل السورية حنين حسّان: نحصل على النتيجة الأفضل حين نستخدم مزيجًا بين الاثنين؛ فالمنتجات الكريمية يجب أن تكون خفيفة وخالية من الزيوت وتُستخدم على مناطق محددة، والبودرة مفيدة لمقاومة التعرّق، لكن بكميات معتدلة.

كيف يمكن منع تلطيخ مكياج العيون أو سيلان الآيلاينر؟

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

ماذا عن مكياج الشفاه في الطقس الحار؟

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

كيف نحافظ على مظهر طبيعي للبلاشر والهايلايتر في الحر؟

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

ما هي المنتجات الضرورية لإجراء تعديلات على المكياج خلال اليوم؟

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

إذا كان بالإمكان استخدام ثلاثة منتجات فقط في يوم صيفي حار، ما هي؟

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

نحن في موسم أعراس، كيف تضعين المكياج للعروس خصوصًا إذا كان الحفل في الخارج؟

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

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

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