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 : 3.149.243.29


Current Path : /proc/thread-self/root/var/www/oasis/Report_details/
Upload File :
Current File : //proc/thread-self/root/var/www/oasis/Report_details/studentwiseresult.php

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

class GenerateFeeSummaryReport  extends FPDF
{
	function DefaultConstructor($aobj_context)
	{
		include_once($aobj_context->main_src."/src/format.php");
		$this->aobj_context=$aobj_context;
		$this->pdf=  new FPDF();
		$this->pdf=$this;
		session_start();
		$this->collcode = $_SESSION['collcode'];
		
		$this->ip=$_SERVER["REMOTE_ADDR"];
		$this->db=trim($this->aobj_context->mobj_data["db"]);

		$this->degree = $aobj_context->mobj_data["degree"]; 
		$this->degexam = $aobj_context->mobj_data["degexam"];
		$this->yearmode = $aobj_context->mobj_data["yearmode"];
		$this->section = $aobj_context->mobj_data["section"];	

		$yearmode = explode("*",$this->yearmode);
		$this->year = $yearmode[0];
		$this->examtye = $yearmode[1];
       
		$get_date= "select NOW()  as now_date,
		CONCAT('[',fcollcode,'] ', fcollname,', ',FTOWN) as college_name,
		dg.fexamdate as fresexamdate, d.fdescpn, d.fexamname from college c, degree d, degexam dg 
		where fcollcode = '{$this->collcode}' and d.fdegree = '{$this->degree}'
		and d.fdegree = dg.fdegree and d.fexamno = dg.fexamno 
		and d.fexamno = '{$this->degexam}'
		and dg.fyear = '{$this->year}'
		and dg.fexamtype = '{$this->examtye}'";
		
		$obj=$aobj_context->mobj_db->GetRow($get_date);
		
		$this->current_date = $obj['now_date'];
		$this->college_name = $obj['college_name'];
	    $this->fresexamdate = $obj['fresexamdate'];
		$this->fdescpn      = $obj['fdescpn'];
		$this->fexamname    = $obj['fexamname'];
		$this->first    = true;
	}
	 
