<?php

/*
 * PuzzleApp
 * Webemyos
 * Jérôme Oliva
 * GNU Licence
 */

namespace Apps\Shop\Module\Paiement;

use Core\Controller\Controller;
use Core\View\View;
use Core\View\ElementView;
use Apps\Shop\Helper\CommandHelper;

use Plugins\StripePlugin\StripeHelper;

class PaiementController extends Controller {

    /**
     * Constructeur
     */
    function _construct($core = "") {
        $this->Core = $core;
    }

    /**
     * Creation
     */
    function Create() {
        
    }

    /**
     * Initialisation
     */
    function Init() {
        
    }

    /**
     * Affichage du module
     */
    function Show($all = true) {
        return $this->Index();
    }

    
    /*     * *
     * ON a recu la validation du paiement
     * on clear le panier
     */

    function ValidationPay($commandToken, $showLinkMembre = true) {
        
        $commandId = str_replace("ProductCommand=", "",  base64_decode($commandToken)); 
        $command = new ProductCommand($this->Core);
        $command->GetById($commandId);
        
        //TODO REMETTRE
        if(1==1 ||  $command->UserId->Value == $this->Core->User->IdEntite )
        {
            
            if($showLinkMembre){
                $view = new View(__DIR__ . "/View/validationPay.tpl", $this->Core);
            } else {
                $view = new View(__DIR__ . "/View/validationPayMobile.tpl", $this->Core);
            }
            
            if( in_array($command->Statut->Value, array(ProductCommand::COMMAND_BEFORE_PAY, ProductCommand::COMMAND_ACCEPTED))){

                //Passage en status paiement validé  
                ProductCommandHelper::ConfirmCommandPaiement($this->Core, 
                                                             $commandId,
                                                             $command->UserId->Value,
                                                             ProductCommand::COMMAND_PAYMENT_TYPE_AYDEN);
                
                //On passe le produit à en cours de vente pour ne plus pouvoir le modifier
                ProductHelper::SetStatut($this->Core, $command->ProductId->Value, 3);    
            }
            
            return $view->Render();
        
        } else {
            echo "C'est pas ta commande";
            $this->Core->Redirect("/Home");
        }

    }
}
