<?php
/**
* This function is beign used to change the users receiveMail setting.
* It will first check if the user who executed this function is the person of whom the setting is or if it's a mod/admin. If this is not the case the page will be redirected to an error page.
* it will check if the new value equals 1 or 0 and it will update the setting and redirect the page again.
* @author Daan Janssens, mentored by Matthew Lagoe
*/
function change_receivemail(){

    try{
        //if logged in
    	global $INGAME_WEBPATH;
    	global $WEBPATH;
        if(WebUsers::isLoggedIn()){

            if(isset($_POST['target_id'])){

                //check if the user who executed this function is the person of whom the setting is or if it's a mod/admin.
                if( ( ($_POST['target_id'] == $_SESSION['id']) || Ticket_User::isMod(unserialize($_SESSION['ticket_user']))) && isset($_POST['ReceiveMail']) ){
			$user_id = filter_var($_POST['target_id'], FILTER_SANITIZE_NUMBER_INT);
		    	$receiveMail = filter_var($_POST['ReceiveMail'], FILTER_SANITIZE_NUMBER_INT);
			if($receiveMail == 0 || $receiveMail == 1){
			    WebUsers::setReceiveMail($user_id, $receiveMail);
			}
			if (Helpers::check_if_game_client()) {
                header("Cache-Control: max-age=1");
				header("Location: ".$INGAME_WEBPATH."?page=settings&id=".$user_id);
			}else{
                header("Cache-Control: max-age=1");
				header("Location: ".$WEBPATH."?page=settings&id=".$user_id);
			}
			throw new SystemExit();

                }else{
                    //ERROR: permission denied!
		    $_SESSION['error_code'] = "403";
                header("Cache-Control: max-age=1");
                    header("Location: index.php?page=error");
                    throw new SystemExit();
                }

            }else{
                //ERROR: The form was not filled in correclty
                header("Cache-Control: max-age=1");
		header("Location: index.php?page=settings");
		throw new SystemExit();
            }
        }else{
            //ERROR: user is not logged in
                header("Cache-Control: max-age=1");
	    header("Location: index.php");
	    throw new SystemExit();
        }

    }catch (PDOException $e) {
         //go to error page or something, because can't access website db
         print_r($e);
         throw new SystemExit();
    }

}