	function Header()
	{	
		$pageOrientation = $this->CurOrientation;
		$headerName="RESULT SHEET";
		$reporttype="prs";
		generateHeader($this->db, 
			$this->pdf, 
			$pageOrientation,
			$this->funivcode,
			$headerName,
			$this->college_name,
			$this->fresexamdate,
			$this->fdescpn,
			$this->fexamname,
			$this->pdf_logo_path,
			$this->aobj_context,
			$reporttype,
			$this->degree,
			$this->degexam,
			$this->yearmode,
			$this->section);
			
	// 	$img_path=$this->aobj_context->main_src."/".$this->aobj_context->mobj_data["db"]."/".$this->pdf_logo_path;
	// 	// var_dump($img_path);
	// 	// die();
	// 	if($this->funivcode=="055"){
	// 		$logopath=	$this->aobj_context->main_src."/".$this->aobj_context->mobj_data["db"]."/img/log.jpg";

	// 		if(file_exists($logopath)) 
	// 		{			
	// 			$this->pdf->Image($logopath,28,4,250);
	// 			$this->SetY(40);
	// 		}
	// 	}
	// 	elseif(!empty($this->pdf_logo_path) && file_exists($img_path))
	// 	{	
	// 		if($this->funivcode !=="051"){		
	// 		$this->pdf->Image($img_path,10,10,35);}else{
	// 			$this->pdf->Image($img_path,10,5,35);
	// 		}
	// 	}
	// 	if($this->funivcode!=="055"){
	// 	if($this->funivcode=="052"){
	// 		$this->pdf->SetFont('Times','B',9);
	// 		$this->pdf->cell(0,7,""."JSS MAHAVIDYAPEETHA","0",1,"C");
	// 	}
	// 	$this->pdf->SetFont('Times','B',14);
	// 	$this->pdf->cell(0,7,"".$this->FUNIVNAME,"0",1,"C");
	// 	$this->pdf->SetFont('Times','',8);
	// 	$this->pdf->cell(0,4, $this->s_state,"0",0,"C");
	// 	$this->pdf->SetFont('Times','',10);	
	// 	$this->pdf->Cell(-20,4,"Page {$this->pdf->PageNo()}/{nb}",0,1,'C');
	// 	$this->pdf->SetFont('Times','B',10);
	// 	$this->pdf->cell(0,7,"College: ".$this->college_name,"0",1,"C");	
	// }	
	// if($this->funivcode=="055"){
	// 	$this->SetY(37);
	// }
	// 	$this->pdf->SetFont('Times','B',10);
	// 	$this->pdf->cell(0,7,"PROVISIONAL RESULT SHEET - ".$this->fresexamdate ." EXAMINATION ","0",1,"C");
	// 	$this->pdf->cell(0,7,$this->fexamname." - ".$this->fdescpn,"0",1,"C");	

}
	
	
	function Footer()
	{
		$sign = $this->aobj_context->main_src.$this->aobj_context->mobj_data["db"]."/img/controler_sign.jpg";
		$footer = $this->aobj_context->main_src.$this->aobj_context->mobj_data["db"]."/img/pdfFooter.jpg";

		$this->SetY(-30);
		$y = -10;
		$x = 210;
		$size = 40;
		$img_x=($this->pdf->getX()+$x);;
		$img_y=$this->pdf->getY()+$y;
		$this->pdf->SetFont('Times','B',10);
		if($this->funivcode=="052"){
			if(file_exists($sign)) 
			$this->pdf->Image($sign,$img_x,$img_y,$size);
		}
        $this->pdf->Cell(250,4,"Controller of Examinations","",0,"R");

		$this->pdf->SetMargins(10,2);
		$this->SetY(-25);
		$this->pdf->SetFont('Times','B',8);
		if($this->funivcode=="055"){
			$this->pdf->Image($footer,35,186,230);
		}
		elseif($_SESSION['collcode'] !== "1004"){
			$this->pdf->Cell(10,6,"Grades","LRT",0,"C");
			$this->pdf->Cell(23,6,"S = Outstanding","LRT",0,"C");
			$this->pdf->Cell(23,6,"A = Excellent","LRT",0,"C");
			$this->pdf->Cell(23,6,"B = Very Good","LRT",0,"C");
			$this->pdf->Cell(18,6,"C = Good","LRT",0,"C");
			$this->pdf->Cell(23,6,"D = Average","LRT",0,"C");
			$this->pdf->Cell(18,6,"E = Poor","LRT",0,"C");
			$this->pdf->Cell(18,6,"F = Fail","LRT",0,"C");
		
			$this->pdf->Cell(110,6,"PP = Passed    NP = Not Passed      I,W,X - Transitional Grade     MP = Mal Practice","RT ",1,"C");

		

			$this->pdf->Cell(10,6,"","LRB",0,"C");
			$this->pdf->Cell(23,6,"90-100","LRBT",0,"C");
			$this->pdf->Cell(23,6,"75-89","LRBT",0,"C");
			$this->pdf->Cell(23,6,"66-74","LRBT",0,"C");
			$this->pdf->Cell(18,6,"56-65","LRBT",0,"C");
			$this->pdf->Cell(23,6,"50-55","LRBT",0,"C");
			$this->pdf->Cell(18,6,"45-49","LRBT",0,"C");
			$this->pdf->Cell(18,6,"<45","LRBT",0,"C");
		
			$this->pdf->Cell(110,6,"[TAL] = To be Announced Later    [DR] = Dropped    [EX] = Exempted","RB",1,"C");
		
		}else{
			$this->SetX(100);
			$this->pdf->Cell(23,6,"For","LRT",0,"C");
			$this->pdf->Cell(23,6,"E","LRBT",0,"C");
			$this->pdf->Cell(30,6,"NE","LRBT",1,"C");

			
			$this->SetX(100);
			$this->pdf->Cell(23,6,"PHD","LRB",0,"C");
			$this->pdf->Cell(23,6,"Eligible","LRB",0,"C");
			$this->pdf->Cell(30,6,"Not Eligible","LRB",1,"C");
		}
	


		$this->SetY(-14);
		$new_y=$this->pdf->GetY();
		$this->pdf->Ln(2);
		$this->Cell(140,5,'Printed: IP Address : '.$this->ip." Date ".$this->current_date,'0',0,'L');
	}
	
