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


Current Path : /var/www/html/rcub/Report_details/
Upload File :
Current File : /var/www/html/rcub/Report_details/generatePostAdmissionTicket.php

<?php

require_once(__DIR__ . "/../../aws/aws-autoloader.php");

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

class AdmissionTicket
{

    public $aobj_context;
    public $degree_code;
    public $registor_no_starts;
    public $registor_no_ends;
    public $print_per_page;
    public $sub_appearing_count;
    public $std_adm_count;
    public $sub_arr;
    public $std_arr;
    // university
    public $std_FUNIVNAME;
    public $std_FUNIVCODE;
    public $std_FTOWN;
    // college info	
    public $college_code;
    public $college_name;
    public $college_address;
    // student info
    public $STD_RegNo;
    public $STD_CollCode;
    public $STD_Course;
    public $STD_Name;
    public $STD_FAT;
    public $STD_MAT;
    public $STD_DOB;
    public $CollDetails;
    public $ADMNUM;
    public $bth_flag;
    public $FUNIVCODE;


    function __construct($aobj_context)
    {
        $this->aobj_context = $aobj_context;
        $aobj_context->mobj_db->SetFetchMode(ADODB_FETCH_ASSOC);
        session_start();
        //$this->college_code = $_SESSION['collcode']; 

        $bth_flag = 0;
        $main_src_obj = (explode("/", $_SERVER["REQUEST_URI"]));
        $this->main_src = $main_src_obj[1];
    }

    function getUniversityDetails()
    {
        $page_header_university = "select FUNIVNAME,FTOWN,FHTTEXT,FUNIVADD1  from control";
        $lobj_page_header_university = $this->aobj_context->mobj_db->GetRow($page_header_university);
        $this->std_FUNIVNAME = $lobj_page_header_university[FUNIVNAME];
        $this->std_FTOWN = $lobj_page_header_university[FTOWN];
        $this->std_FHTTEXT = $lobj_page_header_university[FHTTEXT];
        $this->std_FUNIVADD1 = $lobj_page_header_university[FUNIVADD1];
        //var_dump($this->std_FHTTEXT);
    }

    function getCollegeDetails()
    {
        $page_header_college = "select c.FCOLLCODE, c.FCOLLNAME
		FROM college c
		WHERE c.FCOLLCODE='{$this->college_code}'";
        //var_dump($class_obj->fcollcode); 
        $lobj_page_header_college = $this->aobj_context->mobj_db->GetRow($page_header_college);
        $this->college_code = $lobj_page_header_college['FCOLLCODE'];
        $this->college_name = $lobj_page_header_college['FCOLLNAME'];
        $this->college_address = $lobj_page_header_college['COLLEGE_ADRS'];
    }

