<?php
session_start();
// http://www.marplo.net

// Verifica daca s-a trimis cerere de recuperare nume/parola
// daca este trimisa si nr. verificare este corect, cauta in baza de date
// trimite nume si parola la adresa de email
// daca cererea nu e facuta, sau nr. verificare incorect, afiseaza campul pt. e-mail

// Functia pt. stabilire nr. verificare si afisare formular
function formular($tip) {
  // setare nr. verificare si sesiunea asociata
   $data_nrv = date(" j-F-Y, g:i a ");   // Pt. stabilire nr. verificare
   $nr_ve = md5($data_nrv);
   if(!isset($_SESSION['nrve'])) {
	$_SESSION['nrve'] = substr($nr_ve, 3, 5);
  }
  // afiseaza formularul pt. e-mail
   echo '<center>
	<script src="verific.js"></script>
	<p>Enter your email and this verification code: <b><font color="blue" size="4">'. $_SESSION['nrve']. '</font></b></p><br />
         <form action="'. basename($_SERVER['PHP_SELF']). '" method="post" onsubmit="return recupera(this)">
		 <input type="hidden" name="nrv0" value="'. $_SESSION['nrve']. '" />
         <label for="email">E-mail: </label> <input type="text" name="email" maxlength="42" id="email" /><br /><br />
		 <label for="nrv">Verification Code: </label><input type="text" name="nrv" size="5" maxlength="6" id="nrv" /><br />
         <input type="submit" name="'. $tip. '" value="'. $tip. '" />
         </form></center>';
}

// Verifica daca s-a trimis cerere de recuperare nume/parola

if (isset($_POST['email']) && isset($_POST['nrv']) && isset($_SESSION['nrve'])) {
  /* Stabileste daca a fost trimisa cerere de recuperare date sau retrimitere confirmare */
  if (isset($_POST['recuper'])) { $trimite = $_POST['recuper']; }
  else if (isset($_POST['confirm'])) { $trimite = $_POST['confirm']; }

  if ($_SESSION['nrve']==$_POST['nrv']) {
	unset($_SESSION['nrve']);
	include_once("bazadb.php");

   // verifica daca adresa de email este in baza de date
   $email = $_POST['email'];
   $sql = "SELECT `nume`, `parola`, `pass`, `email` from `utilizatori` WHERE `email` = '$email'";
   $result = mysql_query($sql,$conn);

  if(!$result || (mysql_numrows($result)<1)) {
    echo "<center><h2>Adresa de email <i><u> $email </u></i> nu se afla in baza de date.</h2></center><br />";
	formular($trimite);
  }
   else {
      // extrage numele si parola asociate adresei de email
      while ($rand = mysql_fetch_assoc($result)) {
        $nume = stripslashes($rand['nume']);
        $parola = stripslashes($rand['parola']);
        $pass = stripslashes($rand['pass']);
	  }

      // trimite datele prin email
	  if ($trimite=='recuper') {
	    // stabilire mesaj pt. date de recuperare
        $subiect = "Recuperare date inregistrare";
        $mesaj1 = "               Buna ziua \n
        Ati primit acest e-mail deoarece ati solicitat recuperarea parolei de inregistrare utilizator. \n\n";
	  }
	  if ($trimite == 'confirm') {
	    // stabilire link pt. confirmare inregistrare
		$link_confirm = 'http://'. $_SERVER['HTTP_HOST']. $_SERVER['REQUEST_URI']. '?mp='. $nume. '&pm='. $parola;
	    // stabilire mesaj pt. confirmare inregistrare
        $subiect = "Confirmare inregistrare";
        $mesaj1 = "               Buna ziua \n
        Ati primit acest e-mail deoarece ati solicitat retrimiterea confirmarii de inregistrare. \n\n
		Pentru a confirma inregistrarea, dati click pe link-ul urmator: \n
			$link_confirm \n\n";
	  }
        $mesaj2 = "Datele dv. de autentificare sunt urmatoarele: \n
              Nume = $nume \n
              Parola = $pass
              \n\n\n
        Va doresc o zi buna \n
        Cu respect, Echipa ExtemShare.Net";
		$mesaj = $mesaj1. $mesaj2;
      if (mail("$email", "Subiect: $subiect", $mesaj, $from)) {
         echo '<center>Succes ! Your account detalies was send to <b>'. $email. '</b>.
               <br /> Please read email.
               <br /><br />Thanks <a href="../">Click here</a></center>';
	  } 
      else {
         echo '<center><h2>Exista o problema, verificati daca ati introdus corect datele.</h2><br /><b><a href="#" onClick="history.back()">Click aici</a></b> pentru a reveni la pagina anterioara.</center>';
      }
	}
  }
  else if ($_SESSION['nrve']!=$_POST['nrve']) {
	unset($_SESSION['nrve']);
	echo '<center><font color="red"><h3>Nr. verificare incorect. Incercati din nou.</h3></font></center><br />';
	formular($trimite);
  }
}

// Urmatorul cod este pentru confirmarea inregistrarii
// sau retrimiterea confirmarii
else if (isset($_GET['mp']) && isset($_GET['pm'])) {
  include_once("bazadb.php");
  $nume = $_GET['mp'];
  $parola = $_GET['pm'];
  $aprobat = 1;
   
  if(!get_magic_quotes_gpc()) {
	$nume = addslashes($nume);
	$parola = addslashes($parola);
  }

	// modificarea in BD pt aprobat=1
	$sql = "UPDATE `utilizatori` SET `aprobat`='$aprobat' WHERE `nume`='$nume' AND `parola`='$parola' LIMIT 1";
	$result = mysql_query($sql);
	if(!$result) {
	  echo 'Aprobarea nu s-a efectuat deoarece : '. mysql_errno(). ' : '. mysql_error();
	}
	else {
	  $q = "SELECT aprobat from `utilizatori` WHERE `nume`='$nume'";
	  $result_q = mysql_query($q,$conn);
	  $rand = mysql_fetch_array($result_q, MYSQL_ASSOC);
	  if ($rand['aprobat']==1) {
		echo '<center><font color="blue"><h2>Confirmare aprobata</h2></font><h3>Acum va puteti autentifica pe site. <a href="../">Click aici</a></h3></center>';
	  }
	  else  {
		$link_confirm = '<b><a href="'. basename($_SERVER['PHP_SELF']). '">Click Aici</a></b>';
		echo '<center><font color="red"><h2>Confirmare neaprobata</h2></font><h3>Datele pentru confirmarea inregistrarii sunt incorecte</h3><br /><br /> - Pentru a solicita un nou e-mail cu link-ul pt. confirmarea inregistrarii '. $link_confirm. '<br /><br /><i>Sau Contactati administratorul site-ului.</i></center>';
	  }
	}
@mysql_close();
}
else {
  /* Seteaza daca afiseaza formularul pt. trimitere datelor de autentificare sau si link-ul pt. confirmare inregistrare */
  if (isset($_GET['confirm'])) { $trimite = 'confirm'; }
  else { $trimite = 'recuper'; }
  formular($trimite);
}
?>

<center><br /><br /><b><a href="../">Inapoi-Logare</a></b></center>