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.137.162.107


Current Path : /var/www/html/univadmin/Reports/
Upload File :
Current File : /var/www/html/univadmin/Reports/ExamRegistrationRprt.php

<?php

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

class MYPDF extends TCPDF
{

    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);
        $this->SetTitle("Exam Registration - Degreewise, Subjectwise Student Count Report");

        // set bacground image
        $this->SetFillColor(248, 248, 255);
        $img_path = $this->aobj_context->main_src . "/img/".$this->aobj_context->FUNIVCODE."_logo.jpg";

        if (file_exists($img_path)) {
            $this->Image($img_path, 20, 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 Registration - Degreewise, Subjectwise Student Count Report', '0', 1, 'C');
        $this->SetFont('Times', 'B', 10);

        // $this->reportType = $this->aobj_context->mobj_data["deggrp"];
        // var_dump($this->reportType);
        // die();
        $this->Cell(0, 5, 'Degree Group Range: ' . $this->aobj_context->mobj_data["fdeggrpfrom"]. ' - '.$this->aobj_context->mobj_data["fdeggrpfrom"], '0', 1, 'C');
        $this->Cell(0, 5, 'Degree Range : ' . $this->aobj_context->mobj_data['fdegfrom'].' - '.$this->aobj_context->mobj_data['fdegto'].
        '       College Range : ' . $this->aobj_context->mobj_data['fcollfrom'].' - ' . $this->aobj_context->mobj_data["fcollto"], '0', 1, 'C');
        // $this->Cell(0, 5, 'College Range : ' . $this->aobj_context->mobj_data['fcollfrom'].' - ' . $this->aobj_context->mobj_data["fcollto"], '0', 1, '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);
        // var_dump();
        if($this->CurOrientation == 'P')
        {
            $this->Cell(60, 10, 'IP : ' . $_SERVER["REMOTE_ADDR"], 0, 0, 'L');
            $this->Cell(60, 10, 'Date : ' . date("d-m-Y h:i:s A"), 0, 0, 'C');
            $this->Cell(60, 10, 'Page ' . $this->getPageNumGroupAlias() . '/' . $this->getPageGroupAlias(), 0, 1, 'R');
        }
        else {
            $this->Cell(90, 10, 'IP : ' . $_SERVER["REMOTE_ADDR"], 0, 0, 'L');
            $this->Cell(90, 10, 'Date : ' . date("d-m-Y h:i:s A"), 0, 0, 'C');
            $this->Cell(90, 10, 'Page ' . $this->getPageNumGroupAlias() . '/' . $this->getPageGroupAlias(), 0, 1, 'R');
        }
    }
}

class Report{

  public function DefaultConstructor($aobj_context)
  {
    $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);

    $get_coll_name = "select FUNIVNAME as 'FUNIVNAME',FUNIVCODE,
    FUNIVADD1 as 'state', pdf_logo_path,
    ifnull(FEXAMAPPREQ,'F') as FEXAMAPPREQ From control";
    $lobj_get_coll_name = $this->aobj_context->pobj_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'];
    $deggrp = $this->aobj_context->mobj_data["deggrp"];

    $get_coll_name = "select concat(fdeggrp, ' - ', fdescpn) as fdeggrp 
    from deggrp where fdeggrp = '{$deggrp}'";
    $lobj_get_degree = $this->aobj_context->pobj_db->GetRow($get_coll_name);
    
