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
<?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;
}
|