OSDN Git Service

BugTrack/2213 Improve Canonical URL and reload links
[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
66  <title><?php echo $title ?> - <?php echo $page_title ?></title>
67
68  <link rel="SHORTCUT ICON" href="<?php echo $image['favicon'] ?>" />
69  <link rel="stylesheet" type="text/css" href="<?php echo SKIN_DIR ?>pukiwiki.css" />
70  <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo $link['rss'] ?>" /><?php // RSS auto-discovery ?>
71  <script type="text/javascript" src="skin/main.js" defer></script>
72
73 <?php echo $head_tag ?>
74 </head>
75 <body>
76
77 <div id="header">
78  <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>
79
80  <h1 class="title"><?php echo $page ?></h1>
81
82 <?php if ($is_page) { ?>
83  <?php if(SKIN_DEFAULT_DISABLE_TOPICPATH) { ?>
84    <a href="<?php echo $link['canonical_url'] ?>"><span class="small"><?php echo $link['canonical_url'] ?></span></a>
85  <?php } else { ?>
86    <span class="small">
87    <?php require_once(PLUGIN_DIR . 'topicpath.inc.php'); echo plugin_topicpath_inline(); ?>
88    </span>
89  <?php } ?>
90 <?php } ?>
91
92 </div>
93
94 <div id="navigator">
95 <?php if(PKWK_SKIN_SHOW_NAVBAR) { ?>
96 <?php
97 function _navigator($key, $value = '', $javascript = ''){
98         $lang = & $GLOBALS['_LANG']['skin'];
99         $link = & $GLOBALS['_LINK'];
100         if (! isset($lang[$key])) { echo 'LANG NOT FOUND'; return FALSE; }
101         if (! isset($link[$key])) { echo 'LINK NOT FOUND'; return FALSE; }
102
103         echo '<a href="' . $link[$key] . '" ' . $javascript . '>' .
104                 (($value === '') ? $lang[$key] : $value) .
105                 '</a>';
106
107         return TRUE;
108 }
109 ?>
110  [ <?php _navigator('top') ?> ] &nbsp;
111
112 <?php if ($is_page) { ?>
113  [
114  <?php if ($rw) { ?>
115         <?php _navigator('edit') ?> |
116         <?php if ($is_read && $function_freeze) { ?>
117                 <?php (! $is_freeze) ? _navigator('freeze') : _navigator('unfreeze') ?> |
118         <?php } ?>
119  <?php } ?>
120  <?php _navigator('diff') ?>
121  <?php if ($do_backup) { ?>
122         | <?php _navigator('backup') ?>
123  <?php } ?>
124  <?php if ($rw && (bool)ini_get('file_uploads')) { ?>
125         | <?php _navigator('upload') ?>
126  <?php } ?>
127  | <?php _navigator('reload') ?>
128  ] &nbsp;
129 <?php } ?>
130
131  [
132  <?php if ($rw) { ?>
133         <?php _navigator('new') ?> |
134  <?php } ?>
135    <?php _navigator('list') ?>
136  <?php if (arg_check('list')) { ?>
137         | <?php _navigator('filelist') ?>
138  <?php } ?>
139  | <?php _navigator('search') ?>
140  | <?php _navigator('recent') ?>
141  | <?php _navigator('help')   ?>
142  <?php if ($enable_login) { ?>
143  | <?php _navigator('login') ?>
144  <?php } ?>
145  <?php if ($enable_logout) { ?>
146  | <?php _navigator('logout') ?>
147  <?php } ?>
148  ]
149 <?php } // PKWK_SKIN_SHOW_NAVBAR ?>
150 </div>
151
152 <?php echo $hr ?>
153
154 <?php if ($menu !== FALSE) { ?>
155 <table border="0" style="width:100%">
156  <tr>
157   <td class="menubar">
158    <div id="menubar"><?php echo $menu ?></div>
159   </td>
160   <td valign="top">
161    <div id="body"><?php echo $body ?></div>
162   </td>
163  </tr>
164 </table>
165 <?php } else { ?>
166 <div id="body"><?php echo $body ?></div>
167 <?php } ?>
168
169 <?php if ($notes != '') { ?>
170 <div id="note"><?php echo $notes ?></div>
171 <?php } ?>
172
173 <?php if ($attaches != '') { ?>
174 <div id="attach">
175 <?php echo $hr ?>
176 <?php echo $attaches ?>
177 </div>
178 <?php } ?>
179
180 <?php echo $hr ?>
181
182 <?php if (PKWK_SKIN_SHOW_TOOLBAR) { ?>
183 <!-- Toolbar -->
184 <div id="toolbar">
185 <?php
186
187 // Set toolbar-specific images
188 $_IMAGE['skin']['reload']   = 'reload.png';
189 $_IMAGE['skin']['new']      = 'new.png';
190 $_IMAGE['skin']['edit']     = 'edit.png';
191 $_IMAGE['skin']['freeze']   = 'freeze.png';
192 $_IMAGE['skin']['unfreeze'] = 'unfreeze.png';
193 $_IMAGE['skin']['diff']     = 'diff.png';
194 $_IMAGE['skin']['upload']   = 'file.png';
195 $_IMAGE['skin']['copy']     = 'copy.png';
196 $_IMAGE['skin']['rename']   = 'rename.png';
197 $_IMAGE['skin']['top']      = 'top.png';
198 $_IMAGE['skin']['list']     = 'list.png';
199 $_IMAGE['skin']['search']   = 'search.png';
200 $_IMAGE['skin']['recent']   = 'recentchanges.png';
201 $_IMAGE['skin']['backup']   = 'backup.png';
202 $_IMAGE['skin']['help']     = 'help.png';
203 $_IMAGE['skin']['rss']      = 'rss.png';
204 $_IMAGE['skin']['rss10']    = & $_IMAGE['skin']['rss'];
205 $_IMAGE['skin']['rss20']    = 'rss20.png';
206 $_IMAGE['skin']['rdf']      = 'rdf.png';
207
208 function _toolbar($key, $x = 20, $y = 20){
209         $lang  = & $GLOBALS['_LANG']['skin'];
210         $link  = & $GLOBALS['_LINK'];
211         $image = & $GLOBALS['_IMAGE']['skin'];
212         if (! isset($lang[$key]) ) { echo 'LANG NOT FOUND';  return FALSE; }
213         if (! isset($link[$key]) ) { echo 'LINK NOT FOUND';  return FALSE; }
214         if (! isset($image[$key])) { echo 'IMAGE NOT FOUND'; return FALSE; }
215
216         echo '<a href="' . $link[$key] . '">' .
217                 '<img src="' . IMAGE_DIR . $image[$key] . '" width="' . $x . '" height="' . $y . '" ' .
218                         'alt="' . $lang[$key] . '" title="' . $lang[$key] . '" />' .
219                 '</a>';
220         return TRUE;
221 }
222 ?>
223  <?php _toolbar('top') ?>
224
225 <?php if ($is_page) { ?>
226  &nbsp;
227  <?php if ($rw) { ?>
228         <?php _toolbar('edit') ?>
229         <?php if ($is_read && $function_freeze) { ?>
230                 <?php if (! $is_freeze) { _toolbar('freeze'); } else { _toolbar('unfreeze'); } ?>
231         <?php } ?>
232  <?php } ?>
233  <?php _toolbar('diff') ?>
234 <?php if ($do_backup) { ?>
235         <?php _toolbar('backup') ?>
236 <?php } ?>
237 <?php if ($rw) { ?>
238         <?php if ((bool)ini_get('file_uploads')) { ?>
239                 <?php _toolbar('upload') ?>
240         <?php } ?>
241         <?php _toolbar('copy') ?>
242         <?php _toolbar('rename') ?>
243 <?php } ?>
244  <?php _toolbar('reload') ?>
245 <?php } ?>
246  &nbsp;
247 <?php if ($rw) { ?>
248         <?php _toolbar('new') ?>
249 <?php } ?>
250  <?php _toolbar('list')   ?>
251  <?php _toolbar('search') ?>
252  <?php _toolbar('recent') ?>
253  &nbsp; <?php _toolbar('help') ?>
254  &nbsp; <?php _toolbar('rss10', 36, 14) ?>
255 </div>
256 <?php } // PKWK_SKIN_SHOW_TOOLBAR ?>
257
258 <?php if ($lastmodified != '') { ?>
259 <div id="lastmodified">Last-modified: <?php echo $lastmodified ?></div>
260 <?php } ?>
261
262 <?php if ($related != '') { ?>
263 <div id="related">Link: <?php echo $related ?></div>
264 <?php } ?>
265
266 <div id="footer">
267  Site admin: <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a><p />
268  <?php echo S_COPYRIGHT ?>.
269  Powered by PHP <?php echo PHP_VERSION ?>. HTML convert time: <?php echo elapsedtime() ?> sec.
270 </div>
271 <?php echo $html_scripting_data ?>
272
273 </body>
274 </html>