Skip to content
Snippets Groups Projects
Commit f763bb73 authored by Dries Buytaert's avatar Dries Buytaert
Browse files

- Made the ping module ping pingomatic.com, which in turn, will ping all the major ping services.
  Less code to ping more services.
parent 49f41239
No related branches found
No related tags found
2 merge requests!7452Issue #1797438. HTML5 validation is preventing form submit and not fully...,!789Issue #3210310: Adjust Database API to remove deprecated Drupal 9 code in Drupal 10
......@@ -6,7 +6,7 @@ Drupal x.x.x, xxxx-xx-xx
* improved search indexing.
* improved search output.
- syndication:
* added support for RSS ping-notifications of http://yahoo.com/.
* made the ping module ping pingomatic.com which, in turn, will ping all the major ping services.
- flood control mechanism:
* added a mechanism to throttle certain operations.
- usability:
......
......@@ -13,15 +13,8 @@ function ping_help($section) {
switch ($section) {
case 'admin/help#ping':
$output .= t("
<p>Drupal can automatically send notifications (called \"pings\") to the following sites to tell them that your site has changed. To do so, Drupal implements the %weblogs-XML.</p>
<ul>
<li>%weblogs, a web site that tracks and displays links to changed weblogs and news-oriented web sites. Many services use %weblogs to determine if a site has been recently updated.</li>
<li>%weblogs-RSS for RSS, a web site that tracks and displays links to recently changed RSS feeds in XML format.</li>
<li>%blo-gs, a directory of recently updated weblogs and tools for tracking interesting weblogs, in the spirit of services like %weblogs, %blogtracker and %blogrolling. To get your Drupal site listed, %blo-gs must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %blo-gs system.</li>
<li>%technorati, a web site that tracks links between websites in real time, and can answer the question 'who linked to me in the last hour?'</li>
<li>%yahoo users can track RSS feeds, so when it is pinged, %yahoo will immediately queue up refreshing your site's RSS feed so that it displays your latest content to its users.</li>
</ul>
<p>The ping feature requires crontab.</p>", array('%weblogs' => '<a href="http://www.weblogs.com/">Weblogs.com</a>', '%weblogs-XML' => '<a href="http://www.xmlrpc.com/weblogsCom/">'. t('XML-RPC interface of weblogs.com') .'</a>', '%weblogs-RSS' => '<a href="http://www.xmlrpc.com/weblogsComForRSS">'. t('Weblogs.Com for RSS') .'</a>', '%weblogs-RSS-changes' => '<a href="http://www.weblogs.com/rssUpdates/changes.xml">'. t('the weblogs.com for RSS') .'</a>', '%blo-gs' => '<a href="http://blo.gs/">blo.gs</a>','%blogtracker' => '<a href="http://www.dansanderson.com/blogtracker">blogtracker</a>', '%blogrolling' => '<a href="http://www.blogrolling.com">blogrolling.com</a>', '%blo-gs-XML' => '<a href="http://blo.gs/ping.php">'. t('XML-RPC interface of blo.gs').'</a>', '%technorati' => '<a href="http://www.technorati.com/">'. t("Technorati"). '</a>', '%yahoo' => '<a href="http://my.yahoo.com/">My Yahoo!</a>'));
<p>Drupal can automatically send notifications (called \"pings\") to the %pingomatic to tell them that your site has changed. In turn pingomatic.com will ping other services like weblogs.com, Technorati, blo.gs, BlogRolling, Feedster.com, Moreover, etc.</p>
<p>The ping feature requires crontab.</p>", array('%pingomatic' => '<a href="http://pingomatic.com/">'));
break;
case 'admin/modules#description':
......@@ -60,68 +53,17 @@ function _ping_notify($name, $url) {
/**
* Implementation of hook_ping().
*
* Notifies weblogs.com, blo.gs, and technorati.com of changes at this site.
* Notifies pingomatic.com, blo.gs, and technorati.com of changes at this site.
*/
function ping_ping($name = '', $url = '') {
$feed = url('node/feed', NULL, NULL, TRUE);
$client = new xmlrpc_client('/RPC2', 'rpc.weblogs.com', 80);
$message = new xmlrpcmsg('weblogUpdates.ping', array(new xmlrpcval($name), new xmlrpcval($url)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify weblogs.com (site).'));
}
unset($client);
$client = new xmlrpc_client('/RPC2', 'rssrpc.weblogs.com', 80);
$message = new xmlrpcmsg('rssUpdate', array(new xmlrpcval($name), new xmlrpcval($feed)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify weblogs.com (RSS).'));
}
unset($client);
$client = new xmlrpc_client('/', 'ping.blo.gs', 80);
$message = new xmlrpcmsg('weblogUpdates.extendedPing', array(new xmlrpcval($name), new xmlrpcval($url), new xmlrpcval($url), new xmlrpcval($feed)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify blo.gs.'));
}
unset($client);
$client = new xmlrpc_client('/rpc/ping', 'rpc.technorati.com', 80);
$client = new xmlrpc_client('/', 'rpc.pingomatic.com', 80);
$message = new xmlrpcmsg('weblogUpdates.ping', array(new xmlrpcval($name), new xmlrpcval($url)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify technorati.com.'));
}
unset($client);
$client = new xmlrpc_client('/RPC2', 'api.my.yahoo.com', 80);
$message = new xmlrpcmsg('weblogUpdates.ping', array(new xmlrpcval($name), new xmlrpcval($feed)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify yahoo.com.'));
watchdog('error', t('Failed to notify pingomatic.com (site).'));
}
}
......
......@@ -13,15 +13,8 @@ function ping_help($section) {
switch ($section) {
case 'admin/help#ping':
$output .= t("
<p>Drupal can automatically send notifications (called \"pings\") to the following sites to tell them that your site has changed. To do so, Drupal implements the %weblogs-XML.</p>
<ul>
<li>%weblogs, a web site that tracks and displays links to changed weblogs and news-oriented web sites. Many services use %weblogs to determine if a site has been recently updated.</li>
<li>%weblogs-RSS for RSS, a web site that tracks and displays links to recently changed RSS feeds in XML format.</li>
<li>%blo-gs, a directory of recently updated weblogs and tools for tracking interesting weblogs, in the spirit of services like %weblogs, %blogtracker and %blogrolling. To get your Drupal site listed, %blo-gs must be informed about your site's updates. This is the job of the ping module and when installed, the administrator doesn't have to do anything to participate in the %blo-gs system.</li>
<li>%technorati, a web site that tracks links between websites in real time, and can answer the question 'who linked to me in the last hour?'</li>
<li>%yahoo users can track RSS feeds, so when it is pinged, %yahoo will immediately queue up refreshing your site's RSS feed so that it displays your latest content to its users.</li>
</ul>
<p>The ping feature requires crontab.</p>", array('%weblogs' => '<a href="http://www.weblogs.com/">Weblogs.com</a>', '%weblogs-XML' => '<a href="http://www.xmlrpc.com/weblogsCom/">'. t('XML-RPC interface of weblogs.com') .'</a>', '%weblogs-RSS' => '<a href="http://www.xmlrpc.com/weblogsComForRSS">'. t('Weblogs.Com for RSS') .'</a>', '%weblogs-RSS-changes' => '<a href="http://www.weblogs.com/rssUpdates/changes.xml">'. t('the weblogs.com for RSS') .'</a>', '%blo-gs' => '<a href="http://blo.gs/">blo.gs</a>','%blogtracker' => '<a href="http://www.dansanderson.com/blogtracker">blogtracker</a>', '%blogrolling' => '<a href="http://www.blogrolling.com">blogrolling.com</a>', '%blo-gs-XML' => '<a href="http://blo.gs/ping.php">'. t('XML-RPC interface of blo.gs').'</a>', '%technorati' => '<a href="http://www.technorati.com/">'. t("Technorati"). '</a>', '%yahoo' => '<a href="http://my.yahoo.com/">My Yahoo!</a>'));
<p>Drupal can automatically send notifications (called \"pings\") to the %pingomatic to tell them that your site has changed. In turn pingomatic.com will ping other services like weblogs.com, Technorati, blo.gs, BlogRolling, Feedster.com, Moreover, etc.</p>
<p>The ping feature requires crontab.</p>", array('%pingomatic' => '<a href="http://pingomatic.com/">'));
break;
case 'admin/modules#description':
......@@ -60,68 +53,17 @@ function _ping_notify($name, $url) {
/**
* Implementation of hook_ping().
*
* Notifies weblogs.com, blo.gs, and technorati.com of changes at this site.
* Notifies pingomatic.com, blo.gs, and technorati.com of changes at this site.
*/
function ping_ping($name = '', $url = '') {
$feed = url('node/feed', NULL, NULL, TRUE);
$client = new xmlrpc_client('/RPC2', 'rpc.weblogs.com', 80);
$message = new xmlrpcmsg('weblogUpdates.ping', array(new xmlrpcval($name), new xmlrpcval($url)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify weblogs.com (site).'));
}
unset($client);
$client = new xmlrpc_client('/RPC2', 'rssrpc.weblogs.com', 80);
$message = new xmlrpcmsg('rssUpdate', array(new xmlrpcval($name), new xmlrpcval($feed)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify weblogs.com (RSS).'));
}
unset($client);
$client = new xmlrpc_client('/', 'ping.blo.gs', 80);
$message = new xmlrpcmsg('weblogUpdates.extendedPing', array(new xmlrpcval($name), new xmlrpcval($url), new xmlrpcval($url), new xmlrpcval($feed)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify blo.gs.'));
}
unset($client);
$client = new xmlrpc_client('/rpc/ping', 'rpc.technorati.com', 80);
$client = new xmlrpc_client('/', 'rpc.pingomatic.com', 80);
$message = new xmlrpcmsg('weblogUpdates.ping', array(new xmlrpcval($name), new xmlrpcval($url)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify technorati.com.'));
}
unset($client);
$client = new xmlrpc_client('/RPC2', 'api.my.yahoo.com', 80);
$message = new xmlrpcmsg('weblogUpdates.ping', array(new xmlrpcval($name), new xmlrpcval($feed)));
$result = $client->send($message);
if (!$result || $result->faultCode()) {
watchdog('error', t('Failed to notify yahoo.com.'));
watchdog('error', t('Failed to notify pingomatic.com (site).'));
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment