Store in GIT
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
require('../../../inc/connect.php');
|
||||
|
||||
//Decode code
|
||||
$code = urldecode($_GET['code']);
|
||||
$temp = str_rot13($code) or die(error("login", "An error occured"));
|
||||
$spl = explode("~", $temp);
|
||||
|
||||
$email = $spl[0];
|
||||
$device = $spl[1];
|
||||
|
||||
//Validate
|
||||
if(strlen($device) != 6 || !filter_var($email, FILTER_VALIDATE_EMAIL))
|
||||
{
|
||||
error("login", "An error occured");
|
||||
}
|
||||
|
||||
|
||||
//Check if device id already bound -> delete account
|
||||
$sql = "SELECT `id` FROM device WHERE `dev_id`='$device' AND `user`=0";
|
||||
$query = ExecQuery($mysqli, $sql);
|
||||
|
||||
if($query->num_rows < 1)
|
||||
{
|
||||
|
||||
//Check if email already verified
|
||||
$sql = "SELECT `id` FROM user WHERE `email`='$email' AND `verified`=1";
|
||||
$query = ExecQuery($mysqli, $sql);
|
||||
|
||||
$str = "";
|
||||
|
||||
if($query->num_rows < 1)
|
||||
{
|
||||
$sql = "DELETE FROM user WHERE `email`='$email' AND `code`='$code'";
|
||||
ExecQuery($mysqli, $sql);
|
||||
|
||||
$str = ", account registration has been cancelled";
|
||||
}
|
||||
|
||||
error("login", "This device has already been bound to an account" . $str);
|
||||
}
|
||||
|
||||
|
||||
//Check if email matches code to verify integrity
|
||||
$sql = "SELECT `id` FROM user WHERE `email`='$email' AND `code`='$code'";
|
||||
$query = ExecQuery($mysqli, $sql);
|
||||
|
||||
if($query->num_rows < 1)
|
||||
{
|
||||
error("login", "Verification failed");
|
||||
}
|
||||
|
||||
$uid = $query->fetch_assoc()['id'];
|
||||
|
||||
//Account has passed all the checks, verify
|
||||
$sql = "UPDATE user SET `verified`=1, `code`='' WHERE `id`=$uid";
|
||||
ExecQuery($mysqli, $sql);
|
||||
|
||||
$sql = "UPDATE device SET `user`=$uid WHERE `dev_id`='$device'";
|
||||
ExecQuery($mysqli, $sql);
|
||||
|
||||
success("login", "The verification has succeeded");
|
||||
?>
|
||||
Reference in New Issue
Block a user