MMCT TEAM
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/cms.ncriptech.com/../websites/attendance.rmpharma.in/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/celkcksm/cms.ncriptech.com/../websites/attendance.rmpharma.in/json_attendance.php
<?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);
?>

MMCT - 2023