$valores_modificar = array_valorCampos($array);
if (!$_POST) {
    //Si el id introducido no existe no sacara un error
    if (!$array) {
        echo "<h1>ERROR NO EXISTE ESA ID INTRODUCIDA</H1>";
        echo "<a id='atras'href='javascript:history.back(1)'>VOLVER</a>";
    }
    //Si el tipo de estado es cancelado o realizado no podremos volver a modificar los datos
    $estado = getestado($_GET['id']);
    if ($estado[0]['estado'] == 'C' || $estado[0]['estado'] == 'R') {
        echo "<h1>ESTA TAREA SE ENCUENTRA YA COMPLETADA</H1>";
        echo "<a id='atras'href='javascript:history.back(1)'>VOLVER</a>";
    } else {
        include VIEW_PATH . 'vista_modificar_tarea.php';
    }
} else {
    //Con el foreach usado reescribimos el array para al existir algun error
    //al modificar un apartado este se mantenga en la vista
    foreach ($_POST as $clave => $valor) {
        $valores_modificar[$clave] = $valor;
    }
    $errores = [];
    comprobar_formulario($errores);
    //Si existen errores volvemos a mostrar la vista, pero esta vez mostrando los errores
    if (!empty($errores)) {
        include VIEW_PATH . 'vista_modificar_tarea.php';
    } else {
        ModificarTarea('tarea', $valores = ['descripcion' => $_POST['Descripcion'], 'p_contacto' => $_POST['Contacto'], 'tfno_contacto' => $_POST['Telefono'], 'email' => $_POST['Correo'], 'direccion' => $_POST['Direccion'], 'poblacion' => $_POST['Poblacion'], 'c_postal' => $_POST['Codigo_Postal'], 'provincia' => $_POST['Provincia'], 'operario_encargado' => $_POST['Encargado'], 'fecha_realizacion' => $_POST['Fecha_Realizacion'], 'anotaciones_ant' => $_POST['Anotaciones_ant']], "id_tarea =" . $_GET['id']);
        include VIEW_PATH . "modificado_satisfactoriamente.php";
    }
}
    if (!$_POST) {
        //Si el id introducido no existe nos sacaria  un error
        if (!$array) {
            echo "<h1>ERROR NO EXISTE ESA ID INTRODUCIDA</H1>";
            echo "<a id='atras'href='javascript:history.back(1)'>VOLVER</a>";
        } else {
            include VIEW_PATH . 'vista_modificar_usuario.php';
        }
    } else {
        //Mantenemos el nick del usuario al hacer post en el caso que pueda ser algun campo erroneo
        $array[0]['nick'] = $_POST['usuario'];
        //Comenzamos con el control de posibles errores en el formulario introducido
        $errores = [];
        erroresUsuario($errores);
        if ($_POST['password'] != $_POST['password_repetir']) {
            $errores['password'] = "******";
        }
        //Si existen errores volvemos a mostrar la vista pero esta vez mostrando dichos errores
        if (!empty($errores)) {
            include VIEW_PATH . 'vista_modificar_usuario.php';
        } else {
            //Si es  un administrador modificará todo
            if ($_SESSION['userTipo'] == 'administrador') {
                ModificarTarea('usuario', $valores = ['nick' => $_POST['usuario'], 'password' => md5($_POST['password']), 'tipo' => $_POST['tipo']], "id_usuario =" . $_GET['id']);
            } else {
                ModificarTarea('usuario', $valores = ['nick' => $_POST['usuario'], 'password' => md5($_POST['password'])], "id_usuario =" . $_GET['id']);
            }
            include VIEW_PATH . "modificado_satisfactoriamente.php";
        }
    }
}
$array = gettareas('tarea', "*", "id_tarea='" . $_GET['id'] . "'");
//Array que guarda las columnas obtenidas pasando el id de la tarea
if (!$_POST) {
    //Si el id introducido es erroneo
    if (!$array) {
        echo "<h1>ERROR NO EXISTE ESA ID INTRODUCIDA</H1>";
        echo "<a id='atras'href='javascript:history.back(1)'>VOLVER</a>";
    }
    //Con esta condicion comprobamos que el estado no este ya realizado o cancelado para controlar que se pueda o no completar dicha tarea
    $estado = getestado($_GET['id']);
    if ($estado[0]['estado'] == 'C' || $estado[0]['estado'] == 'R') {
        echo "<h1>ESTA TAREA SE ENCUENTRA YA COMPLETADA</H1>";
        echo "<a id='atras'href='javascript:history.back(1)'>VOLVER</a>";
    } else {
        include VIEW_PATH . "vista_tarea.php";
        include VIEW_PATH . 'vista_completar.php';
    }
} else {
    //Array que guarda los errores existentes al mandr el post
    $errores = [];
    comprobar_formulario($errores);
    //Comprueba los errores que existen del formulario mandado
    //Si exsiten errores volvemos a incluir la mismas vistas para mostrar en este caso dichos errores
    if (!empty($errores)) {
        include VIEW_PATH . "vista_tarea.php";
        include VIEW_PATH . 'vista_completar.php';
    } else {
        ModificarTarea('tarea', $valores = ['estado' => $_POST['Estado'], 'anotaciones_post' => $_POST['Anotaciones_post']], "id_tarea =" . $_GET['id']);
        include VIEW_PATH . "completado_satisfactoriamente.php";
    }
}
$datos['id_tarea'] = $_REQUEST['id_tarea'];
$datos['descripcion'] = $_REQUEST['descripcion'];
$datos['contacto'] = $_REQUEST['contacto'];
$datos['telefono'] = $_REQUEST['telefono'];
$datos['email'] = $_REQUEST['email'];
$datos['direccion'] = $_REQUEST['direccion'];
$datos['poblacion'] = $_REQUEST['poblacion'];
$datos['cp'] = $_REQUEST['cp'];
$datos['provincia'] = $_REQUEST['provincia'];
$datos['estado'] = $_REQUEST['estado'];
$datos['fecha_crea'] = $_REQUEST['estado'];
$datos['operario'] = $_REQUEST['operario'];
$datos['fecha_realiza'] = $_REQUEST['fecha_realiza'];
$datos['anot_antes'] = $_REQUEST['anot_antes'];
$datos['anot_despues'] = $_REQUEST['anot_despues'];
//Filtrado
$errores = FiltradoTareas($datos);
if (!empty($errores)) {
    //Hay errores, pasamos los campos introducidos al array que usará el form isset para rectificación
    $tareas = $datos;
    //Mostramos la vista de la modificación
    include VIEW_PATH . 'ModificarTareaform.php';
} else {
    //No hay errores
    //Conversión de fecha de DD/MM/AAAA a YYYY-MM-DD
    $datos['fecha_realiza'] = date("Y-m-d", strtotime(implode('-', array_reverse(explode('/', $_REQUEST['fecha_realiza'])))));
    //Envío de datos al modelo
    ModificarTarea($datos);
    $mensaje = "Tarea Modificada";
    include 'inicio.php';
}
    if ($_POST['direccion'] == "") {
        $HayError = true;
        $errores['direccion'] = "Error en el campo Direccion.";
    }
    if ($_POST['ope'] == "") {
        $HayError = true;
        $errores['ope'] = "Error en el campo Operario.";
    }
    //Campo opcional.
    if (!isset($_POST['anoF'])) {
        $HayError = true;
        $errores['anoA'] = "Error en el campo Anotacion final.";
    }
    if (!isset($_POST['tlf']) || !preg_match($patronTLF, $_POST['tlf'])) {
        $HayError = true;
        $errores['tlf'] = "Error en el campo telefono.";
    }
    if (!isset($_POST['CP']) || !preg_match($patronCP, $_POST['CP'])) {
        $HayError = true;
        $errores['CP'] = "Error en el campo Codigo postal.";
    }
    $fecha = TransformarFecha($_POST['fecha_f']);
    //creamos un array con los campos recogidos y filtrados para su inserccion.
    $campos = CreaArrayTareas($_POST['Descr'], $_POST['nombre'], $_POST['tlf'], $fecha, $_POST['correo'], $_POST['ESTADO'], $_POST['Pobla'], $_POST['CP'], $_POST['direccion'], $_POST['provincia'], '', $_POST['anoF'], $_POST['ope']);
    if ($HayError) {
        include_once "\\..\\View\\form_modificar.php";
    } else {
        ModificarTarea($campos, $id);
        include "\\..\\ctrl\\Listar.php";
    }
}