OSDN Git Service

BugTrack/744: PKWK_READONLY prohibits editing
[pukiwiki/pukiwiki.git] / skin / tdiary.skin.php
1 <?php
2 // PukiWiki - Yet another WikiWikiWeb clone.
3 // $Id: tdiary.skin.php,v 1.18 2005/02/05 07:19:05 henoheno Exp $
4 //
5 // tDiary-wrapper skin
6
7 // Select theme
8 if (! defined('TDIARY_THEME')) define('TDIARY_THEME', 'loose-leaf'); // Default
9
10 // Show link(s) at your choice, with <div class="calendar"> design
11 // NOTE: Some theme become looking worse with this!
12 //   NULL = Show nothing
13 //   0    = Show topicpath
14 //   1    = Show reload URL
15 if (! defined('TDIARY_CALENDAR_DESIGN'))
16         define('TDIARY_CALENDAR_DESIGN', NULL); // NULL, 0, 1
17
18 // Show / Hide navigation bar UI at your choice
19 // NOTE: This is not stop their functionalities!
20 if (! defined('PKWK_SKIN_SHOW_NAVBAR'))
21         define('PKWK_SKIN_SHOW_NAVBAR', 1); // 1, 0
22
23 // Show toolbar at your choice, with <div class="footer"> design
24 // NOTE: Some theme become looking worse with this!
25 if (! defined('PKWK_SKIN_SHOW_TOOLBAR'))
26         define('PKWK_SKIN_SHOW_TOOLBAR', 0); // 0, 1
27
28 // --------
29 // Prohibit direct access
30 if (! defined('UI_LANG')) die('UI_LANG is not set');
31 if (! isset($_LANG)) die('$_LANG is not set');
32 if (! defined('PKWK_READONLY')) die('PKWK_READONLY is not set');
33
34 // Check theme
35 $theme = TDIARY_THEME;
36 if ($theme == '' || $theme == 'TDIARY_THEME') {
37         die('Theme is not specified. Set "TDIARY_THEME" correctly');
38 } else {
39         $theme = rawurlencode($theme); // Supress all nasty letters
40         $theme_css = SKIN_DIR . 'theme/' . $theme . '/' . $theme . '.css';
41         if (! file_exists($theme_css)) {
42                 echo 'tDiary theme wrapper: ';
43                 echo 'Theme not found: ' . htmlspecialchars($theme_css) . '<br/>';
44                 echo 'You can get tdiary-theme from: ';
45                 echo 'http://sourceforge.net/projects/tdiary/';
46                 exit;
47          }
48 }
49
50 // Adjust DTD (between theme(=CSS) and MSIE bug)
51 // NOTE:
52 //    PukiWiki default: PKWK_DTD_XHTML_1_1
53 //    tDiary's default: PKWK_DTD_HTML_4_01_STRICT
54 switch(TDIARY_THEME){
55 case 'christmas':
56         $pkwk_dtd = PKWK_DTD_HTML_4_01_STRICT; // or centering will be ignored via MSIE
57         break;
58 }
59
60 // Adjust reverse-link default design manually
61 $disable_backlink = FALSE;
62 switch(TDIARY_THEME){
63 case 'hatena':  /*FALLTHROUGH*/
64         $disable_backlink = TRUE;
65         break;
66 }
67
68 // Select CSS color theme (testing)
69 $css_theme = '';
70 switch(TDIARY_THEME){
71 case 'alfa':
72 case 'bill':
73 case 'black-lingerie':
74 case 'bubble':
75 case 'cosmos':
76 case 'darkness-pop':
77 case 'fine':
78 case 'fri':
79 case 'giza':
80 case 'kaizou':
81 case 'lightning':
82 case 'lime':
83 case 'line':
84 case 'midnight':
85 case 'moo':
86 case 'nachtmusik':
87 case 'nebula':
88 case 'nippon':
89 case 'noel':
90 case 'petith-b':
91 case 'quiet_black':
92 case 'redgrid':
93 case 'starlight':
94 case 'tinybox_green':
95 case 'white-lingerie':
96 case 'whiteout':
97 case 'wine':
98 case 'wood':
99 case 'xmastree':
100 case 'yukon':
101         $css_theme = 'black';
102
103 // Another theme needed?
104 case 'bluely':
105 case 'brown':
106 case 'deepblue':
107 case 'scarlet':
108 case 'smoking_black':
109         ;
110 }
111
112 // Select title design (which is fancy, date and text?)
113 $title_design_date = 1; // Default: Select the date desin, or 'the same design'
114 switch(TDIARY_THEME){
115 case '3minutes':
116 case 'aoikuruma':
117 case 'black-lingerie':
118 case 'blog':
119 case 'book':
120 case 'book2-feminine':
121 case 'book3-sky':
122 case 'candy':
123 case 'cards':
124 case 'desert':
125 case 'dot':
126 case 'himawari':
127 case 'light-blue':
128 case 'lovely':
129 case 'lovely_pink':
130 case 'lr':
131 case 'magic':
132 case 'maroon':
133 case 'midnight':
134 case 'momonga':
135 case 'nande-ya-nen':
136 case 'narrow':
137 case 'nebula':
138 case 'orange':
139 case 'parabola':
140 case 'plum':
141 case 'pool_side':
142 case 'rainy-season':
143 case 'right':
144 case 's-blue':
145 case 's-pink':
146 case 'sky':
147 case 'snow_man':
148 case 'spring':
149 case 'tag':
150 case 'white-lingerie':
151 case 'whiteout':
152 case 'wood':
153         $title_design_date = 0; // Select text design   
154         break;
155
156 // Show both :)
157 case 'arrow':
158 case 'fluxbox':
159 case 'fluxbox2':
160 case 'fluxbox3':
161         $title_design_date = 2;
162         break;
163 }
164
165 // Sidebar: default position
166 if (defined('TDIARY_SIDEBAR_POSITION')) {
167         $sidebar = TDIARY_SIDEBAR_POSITION;
168 } else {
169         // Themes including sidebar CSS < (AllTheme / 2)
170         // $ grep div.sidebar */*.css | cut -d: -f1 | cut -d/ -f1 | sort | uniq
171         // $ wc -l *.txt
172         //     75 list-sidebar.txt
173         //    193 list-all.txt
174         $sidebar = 'another'; // Default: Show as an another page below
175         switch(TDIARY_THEME){
176         case '3minutes':        /*FALLTHROUGH*/
177         case '3pink':
178         case 'aoikuruma':
179         case 'arrow':
180         case 'autumn':
181         case 'babypink':
182         case 'bill':
183         case 'bistro_menu':
184         case 'bluely':
185         case 'book':
186         case 'book2-feminine':
187         case 'book3-sky':
188         case 'bright-green':
189         case 'bubble':
190         case 'candy':
191         case 'cat':
192         case 'cherry':
193         case 'citrus':
194         case 'clover':
195         case 'cool_ice':
196         case 'cosmos':
197         case 'darkness-pop':
198         case 'diamond_dust':
199         case 'dice':
200         case 'emboss':
201         case 'flower':
202         case 'gear':
203         case 'germany':
204         case 'gray2':
205         case 'happa':
206         case 'hatena':
207         case 'himawari':
208         case 'kaeru':
209         case 'kotatsu':
210         case 'light-blue':
211         case 'loose-leaf':
212         case 'marguerite':
213         case 'matcha':
214         case 'mizu':
215         case 'momonga':
216         case 'mono':
217         case 'moo':
218         case 'nippon':
219         case 'note':
220         case 'old-pavement':
221         case 'pain':
222         case 'pale':
223         case 'paper':
224         case 'parabola':
225         case 'pettan':
226         case 'pink-border':
227         case 'plum':
228         case 'puppy':
229         case 'purple_sun':
230         case 'rainy-season':
231         case 'rectangle':
232         case 'repro':
233         case 'russet':
234         case 's-blue':
235         case 'sagegreen':
236         case 'savanna':
237         case 'scarlet':
238         case 'sepia':
239         case 'simple':
240         case 'smoking_black':
241         case 'smoking_white':
242         case 'spring':
243         case 'sunset':
244         case 'teacup':
245         case 'thin':
246         case 'tile':
247         case 'tinybox':
248         case 'tinybox_green':
249         case 'wine':
250         case 'yukon':
251                 $sidebar = 'bottom';    // This is the default position of tDiary's.
252                 break;
253         }
254
255         // Adjust sidebar's default position
256         switch(TDIARY_THEME){
257
258         // Assuming sidebar is above of the body
259         case 'autumn':  /*FALLTHROUGH*/
260         case 'cosmos':
261         case 'dice':    // Sidebar text (white) seems unreadable
262         case 'happa':
263         case 'kaeru':
264         case 'note':
265         case 'paper':   // Sidebar text (white) seems unreadable
266         case 'sunset':
267         case 'tinybox': // For MSIE with narrow window width, seems meanless
268         case 'tinybox_green':   // The same
269                 $sidebar = 'top';
270                 break;
271
272         // Strict separation between sidebar and main contents needed
273         case '3minutes':        /*FALLTHROUGH*/
274         case '3pink':
275         case 'aoikuruma':
276         case 'bill':
277         case 'candy':
278         case 'cat':
279         case 'clover':
280         case 'cool_ice':
281         case 'flower':
282         case 'germany':
283         case 'hiki':
284         case 'himawari':
285         case 'kotatsu':
286         case 'light-blue':
287         case 'loose-leaf':
288         case 'marguerite':
289         case 'matcha':
290         case 'mizu':
291         case 'mono':
292         case 'moo':     // For MSIE, strict seems meanless
293         case 'puppy':
294         case 'rainy-season':
295         case 's-blue':  // For MSIE, strict seems meanless
296         case 'sagegreen':
297         case 'savanna':
298         case 'scarlet':
299         case 'sepia':
300         case 'simple':
301         case 'spring':
302         case 'teacup':
303         case 'wine':
304                 $sidebar = 'strict';
305                 break;
306
307         // They have sidevar-design, but can not show it at the 'side' of the contents
308         case 'babypink':        /*FALLTHROUGH*/
309         case 'bubble':
310         case 'cherry':
311         case 'darkness-pop':
312         case 'diamond_dust':
313         case 'gear':
314         case 'pale':
315         case 'pink-border':
316         case 'rectangle':
317         case 'russet':
318         case 'smoking_black':
319                 $sidebar = 'another'; // Show as an another page below
320                 break;
321         }
322 }
323 // Check menu (sidebar) is ready and $menubar is there
324 $menu = (arg_check('read') && is_page($GLOBALS['menubar']) &&
325         exist_plugin_convert('menu'));
326 if ($menu) {
327         $menu_body = preg_replace('#<h2 ([^>]*)>(.*?)</h2>#',
328                 '<h3 $1><span class="sanchor"></span> $2</h3>',
329                 do_plugin_convert('menu'));
330 }
331
332 $lang  = & $_LANG['skin'];
333 $link  = & $_LINK;
334 $rw    = ! PKWK_READONLY;
335
336 // Decide charset for CSS
337 $css_charset = 'iso-8859-1';
338 switch(UI_LANG){
339         case 'ja': $css_charset = 'Shift_JIS'; break;
340 }
341
342 // Output HTTP headers
343 pkwk_common_headers();
344 header('Cache-control: no-cache');
345 header('Pragma: no-cache');
346 header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
347
348 // Output HTML DTD, <html>, and receive content-type
349 if (isset($pkwk_dtd)) {
350         $meta_content_type = pkwk_output_dtd($pkwk_dtd);
351 } else {
352         $meta_content_type = pkwk_output_dtd();
353 }
354
355 ?>
356 <head>
357  <?php echo $meta_content_type ?>
358  <meta http-equiv="content-style-type" content="text/css" />
359 <?php if (! $is_read)  { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
360 <?php if (PKWK_ALLOW_JAVASCRIPT && isset($javascript)) { ?> <meta http-equiv="Content-Script-Type" content="text/javascript" /><?php } ?>
361
362  <title><?php echo $title ?> - <?php echo $page_title ?></title>
363
364  <link rel="stylesheet" href="skin/theme/base.css" type="text/css" media="all" />
365  <link rel="stylesheet" href="skin/theme/<?php echo $theme ?>/<?php echo $theme ?>.css" type="text/css" media="all" />
366  <link rel="stylesheet" href="skin/tdiary.css.php?charset=<?php echo $css_charset ?>&amp;color=<?php echo $css_theme ?>" type="text/css" media="screen" charset="<?php echo $css_charset ?>" />
367  <link rel="stylesheet" href="skin/tdiary.css.php?charset=<?php echo $css_charset ?>&amp;color=<?php echo $css_theme ?>&amp;media=print" type="text/css" media="print" charset="<?php echo $css_charset ?>" />
368
369  <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo $link['rss'] ?>" /><?php // RSS auto-discovery ?>
370
371 <?php if (PKWK_ALLOW_JAVASCRIPT && $trackback_javascript) { ?> <script type="text/javascript" src="skin/trackback.js"></script><?php } ?>
372
373 <?php echo $head_tag ?>
374 </head>
375 <body><!-- Theme:<?php echo htmlspecialchars($theme) . ' Sidebar:' . $sidebar ?> -->
376
377 <?php if ($menu && $sidebar == 'strict') { ?>
378 <!-- Sidebar top -->
379 <div class="sidebar">
380         <div id="menubar">
381                 <?php echo $menu_body ?>
382         </div>
383 </div><!-- class="sidebar" -->
384
385 <div class="pkwk_body">
386 <div class="main">
387 <?php } // if ($menu && $sidebar == 'strict') ?>
388
389 <!-- Navigation buttuns -->
390 <?php if (PKWK_SKIN_SHOW_NAVBAR) { ?>
391 <div class="adminmenu"><div id="navigator">
392 <?php
393 function _navigator($key, $value = '', $javascript = ''){
394         $lang = $GLOBALS['_LANG']['skin'];
395         $link = $GLOBALS['_LINK'];
396         if (! isset($lang[$key])) { echo 'LANG NOT FOUND'; return FALSE; }
397         if (! isset($link[$key])) { echo 'LINK NOT FOUND'; return FALSE; }
398         if (! PKWK_ALLOW_JAVASCRIPT) $javascript = '';
399
400         echo '<span class="adminmenu"><a href="' . $link[$key] . '" ' . $javascript . '>' .
401                 (($value === '') ? $lang[$key] : $value) .
402                 '</a></span>';
403
404         return TRUE;
405 }
406 ?>
407  <?php _navigator('top') ?> &nbsp;
408
409 <?php if ($is_page) { ?>
410   <?php if ($rw) { ?>
411         <?php _navigator('edit') ?>
412         <?php if ($is_read && $function_freeze) { ?>
413                 <?php (! $is_freeze) ? _navigator('freeze') : _navigator('unfreeze') ?>
414         <?php } ?>
415  <?php } ?>
416    <?php _navigator('diff') ?>
417  <?php if ($do_backup) { ?>
418         <?php _navigator('backup') ?>
419  <?php } ?>
420  <?php if ($rw && (bool)ini_get('file_uploads')) { ?>
421         <?php _navigator('upload') ?>
422  <?php } ?>
423    <?php _navigator('reload') ?>
424    &nbsp;
425 <?php } ?>
426
427  <?php if ($rw) { ?>
428         <?php _navigator('new') ?>
429  <?php } ?>
430    <?php _navigator('list') ?>
431  <?php if (arg_check('list')) { ?>
432    <?php _navigator('filelist') ?>
433  <?php } ?>
434    <?php _navigator('search') ?>
435    <?php _navigator('recent') ?>
436    <?php _navigator('help')   ?>
437
438 <?php if ($trackback) { ?> &nbsp;
439    <?php _navigator('trackback', $lang['trackback'] . '(' . tb_count($_page) . ')',
440         ($trackback_javascript == 1) ? 'onClick="OpenTrackback(this.href); return false"' : '') ?>
441 <?php } ?>
442 <?php if ($referer)   { ?> &nbsp;
443    <?php _navigator('refer') ?>
444 <?php } ?>
445 </div></div>
446 <?php } else { ?>
447 <div id="navigator"></div>
448 <?php } // PKWK_SKIN_SHOW_NAVBAR ?>
449
450 <h1><?php echo $page_title ?></h1>
451
452 <div class="calendar">
453 <?php if ($is_page && TDIARY_CALENDAR_DESIGN !== NULL) { ?>
454         <?php if(TDIARY_CALENDAR_DESIGN) { ?>
455                 <a href="<?php echo $link['reload'] ?>"><span class="small"><?php echo $link['reload'] ?></span></a>
456         <?php } else { ?>
457                 <?php require_once(PLUGIN_DIR . 'topicpath.inc.php'); echo plugin_topicpath_inline(); ?>
458         <?php } ?>
459 <?php } ?>
460 </div>
461
462
463 <?php if ($menu && $sidebar == 'top') { ?>
464 <!-- Sidebar compat top -->
465 <div class="sidebar">
466         <div id="menubar">
467                 <?php echo $menu_body ?>
468         </div>
469 </div><!-- class="sidebar" -->
470 <?php } // if ($menu && $sidebar == 'top') ?>
471
472
473 <?php if ($menu && ($sidebar == 'top' || $sidebar == 'bottom')) { ?>
474 <div class="pkwk_body">
475 <div class="main">
476 <?php } ?>
477
478 <hr class="sep" />
479
480 <div class="day">
481
482 <?php
483 // Page title (page name)
484 $title = '';
485 if ($disable_backlink) {
486         if ($_page != '') {
487                 $title = htmlspecialchars($_page);
488         } else {
489                 $title = $page; // Search, or something message
490         }
491 } else {
492         if ($page != '') {
493                 $title = $page;
494         } else {
495                 $title =  htmlspecialchars($_page);
496         }
497 }
498 $title_date = $title_text = '';
499 switch($title_design_date){
500 case 1: $title_date = & $title; break;
501 case 0: $title_text = & $title; break;
502 default:
503         // Show both (for debug or someting)
504         $title_date = & $title;
505         $title_text = & $title;
506         break;
507 }
508 ?>
509 <h2><span class="date"><?php  echo $title_date ?></span>
510     <span class="title"><?php echo $title_text ?></span></h2>
511
512 <div class="body">
513         <div class="section">
514 <?php
515         // For read and preview: tDiary have no <h2> inside body
516         $body = preg_replace('#<h2 ([^>]*)>(.*?)<a class="anchor_super" ([^>]*)>.*?</a></h2>#',
517                 '<h3 $1><a $3><span class="sanchor">_</span></a> $2</h3>', $body);
518         $body = preg_replace('#<h([34]) ([^>]*)>(.*?)<a class="anchor_super" ([^>]*)>.*?</a></h\1>#',
519                 '<h$1 $2><a $4>_</a> $3</h$1>', $body);
520         $body = preg_replace('#<h2 ([^>]*)>(.*?)</h2>#',
521                 '<h3 $1><span class="sanchor">_</span> $2</h3>', $body);
522         if ($is_read) {
523                 // Read
524                 echo $body;
525         } else {
526                 // Edit, preview, search, etc
527                 echo preg_replace('/(<form) (action="' . preg_quote($script, '/') .
528                         ')/', '$1 class="update" $2', $body);
529         }
530 ?>
531         </div>
532 </div><!-- class="body" -->
533
534
535 <?php if ($notes != '') { ?>
536 <div class="comment"><!-- Design for tDiary "Comments" -->
537         <div class="caption">&nbsp;</div>
538         <div class="commentbody"><br/>
539                 <?php
540                 $notes = preg_replace('#<span class="small">(.*?)</span>#', '<p>$1</p>', $notes);
541                 echo preg_replace('#<a (id="notefoot_[^>]*)>(.*?)</a>#',
542                         '<div class="commentator"><a $1><span class="canchor"></span> ' .
543                         '<span class="commentator">$2</span></a>' .
544                         '<span class="commenttime"></span></div>', $notes);
545                 ?>
546         </div>
547 </div>
548 <?php } ?>
549
550 <?php if ($attaches != '') { ?>
551 <div class="comment">
552         <div class="caption">&nbsp;</div>
553         <div class="commentshort">
554                 <?php echo $attaches ?>
555         </div>
556 </div>
557 <?php } ?>
558
559 <?php if ($related != '') { ?>
560 <div class="comment">
561         <div class="caption">&nbsp;</div>
562         <div class="commentshort">
563                 Link: <?php echo $related ?>
564         </div>
565 </div>
566 <?php } ?>
567
568 <!-- Design for tDiary "Today's referrer" -->
569 <div class="referer"><?php if ($lastmodified != '') echo 'Last-modified: ' . $lastmodified; ?></div>
570
571 </div><!-- class="day" -->
572
573 <hr class="sep" />
574
575
576 <?php if ($menu && $sidebar == 'another') { ?>
577 </div><!-- class="main" -->
578 </div><!-- class="pkwk_body" -->
579
580 <!-- Sidebar another -->
581 <div class="pkwk_body">
582         <h1>&nbsp;</h1>
583         <div class="calendar"></div>
584         <hr class="sep" />
585         <div class="day">
586                 <h2><span class="date"></span><span class="title">&nbsp;</span></h2>
587                 <div class="body">
588                         <div class="section">
589                                 <?php echo $menu_body ?>
590                         </div>
591                 </div>
592                 <div class="referer"></div>
593         </div>
594         <hr class="sep" />
595 </div><!-- class="pkwk_body" -->
596
597 <div class="pkwk_body">
598 <div class="main">
599 <?php } // if ($menu && $sidebar == 'another') ?>
600
601
602 <?php if ($menu && ($sidebar == 'top' || $sidebar == 'bottom')) { ?>
603 </div><!-- class="main" -->
604 </div><!-- class="pkwk_body" -->
605 <?php } ?>
606
607
608 <?php if ($menu && $sidebar == 'bottom') { ?>
609 <!-- Sidebar compat bottom -->
610 <div class="sidebar">
611         <div id="menubar">
612                 <?php echo $menu_body ?>
613         </div>
614 </div><!-- class="sidebar" -->
615 <?php } // if ($menu && $sidebar == 'bottom') ?>
616
617
618 <div class="footer">
619 <?php if (PKWK_SKIN_SHOW_TOOLBAR) { ?>
620 <!-- Toolbar -->
621 <?php
622
623 // Set toolbar-specific images
624 $_IMAGE['skin']['reload']   = 'reload.png';
625 $_IMAGE['skin']['new']      = 'new.png';
626 $_IMAGE['skin']['edit']     = 'edit.png';
627 $_IMAGE['skin']['freeze']   = 'freeze.png';
628 $_IMAGE['skin']['unfreeze'] = 'unfreeze.png';
629 $_IMAGE['skin']['diff']     = 'diff.png';
630 $_IMAGE['skin']['upload']   = 'file.png';
631 $_IMAGE['skin']['copy']     = 'copy.png';
632 $_IMAGE['skin']['rename']   = 'rename.png';
633 $_IMAGE['skin']['top']      = 'top.png';
634 $_IMAGE['skin']['list']     = 'list.png';
635 $_IMAGE['skin']['search']   = 'search.png';
636 $_IMAGE['skin']['recent']   = 'recentchanges.png';
637 $_IMAGE['skin']['backup']   = 'backup.png';
638 $_IMAGE['skin']['help']     = 'help.png';
639 $_IMAGE['skin']['rss']      = 'rss.png';
640 $_IMAGE['skin']['rss10']    = & $_IMAGE['skin']['rss'];
641 $_IMAGE['skin']['rss20']    = 'rss20.png';
642 $_IMAGE['skin']['rdf']      = 'rdf.png';
643
644 function _toolbar($key, $x = 20, $y = 20){
645         $lang  = & $GLOBALS['_LANG']['skin'];
646         $link  = & $GLOBALS['_LINK'];
647         $image = & $GLOBALS['_IMAGE']['skin'];
648         if (! isset($lang[$key]) ) { echo 'LANG NOT FOUND';  return FALSE; }
649         if (! isset($link[$key]) ) { echo 'LINK NOT FOUND';  return FALSE; }
650         if (! isset($image[$key])) { echo 'IMAGE NOT FOUND'; return FALSE; }
651
652         echo '<a href="' . $link[$key] . '">' .
653                 '<img src="' . IMAGE_DIR . $image[$key] . '" width="' . $x . '" height="' . $y . '" ' .
654                         'alt="' . $lang[$key] . '" title="' . $lang[$key] . '" />' .
655                 '</a>';
656         return TRUE;
657 }
658 ?>
659  <?php _toolbar('top') ?>
660
661 <?php if ($is_page) { ?>
662  &nbsp;
663  <?php if ($rw) { ?>
664         <?php _toolbar('edit') ?>
665         <?php if ($is_read && $function_freeze) { ?>
666                 <?php if (! $is_freeze) { _toolbar('freeze'); } else { _toolbar('unfreeze'); } ?>
667         <?php } ?>
668  <?php } ?>
669  <?php _toolbar('diff') ?>
670 <?php if ($do_backup) { ?>
671         <?php _toolbar('backup') ?>
672 <?php } ?>
673  <?php if ($rw && (bool)ini_get('file_uploads')) { ?>
674         <?php _toolbar('upload') ?>
675  <?php } ?>
676  <?php if ($rw) { ?>
677         <?php _toolbar('copy') ?>
678         <?php _toolbar('rename') ?>
679  <?php } ?>
680  <?php _toolbar('reload') ?>
681 <?php } ?>
682  &nbsp;
683  <?php if ($rw) { ?>
684         <?php _toolbar('new') ?>
685  <?php } ?>
686  <?php _toolbar('list')   ?>
687  <?php _toolbar('search') ?>
688  <?php _toolbar('recent') ?>
689  &nbsp; <?php _toolbar('help') ?>
690  &nbsp; <?php _toolbar('rss10', 36, 14) ?>
691  <br/>
692 <?php } // PKWK_SKIN_SHOW_TOOLBAR ?>
693
694 <!-- Copyright etc -->
695  Site admin: <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a><p />
696  <?php echo S_COPYRIGHT ?>.
697  Powered by PHP <?php echo PHP_VERSION ?><br />
698  HTML convert time: <?php echo $taketime ?> sec.
699
700 </div><!-- class="footer" -->
701
702 <?php if ($menu && ($sidebar != 'top' && $sidebar != 'bottom')) { ?>
703 </div><!-- class="main" -->
704 </div><!-- class="pkwk_body" -->
705 <?php } ?>
706
707
708 </body>
709 </html>