OSDN Git Service

tracker_listで表示しないページ名を指定できるように
authorarino <arino>
Fri, 10 Oct 2003 04:27:06 +0000 (13:27 +0900)
committerarino <arino>
Fri, 10 Oct 2003 04:27:06 +0000 (13:27 +0900)
項目の取り出しに失敗したページを一覧に表示するかどうかを指定するフラグを追加

plugin/tracker.inc.php

index 9eb8821..c806c00 100644 (file)
@@ -2,9 +2,18 @@
 /////////////////////////////////////////////////
 // PukiWiki - Yet another WikiWikiWeb clone.
 //
-// $Id: tracker.inc.php,v 1.13 2003/10/09 14:05:23 arino Exp $
+// $Id: tracker.inc.php,v 1.14 2003/10/10 04:27:06 arino Exp $
 //
 
+// tracker_list¤Çɽ¼¨¤·¤Ê¤¤¥Ú¡¼¥¸Ì¾(Àµµ¬É½¸½¤Ç)
+// 'SubMenu'¥Ú¡¼¥¸ ¤ª¤è¤Ó '/'¤ò´Þ¤à¥Ú¡¼¥¸¤ò½ü³°¤¹¤ë
+define('TRACKER_LIST_EXCLUDE_PATTERN','#^SubMenu$|/#');
+// À©¸Â¤·¤Ê¤¤¾ì¹ç¤Ï¤³¤Á¤é
+//define('TRACKER_LIST_EXCLUDE_PATTERN','#(?!)#');
+
+// ¹àÌܤμè¤ê½Ð¤·¤Ë¼ºÇÔ¤·¤¿¥Ú¡¼¥¸¤ò°ìÍ÷¤Ëɽ¼¨¤¹¤ë
+define('TRACKER_LIST_SHOW_ERROR_PAGE',TRUE);
+
 function plugin_tracker_convert()
 {
        global $script,$vars;
@@ -632,9 +641,13 @@ class Tracker_list
                $pattern_len = strlen($pattern);
                foreach (get_existpages() as $_page)
                {
-                       if (strpos($_page,$pattern) === 0
-                               and strpos($name = substr($_page,$pattern_len),'/') === FALSE)
+                       if (strpos($_page,$pattern) === 0)
                        {
+                               $name = substr($_page,$pattern_len);
+                               if (preg_match(TRACKER_LIST_EXCLUDE_PATTERN,$name))
+                               {
+                                       continue;
+                               }
                                $this->add($_page,$name);
                        }
                }
@@ -670,7 +683,7 @@ class Tracker_list
                        '_update'=> get_filetime($page),
                        '_past'  => get_filetime($page)
                );
-               if (preg_match("/{$this->pattern}/s",$source,$matches))
+               if ($this->rows[$name]['_match'] = preg_match("/{$this->pattern}/s",$source,$matches))
                {
                        array_shift($matches);
                        foreach ($this->pattern_fields as $key=>$field)
@@ -827,6 +840,10 @@ class Tracker_list
                }
                foreach ($this->rows as $key=>$row)
                {
+                       if (!TRACKER_LIST_SHOW_ERROR_PAGE and !$row['_match'])
+                       {
+                               continue;
+                       } 
                        $this->items = $row;
                        foreach ($body as $line)
                        {