!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.75 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:     2552-05-19-1.0.03-clsTimeTableAssess.php (8.77 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class base_timetableassess--------------------------
//--PK of base_timetableassess ::
//    1. ttId
//    2. ttClId
//    3. ttDyId
//    4. ttFrPr
//    5. ttToPr
//    6. ttOfId
//    7. ttSstId

//include_once "Db.php";

class TimeTableAssess extends clsDB{

var 
$result;
var 
$status;

var 
$ttId;
var 
$ttClId;
var 
$ttMainPlace;
var 
$ttSubPlace;
var 
$ttFlagPlace;
var 
$ttWdAcYWeekNo;
var 
$ttDyId;
var 
$ttFrPr;
var 
$ttToPr;
var 
$ttOfId;
var 
$ttSstId;
var 
$ttTitle;

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->ttMainPlace', '$this->ttSubPlace', '$this->ttFlagPlace', '$this->ttWdAcYWeekNo', '$this->ttDyId', '$this->ttFrPr', '$this->ttToPr', '$this->ttOfId', '$this->ttSstId', '$this->ttTitle')";
    }else {
        
$sql "update TimeTableAssess set ttClId='$this->ttClId', ttMainPlace='$this->ttMainPlace', ttSubPlace='$this->ttSubPlace', ttFlagPlace='$this->ttFlagPlace', ttWdAcYWeekNo='$this->ttWdAcYWeekNo', ttDyId='$this->ttDyId', ttFrPr='$this->ttFrPr', ttToPr='$this->ttToPr', ttOfId='$this->ttOfId', ttSstId='$this->ttSstId', ttTitle='$this->ttTitle' 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->ttMainPlace $this->result['ttMainPlace'];
        
$this->ttSubPlace $this->result['ttSubPlace'];
        
$this->ttFlagPlace $this->result['ttFlagPlace'];
        
$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'];
        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,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'");
}

//--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.0152 ]--