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


Viewing file:     clsdept.php (11.4 KB)      -rwxr-xr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class base_department--------------------------
//--PK of base_department ::
//    1. deptId

include_once "clsDB.php";

class 
Department extends db{

var 
$result;

var 
$deptId;
var 
$deptName;
var 
$deptDesc;
var 
$deptCode;
var 
$deptParent;
var 
$deptYear;
var 
$deptDate;
var 
$deptRef;
var 
$pbriId;
var 
$deptflag;

function 
Department(&$c){
    
$this->c=$c;
}

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

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

function 
Save(){
//--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
//--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
//--1 เป็นข้อมูลใหม่  2 เป็นข้อมูลเดิม
    
if ($this->status==1){
        
//$this->deptId=$this->GetNextCode();
        
$sql "insert into Department values('$this->deptId', '$this->deptName', '$this->deptDesc', '$this->deptCode', '$this->deptParent', '$this->deptYear', '$this->deptDate', '$this->deptRef', '$this->pbriId', '$this->deptflag')";
    }else {
        
$sql "update Department set deptName='$this->deptName', deptDesc='$this->deptDesc', deptCode='$this->deptCode', deptParent='$this->deptParent', deptYear='$this->deptYear', deptDate='$this->deptDate', deptRef='$this->deptRef', pbriId='$this->pbriId', deptflag='$this->deptflag' where deptId='$this->deptId'";
    }
    
//echo ">>>>>>>>".$sql;
    
return $this->Dml($sql);
}

function 
Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
    
return $this->Dml("delete from Department where deptId='$this->deptId'");
}

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

function 
GetNextCodeByCond($fieldnameindex="0"$cond="1"$delim="/"$count="1"){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่กำหนดตามเงื่อนไขที่ได้รับมา ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
//--ตัวแปร fieldnameindex = อินเดกซ์ของ field ที่ต้องการหาค่าสูงสุด
//--ตัวแปร cond = เงื่อนไขของ query ในการหาค่าสูงสุด
//--ตัวแปร delim= ตัวแยกข้อมูลของ field ที่เลือกมาและเป็น string
//--ตัวแปร count= กำหนดข้อมูลที่ต้องการแสดงโดยนับจากข้อมูลที่ถูกแบ่งจากตัว delim แล้ว
    
$this->SetQuery("select max(substring_index(".mysql_field_name($this->SetQuery("select * from Department"), $fieldnameindex).", '$delim', $count)) as num from Department where $cond");
    if (
$result=$this->GetResult()) {
        return 
$result['num']+1;
    }
}

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

function 
RSDepartment($cond="1"){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
    
$this->SetQuery("select * from Department where deptParent=$cond and deptName != 'วิทยาลัยการสาธารณสุขสิรินธร' order by deptId");
}

function 
GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
    
if ($this->result $this->GetResult()) {
        
$this->deptId $this->result['deptId'];
        
$this->deptName $this->result['deptName'];
        
$this->deptDesc $this->result['deptDesc'];
        
$this->deptCode $this->result['deptCode'];
        
$this->deptParent $this->result['deptParent'];
        
$this->deptYear $this->result['deptYear'];
        
$this->deptDate$this->result['deptDate'];
        
$this->deptRef $this->result['deptRef'];
        
$this->pbriId $this->result['pbriId'];
        
$this->deptflag $this->result['deptflag'];
        return 
1;
    }else {
        return 
0;
    }
}

function 
SearchByKey($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
    
if ($this->SetQuery("select * from Department where deptId= '$xKey'")){ 
        return 
1;
    }else {
        return 
0;
    }
}

function 
GetCustomRecord($query){
//--ใช้เมธอดนี้ในกรณีที่ต้องการกำหนด query ด้วยตนเอง
    
$this->SetQuery($query);

    
$this->result=$this->GetResult();
    return 
$this->result;
}

function 
selectHTML($name$ID=""){
    
$s="<select name=\"$name\">\n";
    
$s.="<option value=\"0\">---เลือกหน่วยงานย่อยที่สังกัด---\n";
    
$this->RSDepartment();
    while(
$this->GetRecord()){
        
$s.="<option value=\"$this->deptId\" ";
        
$s.=($this->deptId==$ID) ? "Selected" "" ;
        
$s.=">$this->deptName\n";    
    }
    return 
$s.="</select>\n";
}

function 
selectHTMLNew($name$ID=""){ 
    
$s="<select name=\"$name\">\n";
    
$s.="<option value=\"0\">---เลือกหน่วยงานย่อยที่สังกัด---\n";
    
$this->RSDepartmentEmptyDate();
    while(
$this->GetRecord()){
        
$s.="<option value=\"$this->deptId\" ";
        
$s.=($this->deptId==$ID) ? "Selected" "" ;
        
$s.=">$this->deptName\n";    
    }
    return 
$s.="</select>\n";
}

