<?php
include 'config.php';
    session_start();
    if(isset($_COOKIE['persistPrivado']))
    {
        $userid = $_COOKIE['persistPrivado'];
        $_SESSION['user'] = $userid;
    }


    date_default_timezone_set('America/Mexico_City');
    $correo = $userid; 

    $pass = trim($_POST['pass']);
    $pass = strip_tags($pass);
    //$pass = htmlspecialchars($pass);
    $hash =  hash('sha256', $pass);

    //echo $correo;
    //echo '<br>';
    //echo $pass;

    if(strlen($correo) > 5 && strlen($pass) > 9){
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => $endpoint_graph_cms,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS =>'{"query":"query MyQuery {\\r\\n  usuariosSitioPrivado(where: {email: \\"'.$correo.'\\"}) {\\r\\n    id\\r\\n password\\r\\n  }\\r\\n}\\r\\n","variables":{}}',
        CURLOPT_HTTPHEADER => array(
          'Content-Type: application/json',
          'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
        ),
      ));
      
    $response = curl_exec($curl);
    curl_close($curl);
    //echo $response;

    $jsonrespuesta = json_decode($response, true);
    $id = $jsonrespuesta['data']['usuariosSitioPrivado'][0]['id'];
    $current_password = $jsonrespuesta['data']['usuariosSitioPrivado'][0]['password'];
    $time = time();
    //echo $id;
    $sucess = "<p class='successmsg'>Tu contraseña fue actualizada correctamente, no olvides almacenarla en un lugar seguro. <br>Por favor espera un momento.</p><script>loginSuccess();</script>";
    $fail = "<p class='errormsg'>Ocurrió un error al actualizar la contraseña. Por favor intente nuevamente.</p>";

    if(strlen($id)>10){

        if($current_password == $hash){
            echo "<p class='errormsg' style='color:red;'>Ingrese una contraseña que no haya usado anteriormente.</p>";
            exit();
        }

        $curl2 = curl_init();

        curl_setopt_array($curl2, array(
            CURLOPT_URL => $endpoint_graph_cms,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => '',
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 0,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => 'POST',
            CURLOPT_POSTFIELDS =>'{"query":"mutation MyMutation {\\r\\n  updateUsuarioSitioPrivado(data: {ultimaActividad: \\"'.$time.'\\", resetPass: \\"0\\",  fechaCambioPassword: \\"'.$time.'\\", password: \\"'.$hash.'\\", localizations: {update: {data: {ultimaActividad: \\"'.$time.'\\", resetPass: \\"0\\",  fechaCambioPassword: \\"'.$time.'\\", password: \\"'.$hash.'\\"}, locale: es_MX}}}, where: {id: \\"'.$id.'\\"}) {\\r\\n    id\\r\\n  }\\r\\n  unpublishUsuarioSitioPrivado(where: {id: \\"'.$id.'\\"}) {\\r\\n    id\\r\\n  }\\r\\n  publishUsuarioSitioPrivado(where: {id: \\"'.$id.'\\"}, locales: es_MX, to: PUBLISHED) {\\r\\n    id\\r\\n  }\\r\\n}","variables":{}}',
            CURLOPT_HTTPHEADER => array(
            'Content-Type: application/json',
            'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
            ),
        ));

        $response2 = curl_exec($curl2);
        curl_close($curl);
        $jsonrespuesta2 = json_decode($response2, true);
        $id2 = $jsonrespuesta2['data']['updateUsuarioSitioPrivado']['id'];
        //echo $response2;

        if(strlen($id2)>5){
            //termina mail
            echo $sucess;
            $_SESSION['userPassUpdated'] = $correo;
            //setcookie("userPassUpdated", "$correo", time() + (20 * 2 * 12 * 60 * 60), "/", null, true, true);

            setcookie("userPassUpdated", "$correo", time()+ (20 * 2 * 12 * 60 * 60), '/');
        }
        else{
            echo $fail;
        }
    }
    else{
        echo "<p class='errormsg'>Ocurrió un error al actualizar tu contraseña. Por favor intenta nuevamente.</p>";
    }   

    
  }