} } break; // ping an external reference to some page on this site // ping an external reference to some page on this site case 'weblogUpdates.ping': list($label, $url) = $parameters['params']; // caller has been banned if ($_SERVER['REMOTE_HOST'] && ($server = Servers::get($_SERVER['REMOTE_HOST']) && $server['process_ping'] != 'Y')) { $response = array('flerror' => 49, 'message' => 'Access denied'); } elseif (preg_match('/\\b(127\\.0\\.0\\.1|localhost)\\b/', $url)) { $response = array('flerror' => 1, 'message' => 'We don\'t accept local references ' . $url); } elseif (($content = http::proceed($url)) === FALSE && ($content = http::proceed($url . '/')) === FALSE) { $response = array('flerror' => 1, 'message' => 'Cannot read source address ' . $url); } else { $response = Servers::ping(strip_tags($label), $url); if ($response) { Logger::remember('services/ping.php: failing ping', $response, 'debug'); $response = array('flerror' => 1, 'message' => $response); } else { $response = array('flerror' => 0, 'message' => 'Thanks for the ping'); } } break; default: $response = array('faultCode' => 1, 'faultString' => 'Do not know how to process ' . $parameters['methodName']); Logger::remember('services/ping.php: ping unsupported methodName', $parameters, 'debug'); } } // no response yet if (!isset($response)) {