diff options
Diffstat (limited to 'modules/drupal/drupal.module')
-rw-r--r-- | modules/drupal/drupal.module | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/modules/drupal/drupal.module b/modules/drupal/drupal.module new file mode 100644 index 000000000..d69351083 --- /dev/null +++ b/modules/drupal/drupal.module @@ -0,0 +1,47 @@ +<?php + +function drupal_info($field = 0) { + $info["name"] = "Drupal"; + $info["protocol"] = "XML-RPC"; + + if ($field) { + return $info[$field]; + } + else { + return $info; + } +} + +function drupal_auth($username, $password, $server) { + + $message = new xmlrpcmsg("drupal.login", array(new xmlrpcval($username, "string"), new xmlrpcval($password, "string"))); + + $client = new xmlrpc_client("/xmlrpc.php", $server, 80); + + $result = $client->send($message, 5); + if ($result && !$result->faultCode()) { + $value = $result->value(); + $login = $value->scalarval(); + } + + return $login; +} + +function drupal_page() { + global $theme; + $theme->header(); + $theme->box("Drupal", drupal_auth_help()); + $theme->footer(); +} + +function drupal_auth_help() { + $site = variable_get("site_name", "this web site"); + + $output = " + <p><a href=\"http://www.drupal.org\">Drupal</a> is the name of the software which powers %s. There are Drupal websites all over the world, and many of them share their registration databases so that users may freely login to any Drupal site using a single <b>Drupal ID</b>.</p> + <p>So please feel free to login to your account here at %s with a username from another Drupal site. The format of a Drupal ID is similar to an email address: <b>username</b>@<i>server</i>. An example of valid Drupal ID is <b>mwlily</b><i>@www.drop.org</i>.</p>"; + + return sprintf(t($output), $site, $site); +} + +?>
\ No newline at end of file |