public function XmlRpcExampleController::info in xmlrpc 8
Constructs a page with info about the XML-RPC example.
Our router maps this method to the path 'examples/xmlrpc'.
1 string reference to 'XmlRpcExampleController::info'
- xmlrpc_example.routing.yml in xmlrpc_example/
xmlrpc_example.routing.yml - xmlrpc_example/xmlrpc_example.routing.yml
File
- xmlrpc_example/
src/ Controller/ XmlRpcExampleController.php, line 22
Class
- XmlRpcExampleController
- Controller methods for basic documentation pages in this module.
Namespace
Drupal\xmlrpc_example\ControllerCode
public function info() {
// Make the XML-RPC request.
$server = $this
->getEndpoint();
$options = [
'system.listMethods' => [],
];
$supported_methods = xmlrpc($server, $options);
// Tell the user if there was an error.
if ($supported_methods === FALSE) {
$this
->messenger()
->addError($this
->t('Error return from xmlrpc(): Error: @errno, Message: @message', [
'@errno' => xmlrpc_errno(),
'@message' => xmlrpc_error_msg(),
]));
}
// Process the results.
$build = [
'basic' => [
'#theme' => 'item_list',
'#title' => $this
->t('This XML-RPC example presents code that shows'),
'#items' => [
Link::createFromRoute($this
->t('XML-RPC server code'), 'xmlrpc_example.server'),
Link::createFromRoute($this
->t('XML-RPC client code'), 'xmlrpc_example.client'),
Link::createFromRoute($this
->t('An example hook_xmlrpc_alter() call'), 'xmlrpc_example.alter'),
],
],
'method_array' => [
'#theme' => 'item_list',
'#title' => $this
->t('These methods are supported by :url', [
':url' => UrlHelper::stripDangerousProtocols($server),
]),
'#list_type' => 'ul',
'#items' => $supported_methods,
],
];
return $build;
}