From a0ddc1af74d04b7c95968fcab43d4de727bae5ad Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sun, 16 Dec 2001 11:44:41 +0000 Subject: - Added new feature. Explanation will follow on the mailing list. --- modules/cvs.module | 3 +- modules/drupal.module | 92 ++++++++++++++++++++++++++++++++++++++++++++ modules/drupal/drupal.module | 92 ++++++++++++++++++++++++++++++++++++++++++++ modules/system.module | 9 +++-- modules/system/system.module | 9 +++-- 5 files changed, 196 insertions(+), 9 deletions(-) (limited to 'modules') diff --git a/modules/cvs.module b/modules/cvs.module index eb4cde0d5..612a5fdaa 100644 --- a/modules/cvs.module +++ b/modules/cvs.module @@ -29,8 +29,9 @@ function cvs_cron() { function cvs_conf_options() { $period = array(43200 => format_interval(43200), 86400 => format_interval(86400), 172800 => format_interval(172800), 259200 => format_interval(259200), 604800 => format_interval(604800), 1209600 => format_interval(1209600)); - $output .= form_textfield("Digest recepients", "cvs_mail", variable_get("cvs_mail", "root@localhost"), 30, 55, "The e-mail address to mail the CVS log messages to. Multiple recipients can be specified by putting a comma between each address."); + $output .= form_textfield("Digest recepients", "cvs_mail", variable_get("cvs_mail", "root@localhost"), 55, 128, "The e-mail address to mail the CVS log messages to. Multiple recipients can be specified by putting a comma between each address."); $output .= form_select("Digest interval", "cvs_cron_time" , variable_get("cvs_cron_time", 86400), $period, "The time interval at which batched CVS digests are dispatched. Requires crontab."); + return $output; } diff --git a/modules/drupal.module b/modules/drupal.module index d69351083..8867e81b3 100644 --- a/modules/drupal.module +++ b/modules/drupal.module @@ -1,5 +1,97 @@ getparam(0); + $link = strip_tags($argument->scalarval()); + $argument = $arguments->getparam(1); + $name = strip_tags($argument->scalarval()); + $argument = $arguments->getparam(2); + $mail = strip_tags($argument->scalarval()); + $argument = $arguments->getparam(3); + $slogan = strip_tags($argument->scalarval()); + $argument = $arguments->getparam(4); + $mission = strip_tags($argument->scalarval()); + + /* + ** Update the data in our database and send back a reply: + */ + + if ($link && $name && $mail && $slogan && $mission) { + db_query("DELETE FROM directory WHERE link = '". check_query($link) ."'"); + db_query("INSERT INTO directory (link, name, mail, slogan, mission, timestamp) VALUES ('". check_query($link) ."', '". check_query($name) ."', '". check_query($mail) ."', '". check_query($slogan) ."', '". check_query($mission) ."', '". time() ."')"); + + watchdog("message", "directory: ping from '$name' ($link)"); + + return new xmlrpcresp(new xmlrpcval(1, "int")); + } + else { + return new xmlrpcresp(new xmlrpcval(0, "int")); + } + +} + +function drupal_directory_page() { + $result = db_query("SELECT * FROM directory ORDER BY name"); + + while ($site = db_fetch_object($result)) { + $output .= "link\">$site->name - $site->slogan
$site->mission

"; + } + + return $output; +} + +function drupal_xmlrpc() { + return array("drupal.site.ping" => array("function" => "drupal_directory_ping")); +} + +function drupal_notify($server) { + + $url = parse_url($server); + + $client = new xmlrpc_client($url["path"], $url["host"], 80); + + $message = new xmlrpcmsg("drupal.site.ping", array(new xmlrpcval(path_uri(), "string"), new xmlrpcval(variable_get("site_name", ""), "string"), new xmlrpcval(variable_get("site_mail", ""), "string"), new xmlrpcval(variable_get("site_slogan", ""), "string"), new xmlrpcval(variable_get("site_mission", ""), "string"))); + + $result = $client->send($message, 5); + + if (!$result || $result->faultCode()) { + watchdog("error", "failed to notify '". $url["host"] ."' at '". $url["path"] ."': ". $result->faultString()); + } + +} + function drupal_info($field = 0) { $info["name"] = "Drupal"; $info["protocol"] = "XML-RPC"; diff --git a/modules/drupal/drupal.module b/modules/drupal/drupal.module index d69351083..8867e81b3 100644 --- a/modules/drupal/drupal.module +++ b/modules/drupal/drupal.module @@ -1,5 +1,97 @@ getparam(0); + $link = strip_tags($argument->scalarval()); + $argument = $arguments->getparam(1); + $name = strip_tags($argument->scalarval()); + $argument = $arguments->getparam(2); + $mail = strip_tags($argument->scalarval()); + $argument = $arguments->getparam(3); + $slogan = strip_tags($argument->scalarval()); + $argument = $arguments->getparam(4); + $mission = strip_tags($argument->scalarval()); + + /* + ** Update the data in our database and send back a reply: + */ + + if ($link && $name && $mail && $slogan && $mission) { + db_query("DELETE FROM directory WHERE link = '". check_query($link) ."'"); + db_query("INSERT INTO directory (link, name, mail, slogan, mission, timestamp) VALUES ('". check_query($link) ."', '". check_query($name) ."', '". check_query($mail) ."', '". check_query($slogan) ."', '". check_query($mission) ."', '". time() ."')"); + + watchdog("message", "directory: ping from '$name' ($link)"); + + return new xmlrpcresp(new xmlrpcval(1, "int")); + } + else { + return new xmlrpcresp(new xmlrpcval(0, "int")); + } + +} + +function drupal_directory_page() { + $result = db_query("SELECT * FROM directory ORDER BY name"); + + while ($site = db_fetch_object($result)) { + $output .= "link\">$site->name - $site->slogan
$site->mission

"; + } + + return $output; +} + +function drupal_xmlrpc() { + return array("drupal.site.ping" => array("function" => "drupal_directory_ping")); +} + +function drupal_notify($server) { + + $url = parse_url($server); + + $client = new xmlrpc_client($url["path"], $url["host"], 80); + + $message = new xmlrpcmsg("drupal.site.ping", array(new xmlrpcval(path_uri(), "string"), new xmlrpcval(variable_get("site_name", ""), "string"), new xmlrpcval(variable_get("site_mail", ""), "string"), new xmlrpcval(variable_get("site_slogan", ""), "string"), new xmlrpcval(variable_get("site_mission", ""), "string"))); + + $result = $client->send($message, 5); + + if (!$result || $result->faultCode()) { + watchdog("error", "failed to notify '". $url["host"] ."' at '". $url["path"] ."': ". $result->faultString()); + } + +} + function drupal_info($field = 0) { $info["name"] = "Drupal"; $info["protocol"] = "XML-RPC"; diff --git a/modules/system.module b/modules/system.module index 9a86ea9db..d9d5c633c 100644 --- a/modules/system.module +++ b/modules/system.module @@ -30,11 +30,12 @@ function system_view_options() { // general settings: $output .= "

General settings

\n"; - $output .= form_textfield("Name", "site_name", variable_get("site_name", "drupal"), 30, 55, "The name of this website."); - $output .= form_textfield("E-mail address", "site_mail", variable_get("site_mail", "root@localhost"), 35, 55, "A valid e-mail address for this website, used by the auto-mailer to create new user accounts."); + $output .= form_textfield("Name", "site_name", variable_get("site_name", "drupal"), 55, 55, "The name of this website."); + $output .= form_textfield("E-mail address", "site_mail", variable_get("site_mail", "root@localhost"), 55, 128, "A valid e-mail address for this website, used by the auto-mailer to create new user accounts."); $output .= form_textfield("Slogan", "site_slogan", variable_get("site_slogan", ""), 55, 128, "The slogan of this website"); - $output .= form_textarea("Footer message", "site_footer", variable_get("site_footer", ""), 55, 3, "This text will be displayed at the bottom of each page. Useful for adding a copyright notice to your pages."); - $output .= form_textfield("Anonymous user", "anonymous", variable_get("anonymous", "Anonymous"), 30, 55, "The name used to indicate anonymous users."); + $output .= form_textarea("Mission", "site_mission", variable_get("site_mission", ""), 55, 5, "Your site's mission statement or focus."); + $output .= form_textarea("Footer message", "site_footer", variable_get("site_footer", ""), 55, 5, "This text will be displayed at the bottom of each page. Useful for adding a copyright notice to your pages."); + $output .= form_textfield("Anonymous user", "anonymous", variable_get("anonymous", "Anonymous"), 55, 55, "The name used to indicate anonymous users."); foreach (module_list() as $name) { if (module_hook($name, "page")) $pages[$name] = $name; } $output .= form_select("Default front page", "site_frontpage", variable_get("site_frontpage", "node"), $pages, "The default front page."); $output .= form_textfield("Extra front page settings", "site_frontpage_extra", variable_get("site_frontpage_extra", ""), 55, 128, "Lets you define additonal variables for the main page in PHP."); diff --git a/modules/system/system.module b/modules/system/system.module index 9a86ea9db..d9d5c633c 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -30,11 +30,12 @@ function system_view_options() { // general settings: $output .= "

General settings

\n"; - $output .= form_textfield("Name", "site_name", variable_get("site_name", "drupal"), 30, 55, "The name of this website."); - $output .= form_textfield("E-mail address", "site_mail", variable_get("site_mail", "root@localhost"), 35, 55, "A valid e-mail address for this website, used by the auto-mailer to create new user accounts."); + $output .= form_textfield("Name", "site_name", variable_get("site_name", "drupal"), 55, 55, "The name of this website."); + $output .= form_textfield("E-mail address", "site_mail", variable_get("site_mail", "root@localhost"), 55, 128, "A valid e-mail address for this website, used by the auto-mailer to create new user accounts."); $output .= form_textfield("Slogan", "site_slogan", variable_get("site_slogan", ""), 55, 128, "The slogan of this website"); - $output .= form_textarea("Footer message", "site_footer", variable_get("site_footer", ""), 55, 3, "This text will be displayed at the bottom of each page. Useful for adding a copyright notice to your pages."); - $output .= form_textfield("Anonymous user", "anonymous", variable_get("anonymous", "Anonymous"), 30, 55, "The name used to indicate anonymous users."); + $output .= form_textarea("Mission", "site_mission", variable_get("site_mission", ""), 55, 5, "Your site's mission statement or focus."); + $output .= form_textarea("Footer message", "site_footer", variable_get("site_footer", ""), 55, 5, "This text will be displayed at the bottom of each page. Useful for adding a copyright notice to your pages."); + $output .= form_textfield("Anonymous user", "anonymous", variable_get("anonymous", "Anonymous"), 55, 55, "The name used to indicate anonymous users."); foreach (module_list() as $name) { if (module_hook($name, "page")) $pages[$name] = $name; } $output .= form_select("Default front page", "site_frontpage", variable_get("site_frontpage", "node"), $pages, "The default front page."); $output .= form_textfield("Extra front page settings", "site_frontpage_extra", variable_get("site_frontpage_extra", ""), 55, 128, "Lets you define additonal variables for the main page in PHP."); -- cgit v1.2.3