function pingit($vals) { global $admin_log; require e_PLUGIN . "gsitemap/weblog_pinger.php"; $pinger = new Weblog_Pinger(); // $pinger->ping_ping_o_matic("Ekzemplo", "http://www.ekzemplo.com/"); $xml_rpc_server = "blogsearch.google.com"; $xml_rpc_port = 80; $xml_rpc_path = "/ping/RPC2"; $xml_rpc_method = "weblogUpdates.extendedPing"; $weblog_name = SITENAME; $weblog_url = $_SERVER['HTTP_HOST'] . e_HTTP; $changes_url = $_SERVER['HTTP_HOST'] . e_HTTP . "news.php?extend." . $vals['news_id']; $cat_or_rss = $_SERVER['HTTP_HOST'] . e_PLUGIN_ABS . "rss_menu/rss.php?1.2"; $extended = TRUE; $pinger->ping($xml_rpc_server, $xml_rpc_port, $xml_rpc_path, $xml_rpc_method, $weblog_name, $weblog_url, $changes_url, $cat_or_rss, $extended); $log = strip_tags($vals['news_title'] . "\n" . $changes_url . "\n" . $cat_or_rss . "\n" . $pinger->smessage); $admin_log->log_event("Gsitemap Google-ping", $log, 4); }
function admin_blog_new() { $message = ""; $this->set("categories", $this->Category->find('list')); if (!empty($this->data)) { $this->Article->create($this->data); $this->Article->validates(); $validationResult = $this->Article->validationErrors; if (empty($validationResult)) { $trackback_urls = trim($this->data['Article']['trackback']); unset($this->data['Article']['trackback']); $this->data['Article']['created'] = date("Y-m-d H:i:s"); $this->data['Article']['type'] = 1; if ($this->Article->save($this->data)) { $message .= "新規記事を保存しました。\n"; } else { $message .= "記事の保存に失敗しました。\n"; } // get information for trackback and ping $blog_name = $this->Setting->getValue('blog.name'); $blog_author = $this->Setting->getValue('blog.author'); $permalink = HOST . $this->base . '/blog/entry/' . $this->data['Article']['url']; $rss_link = HOST . $this->base . '/blog/rss'; // send trackback if (!empty($trackback_urls)) { //load trackback class App::import('Vendor', 'trackback', array('file' => 'trackback.php')); $urls = explode("\n", $trackback_urls); $content = strip_tags($this->data['Article']['content']); $content = mb_substr($content, 0, 100); if (count($urls) > 0) { $trackback = new Trackback($blog_name, $blog_author, Configure::read('App.encoding')); foreach ($urls as $url) { if ($trackback->ping($url, $permalink, $this->data['Article']['title'], $content)) { $message .= "{$url}にトラックバックを送信しました。\n"; } else { $message .= "{$url}にトラックバックは送信できませんでした。\n"; } } } } $pings = explode("\n", $this->Setting->getValue('blog.pings')); if (!empty($pings)) { App::import('Vendor', 'weblog_pinger', array('file' => 'weblog_pinger.php')); App::import('Vendor', 'xmlrpc', array('file' => 'xmlrpc.inc')); foreach ($pings as $url) { if (!empty($url)) { $pinger = new Weblog_Pinger(); $blog_name = urlencode($blog_name); //メジャーな所に送っておく。 $ping_result = $pinger->ping_all(trim($url), $blog_name, $permalink); $this->log("ping result : \n" . var_export($ping_result, true), LOG_DEBUG); $ping_result = $pinger->simplePing(trim($url), $blog_name, $permalink, "", "", $rss_link); $this->log("ping result : \n" . var_export($ping_result, true), LOG_DEBUG); if (!is_array($ping_result)) { $message .= "{$url}にPingを送信しました。<br />\n"; } else { $message .= "{$url}にPing送信に失敗しました。<br />\n"; } } } } $this->Session->write("message", $message); $this->redirect(array('controller' => 'operation', 'action' => 'blog_list')); } } }