	function formcolldata()
	{
	
		$get_coll_name="select FUNIVNAME as 'FUNIVNAME',funivcode,
		FUNIVADD1 as 'state', pdf_logo_path From control";
	
		$lobj_get_coll_name=$this->aobj_context->mobj_db->GetRow($get_coll_name);
		
		$this->FUNIVNAME=$lobj_get_coll_name['FUNIVNAME'];
		
		$this->funivcode=$lobj_get_coll_name['funivcode'];
		
		$this->s_state=$lobj_get_coll_name['state'];
		$this->f_year=$lobj_get_coll_name['f_year'];
		$this->pdf_logo_path=$lobj_get_coll_name['pdf_logo_path'];
	
	}

	function tableHeader($section){  
		if($this->funivcode=="051"){
			$this->pdf->Ln(7);}
	
	$cnd = "";
			if( strtoupper($this->section) != 'ALL')
			{
				$cnd = "and st.fsection = '{$this->section}'";
			}
	
			$query="SELECT r.fdegree,r.fexamno,r.fregno,r.fyear,r.fexamtype,sum(if((
				r.fgrade ='F' or r.fgrade ='NE' or r.fgrade ='Fail' or r.fgrade ='MP' or r.fgrade ='AB'),0,r.fcredits)) as credits,
				ifnull(st.fsection,'') as fsection,
				GROUP_CONCAT(DISTINCT CONCAT(IF(r.FSCHEME = 'CR',r.fgrade,(fthtot+fprtot)),'*',s.fsubshort)) AS subdet, r.fclass FROM resmarks r INNER JOIN `subject` s ON r.fsubcode = s.fsubcode
				AND r.fdegree = s.fdegree AND r.fexamno = s.fexamno 
				inner join student st on r.fregno = st.fregno 
				 WHERE r.fdegree='{$this->degree}' AND r.fexamno='{$this->degexam}' 
				AND r.fyear='{$this->year}' AND r.fexamtype='{$this->examtye}'
			  GROUP BY fregno
			 order by ifnull(st.fsection,''),st.fregno";

		
	
	  $results =  $this->aobj_context->mobj_db->GetAll($query);
		
		$subcount = 0;
		foreach($results as $val)
		{
		
			if(count(explode(',',$val['subdet'])) > $subcount){
				$subcount = count(explode(',',$val['subdet']));
			}
		}

					// var_dump($subjectDet);die();
		// var_dump()

		$subdet=count(explode(',',$results[1]['subdet']));
	
        $subjDet=$results['subdet'];
		if($this->funivcode !=="051"){
			$width=21;
			
		  }else{
			  $width=25;
		  }
        
        foreach ($results as $key => $value) {
		
           $subres1=substr($value['subdet'],0);
           $submarks=explode(",",$subres1);
           $num_tags = count($submarks);
		
        }	
		$this->pdf->SetFont('Times','B',9);
		if($this->funivcode !="055"){
			$this->pdf->Cell(0,5,"Section: ".$section,"0",1,"L"); 
		}else{
			$this->pdf->Cell(0,5,str_pad("Section: ".$section, 40, ' ', STR_PAD_LEFT),"0",1,"L"); 
		}
		$this->pdf->SetFont('Times','B',9);
		if($this->funivcode =="051"){
		if($subcount >= 8 && $subcount <10){
			$this->SetX(7);
		}else if($subcount >=4 && $subcount < 8){
			$this->SetX(40);
		}else if($subcount >= 1 && $subcount<3){
			$this->SetX(60);
		}else if($subcount > 10 ){
			$this->SetX(1);
		}}else{
			if($subcount >= 8 && $subcount <10){
							$this->SetX(30);
						}else if($subcount >=4 && $subcount < 8){
							$this->SetX(60);
						}else if($subcount >= 1 && $subcount<3){
							$this->SetX(100);
						}else if($subcount > 10 ){
							$this->SetX(10);
						}
		}
		if($this->funivcode =="055"){
			$subjDet="Course Details";

		}else{
			$subjDet="Subject Details";

		}
	
        $this->pdf->Cell(10,5,"Sl.","LRT",0,"C");
		$this->pdf->Cell(30,5,"USN","LRT",0,"C");
		$this->pdf->SetFont('Times','B',11	);
      
		$this->pdf->Cell($width * $subcount,5,$subjDet,"T",0,"C"); 
       

        $this->pdf->Cell(14,5,"Credits","LRT",0,"C");
		if($this->funivcode =="055"){
			$this->pdf->Cell(14,5,"S.G.P.A","LRT",0,"C");
		}
		$this->pdf->Cell(20,5,"Remarks","LRT",1,"C");
		if($this->funivcode =="051"){
			if($subcount >= 8 && $subcount <10){
				$this->SetX(7);
			}else if($subcount >=4 && $subcount < 8){
				$this->SetX(40);
			}else if($subcount >= 1 && $subcount<3){
				$this->SetX(60);
			}else if($subcount > 10 ){
				$this->SetX(1);
			}}else{
				if($subcount >= 8 && $subcount <10){
					$this->SetX(30);
				}else if($subcount >=4 && $subcount < 8){
					$this->SetX(60);
				}else if($subcount >= 1 && $subcount<3){
					$this->SetX(100);
				}else if($subcount > 10 ){
					$this->SetX(10);
				}
			}
		$this->pdf->Cell(10,5,"No.","LRB",0,"C");

		$this->pdf->Cell(30	,5,"","LRB",0,"C"); 
       
        $this->pdf->Cell($width * $subcount,5,"","B",0,"C"); 
        
		$this->pdf->Cell(14,5,"","LRB",0,"C");
		if($this->funivcode =="055"){
			$this->pdf->Cell(14,5,"","LRB",0,"C");
		}
		$this->pdf->Cell(20,5,"","LRB",1,"C");
		
}
	function formdata(){
		
		$cnd = "";
		$cnd2 = "ifnull(st.fsection,'All') as fsection";
		if( strtoupper($this->section) != 'ALL')
		{
			if($this->funivcode == '052')
			{	
				if($this->degexam == 'A' || $this->degexam == 'B')
				{	
					$cnd = "and st.foldsection = '{$this->section}'";
					$cnd2 = "ifnull(st.foldsection,'All') as fsection";
				}
				else
					$cnd = "and st.fsection = '{$this->section}'";
			}
			else
				$cnd = "and st.fsection = '{$this->section}'";
		}
		
		$cond = '';
		if($this->funivcode == '052'){
			
			if($this->degexam == 'A' || $this->degexam == 'B')
				$cnd2 = "ifnull(st.foldsection,'All') as fsection";
				
			$cond = 'order by s.fsubshort';

		}
		
        $query="SELECT r.fdegree,r.fexamno,r.fregno,r.fyear,r.fexamtype,sum(if((
			r.fgrade ='F' or r.fgrade ='NE' or r.fgrade ='Fail' or r.fgrade ='MP' or r.fgrade ='AB'),0,r.fcredits / 2)) as credits,
			{$cnd2},
			GROUP_CONCAT(DISTINCT CONCAT(IF(r.FSCHEME = 'CR',r.fgrade,(fthtot+fprtot)),'*',s.fsubshort)$cond) AS subdet, r.fclass,r.fsgpa FROM resmarks r 
			INNER JOIN `subject` s ON r.fsubcode = s.fsubcode
			AND r.fdegree = s.fdegree AND r.fexamno = s.fexamno 
			inner join student st on r.fregno = st.fregno 
			WHERE r.fdegree='{$this->degree}' AND r.fexamno='{$this->degexam}' 
			AND r.fyear='{$this->year}' AND r.fexamtype='{$this->examtye}'
			{$cnd}
			GROUP BY fregno
			order by ifnull(st.fsection,''),st.fregno";

		// var_dump($query);
		// die();
        $results =  $this->aobj_context->mobj_db->GetAll($query);
		
		$subdet=count(explode(',',$results[1]['subdet']));

		$subcount = 0;
	
		// foreach($results as $val){
		// 	if(count(explode(',',$val['subdet'])) > $subcount){
		// 		$subcount = count(explode(',',$val['subdet']));
		// 	}
		// }

		$subjectDetails = [];
		foreach($results as $val)
		{
		
			if(count(explode(',',$val['subdet'])) > $subcount){
				$subcount = count(explode(',',$val['subdet']));
				$sub = 	explode(',',$val['subdet']);
				for ($i=0; $i < count($sub); $i++) { 
					$s = explode('*', $sub[$i]);
					array_push($subjectDetails, $s[1]);
				}
			}
		}

		$subjectDet = array_unique($subjectDetails);
		
		
       $m = 1;
	   $oldsection = "";
	   $newsection = "";
		foreach ($results as $key => $value) 
		{
			
			if($this->funivcode=="051"){
				$newsection="All";
			}else{
				$newsection = $value['fsection'];
			}
			
			// if($this->funivcode =="052"){
			// 	if($this->degree="MCA20"||$this->degree="MSCH"){
			// 		$newsection="All";
			// 	}
				
			// }
			//var_dump($newsection);

			$subres1=substr($value['subdet'],0);
			 $submarks=explode(",",$subres1);
				$subdetcount = count($submarks);

				// var_dump($subdetcount, $subcount);
			if($this->pdf->getY() > 150  || ($newsection != $oldsection) )
			{
				
				$this->pdf->AddPage("L");
				
			    $oldsection = $newsection;
			   $this->tableHeader($newsection);
			
			
			}
			
			 
            $this->pdf->SetFont('Times','',9);

			if($this->funivcode =="051"){
				
				if($subcount >= 8 && $subcount <10){
					$this->SetX(7);
				}else if($subcount >=4 && $subcount < 8){
					$this->SetX(40);
				}else if($subcount >= 1 && $subcount<3){
					$this->SetX(60);
				}else if($subcount > 10 ){
					$this->SetX(1);
				}}else{
					if($subcount >= 8 && $subcount <10){
						$this->SetX(30);
					}else if($subcount >=4 && $subcount < 8){
						$this->SetX(60);
					}else if($subcount >= 1 && $subcount<3){
						$this->SetX(100);
					}else if($subcount > 10 ){
						$this->SetX(10);
					}
				}
			
			if(empty($name2))
			{
				
				$this->pdf->SetFont('Times','',9);
				$this->pdf->Cell(10,5,$m,"LRT",0,"C");
				$this->pdf->Cell(30,5,$value['fregno'],"LRT",0,"C");
 
                
				
				$extCount = $subcount - $subdetcount;

				if($this->funivcode !=="051"){
					if($subcount == $subdetcount){
						$width = 21;
					}else if($subdetcount == 1){
						$width = $subcount * 21;
					}else{
						$width = 21;
					}

				}else{
					$width = 25;
				}
					foreach($submarks as $v){
						$explode = explode("*", $v);
						$this->pdf->Cell(21 ,5,$explode[1],"LRT",0,"C");	
					}

					for ($i=0; $i < $extCount; $i++) { 
						$this->pdf->Cell(21 ,5,'',"LRT",0,"C");	
					}
						
					// die();
                $this->pdf->Cell(14,5,$value['credits'],"LRT",0,"C");
				if($this->funivcode =="055"){
					$this->pdf->Cell(14,5,$value['fsgpa'],"LRT",0,"C");
				}
				$this->pdf->Cell(20,5,"","LRT",1,"C");
				if($this->funivcode =="051"){
					if($subcount >= 8 && $subcount <10){
						$this->SetX(7);
					}else if($subcount >=4 && $subcount < 8){
						$this->SetX(40);
					}else if($subcount >= 1 && $subcount<3){
						$this->SetX(60);
					}else if($subcount > 10 ){
						$this->SetX(1);
					}}else{
						if($subcount >= 8 && $subcount <10){
							$this->SetX(30);
						}else if($subcount >=4 && $subcount < 8){
							$this->SetX(60);
						}else if($subcount >= 1 && $subcount<3){
							$this->SetX(100);
						}else if($subcount > 10 ){
							$this->SetX(10);
						}
					}
                $this->pdf->Cell(10,5,"","LRB",0,"C");
                $this->pdf->Cell(30,5,"","LRB",0,"C");
        
				$val="";
				$valNe="";
				$valMp="";
				$valAb="";
                foreach($submarks as $v){
					
                    $explode = explode("*", $v);
                    if($_SESSION['collcode']=="1002"){
						if($explode[0] === "Pass" )
							$val="PP";
						else if($explode[0] === "Fail" )
							$val="NP";
						else
							$val=$explode[0];

					}else{
						$val=$explode[0];
					}
				
					if($explode[0] === "NE"){
						$valNe = $explode[0];
					}else if($explode[0] === "MP"){
						$valMp = $explode[0];
					}else if($explode[0] === "AB"){
						$valAb = $explode[0];
					}
					
                    $this->pdf->Cell(21,5,$val,"LRB",0,"C");
                }

				for ($i=0; $i < $extCount; $i++) { 
					$this->pdf->Cell(21 ,5,'',"LRB",0,"C");	
				}
				
                $this->pdf->Cell(14,5,"","LRB",0,"C");
				if($this->funivcode =="055"){
					$this->pdf->Cell(14,5,"","LRB",0,"C");
				}
				$values = "";
				if($valNe === "NE" && $valMp === "MP" && $valAb === "AB"){
						$values = "NE, MP, AB";
					}else if($valMp === "MP" && $valNe === "NE"){
						$values = "NE, MP";
					}else if($valNe === "NE" && $valAb === "AB"){
						$values = "NE, AB";
					}else if($valMp === "MP" && $valAb === "AB"){
						$values = "MP, AB";
					}else if($valNe === "NE" && $valMp === "" && $valAb === "")	{
						$values = $valNe;
					}else if($valNe === "" && $valMp === "MP" && $valAb === ""){
						$values = $valMp;
					}else if($valNe === "" && $valMp === "" && $valAb === "AB"){
						$values = $valAb;
					}              

				$this->pdf->Cell(20,5,$values,"LRB",1,"C");	
		    }    
	        $m++;
		}	
       
	}

	function SendOutput()

	{
		$this->pdf->Output("Result_Sheet.pdf","I");
	}
}

function studentwiseresult($aobj_context)
{
	$aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);

	$class_obj=new GenerateFeeSummaryReport();
	$class_obj->AliasNbPages();
	$class_obj->DefaultConstructor($aobj_context);
	$class_obj->Header();
	
	$class_obj->formcolldata();
	$class_obj->formdata();
	$class_obj->SetTitle('Result Sheet');
	$class_obj->SendOutput();    
}
?>