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; } } } } ?>