文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ACxml

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;
  }
}
?>


相关阅读 更多 +
排行榜 更多 +
方块拼凑最新版 v1.0 安卓版

方块拼凑最新版 v1.0 安卓版

休闲益智 下载
方块拼凑最新版 v1.0 安卓版

方块拼凑最新版 v1.0 安卓版

休闲益智 下载
愤怒的小鸟爆破安卓版 v2.7.0 手机版

愤怒的小鸟爆破安卓版 v2.7.0 手机版

飞行射击 下载