|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /home/pathumthani_integration/integration/common/classXML/ |
Upload File : |
<?php
###################################################################
## PATHUMTHANI INTEGRATION : MYSQL TO XML CLASS
###################################################################
## Version : 20100823.001 (Created/Modified; Date.RunNumber)
## Created Date : 2010-08-23 09:00
## Created By : Mr.JESSADA RUEDEEKULRUNGROJ (AUSSY)
## E-mail : jessada@sapphire.co.th
## Tel. : 087-7271185
## Company : Sapphire Research and Development Co.,Ltd. (C)All Right Reserved
###################################################################
require_once("../../config/config_epm.inc.php");
#Reserve Variable = "global",
$global_variable = array();
foreach($_GET as $key => $val){
$global_variable['global::'.$key] = $val;
}
$variable = array();
function mysql_to_xml($parent_id = 0, $profile_id = 1, $sql_table_string = "", $show_scheme = "FALSE"){
global $variable, $global_variable;
$str_return="";
$strSQL="SELECT * FROM `tbl_xmldata` WHERE `PID` = $parent_id AND `PROFILE_ID` = $profile_id ORDER BY `ID`";
$rsConn = mysql_query($strSQL);
while($Result = mysql_fetch_assoc($rsConn)){
$SQL_STRING = $Result['SQL_STRING'];
$SQL_FIELD = $Result['SQL_FIELD'];
#CASE 1: กรณีที่ไม่ได้มีการกำหนด SQL STRING
if($SQL_STRING == ""){
if($Result['ATTRIBUTE'] != "") $str_return.= "<" . $Result['ELEMENT'] . " " . $Result['ATTRIBUTE'] . ">"; else $str_return.= "<" . $Result['ELEMENT'] . ">";
#CASE 3: กรณีที่ไม่ได้มีการกำหนด FIELD
if($SQL_FIELD == ""){
if($show_scheme == "TRUE"){
$str_return.= $Result['COMMENT'];
}
$str_return.= mysql_to_xml($Result['ID'], $profile_id, $sql_table_string, $show_scheme);
}
#CASE 4: กรณีที่มีการกำหนด FIELD
else{
$GET_strSQL = "SELECT `SQL_FIELD`, `IMAGE_PATH`, `COMMENT`, `ELEMENT_TYPE` FROM `tbl_xmldata` WHERE ID=" . $Result['ID'];
$GET_rsConn = mysql_query($GET_strSQL);
$GET_Result = mysql_fetch_assoc($GET_rsConn);
if($GET_Result != 0){
if(isset($variable[$GET_Result['SQL_FIELD']])){
if($show_scheme == "FALSE"){
if($GET_Result['ELEMENT_TYPE'] == "FIELD"){
$str_return.= parseToXML($variable[$GET_Result['SQL_FIELD']]); // Modified By : Aussy [2553-08-26 15:27]
}
else{
$img = file_get_contents($variable[$GET_Result['SQL_FIELD']]);
$str_return.= urlencode($img);
}
}
else{
$str_return.= $GET_Result['COMMENT'];
}
}
else{
if($show_scheme == "FALSE"){
if($GET_Result['ELEMENT_TYPE'] == "FIELD"){
$str_return.= $GET_Result['SQL_FIELD'];
}
else{
$img = file_get_contents($GET_Result['IMAGE_PATH'] . $GET_Result['SQL_FIELD']);
$str_return.= urlencode($img);
}
}
else{
$str_return.= $GET_Result['COMMENT'];
}
}
}
}
}
#CASE 2: กรณีที่มีการกำหนด SQL STRING
if($SQL_STRING != ""){
#แทนค่าการอ้างถึงฟิลด์ ใน $SQL_STRING ที่พบ ด้วย Value ใน $variable[];
foreach($variable as $key => $val){
$SQL_STRING = str_replace($key, $val, $SQL_STRING);
}
#แทนค่าการอ้างถึงฟิลด์ ใน $SQL_STRING ที่พบ ด้วย Value ใน $global::variable[];
if(strstr($SQL_STRING,'global::')){
foreach($global_variable as $key => $val){
$SQL_STRING = str_replace($key, $val, $SQL_STRING);
}
}
$GET_rsConn = mysql_query($SQL_STRING);
if(mysql_errno() == 0){
if($show_scheme == "FALSE"){
while($GET_Result = mysql_fetch_assoc($GET_rsConn)){
#CASE 5: กรณีที่ไม่ได้มีการกำหนด FIELD $Result['ATTRIBUTE']
if($SQL_FIELD == ""){
foreach($GET_Result as $key => $val){
$variable[$Result['ELEMENT']."::".$key] = $val;
}
//print_r($variable);
if($Result['ATTRIBUTE'] != ""){
#แทนค่าการอ้างถึงฟิลด์ ใน $Result['ATTRIBUTE'] ที่พบ ด้วย Value ใน $variable[];
$attb = $Result['ATTRIBUTE'];
foreach($variable as $key => $val){
$attb = str_replace($key, $val, $attb);
}
#แทนค่าการอ้างถึงฟิลด์ ใน $Result['ATTRIBUTE'] ที่พบ ด้วย Value ใน $global::variable[];
if(strstr($attb,'global::')){
foreach($global_variable as $key => $val){
$attb = str_replace($key, $val, $attb);
}
}
$str_return.= "<" . $Result['ELEMENT'] . " " . $attb . ">";
}else{
$str_return.= "<" . $Result['ELEMENT'] . ">";
}
foreach($GET_Result as $key => $val){
$variable[$Result['ELEMENT']."::".$key] = $val;
}
//print_r($variable);
$str_return.= mysql_to_xml($Result['ID'], $profile_id, $SQL_STRING, $show_scheme);
$intRow++;
}
#CASE 6: กรณีที่มีการกำหนด FIELD
else{
foreach($GET_Result as $key => $val){
$variable[$Result['ELEMENT']."::".$key] = $val;
}
//print_r($variable);
if($Result['ATTRIBUTE'] != ""){
#แทนค่าการอ้างถึงฟิลด์ ใน $Result['ATTRIBUTE'] ที่พบ ด้วย Value ใน $variable[];
$attb = $Result['ATTRIBUTE'];
foreach($variable as $key => $val){
$attb = str_replace($key, $val, $attb);
}
#แทนค่าการอ้างถึงฟิลด์ ใน $Result['ATTRIBUTE'] ที่พบ ด้วย Value ใน $global::variable[];
if(strstr($attb,'global::')){
foreach($global_variable as $key => $val){
$attb = str_replace($key, $val, $attb);
}
}
$str_return.= "<" . $Result['ELEMENT'] . " " . $attb . ">";
}else{
$str_return.= "<" . $Result['ELEMENT'] . ">";
}
$str_return.= mysql_to_xml($Result['ID'], $profile_id, $SQL_STRING, $show_scheme);
$GETF_strSQL = "SELECT `SQL_FIELD`, `COMMENT`, `ELEMENT_TYPE` FROM `tbl_xmldata` WHERE ID=" . $Result['ID'];
$GETF_rsConn = mysql_query($GETF_strSQL);
$GETF_Result = mysql_fetch_assoc($GETF_rsConn);
if($GETF_Result != 0){
if(isset($variable[$GETF_Result['SQL_FIELD']])){
if($GETF_Result['ELEMENT_TYPE'] == "FIELD"){
$str_return.= ''.$variable[$GETF_Result['SQL_FIELD']];
}
else{
$img = file_get_contents($variable[$GETF_Result['SQL_FIELD']]);
$str_return.= urlencode($img);
}
}
else{
$str_return.= $GETF_Result['SQL_FIELD'];
}
}
}
$str_return.= "</" . $Result['ELEMENT'] . ">";
}
}
else{
$GET_Result = mysql_fetch_assoc($GET_rsConn);
if($GET_Result != 0){
if($Result['ATTRIBUTE'] != "") $str_return.= "<" . $Result['ELEMENT'] . " " . $Result['ATTRIBUTE'] . ">"; else $str_return.= "<" . $Result['ELEMENT'] . ">";
#CASE 5: กรณีที่ไม่ได้มีการกำหนด FIELD
if($SQL_FIELD == ""){
foreach($GET_Result as $key => $val){
$variable[$Result['ELEMENT']."::".$key] = $val;
}
//print_r($variable);
$str_return.= mysql_to_xml($Result['ID'], $profile_id, $SQL_STRING, $show_scheme);
$intRow++;
}
#CASE 6: กรณีที่มีการกำหนด FIELD
else{
foreach($GET_Result as $key => $val){
$variable[$Result['ELEMENT']."::".$key] = $val;
}
$str_return.= mysql_to_xml($Result['ID'], $profile_id, $SQL_STRING, $show_scheme);
$GETF_strSQL = "SELECT `SQL_FIELD`, `COMMENT` FROM `tbl_xmldata` WHERE ID=" . $Result['ID'];
$GETF_rsConn = mysql_query($GETF_strSQL);
$GETF_Result = mysql_fetch_assoc($GETF_rsConn);
if($GETF_Result != 0){
if(isset($variable[$GETF_Result['SQL_FIELD']])){
$str_return.= $GETF_Result['COMMENT'];
}
else{
$str_return.= $GETF_Result['COMMENT'];
}
}
}
$str_return.= "</" . $Result['ELEMENT'] . ">";
}
}
}
else{
if($Result['ATTRIBUTE'] != "") $str_return.= "<" . $Result['ELEMENT'] . " " . $Result['ATTRIBUTE'] . ">"; else $str_return.= "<" . $Result['ELEMENT'] . ">";
$str_return.= "ERROR " . mysql_errno() . ": " . mysql_error();
$str_return.= "</" . $Result['ELEMENT'] . ">";
}
}
#/CASE 1:
if($SQL_STRING == "") $str_return.= "</" . $Result['ELEMENT'] . ">";
}
return $str_return;
}
/* ฟังก์ชั่นแทนที่สัญลักษณ์พิเศษ Modified By : Aussy [2553-08-26 15:27] */
function parseToXML($htmlStr) {
$xmlStr = str_replace('<','<',$htmlStr);
$xmlStr = str_replace('>','>',$xmlStr);
$xmlStr = str_replace('"','"',$xmlStr);
$xmlStr = str_replace("'",''',$xmlStr);
$xmlStr = str_replace("&",'&',$xmlStr);
//return iconv("tis-620","utf-8",$xmlStr);
return $xmlStr;
}
?>