Beispiel #1
0
 /**
  * 短いURLを取得する。Smartyプラグイン用。
  */
 function tinyurl($pagename, $alias = '')
 {
     $url = gettinyURL($pagename);
     if ($num === false) {
         return '<span class="warning">ページがありません</span>';
     }
     $text = $alias == '' ? $url : $alias;
     return '<a href="' . $url . '">' . $text . '</a>';
 }
Beispiel #2
0
 private function geturl($page)
 {
     $ret = gettinyURL($page);
     if ($ret != false) {
         return $ret;
     }
     return getURL($page);
 }
Beispiel #3
0
 /**
  * 本文中のリンク先にTrackBack Pingを送る
  *
  * return array('url' => 'error_mes')	url:エラーの発生した送信先URL error_mes:エラー内容
  */
 private function sendtrackback()
 {
     require_once 'Services/Trackback.php';
     $data['title'] = $this->subject;
     $data['excerpt'] = mb_strlen($this->text) >= 256 ? mb_substr($this->text, 0, 252) . '...' : $this->text;
     $data['url'] = gettinyURL($this->pagename);
     $data['blog_name'] = SITENAME . ' - ' . $this->blogname;
     $tb = Services_Trackback::create(array('id' => 'dummy'), array('timeout' => 4, 'fetchlines' => 999999));
     if (PEAR::isError($tb)) {
         throw new PluginException('TrackBack送信時にエラーが発生しました(' . $tb->getMessage() . ')。', $this);
     }
     $ret = array();
     $count = preg_match_all('/https?:\\/\\/[-a-zA-Z0-9_:@&?=+,.!\\/~*%$\';#]+/u', $this->text, $m);
     if ($count) {
         foreach ($m[0] as $url) {
             $tb->set('url', $url);
             $result = $tb->autodiscover();
             if (!PEAR::isError($result)) {
                 foreach ($data as $key => $val) {
                     $tb->set($key, $val);
                 }
                 $r = $tb->send();
                 if (PEAR::isError($r)) {
                     $ret[$url] = $r->getMessage();
                 }
             } else {
                 $ret[$url] = $result->getMessage();
             }
         }
     }
     return $ret;
 }