    function getStudentDetails()
    {
        session_start();
        //	$FUNIVCODE = $_SESSION['FUNIVCODE'];
        $FUNIVCODE = $this->FUNIVCODE;
        if ($FUNIVCODE == '008') {
            $fyear = "1=1";
        } else {
            $fyear = "D.fmeyear = cs.fyear";
        }

        if ($this->exam != 'all')
            $examstr = "and D.fexamno = '{$this->exam}'";
        else
            $examstr = "";

        $get_student_data = "SELECT distinct S.FDEGREE,S.FREGNO,S.FCOLLCODE,ifnull(S.FPHOTOPATH,'') as photo_path,
		concat(left(col.FCOLLNAME,100),',',space(1), left(col.FTOWN,100)) as CollDetails  ,
		concat(ec.FCOLLNAME,', ',ec.ftown) AS exam_center_name,col.FCOLLNAME as FCOLLNAME,
		cs.FCNTRCODE AS FEXAMCNTR,col.FCOLLCODE,CONCAT(D.fdegree, ' - ',D.FDESCPN) AS COURSE, 
		D.FEXAMDATE,
		S.FNAME,S.FFATNAME,S.FMOTNAME,S.fstudid,DATE_FORMAT(S.FDOB,'%d/%m/%Y') AS FDOB
		FROM student S INNER JOIN degree D ON S.FDEGREE=D.FDEGREE 
		INNER JOIN college col ON S.FCOLLCODE=col.FCOLLCODE
		INNER join candsum cs on S.fdegree = cs.fdegree and S.fregno = cs.fregno
		LEFT JOIN college ec ON ec.FCOLLCODE=cs.FCNTRCODE
		INNER join colldeg on colldeg.fdegree = cs.fdegree and colldeg.fcollcode = cs.fcollcode
		WHERE S.FREGNO>='{$this->registor_no_starts}' AND S.FREGNO<='{$this->registor_no_ends}' 
		AND S.FDEGREE='{$this->degree_code}' and cs.FCOLLCODE='{$this->college_code}'
		and cs.frecptdate is not null 
		and ifnull(S.fexamappblk,'') <> 'T' and ifnull(S.fmp,'') <> 'T' 
		and {$fyear} and left(D.fmeexamtyp,1) = left(cs.fexamtype,1)
		order by S.FREGNO";
        //var_dump($get_student_data);
        $lobj_get_student_data = $this->aobj_context->mobj_db->GetAll($get_student_data);
        $this->std_adm_count = count($lobj_get_student_data);
        //var_dump($get_student_data);
        $query = "select distinct r.FDESCPN from degree d,reason r where r.FREASONCD = d.FFACULTY and d.FDEGREE='{$this->degree_code}'";
        $this->result = $this->aobj_context->mobj_db->GetRow($query);
        $this->FFACULTY = $this->result['FDESCPN'];

        foreach ($lobj_get_student_data as  $rek => $rev) {

            $full_photo_path = "";
            $full_photo_path = trim($this->aobj_context->main_src . "/" . $rev['photo_path']);
            if ($this->rptype == 'wp') {
                if (file_exists($full_photo_path) && !empty($rev['photo_path'])) {
                    $this->std_arr[$rev['FREGNO']]['FREGNO'] = $rev['FREGNO'];
                    $this->std_arr[$rev['FREGNO']]['FCOLLCODE'] = $rev['FCOLLCODE'];
                    $this->std_arr[$rev['FREGNO']]['FCOLLCODE'] = $rev['FCOLLCODE'];
                    $this->std_arr[$rev['FREGNO']]['COURSE'] = $rev['COURSE'];
                    $this->std_arr[$rev['FREGNO']]['FNAME'] = $rev['FNAME'];
                    $this->std_arr[$rev['FREGNO']]['FFATNAME'] = $rev['FFATNAME'];
                    $this->std_arr[$rev['FREGNO']]['FMOTNAME'] = $rev['FMOTNAME'];
                    $this->std_arr[$rev['FREGNO']]['FDOB'] = $rev['FDOB'];
                    $this->std_arr[$rev['FREGNO']]['EXAMDATE'] = $rev['FEXAMDATE'];
                    $this->std_arr[$rev['FREGNO']]['FCOLLNAME'] = $rev['FCOLLNAME'];
                    $this->std_arr[$rev['FREGNO']]['CollDetails'] = $rev['CollDetails'];
                    $this->std_arr[$rev['FREGNO']]['photo_path'] = $rev['photo_path'];
                    $this->std_arr[$rev['FREGNO']]['fstudid'] = $rev['fstudid'];
                    $this->std_arr[$rev['FREGNO']]['FEXAMCNTR'] = $rev['FEXAMCNTR'];
                    $this->std_arr[$rev['FREGNO']]['exam_center_name'] = $rev['exam_center_name'];
                }
            } else if ($this->rptype == 'wop') {

                if (!file_exists($full_photo_path)) {
                    $this->std_arr[$rev['FREGNO']]['FREGNO'] = $rev['FREGNO'];
                    $this->std_arr[$rev['FREGNO']]['FCOLLCODE'] = $rev['FCOLLCODE'];
                    $this->std_arr[$rev['FREGNO']]['FCOLLCODE'] = $rev['FCOLLCODE'];
                    $this->std_arr[$rev['FREGNO']]['COURSE'] = $rev['COURSE'];
                    $this->std_arr[$rev['FREGNO']]['FNAME'] = $rev['FNAME'];
                    $this->std_arr[$rev['FREGNO']]['FFATNAME'] = $rev['FFATNAME'];
                    $this->std_arr[$rev['FREGNO']]['FMOTNAME'] = $rev['FMOTNAME'];
                    $this->std_arr[$rev['FREGNO']]['FDOB'] = $rev['FDOB'];
                    $this->std_arr[$rev['FREGNO']]['EXAMDATE'] = $rev['FEXAMDATE'];
                    $this->std_arr[$rev['FREGNO']]['FCOLLNAME'] = $rev['FCOLLNAME'];
                    $this->std_arr[$rev['FREGNO']]['CollDetails'] = $rev['CollDetails'];
                    $this->std_arr[$rev['FREGNO']]['photo_path'] = $rev['photo_path'];
                    $this->std_arr[$rev['FREGNO']]['fstudid'] = $rev['fstudid'];
                    $this->std_arr[$rev['FREGNO']]['FEXAMCNTR'] = $rev['FEXAMCNTR'];
                    $this->std_arr[$rev['FREGNO']]['exam_center_name'] = $rev['exam_center_name'];
                }
            } else {
                $this->std_arr[$rev['FREGNO']]['FREGNO'] = $rev['FREGNO'];
                $this->std_arr[$rev['FREGNO']]['FCOLLCODE'] = $rev['FCOLLCODE'];
                $this->std_arr[$rev['FREGNO']]['FCOLLCODE'] = $rev['FCOLLCODE'];
                $this->std_arr[$rev['FREGNO']]['COURSE'] = $rev['COURSE'];
                $this->std_arr[$rev['FREGNO']]['FNAME'] = $rev['FNAME'];
                $this->std_arr[$rev['FREGNO']]['FFATNAME'] = $rev['FFATNAME'];
                $this->std_arr[$rev['FREGNO']]['FMOTNAME'] = $rev['FMOTNAME'];
                $this->std_arr[$rev['FREGNO']]['FDOB'] = $rev['FDOB'];
                $this->std_arr[$rev['FREGNO']]['EXAMDATE'] = $rev['FEXAMDATE'];
                $this->std_arr[$rev['FREGNO']]['FCOLLNAME'] = $rev['FCOLLNAME'];
                $this->std_arr[$rev['FREGNO']]['CollDetails'] = $rev['CollDetails'];
                $this->std_arr[$rev['FREGNO']]['photo_path'] = $rev['photo_path'];
                $this->std_arr[$rev['FREGNO']]['fstudid'] = $rev['fstudid'];
                $this->std_arr[$rev['FREGNO']]['FEXAMCNTR'] = $rev['FEXAMCNTR'];
                $this->std_arr[$rev['FREGNO']]['exam_center_name'] = $rev['exam_center_name'];
                $this->std_arr[$rev['FREGNO']]['FFACULTY'] = $this->FFACULTY;
            }
        }
    }

    // function getSubjectAppearing() //date_format(FDOE,'%d/%m/%Y')
    // {
    // 	session_start();
    // 	$FUNIVCODE = $_SESSION['FUNIVCODE'];

    // 	$FUNIVCODE = $this->FUNIVCODE;
    // 	/* if($FUNIVCODE == '008')
    // 	{
    // 		$present = "1=1";	
    // 	}else
    // 	{
    // 		$present = "c.fpresent = 'P'";
    // 	} */

    // 	if($FUNIVCODE == '026')
    // 	{
    // 		$order = "ORDER BY s.FTHEORY desc, s.FCSUBCODE";
    // 	}
    // 	else
    // 	{
    // 		$order = "ORDER BY s.FTHEORY desc,s.FDOE, s.FSESSION,d.FEXAMNO";
    // 	}

    // 	$sub = "GROUP_CONCAT(c.FEXAMNO,'->',s.FCSUBCODE ,'->',s.FSUBNAME,' ',concat('[',s.FSSUBNAME,']'),'->',if(s.fcsubcode = a.fsubcode,a.fremarks,''),'->', 
    // 	s.FSHORTNAME,'->',concat(if(date_format(FDOE,'%d/%m/%Y')!='00/00/0000',
    // 	date_format(FDOE,'%d/%m/%Y'),''),' - ',ifnull(rs.fdescpn,''),'->',if('{$FUNIVCODE}' = '018',FSUBSHORT,FQPCODE)) 
    // 	{$order}  SEPARATOR '~')";
    // 	$subsidary = "";


    // 	if($this->exam != 'all')
    // 		$examstr = "and d.fexamno = '{$this->exam}'";
    // 	else
    // 		$examstr = "";

