OSDN Git Service

* Cleanup. Japanese => English. Shrink. Added comments.
authorhenoheno <henoheno>
Sun, 10 Apr 2005 07:51:30 +0000 (16:51 +0900)
committerhenoheno <henoheno>
Sun, 10 Apr 2005 07:51:30 +0000 (16:51 +0900)
* $script => get_script_uri()

lib/trackback.php

index 4bd197c..02d3bd9 100644 (file)
@@ -1,27 +1,30 @@
 <?php
-// $Id: trackback.php,v 1.9 2005/04/09 03:18:56 henoheno Exp $
+// $Id: trackback.php,v 1.10 2005/04/10 07:51:30 henoheno Exp $
 /*
  * PukiWiki/TrackBack
- * (C) 2003-2004 PukiWiki Developers Team
+ * (C) 2003-2005 PukiWiki Developers Team
  * (C) 2003, Katsumi Saito <katsumi@jo1upk.ymt.prug.or.jp>
  * License: GPL
  *
- * http://localhost/pukiwiki/pukiwiki.php?FrontPage ¤ÈÌÀ³Î¤Ë»ØÄꤷ¤Ê¤¤¤È
- * TrackBack ID ¤Î¼èÆÀ¤Ï¤Ç¤­¤Ê¤¤
+ * NOTE:
+ *     To get TrackBack ID correctly, specify URI clearly like:
+ *     http://localhost/pukiwiki/pukiwiki.php?FrontPage
  *
  * tb_get_id($page)        Get TrackBack Ping ID from page name
  * tb_id2page($tb_id)      Get page name from TrackBack Ping ID
  * tb_get_filename($page)  Get file name of TrackBack Ping data
  * tb_count($page)         Count the number of TrackBack Pings included for the page
- *                         // pukiwiki.skin.LANG.php
+ *                         // pukiwiki.skin.php
  * tb_send($page, $data)   Send TrackBack Ping(s) automatically // file.php
  * tb_delete($page)        Remove TrackBack Ping data // edit.inc.php
- * tb_get($file, $key = 1) TrackBack Ping ¥Ç¡¼¥¿ÆþÎÏ
- * tb_get_rdf($page)       Ê¸¾ÏÃæ¤ËËä¤á¹þ¤à¤¿¤á¤Îrdf¤ò¥Ç¡¼¥¿¤òÀ¸À® // pukiwiki.php
- * tb_get_url($url)        Ê¸½ñ¤òGET¤·¡¢Ëä¤á¹þ¤Þ¤ì¤¿TrackBack Ping URL¤ò¼èÆÀ
- * class TrackBack_XML     XML¤«¤éTrackBack Ping ID¤ò¼èÆÀ¤¹¤ë¥¯¥é¥¹
- * == Referer Âбþʬ ==
- * ref_save($page)         Save or update referer data // pukiwiki.php
+ * tb_get($file, $key = 1) Import TrackBack Ping data from file
+ * tb_get_rdf($page)       Get a RDF comment to bury TrackBack-ping-URI under HTML(XHTML) output
+ *                         // lib/pukiwiki.php
+ * tb_get_url($url)        HTTP-GET from $uri, and reveal TrackBack-Ping-URI
+ * class TrackBack_XML     Parse and reveal TrackBack-Ping-URI from RDF data
+ *
+ * == Referer related ==
+ * ref_save($page)         Save or update referer data // lib/pukiwiki.php
  */
 
 define('PLUGIN_TRACKBACK_VERSION', 'PukiWiki/TrackBack 0.2');
@@ -40,16 +43,14 @@ function tb_id2page($tb_id)
        if (isset($cache[$tb_id])) return $cache[$tb_id];
 
        if (! isset($pages)) $pages = get_existpages();
-
        foreach ($pages as $page) {
                $_tb_id = tb_get_id($page);
                $cache[$_tb_id] = $page;
                unset($pages[$page]);
-               if ($tb_id == $_tb_id) return $cache[$tb_id];
+               if ($tb_id == $_tb_id) return $cache[$tb_id]; // Found
        }
 
        $cache[$tb_id] = FALSE;
-
        return $cache[$tb_id]; // Not found
 }
 
