Exemplo n.º 1
0
     $json_arr = json_decode($json_string, true);
     if (!does_map_exist_by_id($student_id, $map_id)) {
         deliver_response(200, "Map with id={$map_id} does not exist");
         break;
     }
     if ($map_id != $json_arr['id']) {
         deliver_response(200, "You cannot update map's id");
         break;
     }
     if (!does_map_exist_by_id($student_id, $map_id)) {
         deliver_response(200, "Map with id={$map_id} does not exist");
         break;
     }
     if (is_array($json_arr)) {
         update_map($student_id, $map_id, $json_string);
         $map = get_user_maps($student_id, $map_id);
         $map = xml_maps_to_json($map);
         $map = json_decode($map, true);
         deliver_response(200, "The map has been updated", $map);
     } else {
         deliver_response(400, "The request cannot be fulfilled due to bad syntax");
     }
     break;
 case "DELETE":
     if (!does_map_exist_by_id($student_id, $map_id)) {
         deliver_response(200, "Map with id={$map_id} does not exist");
         break;
     }
     delete_map($student_id, $map_id);
     deliver_response(200, "The map has been deleted");
     break;
function delete_map($student_id, $map_id)
{
    $maps = get_user_maps($student_id);
    foreach ($maps as $map) {
        if ($map->id == $map_id) {
            $dom = dom_import_simplexml($map);
            $dom->parentNode->removeChild($dom);
        }
    }
    $maps_as_string = xml_to_string($maps);
    $query = "UPDATE Students SET MAPS='{$maps_as_string}' WHERE STUDENT_ID={$student_id};";
    exec_query($query);
}