0xV3NOMx
Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64



Your IP : 18.116.118.214


Current Path : /proc/thread-self/root/var/www/html/admission/src/
Upload File :
Current File : //proc/thread-self/root/var/www/html/admission/src/examattendanceunivadmin.php

<?php
$main_src=substr($_SERVER['SCRIPT_FILENAME'],0,strlen($_SERVER['SCRIPT_FILENAME'])-7);
//$pdf_writer_class =$main_src."/tarka_pdf/fpdf.php";
$pdf_writer_class =$main_src."/tcpdf/tcpdf.php";
require_once($pdf_writer_class);
// ini_set('memory_limit','900M');
// ini_set('max_execution_time',0);

class MYPDF extends TCPDF {
    public $aobj_context;
     
    public function setData($aobj_context,$sessionfull){
        $this->aobj_context = $aobj_context;
        $this->doe = $aobj_context->mobj_data["doe"];
        $this->sessionfull = $sessionfull;
        $this->reportType = $aobj_context->mobj_data["reportType"];
        $this->qprngfrom = $aobj_context->mobj_data["qprngfrom"];
        $this->qprngto = $aobj_context->mobj_data["qprngto"];
        $fdeggrp = $aobj_context->mobj_data["dgp"];
    }
    public function Header(){
        // get the current page break margin
        $bMargin = $this->getBreakMargin();
        // get current auto-page-break mode
        $auto_page_break = $this->AutoPageBreak;
        // disable auto-page-break
        $this->SetAutoPageBreak(false, 0);
        // set bacground image
        // $Degree = $aobj_context->mobj_data["deggrp"];

        // $this->SetMargins(6,30,5,true);	
		$this->SetFillColor(248, 248 ,255);		
		$img_path = $this->aobj_context->main_src."/img/logo.jpg";
		
		if(file_exists($img_path)) 
			$this->Image($img_path,6,6,20,20);
		
		$this->SetFont('Times','B',13);
		$this->SetY(5);
		$this->Cell(0,4,$this->aobj_context->FUNIVNAME,0,1,'C');
		//state
		$this->SetFont('Times','',11);
		$this->Cell(0,4,$this->aobj_context->s_state,0,1,'C');
				 
		$this->SetFont('Times','BU',12);
		$this->Ln(1);
		       
		$cur_year = date("Y");
        $this->Cell(0,5,' Exam Attendance List - '.$this->reportType,'0',1,'C');
        $this->SetFont('Times','',12);

        $this->Cell(0,6," Date Of Exam : ".$this->doe,"0",1,"C");

        $this->Cell(0,6,"Exam Session : ".$this->sessionfull, "0",1,"C");

        $this->Cell(0,6," QPcode Range : ".$this->qprngfrom." - ".$this->qprngto,"0",0,"C");

        // restore auto-page-break status
        $this->SetAutoPageBreak($auto_page_break, $bMargin);
        // set the starting point for the page content    
    }

    public function Footer() 
    {
        $this->SetY(-15);
        $this->SetFont('helvetica', 'I', 8);
        $this->Cell(90, 10,'IP : '.$_SERVER["REMOTE_ADDR"], 0, 0, 'L');
        $this->Cell(100, 10,'Date : '.date("d-m-Y "), 0, 0, 'C');

        $this->Cell(90, 10,'Page ' .$this->getPageNumGroupAlias().'/'.$this->getPageGroupAlias(), 0, 1, 'R');
    }
}


class ExamAttendance {

    function DefaultConstructor($aobj_context,$qprngfrom,$qprngto,$doe,$sessionfull,$reportType)
	{
		$this->aobj_context=$aobj_context;
        $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);

		$this->ip=$_SERVER["REMOTE_ADDR"];
		$get_date="select DATE_FORMAT(now(), '%d/%m/%Y') as now_date";
		$obj=$this->aobj_context->mobj_db->GetRow($get_date);
        $db = $this->db;
        $this->reportType =  $reportType;

