OSDN Git Service

65b670f7cc33f2a724703428364cdd6d8db008b9
[pukiwiki/pukiwiki.git] / skin / tdiary.skin.php
1 <?php
2 // PukiWiki - Yet another WikiWikiWeb clone.
3 // $Id: tdiary.skin.php,v 1.1 2004/12/24 14:41:12 henoheno Exp $
4 //
5 // tDiary-wrapper skin
6
7 // Select theme
8 //define('TDIARY_THEME', '3minutes');
9 //define('TDIARY_THEME', 'aoikuruma');
10 //define('TDIARY_THEME', 'bill');
11 //define('TDIARY_THEME', 'black-lingerie');
12 //define('TDIARY_THEME', 'black_mamba');
13 //define('TDIARY_THEME', 'blog');
14 //define('TDIARY_THEME', 'bubble');
15 //define('TDIARY_THEME', 'cards');
16 //define('TDIARY_THEME', 'cat');
17 //define('TDIARY_THEME', 'christmas');
18 //define('TDIARY_THEME', 'clover');
19 //define('TDIARY_THEME', 'dot');
20 //define('TDIARY_THEME', 'gear');
21 //define('TDIARY_THEME', 'gingham-gray');
22 //define('TDIARY_THEME', 'green-border');       // With frogs
23 //define('TDIARY_THEME', 'himawari');
24 //define('TDIARY_THEME', 'hatena');
25 //define('TDIARY_THEME', 'kaeru');
26 //define('TDIARY_THEME', 'loose-leaf');
27 //define('TDIARY_THEME', 'petith');
28 //define('TDIARY_THEME', 'piyo-family');
29 //define('TDIARY_THEME', 'plum');
30 //define('TDIARY_THEME', 'puppy');
31 //define('TDIARY_THEME', 'snowy');
32 if (! defined('TDIARY_THEME')) define('TDIARY_THEME', 'loose-leaf'); // Default
33
34 // SKIN_DEFAULT_DISABLE_REVERSE_LINK
35 if(! defined('SKIN_DEFAULT_DISABLE_REVERSE_LINK'))
36         define('SKIN_DEFAULT_DISABLE_REVERSE_LINK', 1);
37
38
39 // SKIN_DEFAULT_DISABLE_TOPICPATH
40 //   1    = Show reload URL
41 //   0    = Show topicpath
42 //   NULL = Show nothing
43 if (! defined('SKIN_DEFAULT_DISABLE_TOPICPATH'))
44         define('SKIN_DEFAULT_DISABLE_TOPICPATH', NULL);
45
46 // --------
47 // Prohibit direct access
48 if (! defined('UI_LANG')) die('UI_LANG is not set');
49 if (! isset($_LANG)) die('$_LANG is not set');
50
51 // Check theme
52 $theme = rawurlencode(TDIARY_THEME);
53 if ($theme == '') {
54         echo '/* Theme is not specified. Set "TDIARY_THEME" */';
55         exit;
56 } else {
57         $theme_css = SKIN_DIR . 'theme/' . $theme . '/' . $theme . '.css';
58         if (! file_exists($theme_css)) {
59                 echo 'tDiary theme wrapper: ';
60                 echo 'Theme not found: ' . htmlspecialchars($theme_css) . '<br/>';
61                 echo 'You can get tdiary-theme from: ';
62                 echo 'http://sourceforge.net/projects/tdiary/';
63                 exit;
64          }
65 }
66
67 if (defined('TDIARY_SIDEBAR_POSITION')) {
68         $sidebar = TDIARY_SIDEBAR_POSITION;
69 } else {
70         // Themes including sidebar CSS < (AllTheme / 2)
71         // $ grep div.sidebar */*.css | cut -d: -f1 | cut -d/ -f1 | sort | uniq
72         // $ wc -l *.txt
73         //     75 list-sidebar.txt
74         //    193 list-all.txt
75         $sidebar = FALSE; // Disabled
76         switch($theme){
77         case '3minutes':        /*FALLTHROUGH*/
78         case '3pink':
79         case 'aoikuruma':
80         case 'arrow':
81         case 'autumn':
82         case 'babypink':
83         case 'bill':
84         case 'bistro_menu':
85         case 'bluely':
86         case 'book':
87         case 'book2-feminine':
88         case 'book3-sky':
89         case 'bright-green':
90         case 'bubble':
91         case 'candy':
92         case 'cat':
93         case 'cherry':
94         case 'citrus':
95         case 'clover':
96         case 'cool_ice':
97         case 'cosmos':
98         case 'darkness-pop':
99         case 'diamond_dust':
100         case 'dice':
101         case 'emboss':
102         case 'flower':
103         case 'gear':
104         case 'germany':
105         case 'gray2':
106         case 'happa':
107         case 'hatena':
108         case 'himawari':
109         case 'kaeru':
110         case 'kotatsu':
111         case 'light-blue':
112         case 'loose-leaf':
113         case 'marguerite':
114         case 'matcha':
115         case 'mizu':
116         case 'momonga':
117         case 'mono':
118         case 'moo':
119         case 'nippon':
120         case 'note':
121         case 'old-pavement':
122         case 'pain':
123         case 'pale':
124         case 'paper':
125         case 'parabola':
126         case 'pettan':
127         case 'pink-border':
128         case 'plum':
129         case 'puppy':
130         case 'purple_sun':
131         case 'rainy-season':
132         case 'rectangle':
133         case 'repro':
134         case 'russet':
135         case 's-blue':
136         case 'sagegreen':
137         case 'savanna':
138         case 'scarlet':
139         case 'sepia':
140         case 'simple':
141         case 'smoking_black':
142         case 'smoking_white':
143         case 'spring':
144         case 'sunset':
145         case 'teacup':
146         case 'thin':
147         case 'tile':
148         case 'tinybox':
149         case 'tinybox_green':
150         case 'wine':
151         case 'yukon':
152                 $sidebar = TRUE; // Compatible
153                 break;
154         }
155
156         // Adjust sidebar's default design manually
157         switch($theme){
158         case '3minutes':        /*FALLTHROUGH*/
159         case '3pink':
160         case 'aoikuruma':
161         case 'bill':
162         case 'candy':
163         case 'cat':
164         case 'clover':
165         case 'cool_ice':
166         case 'flower':
167         case 'germany':
168         case 'himawari':
169         case 'kotatsu':
170         case 'light-blue':
171         case 'loose-leaf':
172         case 'marguerite':
173         case 'matcha':
174         case 'mizu':
175         case 'mono':
176         case 'puppy':
177         case 'rainy-season':
178         case 's-blue':
179         case 'sagegreen':
180         case 'savanna':
181         case 'scarlet':
182         case 'sepia':
183         case 'simple':
184         case 'spring':
185         case 'teacup':
186                 $sidebar = 'top'; // Strict separation between sidebar and main
187                 break;
188
189         case 'babypink':        /*FALLTHROUGH*/
190         case 'bubble':
191         case 'blog':
192         case 'gear':
193         case 'purple_sun':
194         case 'rectangle':
195         case 'russet':
196         case 'smoking_black':
197                 $sidebar = FALSE; // Show as an another page below
198                 break;
199
200         case 'be_r5':
201                 $sidebar = TRUE; // Not included officially but works
202                 break;
203         }
204 }
205 // Check menu (sidebar) is ready and $menubar is there
206 $menu = (arg_check('read') && is_page($GLOBALS['menubar']) &&
207         exist_plugin_convert('menu'));
208 if ($menu) {
209         $menu_body = preg_replace('#<h2 ([^>]*)>(.*?)</h2>#',
210                 '<h3 $1><span class="sanchor"></span> $2</h3>',
211                 do_plugin_convert('menu'));
212 }
213
214 // Adjust reverse-link default design manually
215 $disable_reverse_link = FALSE;
216 switch($theme){
217 case 'hatena':  /*FALLTHROUGH*/
218 case 'repro':
219 case 'yukon':
220         $disable_reverse_link = TRUE;
221         break;
222 }
223
224 $lang  = $_LANG['skin'];
225 $link  = $_LINK;
226
227 // Decide charset for CSS
228 $css_charset = 'iso-8859-1';
229 switch(UI_LANG){
230         case 'ja': $css_charset = 'Shift_JIS'; break;
231 }
232
233 // Output header
234 pkwk_common_headers();
235 header('Cache-control: no-cache');
236 header('Pragma: no-cache');
237 header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
238
239 // Output body
240 ?>
241 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
242 <html lang="<?php echo LANG ?>">
243 <head>
244  <meta http-equiv="content-type" content="text/html; charset=<?php echo CONTENT_CHARSET ?>" />
245  <meta http-equiv="content-style-type" content="text/css" />
246 <?php if (! $is_read)  { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
247 <?php if (PKWK_ALLOW_JAVASCRIPT && isset($javascript)) { ?> <meta http-equiv="Content-Script-Type" content="text/javascript" /><?php } ?>
248
249  <title><?php echo "$title - $page_title" ?></title>
250
251  <link rel="stylesheet" href="skin/theme/base.css" type="text/css" media="all" />
252  <link rel="stylesheet" href="skin/theme/<?php echo $theme ?>/<?php echo $theme ?>.css" type="text/css" media="all" />
253  <link rel="stylesheet" href="skin/tdiary.css.php?charset=<?php echo $css_charset ?>" type="text/css" media="screen" charset="<?php echo $css_charset ?>" />
254  <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 ?>" />
255
256  <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo $link['rss'] ?>" /><?php // RSS auto-discovery ?>
257
258 <?php if (PKWK_ALLOW_JAVASCRIPT && $trackback_javascript) { ?> <script type="text/javascript" src="skin/trackback.js"></script><?php } ?>
259
260 <?php echo $head_tag ?>
261 </head>
262 <body><!-- Theme: <?php echo htmlspecialchars($theme) . ' Sidebar:' . $sidebar ?> -->
263
264 <?php if ($menu && $sidebar === 'top') { ?>
265 <!-- Sidebar top -->
266 <div class="sidebar">
267         <div id="menubar">
268                 <?php echo $menu_body ?>
269         </div>
270 </div><!-- class="sidebar" -->
271
272 <div class="pkwk_body">
273 <div class="main">
274 <?php } // if ($menu && $sidebar === 'top') ?>
275
276 <!-- Navigation buttuns -->
277 <div class="adminmenu">
278 <?php
279 function _navigator($key, $value = '', $javascript = ''){
280         $lang = $GLOBALS['_LANG']['skin'];
281         $link = $GLOBALS['_LINK'];
282         if (! isset($lang[$key])) { echo 'LANG NOT FOUND'; return FALSE; }
283         if (! isset($link[$key])) { echo 'LINK NOT FOUND'; return FALSE; }
284         if (! PKWK_ALLOW_JAVASCRIPT) $javascript = '';
285
286         echo '<span class="adminmenu"><a href="' . $link[$key] . '" ' . $javascript . '>' .
287                 (($value === '') ? $lang[$key] : $value) .
288                 '</a></span>';
289
290         return TRUE;
291 }
292 ?>
293  <?php _navigator('top') ?> &nbsp;
294
295 <?php if ($is_page) { ?>
296    <?php _navigator('edit')   ?>
297  <?php if ($is_read && $function_freeze) { ?>
298     <?php (! $is_freeze) ? _navigator('freeze') : _navigator('unfreeze') ?>
299  <?php } ?>
300    <?php _navigator('diff') ?>
301  <?php if ($do_backup) { ?>
302    <?php _navigator('backup') ?>
303  <?php } ?>
304  <?php if ((bool)ini_get('file_uploads')) { ?>
305    <?php _navigator('upload') ?>
306  <?php } ?>
307    <?php _navigator('reload')    ?>
308    &nbsp;
309 <?php } ?>
310
311    <?php _navigator('new')  ?>
312    <?php _navigator('list') ?>
313  <?php if (arg_check('list')) { ?>
314    <?php _navigator('filelist') ?>
315  <?php } ?>
316    <?php _navigator('search') ?>
317    <?php _navigator('recent') ?>
318    <?php _navigator('help')   ?>
319
320 <?php if ($trackback) { ?> &nbsp;
321    <?php _navigator('trackback', $lang['trackback'] . '(' . tb_count($_page) . ')',
322         ($trackback_javascript == 1) ? 'onClick="OpenTrackback(this.href); return false"' : '') ?>
323 <?php } ?>
324 <?php if ($referer)   { ?> &nbsp;
325    <?php _navigator('refer') ?>
326 <?php } ?>
327 </div>
328
329 <h1><?php echo $page_title ?></h1>
330
331 <div class="calendar">
332 <?php if ($is_page && SKIN_DEFAULT_DISABLE_TOPICPATH !== NULL) { ?>
333         <?php if(SKIN_DEFAULT_DISABLE_TOPICPATH) { ?>
334                 <a href="<?php echo $link['reload'] ?>"><span class="small"><?php echo $link['reload'] ?></span></a>
335         <?php } else { ?>
336                 <?php require_once(PLUGIN_DIR . 'topicpath.inc.php'); echo plugin_topicpath_inline(); ?>
337         <?php } ?>
338 <?php } ?>
339 </div>
340
341 <?php if ($menu && $sidebar === TRUE) { ?>
342 <!-- Sidebar compat -->
343 <div class="sidebar">
344         <div id="menubar">
345                 <?php echo $menu_body ?>
346         </div>
347 </div><!-- class="sidebar" -->
348
349 <div class="pkwk_body">
350 <div class="main">
351 <?php } // if ($menu && $sidebar === TRUE) ?>
352
353 <hr class="sep" />
354
355 <div class="day">
356
357 <h2><span class="date"></span> <span class="title"><?php
358 if ($disable_reverse_link === TRUE) {
359         if ($_page != '') {
360                 echo htmlspecialchars($_page);
361         } else {
362                 echo $page; // Search, or something message
363         }
364 } else {
365         if ($page != '') {
366                 echo $page;
367         } else {
368                 echo htmlspecialchars($_page);
369         }
370 }
371 ?></span></h2>
372
373 <div class="body">
374         <div class="section">
375 <?php
376         // For read and preview: tDiary have no <h2> inside body
377         $body = preg_replace('#<h2 ([^>]*)>(.*?)<a class="anchor_super" ([^>]*)>.*?</a></h2>#',
378                 '<h3 $1><a $3><span class="sanchor">_</span></a> $2</h3>', $body);
379         $body = preg_replace('#<h2 ([^>]*)>(.*?)</h2>#',
380                 '<h3 $1><span class="sanchor">_</span> $2</h3>', $body);
381         if ($is_read) {
382                 // Read
383                 echo $body;
384         } else {
385                 // Edit and preview
386                 echo preg_replace('/(<form) (action="' . preg_quote($script, '/') .
387                         '" method="post">)/', '$1 class="update" $2', $body);
388         }
389 ?>
390         </div>
391 </div><!-- class="body" -->
392
393 <?php if ($notes) { ?>
394 <div class="comment"><!-- Design for tDiary "Comments" -->
395         <div class="caption">&nbsp;</div>
396         <div class="commentbody"><br/>
397                 <?php
398                 $notes = preg_replace('#<span class="small">(.*?)</span>#', '<p>$1</p>', $notes);
399                 echo preg_replace('#<a (id="notefoot_[^>]*)>(.*?)</a>#',
400                         '<div class="commentator"><a $1><span class="canchor"></span> ' .
401                         '<span class="commentator">$2</span></a>' .
402                         '<span class="commenttime"></span></div>', $notes);
403                 ?>
404         </div>
405 </div>
406 <?php } ?>
407
408 <?php if ($attaches) { ?>
409 <div class="comment">
410         <div class="caption">&nbsp;</div>
411         <div class="commentshort">
412                 <?php echo $attaches ?>
413         </div>
414 </div>
415 <?php } ?>
416
417 <?php if ($related) { ?>
418 <div class="comment">
419         <div class="caption">&nbsp;</div>
420         <div class="commentshort">
421                 Link: <?php echo $related ?>
422         </div>
423 </div>
424 <?php } ?>
425
426 <!-- Design for tDiary "Today's referrer" -->
427 <div class="referer"><?php if ($lastmodified) echo 'Last-modified: ' . $lastmodified; ?></div>
428
429 </div><!-- class="day" -->
430
431 <hr class="sep" />
432
433 <?php if ($menu && $sidebar === FALSE) { ?>
434 </div><!-- class="main" -->
435 </div><!-- class="pkwk_body" -->
436
437 <!-- Sidebar bottom -->
438 <div class="pkwk_body">
439         <h1>&nbsp;</h1>
440         <div class="calendar"></div>
441         <hr class="sep" />
442         <div class="day">
443                 <h2><span class="date"></span><span class="title">&nbsp;</span></h2>
444                 <div class="body">
445                         <div class="section">
446                                 <?php echo $menu_body ?>
447                         </div>
448                 </div>
449                 <div class="referer"></div>
450         </div>
451         <hr class="sep" />
452 </div><!-- class="sidebar" -->
453
454 <div class="pkwk_body">
455 <div class="main">
456 <?php } // if ($menu && $sidebar === FALSE) ?>
457
458 <?php if ($menu && $sidebar === TRUE) { ?>
459 </div><!-- class="main" -->
460 </div><!-- class="pkwk_body" -->
461 <?php } ?>
462
463 <!-- Copyright etc -->
464 <div class="footer">
465  Modified by <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a><br />
466  <?php echo S_COPYRIGHT ?><br />
467  Powered by PHP <?php echo PHP_VERSION ?><br />
468  HTML convert time to <?php echo $taketime ?> sec.
469 </div>
470
471 <?php if ($menu && $sidebar !== TRUE) { ?>
472 </div><!-- class="main" -->
473 </div><!-- class="pkwk_body" -->
474 <?php } ?>
475
476 </body>
477 </html>