    // 	$get_subject_appearing = "SELECT c.FDEGREE, cs.FREGNO AS FREGNO , 
    // 	GROUP_CONCAT(d.FEXAMNAME ORDER BY s.FTHEORY desc, s.FDOE, s.FSESSION,d.FEXAMNO) EXAMNAME,a.FREMARKS,
    // 	GROUP_CONCAT(c.FEXAMNO ORDER BY c.FEXAMNO,c.FSUBCODE) FEXAMNO, c.FREGNO,
    // 	{$sub} AS SUBCODE , 
    // 	GROUP_CONCAT(ifnull(s.FSUBNAME,''),' ',ifnull(s.FSSUBNAME,''),
    // 	' [',ifnull(FSUBSHORT,''),']' ORDER BY s.FCSUBCODE) AS SUBDECPN,
    // 	ifnull(FRECPTDATE,'') as receipt_date FROM canddet c INNER JOIN subject s ON
    // 	c.FDEGREE=s.FDEGREE AND c.FEXAMNO=s.FEXAMNO AND c.FSUBCODE=s.FSUBCODE AND s.FINTASS!='T' 
    // 	AND INSTR(ifnull(c.fthpr,''), s.ftheory) <= 0
    // 	left outer join reason rs on s.fsession = rs.freasoncd
    // 	inner join degree d on c.FDEGREE= d.FDEGREE AND c.FEXAMNO=d.FEXAMNO
    // 	and d.FADYEAR=c.FYEAR
    // 	and left(d.FADEXAMTYP,1)=left(c.FEXAMTYPE,1)
    // 	inner join candsum cs on 
    // 	cs.FDEGREE=c.FDEGREE AND cs.FREGNO=c.FREGNO AND 
    // 	cs.FCOLLCODE=c.FCOLLCODE
    // 	left join attshort a on a.fregno = c.fregno and s.fcsubcode = a.fsubcode
    // 	AND c.FYEAR=cs.FYEAR
    // 	and left(c.FEXAMTYPE,1)=left(cs.FEXAMTYPE,1)
    // 	WHERE c.FDEGREE='{$this->degree_code}' 
    // 	AND c.FCOLLCODE='{$this->college_code}' 
    // 	AND ifnull(c.FPASSMTH,'') = '' AND c.fpresent = 'P'
    // 	and c.FREGNO >= '{$this->registor_no_starts}' 
    // 	AND c.FREGNO <='{$this->registor_no_ends}' 
    // 	and cs.frecptdate is not null  is not null {$subsidary}
    // 	GROUP BY c.FREGNO, c.FDEGREE";	
    // //	var_dump($get_subject_appearing);
    // 	$this->aobj_context->mobj_db->execute("SET @@session.group_concat_max_len=100000");	
    // 	$this->lobj_get_subject_appearing = $this->aobj_context->mobj_db->GetAll($get_subject_appearing);
    // 	$this->receipt_date_arr=array();

    // 	foreach($this->lobj_get_subject_appearing as $suk=>$suv)
    // 	{		
    // 		//var_dump($suv['SUBCODE']);

    // 		$this->std_arr[$suv[FREGNO]]['SUBCODE']=$suv['SUBCODE'];
    // 		$this->std_arr[$suv[FREGNO]]['FEXAMNO']=$suv['FEXAMNO'];
    // 		$this->std_arr[$suv[FREGNO]]['EXAMNAME']=$suv['EXAMNAME'];
    // 		$this->std_arr[$suv[FREGNO]]['FREMARKS']=$suv['FREMARKS'];
    // 		if(!empty($suv['receipt_date']))
    // 		$this->receipt_date_arr[$suv[FREGNO]]=$suv['receipt_date'];	

    // 	} 

    // }	

    function getSubjectAppearing() //date_format(FDOE,'%d/%m/%Y')
    {
        session_start();
        $FUNIVCODE = $_SESSION['FUNIVCODE'];

        /* if($FUNIVCODE == '008')
		{
			$present = "1=1";	
		}else
		{
			$present = "c.fpresent = 'P'";
		} */

        $canddettmp = "canddet";
        $candsumttmp = "candsum";
        /*
		$query = "CREATE TEMPORARY TABLE IF NOT EXISTS {$candsumttmp} AS
					select * from candsum where fcollcode = '{$this->college_code}' and fdegree = '{$this->degree_code}'";
		$this->aobj_context->mobj_db->execute($query);

		$query = "CREATE INDEX tmpcansum
		ON {$candsumttmp} (fcollcode, fdergee, fregno)";	
		$this->aobj_context->mobj_db->execute($query);

		$query = "CREATE TEMPORARY TABLE IF NOT EXISTS {$canddettmp} AS
					select * from canddet where fcollcode = '{$this->college_code}' and fdegree = '{$this->degree_code}'";
		$this->aobj_context->mobj_db->execute($query);	
		
		$query = "CREATE INDEX tmpcanddet
		ON {$canddettmp} (fcollcode, fdergee, fregno, fsubcode)";	
		$this->aobj_context->mobj_db->execute($query);
						
*/


        if ($FUNIVCODE == '026') {
            $order = "ORDER BY s.FTHEORY desc, s.FCSUBCODE";
        } else {
            $order = "ORDER BY s.FTHEORY desc,s.FCSUBCODE";
        }
        $get_subject_appearing = "SELECT c.FDEGREE, cs.FREGNO AS FREGNO ,  c.FREGNO,
	GROUP_CONCAT(c.FEXAMNO,'->',s.FCSUBCODE ,'->',left(s.FSUBNAME,45),' ',
	concat('[',left(s.FSSUBNAME,15),']'),'->', 
		s.FSHORTNAME,'->',concat(if(date_format(FDOE,'%d/%m/%Y')!='00/00/0000',
		date_format(FDOE,'%d/%m/%Y'),''),' - ',ifnull(rs.fdescpn,''),'->',if('{$FUNIVCODE}' = '018',FSUBSHORT,FQPCODE)) 
		{$order}  SEPARATOR '~') AS SUBCODE , 
		ifnull(FRECPTDATE,'') as receipt_date FROM {$canddettmp} c INNER JOIN subject s ON
		c.FDEGREE=s.FDEGREE AND c.FEXAMNO=s.FEXAMNO AND c.FSUBCODE=s.FSUBCODE AND s.FINTASS!='T' 
		AND INSTR(ifnull(c.fthpr,''), s.ftheory) <= 0
		inner join {$candsumttmp} cs on 
		cs.FDEGREE=c.FDEGREE AND cs.FREGNO=c.FREGNO AND 
		cs.FCOLLCODE=c.FCOLLCODE
		AND c.FYEAR=cs.FYEAR
		and left(c.FEXAMTYPE,1)=left(cs.FEXAMTYPE,1)
		left outer join reason rs on s.fsession = rs.freasoncd
		WHERE c.FDEGREE='{$this->degree_code}' 
		AND c.FCOLLCODE='{$this->college_code}' 
		AND ifnull(c.FPASSMTH,'') = '' AND c.fpresent = 'P'
		and c.FREGNO >= '{$this->registor_no_starts}' 
		AND c.FREGNO <='{$this->registor_no_ends}' 
        and INSTR(cs.fhtenable,c.fexamno) >0
		and cs.frecptdate is not null
		GROUP BY c.FREGNO, c.FDEGREE";
        //var_dump($get_subject_appearing);
        $this->aobj_context->mobj_db->execute("SET @@session.group_concat_max_len=100000");
        $this->lobj_get_subject_appearing = $this->aobj_context->mobj_db->GetAll($get_subject_appearing);
        $this->receipt_date_arr = array();

        foreach ($this->lobj_get_subject_appearing as $suk => $suv) {
            //var_dump($suv['SUBCODE']);
            $this->std_arr[$suv['FREGNO']]['SUBCODE'] = $suv['SUBCODE'];
            $this->std_arr[$suv['FREGNO']]['FEXAMNO'] = $suv['FEXAMNO'];
            //$this->std_arr[$suv[FREGNO]]['EXAMNAME']=$suv['EXAMNAME'];
            if (!empty($suv['receipt_date']))
                $this->receipt_date_arr[$suv['FREGNO']] = $suv['receipt_date'];
        }
    }
}

