<?php

class PG_Controller_Plugin_MatchReport
extends Zend_Controller_Plugin_Abstract
{ 
   
  
     
	public function getPerformance($report1,$report2,$obj){
		
	//GET TRIES
							$Score1 = (array) json_decode($report1);
						
							$tries1 = 0;
							if(count($Score1)>0){
								foreach($Score1 as $Sc){
						
								if($Sc->$obj>0){
									$tries1 = ($tries1 + $Sc->$obj);
								}
								
								}
							}
							
							$Score2 = (array) json_decode($report2);
						
							$tries2 = 0;
							if(count($Score2)>0){
							foreach($Score2 as $Sc){
						
								if($Sc->$obj>0){
									$tries2 = ($tries2 + $Sc->$obj);
								}
								
							}
							}
							
							
							return ($tries2+$tries1) ;
	
	
}
	
	public function getSubstitutions($report1,$report2){
		
	//GET TRIES
							$Substitute1 = (array) json_decode($report1);
						
							$sub1 = 0;
							if(count($Substitute1)>0){
								foreach($Substitute1 as $Sc){
						
								if($Sc->PlayerOff>0 && $Sc->PlayerOn>0){
									$sub1 = ($sub1 + 1);
								}
								
								}
							}
							
							$Substitute2 = (array) json_decode($report2);
						
							$sub2 = 0;
							if(count($Substitute2)>0){
							foreach($Substitute2 as $Sc){
						
								if($Sc->PlayerOff>0 && $Sc->PlayerOn>0){
									$sub2 = ($sub2 + 1);
								}
								
							}
							}
							
							
							return ($sub2+$sub1) ;
	
	
}



	
	
	public function getSquadPoints($tid){
		
		$DATAARRAY = array();
		
		$TournamentDB = new Model_Tournament;
		$Tourn = $TournamentDB->fetchRow("TID ='".$tid."'");
		
		$SquadsDB = new Model_Squad;
		$Squads = $SquadsDB->fetchAll("TournamentID ='".$tid."'");
		$DATAARRAY = null;
		$i = 0;
		
		if(count($Squads)>0){
		foreach ($Squads as $Squad) {
			
		$DATAARRAY["Squads"][$Squad["SID"]]["Name"]=$Squad["ShortName"];
		$DATAARRAY["Squads"][$Squad["SID"]]["SID"]=$Squad["SID"];
		$DATAARRAY["Squads"][$Squad["SID"]]["WON"]=0;
		
		
			$fixturesDB = new Model_Fixture;
			$fixtures = $fixturesDB->fetchAll("TID ='".$tid."' AND  HomeTeam='".$Squad["SID"]."' OR  AwayTeam='".$Squad["SID"]."' AND closed =1");
			$f =0;
			if(count($fixtures)>0){
			foreach ($fixtures as $fixture) {
			$mactDB = new Model_MatchReport;
			if($fixture["HomeTeam"]==$Squad["SID"]){
				$rep = $mactDB->fetchRow("FID ='".$fixture["FID"]."' AND SID ='".$fixture["AwayTeam"]."'");
			}else{
			$rep = $mactDB->fetchRow("FID ='".$fixture["FID"]."' AND SID ='".$fixture["HomeTeam"]."'");
			}
				
				$Otherscores = json_decode($rep["Score"],true);
				$OtherTotalPoints =0;
				$MTotalPoints = 0;
				if(count($Otherscores)>0){
					foreach ($Otherscores as $Otherscore) {
					 
					$OTotalPoints = ($Otherscore["tries"]*$Tourn["Tries"])+($Otherscore["Conversions"]*$Otherscore["Conversion"])+($Otherscore["Penalties"]*$Tourn["Penalties"])+($Otherscore["DropGoals"]*$Tourn["Dropgoal"]);
					$OtherTotalPoints = $OtherTotalPoints+$OTotalPoints;
					//$DATAARRAY["Squads"][$i]["tries"]= $DATAARRAY["Squads"][$i]["tries"]+$score["tries"];
				}
				}
				
				
				
				
				
				$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["FID"]=$fixture["FID"];
				$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["TRIES"]=0;
				$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["CONVERTIONS"]=0;
				$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["PENALTIES"]=0;
				$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["DROPGOALS"]=0;
				$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["SCORE"]=0;
				
				
				$report1 = $mactDB->fetchRow("FID ='".$fixture["FID"]."' AND SID ='".$fixture["HomeTeam"]."' ");
				
				$scores = json_decode($report1["Score"],true);
				if($fixture["closed"]==1){
				if(count($scores)>0){
					foreach ($scores as $score) {
					$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["TRIES"]=$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["TRIES"]+$score["tries"];
					$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["CONVERTIONS"]=$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["CONVERTIONS"]+$score["Conversions"];
					$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["PENALTIES"]=$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["PENALTIES"]+$score["Penalties"];
					$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["DROPGOALS"]=$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["DROPGOALS"]+$score["DropGoals"];
					
					//SCORE 
					$TotalPoints = ($score["tries"]*$Tourn["Tries"])+($score["Conversions"]*$Tourn["Conversion"])+($score["Penalties"]*$Tourn["Penalties"])+($score["DropGoals"]*$Tourn["Dropgoal"]);
					
					$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["SCORE"]=$DATAARRAY["Squads"][$Squad["SID"]]["Fixtures"][$fixture["FID"]]["SCORE"]+$TotalPoints;
					
					$MTotalPoints = $MTotalPoints+$TotalPoints;
				
					//$DATAARRAY["Squads"][$i]["tries"]= $DATAARRAY["Squads"][$i]["tries"]+$score["tries"];
				}
				}
				
				if($MTotalPoints > $OtherTotalPoints){
					$DATAARRAY["Squads"][$Squad["SID"]]["WON"]++;
				}
				
				if($MTotalPoints < $OtherTotalPoints){
					$DATAARRAY["Squads"][$Squad["SID"]]["LOST"]++;
				}
				
				if($MTotalPoints == $OtherTotalPoints && $OtherTotalPoints >0){
					$DATAARRAY["Squads"][$Squad["SID"]]["DROWN"]++;
				}
				
				
				//print_r($score);
			
				
					$DATAARRAY["Squads"][$Squad["SID"]]["PLAYED"]=$DATAARRAY["Squads"][$Squad["SID"]]["PLAYED"]+1;
				}
					$f++;
			}

			}
			
			$i++;
		}
		}
		
	return $DATAARRAY;
	
	
	}


public function getTournamentPoints($tid){
	$Array = $this->getSquadPoints($tid);
	$squadArray = array();
	if(count($Array["Squads"])>0){
	foreach ($Array["Squads"] as $squad) {
		$squadArray[$squad["SID"]]["Name"]= $squad["Name"];
		$squadArray[$squad["SID"]]["SID"]= $squad["SID"];
		
			$squadArray[$squad["SID"]]["TRIES"]= 0;
			$squadArray[$squad["SID"]]["CONVERTIONS"]= 0;
			$squadArray[$squad["SID"]]["PENALTIES"]= 0;
			$squadArray[$squad["SID"]]["DROPGOALS"]= 0;
			$squadArray[$squad["SID"]]["SCORE"]= 0;
			
	
			if(isset($squad["Fixtures"])){
				
			//print_r($squad["Fixtures"]);
			$TRIES 				=0;
			$CONVERTIONS 	=0;
			$PENALTIES 		=0;
			$DROPGOALS		=0;
			$SCORE				=0;
			$PLAYED				=0;

		foreach ($squad["Fixtures"] as $fixture) {
			
			$TRIES 				=$TRIES+$fixture["TRIES"];
			$CONVERTIONS 	=$CONVERTIONS+$fixture["CONVERTIONS"];
			$PENALTIES 		=$PENALTIES+$fixture["PENALTIES"];
			$DROPGOALS		=$DROPGOALS+$fixture["DROPGOALS"];
			$SCORE				=$SCORE+$fixture["SCORE"];
		}
		
		
		$squadArray[$squad["SID"]]["TRIES"] = $TRIES;
		$squadArray[$squad["SID"]]["CONVERTIONS"] = $CONVERTIONS;
		$squadArray[$squad["SID"]]["PENALTIES"] = $PENALTIES;
		$squadArray[$squad["SID"]]["DROPGOALS"] = $DROPGOALS;
		$squadArray[$squad["SID"]]["SCORE"] = $SCORE;
		$squadArray[$squad["SID"]]["PLAYED"]= !empty($squad["PLAYED"]) ? $squad["PLAYED"] :0;;
		$squadArray[$squad["SID"]]["WON"]= !empty($squad["WON"]) ? $squad["WON"] :0;;
		$squadArray[$squad["SID"]]["LOST"]= !empty($squad["LOST"]) ? $squad["LOST"] :0;;
		$squadArray[$squad["SID"]]["DROWN"]= !empty($squad["DROWN"]) ? $squad["DROWN"] :0;
		
		
		}
	}
	}
	
	return $squadArray;
	
}

	public function singleSquadPoints($fid,$sid){
		
			$mactDB = new Model_MatchReport;
			$rep = $mactDB->fetchRow("FID ='".$fid."' AND SID ='".$sid."'");
			if(isset($rep)){
				
				$Data = $rep->toArray();
				$Score = json_decode($Data["Score"],true);
				$Data["Score"] =$Score;
				$Data["Scores"]["tries"] =$Data["PenaltyTries"];
				$Data["Scores"]["Conversions"] =0;
				$Data["Scores"]["Penalties"] =0;
				$Data["Scores"]["DropGoals"] =0;
				if(count($Score)>0){
				foreach ($Data["Score"] as $score) {
					$Data["Scores"]["tries"] 				= 	$Data["Scores"]["tries"]+$score["tries"];
					$Data["Scores"]["Conversions"] 	=  	$Data["Scores"]["Conversions"]+$score["Conversions"];
					$Data["Scores"]["Penalties"] 		=  	$Data["Scores"]["Penalties"]+$score["Penalties"];
					$Data["Scores"]["DropGoals"] 		=  	$Data["Scores"]["DropGoals"]+$score["DropGoals"];
				}
				}
				$Substitutions = json_decode($Data["Substitutions"],true);
				if(count($Substitutions)>0){
				$Data["Substitutions"] =$Substitutions;
				}
				
				$BloodBinSubstitutions = json_decode($Data["BloodBinSubstitutions"],true);
				if(count($BloodBinSubstitutions)>0){
				$Data["BloodBinSubstitutions"] =$BloodBinSubstitutions;
				}
				
				$Medical = json_decode($Data["Medical"],true);
				$Data["Medical"] =$Medical;
				
				return $Data;
				
			}
			
			
		
	}
	
		public function getFixtureScore($fid){
		
			$mactDB = new Model_MatchReport;
			$reps = $mactDB->fetchAll("FID ='".$fid."' ");
			$i =0;
			$DataResponse = array();
			if(count($reps->toArray())>0){
				foreach($reps->toArray() as $Data){
				$Scores = json_decode(@$Data["Score"],true);
				$DataResponse[$i]["MID"] =$Data["MID"];
				$DataResponse[$i]["FID"] =$Data["MID"];
				$DataResponse[$i]["SID"] =$Data["MID"];
				$DataResponse[$i]["HHS"] =$Data["MID"];
				$DataResponse[$i]["HFS"] =$Data["MID"];
				$DataResponse[$i]["Scores"]["tries"] =0;
				$DataResponse[$i]["Scores"]["Conversions"] =0;
				$DataResponse[$i]["Scores"]["Penalties"] =0;
				$DataResponse[$i]["Scores"]["DropGoals"] =0;
				if(count($Scores)>0){
				foreach ($Scores as $score) {
					$DataResponse[$i]["Scores"]["tries"] 				= 	$DataResponse[$i]["Scores"]["tries"]+$score["tries"];
					$DataResponse[$i]["Scores"]["Conversions"] 	=  	$DataResponse[$i]["Scores"]["Conversions"]+$score["Conversions"];
					$DataResponse[$i]["Scores"]["Penalties"] 		=  	$DataResponse[$i]["Scores"]["Penalties"]+$score["Penalties"];
					$DataResponse[$i]["Scores"]["DropGoals"] 		=  	$DataResponse[$i]["Scores"]["DropGoals"]+$score["DropGoals"];
				}
				}
				$Substitutions = json_decode($Data["Substitutions"],true);
				if(count($Substitutions)>0){
				$DataResponse[$i]["Substitutions"] =$Substitutions;
				}
				
				$BloodBinSubstitutions = json_decode($Data["BloodBinSubstitutions"],true);
				if(count($BloodBinSubstitutions)>0){
				$DataResponse[$i]["BloodBinSubstitutions"] =$BloodBinSubstitutions;
				}
				
				$Medical = json_decode($Data["Medical"],true);
				$DataResponse[$i]["Medical"] =$Medical;
				$i++;
				}
				return $DataResponse;
				
			}
			
			
		
	}


	
}