MINI SHELL

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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/pathumthani_integration/integration/common/classXML/mysql_xml_str.class.php
<?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('<','&lt;',$htmlStr); 
		$xmlStr = str_replace('>','&gt;',$xmlStr); 
		$xmlStr = str_replace('"','&quot;',$xmlStr); 
		$xmlStr = str_replace("'",'&#39;',$xmlStr); 
		$xmlStr = str_replace("&",'&amp;',$xmlStr); 
		
		//return iconv("tis-620","utf-8",$xmlStr);
		return $xmlStr;
	} 
?>

Anon7 - 2021