getDirectory() . $language . '.php')) {
include_once($this->getDirectory() . $language . '.php');
}else {
include_once($this->getDirectory() . 'english.php');
}
}
function install() {
$this->createOption('pingpong_pingomatic',_PING_PINGOM,'yesno','yes'); // Default, http://pingomatic.com
$this->createOption('pingpong_weblogs',_PING_WEBLOGS,'yesno','no'); // http://weblogs.com
$this->createOption('pingpong_technorati',_PING_TECHNOR,'yesno','no'); // http://www.technorati.com
$this->createOption('pingpong_blogrolling',_PING_BLOGR,'yesno','no'); // http://www.blogrolling.com
$this->createOption('pingpong_blogs',_PING_BLOGS,'yesno','no'); // http://blo.gs
$this->createOption('pingpong_weblogues',_PING_WEBLOGUES,'yesno','no'); // http://weblogues.com/
$this->createOption('pingpong_bloggde',_PING_BLOGGDE,'yesno','no'); // http://blogg.de
$this->createOption('ping_background',_PING_BG,'yesno','yes');
}
function getEventList() {
return array('SendPing', 'JustPosted');
}
function event_JustPosted($data) {
global $DIR_PLUGINS, $DIR_NUCLEUS;
// exit is another plugin already send ping
if ($data['pinged'] == true) {
return;
}
if ($this->getOption('ping_background') == "yes") {
exec("php $DIR_PLUGINS/ping/ping.php " . $data['blogid'] . " &");
} else {
$this->sendPings($data['blogid']);
ACTIONLOG::add(INFO, 'NP_Ping: Sending ping (from foreground)');
}
// mark the ping has been sent
$data['pinged'] = true;
}
function event_SendPing($data) {
$this->sendPings($data);
}
function sendPings($data) {
if (!class_exists('xmlrpcmsg')) {
global $DIR_LIBS;
include($DIR_LIBS . 'xmlrpc.inc.php');
}
$this->myBlogId = $data['blogid'];
if ($this->getOption('pingpong_pingomatic')=='yes') {
echo _PINGING . "Ping-o-matic:
";
echo $this->pingPingomatic();
echo "
";
}
if ($this->getOption('pingpong_weblogs')=='yes') {
echo _PINGING . "Weblogs.com:
";
echo $this->pingWeblogs();
echo "
";
}
if ($this->getOption('pingpong_technorati')=='yes') {
echo _PINGING . "Technorati:
";
echo $this->pingTechnorati();
echo "
";
}
if ($this->getOption('pingpong_blogrolling')=='yes') {
echo _PINGING . "Blogrolling.com:
";
echo $this->pingBlogRollingDotCom();
echo "
";
}
if ($this->getOption('pingpong_blogs')=='yes') {
echo _PINGING . "Blog.gs:
";
echo $this->pingBloGs();
echo "
";
}
if ($this->getOption('pingpong_weblogues')=='yes') {
echo _PINGING . "Weblogues.com:
";
echo $this->pingWebloguesDotCom();
echo "
";
}
if ($this->getOption('pingpong_bloggde')=='yes') {
echo _PINGING . "Blog.de:
";
echo $this->pingBloggDe();
echo "
";
}
}
function pingPingomatic() {
$b = new BLOG($this->myBlogId);
$message = new xmlrpcmsg(
'weblogUpdates.ping', array(
new xmlrpcval($b->getName(),'string'),
new xmlrpcval($b->getURL(),'string')
));
$c = new xmlrpc_client('/', 'rpc.pingomatic.com', 80);
//$c->setDebug(1);
$r = $c->send($message,30); // 30 seconds timeout...
return $this->processPingResult($r);
}
function pingWeblogs() {
$b = new BLOG($this->myBlogId);
$message = new xmlrpcmsg(
'weblogupdates.ping',array(
new xmlrpcval($b->getName(),'string'),
new xmlrpcval($b->getUrl(),'string')
));
$c = new xmlrpc_client('/rpc2', 'rpc.weblogs.com', 80);
//$c->setdebug(1);
$r = $c->send($message,30); // 30 seconds timeout...
return $this->processPingResult($r);
}
function pingTechnorati() {
$b = new BLOG($this->myBlogId);
$message = new xmlrpcmsg(
'weblogUpdates.ping', array(
new xmlrpcval($b->getName(),'string'),
new xmlrpcval($b->getURL(),'string')
));
$c = new xmlrpc_client('/rpc/ping/', 'rpc.technorati.com', 80);
//$c->setDebug(1);
$r = $c->send($message,30); // 30 seconds timeout...
return $this->processPingResult($r);
}
function pingBlogRollingDotCom() {
$b = new BLOG($this->myBlogId);
$message = new xmlrpcmsg(
'weblogUpdates.ping',
array(
new xmlrpcval($b->getName(),'string'), // your blog title
new xmlrpcval($b->getURL(),'string') // your blog url
));
$c = new xmlrpc_client('/pinger/', 'rpc.blogrolling.com', 80);
//$c->setDebug(1);
$r = $c->send($message,30); // 30 seconds timeout...
return $this->processPingResult($r);
}
function pingBloGs() {
$b = new BLOG($this->myBlogId);
$message = new xmlrpcmsg(
'weblogUpdates.extendedPing', array(
new xmlrpcval($b->getName(),'string'),
new xmlrpcval($b->getURL(),'string')
));
$c = new xmlrpc_client('/', 'ping.blo.gs', 80);
//$c->setDebug(1);
$r = $c->send($message,30); // 30 seconds timeout...
return $this->processPingResult($r);
}
function pingWebloguesDotCom() {
$b = new BLOG($this->myBlogId);
$message = new xmlrpcmsg(
'weblogUpdates.extendedPing',
array(
new xmlrpcval($b->getName(),'string'), // your blog title
new xmlrpcval($b->getURL(),'string') // your blog url
));
$c = new xmlrpc_client('/RPC/', 'www.weblogues.com', 80);
//$c->setDebug(1);
$r = $c->send($message,30); // 30 seconds timeout...
return $this->processPingResult($r);
}
function pingBloggDe() {
$b = new BLOG($this->myBlogId);
$message = new xmlrpcmsg(
'bloggUpdates.ping', array(
new xmlrpcval($b->getName(),'string'),
new xmlrpcval($b->getURL(),'string')
));
$c = new xmlrpc_client('/', 'xmlrpc.blogg.de', 80);
//$c->setDebug(1);
$r = $c->send($message,30); // 30 seconds timeout...
return $this->processPingResult($r);
}
function processPingResult($r) {
global $php_errormsg;
if (($r == 0) && ($r->errno || $r->errstring)) {
return _PING_ERROR . " " . $r->errno . ' : ' . $r->errstring;
} elseif (($r == 0) && ($php_errormsg)) {
return _PING_PHP_ERROR . $php_errormsg;
} elseif ($r == 0) {
return _PING_PHP_PING_ERROR;
} elseif ($r->faultCode() != 0) {
return _PING_ERROR . ': ' . $r->faultString();
} else {
$r = $r->value(); // get response struct
// get values
$flerror = $r->structmem('flerror');
$flerror = $flerror->scalarval();
$message = $r->structmem('message');
$message = $message->scalarval();
if ($flerror != 0) {
return _PING_ERROR . ' (flerror=1): ' . $message;
}
else {
return _PING_SUCCESS . ': ' . $message;
}
}
}
}
?>