IXR 0.71. Props jacobsantos. fixes #7227
git-svn-id: http://svn.automattic.com/wordpress/trunk@8376 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
1832ab2c52
commit
8831ea942b
|
@ -22,6 +22,7 @@
|
|||
class IXR_Value {
|
||||
var $data;
|
||||
var $type;
|
||||
|
||||
function IXR_Value ($data, $type = false) {
|
||||
$this->data = $data;
|
||||
if (!$type) {
|
||||
|
@ -40,6 +41,7 @@ class IXR_Value {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
function calculateType() {
|
||||
if ($this->data === true || $this->data === false) {
|
||||
return 'boolean';
|
||||
|
@ -73,6 +75,7 @@ class IXR_Value {
|
|||
return 'array';
|
||||
}
|
||||
}
|
||||
|
||||
function getXml() {
|
||||
/* Return XML for this value */
|
||||
switch ($this->type) {
|
||||
|
@ -113,6 +116,7 @@ class IXR_Value {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function isStruct($array) {
|
||||
/* Nasty function to check if an array is a struct or not */
|
||||
$expected = 0;
|
||||
|
@ -180,7 +184,7 @@ class IXR_Message {
|
|||
return true;
|
||||
}
|
||||
function tag_open($parser, $tag, $attr) {
|
||||
$this->_currentTagContents = '';
|
||||
$this->_currentTagContents = '';
|
||||
$this->currentTag = $tag;
|
||||
switch($tag) {
|
||||
case 'methodCall':
|
||||
|
@ -270,7 +274,7 @@ class IXR_Message {
|
|||
$this->params[] = $value;
|
||||
}
|
||||
}
|
||||
$this->_currentTagContents = '';
|
||||
$this->_currentTagContents = '';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -334,7 +338,8 @@ EOD;
|
|||
}
|
||||
function call($methodname, $args) {
|
||||
if (!$this->hasMethod($methodname)) {
|
||||
return new IXR_Error(-32601, 'server error. requested method '.$methodname.' does not exist.');
|
||||
return new IXR_Error(-32601, 'server error. requested method '.
|
||||
$methodname.' does not exist.');
|
||||
}
|
||||
$method = $this->callbacks[$methodname];
|
||||
// Perform the callback and send the response
|
||||
|
@ -347,18 +352,21 @@ EOD;
|
|||
// It's a class method - check it exists
|
||||
$method = substr($method, 5);
|
||||
if (!method_exists($this, $method)) {
|
||||
return new IXR_Error(-32601, 'server error. requested class method "'.$method.'" does not exist.');
|
||||
return new IXR_Error(-32601, 'server error. requested class method "'.
|
||||
$method.'" does not exist.');
|
||||
}
|
||||
// Call the method
|
||||
$result = $this->$method($args);
|
||||
} else {
|
||||
// It's a function - does it exist?
|
||||
if (is_array($method)) {
|
||||
if (!method_exists($method[0], $method[1])) {
|
||||
return new IXR_Error(-32601, 'server error. requested object method "'.$method[1].'" does not exist.');
|
||||
}
|
||||
if (!method_exists($method[0], $method[1])) {
|
||||
return new IXR_Error(-32601, 'server error. requested object method "'.
|
||||
$method[1].'" does not exist.');
|
||||
}
|
||||
} else if (!function_exists($method)) {
|
||||
return new IXR_Error(-32601, 'server error. requested function "'.$method.'" does not exist.');
|
||||
return new IXR_Error(-32601, 'server error. requested function "'.
|
||||
$method.'" does not exist.');
|
||||
}
|
||||
// Call the function
|
||||
$result = call_user_func($method, $args);
|
||||
|
@ -490,7 +498,7 @@ class IXR_Client {
|
|||
var $response;
|
||||
var $message = false;
|
||||
var $debug = false;
|
||||
var $timeout;
|
||||
var $timeout;
|
||||
// Storage place for an error message
|
||||
var $error = false;
|
||||
function IXR_Client($server, $path = false, $port = 80, $timeout = false) {
|
||||
|
@ -509,8 +517,8 @@ class IXR_Client {
|
|||
$this->path = $path;
|
||||
$this->port = $port;
|
||||
}
|
||||
$this->useragent = 'Incutio XML-RPC';
|
||||
$this->timeout = $timeout;
|
||||
$this->useragent = 'The Incutio XML-RPC PHP Library';
|
||||
$this->timeout = $timeout;
|
||||
}
|
||||
function query() {
|
||||
$args = func_get_args();
|
||||
|
@ -556,7 +564,7 @@ class IXR_Client {
|
|||
$gettingHeaders = false;
|
||||
}
|
||||
if (!$gettingHeaders) {
|
||||
$contents .= trim($line)."\n";
|
||||
$contents .= trim($line);
|
||||
}
|
||||
}
|
||||
if ($this->debug) {
|
||||
|
@ -603,7 +611,7 @@ class IXR_Error {
|
|||
var $message;
|
||||
function IXR_Error($code, $message) {
|
||||
$this->code = $code;
|
||||
$this->message = htmlspecialchars($message);
|
||||
$this->message = $message;
|
||||
}
|
||||
function getXml() {
|
||||
$xml = <<<EOD
|
||||
|
@ -665,10 +673,9 @@ class IXR_Date {
|
|||
$this->hour = substr($iso, 9, 2);
|
||||
$this->minute = substr($iso, 12, 2);
|
||||
$this->second = substr($iso, 15, 2);
|
||||
$this->timezone = substr($iso, 17);
|
||||
}
|
||||
function getIso() {
|
||||
return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second.$this->timezone;
|
||||
return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second;
|
||||
}
|
||||
function getXml() {
|
||||
return '<dateTime.iso8601>'.$this->getIso().'</dateTime.iso8601>';
|
||||
|
|
|
@ -761,20 +761,36 @@ function &get_terms($taxonomies, $args = '') {
|
|||
function is_term($term, $taxonomy = '') {
|
||||
global $wpdb;
|
||||
|
||||
$select = "SELECT term_id FROM $wpdb->terms as t WHERE ";
|
||||
$tax_select = "SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE ";
|
||||
|
||||
if ( is_int($term) ) {
|
||||
if ( 0 == $term )
|
||||
return 0;
|
||||
$where = 't.term_id = %d';
|
||||
} else {
|
||||
if ( '' === $term = sanitize_title($term) )
|
||||
return 0;
|
||||
$where = 't.slug = %s';
|
||||
if ( !empty($taxonomy) )
|
||||
return $wpdb->get_row( $wpdb->prepare( $tax_select . $where . " AND tt.taxonomy = %s", $term, $taxonomy ), ARRAY_A );
|
||||
else
|
||||
return $wpdb->get_var( $wpdb->prepare( $select . $where, $term ) );
|
||||
}
|
||||
|
||||
if ( !empty($taxonomy) )
|
||||
return $wpdb->get_row( $wpdb->prepare("SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE $where AND tt.taxonomy = %s", $term, $taxonomy), ARRAY_A);
|
||||
if ( '' === $slug = sanitize_title($term) )
|
||||
return 0;
|
||||
|
||||
return $wpdb->get_var( $wpdb->prepare("SELECT term_id FROM $wpdb->terms as t WHERE $where", $term) );
|
||||
$where = 't.slug = %s';
|
||||
$else_where = 't.name = %s';
|
||||
|
||||
if ( !empty($taxonomy) ) {
|
||||
if ( $result = $wpdb->get_row( $wpdb->prepare("SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE $where AND tt.taxonomy = %s", $slug, $taxonomy), ARRAY_A) )
|
||||
return $result;
|
||||
|
||||
return $wpdb->get_row( $wpdb->prepare("SELECT tt.term_id, tt.term_taxonomy_id FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy as tt ON tt.term_id = t.term_id WHERE $else_where AND tt.taxonomy = %s", $term, $taxonomy), ARRAY_A);
|
||||
}
|
||||
|
||||
if ( $result = $wpdb->get_var( $wpdb->prepare("SELECT term_id FROM $wpdb->terms as t WHERE $where", $slug) ) )
|
||||
return $result;
|
||||
|
||||
return $wpdb->get_var( $wpdb->prepare("SELECT term_id FROM $wpdb->terms as t WHERE $else_where", $term) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -15,6 +15,6 @@ $wp_version = '2.7-bleeding';
|
|||
*
|
||||
* @global int $wp_db_version
|
||||
*/
|
||||
$wp_db_version = 8202;
|
||||
$wp_db_version = 8370;
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue