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


Current Path : /var/www/oasis/Report_details/
Upload File :
Current File : /var/www/oasis/Report_details/generatePrintIaMarksnewXl.php

<?php

$main_src = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - 7);
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('GMT+5:30');
ini_set('max_execution_time', 300);
ini_set('memory_limit', '2G');

if (PHP_SAPI == 'cli')
    die('This example should only be run from a Web Browser');

$pdf_writer_class = $main_src . '/PHPExcel/Classes/PHPExcel.php';
require_once($pdf_writer_class);

function getheaders($objPHPExcel, $fileName)
{
    ini_set('max_execution_time', '300');
    $objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1);
    $objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth(1);
    $objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight(0);
    $objPHPExcel->getActiveSheet()->getPageSetup()->setHorizontalCentered(true);
    $objPHPExcel->getActiveSheet()->getPageSetup()->setVerticalCentered(false);

    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename=' . $fileName);
    header('Cache-Control: max-age=0');
    header('Cache-Control: max-age=1');
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
    header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); 
    header('Cache-Control: cache, must-revalidate'); 
    header('Pragma: public');
    ob_clean();
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
}

function generatePrintIaMarksnewXl($aobj_context)
{
    session_start();
    $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);  
   
    $collcode=$_SESSION['collcode'];
    $funivcode = $_SESSION['FUNIVCODE'];
    $degree = $aobj_context->mobj_data["degree"]; 
    $sem = $aobj_context->mobj_data["sem"];
	$regfrom = $aobj_context->mobj_data["fromreg"];
    $regto = $aobj_context->mobj_data["toreg"];
	$main_src_obj=(explode("/",$_SERVER["REQUEST_URI"]));
	$main_src=$main_src_obj[1];
	$pdf_writer_class=$aobj_context->main_src."/maya-pdf/fpdf.php";
	$root_pdf_file_download=$aobj_context->main_src."/Report_details/output/report_me_student_list.pdf";
	
	include($pdf_writer_class);	
    $page_header_university = "select FUNIVNAME as 'FUNIVNAME',FUNIVCODE,
                               FUNIVADD1 as 'state', pdf_logo_path,
                               ifnull(FEXAMAPPREQ,'F') as FEXAMAPPREQ From control";
	$lobj_page_header_university = $aobj_context->mobj_db->GetRow($page_header_university);
    
    $get_coll_name = "select fcollname as FCOLLNAME, ftown as FTOWN from college 
                      where fcollcode = '{$collcode}'";
                      
    $res_coll_name = $aobj_context->mobj_db->GetRow($get_coll_name);


    $FUNIVNAME = $lobj_page_header_university['FUNIVNAME'];
    $STATE = $lobj_page_header_university['state'];
    $COLLNAME = $res_coll_name['FCOLLNAME'];
  
    $objPHPExcel = new PHPExcel();
    $fileName = 'Prog_Report_Marks.xls';
  
    $objPHPExcel->getProperties()->setCreator("Uniclare")
    ->setLastModifiedBy("Me")->setTitle("My Excel Sheet")
    ->setSubject("My Excel Sheet")->setDescription("Excel Sheet")
    ->setKeywords("Excel Sheet")->setCategory("Me");
    
    $objPHPExcel->setActiveSheetIndex(0);
  
    $styleArray = array(
        'borders' => array(
            'allborders' => array(
                'style' => PHPExcel_Style_Border::BORDER_THIN,
                'color' => array('argb' => '000000'),
            ),
        ),
    );

  $course=['D', 'E', 'F', 'G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
  'AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ',
  'BA','BB','BC','BD','BE','BF','BG','BH','BI','BJ','BK','BL','BM','BN','BO','BP','BQ','BR','BS','BT','BU','BV','BW','BX','BY','BZ',
  'CA','CB','CC','CD','CE','CF','CG','CH','CI','CJ','CK','CL','CM','CN','CO','CP','CQ','CR','CS','CT','CU','CV','CW','CX','CY','CZ'];


	$get_student_data = " select distinct fregno, fexamno, fdegree from progreport 
                          where fregno between '{$regfrom}' and '{$regto}' and fcollcode = '{$collcode}' 
                          and fdegree = '{$degree}' and fexamno = '{$sem}'";
                        
	$lobj_get_student_data = $aobj_context->mobj_db->GetAll($get_student_data);
   
    foreach($lobj_get_student_data as $value){

        $qry_stud_det = "SELECT s.fregno, s.fname, s.FFATNAME, s.fpermadd1, s.fpermadd2, s.fpermaddpin, s.ffatmob, s.FEXAMNO, s.fsection, d.FEXAMNAME, 
                         CONCAT(s.fperdist,' ',s.fpersate)AS fperstate FROM student s INNER JOIN degree d ON s.fexamno = d.fexamno AND s.fdegree = d.fdegree 
                         where fregno = '{$value['fregno']}' group by s.fregno";
           
        $res_qry_stud_det = $aobj_context->mobj_db->GetRow($qry_stud_det);
      
        $qry_sub = "select fsubname from subdet 
                    where fexamno = '{$sem}'
                    and fdegree ='{$degree}'  
                    group by fsubname order by fsubcode";
                   
        $res_qry_sub_det = $aobj_context->mobj_db->GetAll($qry_sub);
    }
    $objPHPExcel->getActiveSheet()->getStyle('1:6')->getFont()->setBold(true);
    $objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setSize(16);
    $objPHPExcel->getActiveSheet()->getStyle('2:2')->getFont()->setSize(12);
    $objPHPExcel->getActiveSheet()->getStyle('3:3')->getFont()->setSize(14);
    $objPHPExcel->getActiveSheet()->getStyle('4:4')->getFont()->setSize(12);
           $objPHPExcel->getActiveSheet()->setCellValue('A1', $lobj_page_header_university['FUNIVNAME']);
           $objPHPExcel->getActiveSheet()->setCellValue('A2', $lobj_page_header_university['state']);
           $objPHPExcel->getActiveSheet()->setCellValue('A3', $res_coll_name['FCOLLNAME']);
           $objPHPExcel->getActiveSheet()->setCellValue('A4', "Progress Report". " - ". $degree."(".$sem.")");
           $objPHPExcel->getActiveSheet()->setCellValue('A5', 'Sl No.');
           $objPHPExcel->getActiveSheet()->setCellValue('B5', 'USN');
           $objPHPExcel->getActiveSheet()->setCellValue('C5', 'NAME');
        
           $objPHPExcel->getActiveSheet()->mergeCells('A5:A6');
           $objPHPExcel->getActiveSheet()->mergeCells('B5:B6');
           $objPHPExcel->getActiveSheet()->mergeCells('C5:C6');
           $objPHPExcel->getActiveSheet()->getStyle('A5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
           $objPHPExcel->getActiveSheet()->getStyle('B5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
           $objPHPExcel->getActiveSheet()->getStyle('C5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

    $query = "drop table IF EXISTS temp_progrep";
    $updateresult = $aobj_context->mobj_db->Execute($query);
    $query = "create table temp_progrep (
            FREGNO varchar(20) NOT NULL,
            FDEGREE varchar(10) DEFAULT NULL,
            FCOLLCODE varchar(5) DEFAULT NULL,
            FNAME varchar(50) DEFAULT NULL,
            FEXAMNO varchar(1) DEFAULT NULL,
            FSUBCODE varchar(10)NOT NULL,
            FSUBNAME VARCHAR(20)NOT NULL,
            FMARKS VARCHAR(20)DEFAULT NULL,
            PRIMARY KEY (FREGNO,FSUBNAME,FSUBCODE)
            ) ENGINE=InnoDB DEFAULT CHARSET=latin1";
    $updateresult = $aobj_context->mobj_db->Execute($query);

    $collcode = $_SESSION['collcode'];
    $query="SELECT s.fdegree, m.fregno, m.fexamno,
            GROUP_CONCAT(m.fregno,'|',m.fsubcode,'|',s.fsubname,'|',m.fmarks 
            ORDER BY m.fsubcode,s.fsubname SEPARATOR '*') AS submarks 
            FROM marksint m INNER JOIN subdet s ON m.fsubcode=CONCAT(s.fcsubcode,s.fsubcode) 
            AND m.fdegree=s.fdegree AND m.fexamno=s.fexamno
            WHERE m.fdegree='{$degree}' and s.fexamno='{$sem}'
            GROUP BY fregno";


            
    $update = $aobj_context->mobj_db->GetAll($query);

    foreach($update as $val){
        $arr = explode('*', $val['submarks']);
        foreach($arr as $v){
            $subMakrs = explode("|", $v);
            $query = "insert into temp_progrep(FREGNO,FDEGREE, FCOLLCODE, FEXAMNO, FSUBCODE, FSUBNAME, FMARKS) values
                      ('{$val['fregno']}', '{$val['fdegree']}', '{$collcode}', '{$val['fexamno']}', '{$subMakrs[1]}', '{$subMakrs[2]}', '{$subMakrs[3]}')";       
            $updateresult = $aobj_context->mobj_db->Execute($query);
        }
    }
  
    $query = "SELECT DISTINCT t.fsubcode, t.fdegree, t.fexamno FROM temp_progrep t INNER JOIN subject s ON s.fdegree=t.fdegree AND s.fexamno=t.fexamno 
              AND CONCAT(s.fcsubcode,s.fssubcode) = t.fsubcode
              WHERE fregno BETWEEN '{$regfrom}' AND '{$regto}' order by fsubcode"; 
                
    $res = $aobj_context->mobj_db->GetAll($query);
   
    $i=0;
    $length = count($res);
    $i = $i + $length - 1;
    $j=0;
    foreach ($res as $key => $sub) {
        $subQuery = "select distinct s.fsubname from subject s inner join temp_progrep t on 
                     concat(s.fcsubcode, s.fssubcode) = t.fsubcode and s.fdegree = t.fdegree 
                     and s.fexamno = t.fexamno where  t.fsubcode='{$sub['fsubcode']}' and t.fdegree='{$sub['fdegree']}'
                     and t.fexamno='{$sub['fexamno']}'";
  
        $res = $aobj_context->mobj_db->GetRow($subQuery);
        
        $objPHPExcel->getActiveSheet()->setCellValue($course[$j].'5', $res['fsubname'])->getColumnDimension($course[$i])->setwidth(40);
        
        $query = "select distinct fsubname from temp_progrep 
                  where fregno between '{$regfrom}' and '{$regto}' 
                  and left(fsubcode, 5) = left('{$sub['fsubcode']}', 5) ";
       
        $res1 = $aobj_context->mobj_db->GetAll($query);
     
        $objPHPExcel->getActiveSheet()->mergeCells($course[$j].'5:'.$course[(count($res1) + $j)-1].'5');
        $objPHPExcel->getActiveSheet()->getStyle($course[$j].'5')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 
      
        foreach ($res1 as $val) {
            $objPHPExcel->getActiveSheet()->setCellValue($course[$j].'6', $val['fsubname'])->getColumnDimension($course[$j])->setwidth(10);
            $objPHPExcel->getActiveSheet()->getStyle($course[$j].'6')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 
            $j++;
        } 
        $i++; 
    } 
    $objPHPExcel->getActiveSheet()->mergeCells('A1:'.$course[$j-1].'1');
    $objPHPExcel->getActiveSheet()->mergeCells('A2:'.$course[$j-1].'2');
    $objPHPExcel->getActiveSheet()->mergeCells('A3:'.$course[$j-1].'3');
    $objPHPExcel->getActiveSheet()->mergeCells('A4:'.$course[$j-1].'4');

    $query ="SELECT DISTINCT t.fregno, s.fname FROM temp_progrep t INNER JOIN student s ON s.fregno=t.fregno AND t.fexamno=s.fexamno
             WHERE t.fregno BETWEEN '{$regfrom}' AND '{$regto}'";
    $result1 = $aobj_context->mobj_db->GetAll($query);
    foreach($result1 as $key => $det){
        $slNo = $key + 7;
        $objPHPExcel->getActiveSheet()->getRowDimension($slNo)->setRowHeight(25);
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$slNo, $slNo - 6)->getColumnDimension('A')->setwidth(8);
        $objPHPExcel->getActiveSheet()->setCellValue('B'.$slNo, $det['fregno'])->getColumnDimension('B')->setwidth(15);
        $objPHPExcel->getActiveSheet()->setCellValue('C'.$slNo, $det['fname'])->getColumnDimension('C')->setwidth(25);
        $objPHPExcel->getActiveSheet()->getStyle('A'.$slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 
        $objPHPExcel->getActiveSheet()->getStyle('B'.$slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 

        $query = "select distinct left(fsubcode, 5) as fsubcode, fregno from temp_progrep where fregno = '{$det['fregno']}'";
        $res = $aobj_context->mobj_db->GetAll($query);
        
         $j = 0;
        foreach($res as $v){
            $query2 = "select fsubname, fmarks from temp_progrep where fregno = '{$det['fregno']}' and left(fsubcode, 5)='{$v['fsubcode']}' order by fsubcode";
            $result2 = $aobj_context->mobj_db->GetAll($query2);
            foreach($result2 as $value){
                $objPHPExcel->getActiveSheet()->setCellValue($course[$j].$slNo, $value['fmarks'])->getColumnDimension($course[$j])->setwidth(10);
                $objPHPExcel->getActiveSheet()->getStyle($course[$j].$slNo)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                $j++;
            }
        } 
    }
    $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('A2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('A3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('A4')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  getheaders($objPHPExcel, $fileName);
  
}
?>