<?php

//GOLBAL FUNCTIONS
function validateEmail($email) {
      return filter_var($email, FILTER_VALIDATE_EMAIL);
   }
//1. Date Formate

function dateformat($date){
   
    if(!empty($date)){
        if(strtotime($date) != ''){
            return date("d/m/y",strtotime($date));
        }else{
            return "N/A";
        }
    }else{
        return "N/A";
    }
    
}
function SAID($ID){
    if(strlen($ID)==13){
           $y1o = $ID[0];
           $y2e = $ID[1];
           $m1o = $ID[2];
           $m2e = $ID[3];
           $d1o = $ID[4];
           $d2e = $ID[5];
           $go = $ID[6];
           $s1e = $ID[7];
           $s2o = $ID[8];
           $s3e = $ID[9];
           $co = $ID[10];
           $ae = $ID[11];
           $z = $ID[12];
           
           $A = 0;
           $A = intval($A) + intval($y1o) + intval($m1o) + intval($d1o) + intval($go) + intval($s2o) + intval($co);
           $B1 = $y2e + $m2e + $d2e + $s1e + $s3e + $ae;
           $B2 = $B1 * 2;
           $i = 0;
           $B3 = 0;
            $B2string = $B2;
           
           
           while (strlen($B2string) > $i) {
               $x = substr($B2string,$i, $i + 1);
              
               $B3 = $B3 + intval($x);
               $i = $i + 1;
           }
           
            $B3;
           $C = $A + $B3;
           $Cstring = $C;
            $secNo = $Cstring[1];
            $D = 10 - intval($secNo);
           while ($D >= 10) $D = $D - 10;
           
           if ($D == $z) {
               //test for valid date in 1900
               $valid = true;
              
              $db = date("Y-m-d",strtotime("19".$ID[0].$ID[1]."-".$ID[2].$ID[3]."-".$ID[4].$ID[5]));
               $dbYear = date("Y",strtotime($db));
              $dbMonth = date("m",strtotime($db));
              $dbDay = date("d",strtotime($db));
              
              
              if ($dbYear < 1900){ $valid = false; }
               else if ( $dbYear != intval('19' . $y1o . $y2e)){ $valid = false;}
               else if ($dbMonth != intval($m1o . $m2e)){ $valid = false;}
               else if ($dbDay != intval($d1o . $d2e)){ $valid = false;}
              
              
               //if invalid test again in 2000
               if($valid==false){
                   $valid = true;
              $db = date("Y-m-d",strtotime("20".$ID[0].$ID[1]."-".$ID[2].$ID[3]."-".$ID[4].$ID[5]));
               $dbYear = date("Y",strtotime($db));
              $dbMonth = date("m",strtotime($db));
              $dbDay = date("d",strtotime($db));
              
              
              if ($dbYear < 2000){ $valid = false; }
               else if ( $dbYear != intval('20' . $y1o . $y2e)){ $valid = false;}
               else if ($dbMonth != intval($m1o . $m2e)){ $valid = false;}
               else if ($dbDay != intval($d1o . $d2e)){ $valid = false;}
               //return result
               }
               return $valid;
           }
           else {
     
               return false;
           }
          
    }
   
}

function datetimeformat($date){
     if(!empty($date)){
        if(strtotime($date) != ''){
        return date("d/m/y H:i",strtotime($date));
        }else{
            return "N/A";
        }
    }else{
        return "N/A";
    }
}





#Capitalize the name 
function Capitalise($string,$p=0)
{
    if(!empty($string)){
        
    $string = ucfirst(strtolower($string));
   
    }else{
        if($p>0){
            $string = "N/A";
        }
    }
    
    return $string;
    
}

function getFullName($details, $ini=false){
    $firstName = Capitalise($details["FirstName"]);
    $lastName = Capitalise($details["LastName"]);
    $nickName = Capitalise($details["NickName"]);
    $fullname = $lastName.", ".$firstName;
    if($ini ==true){
        $fullname = $firstName[0]." ".$lastName;
    }
    
    
    if(!empty($nickName)){
        $fullname = $fullname ."  (".$nickName.")";
    }
    return $fullname;
}

function getMemberBySquadRole($array,$roleID){
    $id = array();
    if(count($array)>0){
    foreach($array as $row){
            if($row["Position"]==$roleID){
                $id[] = $row;
            }
        
    }
    }
    return $id;
}

function getTeamManegers($SquadsDetails, $links=0){
                  $TeamManegers = getMemberBySquadRole(json_decode($SquadsDetails["Coaches"],true),42);
                $ProfileDB = new Model_Profile;
                $Manegers = "";
                $count_rows =0;
                foreach($TeamManegers as $TeamManeger){
                    $Profile = $ProfileDB->getName($TeamManeger["ID"]);
                    if($Profile){
                    $comma = "";
                    if($count_rows!=0){
                        $comma = " / ";
                    }
                    if($links>0){
                        $man ='<a href="/members/profile/id/'.$Profile["UserID"].'" target="_black" style="display:block">'.getFullName($Profile,true).'</a>';
                    $Manegers = $Manegers.$man;
                    }else{
                        $Manegers = $Manegers.$comma.getFullName($Profile);
                    }
                    $count_rows++;
                    
                    }
                }
                return $Manegers;
              } 
function tournamentStatus($sdate,$edate)
{
    $status = "None";
    if(strtotime($edate)>strtotime(date("Y-m-d")) ){
        //tournament started
        if(strtotime($sdate)< strtotime(date("Y-m-d"))){
            $status = "<a style='background:green; ' class='label '>IN PROGRESS</a>";
        }else{
            
            $status = "<a style='background:#F3C400;' class='label '>NOT STARTED</a>";
        }
    }else{
        //Tournament Not started
        $status = "<a style='background:red; ' class='label '>CLOSED</a>";
        
    }
    return $status;
}
function tournamentStatusNumber($sdate,$edate)
{
    $status = 0;
    if(strtotime($edate)>strtotime(date("Y-m-d")) ){
        //tournament started
        if(strtotime($sdate)< strtotime(date("Y-m-d"))){
            $status = 2;
        }else{
            
            $status = 1;
        }
    }else{
        //Tournament Not started
        $status = "<a style='background:red; ' class='label '>CLOSED</a>";
        
    }
    return $status;
}
  
function format_telephone($number)
{
    //$older = $number;
    $number = str_replace(" ", "", $number);
    $charectors = array("-","_","(",")"," ");
    if(!empty($number) && strlen($number)>4){
        foreach($charectors as $cha){
       $number = str_replace($cha, "", $number);
        }
        
        $number = "(".substr($number, 0,3).") ".substr($number, 3,3)."-".substr($number, 6,12);
       
    }else{
        $number = "N/A";
    }
    return $number;
}
function countAllPlayers($playersList){
    $data["Position"] =0;
    $data["Jersey"] =0;
    foreach($playersList as $player){
        if($player["Position"]>0){
            $data["Position"]++;
        }
    }
    foreach($playersList as $player){
        if($player["Jersey"]>0){
            $data["Jersey"]++;
        }
    }
    return $data;
}

function encrypt($pure_string) {
    $encryption_key = "!@#$%^&*";
    $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $encryption_key, utf8_encode($pure_string), MCRYPT_MODE_ECB, $iv);
    return $encrypted_string;
}

/**
 * Returns decrypted original string
 */
function decrypt($encrypted_string) {
    $encryption_key = "!@#$%^&*";
    $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $encryption_key, $encrypted_string, MCRYPT_MODE_ECB, $iv);
    return $decrypted_string;
}


function percent($x,$y) {
    
$percent = $x/$y;
$percent_friendly = number_format( $percent * 100, 2 ) . '%';
return $percent_friendly;
}

function shapeSpace_check_https() {
	
	if ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443) {
		
		return "https://".$_SERVER['SERVER_NAME'];
	}
	return "http://".$_SERVER['SERVER_NAME'];
}
function AgeGroup($AgeGroup){
	$AgeGroup_result = "";
	$AgeGroup = str_replace('["', '', $AgeGroup);
	$AgeGroup = str_replace('"]', '', $AgeGroup);
	$AgeGroup = explode( ',', $AgeGroup);
	if(count($AgeGroup)>0){
		foreach ($AgeGroup as $age) {
			if($age =="0"){ $age = "Senior";}
			$AgeGroup_result = $AgeGroup_result+$age;
		}
	}
	return $AgeGroup_result;
}

function ErrorLog($New_Content){
	try{
		$db = new Model_DbTable_Errors;
	$data = array("DateTime"=>date("Y-m-d H:i:s"),"Message"=>$New_Content);
	$save = $db->insertData($data);
	return true;
	}catch(exception $e){
		echo "<pre>";
		print_r($e);
	}
}


?>
