<?php
require_once "./Controller/Database.php";
require_once "./Controller/Setting.php";

class Globalizacion extends BD {

    private $PARM;
    function __construct() {
        $this->PARM = new Setting();
    }

    public function GET() {
        $this->Permission();
        if($this->id==0){
            if($this->admin){
                $query = $this->consult("SELECT * FROM vorganizaciones");
                $query->execute();    
            } else {
                $query = $this->consult("SELECT * FROM vorganizaciones WHERE userid=?");
                $query->execute([$this->userid]);    
            }
            $this->data = $query->fetchAll(PDO::FETCH_ASSOC);;
            $this->httpHeaders = 200;
        } else {
            $query = $this->consult("SELECT * FROM vderechos WHERE organizacion=?");
            $query->execute([$this->id]);
            $derechos = $query->fetchAll(PDO::FETCH_ASSOC);
            $query = $this->consult("SELECT * FROM vcooperacion WHERE organizacion=?");
            $query->execute([$this->id]);
            $cooperacion = $query->fetchAll(PDO::FETCH_ASSOC);
            $this->data = array(
                'derechos' => $derechos,
                'cooperacion' => $cooperacion,
                'tipo_ente' => $this->PARM->tipo_ente(),
                'estatus' => $this->PARM->estatus(),
                'tipo_relacion' => $this->PARM->tipo_relacion(),
                'modalidad' => $this->PARM->modalidad(),
                'modalidad_financiamiento' => $this->PARM->modalidad_financiamiento(),
                'modalidad_financ1' => $this->PARM->modalidad_financ1(),
                'modalidad_financ2' => $this->PARM->modalidad_financ2(),
                'estatus_derechos' => $this->PARM->estatus_derechos(),
                'modalidad_derechos' => $this->PARM->modalidad_derechos(),
                'areas_conocimiento' => $this->PARM->areas_conocimiento(),
                'pais' => $this->PARM->pais(),
            );
            $this->httpHeaders = 200;
        }
    }

    public function POST() {
        $this->Permission();
        $input = $this->input;
        switch ($input->caso) {
            case 'derechos':
                $dat = array(
                    ':organizacion' => $input->organizacion,
                    ':modalidad' => $input->modalidad->id,
                    ':estatus' => $input->estatus->id,
                    ':pais' => $input->pais->id,
                    ':organismo' => $input->organismo,
                    ':area' => $input->area->id,                   
                    ':created_by' => $this->userid,
                ); 
                $query = $this->consult('INSERT INTO derechos 
                (organizacion,modalidad,estatus,pais,organismo,area,created_by,created_at) 
                VALUES (:organizacion,:modalidad,:estatus,:pais,:organismo,:area,:created_by,now())');
                if($query->execute($dat)){
                    $this->httpHeaders = 200;
                }
                break;
            case 'cooperacion':
                if($input->pais){ $input->pais = $input->pais->id; }
                if($input->pais2){ $input->pais2 = $input->pais2->id; }
                if($input->modalidad_financ1){ $input->modalidad_financ1 = $input->modalidad_financ1->id; }
                if($input->modalidad_financ2){ $input->modalidad_financ2 = $input->modalidad_financ2->id; }
                $dat = array(
                    ':organizacion' => $input->organizacion,
                    ':modalidad' => $input->modalidad->id,
                    ':modalidad_financ1' => $input->modalidad_financ1,
                    ':modalidad_financ2' => $input->modalidad_financ2,
                    ':estatus' => $input->estatus->id,
                    ':tipo_ente' => $input->tipo_ente->id,
                    ':tipo_relacion' => $input->tipo_relacion->id,
                    ':monto' => $input->monto,
                    ':pais' => $input->pais,
                    ':pais2' => $input->pais2,
                    ':organismo' => $input->organismo,
                    ':created_by' => $this->userid,
                ); 
                $query = $this->consult('INSERT INTO cooperacion 
                (organizacion,modalidad,estatus,tipo_ente,tipo_relacion,monto,pais,pais2,organismo,
                    modalidad_financ1,modalidad_financ2,created_by,created_at) 
                VALUES (:organizacion,:modalidad,:estatus,:tipo_ente,:tipo_relacion,:monto,:pais,:pais2,:organismo,
                    :modalidad_financ1,:modalidad_financ2,:created_by,now())');
                if($query->execute($dat)){
                    $this->httpHeaders = 200;
                }
                break;
        }
            
    }

    public function Del() {
        $this->Permission();
        $input = $this->input;
        switch ($input->caso) {
            case 'derechos':
                $query = $this->consult('UPDATE derechos SET edited_by=?, deleted_at=now() WHERE id=?');
                if($query->execute([$this->userid,$this->input->id])){ $this->httpHeaders = 200; }
                break;
            case 'cooperacion':
                $query = $this->consult('UPDATE cooperacion SET edited_by=?, deleted_at=now() WHERE id=?');
                if($query->execute([$this->userid,$this->input->id])){ $this->httpHeaders = 200; }
                break;
        }

    }

}