OSDN Git Service

BugTrack/2431 topicpath-title: ensure a.textContent == page
[pukiwiki/pukiwiki.git] / skin / pukiwiki.skin.php
1 <?php
2 // PukiWiki - Yet another WikiWikiWeb clone.
3 // pukiwiki.skin.php
4 // Copyright
5 //   2002-2017 PukiWiki Development Team
6 //   2001-2002 Originally written by yu-ji
7 // License: GPL v2 or (at your option) any later version
8 //
9 // PukiWiki default skin
10
11 // ------------------------------------------------------------
12 // Settings (define before here, if you want)
13
14 // Set site identities
15 $_IMAGE['skin']['logo']     = 'pukiwiki.png';
16 $_IMAGE['skin']['favicon']  = ''; // Sample: 'image/favicon.ico';
17
18 // SKIN_DEFAULT_DISABLE_TOPICPATH
19 //   1 = Show reload URL
20 //   0 = Show topicpath
21 if (! defined('SKIN_DEFAULT_DISABLE_TOPICPATH'))
22         define('SKIN_DEFAULT_DISABLE_TOPICPATH', 1); // 1, 0
23
24 // Show / Hide navigation bar UI at your choice
25 // NOTE: This is not stop their functionalities!
26 if (! defined('PKWK_SKIN_SHOW_NAVBAR'))
27         define('PKWK_SKIN_SHOW_NAVBAR', 1); // 1, 0
28
29 // Show / Hide toolbar UI at your choice
30 // NOTE: This is not stop their functionalities!
31 if (! defined('PKWK_SKIN_SHOW_TOOLBAR'))
32         define('PKWK_SKIN_SHOW_TOOLBAR', 1); // 1, 0
33
34 // ------------------------------------------------------------
35 // Code start
36
37 // Prohibit direct access
38 if (! defined('UI_LANG')) die('UI_LANG is not set');
39 if (! isset($_LANG)) die('$_LANG is not set');
40 if (! defined('PKWK_READONLY')) die('PKWK_READONLY is not set');
41
42 $lang  = & $_LANG['skin'];
43 $link  = & $_LINK;
44 $image = & $_IMAGE['skin'];
45 $rw    = ! PKWK_READONLY;
46
47 // MenuBar
48 $menu = arg_check('read') && exist_plugin_convert('menu') ? do_plugin_convert('menu') : FALSE;
49
50 // ------------------------------------------------------------
51 // Output
52
53 // HTTP headers
54 pkwk_common_headers();
55 header('Cache-control: no-cache');
56 header('Pragma: no-cache');
57 header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
58
59 ?>
60 <!DOCTYPE html>
61 <html lang="<?php echo LANG ?>">
62 <head>
63  <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CONTENT_CHARSET ?>" />
64 <?php if ($nofollow || ! $is_read)  { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
65 <?php if ($html_meta_referrer_policy) { ?> <meta name="referrer" content="<?php echo htmlsc(html_meta_referrer_policy) ?>" /><?php } ?>
66
67  <title><?php echo $title ?> - <?php echo $page_title ?></title>
68
69  <link rel="SHORTCUT ICON" href="<?php echo $image['favicon'] ?>" />
70  <link rel="stylesheet" type="text/css" href="<?php echo SKIN_DIR ?>pukiwiki.css" />
71  <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo $link['rss'] ?>" /><?php // RSS auto-discovery ?>
72  <script type="text/javascript" src="skin/main.js" defer></script>
73  <script type="text/javascript" src="skin/search2.js" defer></script>
74
75 <?php echo $head_tag ?>
76 </head>
77 <body>
78 <?php echo $html_scripting_data ?>
79 <div id="header">
80  <a href="<?php echo $link['top'] ?>"><img id="logo" src="<?php echo IMAGE_DIR . $image['logo'] ?>" width="80" height="80" alt="[PukiWiki]" title="[PukiWiki]" /></a>
81
82  <h1 class="title"><?php echo $page ?></h1>
83
84 <?php if ($is_page) { ?>
85  <?php if(SKIN_DEFAULT_DISABLE_TOPICPATH) { ?>
86    <a href="<?php echo $link['canonical_url'] ?>"><span class="small"><?php echo $link['canonical_url'] ?></span></a>
87  <?php } else { ?>
88    <span class="small">
89    <?php require_once(PLUGIN_DIR . 'topicpath.inc.php'); echo plugin_topicpath_inline(); ?>
90    </span>
91  <?php } ?>
92 <?php } ?>
93
94 </div>
95
96 <div id="navigator">
97 <?php if(PKWK_SKIN_SHOW_NAVBAR) { ?>
98 <?php
99 function _navigator($key, $value = '', $javascript = ''){
100         $lang = & $GLOBALS['_LANG']['skin'];
101         $link = & $GLOBALS['_LINK'];
102         if (! isset($lang[$key])) { echo 'LANG NOT FOUND'; return FALSE; }
103         if (! isset($link[$key])) { echo 'LINK NOT FOUND'; return FALSE; }
104
105         echo '<a href="' . $link[$key] . '" ' . $javascript . '>' .
106                 (($value === '') ? $lang[$key] : $value) .
107                 '</a>';
108
109         return TRUE;
110 }
111 ?>
112  [ <?php _navigator('top') ?> ] &nbsp;
113
114 <?php if ($is_page) { ?>
115  [
116  <?php if ($rw) { ?>
117         <?php _navigator('edit') ?> |
118         <?php if ($is_read && $function_freeze) { ?>
119                 <?php (! $is_freeze) ? _navigator('freeze') : _navigator('unfreeze') ?> |
120         <?php } ?>
121  <?php } ?>
122  <?php _navigator('diff') ?>
123  <?php if ($do_backup) { ?>
124         | <?php _navigator('backup') ?>
125  <?php } ?>
126  <?php if ($rw && (bool)ini_get('file_uploads')) { ?>
127         | <?php _navigator('upload') ?>
128  <?php } ?>
129  | <?php _navigator('reload') ?>
130  ] &nbsp;
131 <?php } ?>
132
133  [
134  <?php if ($rw) { ?>
135         <?php _navigator('new') ?> |
136  <?php } ?>
137    <?php _navigator('list') ?>
138  <?php if (arg_check('list')) { ?>
139         | <?php _navigator('filelist') ?>
140  <?php } ?>
141  | <?php _navigator('search') ?>
142  | <?php _navigator('recent') ?>
143  | <?php _navigator('help')   ?>
144  <?php if ($enable_login) { ?>
145  | <?php _navigator('login') ?>
146  <?php } ?>
147  <?php if ($enable_logout) { ?>
148  | <?php _navigator('logout') ?>
149  <?php } ?>
150  ]
151 <?php } // PKWK_SKIN_SHOW_NAVBAR ?>
152 </div>
153
154 <?php echo $hr ?>
155
156 <?php if ($menu !== FALSE) { ?>
157 <table border="0" style="width:100%">
158  <tr>
159   <td class="menubar">
160    <div id="menubar"><?php echo $menu ?></div>
161   </td>
162   <td valign="top">
163    <div id="body"><?php echo $body ?></div>
164   </td>
165  </tr>
166 </table>
167 <?php } else { ?>
168 <div id="body"><?php echo $body ?></div>
169 <?php } ?>
170
171 <?php if ($notes != '') { ?>
172 <div id="note"><?php echo $notes ?></div>
173 <?php } ?>
174
175 <?php if ($attaches != '') { ?>
176 <div id="attach">
177 <?php echo $hr ?>
178 <?php echo $attaches ?>
179 </div>
180 <?php } ?>
181
182 <?php echo $hr ?>
183
184 <?php if (PKWK_SKIN_SHOW_TOOLBAR) { ?>
185 <!-- Toolbar -->
186 <div id="toolbar">
187 <?php
188
189 // Set toolbar-specific images
190 $_IMAGE['skin']['reload']   = 'reload.png';
191 $_IMAGE['skin']['new']      = 'new.png';
192 $_IMAGE['skin']['edit']     = 'edit.png';
193 $_IMAGE['skin']['freeze']   = 'freeze.png';
194 $_IMAGE['skin']['unfreeze'] = 'unfreeze.png';
195 $_IMAGE['skin']['diff']     = 'diff.png';
196 $_IMAGE['skin']['upload']   = 'file.png';
197 $_IMAGE['skin']['copy']     = 'copy.png';
198 $_IMAGE['skin']['rename']   = 'rename.png';
199 $_IMAGE['skin']['top']      = 'top.png';
200 $_IMAGE['skin']['list']     = 'list.png';
201 $_IMAGE['skin']['search']   = 'search.png';
202 $_IMAGE['skin']['recent']   = 'recentchanges.png';
203 $_IMAGE['skin']['backup']   = 'backup.png';
204 $_IMAGE['skin']['help']     = 'help.png';
205 $_IMAGE['skin']['rss']      = 'rss.png';
206 $_IMAGE['skin']['rss10']    = & $_IMAGE['skin']['rss'];
207 $_IMAGE['skin']['rss20']    = 'rss20.png';
208 $_IMAGE['skin']['rdf']      = 'rdf.png';
209
210 function _toolbar($key, $x = 20, $y = 20){
211         $lang  = & $GLOBALS['_LANG']['skin'];
212         $link  = & $GLOBALS['_LINK'];
213         $image = & $GLOBALS['_IMAGE']['skin'];
214         if (! isset($lang[$key]) ) { echo 'LANG NOT FOUND';  return FALSE; }
215         if (! isset($link[$key]) ) { echo 'LINK NOT FOUND';  return FALSE; }
216         if (! isset($image[$key])) { echo 'IMAGE NOT FOUND'; return FALSE; }
217
218         echo '<a href="' . $link[$key] . '">' .
219                 '<img src="' . IMAGE_DIR . $image[$key] . '" width="' . $x . '" height="' . $y . '" ' .
220                         'alt="' . $lang[$key] . '" title="' . $lang[$key] . '" />' .
221                 '</a>';
222         return TRUE;
223 }
224 ?>
225  <?php _toolbar('top') ?>
226
227 <?php if ($is_page) { ?>
228  &nbsp;
229  <?php if ($rw) { ?>
230         <?php _toolbar('edit') ?>
231         <?php if ($is_read && $function_freeze) { ?>
232                 <?php if (! $is_freeze) { _toolbar('freeze'); } else { _toolbar('unfreeze'); } ?>
233         <?php } ?>
234  <?php } ?>
235  <?php _toolbar('diff') ?>
236 <?php if ($do_backup) { ?>
237         <?php _toolbar('backup') ?>
238 <?php } ?>
239 <?php if ($rw) { ?>
240         <?php if ((bool)ini_get('file_uploads')) { ?>
241                 <?php _toolbar('upload') ?>
242         <?php } ?>
243         <?php _toolbar('copy') ?>
244         <?php _toolbar('rename') ?>
245 <?php } ?>
246  <?php _toolbar('reload') ?>
247 <?php } ?>
248  &nbsp;
249 <?php if ($rw) { ?>
250         <?php _toolbar('new') ?>
251 <?php } ?>
252  <?php _toolbar('list')   ?>
253  <?php _toolbar('search') ?>
254  <?php _toolbar('recent') ?>
255  &nbsp; <?php _toolbar('help') ?>
256  &nbsp; <?php _toolbar('rss10', 36, 14) ?>
257 </div>
258 <?php } // PKWK_SKIN_SHOW_TOOLBAR ?>
259
260 <?php if ($lastmodified != '') { ?>
261 <div id="lastmodified">Last-modified: <?php echo $lastmodified ?></div>
262 <?php } ?>
263
264 <?php if ($related != '') { ?>
265 <div id="related">Link: <?php echo $related ?></div>
266 <?php } ?>
267
268 <div id="footer">
269  Site admin: <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a>
270  <p>
271  <?php echo S_COPYRIGHT ?>.
272  Powered by PHP <?php echo PHP_VERSION ?>. HTML convert time: <?php echo elapsedtime() ?> sec.
273  </p>
274 </div>
275 </body>
276 </html>