        $get_coll_name="select FUNIVNAME as 'FUNIVNAME',FUNIVCODE,
		FUNIVADD1 as 'state', pdf_logo_path,
		ifnull(FEXAMAPPREQ,'F') as FEXAMAPPREQ From {$db}.control";
		$lobj_get_coll_name=$this->aobj_context->mobj_db->GetRow($get_coll_name);
// var_dump($get_coll_name);
		$aobj_context->FUNIVNAME=$lobj_get_coll_name['FUNIVNAME'];
		$aobj_context->s_state=$lobj_get_coll_name['state'];
		$aobj_context->pdf_logo_path=$lobj_get_coll_name['pdf_logo_path'];
		$aobj_context->FUNIVCODE=$lobj_get_coll_name['FUNIVCODE']; 

		$this->current_date = $obj['now_date'];
 
		$this->pdf= new MYPDF('L');
        $this->pdf->setData($aobj_context,$sessionfull);
    }
    
    function tableHeader($pdf)
    {

        $pdf->SetFont('Times','B',10);
        
        if($this->reportType == 'Center Wise'){

            $pdf->Cell(8,6,"Sl.","LRT",0,"C");
            $pdf->Cell(11,6,"Center","LRT",0,"C");
            $pdf->Cell(79,6,"Center","LRT",0,"C");
            $pdf->Cell(31,6,"Town","LRT",0,"C");
            $pdf->Cell(13,6,"QP","LRT",0,"C");
            $pdf->Cell(79,6,"Subject","LRT",0,"C");
            $pdf->Cell(12,6,"Total","LRT",0,"C");
            $pdf->Cell(12,6,"Absent","LRT",0,"C");
            $pdf->Cell(15,6,"Malpract.","LRT",0,"C");
            $pdf->Cell(12,6,"Present","LRT",1,"C");        

            $pdf->Cell(8,6,"No","LRB",0,"C");
            $pdf->Cell(11,6,"Code","LRB",0,"C"); //w h txt brd pos align
            $pdf->Cell(79,6,"Name","LBR",0,"C");
            $pdf->Cell(31,6,"","LBR",0,"C");
            $pdf->Cell(13,6,"Code","LBR",0,"C");
            $pdf->Cell(79,6,"","LBR",0,"L");
            $pdf->Cell(12,6,"Count","LBR",0,"C");
            $pdf->Cell(12,6,"Count","LBR",0,"C");
            $pdf->Cell(15,6,"Count","LBR",0,"C");
            $pdf->Cell(12,6,"Count","LBR",1,"C");
            $pdf->SetFont('Times','',10);
        }
        if($this->reportType == 'QPCode wise'){
            
            $pdf->Cell(8,6,"Sl.","LRT",0,"C");
            $pdf->Cell(13,6,"QP","LRT",0,"C");
            $pdf->Cell(79,6,"Subject","LRT",0,"C");

            $pdf->Cell(11,6,"Center","LRT",0,"C");
            $pdf->Cell(79,6,"Center","LRT",0,"C");
            $pdf->Cell(31,6,"Town","LRT",0,"C");

            $pdf->Cell(12,6,"Total","LRT",0,"C");
            $pdf->Cell(12,6,"Absent","LRT",0,"C");
            $pdf->Cell(15,6,"Malpract.","LRT",0,"C");
            $pdf->Cell(12,6,"Present","LRT",1,"C");        

            $pdf->Cell(8,6,"No","LRB",0,"C");
            $pdf->Cell(13,6,"Code","LBR",0,"C");
            $pdf->Cell(79,6,"","LBR",0,"L");

            $pdf->Cell(11,6,"Code","LRB",0,"C"); //w h txt brd pos align
            $pdf->Cell(79,6,"Name","LBR",0,"C");
            $pdf->Cell(31,6,"","LBR",0,"C");


            $pdf->Cell(12,6,"Count","LBR",0,"C");
            $pdf->Cell(12,6,"Count","LBR",0,"C");
            $pdf->Cell(15,6,"Count","LBR",0,"C");
            $pdf->Cell(12,6,"Count","LBR",1,"C");
            $pdf->SetFont('Times','',10);
        }
    }
	
	function writeReport($exattendancelist)
	{
		$pdf=$this->pdf;

		$pdf->SetMargins(6,42);
		$pdf->startPageGroup();
		$pdf->AddPage("L");

		$pdf->SetFont('Times','',10);

        $this->tableHeader($pdf);
        $oldCode= "";
        $newCode = "";
        foreach ($exattendancelist as $key => $value) {
            
            // $sl_no++;
           // var_dump($this->reportType);
            $landline = 0;
            $colname1 = strtolower(substr($value['fcollname'],0,42));
            $colname2 = strtolower(substr($value['fcollname'],42));

            $town1 = substr($value['ftown'],0,17);
            $town2 = substr($value['ftown'],17);

            $sub1 = substr($value['fsubname'],0,50);
            $sub2 = substr($value['fsubname'],50);

            if($this->reportType == 'Center Wise'){
                $newCode = $value['fcntrcode'];

                if($newCode != $oldCode)
                {
                    $sl_no++;
                    $pdf->Cell(8,6,$sl_no,"LRT",0);
                    $pdf->cell(11,6,$value['fcntrcode'],"LRT",0,"C");
                    $pdf->cell(79,6,ucwords($colname1),"LRT",0,"L");
                    $pdf->cell(31,6,$town1,"LRT",0,"L");                   
    
                }else
                {
                    $pdf->Cell(8,6,"","LR",0);
                    $pdf->cell(11,6,"","LR",0,"C");
                    $pdf->cell(79,6,"","LR",0,"L");
                    $pdf->cell(31,6,"","LR",0,"L");
                }    
                
                if($colname2 || $town2 || $sub2){

                    $pdf->cell(13,6,$value['fqpcode'],"LRT",0,"L");
                    $pdf->cell(79,6,$sub1,"LRT",0,"L");
                    $pdf->cell(12,6,$value['tcount'],"LRT",0,"R");
                    $pdf->cell(12,6,$value['abcount'],"LRT",0,"R");
                    $pdf->cell(15,6,$value['mpcount'],"LRT",0,"R");
                    $pdf->cell(12,6,$value['prcount'],"LRT",1,"R");
                    if($pdf->getY() > 182){   
                        $this->tableHeader($pdf);
                    }
                    if($colname2){

                        if($newCode != $oldCode){
                            $pdf->Cell(8,6,"","LR",0);
                            $pdf->cell(11,6,"","LR",0,"C");
                            $pdf->cell(79,6,$colname2,"LR",0,"L");
                            $pdf->cell(31,6,"","LR",0,"L");
                        }else{
                            $pdf->Cell(8,6,"","LR",0);
                            $pdf->cell(11,6,"","LR",0,"C");
                            $pdf->cell(79,6,"","LR",0,"L");
                            $pdf->cell(31,6,"","LR",0,"C");
                        }
                        $pdf->cell(13,6,$value['fqpcode'],"LRT",0,"L");
                        $pdf->cell(79,6,$sub1,"LRT",0,"L");
                        $pdf->cell(12,6,$value['tcount'],"LRT",0,"R");
                        $pdf->cell(12,6,$value['abcount'],"LRT",0,"R");
                        $pdf->cell(15,6,$value['mpcount'],"LRT",0,"R");
                        $pdf->cell(12,6,$value['prcount'],"LRT",1,"R");
                    }
                    else if($town2){
                        
                        if($newCode != $oldCode){
                            $pdf->Cell(8,6,"","LR",0);
                            $pdf->cell(11,6,"","LR",0,"C");
                            $pdf->cell(79,6,"","LR",0,"L");
                            $pdf->cell(31,6,$town2,"LR",0,"L");
                        }else{
                            $pdf->Cell(8,6,"","LR",0);
                            $pdf->cell(11,6,"","LR",0,"C");
                            $pdf->cell(79,6,"","LR",0,"L");
                            $pdf->cell(31,6,"","LR",0,"C");
                        }

                        $pdf->cell(13,6,$value['fqpcode'],"LRT",0,"L");
                        $pdf->cell(79,6,$sub1,"LRT",0,"L");
                        $pdf->cell(12,6,$value['tcount'],"LRT",0,"R");
                        $pdf->cell(12,6,$value['abcount'],"LRT",0,"R");
                        $pdf->cell(15,6,$value['mpcount'],"LRT",0,"R");
                        $pdf->cell(12,6,$value['prcount'],"LRT",1,"R");
                    }
                    else  if($sub2){
                        if($newCode != $oldCode){
                            $pdf->Cell(8,6,"","LR",0);
                            $pdf->cell(11,6,"","LR",0,"C");
                            $pdf->cell(79,6,"","LR",0,"L");
                            $pdf->cell(31,6,"","LR",0,"L");
                        }else{

                        $pdf->Cell(8,6,"","LR",0);
                        $pdf->cell(11,6,"","LR",0,"C");
                        $pdf->cell(79,6,"","LR",0,"L");
                        $pdf->cell(31,6,"","LR",0,"L");
                        $pdf->cell(13,6,"","LR",0,"C");
                        $pdf->cell(79,6,$sub2,"LBR",0,"L");
                        $pdf->cell(12,6,"","LBR",0,"R");
                        $pdf->cell(12,6,"","LBR",0,"R");
                        $pdf->cell(15,6,"","LBR",0,"R");
                        $pdf->cell(12,6,"","LBR",1,"R");
                        }
                    }
                    if($pdf->getY() > 181){
                        // $pdf->cell(268,"","","T",1);
                        $this->tableHeader($pdf);
                    }
                }else{
                    $pdf->cell(13,6,$value['fqpcode'],"1",0,"L");
                    $pdf->cell(79,6,$sub1,"1",0,"L");
                    $pdf->cell(12,6,$value['tcount'],"1",0,"R");
                    $pdf->cell(12,6,$value['abcount'],"1",0,"R");
                    $pdf->cell(15,6,$value['mpcount'],"1",0,"R");
                    $pdf->cell(12,6,$value['prcount'],"1",1,"R");
                    if($pdf->getY() > 182){   
                        $this->tableHeader($pdf);
                    }
                }
                $oldCode = $newCode;

            }

            if($this->reportType == 'QPCode wise'){

                $sl_no++;
                $pdf->Cell(8,6,$sl_no,"LRT",0);
                $pdf->cell(13,6,$value['fqpcode'],"LRT",0,"C");
                $pdf->cell(79,6,$sub1,"LRT",0,"L");    
                $pdf->cell(11,6,$value['fcntrcode'],"LRT",0,"C");
                $pdf->cell(79,6,ucwords($colname1),"LRT",0,"L");
                $pdf->cell(31,6,$town1,"LRT",0,"L");
                $pdf->cell(12,6,$value['tcount'],"LRT",0,"R");
                $pdf->cell(12,6,$value['abcount'],"LRT",0,"R");
                $pdf->cell(15,6,$value['mpcount'],"LRT",0,"R");
                $pdf->cell(12,6,$value['prcount'],"LRT",1,"R");
                if($pdf->getY() > 182){   
                    $this->tableHeader($pdf);
                }

                if($colname2 || $town2 || $sub2){

                    if($sub2){

                        $pdf->Cell(8,6,"","LBR",0);
                        $pdf->cell(13,6,"","LBR",0,"C");
                        $pdf->cell(79,6,$sub2,"LBR",0,"L");
                        $pdf->cell(11,6,"","LRT",0,"C");
                        $pdf->cell(79,6,"","LRT",0,"L");
                        $pdf->cell(31,6,"","LRT",0,"L");
                        $pdf->cell(12,6,"","LRT",0,"R");
                        $pdf->cell(12,6,"","LRT",0,"R");
                        $pdf->cell(15,6,"","LRT",0,"R");
                        $pdf->cell(12,6,"","LRT",1,"R");
                    }
                    if($colname2){

                        $pdf->Cell(8,6,"","LBR",0);

                        $pdf->cell(13,6,"","LBR",0,"C");
                        $pdf->cell(79,6,"","LBR",0,"L");
                        $pdf->cell(11,6,"","LBR",0,"C");
                        $pdf->cell(79,6,$colname2,"LBR",0,"L");
                        $pdf->cell(31,6,$town2,"LBR",0,"L");
                        $pdf->cell(12,6,"","LBR",0,"R");
                        $pdf->cell(12,6,"","LBR",0,"R");
                        $pdf->cell(15,6,"","LBR",0,"R");
                        $pdf->cell(12,6,"","LBR",1,"R");
                    }
                    // if($town2){
                    //     $pdf->Cell(8,6,"","LBR",0);
       
                    //     $pdf->cell(13,6,"","LBR",0,"C");
                    //     $pdf->cell(79,6,"","LBR",0,"L");
                    //     $pdf->cell(11,6,"","LBR",0,"C");
                    //     $pdf->cell(79,6,"","LBR",0,"L");
                    //     $pdf->cell(31,6,$town2,"LBR",0,"L");
                    //     $pdf->cell(12,6,"","LBR",0,"R");
                    //     $pdf->cell(12,6,"","LBR",0,"R");
                    //     $pdf->cell(15,6,"","LBR",0,"R");
                    //     $pdf->cell(12,6,"","LBR",1,"R");
                    // }

                    if($pdf->getY() > 182){
                        // $pdf->cell(268,"","","T",1);
                        $this->tableHeader($pdf);
                    }
                }
            }
        }
        $pdf->cell(272,"","","T",1);
    }
    
    function SendOutput()
	{
		// ob_end_clean();
		$this->pdf->Output("ExamAttendanceList".$this->reportType.".pdf","D");
    }
}

