<?php
require_once "../../functions.php";
$pag = basename($_SERVER['PHP_SELF']);
if (comprobar_override(str_replace($_SERVER['DOCUMENT_ROOT'], '', __FILE__))) exit;
comprobar_postget('post', ['conf', 'valor'], $pag, false, '');
gen_plantilla(false, $pag, false, false, '', false, false);

if (session_status() !== PHP_SESSION_ACTIVE) session_start();

$meta = filter_input(INPUT_POST, 'conf', FILTER_SANITIZE_SPECIAL_CHARS);
$valor = filter_input(INPUT_POST, 'valor', FILTER_SANITIZE_SPECIAL_CHARS);
$id_usuario=$_SESSION['id_usuario'];

//Comprobar si existe la configuración
if (empty(consulta('SELECT * FROM `configuraciones_usuarios` WHERE id_usuario=? AND meta=?;', [$id_usuario,$meta], true))) {
    if (!consulta('INSERT INTO `configuraciones_usuarios`(`id_usuario`,`meta`, `valor`) VALUES (?,?,?);', [$id_usuario,$meta, $valor], false)) {
        crear_log(
            'error',
            'Error al crear configuración',
            $pag,
            'Ha dado error al crear el meta ' . $meta . ' para el usuario '. $id_usuario.' con valor ' . $valor
        );
        crear_notificacion('error', 'Error al actualizar la configuración.');
        exit;
    } else {
        crear_log(
            'info',
            'Configuración creada',
            $pag,
            'Se ha creado el meta ' . $meta . ' para el usuario '. $id_usuario. ' con valor ' . $valor
        );
        crear_notificacion('correcto', 'Configuración actualizada');
        exit;
    }
}

//Si existe, actualizar
if (!set_config_usuario($id_usuario,$meta, $valor)) {
    crear_log(
        'error',
        'Error al actualizar configuración usuario',
        $pag,
        'Ha fallado actualizar el meta ' . $meta . ' con valor ' . $valor
    );
    crear_notificacion('error', 'Error al actualizar la configuración.');
} else {
    crear_log(
        'info',
        'Configuración actualizada usuario',
        $pag,
        'Se ha actualizado el meta ' . $meta . ' con valor ' . $valor
    );
    crear_notificacion('correcto', 'Configuración actualizada');
}