function generatePostAdmissionTicket($aobj_context)
{
    include_once("stringspliter.php");
    session_start();
    $FUNIVCODE = $_SESSION['FUNIVCODE'];


    $class_obj = new AdmissionTicket($aobj_context);
    ini_set("memory_limit", -1);
    ini_set('max_execution_time', 3300);
    $class_obj->degree_code        = $aobj_context->mobj_data["degree_code"];


    if (preg_match('[^BTH]', $class_obj->degree_code))
        $class_obj->bth_flag = 1;

    $class_obj->registor_no_starts = $aobj_context->mobj_data["reg_starts"];
    $class_obj->registor_no_ends = $aobj_context->mobj_data["reg_ends"];
    $class_obj->college_code = $aobj_context->mobj_data["fcollcode"];
    $class_obj->FUNIVCODE = $aobj_context->mobj_data["FUNIVCODE"];
    $FUNIVCODE = $aobj_context->mobj_data["FUNIVCODE"];

    $class_obj->rptype = $aobj_context->mobj_data["rptype"];
    $class_obj->exam = $aobj_context->mobj_data["exam"];


    $main_src = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - 7);
    $pdf_writer_class = $main_src . "/tcpdf/tcpdf.php";
    //$pdf_writer_class =$main_src."/tarka_pdf/fpdf.php";
    include_once("stringspliter.php");
    require_once($pdf_writer_class);

    //include($pdf_writer_class);		
    //$pdf= new FPDF();
    $FUNIVCODE = '027';
    $pdf = new TCPDF();;
    $pdf->SetMargins(13, 5, 15);
    $pdf->aobj_context = $aobj_context;
    //$pdf->WhichReport = 'AdmissionTicket';
    $pdf->SetFillColor(248, 248, 255);
    $pdf->SetFont('Times', '', 10);
    $pdf->AddPage();
    $pdf->SetMargins(13, 5, 15);
    $pdf->Rect(5, 5, 200, 280, 'D');
    $adm_details = $class_obj->getUniversityDetails();
    $adm_details = $class_obj->getCollegeDetails();
    $adm_details = $class_obj->getStudentDetails();
    $adm_details = $class_obj->getSubjectAppearing();

    $page_cnt = 1;

    foreach ($class_obj->std_arr as $reg_k => $reg_v) {
        $curexamtitle = '';

        // if ($FUNIVCODE != '008') {
        //     if (!array_key_exists($reg_v['FREGNO'], $class_obj->receipt_date_arr))
        //         continue;
        // }
        
        $full_photo_path = "";
        $full_photo_path = trim($aobj_context->main_src . "/" . $reg_v[photo_path]);
        $keyname = $FUNIVCODE . "/" . $reg_v['photo_path'];
        $s3 = S3Client::factory(
            array(
                'credentials' => array(
                    'key' => IAM_KEY,
                    'secret' => IAM_SECRET
                ),
                'version' => "latest",
                'region'  => 'ap-south-1'
            )
        );
        $filePath = tempnam(sys_get_temp_dir(), rand(10, 15));
        try {
            $result = $s3->getObject([
                'Bucket' => STUDENT_PHOTOS_BUCKET,
                'Key'    => $keyname,
                'SaveAs' => $filePath
            ]);
        } catch (S3Exception $e) {
        }

        $full_photo_path = $filePath;
        if ($FUNIVCODE == '027')
            $funivname = $class_obj->std_FUNIVNAME . ', ' . $class_obj->std_FTOWN;
        else
            $funivname = $class_obj->std_FUNIVNAME;
        if ($FUNIVCODE != '030' && $FUNIVCODE != '031') {
            $pdf->Ln(2);
            $pdf->SetLineWidth(0.01);
            $pdf->SetFont('Times', 'B', 14);
            $img_path = $aobj_context->main_src . "/img/report_uni_logo.jpg";
            if (file_exists($img_path))
                $pdf->Image($img_path, 10, 10, 25);
            $pdf->Ln(1);
            if ($FUNIVCODE == '003D') {
                $pdf->Cell(0, 4, 'KUVEMPU UNIVERSITY', 0, 1, 'C');
                $pdf->Ln(2);
                $pdf->SetFont('Times', 'B', 10);
                $pdf->Cell(0, 4, 'Distance Education', '0', 1, 'C');
                $pdf->Ln(1);
            } else
                $pdf->Cell(0, 4, $funivname, 0, 1, 'C');
            $pdf->SetFont('Times', 'B', 8);
            if ($FUNIVCODE == '005')
                $pdf->Cell(0, 4, $class_obj->std_FUNIVADD1, 0, 1, 'C');
        }
        if ($FUNIVCODE == '030' || $FUNIVCODE == '031') {
            $pdf->SetLineWidth(0.01);
            //$pdf->Ln(5);
            $img_path = $aobj_context->main_src . "/img/report_uni_logo.jpg";
            if ($FUNIVCODE == '030') {
                if (file_exists($img_path))
                    $pdf->Image($img_path, 70, 3, 52);
            } else {
                if (file_exists($img_path))
                    $pdf->Image($img_path, 65, 4, 75);
            }
            $pdf->SetFont('Times', '', 12);
            $pdf->Ln(11);
            $pdf->SetFont('Times', '', 12);
            if ($FUNIVCODE == '030')
                $pdf->Cell(0, 4, 'Rukmini Knowledge Park, Kattigenahalli, Yelahanka, Bengaluru-560 064', 0, 1, 'C');
            $pdf->SetFont('Times', '', 8);
            $pdf->Cell(0, 4, '', '0', 1, 'C');
            $pdf->SetFont('Times', 'B', 14);
            $pdf->Ln(1);
            $pdf->Cell(0, 5, 'ADMISSION TICKET ', '0', 1, 'C');
            $pdf->SetFont('Times', 'B', 10);
        } else {
            if ($FUNIVCODE == '003' || $FUNIVCODE == '003U' || $FUNIVCODE == '003D') {
                $pdf->SetFont('Times', 'B', 10);
                $pdf->Cell(0, 5, 'ADMISSION TICKET ', '0', 1, 'C');
            } else
                $pdf->Cell(0, 5, 'HALL TICKET ', '0', 1, 'C');
        }
        $pdf->SetFont('Times', '', 10);
        $pdf->Cell(0, 5, $reg_v['EXAMDATE'] . ' EXAMINATION ', '0', 1, 'C');
        $pdf->SetFont('Times', '', 10);
        $pdf->Ln(4);
        $width = 124;
        ////////////////////////////////////
        $nb = 0;
        $pdf->SetFont('Times', '', 8);
        $value = $reg_v['FCOLLCODE'] . " - " . $reg_v['CollDetails'];
        $nb = max($nb, NbLines(50, $value, ''));
        $yH = 8 * $nb;

        // $url = "https://university-student-photos.s3.ap-south-1.amazonaws.com/".$FUNIVCODE."/".urlencode($reg_v['photo_path']);
        // $img_photo = file_get_contents($url);

        // $pdf->Image('@'.$img_photo,169,33,27,28);


        if (file_exists($full_photo_path) && !empty($reg_v['photo_path'])) {
            $pdf->Image($full_photo_path, 169, 33, 27, 28);
        } else {
            $pdf->Image($aobj_context->main_src . "/img/nophotoborder.jpg", 165.5, 31, 27, 28);
        }
        $pdf->Ln(4);
        if ($FUNIVCODE == '027') {
            $pdf->SetFont('Times', 'B', 10);
            $pdf->Cell(27, 6, ' Course', 0, 0, 'L');    //$pdf->Cell(3,6,' :  ',0,0,'L');	
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(128.5, 6, ': ' . $reg_v['COURSE'], 0, 0, 'L');
            $pdf->Cell(28.5, 6, '', 'TRL', 1, 'L');

            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(27, 6, ' Reg. No.', 0, 0, 'L');
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(46, 6, ': ' . $reg_v['FREGNO'], 0, 0, 'L');

            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(40, 6, "Student Id.", 0, 0, 'R');
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(42.5, 6, ': ' . $reg_v['fstudid'], 0, 0, 'L');
            $pdf->Cell(28.5, 6, '', 'RL', 1, 'C');

            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(27, 6, " Student Name", 0, 0, 'L');
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(128.5, 6, ': ' . $reg_v['FNAME'], 0, 0, 'L');
            $pdf->Cell(28.5, 6, '', 'RL', 1, 'C');

            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(27, 6, " Father's Name", 0, 0, 'L');
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(128.5, 6, ': ' . $reg_v['FFATNAME'], 0, 0, 'L');
            $pdf->Cell(28.5, 6, '', 'RL', 1, 'L');


            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(27, 6, " Mother's Name", 0, 0, 'L');
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(128.5, 6, ': ' . $reg_v['FMOTNAME'], 0, 0, 'L');
            $pdf->Cell(28.5, 6, '', 'RLB', 1, 'L');

            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(27, 6, ' College', 0, 0, 'L');
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(157, 6, ': ' . $reg_v['FCOLLCODE'] . " - " . $reg_v['CollDetails'], 0, '1', "L");

            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(27, 6, ' Exam Center', 0, 0, 'L');
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(157, 6, ': ' . $reg_v['FEXAMCNTR'] . " - " . $reg_v['exam_center_name'], 0, '1', 'L');
        } else if ($FUNIVCODE == '016' || $FUNIVCODE == '033' || $FUNIVCODE == '017' || $FUNIVCODE == '034' || $FUNIVCODE == '008' || $FUNIVCODE == '003') {
            $pdf->SetFont('Times', 'B', 10);
            $pdf->Cell(25, 6, ' Course', 0, 0, 'L');
            $pdf->Cell(3, 6, ' :  ', 0, 0, 'L');
            $pdf->SetFont('Times', '', 10);
            $pdf->Cell(120, 6, '' . $reg_v['COURSE'], 0, 1, 'L');


            $pdf->SetFont('Times', 'B', 10);
            $pdf->Cell(25, 6, ' College', 0, 0, 'L');
            $pdf->Cell(3, 6, ' :  ', 0, 0, 'L');
            $pdf->SetFont('Times', '', 10);
            $pdf->MultiCell(96, 6, '' . $reg_v['FCOLLCODE'] . " - " . $reg_v['CollDetails'], 0, "L");
            $pdf->SetFont('Times', 'B', 10);
            $pdf->Cell(25, 6, ' Exam Center', 0, 0, 'L');
            $pdf->Cell(3, 6, ' :  ', 0, 0, 'L');
            $pdf->SetFont('Times', '', 10);
            $pdf->Cell(120, 6, '' . $reg_v['FEXAMCNTR'] . " - " . $reg_v['exam_center_name'], 0, 1, 'L');


            $pdf->SetFont('Times', 'B', 10);
            $pdf->Cell(25, 6, ' Reg. No.', 0, 0, 'L');
            $pdf->Cell(3, 6, ' :  ', 0, 0, 'L');
            $pdf->SetFont('Times', 'B', 10);
            $pdf->Cell(120, 6, '' . $reg_v['FREGNO'] . '      Student Id.: ' . $reg_v['fstudid'], 0, 1, 'L');
            $pdf->SetFont('Times', 'B', 10);
            $pdf->Cell(25, 6, " Student's Name", 0, 0, 'L');
            $pdf->Cell(3, 6, ' :  ', 0, 0, 'L');
            $pdf->SetFont('Times', '', 10);
            $pdf->Cell(120, 6, '' . $reg_v['FNAME'], 0, 1, 'L');
            if ($FUNIVCODE == '008') {
                $pdf->SetFont('Times', 'B', 10);
                $pdf->Cell(25, 6, " Father's Name", 0, 0, 'L');
                $pdf->Cell(3, 6, ' :  ', 0, 0, 'L');
                $pdf->SetFont('Times', '', 10);
                $pdf->Cell(120, 6, '' . $reg_v['FFATNAME'], 0, 1, 'L');

                $pdf->SetFont('Times', 'B', 10);
                $pdf->Cell(25, 6, " Mother's Name", 0, 0, 'L');
                $pdf->Cell(3, 6, ' :  ', 0, 0, 'L');
                $pdf->SetFont('Times', '', 9);
                $pdf->Cell(120, 6, '' . $reg_v['FMOTNAME'], 0, 1, 'L');
            }
        } else {
            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(36, 6, ' Course', 1, 0, 'L');    //$pdf->Cell(3,6,' :  ',0,0,'L');	
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(124, 6, '' . $reg_v['COURSE'], 1, 1, 'L');

            $pdf->SetFont('Times', 'B', 9);
            if ($FUNIVCODE == '031') {
                $pdf->Cell(36, 6, ' Department', 1, 0, 'L');
                //$pdf->Cell(3,6,' :  ',0,0,'L');
            } else {
                $pdf->Cell(36, $yH, ' College', 1, 0, 'L');
                //$pdf->Cell(3,6,' :  ',0,0,'L');
            }
            $pdf->SetFont('Times', '', 9);
            $pdf->MultiCell(124, $yH, '' . $reg_v['FCOLLCODE'] . " - " . $reg_v['CollDetails'], 1, "L");
            $pdf->SetFont('Times', 'B', 9);
            if ($FUNIVCODE == '030' || $FUNIVCODE == '003U' || $FUNIVCODE == '003D' || $FUNIVCODE == '026') {
                $width = '152';
                $pdf->Cell(36, 6, ' Exam Center', 1, 0, 'L'); //$pdf->Cell(3,6,' :  ',0,0,'L');
                $pdf->SetFont('Times', '', 9);
                if ($FUNIVCODE == '003U' || $FUNIVCODE == '003D')
                    $pdf->Cell(124, 6, 'As per the notification', 1, 1, 'L');
                else
                    $pdf->Cell(124, 6, '' . $reg_v['FEXAMCNTR'] . " - " . $reg_v['exam_center_name'], 1, 1, 'L');
            }
            if ($FUNIVCODE == '003') {
                $pdf->Cell(36, 6, 'Cluster Exam Center', 1, 0, 'L'); // $pdf->Cell(3,6,' :  ',0,0,'L');
                $pdf->SetFont('Times', '', 9);
                $pdf->Cell(124, 6, '' . $reg_v['FEXAMCNTR'] . " - " . $reg_v['exam_center_name'], 1, 1, 'L');
                $width = '152';
            }

            $pdf->SetFont('Times', 'B', 9);
            if ($FUNIVCODE == '030') {
                $pdf->Cell(36, 6, ' SRN', 1, 0, 'L');
                //$pdf->Cell(3,6,' :  ',1,0,'L');
            } else {
                $pdf->Cell(36, 6, ' Reg. No.', 1, 0, 'L');
                //$pdf->Cell(3,6,' :  ',0,0,'L');
            }
            //$pdf->Cell(25,6,' Reg. No.',0,0,'L'); $pdf->Cell(3,6,' :  ',0,0,'L');
            $pdf->SetFont('Times', 'B', 9);
            if ($FUNIVCODE == '030' || $FUNIVCODE == '031')
                $pdf->Cell(124, 6, '' . $reg_v['FREGNO'], 1, 1, 'L');
            else {
                //$pdf->Cell(124,6,''.$reg_v['FREGNO']. '      Student Id.: '.$reg_v['fstudid'],1,1,'L'); 
                $pdf->Cell(44, 6, $reg_v['FREGNO'], 1, 0, 'L');
                $pdf->Cell(40, 6, "Student Id.", 1, 0, 'L');
                $pdf->Cell(40, 6, $reg_v['fstudid'], 1, 1, 'L');
            }
            $pdf->SetFont('Times', 'B', 9);
            $pdf->Cell(36, 6, " Student Name", 1, 0, 'L'); //$pdf->Cell(3,6,' :  ',0,0,'L');
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell($width, 6, '' . $reg_v['FNAME'], 1, 1, 'L');
        }

        if ($FUNIVCODE == '026' || $FUNIVCODE == '027') {
            $title1 = array('Sl.', 'Exam', 'Sub', 'Subject / Paper Title', 'QP', 'Answer', 'Invigilator');
            $title2 = array('No.', '', 'Code', '', 'Code', 'Book No.', 'Signature');
            $w = array('7', '9', '10', '110', '15', '13', '20');
        } else if ($FUNIVCODE == '005') {
            $title1 = array('Sl.', 'Sem /', 'Sub', 'Subject Title', 'Date and Time');
            $title2 = array('No.', 'Year', 'Code', '', '');
            $w = array('10', '7', '15', '70', '45');
        } else if ($FUNIVCODE == '029') {
            $title1 = array('Sl.', 'Sem /', 'Sub', 'Subject Title', 'DATE AND SESSION', 'Invigilator');
            $title2 = array('No.', 'Year', 'Code', '', '', 'Signature');
            $w = array('15', '7', '20', '80', '30', '30');
        } else if ($FUNIVCODE == '018') {
            $title1 = array('Sl.', 'Sem /', 'Sub', 'Subject Title', 'DATE AND SESSION');
            $title2 = array('No.', 'Year', 'Code', '', '');
            $w = array('15', '7', '20', '90', '30');
        } else if ($FUNIVCODE == '030') {
            $title1 = array('Sl.', 'Sem /', 'Sub', 'Subject Title', 'Date', 'Time', 'Invigilator');
            $title2 = array('No.', 'Year', 'Code', '', '', '', 'Signature');
            $w = array('8', '7', '15', '70', '16', '29', '30');
        } else {
            $title1 = array('Sl.', 'Sem /', 'Sub', 'Subject Title', 'QP', 'Date and Time', 'Answer', 'Invigilator');
            $title2 = array('No.', 'Year', 'Code', '', 'Code', '', 'Book No.', 'Signature');
            $w = array('7', '7', '10', '70', '14', '41', '20', '18');
        }
        $length = $w[6] + $w[5] + $w[0] + $w[1] + $w[2] + $w[3] + $w[4];
        $pdf->Ln(1);
        $pdf->SetFont('Times', 'B', 10);
        $pdf->Cell($length, 6, 'SUBJECTS / PAPERS APPEARING', 1, 1, 'C');
        $pdf->SetFont('Times', 'B', 9);

        $length = (count($w) - 1);
        for ($i = 0; $i < count($w); $i++) {
            if ($i == $length)
                $pdf->Cell($w[$i], 6, $title1[$i], "LRT", 1, "C");
            else
                $pdf->Cell($w[$i], 6, $title1[$i], "LRT", 0, "C");
        }

        for ($i = 0; $i < count($w); $i++) {
            if ($i == $length)
                $pdf->Cell($w[$i], 4, $title2[$i], "LRB", 1, "C");
            else
                $pdf->Cell($w[$i], 4, $title2[$i], "LRB", 0, "C");
        }

        $pdf->SetFont('Times', '', 9);
        // Mark start coords

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


        $sub_arr = $reg_v['SUBCODE'];
        //var_dump($sub_arr);
        $subj_arr = explode("~", $sub_arr);
        $sl_no = 1;
        $j = 0;
        $curexam = '';
        foreach ($subj_arr as $ek) {
            $explode_arr = explode("->", $ek);
            $sem = '';
            if ($explode_arr[0] == 'A') {
                $sem = 'I';
            } else if ($explode_arr[0] == 'B') {
                $sem = 'II';
            } else if ($explode_arr[0] == 'C') {
                $sem = 'III';
            } else if ($explode_arr[0] == 'D') {
                $sem = 'IV';
            } else if ($explode_arr[0] == 'E') {
                $sem = 'V';
            } else if ($explode_arr[0] == 'F') {
                $sem = 'VI';
            } else if ($explode_arr[0] == 'G') {
                $sem = 'VII';
            } else if ($explode_arr[0] == 'H') {
                $sem = 'VIII';
            } else if ($explode_arr[0] == 'I') {
                $sem = 'IX';
            } else if ($explode_arr[0] == 'J') {
                $sem = 'X';
            }


            $nb = 0;
            $pdf->SetFont('Times', '', 9);
            $nb = max($nb, NbLines($w[2], $explode_arr[2], ''));
            $yH = 7 * $nb;
            $pdf->Cell($w[0], $yH, $sl_no, "1", 0, "C");
            $pdf->Cell($w[1], $yH, $sem, "1", 0, "C");
            $pdf->Cell($w[2], $yH, $explode_arr[1], "1", 0, "C");
            $sub_short = $explode_arr[5];
            $x = $pdf->GetX();
            $y = $pdf->GetY();
            $subjectname = str_splitf($explode_arr[2], 49);
            $pdf->Rect($x, $y, $w[3], $yH);

            //$pdf->MultiCell($w[3],$yH,$explode_arr[2],0,'L', 0, 0, '', '', true);
            $pdf->Cell($w[3], $yH, $explode_arr[2], '1', '0', 'L');
            $pdf->SetXY($x + $w[3], $y);
            //var_dump($explode_arr[2]);
            if ($FUNIVCODE == '005' || $FUNIVCODE == '018') {
                $pdf->Cell($w[4], $yH, $explode_arr[4], 'LBR', 1, 'C');
            } else if ($FUNIVCODE == '026' || $FUNIVCODE == '027') {
                $pdf->Cell($w[4], $yH, $sub_short, 'LRB', 1, 'C');
                $pdf->SetXY($x + $w[3] + $w[4], $y);
                $pdf->Cell($w[5], $yH, '', 'LRB', 1, 'C');
                $pdf->SetXY($x + $w[4] + $w[3] + $w[5], $y);
                $pdf->Cell($w[6], $yH, '', 'LRB', 1, 'C');
            } else if ($FUNIVCODE == '029') {
                $pdf->Cell($w[4], $yH, $explode_arr[4], 'LB', 1, 'C');
                $pdf->SetXY($x + $w[3] + $w[4], $y);
                $pdf->Cell($w[5], $yH, '', 'LRB', 1, 'C');
            } else {
                $pdf->SetFont('Times', 'B', 8);
                $pdf->Cell($w[4], $yH, $sub_short, 'LRB', 1, 'C');
                $pdf->SetFont('Times', '', 8);
                $pdf->SetXY($x + $w[3] + $w[4], $y);
                $pdf->Cell($w[5], $yH, $explode_arr[4], 'LB', 1, 'C');
                $pdf->SetXY($x + $w[4] + $w[3] + $w[5], $y);
                $pdf->Cell($w[6], $yH, '', 'LRB', 1, 'C');
                $pdf->SetXY($x + $w[5] + $w[4] + $w[3] + $w[6], $y);
                $pdf->Cell($w[7], $yH, '', 'LRB', 1, 'C');
            }
            $sl_no++;
            $j++;
        }


        if ($FUNIVCODE == '016' || $FUNIVCODE == '033' || $FUNIVCODE == '017' || $FUNIVCODE == '034' || $FUNIVCODE == '008' || $FUNIVCODE == '003') {
            $pdf->SetFont('Times', '', 9);
            $pdf->Ln(10);
            $pdf->SetFont('Times', '', 10);
            $date_str = $class_obj->std_FHTTEXT;
            $text1 = str_replace("<br>", "\n", $class_obj->std_FHTTEXT);
            $text = str_replace("<r>", "\t", $text1);
            $pdf->writeHTML($date_str, $ln = true, $fill = false, $reseth = true, $cell = true, $align = 'L');
        }

        if ($FUNIVCODE == '027') {
            $pdf->SetFont('Times', 'B', 10);
            $pdf->Ln(6);
            $pdf->SetFont('Times', '', 9);
            $pdf->Cell(184, 6, 'I certify that, this candidate is eligible to appear for the current examination as per the details mentioned above.', 'LTR', 1, 'L');
            $pdf->Cell(184, 6, '', 'LR', 1, 'L');
            $pdf->Cell(184, 6, '', 'LR', 1, 'L');

            $date = date("F j, Y, g:i a");
            $pdf->Cell(148, 6, "Date: " . $date, 'LB', 0, 'L');
            $pdf->Cell(36, 6, 'Principal / H.O.D. / Chairman Sign. (with seal)', 'BR', 1, 'R');
            $x = $pdf->GetX();
            $y = $pdf->GetY();
            $pdf->Line($x, $y, $x + 184, $y);

            $pdf->Ln(16);
            $img_x = ($pdf->getX() + 152);;
            $img_y = $pdf->getY() - 10;
        } else {
            $img_x = ($pdf->getX() + 159);;
            $img_y = $pdf->getY() - 1;
        }
        $img_path = $aobj_context->main_src . "/img/controler_sign.jpg";
        if (file_exists($img_path))
            $pdf->Image($img_path, $img_x, $img_y, 35);
        $pdf->Cell(130, 5, 'Student Signature', '0', 0, 'L');
        $pdf->Cell(55, 6, 'Registrar (Evaluation)', '0', 1, 'R');
        // if($FUNIVCODE == '027')
        // {
        // 	$x=$pdf->GetX();
        // 	$y=$pdf->GetY();
        // 	$pdf->Line($x,$y,$x+184,$y);
        // }
        $pdf->Ln(1);
        if ($FUNIVCODE != '027') {
            $pdf->Ln(12);
            $pdf->Cell(140, 5, '', '0', 0, 'L');
            if ($class_obj->std_FUNIVCODE == '021' || $FUNIVCODE == '005' || $FUNIVCODE == '021' || $FUNIVCODE == '032' || $FUNIVCODE == '016' || $FUNIVCODE == '018' || $FUNIVCODE == '033' || $FUNIVCODE == '017' || $FUNIVCODE == '034')
                $pdf->Cell(50, 6, 'Controller of Examinations', '0', 0, 'R');
            else
                $pdf->Cell(50, 6, 'Registrar (Evaluation)', '0', 0, 'R');
            if ($FUNIVCODE == '005') {
                $pdf->Ln(4);
                $pdf->Cell(140, 5, 'Student Signature', '0', 0, 'L');

                //$pdf->Cell(36,6,'Controller of Examinations','0',0,'L');

                $pdf->Ln(15);
                $pdf->MultiCell(80, 5, 'I certify that this candidate is eligible to appear for the current examination as per the details mentioned above	', 0, 'L');
                $pdf->Ln(10);
                $pdf->Cell(110, 5, 'Principal	Signature', '0', 1, 'L');
            } else {
                $pdf->Ln(7);
                $pdf->SetFont('Times', 'B', 10);
                $pdf->Cell(36, 6, 'I certify that this candidate is eligible to appear for the current examination', '0', 1, 'L');
                $pdf->SetFont('Times', '', 8);
                /* $pdf->Cell(110,4,'','0',0,'L');
						$pdf->Cell(30,4,'1. He / She has satisfactory attendance (>=75%).','0',1,'L');
						$pdf->Cell(110,4,'','0',0,'L');
						$pdf->Cell(30,4,'2. He / She has passed in lower semester examination as per ','0',1,'L');
						$pdf->Cell(110,2,'','0',0,'L');
						$pdf->Cell(30,2,'    University Regulation (Min. 40% subjects).','0',1,'L'); 
						$pdf->Cell(110,4,'','0',0,'L');
						$pdf->Cell(30,4,'3. His / Her admission has been approved by the University.','0',1,'L');
						$pdf->Cell(110,4,'','0',0,'L');
						$pdf->Cell(30,4,"4. He / She is not belongs to 'Double the Duration' period.",'0',1,'L');			
						 
						$pdf->SetFont('Times','B',10);
						$pdf->Cell(36,6,'I certify that this candidate is eligible to appear for','0',0,'L');			
						$pdf->Ln(4);
						$pdf->Cell(36,5,'                                                                                                                            the current examination ','0',1,'L');			
						*/
                if ($FUNIVCODE == '003') {
                    $pdf->Cell(30, 4, '1. He / She has satisfactory attendance (>=75%).', '0', 1, 'L');
                    $pdf->Cell(30, 4, '2. He / She has passed in lower semester examination as per University Regulation (Min. 40% subjects).', '0', 1, 'L');
                    $pdf->Cell(30, 4, '3. His / Her admission has been approved by the University.', '0', 1, 'L');
                    $pdf->Cell(30, 4, "4. He / She is not belongs to 'Double the Duration' period.", '0', 1, 'L');
                    $pdf->SetFont('Times', '', 10);
                    $pdf->Ln(9);
                }
                if ($FUNIVCODE == '030')
                    $pdf->Cell(36, 5, '                                                                                                                                           HOS Signature with seal', '0', 1, 'L');
                else {
                    if ($FUNIVCODE == '003U')
                        $pdf->Cell(36, 5, '                                                                                                                                           Principal / Coordinator Signature with seal', '0', 1, 'L');
                    else if ($FUNIVCODE == '003D')
                        $pdf->Cell(36, 5, '                                                                                                                                           Co-ordinator Signature with seal', '0', 1, 'L');
                    else {
                        if ($FUNIVCODE == '033') {
                            $img_x = ($pdf->getX() + 140);;
                            $img_y = $pdf->getY() - 5;
                            $img_path = $aobj_context->main_src . "/img/Sign Principal.jpg";
                            if (file_exists($img_path))
                                $pdf->Image($img_path, $img_x, $img_y, 25);
                        }
                        $pdf->Cell(36, 5, 'Principal / H.O.D. Signature with seal', '0', 1, 'L');
                    }
                }
            }
            $pdf->Cell(0, 5, 'Signature of the Student', '0', 1, 'R');
            $date = date("F j, Y, g:i a");
            if ($FUNIVCODE == '003' || $FUNIVCODE == '008' || $FUNIVCODE == '003U' || $FUNIVCODE == '003D') {
                $pdf->Cell(160, 5, "Date: ", '0', 0, 'R');
            } else
                $pdf->Cell(0, 5, "Date: {$date}", '0', 1, 'R');
        }
        if ($FUNIVCODE != '016' && $FUNIVCODE != '008' && $FUNIVCODE != '034' && $FUNIVCODE != '033' && $FUNIVCODE != '017' && $FUNIVCODE != '003') {
            $pdf->Ln(8);
            $pdf->SetFont('Times', '', 10);
            $date_str = $class_obj->std_FHTTEXT;
            $text1 = str_replace("<br>", "\n", $class_obj->std_FHTTEXT);
            $text = str_replace("<r>", "\t", $text1);
            $pdf->writeHTML($date_str, $ln = true, $fill = false, $reseth = true, $cell = true, $align = 'L');
        }
        if ($page_cnt != count($class_obj->std_arr)) {
            $pdf->AddPage();
            $pdf->Rect(5, 5, 200, 280, 'D');
        }
        $page_cnt++;
        //var_dump($main_src."halltickets/HT_" . $FUNIVCODE . "_" . $reg_v['FREGNO']. ".pdf");
        $pdf->Output($main_src . "halltickets/HT_" . $FUNIVCODE . "_" . $reg_v['FREGNO'] . ".pdf", "F");
        $page_cnt++;
        //var_dump($page_cnt);
    }
}
function NbLines($w, $txt, $pdf)
{
    //Computes the number of lines a MultiCell of width w will take
    $cw = &$pdf->CurrentFont['cw'];
    if ($w == 0)
        $w = $pdf->w - $pdf->rMargin - $pdf->x;
    $wmax = ($w - 2 * $pdf->cMargin) * 1000 / $pdf->FontSize;
    $s = str_replace("\r", '', $txt);
    $nb = strlen($s);
    if ($nb > 0 and $s[$nb - 1] == "\n")
        $nb--;
    $sep = -1;
    $i = 0;
    $j = 0;
    $l = 0;
    $nl = 1;
    while ($i < $nb) {
        $c = $s[$i];
        if ($c == "\n") {
            $i++;
            $sep = -1;
            $j = $i;
            $l = 0;
            $nl++;
            continue;
        }
        if ($c == ' ')
            $sep = $i;
        $l += $cw[$c];
        if ($l > $wmax) {
            if ($sep == -1) {
                if ($i == $j)
                    $i++;
            } else
                $i = $sep + 1;
            $sep = -1;
            $j = $i;
            $l = 0;
            $nl++;
        } else
            $i++;
    }
    return $nl;
}