    $aobj_context->deggrp = $lobj_get_degree['fdeggrp'];
    $this->pdf = new MYPDF('L');
    $this->pdf->aobj_context = $aobj_context;    
  }

  public function TblHeader($pdf)
  {
    $pdf->SetFont('Times', 'B', 10);
    $pdf->Cell(10, 6, "Sl.", "LRT", 0, "C");    
    $pdf->Cell(12, 6, "Col.", "LRT", 0, "C");
    $pdf->Cell(60, 6, "College Name", "LRT", 0, "C");
    $pdf->Cell(17, 6, "Subject", "LRT", 0, "C");
    $pdf->Cell(80, 6, "Subject Name", "LRT", 0, "C");    
    $pdf->Cell(15, 6, "Count", "LRT", 1, "C");
    

    $pdf->Cell(10, 6, "No.", "LRB", 0, "C");    
    $pdf->Cell(12, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(60, 6, "", "LRB", 0, "C");
    $pdf->Cell(17, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(80, 6, "", "LRB", 0, "C");    
    $pdf->Cell(15, 6, "", "LRB", 1, "C");    
    $pdf->SetFont('Times', '', 10);

  }

  public function TblHeaderCollWise($pdf)
  {
    $pdf->SetFont('Times', 'B', 10);
    $pdf->Cell(10, 6, "Sl.", "LRT", 0, "C");
    $pdf->Cell(15, 6, "Deg.", "LRT", 0, "C");
    $pdf->Cell(60, 6, "Degree Name", "LRT", 0, "C");
    $pdf->Cell(17, 6, "Subject", "LRT", 0, "C");
    $pdf->Cell(80, 6, "Subject", "LRT", 0, "C");    
    $pdf->Cell(16, 6, "Count", "LRT", 1, "C");

    $pdf->Cell(10, 6, "No.", "LRB", 0, "C");
    $pdf->Cell(15, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(60, 6, "", "LRB", 0, "C");
    $pdf->Cell(17, 6, "Code", "LRB", 0, "C");
    $pdf->Cell(80, 6, "Name", "LRB", 0, "C");     
    $pdf->Cell(16, 6, "", "LRB", 1, "C");    
    $pdf->SetFont('Times', '', 10);

  }


public function CollWiseReport($data){
  $pdf = $this->pdf;
    
  $pdf->SetMargins(6, 35);
  $pdf->startPageGroup();
  $pdf->AddPage("P");
  $sl_no = 1;
  $pdf->SetFont('Times', '', 10);
  // $this->TblHeader($pdf);
  $oldCode = "";
  $newCode = "";
  
  foreach ($data as $key => $value) {


    $newCode = $value['fdegree'];

    if ($newCode != $oldCode) {
        $sl_no = 1;
        if ($pdf->getY() > 230) 
            $pdf->AddPage("P");
        // $first = false;
        $pdf->SetFont('Times', 'B', 12);
        // $pdf->Ln(4);
        $j++;
        $pdf->Cell(0, 6, '. ' . $value['fcollcode'] . ' - ' . $value['fcollname'], 1, 1, "C");
        
        $this->TblHeaderCollWise($pdf);
        $pdf->SetFont('Times', '', 10);
    }


    $x = $pdf->GetX();
    $y = $pdf->GetY();


    $pdf->SetX($x + 25);
    $pdf->MultiCell(60, 6, $value['fdescpn'], "T", "L");
    $y1 = $pdf->GetY();
    $h = $y1 - $y;    
    $pdf->SetXY($x, $y);


    $pdf->SetX($x + 102);
    $pdf->MultiCell(80, $h, $value['fsubname'], 1, "L");
    $y1 = $pdf->GetY();
    $h = $y1 - $y;    
    $pdf->SetXY($x, $y);

    $pdf->Cell(10, $h,$sl_no, "1", 0, "C");
    $pdf->Cell(15, $h,$value['fdegree'], "1", 0, "C");
    $pdf->SetXY($x+85, $y);
    $pdf->Cell(17, $h, $value['fsubcode'], "1", 0, "C");
    $pdf->SetXY($x+182, $y);
    $pdf->Cell(16, $h, $value['count'], "1", 1, "C");
          $oldCode = $newCode;

    $sl_no++;
    if ($pdf->getY() > 230) {
      $pdf->Cell(193,0,"","T",1);
      $pdf->AddPage("P");
      $pdf->SetFont('Times', 'B', 12);

      $pdf->Cell(0, 6, $j. '. ' . $value['fcollcode'] . ' - ' . $value['fcollname'], 1, 1, "C");

      $this->TblHeaderCollWise($pdf);
    }
  }
  $pdf->Cell(193,0,"","T",1);
}

  public function writeReport($data){
    $pdf = $this->pdf;
    
    $pdf->SetMargins(8, 40);
    $pdf->startPageGroup();
    $pdf->AddPage("P");
    $sl_no = 1;
    $pdf->SetFont('Times', '', 10);
    // $this->TblHeader($pdf);
    $oldCode = "";
    $newCode = "";
    
    foreach ($data as $key => $value) {


      $newCode = $value['fdegree'];

      if ($newCode != $oldCode) {
          $sl_no = 1;
          if ($pdf->getY() > 230) 
              $pdf->AddPage("P");
          // $first = false;
          $pdf->SetFont('Times', 'B', 12);
          // $pdf->Ln(4);
          $j++;
          $pdf->Cell(0, 6, $j. '. ' . $value['fdegree'] . ' - ' . $value['fdescpn'], 1, 1, "C");
          
          $this->TblHeader($pdf);
          $pdf->SetFont('Times', '', 10);
      }


      $x = $pdf->GetX();
      $y = $pdf->GetY();


      $pdf->SetX($x + 22);
      $pdf->MultiCell(60, 6, $value['fcollname'], "T", "L");
      $y1 = $pdf->GetY();
      $h = $y1 - $y;    
      $pdf->SetXY($x, $y);


      $pdf->SetX($x + 99);
      $pdf->MultiCell(80, $h, $value['fsubname'], 1, "L");
      $y1 = $pdf->GetY();
      $h = $y1 - $y;    
      $pdf->SetXY($x, $y);

      $pdf->Cell(10, $h,$sl_no, "1", 0, "C");
      $pdf->Cell(12, $h,$value['fcollcode'], "1", 0, "C");
      $pdf->SetXY($x+82, $y);
      $pdf->Cell(17, $h, $value['fsubcode'], "1", 0, "C");
 
      $pdf->SetXY($x+179, $y);
      $pdf->Cell(15, $h, $value['count'], "1", 1, "C");
            $oldCode = $newCode;
  
      $sl_no++;
      if ($pdf->getY() > 230) {
        $pdf->Cell(193,0,"","T",1);
        $pdf->AddPage("P");
        $pdf->SetFont('Times', 'B', 12);

        $pdf->Cell(0, 6, $j. '. ' . $value['fdegree'] . ' - ' . $value['fdescpn'], 1, 1, "C");

        $this->TblHeader($pdf);
      }
    }
    $pdf->Cell(193,0,"","T",1);
  }
  public function SendOutput()
  {
      // ob_end_clean();
      $this->pdf->Output("ExamRegistrationDegSubwiseStudountReport.pdf", "I");
  }
}

function ExamRegistSumm($aobj_context)
{
  $univcode = $aobj_context->mobj_data["univcode"];  
  $fdegfrm = $aobj_context->mobj_data["fdegfrom"];   // 'MAEC1';//   
  $fdegto = $aobj_context->mobj_data["fdegto"];  //'MMS1';//  
  $fcollfrm = $aobj_context->mobj_data["fcollfrom"];  
  $fcollto = $aobj_context->mobj_data["fcollto"];  
  $fsubfrom = $aobj_context->mobj_data["fsubfrom"];  
  $fsubto = $aobj_context->mobj_data["fsubto"]; 
  $fexamRng = $aobj_context->mobj_data["fexamrange"];
  $fdeggrpfrom = $aobj_context->mobj_data["fdeggrpfrom"];
  $fdeggrpto = $aobj_context->mobj_data["fdeggrpto"];

  $reportWise = $aobj_context->mobj_data["reportWise"];
  $rtype = $aobj_context->mobj_data["rtype"];

  // if($rtype == 'Detailed'){
  //   include 'ExmRegstDetReport.php';
  //   ExmRegstDetailed($aobj_context);
  // }else{

    $query = "select cd.fdegree,d.fdescpn,cd.fcollcode,concat(c.fcollname,', ',c.ftown) as fcollname,
    cd.fsubcode,s.fsubname,count(cd.fregno) as count
    from canddet cd
    inner join degree d on cd.fdegree=d.fdegree and  cd.fexamno=d.fexamno
    inner join subject s on s.fdegree=cd.fdegree and s.fexamno = cd.fexamno and s.fsubcode = cd.fsubcode 
    inner join college c on cd.fcollcode = c.fcollcode
    where cd.fdegree between '{$fdegfrm}' and '{$fdegto}'and cd.fexamno in ('{$fexamRng}') and
    s.fsubcode between '{$fsubfrom}' and '{$fsubto}' and cd.fcollcode between '{$fcollfrm}' and '{$fcollto}'
    and d.fdeggrp IN ('{$fdeggrpfrom}','{$fdeggrpto}') and s.ftheory = 'T' and s.fintass = 'F' 
    and ifnull(cd.fpresent,'') = 'P'
    group by cd.fdegree,cd.fcollcode,cd.fsubcode
    order by cd.fdegree,cd.fcollcode,cd.fsubcode";
  
  //  var_dump($query);
    $result = $aobj_context->pobj_db->GetAll($query);
    
  //  var_dump($result);
    // die();
    
    $class_obj = new Report();
    $class_obj->univcode=$univcode;
    $class_obj->DefaultConstructor($aobj_context);
    
    if(count($result)>0){
      if($reportWise == 'Degree Wise')
        $class_obj->writeReport($result);
      else
        $class_obj->CollWiseReport($result);//collegeWise report
  
    }
    
    $class_obj->SendOutput();
  
  
  // }
}


function moneyFormatIndia($num)
{
    $explrestunits = "";
    if (strlen($num) > 3) {
        $lastthree = substr($num, strlen($num) - 3, strlen($num));
        $restunits = substr($num, 0, strlen($num) - 3); // extracts the last three digits
        $restunits = (strlen($restunits) % 2 == 1) ? "0" . $restunits : $restunits; // explodes the remaining digits in 2's formats, adds a zero in the beginning to maintain the 2's grouping.
        $expunit = str_split($restunits, 2);
        for ($i = 0; $i < sizeof($expunit); $i++) {
            // creates each of the 2's group and adds a comma to the end
            if ($i == 0) {
                $explrestunits .= (int)$expunit[$i] . ","; // if is first value , convert into integer
            } else {
                $explrestunits .= $expunit[$i] . ",";
            }
        }
        $thecash = $explrestunits . $lastthree;
    } else {
        $thecash = $num;
    }
    return $thecash; // writes the final format where $currency is the currency symbol.
}

?>