<?php
if(!$CONF || $_REQUEST["CONF"]) {
	if (!defined("MB_LIBPATH")){
		define("MB_LIBPATH", realpath(dirname(__FILE__)."/../../../.."));
		require_once(MB_LIBPATH."/lib-pkg/parsefunction.php");
	}
	require_once mb_path("/lib-tk/include/common.php");
}
require_once mb_path("/lib-action/action.php");
require_once mb_path("/lib-mbapi/mbapi.php");
require_once mb_path("/lib-tk/include/crypt/crypt.php");


class ForgottenPasswordResponse extends MB_Action {

	function ForgottenPasswordResponse() {
		parent::MB_Action();
		$this->stringRep = "ForgottenPasswordResponse";
		$this->params = array("adminEmail", "adminRemoteAccessHash");
	}

	function execute() {
		global $CONF;
		parent::execute();

		$this->setReferralActionID( getActionID("ShowForgottenPassword") );
        $this->setReferralActionFile( "login.php" );

        require_once 'Billing_Checker.php';
        $success = Billing_Checker::emailAddress($_REQUEST["adminEmail"]);

		if ($success) {
			$query = $this->getMBAPIQuery("ProcessAdminForgottenPassword");
			$data = dispatchMBAPI( $query, 1 );
			
			if ($this->addMBAPIErrors($data) === 0 && !$this->getNumErrors()) {
				$results = grabSimpleMBAPIResults($data);
				if (isset($results["adminIDs"]) && isset($results["adminIDs"]["adminID"])) {
					redirect('login.php', 'ShowLogin', array('info_msg' => 'TRANS_PASSWORD_RESET'));
				} else {
					redirect("login.php", "ShowForgottenPassword", array("msg"=>"TRANS_EMAIL_NOT_FOUND"));
				}
			}
		} else {
            redirect("login.php", "ShowForgottenPassword", array("msg"=>"TRANS_INCORRECT_EMAIL"));
        }

		$this->addErrorTemplates();
		return $this->hasExecutedSuccessfully();
	}

}
