Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0750) : /home/celkcksm/demo.ncriptech.com/../websites/attendance.rmpharma.in/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php //0= ABSENT //1= PRESENT //2=WO //mis on the 0,1,2,3,4th position of the status.! include("include/config.inc.php"); $do=mysqli_real_escape_string($con,$_REQUEST['do']); switch($do){ case "LeaveDates": $start=mysqli_real_escape_string($con,$_REQUEST['start']); $end=mysqli_real_escape_string($con,$_REQUEST['end']); $html="Select Leave Days: [ WO: Weekly off , HD: Holiday ]<br>"; for($i=0;$change<$end;$i++){ $change=date("Y-m-d",strtotime($start." + $i day")); $day=date("D",strtotime($change)); $checked=""; $wo=""; $hd=""; if($day=="Sun") { $color="orange"; $checked="checked"; $wo="checked"; }else { $color="#b5c0f4"; $checked="disabled"; $hd="disabled"; } $html.="<div class='col-md-3' style='border:2px solid $color;border-radius:5px;'><label class='leaves_date_array_lbl' style='background-color: $color;padding:2px;border-radius:3px;'>".$change." <input type='checkbox' class='leaves_date_array' name='leaves[]' value='".$change."' $wo /></label>"; $html.="<label class='wo_lbl' style='background-color: $color;padding:2px;border-radius:3px;'>WO <input class='wo' type='checkbox' name='wo[]' value='wo' $checked /></label>"; $html.="<label class='hd_lbl' style='margin-right:10px;background-color: $color;padding:2px;border-radius:3px;'>HD <input class='hd' type='checkbox' name='hd[]' value='hd' $hd /></label>"; $html.="$day</div>"; } $response=$html; break; //combined attendance generation begin: case "Take": $response=array(); $start=mysqli_real_escape_string($con,$_REQUEST['start']); $end=mysqli_real_escape_string($con,$_REQUEST['end']); $leaves=json_decode($_REQUEST['leaves']); $wos=json_decode($_REQUEST['wos']); $percentage=mysqli_real_escape_string($con,$_REQUEST['percentage']); $alreadyQ=mysqli_query($con,"select date from attendance where date>='$start' AND date<='$end'"); $alreadyQ1=mysqli_query($con,"select date from t_attendance where date>='$start' AND date<='$end'"); $alreadyN=mysqli_num_rows($alreadyQ); $alreadyN1=mysqli_num_rows($alreadyQ); $already=array(); if($alreadyN>0||$alreadyN1>0){ $already[]="STUDENT:"; while($alreadyR=mysqli_fetch_array($alreadyQ)){ $already[]=$alreadyR['date']; } $already[]="TEACHER:"; while($alreadyR1=mysqli_fetch_array($alreadyQ1)){ $already[]=$alreadyR1['date']; } $response['status']=$already; }else{ $R=mysqli_fetch_array(mysqli_query($con,"select in_time,out_time from time order by id desc limit 1")); $s_t=date("H:i:s",strtotime($R['in_time']." -50 minutes")); $e_t=date("H:i:s",strtotime($R['out_time']." -15 minutes")); // $s_t=$R['in_time']; // $e_t=$R['out_time']; $time_arr=array(); for($i=0;$i<4800;$i++){ $time_arr[]=date("H:i:s",strtotime($s_t." +$i seconds")); } $time_arr1=array(); for($i=0;$i<2700;$i++){ $time_arr1[]=date("H:i:s",strtotime($e_t." +$i seconds")); } $data=array(); $t_data=array(); $totalattendance=0; $t_totalattendance=0; for($i=0;$change<$end;$i++){ $change=date("Y-m-d",strtotime($start." + $i day")); $q=mysqli_query($con,"select id,absent from register"); while($r=mysqli_fetch_array($q)){ if(in_array($change,$leaves)||$r['absent']==1){ $flag=0;if(!empty($wos)&&in_array($change,$leaves)) if($wos[array_search($change,$leaves)]=="wo"){ $flag=2; } $data[]=$change."_".$r['id']."_".$flag."_"; continue; } $data[]=$change."_".$r['id']."_"; $totalattendance++; } $t_q=mysqli_query($con,"select id,absent from teacher"); while($t_r=mysqli_fetch_array($t_q)){ if(in_array($change,$leaves)||$t_r['absent']==1){ $flag=0;if(!empty($wos)&&in_array($change,$leaves)) if($wos[array_search($change,$leaves)]=="wo"){ $flag=2; } $t_data[]=$change."_".$t_r['id']."_".$flag."_"; continue; } $t_data[]=$change."_".$t_r['id']."_"; $t_totalattendance++; } } $n=mysqli_num_rows(mysqli_query($con,"select id from register")); $t_n=mysqli_num_rows(mysqli_query($con,"select id from teacher")); $totaldays=$n*(dateDiff($start,$end)+1-count($leaves)); $t_totaldays=$t_n*(dateDiff($start,$end)+1-count($leaves)); $attendance=0; do{ $random=mt_rand(0,count($data)-1); if(explode("_",$data[$random])[2]=="0"||explode("_",$data[$random])[2]=="1"||in_array(explode("_",$data[$random])[0],$leaves)){ } else{ $data[$random].="1"; $attendance++; } }while(($attendance*(100/$totalattendance))<$percentage&&$attendance!=$totalattendance); $t_attendance=0; do{ $t_random=mt_rand(0,count($t_data)-1); if(explode("_",$t_data[$t_random])[2]=="0"||explode("_",$t_data[$t_random])[2]=="1"||in_array(explode("_",$t_data[$t_random])[0],$leaves)){ } else{ $t_data[$t_random].="1"; $t_attendance++; } }while(($t_attendance*(100/$t_totalattendance))<$percentage&&$t_attendance!=$t_totalattendance); //calculation over //insertion: for($i=0;$change1<$end;$i++){ $status=""; $change1=date("Y-m-d",strtotime($start." + $i day")); // if(in_array($change1,$leaves)){ continue; } for($j=0;$j<count($data);$j++){ $tarr=explode("_",$data[$j]); $hajri=$tarr[2]; if(empty($hajri)){ $hajri=0; } if($change1==$tarr[0]){ $status.=$tarr[1]."_".$hajri.","; } } mysqli_query($con,"insert into attendance (date,status) value ('$change1','$status')"); } for($i=0;$t_change1<$end;$i++){ $t_status=""; $t_change1=date("Y-m-d",strtotime($start." + $i day")); // if(in_array($t_change1,$leaves)){ continue; } for($j=0;$j<count($t_data);$j++){ $t_tarr=explode("_",$t_data[$j]); $t_hajri=$t_tarr[2]; if(empty($t_hajri)){ $t_hajri=0; } if($t_change1==$t_tarr[0]){ $t_status.=$t_tarr[1]."_".$t_hajri.","; } } mysqli_query($con,"insert into t_attendance (date,status) value ('$t_change1','$t_status')"); } //insertion over //time for($i=0;$changet<$end;$i++){ $changet=date("Y-m-d",strtotime($start." + $i day")); // if(in_array($changet,$leaves)){ continue; } $query=mysqli_query($con,"select * from attendance where date='$changet'"); while($row=mysqli_fetch_array($query)){ $person=explode(",",$row['status']); $time_attendance=0; for($j=0;$j<count($person);$j++){ if(explode("_",$person)[1]==1){ $time_attendance++; } $percen=$time_attendance*100/$attendance; if($percen<=30){ $random_t=mt_rand(0,1199); }else if($percen<=80){ $random_t=mt_rand(1800,2999); }else{ $random_t=mt_rand(3000,4799); } if($percen<=20){ $random_t1=mt_rand(0,899); }else{ $random_t1=mt_rand(900,2699); } $person[$j].="_".$time_arr[$random_t]; $person[$j].="_".$time_arr1[$random_t1]; } //mis calculation: $count=0; $totalcount=count($person); do{ $j=mt_rand(0,count($person)-1); if(explode("_",$person[$j])[1]==2){ break;} if(!explode("_",$person[$j])[1]==0){ $person[$j].="_mis"; $count++; } }while(($count*(100/$totalcount))<3); $final=implode(',',$person); mysqli_query($con,"update attendance set status='$final' where id='".$row['id']."'"); } } for($i=0;$t_changet<$end;$i++){ $t_changet=date("Y-m-d",strtotime($start." + $i day")); // if(in_array($t_changet,$leaves)){ continue; } $query=mysqli_query($con,"select * from t_attendance where date='$t_changet'"); while($row=mysqli_fetch_array($query)){ $t_person=explode(",",$row['status']); $time_attendance=0; for($j=0;$j<count($t_person);$j++){ if(explode("_",$t_person)[1]==1){ $time_attendance++; } $percen=$time_attendance*100/$attendance; if($percen<=30){ $random_t=mt_rand(0,1199); }else if($percen<=80){ $random_t=mt_rand(1800,2999); }else{ $random_t=mt_rand(3000,4799); } if($percen<=20){ $random_t1=mt_rand(0,899); }else{ $random_t1=mt_rand(900,2699); } $t_person[$j].="_".$time_arr[$random_t]; $t_person[$j].="_".$time_arr1[$random_t1]; } //mis calculation: $count=0; $totalcount=count($t_person); do{ $j=mt_rand(0,count($t_person)-1); if(explode("_",$t_person[$j])[1]==2){ break;} if(!explode("_",$t_person[$j])[1]==0){ $t_person[$j].="_mis"; $count++; } }while(($count*(100/$totalcount))<3); $final=implode(',',$t_person); mysqli_query($con,"update t_attendance set status='$final' where id='".$row['id']."'"); } } //time END $response['status']=1; mysqli_query($con,"insert into generation (start,end,type) values ('$start','$end','combined')"); } break; //student attendance generation begin: case "TakeStudent": $response=array(); $start=mysqli_real_escape_string($con,$_REQUEST['start']); $end=mysqli_real_escape_string($con,$_REQUEST['end']); $leaves=json_decode($_REQUEST['leaves']); $wos=json_decode($_REQUEST['wos']); $percentage=mysqli_real_escape_string($con,$_REQUEST['percentage']); $alreadyQ=mysqli_query($con,"select date from attendance where date>='$start' AND date<='$end'"); $alreadyN=mysqli_num_rows($alreadyQ); $already=array(); if($alreadyN>0){ while($alreadyR=mysqli_fetch_array($alreadyQ)){ $already[]=$alreadyR['date']; } $response['status']=$already; }else{ $R=mysqli_fetch_array(mysqli_query($con,"select in_time,out_time from time order by id desc limit 1")); $s_t=date("H:i:s",strtotime($R['in_time']." -50 minutes")); $e_t=date("H:i:s",strtotime($R['out_time']." -15 minutes")); // $s_t=$R['in_time']; // $e_t=$R['out_time']; $time_arr=array(); for($i=0;$i<4800;$i++){ $time_arr[]=date("H:i:s",strtotime($s_t." +$i seconds")); } $time_arr1=array(); for($i=0;$i<2700;$i++){ $time_arr1[]=date("H:i:s",strtotime($e_t." +$i seconds")); } $data=array(); $totalattendance=0; for($i=0;$change<$end;$i++){ $change=date("Y-m-d",strtotime($start." + $i day")); $q=mysqli_query($con,"select id,absent from register"); while($r=mysqli_fetch_array($q)){ if(in_array($change,$leaves)||$r['absent']==1){ $flag=0;if(!empty($wos)&&in_array($change,$leaves)) if($wos[array_search($change,$leaves)]=="wo"){ $flag=2; } $data[]=$change."_".$r['id']."_".$flag."_"; continue; } $data[]=$change."_".$r['id']."_"; $totalattendance++; } } $n=mysqli_num_rows(mysqli_query($con,"select id from register")); $totaldays=$n*(dateDiff($start,$end)+1-count($leaves)); $attendance=0; do{ $random=mt_rand(0,count($data)-1); if(explode("_",$data[$random])[2]=="0"||explode("_",$data[$random])[2]=="1"||in_array(explode("_",$data[$random])[0],$leaves)){ } else{ $data[$random].="1"; $attendance++; } }while(($attendance*(100/$totalattendance))<$percentage&&$attendance!=$totalattendance); // //calculation over // //insertion: for($i=0;$change1<$end;$i++){ $status=""; $change1=date("Y-m-d",strtotime($start." + $i day")); // if(in_array($change1,$leaves)){ continue; } for($j=0;$j<count($data);$j++){ $tarr=explode("_",$data[$j]); $hajri=$tarr[2]; if(empty($hajri)){ $hajri=0; } if($change1==$tarr[0]){ $status.=$tarr[1]."_".$hajri.","; } } mysqli_query($con,"insert into attendance (date,status) value ('$change1','$status')"); } //insertion over //time for($i=0;$changet<$end;$i++){ $changet=date("Y-m-d",strtotime($start." + $i day")); // if(in_array($changet,$leaves)){ continue; } $query=mysqli_query($con,"select * from attendance where date='$changet'"); while($row=mysqli_fetch_array($query)){ $person=explode(",",$row['status']); $time_attendance=0; for($j=0;$j<count($person);$j++){ if(explode("_",$person)[1]==1){ $time_attendance++; } $percen=$time_attendance*100/$attendance; if($percen<=30){ $random_t=mt_rand(0,1199); }else if($percen<=80){ $random_t=mt_rand(1800,2999); }else{ $random_t=mt_rand(3000,4799); } if($percen<=20){ $random_t1=mt_rand(0,899); }else{ $random_t1=mt_rand(900,2699); } $person[$j].="_".$time_arr[$random_t]; $person[$j].="_".$time_arr1[$random_t1]; } //mis calculation: $count=0; $totalcount=count($person); do{ $j=mt_rand(0,count($person)-1); if(explode("_",$person[$j])[1]==2){ break;} if(!explode("_",$person[$j])[1]==0){ $person[$j].="_mis"; $count++; } }while(($count*(100/$totalcount))<3); $final=implode(',',$person); mysqli_query($con,"update attendance set status='$final' where id='".$row['id']."'"); } } //time END $response['status']=1; mysqli_query($con,"insert into generation (start,end,type) values ('$start','$end','student')"); } break; //teacher attendance generation begin: case "TakeTeacher": $response=array(); $start=mysqli_real_escape_string($con,$_REQUEST['start']); $end=mysqli_real_escape_string($con,$_REQUEST['end']); $leaves=json_decode($_REQUEST['leaves']); $wos=json_decode($_REQUEST['wos']); $percentage=mysqli_real_escape_string($con,$_REQUEST['percentage']); $alreadyQ=mysqli_query($con,"select date from t_attendance where date>='$start' AND date<='$end'"); $alreadyN=mysqli_num_rows($alreadyQ); $already=array(); if($alreadyN>0){ while($alreadyR=mysqli_fetch_array($alreadyQ)){ $already[]=$alreadyR['date']; } $response['status']=$already; }else{ $R=mysqli_fetch_array(mysqli_query($con,"select in_time,out_time from time order by id desc limit 1")); $s_t=date("H:i:s",strtotime($R['in_time']." -50 minutes")); $e_t=date("H:i:s",strtotime($R['out_time']." -15 minutes")); // $s_t=$R['in_time']; // $e_t=$R['out_time']; $time_arr=array(); for($i=0;$i<4800;$i++){ $time_arr[]=date("H:i:s",strtotime($s_t." +$i seconds")); } $time_arr1=array(); for($i=0;$i<2700;$i++){ $time_arr1[]=date("H:i:s",strtotime($e_t." +$i seconds")); } $data=array(); $t_totalattendance=0; for($i=0;$change<$end;$i++){ $change=date("Y-m-d",strtotime($start." + $i day")); $t_q=mysqli_query($con,"select id,absent from teacher"); while($t_r=mysqli_fetch_array($t_q)){ if(in_array($change,$leaves)||$t_r['absent']==1){ $flag=0;if(!empty($wos)&&in_array($change,$leaves)) if($wos[array_search($change,$leaves)]=="wo"){ $flag=2; } $t_data[]=$change."_".$t_r['id']."_".$flag."_"; continue; } $t_data[]=$change."_".$t_r['id']."_"; $t_totalattendance++; } } $t_n=mysqli_num_rows(mysqli_query($con,"select id from teacher")); $t_totaldays=$t_n*(dateDiff($start,$end)+1-count($leaves)); $t_attendance=0; do{ $t_random=mt_rand(0,count($t_data)-1); if(explode("_",$t_data[$t_random])[2]=="0"||explode("_",$t_data[$t_random])[2]=="1"||in_array(explode("_",$t_data[$t_random])[0],$leaves)){ } else{ $t_data[$t_random].="1"; $t_attendance++; } }while(($t_attendance*(100/$t_totalattendance))<$percentage&&$t_attendance!=$t_totalattendance); //calculation over //insertion: for($i=0;$t_change1<$end;$i++){ $t_status=""; $t_change1=date("Y-m-d",strtotime($start." + $i day")); // if(in_array($t_change1,$leaves)){ continue; } for($j=0;$j<count($t_data);$j++){ $t_tarr=explode("_",$t_data[$j]); $t_hajri=$t_tarr[2]; if(empty($t_hajri)){ $t_hajri=0; } if($t_change1==$t_tarr[0]){ $t_status.=$t_tarr[1]."_".$t_hajri.","; } } mysqli_query($con,"insert into t_attendance (date,status) value ('$t_change1','$t_status')"); } //insertion over //time for($i=0;$t_changet<$end;$i++){ $t_changet=date("Y-m-d",strtotime($start." + $i day")); // if(in_array($t_changet,$leaves)){ continue; } $query=mysqli_query($con,"select * from t_attendance where date='$t_changet'"); while($row=mysqli_fetch_array($query)){ $t_person=explode(",",$row['status']); $time_attendance=0; for($j=0;$j<count($t_person);$j++){ if(explode("_",$t_person)[1]==1){ $time_attendance++; } $percen=$time_attendance*100/$attendance; if($percen<=30){ $random_t=mt_rand(0,1199); }else if($percen<=80){ $random_t=mt_rand(1800,2999); }else{ $random_t=mt_rand(3000,4799); } if($percen<=20){ $random_t1=mt_rand(0,899); }else{ $random_t1=mt_rand(900,2699); } $t_person[$j].="_".$time_arr[$random_t]; $t_person[$j].="_".$time_arr1[$random_t1]; } //mis calculation: $count=0; $totalcount=count($t_person); do{ $j=mt_rand(0,count($t_person)-1); if(explode("_",$t_person[$j])[1]==2){ break;} if(!explode("_",$t_person[$j])[1]==0){ $t_person[$j].="_mis"; $count++; } }while(($count*(100/$totalcount))<3); $final=implode(',',$t_person); mysqli_query($con,"update t_attendance set status='$final' where id='".$row['id']."'"); } } //time END $response['status']=1; mysqli_query($con,"insert into generation (start,end,type) values ('$start','$end','teacher')"); } break; case "View": $date=mysqli_real_escape_string($con,$_REQUEST['date']); $q=mysqli_query($con,"select status from attendance where date='$date'"); $r=mysqli_fetch_array($q); $attendance=explode(",",$r['status']); $response=""; for($i=0;$i<count($attendance)-1;$i++){ if(explode("_",$attendance[$i])[1]==0){ $status="Absent"; }else if(explode("_",$attendance[$i])[1]==1){ $status="Present"; }else{ $status="Leave"; } $studentR=mysqli_fetch_array(mysqli_query($con,"select student_name,registration_no from register where id=".explode("_",$attendance[$i])[0])); $response.="<tr> <td>".$studentR['registration_no']."</td> <td>".$studentR['student_name']."</td> <td>".$status."</td> <td>".explode("_",$attendance[$i])[2]."</td> <td>".explode("_",$attendance[$i])[3]."</td> </tr>"; } break; } function dateDiff($date1, $date2) { $date1_ts = strtotime($date1); $date2_ts = strtotime($date2); $diff = $date2_ts - $date1_ts; return round($diff / 86400); } function change($time,$x){ return date("H:i:s",strtotime($time." $x seconds")); } echo json_encode($response); ?>