@@ -71,10 +72,12 @@ function tb_count($page, $ext = '.txt')
 // $minus = Removed lines may include URLs
 function tb_send($page, $plus, $minus = '')
 {
-       global $script, $trackback;
+       global $trackback;
 
        if (! $trackback) return;
 
+       $script = get_script_uri();
+
        // Disable 'max execution time' (php.ini: max_execution_time)
        if (ini_get('safe_mode') == '0') set_time_limit(0);
 
@@ -106,7 +109,7 @@ function tb_send($page, $plus, $minus = '')
        // Sender's information
        $putdata = array(
                'title'     => $page, // Title = It's page name
-               'url'       => "$script?$r_page", // will be rawurlencode() at send phase
+               'url'       => $script . '?' . $r_page, // will be rawurlencode() at send phase
                'excerpt'   => mb_strimwidth(preg_replace("/[\r\n]/", ' ', $excerpt), 0, 255, '...'),
                'blog_name' => PLUGIN_TRACKBACK_VERSION,
                'charset'   => SOURCE_ENCODING // Ping text encoding (Not defined)
@@ -128,7 +131,7 @@ function tb_delete($page)
        if (file_exists($filename)) @unlink($filename);
 }
 
-// TrackBack Ping ¥Ç¡¼¥¿ÆþÎÏ
+// Import TrackBack Ping data from file
 function tb_get($file, $key = 1)
 {
        if (! file_exists($file)) return array();
@@ -148,7 +151,7 @@ function tb_get($file, $key = 1)
        return $result;
 }
 
-// Ê¸¾ÏÃæ¤Ë trackback:ping ¤òËä¤á¹þ¤à¤¿¤á¤Î¥Ç¡¼¥¿¤òÀ¸À®
+// Get a RDF comment to bury TrackBack-ping-URI under HTML(XHTML) output
 function tb_get_rdf($page)
 {
        global $trackback;
@@ -177,10 +180,10 @@ function tb_get_rdf($page)
 EOD;
 }
 
-// Ê¸½ñ¤òGET¤·¡¢Ëä¤á¹þ¤Þ¤ì¤¿TrackBack Ping url¤ò¼èÆÀ
+// HTTP-GET from $uri, and reveal TrackBack-Ping-URI
 function tb_get_url($url)
 {
-       // ¥×¥í¥­¥·¤ò·Ðͳ¤¹¤ëɬÍפ¬¤¢¤ë¥Û¥¹¥È¤Ë¤Ïping¤òÁ÷¿®¤·¤Ê¤¤
+       // Don't go across HTTP-proxy server
        $parse_url = parse_url($url);
        if (empty($parse_url['host']) || via_proxy($parse_url['host']))
                return '';
@@ -202,7 +205,7 @@ function tb_get_url($url)
        return '';
 }
 
-// Ëä¤á¹þ¤Þ¤ì¤¿¥Ç¡¼¥¿¤«¤é TrackBack Ping url¤ò¼èÆÀ¤¹¤ë¥¯¥é¥¹
+// Parse and reveal TrackBack-Ping-URI from RDF(XML) data
 class TrackBack_XML
 {
        var $url;
@@ -267,7 +270,7 @@ function ref_save($page)
                return TRUE;
 
        if (! is_dir(TRACKBACK_DIR))      die('No such directory: TRACKBACK_DIR');
-       if (! is_writable(TRACKBACK_DIR)) die('Permission denied: TRACKBACK_DIR');
+       if (! is_writable(TRACKBACK_DIR)) die('Permission denied to write: TRACKBACK_DIR');
 
        // Update referer data
        if (ereg("[,\"\n\r]", $url))
@@ -277,9 +280,13 @@ function ref_save($page)
        $data     = tb_get($filename, 3);
        $d_url    = rawurldecode($url);
        if (! isset($data[$d_url])) {
-               // 0:ºÇ½ª¹¹¿·Æü»þ, 1:½é²óÅÐÏ¿Æü»þ, 2:»²¾È¥«¥¦¥ó¥¿,
-               // 3:Referer ¥Ø¥Ã¥À, 4:ÍøÍѲÄÈݥե饰(1¤ÏÍ­¸ú)
-               $data[$d_url] = array(UTIME, UTIME, 0, $url, 1);
+               $data[$d_url] = array(
+                       '',    // [0]: Last update date
+                       UTIME, // [1]: Creation date
+                       0,     // [2]: Reference counter
+                       $url,  // [3]: Referer header
+                       1      // [4]: Enable / Disable flag (1 = enable)
+               );
        }
        $data[$d_url][0] = UTIME;
        $data[$d_url][2]++;