<?php
    $json = file_get_contents('php://input');   
    $obj = json_decode($json);
    $id = $obj->flag;
    // Returns a Json
    header('Content-Type: application/json');
    date_default_timezone_set('America/Mexico_City');
    switch($id){
        case '0':// get mis reservaciones
            $conn = new mysqli("directoriofitness.com.mx", "direct18", "L4LL4v3M@3str@","$obj->bd");
            $conn -> set_charset("utf8");
            $array = array();
            $date = date('Y/m/d H:i:s');
            $fecha_hoy = strtotime($date);
            $filter;
            
            switch($obj->filter){
                
                case '1': //ABANDONADA
                    $filter = 2;
                    break;
                case '2': //CANCELADA
                    $filter = 0;
                    break;
                case '3': //TODAS
                    $filter = 3;
                    break;
                case '4': //RESERVADA
                    $filter = 1;
                    break;
                
                
            }
            $query;
            if($filter == 3){
                $query = "SELECT a.id_reservacion,a.id_cliente, CONCAT(su.Nombre, ' ', su.Apellidos) AS nombre, DATE_FORMAT(a.fecha_reservacion, '%d/%m/%Y %H:%i:%s') AS fecha, 
                s.NombreSucursal, a.status_reservacion,a.fecha_reservacion,
                CASE
                    WHEN a.status_reservacion = 1 THEN 'Reservada'
                    WHEN a.status_reservacion = 0 THEN 'Cancelada'
                    ELSE 'Abandonada'
                END AS status_reservacion
                FROM socios su JOIN aforo_reservaciones a ON su.idSocio = a.id_cliente JOIN sucursal s ON a.id_sucursal = s.idSucursal 
                WHERE id_cliente = '$obj->id_cliente' 
                AND a.fecha_reservacion >= DATE_SUB(NOW(),INTERVAL 7 DAY) 
                AND a.fecha_reservacion <= DATE_ADD(NOW(),INTERVAL 7 DAY)
                GROUP BY a.fecha_reservacion DESC";
            }else{
                $query = "SELECT a.id_reservacion,a.id_cliente, CONCAT(su.Nombre, ' ', su.Apellidos) AS nombre, DATE_FORMAT(a.fecha_reservacion, '%d/%m/%Y %H:%i:%s') AS fecha, 
                s.NombreSucursal, a.status_reservacion,a.fecha_reservacion,
                CASE
                    WHEN a.status_reservacion = 1 THEN 'Reservada'
                    WHEN a.status_reservacion = 0 THEN 'Cancelada'
                    ELSE 'Abandonada'
                END AS status_reservacion
                FROM socios su JOIN aforo_reservaciones a ON su.idSocio = a.id_cliente JOIN sucursal s ON a.id_sucursal = s.idSucursal 
                WHERE id_cliente = '$obj->id_cliente' AND a.status_reservacion = '$filter'
                AND a.fecha_reservacion >= DATE_SUB(NOW(),INTERVAL 7 DAY) 
                AND a.fecha_reservacion <= DATE_ADD(NOW(),INTERVAL 7 DAY)
                GROUP BY a.fecha_reservacion DESC";
            }
            
    
            $res = $conn->query($query);
            while($row = $res->fetch_assoc()){
                 
                 $array[] = $row;
                //echo strtotime($row["fecha_reservacion"]).' '.$fecha_hoy;
                /*$resta = strtotime($row["fecha_reservacion"]) - $fecha_hoy;
               
                if($row["status_reservacion"] == '2'){
                    $status = 'Abandonada';
                }
                if($row["status_reservacion"] == '1'){
                    $status = 'Reservada';
                }
                if($row["status_reservacion"] == '0'){
                    $status = 'Cancelada';
                }
    
                if($obj->filter == '1'){
                    if($status == 'Abandonada'){
                        $array[] = ['id_reservacion'=> $row["id_reservacion"], 'id_cliente' => $row["id_cliente"], 'nombre'=> $row["nombre"], 'fecha'=>$row["fecha"],
                        'NombreSucursal'=>$row["NombreSucursal"],'status_reservacion'=>$status];
                    }
                }
                
                if($obj->filter == '2'){
                    if($status == 'Cancelada'){
                        $array[] = ['id_reservacion'=> $row["id_reservacion"], 'id_cliente' => $row["id_cliente"], 'nombre'=> $row["nombre"], 'fecha'=>$row["fecha"],
                        'NombreSucursal'=>$row["NombreSucursal"],'status_reservacion'=>$status];
                    }
                }
                if($obj->filter == '4'){
                    if($status == 'Reservada'){
                        $array[] = ['id_reservacion'=> $row["id_reservacion"], 'id_cliente' => $row["id_cliente"], 'nombre'=> $row["nombre"], 'fecha'=>$row["fecha"],
                        'NombreSucursal'=>$row["NombreSucursal"],'status_reservacion'=>$status];
                    }
                }
                if($obj->filter == '3'){
                    $array[] = ['id_reservacion'=> $row["id_reservacion"], 'id_cliente' => $row["id_cliente"], 'nombre'=> $row["nombre"], 'fecha'=>$row["fecha"],
                'NombreSucursal'=>$row["NombreSucursal"],'status_reservacion'=>$status];
                }*/
            }
    
            if($array == null){
                $array[] = ['id_reservacion'=> '0', 'id_cliente' => 'Sin Registros', 'nombre'=> 'Sin Registros', 'fecha'=>'Sin Registros',
                'NombreSucursal'=>'Sin Registros','status_reservacion'=>'Sin Registros'];
            }
            
            $conn->close();
            echo json_encode($array);
            break;
        
        case 1: //get horarios
            $conn = new mysqli("directoriofitness.com.mx", "direct18", "L4LL4v3M@3str@","$obj->bd");
            $conn -> set_charset("utf8");
            $queryActivo = "SELECT * FROM socios WHERE idSocio = '$obj->id' AND Activo != 0";
            
            $resultadoA = $conn->query($queryActivo);
            /*
                SELECT
            	sucursal.NombreSucursal as 'suc',
                hora_inicio as 'ini',
                hora_fin as 'fin',
                limite_clientes as 'limite'
            FROM aforo_clientes, sucursal
            WHERE
            	aforo_clientes.id_sucursal = sucursal.idSucursal
                AND aforo_clientes.id_sucursal = 1
            */
            if($resultadoA->num_rows > 0){
                $query = "SELECT 
                s.idSucursal as id_sucursal, 
                s.NombreSucursal, 
                a.hora_inicio as hora_inicio, 
                a.hora_fin, 
                a.limite_clientes
            FROM aforo_clientes a 
                INNER JOIN sucursal s ON a.id_sucursal = s.idSucursal 
            WHERE 
    			id_sucursal = $obj->gym";
                
                $resultado = $conn->query($query);
    
                $idS;
                $nombre;
                $inicio;
                $fin;
                $limite;
                $countR;
    
                if($resultado->num_rows > 0){
                    while($row = $resultado->fetch_assoc()) 
                    {
                        $idS = $row['id_sucursal'];
                        $nombre = $row['NombreSucursal'];
                        $inicio = $row['hora_inicio'];
                        $fin = $row['hora_fin'];
                        $limite = $row['limite_clientes'];
                      
                        $reservacion = strtotime($obj->fecha." ".$inicio);
                        $reservacion2 = strtotime(date('H:i:s', $reservacion))." ".strtotime($inicio);
                        $array;
                        $fechaAux = $obj->fecha." ".$inicio;
                        
                        $query_2 = "SELECT
                            TIME(fecha_reservacion) AS 'horario',
            	            COUNT(*) AS 'countA'
                        FROM 
                        	aforo_reservaciones 
                        WHERE 
                        	fecha_reservacion like '%$fechaAux%'
                            AND status_reservacion = 1
                            AND id_sucursal = $obj->gym";
                            
                        $resultado_2 = $conn->query($query_2);
                        $countAsist = 0;
                        while($row_2 = $resultado_2->fetch_assoc()) 
                        {
                            /*if($reservacion2 == strtotime($inicio) ){
                                $countAsist = $row_2["countA"];
                            }else{
                                $countAsist = 0;
                            }*/
                           
                            $array[] = ['id_sucursal'=> $idS, 'NombreSucursal' => $nombre, 'hora_inicio' => $inicio, 'hora_fin' => $fin, 'limite_clientes' => $limite, 'numR'=> $row_2["countA"]];
                           
                        }
                     
                    }
                }else{
                    $array[] = ['id_sucursal'=> 'Sin Horarios', 'NombreSucursal' => 'Sin Horarios', 'hora_inicio' => 'Sin Horarios', 'hora_fin' => 'Sin Horarios', 'limite_clientes' => '0', 'numR'=> '0'];
                }
                
                
                echo json_encode($array);
            }else{
                echo 'Inactivo';
            }
            $conn->close();
            break;
        
        case '2':
            $conn = new mysqli("directoriofitness.com.mx", "direct18", "L4LL4v3M@3str@",$obj->bd);
            $conn -> set_charset("utf8");
            
            $fecha_fin = strtotime($obj->fecha);
            $date = date('Y-m-d H:i:s');
            $fecha_hoy = strtotime($date);
            $msg = "success";
    
            //echo $obj->fecha."-".$date."\n";
            if($fecha_fin < $fecha_hoy){
                $msg = "No puedes reservar, la clase termino";
            }else{
                $query_s = "SELECT * FROM aforo_reservaciones WHERE id_cliente = '$obj->id_cliente' AND fecha_reservacion = '$obj->fecha' AND status_reservacion = 0";
    
                $resultado = $conn->query($query_s);
    
                //var_dump($resultado);
                if($resultado->num_rows > 0){
                    $msg = 'Ya cuentas con una reservacion para esa clase';
                }else{
                
                    $query = "INSERT INTO aforo_reservaciones(id_cliente, fecha_registro, fecha_reservacion, status_reservacion, id_sucursal) VALUES('$obj->id_cliente',NOW(),'$obj->fecha','0','1')";
                    
                    if($conn->query($query) === TRUE){
                        $msg = 'success';
                    }else{
                        $msg = 'Error al registrar ';
                    }
  
                }
            }
            
            $conn->close();
            echo $msg;
            
            break;
    }

?>