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


Current Path : /var/www/oasis/Report_details_old/
Upload File :
Current File : /var/www/oasis/Report_details_old/generatePostAdmissionTicket.php

<?php

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, c.FEXAMCNTR,
		ec.FCOLLNAME AS exam_center_name,
		CONCAT(c.FCOLLADD1,SPACE(2), c.FTOWN,'\n',c.FEXAMCNTR) AS COLLEGE_ADRS 
		FROM college c LEFT JOIN college ec ON ec.FCOLLCODE=c.FEXAMCNTR
		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->FEXAMCNTR = $lobj_page_header_college['FEXAMCNTR'];
		$this->exam_center_name = $lobj_page_header_college['exam_center_name'];
		$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 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();
		$pdf= new TCPDF();;
		$pdf->SetMargins(9,3,15);	
		$pdf->aobj_context =$aobj_context ;
		$pdf->WhichReport = 'AdmissionTicket';
		$pdf->SetFillColor(248, 248 ,255);		
		$pdf->SetFont('Times','',10);
		$pdf->AddPage();
		$pdf->SetMargins(9,3,15);
		if($FUNIVCODE != '027')
			$pdf->Rect(5,05,195,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;
			}
			//for gcm edited on 15/11/2016 for no photo /with photo
			$full_photo_path="";
			$full_photo_path=trim($aobj_context->main_src."/".$reg_v[photo_path]);	
			
	
				$funivname = $class_obj->std_FUNIVNAME;

				$pdf->Ln(2);
				$pdf->SetLineWidth(0.01);
				$pdf->SetFont('Times','B',14);
				$img_path = $aobj_context->main_src."/".$aobj_context->mobj_data["db"]."/img/report_uni_logo.jpg";
				if(file_exists($img_path)) 
				$pdf->Image($img_path,10,6,25);
				$pdf->Ln(1);

				$pdf->Cell(0,4,$funivname,0,1,'C');
				$pdf->SetFont('Times','B',9);
				$pdf->Cell(0,4,$class_obj->std_FUNIVADD1,0,1,'C');
				
				
				$pdf->SetFont('Times','B',12);
				$pdf->Cell(0,5,'ADMISSION 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(3);
				$width = 124;	
				////////////////////////////////////
				$nb =0;
				$pdf->SetFont('Times','',8);
				$value = $reg_v['FCOLLCODE']." - ".$reg_v['CollDetails'];
				$nb=max($nb,NbLines(50,$value,''));
				$yH = 7*$nb;
				
				if(file_exists($full_photo_path) && !empty($reg_v[photo_path]))
				{
					$pdf->Image($full_photo_path,165,30,30,32);				
				}
		/* 		else if($FUNIVCODE == '017')
				{
					continue;
				} */
				else
				{
					$pdf->Image($aobj_context->main_src."/img/nophotoborder.jpg",165.5,31,27,28);				
				}
				$pdf->Ln(2);
				

				$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); 
				if($FUNIVCODE == '029')
					$pdf->Cell(120,6,''.$reg_v['CollDetails'],0,1,"L");
				else
					$pdf->Cell(120,6,''. $reg_v['FCOLLCODE']." - ".$reg_v['CollDetails'],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','B',10); 
				$pdf->Cell(120,6,''.$reg_v['FNAME'],0,1,'L');
		
				/*$pdf->SetFont('Times','B',9); 
				$pdf->Cell(25,6,' Reg. No.',0,0,'L'); $pdf->Cell(3,6,' :  ',0,0,'L');
				$pdf->SetFont('Times','B',9); 
				$pdf->Cell(120,6,''.$reg_v['FREGNO'],0,1,'L');*/
				/*$x = $pdf->getX();
				$y = $pdf->getY();
					$pdf->Rect($x,05,$y,5,'D');*/

				$pdf->SetLineStyle(array('width' => 0.01, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(91, 91, 91)));	
				$pdf->ln(2);
				$pdf->SetFont('Times','B',12); 
				$pdf->Cell(27,6,' Reg. No.',1,0,'L'); 
				$pdf->SetFont('Times','B',12); 
				$pdf->Cell(5,6,substr($reg_v['FREGNO'],0,1),1,0,'C');
				$pdf->Cell(5,6,substr($reg_v['FREGNO'],1,1),1,0,'C');
				$pdf->Cell(5,6,substr($reg_v['FREGNO'],2,1),1,0,'C');
				$pdf->Cell(5,6,substr($reg_v['FREGNO'],3,1),1,0,'C');
				$pdf->Cell(5,6,substr($reg_v['FREGNO'],4,1),1,0,'C');
				$pdf->Cell(5,6,substr($reg_v['FREGNO'],5,1),1,0,'C');
				$pdf->Cell(5,6,substr($reg_v['FREGNO'],6,1),1,0,'C');
				$pdf->Cell(5,6,substr($reg_v['FREGNO'],7,1),1,0,'C');
				$pdf->Cell(5,6,'',0,0,'C');
				$pdf->Cell(24,6,"Student Id. ",1,0,'L');
				$pdf->Cell(5,6,substr($reg_v['fstudid'],0,1),1,0,'L'); 
				$pdf->Cell(5,6,substr($reg_v['fstudid'],1,1),1,0,'L'); 
				$pdf->Cell(5,6,substr($reg_v['fstudid'],2,1),1,0,'L'); 
				$pdf->Cell(5,6,substr($reg_v['fstudid'],3,1),1,0,'L'); 
				$pdf->Cell(5,6,substr($reg_v['fstudid'],4,1),1,0,'L'); 
				$pdf->Cell(5,6,substr($reg_v['fstudid'],5,1),1,0,'L'); 
				$pdf->Cell(5,6,substr($reg_v['fstudid'],6,1),1,0,'L'); 
				$pdf->Cell(5,6,substr($reg_v['fstudid'],7,1),1,1,'L'); 
				$pdf->ln(2);
				$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,7,''. $reg_v['FEXAMCNTR']." - ".$reg_v['exam_center_name'],0,1,'L');	
				
				
				if($FUNIVCODE == '008' || $FUNIVCODE == '035')
				{
					$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');
				}

			$style = array(
						'position' => 'right',
						'align' => 'C',
						'stretch' => false,
						'fitwidth' => true,
						'cellfitalign' => '',
						'border' => false,
						'hpadding' => 'auto',
						'vpadding' => 'auto',
						'fgcolor' => array(0,0,0),
						'bgcolor' => false, //array(255,255,255),
						'text' => true,
						'font' => 'helvetica',
						'fontsize' => 8,
						'stretchtext' => 4
			);
			
			$pdf->write1DBarcode($reg_v['FREGNO'], 'C39', '145', '65','130', 16, 0.3, $style, 'R');
			
				
			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.No.','Date','Time','Sub Code','Subject Title','Invigilator`s Signature');
				$title2 = array('','','','','');
				$w = array('9','15','29','16','85','33'); //10 
			}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.','','Code','','Code','','Book No.','Signature');
				$w = array('7','7','10','70','14','43','18','18');
			} 
				$length = $w[6]+$w[5]+$w[0]+$w[1]+$w[2]+$w[3]+$w[4];
				$pdf->Ln(1);
				$pdf->SetFont('Times','B',10);
				if($FUNIVCODE == '029')
					$pdf->Cell($length,5,"SUBJECT'S APPEARING",0,1,'C');
				else
					$pdf->Cell($length,5,'SUBJECTS / PAPERS APPEARING',0,1,'C');
				$pdf->SetFont('Times','B',9);
				
				$length = (count($w) -1);
				for($i = 0;$i<count($w);$i++)
				{
					 if($FUNIVCODE != '029')
					 {	 
						if($i == $length)
							$pdf->Cell($w[$i],6,$title1[$i],"LRT",1,"C");
						else
							$pdf->Cell($w[$i],6,$title1[$i],"LRT",0,"C");
					 }
					 else
					 {
						 if($i == $length)
							$pdf->Cell($w[$i],6,$title1[$i],"1",1,"C");
						else
							$pdf->Cell($w[$i],6,$title1[$i],"1",0,"C");
						 
					 }
					
				}
				
				 if($FUNIVCODE != '029')
				 {
					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);
				//var_dump($subj_arr);
				$sl_no=1;
				$j = 0;
				$curexam = '';
				$fremarks = $reg_v['FREMARKS'];
				foreach($subj_arr as $ek)
				{								
					$explode_arr = explode("->",$ek);
										
					$sem = '';
					//var_dump($explode_arr[0]);
					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';
					}
					
					if($FUNIVCODE == '029')
					{	
						$nb =0;
						$pdf->SetFont('Times','',8);
						$nb=max($nb,NbLines($w[3],$explode_arr[2],''));
						$yH = 5*$nb;
						$pdf->Cell($w[0],$yH, $sl_no,"1",0,"C");
						
						$date = substr($explode_arr[5],0,10);
						$time = substr($explode_arr[5],10,100);
						$pdf->Cell($w[1],$yH, $date,"1",0,"C");
						$pdf->Cell($w[2],$yH, $time,"1",0,"C");
						
						$pdf->Cell($w[3],$yH, $explode_arr[6],"1",0,"C");
						$sub_short=$explode_arr[6];
						$x=$pdf->GetX();
						$y=$pdf->GetY();
						$subjectname = str_splitf($explode_arr[2],49);
						$pdf->Rect($x,$y,$w[4],$yH);
						
						$pdf->MultiCell($w[4],$yH,$explode_arr[2],0,'L', 0, 0, '', '', true);
					}else
					{
						$nb =0;
						$pdf->SetFont('Times','',9);
						$nb=max($nb,NbLines($w[2],$explode_arr[2],''));
						$yH = 8*$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[6];
						$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, 0, false, true, $yH, 'M');
						// $pdf->MultiCell($w[3],$yH,$explode_arr[2],0,'L', 0, 0, '', '', true);
					}
					
				
					$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')
					{
						//var_dump($explode_arr);
						//$pdf->SetXY($x+$w[2],$y);
						$pdf->SetFont('Times','',9);
						//$pdfCell($w[3], $yH,$explode_arr[5], 'LRB', 1, 'L');
						$pdf->SetXY($x+$w[4],$y);	
						$pdf->Cell($w[5], $yH,'', 'LRB', 1, 'L');						
					}
					else
					{
						$pdf->SetFont('Times','B',8);
						//if($fremarks == 'NULL')
						//{
							$fremarks = $explode_arr[3];
							$pdf->Cell($w[4], $yH, $sub_short, 'LRB', 1, 'C');
							$pdf->SetFont('Times','',8);
							if($fremarks == '')
							{
								$pdf->SetXY($x+$w[3]+$w[4],$y);
								$pdf->Cell($w[5], $yH, $explode_arr[5], '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');
							}else
							{
								$pdf->SetFont('Times','',9);
								$pdf->SetXY($x+$w[3]+$w[4],$y);
								$pdf->Cell($w[5]+$w[6]+$w[7], $yH, $fremarks, 'LBR', 1, 'C');
							
							}
					}
					$sl_no++;	
					$j++;
				}
				
				
			
				$pdf->SetFont('Times','',7);	
				$pdf->Ln(4);
				$pdf->SetFont('Times','',9);
				$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');
				
	
				$pdf->SetFont('Times','B',9);
				$img_x=($pdf->getX()+147);;
				$img_y=$pdf->getY()+10;
				
				$img_path = $aobj_context->main_src."/img/controler_sign.jpg";
				if(file_exists($img_path)) 
					$pdf->Image($img_path,$img_x,$img_y+2,30,15);
					$pdf->Ln(25);
					$pdf->Cell(130,5,'Student Signature','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');
						$pdf->SetFont('Times','',9);
						$pdf->Ln(10);
						//$pdf->Cell(110,5,'','0',0,'L');
						if($FUNIVCODE == '029')
							$pdf->Cell(0,5,'I certify that this candidate is eligible to appear for the current examination','0',1,'C');
						else
							$pdf->Cell(0,5,'I certify that this candidate is eligible to appear for the current examination','0',1,'R');
						//$pdf->Cell(36,5,'I certify that this candidate is eligible to appear for the','0',0,'L');			
						//$pdf->Ln(5);
						
						//$pdf->Cell(36,5,'                                                                                                                                           current examination as per the details mentioned above','0',1,'L');			
						$img_x=($pdf->getX()+140);;
						$img_y=$pdf->getY()-1;
						$img_path=$aobj_context->main_src."/img/signature_principal.jpg";
						if(file_exists($img_path)) 
						$pdf->Image($img_path,$img_x,$img_y,25);
						$pdf->Ln(8);
						date_default_timezone_set("Asia/Calcutta");
						$pdf->SetFont('Times','B',9);
						//$pdf->Cell(36,5,'                                                                                                                                                                  Principal Signature with seal','0',1,'R');
						$date = date("F j, Y, g:i a");
						$pdf->Cell(140,5,"Date: {$date}",'0',0,'L');
						if($FUNIVCODE == '029')
							$pdf->Cell(0,5,'Signature of the Head of the Institution with College Seal','0',1,'R');
						else
							$pdf->Cell(0,5,'Principal Signature with seal','0',1,'R');			
							$pdf->SetFont('Times','',9);
					

				if($page_cnt!=count($class_obj->std_arr))
				{
					$pdf->AddPage();
					if($FUNIVCODE != '027')
					{	
						//$pdf->Line($x,$y,$x+184,$y);
						$pdf->Rect(02,03,200,280);
					}	
				}
				$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;
 }
?>