OSDN Git Service

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