<?php
    /**
    *
    * copyright (c) 2013-2022 Heliac Technologies
    * license http://opensource.org/licenses/gpl-license.php GNU GPL v3 
    *
    * linee guida per l'utilizzo del logo http://www.geecom.org/articolo.php?id=34&alias=linee-guida-per-l%27uso-del-logo-geecom
    */

    include "../include/costanti.php";
    include "../include/util.php";
    include "../gUtil/DbManager.php";
    include "../gUtil/GeneratoreEmail.php";

    session_start();

    //i dati del database sono definiti nel file costanti.php
    $geecomDb = new DbManager($costantiDatabase);
    $impostazioni = recuperaImpostazioni($geecomDb);
    
    //dati utente
    $nome      = filter_input(INPUT_POST,"nome",FILTER_SANITIZE_STRING);
    $cognome   = filter_input(INPUT_POST,"cognome",FILTER_SANITIZE_STRING);
    $email     = strtolower(filter_input(INPUT_POST,"email",FILTER_SANITIZE_EMAIL));

	if($impostazioni["accessoFacebook"]=="si" && !isset($_SESSION["geecomUser_email"])) {
		
	    $queryControllo = "SELECT * FROM geecAd_utenti WHERE email LIKE '$email'";
	    $result = $geecomDb->eseguiQueryLettura($queryControllo) or die($utenteDb->error);
	    if($result->num_rows==0) { // se l'utente non è presente va creato

		     $nuovaPassword = "";
		     for($i=0;$i<7;$i++) {
		         $num = rand(0,51);
		         $a_z = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
		         $nuovaPassword = $nuovaPassword.$a_z[$num];
		     }

		     $passwordSha512 = hash("sha512",nuovaPassword);

		    $dataCreazione = date("Y-m-d");
		    $queryCreazioneUtente ="INSERT INTO geecAd_utenti VALUES(NULL,0,'$email','$passwordSha512','$nome','$cognome','','','','','','','','',0,'','non attivato', '$dataCreazione','$dataCreazione');";
		    $idUtente = $geecomDb->eseguiQueryCreazione($queryCreazioneUtente);
		    
		    if($impostazioni["gruppoDefaultFacebook"]!=0) {
			 $queryAssociazioneGruppo ="INSERT INTO geecAd_gruppiUtenti VALUES(NULL,$idUtente,{$impostazioni["gruppoDefault"]});";
			 $geecomDb->eseguiQueryScrittura($queryAssociazioneGruppo);
		    }

		    //se ha creato l'utente invia una mail di avviso con il link per il login
		    $generatoreEmail = new GeneratoreEmail($impostazioni["nomeMittente"],$impostazioni["emailMittente"]);

		    $oggetto = "creazione account";
		    $link = $impostazioni['urlPiattaforma'];
		    $messaggio = "Ciao $nome, <br><br> La tua registrazione è stata effettuata con successo<br>Grazie!";
		    $generatoreEmail->invia($email, $oggetto, $messaggio);
	    }
	    else {
		$utente = $result->fetch_assoc();
		$idUtente = $utente["id"];
	    }

	    $_SESSION["geecomUser_id"] = $idUtente;
	    $_SESSION["geecomUser_email"] = $email;
	    $_SESSION["geecomUser_nomeCognome"] = $nome." ".$cognome;
	    $_SESSION["geecomUser_nome"] = $nome;
	    $_SESSION["geecomUser_tipoLogin"] = "facebook";

    	    echo "ok";
	}
	else if(isset($_SESSION["geecomUser_email"])) {
		echo "giaLoggato";
	}