<?php require_once "User.php"; require_once "ShoppingList.php"; //comprobamos que el usuario se ha autenticado session_start(); $currentUser = User::getLoggedInUser(); if (!$currentUser) { die('Necesitas autenticarte para acceder a esta funcionalidad'); } //comprobamos si se ha seleccionado una lista de compra if (isset($_POST['idList'])) { $idList = $_POST['idList']; //obtenemos el id de la lista a partir de la variable POST } else { if (isset($_SESSION['idList'])) { $idList = $_SESSION['idList']; //obtenemos el id de la lista a partir de la variable POST } else { //die ('No se ha seleccionado una lista'); } } //comprobamos si el usuario autenticado está autorizado a borrar esta lista if (!ShoppingList::userBelongsToGroupOfList($currentUser->id, $idList)) { die("No perteneces al grupo de la lista con id {$idList}!"); } // eliminamos la lista con identificador idList ShoppingList::deleteList($idList); //indicamos que la operación ha finalizado con éxito echo 'success';
/** * Comprueba si el usuario 'idUser' pertenece al grupo al que pertenece la lista del item 'idList' * * @param int $idUser El ID del usuario que se quiere comprobar * @param int $idItem El ID del item de la lista cuyo grupo se quiere comprobar la pertenencia * @return boolean Devuelve true si, y solo si, el usuario con id 'idUser' pertenece al grupo de la lista del item con id 'idList' */ public static function userBelongsToGroupOfItemList($idUser, $idList, $idItem) { $con = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DBNAME); if (!$con) { die('Could not connect: ' . mysqli_error($con)); } $idSList = mysqli_real_escape_string($con, $idList); $idSItem = mysqli_real_escape_string($con, $idItem); $sql = "SELECT `idList` FROM `Item` WHERE idItem='" . $idSItem . "'"; $result = mysqli_query($con, $sql); $row = mysqli_fetch_array($result); mysqli_close($con); $idListItem = $row['idList']; if ($idListItem == $idSList) { return ShoppingList::userBelongsToGroupOfList($idUser, $idListItem); } else { return false; } }