mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 14:20:15 +00:00
General: Remove most uses of create_function()
create_function() is equivalent to eval(), and most of our uses can be refactored. This is simpler, more secure, and slightly more performant. Props sgolemon. Fixes #37082. git-svn-id: https://develop.svn.wordpress.org/trunk@39591 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -94,8 +94,8 @@ class AtomParser {
|
||||
|
||||
$this->feed = new AtomFeed();
|
||||
$this->current = null;
|
||||
$this->map_attrs_func = create_function('$k,$v', 'return "$k=\"$v\"";');
|
||||
$this->map_xmlns_func = create_function('$p,$n', '$xd = "xmlns"; if(strlen($n[0])>0) $xd .= ":{$n[0]}"; return "{$xd}=\"{$n[1]}\"";');
|
||||
$this->map_attrs_func = array( __CLASS__, 'map_attrs' );
|
||||
$this->map_xmlns_func = array( __CLASS__, 'map_xmlns' );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -105,6 +105,32 @@ class AtomParser {
|
||||
self::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Map attributes to key="val"
|
||||
*
|
||||
* @param string $k Key
|
||||
* @param string $v Value
|
||||
* @return string
|
||||
*/
|
||||
public static function map_attrs($k, $v) {
|
||||
return "$k=\"$v\"";
|
||||
}
|
||||
|
||||
/**
|
||||
* Map XML namespace to string.
|
||||
*
|
||||
* @param indexish $p XML Namespace element index
|
||||
* @param array $n Two-element array pair. [ 0 => {namespace}, 1 => {url} ]
|
||||
* @return string 'xmlns="{url}"' or 'xmlns:{namespace}="{url}"'
|
||||
*/
|
||||
public static function map_xmlns($p, $n) {
|
||||
$xd = "xmlns";
|
||||
if( 0 < strlen($n[0]) ) {
|
||||
$xd .= ":{$n[0]}";
|
||||
}
|
||||
return "{$xd}=\"{$n[1]}\"";
|
||||
}
|
||||
|
||||
function _p($msg) {
|
||||
if($this->debug) {
|
||||
print str_repeat(" ", $this->depth * $this->indent) . $msg ."\n";
|
||||
|
||||
Reference in New Issue
Block a user