<?
    /* 
     * 驗證使用者身份及信箱是否正確 
     */

    require_once ("./etc/init.php");
    include_once ("./etc/funs.php");

    $receiver_user = $_GET["user"];
    $receiver_act = $_GET["act"];

    // 連結資料庫
    $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die(mysql_error() );
    mysql_select_db($mysql_database, $link) or die(mysql_error() );
    mysql_query("SET NAMES 'utf8'");

    // 抓取使用者認證碼
    $str = sprintf("SELECT `activate_code`, `is_activate`, `email` FROM `%s` WHERE `user` LIKE '%s' limit 1", $mysql_table, $receiver_user);
    $result = mysql_query($str , $link);
    $row = mysql_fetch_assoc($result);

    $my_user = new W_user;

    // 如果已認證就不再寄認證信
    if ($row["is_activate"] == 1)
    {
	$my_user->redirect_to("$w_localhost", "你已經通過驗證"); 
    }
    // 如果通過驗證
    else if ( ($row["activate_code"] == $receiver_act) &&  ($receiver_act != null) )
    {
	$my_user->email = $row["email"];
	// 分配一組 hadoop 帳號密碼給 user
	$str = sprintf("SELECT `hadoop_user` , `hadoop_password` 
			FROM `%s` 
			WHERE `hadoop_owner` LIKE '' 
			LIMIT 1 ",$mysql_table_owner );
	$result = mysql_query($str, $link) or die(mysql_error() );
	$row = mysql_fetch_assoc($result);
	$my_user->hadoop_user = $row["hadoop_user"];
	$my_user->hadoop_password = $row["hadoop_password"];
	// 更新 hadoop 帳號擁有者資料庫
	$str = sprintf("UPDATE `%s` SET `hadoop_owner` = '%s' 
			WHERE `hadoop_user` LIKE '%s' limit 1", 
			$mysql_table_owner, $receiver_user, $my_user->hadoop_user); 
        mysql_query($str, $link) or die(mysql_error() );
	
	// 寄送 hadoop 帳號密碼信至使用者信箱
	$my_user->operator = "hadoop_user_password";
	include ("smtp_mail.php");

	// 將使用者設為已認證
	$str = sprintf("UPDATE `%s` SET `is_activate` = 1 
			WHERE `user` LIKE '%s' limit 1", $mysql_table, $receiver_user); 
	mysql_query($str, $link) or die(mysql_error() );
	
	// 重新導向 localhost
	$my_user->redirect_to("$w_localhost", "驗證成功"); 
    }
    // 沒有通過驗證
    else 
    {
	// 重新導向 localhost
	$my_user->redirect_to("$w_localhost", "驗證碼錯誤");
    }

    mysql_close($link); 	
?>