function 
selectHTMLNow($name$ID=""){ 
    
$s="<select name=\"$name\">\n";
    
$s.="<option value=\"0\">---เลือกหน่วยงานย่อยที่สังกัด---\n";
    
$this->RSDepartmentMaxDate();
    while(
$this->GetRecord()){
        
$s.="<option value=\"$this->deptId\" ";
        
$s.=($this->deptId==$ID) ? "Selected" "" ;
        
$s.=">$this->deptName\n";    
    }
    return 
$s.="</select>\n";
}

function 
selectHTMLNowCon($name$ID=""){ 
    
$s="<select name=\"$name\">\n";
    
$s.="<option value=\"0\">---ไม่ผ่านหน่วยงานย่อยที่สังกัด---\n";
    
$this->RSDepartmentMaxDate();
    while(
$this->GetRecord()){
        
$s.="<option value=\"$this->deptId\" ";
        
$s.=($this->deptId==$ID) ? "Selected" "" ;
        
$s.=">$this->deptName\n";    
    }
    return 
$s.="</select>\n";
}

function 
RSdeptName($xKey){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
    
$this->SetQuery("select * from Department where deptName like '%$xKey%'  order by deptName ");
}
function 
RSdeptNameId($xKey){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
    
$maxdate $this->MaxDate();
    
$this->SetQuery("select * from Department where deptName like '%$xKey%' and deptDate = '$maxdate' and deptParent=1 order by deptId ");
}
 
function 
MaxDate(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
//$this->SetQuery("select max(deptDate) as num from Department ")
//$yy =GetbudYearTh(getNowDateTh());
//echo "select max(deptDate) as num from Department where deptYear ='$yy'";
    
$this->SetQuery("select max(deptDate) as num from Department ");
    if (
$result=$this->GetResult()) {
        return 
$result['num'];
    }
}
    
function 
RSDepartmentMaxDate(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate  and  deptParent=1 order by deptId";
   
$maxdate $this->MaxDate();
 
//  echo "select * from Department where deptDate = '$maxdate'  and  deptParent=1 order by deptId";
    
$this->SetQuery("select * from Department where deptDate = '$maxdate'  and  deptParent=1 order by deptId");
}

function 
RSDepartmentMaxDateNoOrandNOoBoss(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate  and  deptParent=1 order by deptId";
   
$maxdate $this->MaxDate();
    
$this->SetQuery("select * from Department where deptDate = '$maxdate'  and  deptParent=1 and (deptName!='วิทยาลัยการสาธารณสุขสิรินธร' and deptName != 'ผู้อำนวยการ') order by deptId");
}

function 
RSDepartmentMaxDateNoOr(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate  and  deptParent=1 order by deptId";
   
$maxdate $this->MaxDate();
    
$this->SetQuery("select * from Department where deptDate = '$maxdate'  and  deptParent=1 and deptName!='วิทยาลัยการสาธารณสุขสิรินธร'  order by deptId");
}

function 
SearchByDeptRef($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
    
if ($this->SetQuery("select * from Department where deptRef= '$xKey'")){ 
        return 
1;
    }else {
        return 
0;
    }
}

function 
RSDepartmentEmptyDate(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate  and  deptParent=1 order by deptId";
    
$this->SetQuery("select * from Department where deptDate = '0000-00-00'  and  deptParent=1 and  deptflag !='B' order by deptId");
}

function 
checkEmptyDateBudget($yy){
    if (
$this->SetQuery("select * from Department where deptDate = '0000-00-00'  and  deptParent=1 and  deptYear='$yy' and  deptflag ='B' ")){ 
        return 
1;
    }else {
        return 
0;
    }
}

function 
RSDepartmentMaxDateByKey($xKey){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
//echo "select * from Department where deptDate = $maxDate  and  deptParent=1 order by deptId";
   
$maxdate $this->MaxDate();
     if(
$xKey !=0)
     {
        
$this->SetQuery("select * from Department where deptDate = '$maxdate'  and   deptId= '$xKey'   and  deptParent=1 order by deptId");     
        }
     else
     {
        
$this->SetQuery("select * from Department where deptDate = '$maxdate'  and  deptParent=1 order by deptId");    
         }
}

// ---------- Start Esupport ----------
function GetMaxDeptDate(){
    
$this->SetQuery("select max(deptDate) as num from Department");
    if (
$result=$this->GetResult()) {
        return 
$result['num'];
    }
}

function 
RSDepartmentByDateOrderId($dpDate){
    
$this->SetQuery("select * from Department where deptDate='$dpDate' order by deptId");
}
// ---------- End Esupport ----------

// ---------- Start Esupport By Pao ----------
function RSDepartmentByGroupBydeptdate(){
    
$this->SetQuery("select * from Department GROUP BY deptDate ORDER BY deptDate");
}
// ---------- End Esupport By Pao----------

//--End class base_department--

?>

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