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.118.32.6
<?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();
}
?>
|