[['parts' => [['text' => $prompt]]]], 'generationConfig' => ['responseMimeType' => 'application/json', 'temperature' => 0.4] ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 20 ]); $res = curl_exec($ch); curl_close($ch); if (!$res) return null; $json = json_decode($res, true); $text = $json['candidates'][0]['content']['parts'][0]['text'] ?? ''; $text = preg_replace('/^```json\s*/i', '', $text); $text = preg_replace('/```\s*$/i', '', $text); return json_decode(trim($text), true); } /** * Highly Intelligent Deterministic Fallback Synthesis directly from Markdown Content */ private static function synthesizeFallbackAssets(string $title, string $content): array { $lines = explode("\n", $content); $summaryPoints = []; $rulesAndFormulas = []; $questionsFound = []; foreach ($lines as $line) { $trimmed = trim($line); if (empty($trimmed)) continue; if (preg_match('/^\-\s*\*\*فكرة الدرس\:\*\*(.+)$/u', $trimmed, $m)) { $summaryPoints[] = "💡 **فكرة الدرس:** " . trim($m[1]); } elseif (preg_match('/^\-\s*\*\*المصطلحات\:\*\*(.+)$/u', $trimmed, $m)) { $summaryPoints[] = "📌 **المصطلحات الأساسية:** " . trim($m[1]); } elseif (preg_match('/^\#\#\#\s*(.+)$/u', $trimmed, $m)) { $summaryPoints[] = "🔹 " . trim($m[1]); } elseif (preg_match('/(\$\$[^\$]+\$\$|\$[^\$]+\$)/u', $trimmed, $m)) { if (count($rulesAndFormulas) < 5) { $rulesAndFormulas[] = $trimmed; } } elseif (preg_match('/^[0-9]+[\)\.]\s*(.+)$/u', $trimmed, $m) && mb_stripos($trimmed, '؟') !== false) { $questionsFound[] = trim($m[1]); } } // Build Markdown Cheat Sheet $cheatSheetMd = "### 📋 ملخص وبطاقة المراجعة المركزة: {$title}\n\n"; $cheatSheetMd .= "#### 🎯 المفاهيم والنتاجات الجوهرية:\n"; if (!empty($summaryPoints)) { foreach (array_slice($summaryPoints, 0, 6) as $pt) { $cheatSheetMd .= "- {$pt}\n"; } } else { $cheatSheetMd .= "- استيعاب المفاهيم والقوانين الأساسية الواردة في المنهاج الرسمي.\n"; $cheatSheetMd .= "- تطبيق خطوات الحل النموذجية والتحقق من صحة النتائج الرياضية والفيزيائية.\n"; } if (!empty($rulesAndFormulas)) { $cheatSheetMd .= "\n#### 📐 القوانين والمعادلات الرئيسة:\n"; foreach (array_slice($rulesAndFormulas, 0, 4) as $rule) { $cheatSheetMd .= "> {$rule}\n"; } } $cheatSheetMd .= "\n#### ⚡ نصيحة صَقِل الذهبية للتفوق:\n"; $cheatSheetMd .= "قم بحل مسائل (أتحقق) و(مهارات التفكير العليا) خطوة بخطوة بالورقة والقلم لترسيخ خطوات الحل الذهنية."; // Build Socratic Quiz $socraticQuiz = [ 'question' => "بناءً على درس '{$title}'، ما هي الخطوة الأساسية المعتمدة للوصول للحل النموذجي؟", 'options' => [ "تحديد المعطيات وتطبيق القانون أو العلاقة الرياضية المناسبة مع مراعاة الإشارات والاتجاهات.", "الجمع الجبري المباشر لجميع الأرقام دون تمييز نوع الكمية.", "إهمال الوحدات الفيزيائية وخطوات التحليل.", "الاعتماد على التخمين بدون خطوات مبرهنة." ], 'correct_answer' => "تحديد المعطيات وتطبيق القانون أو العلاقة الرياضية المناسبة مع مراعاة الإشارات والاتجاهات.", 'explanation' => "المنهج العلمي السليم يقوم على استخراج المعطيات بدقة، اختيار العلاقة الفيزيائية أو الرياضية الصحيحة، والتحقق من صحة المقدار والاتجاه." ]; // Build Video Script $videoScript = "🎙️ [مقدمة حماسية من المعلم]: مرحباً بكم يا أبطال، في هذا الدرس سنتناول مفهوم: {$title}.\n" . "🎬 [العرض البصري]: ركزوا معي في هذا القانون والتطبيق العملي...\n" . "💡 [الخاتمة]: تذكروا دائماً أن الفهم العميق للمفاهيم هو مفتاح الإبداع في الامتحانات!"; return [ 'video_script' => $videoScript, 'cheat_sheet' => $cheatSheetMd, 'socratic_quiz' => $socraticQuiz ]; } }