OSDN Git Service

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