function getExamAttendance($aobj_context){

    // $univcode = $aobj_context->mobj_data["univcode"];
    // $doe = $aobj_context->mobj_data["doe"];
    // $sessionType = $aobj_context->mobj_data["sessionType"];
    // $reportType = $aobj_context->mobj_data["reportType"];
    // $qprngfrom = $aobj_context->mobj_data["qprngfrom"];
    // $qprngto = $aobj_context->mobj_data["qprngto"];

    $univcode = $aobj_context->mobj_data["univcode"];
    $doe = $aobj_context->mobj_data["doe"];
    $sessionType = $aobj_context->mobj_data["sessionType"];
    $reportType = $aobj_context->mobj_data["reportType"];
    $qprngfrom = $aobj_context->mobj_data["qprngfrom"];
    $qprngto = $aobj_context->mobj_data["qprngto"];
    $fdeggrp = $aobj_context->mobj_data["dgp"];
    
    $date = date("Y-m-d",strtotime(str_replace('/', '-', $doe)));

    $query = "SELECT fdbname FROM dbname WHERE funivcode = $univcode";
    $result = $aobj_context->mobj_db->GetRow($query);
    $db = $result['fdbname'];

    $session = "";
    $sessionfull ="";
    if($sessionType == 'm'){
        $session = 'AM';
        $sessionfull = 'Morning';
    }else{
        $session = 'PM';
        $sessionfull = 'Afternoon';
    }
    if($reportType == 'Center Wise'){

        $query = "SELECT s.fcntrcode, cl.fcollname, cl.ftown, s.fqpcode, fsubname,s.fdoe, 
        pcount AS tcount, IFNULL(abcount,0) AS abcount, 
        IFNULL(mpcount,0) AS mpcount, (pcount-IFNULL(abcount,0)-IFNULL(mpcount,0)) AS prcount FROM 
        (SELECT a.fcntrcode, a.fqpcode,a.fdoe, a.fsubname, COUNT(a.fregno) AS pcount FROM 
        (SELECT cs.fcntrcode, s.fqpcode, s.fsubname,date_format(s.fdoe, '%d/%m/%Y') as fdoe, cd.fregno
        FROM {$db}.canddet cd INNER JOIN {$db}.candsum cs ON cd.fregno = cs.fregno
        AND cd.fdegree = cs.fdegree AND cd.fcollcode = cs.fcollcode 
        INNER JOIN {$db}.subject s ON s.fdegree = cd.fdegree AND s.fexamno = cd.fexamno
        AND s.fsubcode = cd.fsubcode AND IFNULL(s.ftheory, '') = 'T' AND IFNULL(s.fintass,'') = 'F'
        WHERE IFNULL(fpresent,'') = 'P' AND IFNULL(fpassmth,'') = ''
        AND IFNULL(s.fdoe, '0000-00-00') = '$date' AND s.fsession LIKE '{$sessionType}%' 
        AND s.fqpcode BETWEEN '{$qprngfrom}' AND '{$qprngto}') a
        GROUP BY a.fcntrcode, a.fqpcode) s INNER JOIN {$db}.college cl ON s.fcntrcode = cl.fcollcode
        LEFT JOIN
        (SELECT a.fcollcode, a.fqpcode, SUM(IF(fabstype = 'QpA', 1, 0))AS abcount, SUM(IF(fabstype = 'QpM', 1, 0))AS mpcount  
        FROM {$db}.absent a 
        WHERE a.fregno <> 'nil' AND a.fregno <> '0'
        AND '$date' = DATE_FORMAT(a.fdoe,'%Y-%m-%d') AND fsession like '{$sessionType}%' AND fcollcode <> ''
        AND a.fqpcode BETWEEN '{$qprngfrom}' AND '{$qprngto}'
        GROUP BY fcollcode, fqpcode) t
        ON s.fcntrcode = t.fcollcode AND s.fqpcode = t.fqpcode
        ORDER BY s.fcntrcode, s.fqpcode";
    }else if($reportType == 'QPCode wise'){

        $query = "SELECT s.fcntrcode, cl.fcollname, cl.ftown, s.fqpcode, fsubname, s.fdoe,
        pcount AS tcount, IFNULL(abcount,0) AS abcount, 
        IFNULL(mpcount,0) AS mpcount, (pcount-IFNULL(abcount,0)-IFNULL(mpcount,0)) AS prcount FROM 
        (SELECT a.fcntrcode, a.fqpcode,a.fdoe, a.fsubname, COUNT(a.fregno) AS pcount FROM 
        (SELECT cs.fcntrcode, s.fqpcode, s.fsubname, cd.fregno, date_format(s.fdoe, '%d/%m/%Y') as fdoe
        FROM {$db}.canddet cd INNER JOIN {$db}.candsum cs ON cd.fregno = cs.fregno
        AND cd.fdegree = cs.fdegree AND cd.fcollcode = cs.fcollcode 
        INNER JOIN {$db}.subject s ON s.fdegree = cd.fdegree AND s.fexamno = cd.fexamno
        AND s.fsubcode = cd.fsubcode AND IFNULL(s.ftheory, '') = 'T' AND IFNULL(s.fintass,'') = 'F'
        WHERE IFNULL(fpresent,'') = 'P' AND IFNULL(fpassmth,'') = ''
        AND IFNULL(s.fdoe, '0000-00-00') = '$date' AND s.fsession LIKE '{$sessionType}%' 
        AND s.fqpcode BETWEEN '{$qprngfrom}' AND '{$qprngto}') a
        GROUP BY a.fcntrcode, a.fqpcode) s INNER JOIN {$db}.college cl ON s.fcntrcode = cl.fcollcode
        LEFT JOIN
        (SELECT a.fcollcode, a.fqpcode, SUM(IF(fabstype = 'QpA', 1, 0))AS abcount, SUM(IF(fabstype = 'QpM', 1, 0))AS mpcount  
        FROM {$db}.absent a 
        WHERE a.fregno <> 'nil' AND a.fregno <> '0'
        AND '$date' = DATE_FORMAT(a.fdoe,'%Y-%m-%d') AND fsession like '{$sessionType}%' AND fcollcode <> ''
        AND a.fqpcode BETWEEN '{$qprngfrom}' AND '{$qprngto}'
        GROUP BY fcollcode, fqpcode) t
        ON s.fcntrcode = t.fcollcode AND s.fqpcode = t.fqpcode
        ORDER BY s.fqpcode,s.fcntrcode";
        //var_dump($query);
    }
   
    $result = $aobj_context->mobj_db->GetAll($query);

    $class_obj = new ExamAttendance();

    $class_obj->univcode = $univcode;
    $class_obj->db = $db;
	$class_obj->DefaultConstructor($aobj_context,$qprngfrom,$qprngto,$doe,$sessionfull,$reportType);
    
    // If No data found Generate Blank Report
    if(count($result) > 0)
	    $class_obj->writeReport($result);

	$class_obj->SendOutput();

}
?>