!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/eassess/admin/fileupdate/eassess/class/   drwxr-xr-x
Free 50.76 GB of 127.8 GB (39.71%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     2553-02-24-1.0.06-clsTimeTableAssess.php (11.23 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class TimeTableAssess--------------------------
//--PK of TimeTableAssess ::
//    1. ttId
//    2. ttClId
//    3. ttDyId
//    4. ttFrPr
//    5. ttToPr
//    6. ttOfId
//    7. ttSstId

class TimeTableAssess extends clsDB{

var 
$result;
var 
$status;

var 
$ttId;
var 
$ttClId;
var 
$ttWdAcYWeekNo;
var 
$ttDyId;
var 
$ttFrPr;
var 
$ttToPr;
var 
$ttOfId;
var 
$ttSstId;
var 
$ttTitle;
var 
$ttRmId;
var 
$ttEpMepId;
var 
$ttEpSepId;
//var $mepName;
//var $sepName;
function TimeTableAssess(&$c){
    
$this->c=$c->c;
    
$this->DB=$c->db;
}
function 
AddNew(){
//--ใช้เมธอดนี้เมื่อต้องการเพิ่มข้อมูลใหม่
//--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 1
    
$this->status 1;
}

function 
Edit(){
//--ใช้เมธอดนี้เมื่อต้องการปรับปรุงข้อมูล
//--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 2
    
$this->status 2;
}

function 
Save(){
//--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
//--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
//--1 เป็นข้อมูลใหม่  2 เป็นข้อมูลเดิม
    
if ($this->status==1){
        
//$this->Array=$this->GetNextCode();
        
$sql "insert into TimeTableAssess values('$this->ttId', '$this->ttClId', '$this->ttWdAcYWeekNo', '$this->ttDyId', '$this->ttFrPr', '$this->ttToPr', '$this->ttOfId', '$this->ttSstId', '$this->ttTitle', '$this->ttRmId', '$this->ttEpMepId', '$this->ttEpSepId')";
    }else {
        
$sql "update TimeTableAssess set ttClId='$this->ttClId', ttWdAcYWeekNo='$this->ttWdAcYWeekNo', ttDyId='$this->ttDyId', ttFrPr='$this->ttFrPr', ttToPr='$this->ttToPr', ttOfId='$this->ttOfId', ttSstId='$this->ttSstId', ttTitle='$this->ttTitle', ttRmId='$this->ttRmId', ttEpMepId='$this->ttEpMepId', ttEpSepId='$this->ttEpSepId' where ttId='$this->ttId' and ttClId='$this->ttClId' and ttDyId='$this->ttDyId' and ttFrPr='$this->ttFrPr' and ttToPr='$this->ttToPr' and ttOfId='$this->ttOfId' and ttSstId='$this->ttSstId'";
    }
    
$this->SetQuery($sql);
}

function 
Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
    
$this->SetQuery("delete from TimeTableAssess where ttId='$this->ttId' and ttClId='$this->ttClId' and ttDyId='$this->ttDyId' and ttFrPr='$this->ttFrPr' and ttToPr='$this->ttToPr' and ttOfId='$this->ttOfId' and ttSstId='$this->ttSstId'");
}

function 
GetNextCode(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
    
$this->SetQuery("select max(ttId) as num from TimeTableAssess");
    if (
$result=$this->GetResult()) {
        return 
$result['num']+1;
    }
}

function 
RSTimeTableAssess(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
    
$this->SetQuery("select * from TimeTableAssess");
}

function 
GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
    
if ($this->result $this->GetResult()) {
        
$this->ttId $this->result['ttId'];
        
$this->ttClId $this->result['ttClId'];
        
$this->ttWdAcYWeekNo $this->result['ttWdAcYWeekNo'];
        
$this->ttDyId $this->result['ttDyId'];
        
$this->ttFrPr $this->result['ttFrPr'];
        
$this->ttToPr $this->result['ttToPr'];
        
$this->ttOfId $this->result['ttOfId'];
        
$this->ttSstId $this->result['ttSstId'];
        
$this->ttTitle $this->result['ttTitle'];
        
$this->ttRmId $this->result['ttRmId'];
        
$this->ttEpMepId $this->result['ttEpMepId'];
        
$this->ttEpSepId $this->result['ttEpSepId'];

//        $this->mepName = $this->result['mepName'];
//        $this->sepName = $this->result['sepName'];
        
return 1;
    }else {
        return 
0;
    }
}

function 
SearchByKey($xKey1$xKey2$xKey3$xKey4$xKey5$xKey6$xKey7){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
    
if ($this->SetQuery("select * from TimeTableAssess where ttId='$xKey1' and ttClId='$xKey2' and ttDyId='$xKey3' and ttFrPr='$xKey4' and ttToPr='$xKey5' and ttOfId='$xKey6' and ttSstId='$xKey7'")){
        return 
1;
    }else {
        return 
0;
    }
}

function 
NumRow(){
//--เป็นเมธอดที่คืนค่าจำนวนข้อมูลจากการ select โดยเมธอด RSxxxx
    
return $this->GetRowSelected();
}

function 
Destroy(){
//--เป็นเมธอดสำหรับปิดการติดต่อจากฐานข้อมูล
    
return $this->DestroyDb();
}

//****************** You can add new functions below **********************//
function DeleteTimeTableByAcadSem($xacadYear,$xsemester){
    return 
$this->Dml("delete tt.* from TimeTableAssess tt
                        join ClassAssess ca 
                        on ttClId=classId 
                        where acadYear='$xacadYear' 
                        and semester='$xsemester'"
);
}

function 
searchDistinctClIdByAcadSem($xacadYear,$xsemester){
    return 
$this->SetQuery("select distinct ttClId
                        from TimeTableAssess 
                        join ClassAssess
                        on ttClId=classId
                        where acadYear='$xacadYear'
                        and semester='$xsemester'"
);
}

function 
searchByClIdAcadSem($cl,$acadYear,$semester){
    return 
$this->SetQuery("select *
                        from TimeTableAssess 
                        join ClassAssess
                        on ttClId=classId
                        where acadYear='$acadYear'
                        and semester='$semester'
                        and ttClId='$cl'
                        order by ttWdAcYWeekNo,ttDyId ,ttFrPr"
);
}

//-------------
function RSTimeTableByAcYSeM($xacadYear$xsemester){
    
$this->SetQuery("select tt.* from TimeTableAssess tt
                        join ClassAssess ca 
                        on ttClId=classId 
                        where acadYear='$xacadYear' 
                        and semester='$xsemester'"
);
}
function 
RSClIdAcYTmAndBetweenSCDate($cl,$acY,$tm,$scDate){
    
$this->SetQuery("SELECT tt.* FROM TimeTableAssess tt 
                        JOIN WeekDateAssess wd 
                        ON ttWdAcYWeekNo=wdAcYWeekNo 
                        WHERE ttClId='$cl' 
                        and wdAcY='$acY' 
                        and wdTmId='$tm' 
                        and '$scDate' 
                        between wdFrDate 
                        and wdToDate "
);
}
function 
SearchByClassIdGroupOfficerId($xKey){
    
$this->SetQuery("select * from TimeTableAssess 
                        where ttClId='$xKey' 
                        group by ttClId, ttOfId"
);
}

function 
RSTimeTableByWdAcYWeekLessthenThisWeek($cl,$acY,$tm,$scDate){
    
$this->SetQuery("SELECT distinct tt FROM TimeTableAssess tt 
                        JOIN WeekDateAssess wd 
                        ON ttWdAcYWeekNo=wdAcYWeekNo 
                        WHERE ttClId='322' 
                        and wdAcY='$acY' 
                        and wdTmId='$tm' 
                        and wdAcYWeekNo <= (
                            select wdAcYWeekNo 
                            from WeekDateAssess 
                            where '$scDate' 
                            between wdFrDate and wdToDate
                            and wdAcY='$acY' 
                            and wdTmId='$tm'
                            ) 
                    "
);
}
function 
SearchTimeTableByttId($key){
    
$this->SetQuery("SELECT * FROM TimeTableAssess WHERE ttId='$key' order by ttWdAcYWeekNo,ttFrPr");
}

function 
RSDistinctClassId(){
    
$this->SetQuery("select distinct tt.ttClId
                    from TimeTableAssess tt 
                    join ( select * 
                            from HoldCourseTmp 
                            where 1
                            )A
                    on tt.ttId=A.ttId"
);
}

function 
RSDistinctClassIdJoinHC($defineid){
    
$this->SetQuery("select distinct tt.ttClId
                    from TimeTableAssess tt 
                    join ( select * 
                            from HoldCourse 
                            where defineid='$defineid' 
                            )A
                    on tt.ttId=A.ttId"
);


function 
RSJoinHCByDefineidClId($defineid,$cl){
    
$this->SetQuery("select tt.*
                    from TimeTableAssess tt 
                    join ( select * 
                            from HoldCourse 
                            where defineid='$defineid' 
                            )A
                    on tt.ttId=A.ttId
                    where tt.ttClId='$cl' 
                    order by ttWdAcYWeekNo,ttFrPr"
);
}

function 
RSJoinHCByDefineidClIdNotIsPre($defineid,$cl,$wd,$day){
    
$this->SetQuery("select tt.*
                    from TimeTableAssess tt 
                    join ( select * 
                            from HoldCourse 
                            where defineid='$defineid' 
                            )A
                    on tt.ttId=A.ttId
                    where tt.ttClId='$cl' 
                    and ttWdAcYWeekNo <= '$wd' and ttDyId < '$day' 
                    order by ttWdAcYWeekNo,ttFrPr"
);
}

function 
RSDistinctOfId($classId){
    
$this->SetQuery("select distinct ttOfId
                    from TimeTableAssess
                    where ttClId=$classId order by ttOfId"
);



function 
RSJoinHCByDefineidClIdOfId($defineid,$cl,$Of){
    
$this->SetQuery("select tt.*
                    from TimeTableAssess tt 
                    join ( select * 
                            from HoldCourse 
                            where defineid = '$defineid' 
                            )A
                    on tt.ttId = A.ttId
                    where tt.ttClId = '$cl' 
                    and tt.ttOfId = '$Of' 
                    order by ttWdAcYWeekNo,ttFrPr"
);
}

function 
SearchMaxWeekByClIdOfId($cl,$Of){
    
$this->SetQuery("select max(ttWdAcYWeekNo) as ttWdAcYWeekNo from TimeTableAssess
                                where ttClId = '$cl' and ttOfId = '$Of'"
);
}

function 
SearchByClassIdWeekNoOrderMaxDyId($cl,$wd){
    
$this->SetQuery("select * from TimeTableAssess 
                        where ttClId='$cl' 
                        and ttWdAcYWeekNo = '$wd'
                        order by ttDyId desc "
);
}

function 
RSTimeTableAssessByClId($clId){
    
$this->SetQuery("select * from TimeTableAssess where ttClId='$clId'");
}

function 
RSMepSepByClassId($cl) {
    
$this->SetQuery("SELECT mep.mepId AS ttEpMepId , sep.sepId AS ttEpSepId
                FROM TimeTableAssess tt
                JOIN ea_MainExternalPlace mep ON ttEpMepId = mepId
                JOIN ea_SubExternalPlace sep ON ttEpSepId = sepId
                WHERE ttClId = '$cl'
                GROUP BY mepId, sepId
                "
);
}

function 
RSHoldPlaceByAcYSePgCo($acY,$se,$pg,$co){
    
$sql "
            SELECT mep.mepId AS ttEpMepId , sep.sepId AS ttEpSepId
            FROM ClassAssess cl
            JOIN TimeTableAssess tt
                ON ttClId = cl.classId
            JOIN ea_MainExternalPlace mep
                ON ttEpMepId = mepId
            JOIN ea_SubExternalPlace sep
                ON ttEpSepId = sepId
            LEFT JOIN ClassOpenForAssess cof
                ON cl.classId = cof.classId
            WHERE acadYear = '$acY'
            AND semester = '$se'
            AND ( cl.programId = '$pg' OR cof.programId = '$pg' )
            AND courseId = '$co'
            GROUP BY mepId, sepId
        "
;
    if(
$this->SetQuery($sql))
    {
        return 
1;
    }else{
        return 
0;
    }
}

function 
RSMainPlaceByAcYSePgCo($acY,$se,$pg,$co){
    
$sql "
        SELECT DISTINCT (ttEpMepId)
        FROM ClassAssess cl
        JOIN TimeTableAssess tt ON tt.ttClId = cl.classId
        LEFT JOIN ClassOpenForAssess cof ON cl.classId = cof.classId
        WHERE acadYear = '$acY'
        AND semester = '$se'
        AND cl.courseId = '$co'
        AND (
        cl.programId = '$pg'
        OR cof.programId = '$pg'
        )
        ORDER BY ttEpMepId
"
;
    if(
$this->SetQuery($sql))
    {
        return 
1;
    }else{
        return 
0;
    }
}

function 
RSSubPlaceByAcYSePgCoMep($acY,$se,$pg,$co,$mep){
    
$sql "
        SELECT DISTINCT (ttEpSepId)
        FROM ClassAssess cl
        JOIN TimeTableAssess tt ON tt.ttClId = cl.classId
        JOIN ea_ExternalPlace ep ON epSepId = ttEpSepId
        LEFT JOIN ClassOpenForAssess cof ON cl.classId = cof.classId
        WHERE acadYear = '$acY'
        AND semester = '$se'
        AND cl.courseId = '$co'
        AND epMepId = '$mep'
        AND (
        cl.programId = '$pg'
        OR cof.programId = '$pg'
        )
        ORDER BY ttEpSepId
"
;
    if(
$this->SetQuery($sql))
    {
        return 
1;
    }else{
        return 
0;
    }
}

//--End class TimeTableAssess--
}

?>

:: 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 ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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