<?php

namespace Modules\Ajax\Controller;

use GuzzleHttp\Utils;
use Helpers\Fichier\Fichier;
use Skeleton\Controller\Controller;
use Helpers\Outil\Date;
use Helpers\Session\ParseBase1;

class NotificationController extends Controller
{

    public function majNotificationAction() : string
    {

        $nom_du_fichier = (new ParseBase1())->getRep()->tmp.'Oxaproc_NotificationTest_'.$_SESSION['Session_Login'].'.json';
        if (file_exists($nom_du_fichier)) {
            $fichierLast = Fichier::fileGetContents($nom_du_fichier);
            $array = Utils::jsonDecode($fichierLast, true);
        } else {
            //Test
               $array['19/11/2019 à 09h35Baïla'] = [

                'img' => $this->contenaire->get('baseUrl').'IconeV2/Misc/baila.jpg',
                'nom' => 'Baïla',
                'message' => 'à signé la DA n°136',
                'date' => '19/11/2019 à 09h35',

               ];

               $array['20/11/2019 à 16h48Hélène'] = [

                'img' => $this->contenaire->get('baseUrl').'IconeV2/Misc/helene.jpg',
                'nom' => 'Hélène',
                'message' => 'à approuvée la demande de création de compte de Jean Paul',
                'date' => '20/11/2019 à 16h48',

               ];
            
               file_put_contents($nom_du_fichier, json_encode($array));
               ;
        }


        return $this->renderer->render('@ajax-notification/historique', [
            'notifications' => $array,
            'date' =>   Date::dateConverte(date('Ymd'))
        ]);
    }
    

    
    public function ajoutNotificationAction() : string
    {
        
        $postView = $this->request->getParsedBody();

        $nom_du_fichier = (new ParseBase1())->getRep()->tmp.'Oxaproc_NotificationTest_'.$_SESSION['Session_Login'].'.json';
        $fichierLast = Fichier::fileGetContents($nom_du_fichier);
        /** @var array<mixed> */
        $arrayTmp = Utils::jsonDecode($fichierLast, true);
        $array[$postView['date'].$postView['nom']] = $postView;

        
        foreach ($arrayTmp as $key => $values) {
            $date = $values['date']??'';
            $array[$date.$values['nom']] = $values;
        }

        file_put_contents($nom_du_fichier, Utils::jsonEncode($array));

        return $this->renderer->render('@ajax-notification/ajoutNotif', [
            'notif' => $postView
        ]);
    }
}
