PHP 5.5 fix
This commit is contained in:
		
							parent
							
								
									80f74acbd0
								
							
						
					
					
						commit
						c77f9c75ec
					
				|  | @ -1065,7 +1065,7 @@ class myldap extends DS { | ||||||
| 		# Record the forward and reverse entries in the cache.
 | 		# Record the forward and reverse entries in the cache.
 | ||||||
| 		foreach ($result as $key => $value) { | 		foreach ($result as $key => $value) { | ||||||
| 			# translate hex code into ascii for display
 | 			# translate hex code into ascii for display
 | ||||||
| 			$result[$key] = $this->unescapeDN($value); | 			$result[$key] = dn_unescape($value); | ||||||
| 
 | 
 | ||||||
| 			$CACHE['explode'][implode(',',$result[0])][$key] = $result[$key]; | 			$CACHE['explode'][implode(',',$result[0])][$key] = $result[$key]; | ||||||
| 			$CACHE['explode'][implode(',',array_reverse($result[0]))][$key] = array_reverse($result[$key]); | 			$CACHE['explode'][implode(',',array_reverse($result[0]))][$key] = array_reverse($result[$key]); | ||||||
|  | @ -1099,24 +1099,6 @@ class myldap extends DS { | ||||||
| 		return $dn; | 		return $dn; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/** |  | ||||||
| 	 * Parse a DN and unescape any special characters |  | ||||||
| 	 */ |  | ||||||
| 	private function unescapeDN($dn) { |  | ||||||
| 		if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) |  | ||||||
| 			debug_log('Entered (%%)',17,0,__FILE__,__LINE__,__METHOD__,$fargs); |  | ||||||
| 
 |  | ||||||
| 		if (is_array($dn)) { |  | ||||||
| 			$a = array(); |  | ||||||
| 			foreach ($dn as $key => $rdn) |  | ||||||
| 				$a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn); |  | ||||||
| 
 |  | ||||||
| 			return $a; |  | ||||||
| 
 |  | ||||||
| 		} else |  | ||||||
| 			return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn); |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	public function getRootDSE($method=null) { | 	public function getRootDSE($method=null) { | ||||||
| 		if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) | 		if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) | ||||||
| 			debug_log('Entered (%%)',17,0,__FILE__,__LINE__,__METHOD__,$fargs); | 			debug_log('Entered (%%)',17,0,__FILE__,__LINE__,__METHOD__,$fargs); | ||||||
|  |  | ||||||
|  | @ -2393,15 +2393,25 @@ function dn_unescape($dn) { | ||||||
| 		$a = array(); | 		$a = array(); | ||||||
| 
 | 
 | ||||||
| 		foreach ($dn as $key => $rdn) | 		foreach ($dn as $key => $rdn) | ||||||
| 			$a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn); | 			$a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', 'convertHexStringToCharCallback', $rdn); | ||||||
| 
 | 
 | ||||||
| 		return $a; | 		return $a; | ||||||
| 
 | 
 | ||||||
| 	} else { | 	} else { | ||||||
| 		return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn); | 		return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', 'convertHexStringToCharCallback', $dn); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | /** | ||||||
|  |  * Converts a hex encoded string like \12 to the corresponding character. | ||||||
|  |  *  | ||||||
|  |  * @param array $hex preg_replace_callback: matching hex string array | ||||||
|  |  * @return String character | ||||||
|  |  */ | ||||||
|  | function convertHexStringToCharCallback($hex) { | ||||||
|  | 	return chr(hexdec($hex[1])); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| /** | /** | ||||||
|  * Fetches the URL for the specified item. This is a convenience function for |  * Fetches the URL for the specified item. This is a convenience function for | ||||||
|  * fetching project HREFs (like bugs) |  * fetching project HREFs (like bugs) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue