<?php
namespace App\Modules\Analytics\Controllers;

class AnalyticsController extends \Core\Controller {

    public function index() {
        $model = $this->model('Analytics/Models/AnalyticsModel');

        // Fetch standard analytics
        $taskData    = $model->getTaskCompletion($this->userId, 30);
        $weightData  = $model->getWeightTrend($this->userId, 90);
        $financeData = $model->getIncomeVsExpense($this->userId, 6);
        $skillsData  = $model->getSkillLevels($this->userId);

        // Core Intelligence Injection
        require_once __DIR__ . '/../../../../core/Services/BehaviorIntelligenceService.php';
        $intelligenceService = new \Core\Services\BehaviorIntelligenceService();
        $disciplineScore = $intelligenceService->getUnifiedDisciplineScore($this->userId);
        
        // Generate Algorithmic Actionable Insight (Arabic)
        $insight = "عمليات النظام مستقرة. مؤشر الانضباط الخاص بك هو {$disciplineScore}/100. ";
        $lastExpense = end($financeData)['expense'] ?? 0;
        $lastIncome = end($financeData)['income'] ?? 0;
        
        if ($lastExpense > $lastIncome * 0.8) {
            $insight .= "تحذير: تم رصد زيادة في الاستهلاك المالي مؤخراً. يُنصح بتفعيل وضع التجميد المالي فوراً (Spending Freeze). ";
        }
        if ($disciplineScore < 50) {
            $insight .= "خطر: مستوى الانضباط الإجرائي منخفض جداً. ركز حالياً على الانتصارات السريعة وتجنب مصادر التشتت ذات الدوبامين العالي. ";
        } elseif ($disciplineScore > 85) {
            $insight .= "ممتاز: أنت في حالة زخم قوية (High Momentum). استغل هذه الطاقة لإنجاز المهام الصعبة والمعقدة.";
        }

        // Action Recommendations List (Arabic)
        $actions = [
            $disciplineScore < 60 ? "إعادة تقييم ومراجعة العادات اليومية للحد من الأخطاء." : "البدء في تحقيق مستوى جديد لمهاراتك اليوم.",
            $lastExpense > $lastIncome ? "مراجعة قسم المالية وإلغاء أي اشتراكات أو نفقات غير ضرورية." : "عزل الفائض المالي وتوجيهه إما للادخار أو التعلم.",
            "تسجيل تدوينة الختام اليومي في قسم اليوميات (Journal) للحفاظ على الاتساق الروحي والعقلي."
        ];

        // Pre-encode for Chart.js
        $taskLabels  = array_column($taskData, 'date');
        $taskValues  = array_column($taskData, 'pct');
        $weightDates = array_column((array)$weightData, 'date');
        $weightVals  = array_column((array)$weightData, 'weight');
        $finLabels   = array_column($financeData, 'label');
        $finIncome   = array_column($financeData, 'income');
        $finExpense  = array_column($financeData, 'expense');
        $skillNames  = array_column((array)$skillsData, 'name');
        $skillLevels = array_column((array)$skillsData, 'level');

        $this->view('Analytics/Views/index', [
            'title'        => 'Decision Engine | OTIS',
            'insight'      => $insight,
            'actions'      => $actions,
            'disciplineScore' => $disciplineScore,
            'taskLabels'   => json_encode($taskLabels),
            'taskValues'   => json_encode($taskValues),
            'weightDates'  => json_encode($weightDates),
            'weightVals'   => json_encode($weightVals),
            'finLabels'    => json_encode($finLabels),
            'finIncome'    => json_encode($finIncome),
            'finExpense'   => json_encode($finExpense),
            'skillNames'   => json_encode($skillNames),
            'skillLevels'  => json_encode($skillLevels),
        ]);
    }
}
