OSDN Git Service

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