Current File : /home/inlingua/public_html/faridabad/icentex/leave_tracker/leaveleft_ajax.php |
<?php
session_start();
$notshowerror=1;
$leaveDaysAllow=24;
// Include the database connection details
require('../dbConnection.php');
// Include the table handler class
require('../dbHandler.class.php');
// Init and connect to database
$dbObject = new dbHandler();
$dbObject->connect();
$queryL="select leavedaysin20102011,leavedaysin20112012,leavedaysin20122013,leavedaysin20132014,leavedaysin20142015,leavedaysin20152016,leavedaysin20162017,leavedaysin20172018,leavedaysin20242025 from timesheet_user where recNo='".$_SESSION[id]."'";
$resultL=mysqli_query($conn,$queryL);
$numL=mysqli_fetch_array($resultL);
$leavedaysin20102011=$numL['leavedaysin20102011'];
$leavedaysin20112012=$numL['leavedaysin20112012'];
$leavedaysin20122013=$numL['leavedaysin20122013'];
$leavedaysin20132014=$numL['leavedaysin20132014'];
$leavedaysin20142015=$numL['leavedaysin20142015'];
$leavedaysin20152016=$numL['leavedaysin20152016'];
$leavedaysin20162017=$numL['leavedaysin20162017'];
$leavedaysin20172018=$numL['leavedaysin20172018'];
$leavedaysin20242025=$numL['leavedaysin20242025'];
$fromdate=$_GET['fromdate'];
$todate= $_GET['todate'];
$fromdate1=explode("-",$fromdate);
$todate1=explode("-",$todate);
$fM=$fromdate1[1];
$fY=$fromdate1[0];
$tM=$todate1[1];
$tY=$todate1[0];
$fromDate = $fromdate;
$toDate = $todate;
$dateMonthYearArr = array();
$fromDateTS = strtotime($fromDate);
$toDateTS = strtotime($toDate);
for ($currentDateTS = $fromDateTS; $currentDateTS <= $toDateTS; $currentDateTS += (60 * 60 * 24)) {
// use date() and $currentDateTS to format the dates in between
$currentDateStr = date("Y-m-d",$currentDateTS);
$dateMonthYearArr[] = $currentDateStr;
//print $currentDateStr.�<br />�;
}
//////////////check the leave date/if this date is already applied or not/////////////////////////////////////////////////
foreach($dateMonthYearArr as $val)
{
$str.="(fromDate<='".$val."' AND toDate>='".$val."') || ";
}
$str1=substr($str, 0, -4); ;
//echo "djdjjdjd \n";
$query="SELECT *
FROM `leaves`
WHERE (".$str1.") AND timesheet_user_id='".$_SESSION[id]."' AND ( status='waiting' OR status='approved')";
$result=mysqli_query($conn,$query);
$numcount=mysqli_num_rows($result);
if($numcount>0)
{
echo"You have already applied(either approved or waiting) leave on these dates ";
$notshowerror=0;
}
else
{
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////
////////////////////////////
if(in_array("".$fY."-03-31",$dateMonthYearArr) && in_array("".$tY."-04-01",$dateMonthYearArr))
{
$fYP=$fY-1;
$finYff="".$fYP."-04-01";
$finYft="".$fY."-03-31";
$fYN=$fY+1;
$finYsf="".$fY."-04-01";
$finYst="".$fYN."-03-31";
$fYPDateTS=strtotime($finYft);
$fypDateDiff=$fYPDateTS-$fromDateTS;
$fypNoofdays=$fypDateDiff/(60 * 60 * 24)+1;
$fyNnofodays=count($dateMonthYearArr)-$fypNoofdays;
}
else
{
$fyNnofodays=count($dateMonthYearArr);
if($fY==$tY)
{
if($fM >3)
{
$fYN=$fY+1;
$finYff="".$fY."-04-01";
$finYft="".$fYN."-03-31";
}
else
{
$fYN=$fY-1;
$finYff="".$fYN."-04-01";
$finYft="".$fY."-03-31";
}
}
else
{
$finYff="".$fY."-04-01";
$finYft="".$tY."-03-31";
}
}
if($finYff=="2010-04-01" && $finYft=="2011-03-31" && $finYsf=="" && $finYst=="")
{
$leaveDaysf=$leavedaysin20102011;
}
else if($finYff=="2010-04-01" && $finYft=="2011-03-31" && $finYsf=="2011-04-01" || $finYst=="2012-03-31")
{
$leaveDaysf=$leavedaysin20102011;
$leaveDayss=$leavedaysin20112012;
}
else if($finYff=="2011-04-01" && $finYft=="2012-03-31")
{
$leaveDaysf=$leavedaysin20112012;
$leaveDayss=$leavedaysin20122013;
}
else if($finYff=="2012-04-01" && $finYft=="2013-03-31")
{
$leaveDaysf=$leavedaysin20122013;
$leaveDayss=$leavedaysin20132014;
}
else if($finYff=="2013-04-01" && $finYft=="2014-03-31")
{
$leaveDaysf=$leavedaysin20132014;
$leaveDayss=$leavedaysin20142015;
}
else if($finYff=="2014-04-01" && $finYft=="2015-03-31")
{
$leaveDaysf=$leavedaysin20142015;
$leaveDayss=$leavedaysin20152016;
}
else if($finYff=="2015-04-01" && $finYft=="2016-03-31")
{
$leaveDaysf=$leavedaysin20152016;
$leaveDayss=$leavedaysin20162017;
}
else if($finYff=="2016-04-01" && $finYft=="2017-03-31")
{
$leaveDaysf=$leavedaysin20162017;
$leaveDayss=$leavedaysin20172018;
}
else if($finYff=="2017-04-01" && $finYft=="2018-03-31")
{
$leaveDaysf=$leavedaysin20172018;
$leaveDayss=$leaveDaysAllow;
}
else if($finYff=="2024-04-01" && $finYft=="2025-03-31")
{
$leaveDaysf=$leavedaysin20242025;
$leaveDayss=$leaveDaysAllow;
}
else
{
$leaveDaysf=$leaveDaysAllow;
$leaveDayss=$leaveDaysAllow;
}
if($finYsf=="" || $finYst=="")
{
$r=returnLeaveDays($finYff,$finYft);
$tot=count($r);
if($tot+$fyNnofodays>$leaveDaysf)
{
$left=$leaveDaysf-$tot;
//print_r($leaveDaysf);exit;
echo"You are applying for ".$fyNnofodays." days.You are left with ".$left." days of leave.You can maximum apply for ".$leaveDaysf." days leave in financial year(".$finYff." to ".$finYft.").\n Leaves Taken:".$tot." \n Leaves Available:".$left."";
$notshowerror=0;
}
}
else
{
$r=returnLeaveDays($finYff,$finYft);
$r1=returnLeaveDays($finYsf,$finYst);
$tot=count($r);
$tot1=count($r1);
if($tot+$fypNoofdays>$leaveDaysf)
{
$left=$leaveDaysf-$tot;
echo"You are applying for ".$fyNnofodays." days.You are left with ".$left." days of leave.You can maximum apply for ".$leaveDaysf." days leave in financial year(".$finYff." to ".$finYft.").\n Leaves Taken:".$tot." \n Leaves Available:".$left."";
$notshowerror=0;
}
else if($tot1+$fyNnofodays>$leaveDayss)
{
$left=$leaveDayss-$tot1;
echo"You are applying for ".$fyNnofodays." days.You are left with ".$left." days of leave.You can maximum apply for ".$leaveDayss." days leave in financial year(".$finYsf." to ".$finYst.").\n Leaves Taken:".$tot1." \n Leaves Available:".$left."";
$notshowerror=0;
}
}
//returnLeaveDays("".$fY."-03-31","".$tY."-04-01");
/*$fromD="2010-03-06";
$toDate="2010-04-01";
function odd($var)
{
$fromD=$fromD;
$toDate= $toDate;
// returns whether the input integer is odd
//return($var >"2010-03-06" && $var <"2010-04-01" );
return($var >$fromD && $var <$toDate);
}
function even($var)
{
// returns whether the input integer is even
return(!($var & 1));
}
$array1 = array("a"=>"2010-03-01", "b"=>"2010-03-06", "c"=>"2010-03-09", "d"=>"2010-03-10", "e"=>"2010-04-01");
echo "Odd :\n";
//print_r(array_filter($array1, function ($element) use ($my_value) { return ($element != $my_value); } ));
//$filtered_array = array_filter($array1, function ($element) use ($my_value) { return ($element != $my_value); } );
*/
}
if($notshowerror==1) echo $notshowerror;
function returnLeaveDays($fromD,$toD)
{
$query="SELECT *
FROM `leaves`
WHERE ((
`fromDate`
BETWEEN '".$fromD."'
AND '".$toD."'
) || ( `toDate`
BETWEEN '".$fromD."'
AND '".$toD."')) AND timesheet_user_id='".$_SESSION[id]."' AND status='approved' AND (
(
IsclassesSubstituted != 'No' || emergencyLeave!='Yes'
)
)
";
$result=mysqli_query($conn,$query);
$alldateArray = array();
while($num =mysqli_fetch_array($result))
{
$a1=$num['date_str'];
$a2=explode("#",$a1);
$alldateArray=array_merge($alldateArray,$a2);
//$alldateArray[]=
}
//print_r($alldateArray);
global $FROMDA;
global $TODA;
$FROMDA=$fromD;
$TODA=$toD;
return array_filter($alldateArray, "removeDates");
}
function removeDates($var)
{
global $FROMDA;
global $TODA;
// returns whether the input integer is odd
return($var >=$FROMDA && $var <=$TODA );
}
?>
<?php
//$array = array (1, 3, 3, 5, 6);
//$my_value = 3;
//$filtered_array = array_filter($array, function ($element) use ($my_value) { return ($element != $my_value); } );
//print_r($filtered_array);
?>