ACxml
时间:2006-10-11 来源:TX
class ACXML
{
var $FilePathNAMEIn;
var $XmlDataIn;
var $FilePathNAMEOut;
var $XmlDataOut;
var $XmlHandle;
var $PersonalInfo = array();
var $SystemInfo = array();
var $SoftWareInfo = array();
var $HardWareInfo = array();
var $FuncInfo = array();
var $CommonInfo = array();
var $PersonalInfoFlag = false;
var $SystemInfoFlag = false;
var $SoftWareInfoFlag = false;
var $HardWareInfoFlag = false;
var $FuncInfoFlag = false;
var $ClientVersion = array();
var $ACCientNum;
function ReadXMLFile($file)
{
$this->FilePathNAMEIn = $file;
// echo "$file is :
";
if(!file_exists($this->FilePathNAMEIn))
{
return AC_ERR_FIND_FILE;
}
if(!($fp = fopen($this->FilePathNAMEIn, "r")))
{
return AC_ERR_OPEN_FILE;
}
if(!feof($fp)){
$this->XmlDataIn .= fread($fp,strlen(""));
}
if(5==substr(phpversion(),0,1)){
$this->XmlDataIn=str_replace("gb2312","ISO-8859-1",$this->XmlDataIn);
$this->XmlDataIn=str_replace("GB2312","ISO-8859-1",$this->XmlDataIn);
}
while(!feof($fp))
{
$this->XmlDataIn .= fread($fp, 4096);
}
$str =$this->XmlDataIn;
// var_dump($str);
fclose($fp);
$this->XmlHandle = xmlize($this->XmlDataIn);
return AC_ERR_SUCCESS;
}
function ShowDebug()
{
traverse_xmlize($this->XmlHandle, "PIM");
print '' . implode("", $GLOBALS['traverse_array']) . '';
return;
}
function GetSoftWareInfo()
{
if(isset($this->XmlHandle["ASSETPACKAGE"]["Node"]["ITS_PCINFO_SOFTWARES"]))
{
$SoftInfoArr = $this->XmlHandle["ASSETPACKAGE"]["Node"]["ITS_PCINFO_SOFTWARES"][0]["Node"];
$CommonInfoArr = $this->XmlHandle["ASSETPACKAGE"]["Node"]["COMMON"][0]["Attr"];
if(is_array($SoftInfoArr))
{
$count = sizeof($SoftInfoArr["ITEM"]);
while(list($index, $value) = each($CommonInfoArr))
{
for($i = 0; $iSoftWareInfo[$i][$index] = $value;
}
}
for($i = 0; $iSoftWareInfo[$i][$index] = $value;
break;
default:
$this->SoftWareInfo[$i][$index] = $this->GetBase64($value);
}
}
}
$SoftInfoArr = $this->SoftWareInfo;
// var_dump($SoftInfoArr);
$this->SoftWareInfoFlag = true;
return AC_ERR_SUCCESS;
}
}
return AC_ERR_SW_PARSE;
}
function GetSystemInfo()
{
if(isset($this->XmlHandle["ASSETPACKAGE"]["Node"]["ITS_PCINFO_SYSTEM"]) ){
$SYSTEMInfoArr = $this->XmlHandle["ASSETPACKAGE"]["Node"]["ITS_PCINFO_SYSTEM"][0]["Node"]["ITS_PCINFO_OS"][0]["Node"]["ITEM"][0]["Attr"];
$CommonInfoArr = $this->XmlHandle["ASSETPACKAGE"]["Node"]["COMMON"][0]["Attr"];
$this->CommonInfo = $CommonInfoArr;
}
else
return AC_ERR_PERSONNAL_PARSE;
if(is_array($SYSTEMInfoArr))
{
while(list($index, $value) = each($SYSTEMInfoArr))
{
if(!strcmp($value, ""))
{
$value = " ";
}
switch($index)
{
case strtoupper("Os_install_date"):
case strtoupper("Os_serial_number"):
case strtoupper("Os_language"):
case strtoupper("Os_total_physical_memory_size"):
case strtoupper("Os_total_virtual_memory_size"):
$this->SystemInfo[$index] = $value;
break;
default:
$this->SystemInfo[$index] = $this->GetBase64($value);
break;
}
}
while(list($index, $value) = each($CommonInfoArr))
{
$this->SystemInfo[$index] = $value;
}
$SYSTEMInfoArr = $this->SystemInfo;
$this->SystemInfoFlag = true;
return AC_ERR_SUCCESS;
}
return AC_ERR_PERSONNAL_PARSE;
}
function GetPersonalInfo()
{
if($this->XmlHandle["SAVEUSERINFO"]["Attr"] != "")
{
$PersonalInfoArr = $this->XmlHandle["SAVEUSERINFO"]["Node"]["ITS_PERSONAL_INFO"][0]["Node"];
$CommonInfoArr = $this->XmlHandle["SAVEUSERINFO"]["Node"]["COMMON"][0]["Attr"];
}
else
return AC_ERR_PERSONNAL_PARSE;
// var_dump($PersonalInfoArr);
if(is_array($PersonalInfoArr))
{
while(list($SinglePersonalInfoIndex, $SinglePersonalInfoArr) = each($PersonalInfoArr))
{
if(is_array($SinglePersonalInfoArr))
{
// $SingleHardInfoIndex = "ITS_PCINFO_CPU";
$TempInfoArr = $SinglePersonalInfoArr;
//[0]["Attr"]
// var_dump($SinglePersonalInfoIndex);
while(list($index, $value) = each($TempInfoArr))
{
if(!strcmp($value, ""))
{
$value = " ";
}
$this->PersonalInfo[$SinglePersonalInfoIndex] = $value["Attr"]["VALUE"];
}
}
}
$PersonalInfoArr = $this->PersonalInfo;
// var_dump($PersonalInfoArr);
while(list($index, $value) = each($CommonInfoArr))
{
$this->PersonalInfo[$index] = $value;
}
$this->SystemInfoFlag = true;
return AC_ERR_SUCCESS;
}
$CommonInfoArr = $this->XmlHandle["FUNCTION"]["Node"]["COMMON"][0]["Attr"];
while(list($index, $value) = each($CommonInfoArr))
{
if(!strcmp($value, ""))
{
$value = " ";
}
$this->PersonalInfo[$index] = $value;
}
$this->CommonInfo = $CommonInfoArr;
$PersonalInfoArr = $this->PersonalInfo;
// var_dump(PersonalInfoArr);
$this->PersonalFlag = true;
return AC_ERR_PERSONNAL_PARSE;
}
function GetFuncTionInfo()
{
if(isset($this->XmlHandle["FUNCTION"]["Node"]) ){
$FuncInfoArr = $this->XmlHandle["FUNCTION"]["Node"]["ITEM"][0];
$CommonInfoArr = $this->XmlHandle["FUNCTION"]["Node"]["COMMON"][0]["Attr"];
$this->CommonInfo = $CommonInfoArr;
}
else
return AC_ERR_PERSONNAL_PARSE;
// var_dump($FuncInfoArr["Attr"]);
// echo "
";
//var_dump($FuncInfoArr["Node"]["ITEM"]);
$count = sizeof($FuncInfoArr["Node"]["ITEM"]);
while(list($index, $value) = each($CommonInfoArr))
{
if(!strcmp($value, ""))
{
$value = " ";
}
for($i = 0; $iFuncInfo[$i][$index] = $value;
}
}
while(list($index, $value) = each($FuncInfoArr["Attr"]))
{
if(!strcmp($value, ""))
{
$value = " ";
}
for($i = 0; $iFuncInfo[$i][$index] = $value;
}
}
for($i = 0; $iFuncInfo[$i][$index] = $value;
}
}
// $FuncInfoArr = $this->FuncInfo;
//var_dump($FuncInfoArr);
// exit();
$this->CommonInfo = $CommonInfoArr;
$this->FuncInfoFlag = true;
return AC_ERR_SUCCESS;
}
function GetHardWareInfo()
{
if(isset($this->XmlHandle["ASSETPACKAGE"]["Node"]["ITS_PCINFO_HARDWARES"]) && is_array($this->XmlHandle["ASSETPACKAGE"]["Node"]["ITS_PCINFO_HARDWARES"])){
$HardInfoArr = $this->XmlHandle["ASSETPACKAGE"]["Node"]["ITS_PCINFO_HARDWARES"][0]["Node"];
$CommonInfoArr = $this->XmlHandle["ASSETPACKAGE"]["Node"]["COMMON"][0]["Attr"];
}
else
return AC_ERR_PERSONNAL_PARSE;
// $HardInfoArr = $this->XmlHandle["ASSETPACKAGE"]["Node"]["ITS_PCINFO_HARDWARES"][0]["Node"];
if(is_array($HardInfoArr))
{
while(list($SingleHardInfoIndex, $SingleHardInfoArr) = each($HardInfoArr))
{
if(is_array($SingleHardInfoArr))
{
// $SingleHardInfoIndex = "ITS_PCINFO_CPU";
$TempInfoArr = $SingleHardInfoArr[0]["Node"]["ITEM"];
//[0]["Attr"]
if(is_array($TempInfoArr))
{
while(list($index, $value) = each($TempInfoArr))
{
// $index = 0;
$EndInfoArr = $value["Attr"];
if(is_array($EndInfoArr))
{
while(list($endindex, $endvalue) = each($EndInfoArr))
{
if(!strcmp($endvalue, ""))
{
$value = " ";
}
//$endindex = "cpu_freg";
switch($endindex)
{
case strtoupper("Cpu_freq"):
case strtoupper("Mem_size"):
case strtoupper("Phdd_size"):
case strtoupper("SCAN_TIME"):
case strtoupper("PHDD_BYTES_PER_SECTOR"):
case strtoupper("PHDD_TOTAL_CYLINDERS"):
case strtoupper("PHDD_TOTAL_HEADS"):
case strtoupper("PHDD_TOTAL_SECTORS"):
case strtoupper("LHDD_FREE_SIZE"):
case strtoupper("LHDD_TOTLE_SIZE"):
case strtoupper("VIDEO_ADAPTER_RAM"):
case strtoupper("PHDD_TOTAL_SECTORS"):
case strtoupper("LHDD_FREE_SIZE"):
$this->HardWareInfo[$SingleHardInfoIndex][$index][$endindex] = $endvalue;
break;
default:
$endvalue1 = $this->GetBase64($endvalue);
$endvalue2 = str_replace("'", " " ,$endvalue1);
$this->HardWareInfo[$SingleHardInfoIndex][$index][$endindex] = $endvalue2;
break;
}
}
}
}
}
}
}
while(list($index, $value) = each($CommonInfoArr))
{
$this->HardWareInfo[$index] = $value;
}
$this->HardWareInfoFlag = true;
return AC_ERR_SUCCESS;
}
return AC_ERR_HW_PARSE;
}
//base64
function GetBase64($data)
{
return chunk_split(base64_decode($data));
}
function GetErrorXML($ErrorCode)
{
$ErrorXML = " \n";
$ErrorXML .= "\n";
$ErrorXML .= " $ErrorCode \n";
$ErrorXML .= " \n";
$tempMsg = GetRetMsg($ErrorCode);
$ErrorXML .= " $tempMsg\n";
$ErrorXML .= " \n";
$ErrorXML .= "\n";
return $ErrorXML;
}
function ZipXML($type=0)
{
$temp = $this->FilePathNAMEIn;
$gzfilename = str_replace("xml", "tar.gz" , $temp);
$command = "tar czf " . $gzfilename . " " . $this->FilePathNAMEIn;
system($command, $errorcode);
if($errorcode 0)
{
if(file_exists($gzfilename))
{
unlink($gzfilename);
}
return AC_ERR_ZIP_FILE;
}
if($type == 0)
{
if(file_exists($this->FilePathNAMEIn))
{
unlink($this->FilePathNAMEIn);
}
}
return AC_ERR_SUCCESS;
}
}
?>
相关阅读 更多 +
排行榜 更多 +