• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revisionaf29d8518c40bb432e3bf4398c87f94280e8c380 (tree)
Zeit2004-08-12 21:50:01
Autorhenoheno <henoheno>
Commiterhenoheno

Log Message

BugTrack/653 Correct when THIS_PAGE_DISPLAY = FALSE and THIS_PAGE_LINK = FALSE.
Cleanup. Simplify. Added spaces.

Ändern Zusammenfassung

Diff

--- a/plugin/topicpath.inc.php
+++ b/plugin/topicpath.inc.php
@@ -2,54 +2,63 @@
22 /////////////////////////////////////////////////
33 // PukiWiki - Yet another WikiWikiWeb clone.
44 //
5-// $Id: topicpath.inc.php,v 1.2 2004/08/04 11:21:13 henoheno Exp $
6-//
5+// $Id: topicpath.inc.php,v 1.3 2004/08/12 12:50:01 henoheno Exp $
76 // topicpath plugin for PukiWiki
87 // available under the GPL
98
9+// $defaultpageへのリンクも表示するかどうか
10+// TRUE:表示する FALSE:表示しない.
11+define('PLUGIN_TOPICPATH_TOP_DISPLAY', TRUE);
12+// $defaultpageに対するラベル
13+define('PLUGIN_TOPICPATH_TOP_LABEL', 'Top');
14+
15+// 階層を区切るセパレータ
16+define('PLUGIN_TOPICPATH_TOP_SEPARATOR', ' / ');
1017
11-// defaultpageを一番最初に表示するかどうか。TRUE:表示する FALSE:表示しない.
12-define('PLUGIN_TOPICPATH_TOP_DISPLAY',TRUE);
13-// $defaultpageに対するラベル
14-define('PLUGIN_TOPICPATH_TOP_LABEL','Top');
15-// 階層を区切るセパレータ
16-define('PLUGIN_TOPICPATH_TOP_SEPARATOR',' / ');
17-// 自分のページに対するリンクを表示するかどうか
18-define('PLUGIN_TOPICPATH_THIS_PAGE_DISPLAY',TRUE);
19-// 自分のページに対してリンクするかどうか
20-define('PLUGIN_TOPICPATH_THIS_PAGE_LINK',TRUE);
18+// そのページ自身を表示するか
19+define('PLUGIN_TOPICPATH_THIS_PAGE_DISPLAY', TRUE);
20+// 表示する場合、自分自身を指すリンクを表示するか
21+define('PLUGIN_TOPICPATH_THIS_PAGE_LINK', TRUE);
2122
2223 function plugin_topicpath_convert()
2324 {
24- return '<div>'.plugin_topicpath_inline().'</div>';
25+ return '<div>' . plugin_topicpath_inline() . '</div>';
2526 }
2627
2728 function plugin_topicpath_inline()
2829 {
29- global $script,$vars,$defaultpage;
30-
31- $args = func_get_args();
32-
33- $page = $vars['page'];
34-
35- if ($page == $defaultpage) { return ''; }
36-
37- $topic_path = array();
30+ global $script, $vars, $defaultpage;
31+
32+ // $args = func_get_args();
33+
34+ $page = isset($vars['page']) ? $vars['page'] : '';
35+ if ($page == '' || $page == $defaultpage) return '';
36+
3837 $parts = explode('/', $page);
3938
40- if (!PLUGIN_TOPICPATH_THIS_PAGE_DISPLAY) { array_pop($parts); }
39+ if (PLUGIN_TOPICPATH_THIS_PAGE_DISPLAY) {
40+ $b_link = PLUGIN_TOPICPATH_THIS_PAGE_LINK;
41+ } else {
42+ array_pop($parts); // Remove itself
43+ $b_link = TRUE; // Link to the parent
44+ }
4145
42- $b_link = PLUGIN_TOPICPATH_THIS_PAGE_LINK;
43- while (count($parts)) {
44- $landing = join('/', $parts);
45- $element = array_pop($parts);
46- $topic_path[] = $b_link ? "<a href=\"$script?".rawurlencode($landing)."\">$element</a>" : htmlspecialchars($element);
47- $b_link = TRUE;
46+ $topic_path = array();
47+ while (! empty($parts)) {
48+ $landing = rawurlencode(join('/', $parts));
49+ $element = htmlspecialchars(array_pop($parts));
50+ if ($b_link) {
51+ $topic_path[] = "<a href=\"$script?$landing\">$element</a>";
52+ } else {
53+ $topic_path[] = $element;
54+ $b_link = TRUE; // Maybe reacheable once at a time
55+ }
4856 }
49- if (PLUGIN_TOPICPATH_TOP_DISPLAY)
50- {
51- $topic_path[] = make_pagelink($defaultpage,PLUGIN_TOPICPATH_TOP_LABEL);
57+
58+ if (PLUGIN_TOPICPATH_TOP_DISPLAY) {
59+ $topic_path[] = make_pagelink($defaultpage, PLUGIN_TOPICPATH_TOP_LABEL);
5260 }
61+
5362 return join(PLUGIN_TOPICPATH_TOP_SEPARATOR, array_reverse($topic_path));
5463 }
5564 ?>