Submit
Path:
~
/
home
/
bfxleof
/
www
/
wp-includes
/
blocks
/
pullquote
/
File Content:
class-IXR-introspectionserver.php
<?php /** * IXR_IntrospectionServer * * @package IXR * @since 1.5.0 */ class IXR_IntrospectionServer extends IXR_Server { var $signatures; var $help; /** * PHP5 constructor. */ function __construct() { $this->setCallbacks(); $this->setCapabilities(); $this->capabilities['introspection'] = array( 'specUrl' => 'http://xmlrpc.usefulinc.com/doc/reserved.html', 'specVersion' => 1 ); $this->addCallback( 'system.methodSignature', 'this:methodSignature', array('array', 'string'), 'Returns an array describing the return type and required parameters of a method' ); $this->addCallback( 'system.getCapabilities', 'this:getCapabilities', array('struct'), 'Returns a struct describing the XML-RPC specifications supported by this server' ); $this->addCallback( 'system.listMethods', 'this:listMethods', array('array'), 'Returns an array of available methods on this server' ); $this->addCallback( 'system.methodHelp', 'this:methodHelp', array('string', 'string'), 'Returns a documentation string for the specified method' ); } /** * PHP4 constructor. */ public function IXR_IntrospectionServer() { self::__construct(); } function addCallback($method, $callback, $args, $help) { $this->callbacks[$method] = $callback; $this->signatures[$method] = $args; $this->help[$method] = $help; } function call($methodname, $args) { // Make sure it's in an array if ($args && !is_array($args)) { $args = array($args); } // Over-rides default call method, adds signature check if (!$this->hasMethod($methodname)) { return new IXR_Error(-32601, 'server error. requested method "'.$this->message->methodName.'" not specified.'); } $method = $this->callbacks[$methodname]; $signature = $this->signatures[$methodname]; $returnType = array_shift($signature); // Check the number of arguments if (count($args) != count($signature)) { return new IXR_Error(-32602, 'server error. wrong number of method parameters'); } // Check the argument types $ok = true; $argsbackup = $args; for ($i = 0, $j = count($args); $i < $j; $i++) { $arg = array_shift($args); $type = array_shift($signature); switch ($type) { case 'int': case 'i4': if (is_array($arg) || !is_int($arg)) { $ok = false; } break; case 'base64': case 'string': if (!is_string($arg)) { $ok = false; } break; case 'boolean': if ($arg !== false && $arg !== true) { $ok = false; } break; case 'float': case 'double': if (!is_float($arg)) { $ok = false; } break; case 'date': case 'dateTime.iso8601': if (!is_a($arg, 'IXR_Date')) { $ok = false; } break; } if (!$ok) { return new IXR_Error(-32602, 'server error. invalid method parameters'); } } // It passed the test - run the "real" method call return parent::call($methodname, $argsbackup); } function methodSignature($method) { if (!$this->hasMethod($method)) { return new IXR_Error(-32601, 'server error. requested method "'.$method.'" not specified.'); } // We should be returning an array of types $types = $this->signatures[$method]; $return = array(); foreach ($types as $type) { switch ($type) { case 'string': $return[] = 'string'; break; case 'int': case 'i4': $return[] = 42; break; case 'double': $return[] = 3.1415; break; case 'dateTime.iso8601': $return[] = new IXR_Date(time()); break; case 'boolean': $return[] = true; break; case 'base64': $return[] = new IXR_Base64('base64'); break; case 'array': $return[] = array('array'); break; case 'struct': $return[] = array('struct' => 'struct'); break; } } return $return; } function methodHelp($method) { return $this->help[$method]; } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
418-20260704200102.php
478 bytes
0644
418.php
478 bytes
0644
Category.php
3944 bytes
0644
ChaCha20.php
12934 bytes
0644
Exception-20260706233834.php
1214 bytes
0644
Exception.php
1214 bytes
0644
admin-bar.css
23876 bytes
0644
archives-20260707110507.php
2768 bytes
0644
archives.php
2768 bytes
0644
block-20260622225440.json
656 bytes
0644
block-serialization-default-parser.min.js
4516 bytes
0644
block.json
656 bytes
0644
class-IXR-introspectionserver-20260707062623.php
5323 bytes
0644
class-IXR-introspectionserver.php
5323 bytes
0644
class-walker-category-dropdown-20260707073749.php
2133 bytes
0644
class-walker-category-dropdown.php
2133 bytes
0644
class-wp-comment-query-20260622080705.php
45483 bytes
0644
class-wp-comment-query.php
45483 bytes
0644
class-wp-customize-nav-menus.php
57019 bytes
0644
class-wp-embed-20260623154149.php
15791 bytes
0644
class-wp-embed.php
15791 bytes
0644
class-wp-http-streams-20260705205715.php
16117 bytes
0644
class-wp-http-streams.php
16117 bytes
0644
class-wp-locale.php
13982 bytes
0644
class-wp-network-20260622114608.php
12379 bytes
0644
class-wp-network-query.php
19169 bytes
0644
class-wp-network.php
12379 bytes
0644
class-wp-oembed-controller-20260621150705.php
6793 bytes
0644
class-wp-oembed-controller.php
6793 bytes
0644
class-wp-site.php
7428 bytes
0644
class-wp-sitemaps-posts.php
5875 bytes
0644
class-wp-sitemaps-renderer.php
6797 bytes
0644
class-wp-sitemaps-stylesheet.php
8599 bytes
0644
class-wp-sitemaps.php
6290 bytes
0644
class-wp-theme.php
51601 bytes
0644
class-wp-widget-calendar.php
2871 bytes
0644
class-wp-widget-media-image.php
12037 bytes
0644
class-wp-widget-media-video-20260704210438.php
8407 bytes
0644
class-wp-widget-media-video.php
8407 bytes
0644
core.js
48955 bytes
0644
data-20260704094700.js
147192 bytes
0644
data.js
147192 bytes
0644
editor-20260705081108.js
472144 bytes
0644
editor-styles-rtl.css
3470 bytes
0644
editor.js
472144 bytes
0644
effect-puff-20260705022001.js
943 bytes
0644
effect-puff.js
943 bytes
0644
embed-404.php
972 bytes
0644
footer-20260705092113.php
1055 bytes
0644
footer-embed.php
438 bytes
0644
footer.php
1055 bytes
0644
https-detection-20260623211809-20260705134447.php
6871 bytes
0644
https-detection-20260623211809-20260706041523.php
6871 bytes
0644
https-detection-20260623211809.php
6871 bytes
0644
https-detection-20260624122201.php
6871 bytes
0644
https-detection.php
6871 bytes
0644
https-migration-20260621215951.php
4730 bytes
0644
https-migration-20260621222700-20260622020253.php
4730 bytes
0644
https-migration-20260621222700-20260623002509.php
4730 bytes
0644
https-migration-20260621222700.php
4730 bytes
0644
https-migration-20260622015718-20260624101328.php
4730 bytes
0644
https-migration-20260622015718.php
4730 bytes
0644
https-migration-20260622015741-20260703172549.php
4730 bytes
0644
https-migration-20260622015741.php
4730 bytes
0644
https-migration-20260622015815.php
4730 bytes
0644
https-migration-20260622055634.php
4730 bytes
0644
https-migration-20260622145328.php
4730 bytes
0644
https-migration-20260622153559-20260624070214.php
4730 bytes
0644
https-migration-20260622153559.php
4730 bytes
0644
https-migration-20260622165410.php
4730 bytes
0644
https-migration-20260622194220.php
4730 bytes
0644
https-migration-20260622210714.php
4730 bytes
0644
https-migration-20260622211332-20260624054025.php
4730 bytes
0644
https-migration-20260622211332.php
4730 bytes
0644
jquery-ui-dialog-rtl.css
5967 bytes
0644
jquery-ui-dialog.min.css
4548 bytes
0644
json2.js
18422 bytes
0644
latest-comments.php
4999 bytes
0644
locale.php
162 bytes
0644
module.audio-video.matroska.php
107155 bytes
0644
ms-blogs.php
25174 bytes
0644
nav-menu-template-20260707114809.php
23296 bytes
0644
nav-menu-template.php
23296 bytes
0644
php72compat_const-20260705200635.php
4597 bytes
0644
php72compat_const.php
4597 bytes
0644
post-thumbnail-template.php
9353 bytes
0644
revision-20260705080503.php
22027 bytes
0644
revision.php
22027 bytes
0644
shortcode-20260622010901.php
697 bytes
0644
shortcode-20260622122648.php
697 bytes
0644
shortcode.php
697 bytes
0644
style-rtl.css
27819 bytes
0644
taxonomy.php
165888 bytes
0644
thickbox.css
2659 bytes
0644
tinymce.min.js
365570 bytes
0644
utils.js
4665 bytes
0644
wp-content-20260705090429.css
8624 bytes
0644
wp-content.css
8624 bytes
0644
wp-embed-20260705034826.js
3414 bytes
0644
wp-embed-template-ie.min.css
1473 bytes
0644
wp-embed.js
3414 bytes
0644
wp-embed.min.js
1478 bytes
0644
wp-mediaelement.css
4960 bytes
0644
N4ST4R_ID | Naxtarrr