<?php

class PG_Controller_Plugin_EmailLayout
extends Zend_Controller_Plugin_Abstract
{
    public $UserID;
	
	public function EmailTemplate($Email,$id,$TID,$TSID, $paasowrd =""){
				$tamplateDb = new Model_EmailTemplate;
				$dbUsers = new Model_Profile;
				$UserDetails = $dbUsers->getRow($id);
				
				$this->UserID=$id;
				$content = $tamplateDb->fetchRow("TID ='".$TID."' AND TSID ='".$TSID."' AND Active ='1'  AND type =1");
				
				if(!$content){
					$content = $tamplateDb->fetchRow("TID ='".$TID."' AND TSID ='".$TSID."' AND type =1");
				}
				
				@$content = $this->replaceContent($content["Content"],$UserDetails,$paasowrd);
				if($Email !=""){
					$this->sendMail($Email,$UserDetails["FirstName"]." ".$UserDetails["LastName"],$content);
				}
				
	}
        
        public function EmailTemplate2($EmailID,$Mangerid,$id,$SID,$passowrd =""){
				$tamplateDb = new Model_EmailTemplate;
				$dbUsers = new Model_Profile;
				$UserDetails = $dbUsers->getRow($id);
				$MangerDetails = $dbUsers->getRow($Mangerid);
                                $dbUnion = new Model_Unions;
				$this->UserID=$id;
				$content = $tamplateDb->fetchRow("EID ='".$EmailID."' ");
				$Union = $dbUnion->fetchRow("un_id ='".$UserDetails["UnionID"]."' ");
				
				$dbSquad = new Model_Squad();
                                $contentSquad = $dbSquad->fetchRow("SID ='".$SID."' ");
                                
                                
				@$content = $this->replaceContentParent($content["Content"],$UserDetails,$MangerDetails,$passowrd,$contentSquad,$Union);
				if($UserDetails["parent_Email"] !=""){
					$this->sendMail($UserDetails["parent_Email"],$UserDetails["parent_FirstName"]." ".$UserDetails["parent_LastName"],$content);
				}
				
	}
        
        
        public function EmailTemplateRequestReset($email,$EmailID,$userD,$link){
            
				
				$this->UserID=$userD["UserID"];
				$tamplateDb = new Model_EmailTemplate;
                                
                                $contentData = $tamplateDb->fetchRow("EID ='".$EmailID."' ");
                                $content = $contentData["Content"];
                                $content = str_replace("[FULLNAME]", $userD["FirstName"]." ".$userD["LastName"], $content);
                                $content = str_replace("[LINK]",$link, $content);
                                
                                
                                    if($email !=""){
					$this->sendMail($email,$userD["FirstName"]." ".$userD["LastName"],$content);
                                    }
                               
				
	}
        
        
         public function NotificationMassge($EmailID,$message,$userD){
            
				
				$this->UserID=$userD["UserID"];
				$tamplateDb = new Model_EmailTemplate;
                                
                                $contentData = $tamplateDb->fetchRow("EID ='".$EmailID."' ");
                                $content = $contentData["Content"];
                                $content = str_replace("[MESSAGE]",$message, $content);
                                
                                
                                
                                    if($userD["Email"] !=""){
					return $this->sendMail($userD["Email"],$userD["FirstName"]." ".$userD["LastName"],$content);
                                        
                                    }
                               
				
	}
        
        public function EmailTemplateAddedToSquad($mail,$EmailID,$Uid,$SID,$passowrd ="",$role){
            
				$tamplateDb = new Model_EmailTemplate;
                                $UserType = new Model_UserType;
				$dbUsers = new Model_Profile;
                                $dbSquad = new Model_Squad();
                                $dbUnion = new Model_Unions;
				$UserDetails = $dbUsers->getRow($Uid);
				$this->UserID=$Uid;
				
				
                                $Role = $UserType->fetchRow("TypeID ='".$role."' ");
			
                                $contentSquad = $dbSquad->fetchRow("SID ='".$SID."' ");
                                
                                $contentData = $tamplateDb->fetchRow("EID ='".$EmailID."' ");
                                $content = $contentData["Content"];
                                $content = str_replace("[FULLNAME]", $UserDetails["FirstName"]." ".$UserDetails["LastName"], $content);
                                $content = str_replace("[SquadName]", $contentSquad["SquadName"], $content);
                                $content = str_replace("[SquadRole]", $Role["TypeName"], $content);
				$content = str_replace("[USERNAME]", $UserDetails["Email"], $content);
                                $content = str_replace("[PASSWORD]", $passowrd, $content);
                                if($UserDetails["JobType"]==2 && $this->getage($UserDetails["DateOfBirth"])<19){
				if($mail !=""){
					$this->sendMail($mail,$UserDetails["parent_FirstName"]." ".$UserDetails["parent_LastName"],$content);
				}
                                }else{
                                    if($mail !=""){
					$this->sendMail($mail,$UserDetails["FirstName"]." ".$UserDetails["LastName"],$content);
                                    }
                                }
				
	}
        
        function getage($birthday)
	{
		if(!empty($birthday)){
			
		
	     list($year,$month,$day) = explode("-",$birthday);
	     $year_diff  = date("Y") - $year;
	     $month_diff = date("m") - $month;
	     $day_diff   = date("d") - $day;
	     if ($day_diff < 0 && $month_diff==0){$year_diff--;}
	     if ($day_diff < 0 && $month_diff < 0){$year_diff--;}
	     return $year_diff. ' ' . 'years old';
		}else{
			return "";
		}
	}
        
        public function EmailTemplateManger($EmailID,$Mangerid,$id,$SID,$passowrd =""){
				$tamplateDb = new Model_EmailTemplate;
				$dbUsers = new Model_Profile;
				$UserDetails = $dbUsers->getRow($id);
				$MangerDetails = $dbUsers->getRow($Mangerid);
                                $dbUnion = new Model_Unions;
				$this->UserID=$Mangerid;
				$content = $tamplateDb->fetchRow("EID ='".$EmailID."' ");
				$Union = $dbUnion->fetchRow("un_id ='".$UserDetails["UnionID"]."' ");
				
				$dbSquad = new Model_Squad();
                                $contentSquad = $dbSquad->fetchRow("SID ='".$SID."' ");
                                
                                
				@$content = $this->replaceContentParent($content["Content"],$UserDetails,$MangerDetails,$passowrd,$contentSquad,$Union);
				if($MangerDetails["Email"] !=""){
					$this->sendMail($MangerDetails["Email"],$MangerDetails["FirstName"]." ".$MangerDetails["parent_LastName"],$content);
				}
				
	}
       public function replaceContentParent($content,$data,$MangerDetails,$passowrd,$squad,$Union){
		
		$content = str_replace("[Parent/Guardian Name and Surname]", $data["parent_FirstName"]." ".$data["parent_LastName"], $content);
                $content = str_replace("[Union]", $Union["un_name"], $content);
                $content = str_replace("[SquadName]", $squad["SquadName"], $content);
                $content = str_replace("[PlayerNameSurname]", $data["FirstName"]." ".$data["LastName"], $content);
                $content = str_replace("[PlayerName]", $data["FirstName"], $content);
                $content = str_replace("[TeamManagerName]", $MangerDetails["FirstName"]." ".$MangerDetails["LastName"], $content);
                
		$content = str_replace("[TeamManagerEmail]", $MangerDetails["Email"], $content);
                $content = str_replace("[TeamManagerMobile]", $MangerDetails["Mobile"], $content);
                
		$content = str_replace("[USERNAME]", $data["parent_Email"], $content);
		$content = str_replace("[PASSWORD]", $passowrd, $content);
		
		
		$content = str_replace("[DATETIME]", date("d/m/Y H:i:s"), $content);
		$content = str_replace("[DATE]", date("d/m/Y"), $content);
		
		
		
		return $content ;
	} 
        
       
        
    
     public function replaceContent($content,$data,$paasowrd){
		
		$content = str_replace("[FULLNAME]", $data["FirstName"]." ".$data["LastName"], $content);
		$content = str_replace("[FIRSTNAME]", $data["FirstName"], $content);
		$content = str_replace("[LASTNAME]", $data["LastName"], $content);
		$content = str_replace("[EMAIL]", $data["Email"], $content);
		$content = str_replace("[USERNAME]", $data["Email"], $content);
		$content = str_replace("[PASSWORD]", $paasowrd, $content);
		$content = str_replace("[ORGNAME]", $data["un_name"], $content);
		//$content = str_replace("[ORGPHONE]", $data["un_tel"], $content);
		//$content = str_replace("[ORGFAX]", $data["un_fax"], $content);
		//$content = str_replace("[ORGEMAIL]", $data["un_email"], $content);
		$content = str_replace("[DATETIME]", date("d/m/Y H:i:s"), $content);
		$content = str_replace("[DATE]", date("d/m/Y"), $content);
		
		
		
		return $content ;
	}
		 
		 
		 public function sendMail($Email,$fullname,$content)
    {
	
					
			
       
        
           $config = array('auth' => 'login',
                    'username' => 'support@footprintapp.net',
                    'password' => 'evolveav');
     
    $transport = new Zend_Mail_Transport_Smtp('mail.footprintapp.net', $config);
     
    $mail = new Zend_Mail();
    $mail->setBodyHtml($content);
    $mail->setFrom('support@footprintapp.net', 'Footprint');
    $mail->addTo($Email,$fullname);
    $mail->setSubject("Footprint Notification");
    $Model_EmailSent = new Model_EmailSent;
    if($mail->send($transport)){
        $data= array("UserID"=>$this->UserID,"FullName"=>$fullname,"Email"=>$Email,"Content"=>$content,"Date"=>date("Y-m-d H:i:s"),"Sent"=>1);
        $Model_EmailSent->insertData($data);
    }else{
        $data= array("UserID"=>$this->UserID,"FullName"=>$fullname,"Email"=>$Email,"Content"=>$content,"Date"=>date("Y-m-d H:i:s"),"Sent"=>0);
        $Model_EmailSent->insertData($data);
    }
    
   
                    
    }	
}