<?php
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/email_compra.txt');
error_reporting(E_ALL);
// Compruebo si es una sala compuesta, con subsalas, en cuyo caso:
// Si es la sala padre, devuelvo plazas a sala padre y subsalas
// Si es una subsala, busco sala padre y devuelvo plazas a sala padre
// y subsala

// Compruebo sección
if ($seccion == 'anulacion') {
    $servicio = $servicio_id;
    $horario  = $horario_sala;
} 

// Compruebo si el servicio reservado es de instalaciones
$sql_servicio_instalaciones = "SELECT s.s_instalacion, sh.fecha, sh.hora_inicio, sh.hora_fin, sa.padre_id, sa.id as idS
							   FROM servicios s JOIN sala_horario_servicios ss ON s.id = ss.servicio_id
							   JOIN sala_horarios sh ON ss.sala_horario_id = sh.id
							   JOIN salas sa ON sh.sala_id = sa.id
							   AND s.id = " . $servicio . "
							   AND sh.id = " . $horario;

$result_servicio_instalaciones = $conexion->query($sql_servicio_instalaciones);

if ($result_servicio_instalaciones->rowCount() > 0) {

    $row_servicio_instalaciones = $result_servicio_instalaciones->fetch();

    // Servicio reservado de instalaciones
    if ($row_servicio_instalaciones['s_instalacion'] == 1) {

        /******** ES SALA PADRE ***********/
        if ($row_servicio_instalaciones['padre_id'] == null) {

            // Busco si hay subsalas
            $sql_subsalas = "SELECT id
							 FROM salas
							 WHERE padre_id = " . $row_servicio_instalaciones['idS'];

            $result_subsalas = $conexion->query($sql_subsalas);

            // Si hay subsalas completo el mismo horario que para la
            // completa en estas: misma fecha y hora seleccionadas
            if ($result_subsalas->rowCount() > 0) {
                foreach ($result_subsalas->fetchAll() as $row_subsala) {

                    $sql_horario = "SELECT id
									FROM sala_horarios
									WHERE sala_id = " . $row_subsala['id'] . "
									AND fecha = '" . $row_servicio_instalaciones['fecha'] . "'
									AND hora_inicio = '" . $row_servicio_instalaciones['hora_inicio'] . "'
									AND hora_fin = '" . $row_servicio_instalaciones['hora_fin'] . "'";

                    $result_horario = $conexion->query($sql_horario);

                    if ($result_horario->rowCount() > 0) {
                        $row_horario_subsala = $result_horario->fetch();

                        $hora_subsala = $row_horario_subsala['id'];

                        $sql_update_horario_subsala    = "UPDATE sala_horarios SET plazas_libres = 1 WHERE id = ?";
                        $result_update_horario_subsala = $conexion->prepare($sql_update_horario_subsala);
                        $exito_h                       = $result_update_horario_subsala->execute(array($hora_subsala));

                        $sentencia = "LOCALIZADOR - " . $localizador . " - Se ha devuelto la capacidad a la subsala " . $row_subsala['id'] . " del horario " . $hora_subsala;
                        Insertar_Sentencia($sentencia, $seccion);
                    }
                }
            }

        }
        /******** ES SUBSALA ***********/
        else {

            // Busco sala padre
            $sql_sala_padre = "SELECT id
							   FROM salas
							   WHERE id = " . $row_servicio_instalaciones['padre_id'];

            $result_sala_padre = $conexion->query($sql_sala_padre);

            if ($result_sala_padre->rowCount() > 0) {
                $row_sala_padre = $result_sala_padre->fetch();

                $sql_horario = "SELECT id
								FROM sala_horarios
								WHERE sala_id = " . $row_sala_padre['id'] . "
								AND fecha = '" . $row_servicio_instalaciones['fecha'] . "'
								AND hora_inicio = '" . $row_servicio_instalaciones['hora_inicio'] . "'
								AND hora_fin = '" . $row_servicio_instalaciones['hora_fin'] . "'";

                $result_horario = $conexion->query($sql_horario);

                if ($result_horario->rowCount() > 0) {
                    $row_horario_salapadre = $result_horario->fetch();

                    $hora_salapadre = $row_horario_salapadre['id'];

                    $sql_update_horario_subsala    = "UPDATE sala_horarios SET plazas_libres = 1 WHERE id = ?";
                    $result_update_horario_subsala = $conexion->prepare($sql_update_horario_subsala);
                    $exito_h                       = $result_update_horario_subsala->execute(array($hora_salapadre));

                    $sentencia = "LOCALIZADOR - " . $localizador . " - Se ha devuelto la capacidad de la sala completa " . $row_subsala['id'] . " del horario " . $hora_salapadre;
                    Insertar_Sentencia($sentencia, $seccion);
                }
            }
        }
    }
}