OSDN Git Service

BugTrack/2389 Use HTML5 DocType
[pukiwiki/pukiwiki.git] / skin / tdiary.skin.php
index 65b670f..e4b1c2c 100644 (file)
 <?php
 // PukiWiki - Yet another WikiWikiWeb clone.
-// $Id: tdiary.skin.php,v 1.1 2004/12/24 14:41:12 henoheno Exp $
+// tdiary.skin.php
+// Copyright
+//   2002-2016 PukiWiki Development Team
+//   2001-2002 Originally written by yu-ji
+// License: GPL v2 or (at your option) any later version
 //
-// tDiary-wrapper skin
+// tDiary-wrapper skin (Updated for tdiary-theme 2.1.2)
+
+// ------------------------------------------------------------
+// Settings (define before here, if you want)
+
+// Set site identities
+$_IMAGE['skin']['favicon']  = ''; // Sample: 'image/favicon.ico';
 
 // Select theme
-//define('TDIARY_THEME', '3minutes');
-//define('TDIARY_THEME', 'aoikuruma');
-//define('TDIARY_THEME', 'bill');
-//define('TDIARY_THEME', 'black-lingerie');
-//define('TDIARY_THEME', 'black_mamba');
-//define('TDIARY_THEME', 'blog');
-//define('TDIARY_THEME', 'bubble');
-//define('TDIARY_THEME', 'cards');
-//define('TDIARY_THEME', 'cat');
-//define('TDIARY_THEME', 'christmas');
-//define('TDIARY_THEME', 'clover');
-//define('TDIARY_THEME', 'dot');
-//define('TDIARY_THEME', 'gear');
-//define('TDIARY_THEME', 'gingham-gray');
-//define('TDIARY_THEME', 'green-border');      // With frogs
-//define('TDIARY_THEME', 'himawari');
-//define('TDIARY_THEME', 'hatena');
-//define('TDIARY_THEME', 'kaeru');
-//define('TDIARY_THEME', 'loose-leaf');
-//define('TDIARY_THEME', 'petith');
-//define('TDIARY_THEME', 'piyo-family');
-//define('TDIARY_THEME', 'plum');
-//define('TDIARY_THEME', 'puppy');
-//define('TDIARY_THEME', 'snowy');
-if (! defined('TDIARY_THEME')) define('TDIARY_THEME', 'loose-leaf'); // Default
-
-// SKIN_DEFAULT_DISABLE_REVERSE_LINK
-if(! defined('SKIN_DEFAULT_DISABLE_REVERSE_LINK'))
-       define('SKIN_DEFAULT_DISABLE_REVERSE_LINK', 1);
-
-
-// SKIN_DEFAULT_DISABLE_TOPICPATH
-//   1    = Show reload URL
-//   0    = Show topicpath
+if (! defined('TDIARY_THEME'))
+       define('TDIARY_THEME', 'loose-leaf'); // Default
+
+// Show link(s) at your choice, with <div class="calendar"> design
+// NOTE: Some theme become looking worse with this!
 //   NULL = Show nothing
-if (! defined('SKIN_DEFAULT_DISABLE_TOPICPATH'))
-       define('SKIN_DEFAULT_DISABLE_TOPICPATH', NULL);
+//   0    = Show topicpath
+//   1    = Show reload URL
+if (! defined('TDIARY_CALENDAR_DESIGN'))
+       define('TDIARY_CALENDAR_DESIGN', NULL); // NULL, 0, 1
+
+// Show / Hide navigation bar UI at your choice
+// NOTE: This is not stop their functionalities!
+if (! defined('PKWK_SKIN_SHOW_NAVBAR'))
+       define('PKWK_SKIN_SHOW_NAVBAR', 1); // 1, 0
+
+// Show toolbar at your choice, with <div class="footer"> design
+// NOTE: Some theme become looking worse with this!
+if (! defined('PKWK_SKIN_SHOW_TOOLBAR'))
+       define('PKWK_SKIN_SHOW_TOOLBAR', 0); // 0, 1
+
+// TDIARY_SIDEBAR_POSITION: See below
+
+// ------------------------------------------------------------
+// Code start
 
-// --------
 // Prohibit direct access
 if (! defined('UI_LANG')) die('UI_LANG is not set');
 if (! isset($_LANG)) die('$_LANG is not set');
+if (! defined('PKWK_READONLY')) die('PKWK_READONLY is not set');
+
+// ------------------------------------------------------------
+// Check tDiary theme
 
-// Check theme
-$theme = rawurlencode(TDIARY_THEME);
-if ($theme == '') {
-       echo '/* Theme is not specified. Set "TDIARY_THEME" */';
-       exit;
+if (! defined('TDIARY_THEME') || TDIARY_THEME == '') {
+       die('Theme is not specified. Set "TDIARY_THEME" correctly');
 } else {
+       $theme = rawurlencode(TDIARY_THEME); // Supress all nasty letters
        $theme_css = SKIN_DIR . 'theme/' . $theme . '/' . $theme . '.css';
        if (! file_exists($theme_css)) {
                echo 'tDiary theme wrapper: ';
-               echo 'Theme not found: ' . htmlspecialchars($theme_css) . '<br/>';
+               echo 'Theme not found: ' . htmlsc($theme_css) . '<br />';
                echo 'You can get tdiary-theme from: ';
-               echo 'http://sourceforge.net/projects/tdiary/';
+               echo 'http://www.tdiary.org/';
                exit;
         }
 }
 
+// ------------------------------------------------------------
+// tDiary theme: Exception
+
+// Adjust DTD (bug between these theme(=CSS) and MSIE)
+// NOTE:
+//    PukiWiki default: PKWK_DTD_XHTML_1_1
+//    tDiary's default: PKWK_DTD_HTML_4_01_STRICT
+switch(TDIARY_THEME){
+case 'christmas':
+       $pkwk_dtd = PKWK_DTD_HTML_4_01_STRICT; // or centering will be ignored via MSIE
+       break;
+}
+
+// Adjust reverse-link default design manually
+$disable_backlink = FALSE;
+switch(TDIARY_THEME){
+case 'hatena':         /* FALLTHROUGH */
+case 'hatena-black':
+case 'hatena-brown':
+case 'hatena-darkgray':
+case 'hatena-green':
+case 'hatena-lightblue':
+case 'hatena-lightgray':
+case 'hatena-purple':
+case 'hatena-red':
+case 'hatena-white':
+case 'hatena_cinnamon':
+case 'hatena_japanese':
+case 'hatena_leaf':
+case 'hatena_water':
+       $disable_backlink = TRUE; // or very viewable title color
+       break;
+}
+
+// ------------------------------------------------------------
+// tDiary theme: Select CSS color theme (Now testing:black only)
+
+if (defined('TDIARY_COLOR_THEME')) {
+       $css_theme = rawurlencode(TDIARY_COLOR_THEME);
+} else {
+       $css_theme = '';
+
+       switch(TDIARY_THEME){
+       case 'alfa':
+       case 'bill':
+       case 'black-lingerie':
+       case 'blackboard':
+       case 'bubble':
+       case 'cosmos':
+       case 'darkness-pop':
+       case 'digital_gadgets':
+       case 'fine':
+       case 'fri':
+       case 'giza':
+       case 'hatena-black':
+       case 'hatena_savanna-blue':
+       case 'hatena_savanna-green':
+       case 'hatena_savanna-red':
+       case 'kaizou':
+       case 'lightning':
+       case 'lime':
+       case 'line':
+       case 'midnight':
+       case 'moo':
+       case 'nachtmusik':
+       case 'nebula':
+       case 'nippon':
+       case 'noel':
+       case 'petith-b':
+       case 'quiet_black':
+       case 'redgrid':
+       case 'starlight':
+       case 'tinybox_green':
+       case 'white-lingerie':
+       case 'white_flower':
+       case 'whiteout':
+       case 'wine':
+       case 'wood':
+       case 'xmastree':
+       case 'yukon':
+               $css_theme = 'black';
+
+       // Another theme needed?
+       case 'bluely':
+       case 'brown':
+       case 'deepblue':
+       case 'scarlet':
+       case 'smoking_black':
+               ;
+       }
+}
+
+// ------------------------------------------------------------
+// tDiary theme: Page title design (which is fancy, date and text?)
+
+if (defined('TDIARY_TITLE_DESIGN_DATE') &&
+    (TDIARY_TITLE_DESIGN_DATE  == 0 ||
+     TDIARY_TITLE_DESIGN_DATE  == 1 ||
+     TDIARY_TITLE_DESIGN_DATE  == 2)) {
+       $title_design_date = TDIARY_TITLE_DESIGN_DATE;
+} else {
+       $title_design_date = 1; // Default: Select the date desin, or 'the same design'
+       switch(TDIARY_THEME){
+       case '3minutes':        /* FALLTHROUGH */
+       case '90':
+       case 'aoikuruma':
+       case 'black-lingerie':
+       case 'blog':
+       case 'book':
+       case 'book2-feminine':
+       case 'book3-sky':
+       case 'candy':
+       case 'cards':
+       case 'desert':
+       case 'dot':
+       case 'himawari':
+       case 'kitchen-classic':
+       case 'kitchen-french':
+       case 'kitchen-natural':
+       case 'light-blue':
+       case 'lovely':
+       case 'lovely_pink':
+       case 'lr':
+       case 'magic':
+       case 'maroon':
+       case 'midnight':
+       case 'momonga':
+       case 'nande-ya-nen':
+       case 'narrow':
+       case 'natrium':
+       case 'nebula':
+       case 'orange':
+       case 'parabola':
+       case 'plum':
+       case 'pool_side':
+       case 'rainy-season':
+       case 'right':
+       case 's-blue':
+       case 's-pink':
+       case 'sky':
+       case 'sleepy_kitten':
+       case 'snow_man':
+       case 'spring':
+       case 'tag':
+       case 'tdiarynet':
+       case 'treetop':
+       case 'white-lingerie':
+       case 'white_flower':
+       case 'whiteout':
+       case 'wood':
+               $title_design_date = 0; // Select text design   
+               break;
+
+       case 'aqua':
+       case 'arrow':
+       case 'fluxbox':
+       case 'fluxbox2':
+       case 'fluxbox3':
+       case 'ymck':
+               $title_design_date = 2; // Show both :)
+               break;
+       }
+}
+
+// ------------------------------------------------------------
+// tDiary 'Sidebar' position
+
+// Default position
 if (defined('TDIARY_SIDEBAR_POSITION')) {
        $sidebar = TDIARY_SIDEBAR_POSITION;
 } else {
-       // Themes including sidebar CSS < (AllTheme / 2)
+       $sidebar = 'another'; // Default: Show as an another page below
+
+       // List of themes having sidebar CSS < (AllTheme / 2)
        // $ grep div.sidebar */*.css | cut -d: -f1 | cut -d/ -f1 | sort | uniq
        // $ wc -l *.txt
-       //     75 list-sidebar.txt
-       //    193 list-all.txt
-       $sidebar = FALSE; // Disabled
-       switch($theme){
+       //    142 list-sidebar.txt
+       //    286 list-all.txt
+       switch(TDIARY_THEME){
        case '3minutes':        /*FALLTHROUGH*/
        case '3pink':
        case 'aoikuruma':
+       case 'aqua':
        case 'arrow':
+       case 'artnouveau-blue':
+       case 'artnouveau-green':
+       case 'artnouveau-red':
+       case 'asterisk-blue':
+       case 'asterisk-lightgray':
+       case 'asterisk-maroon':
+       case 'asterisk-orange':
+       case 'asterisk-pink':
        case 'autumn':
        case 'babypink':
+       case 'be_r5':
        case 'bill':
        case 'bistro_menu':
        case 'bluely':
@@ -87,26 +265,70 @@ if (defined('TDIARY_SIDEBAR_POSITION')) {
        case 'book2-feminine':
        case 'book3-sky':
        case 'bright-green':
+       case 'britannian':
        case 'bubble':
        case 'candy':
        case 'cat':
        case 'cherry':
+       case 'cherry_blossom':
+       case 'chiffon_leafgreen':
+       case 'chiffon_pink':
+       case 'chiffon_skyblue':
        case 'citrus':
        case 'clover':
+       case 'colorlabel':
        case 'cool_ice':
        case 'cosmos':
+       case 'curtain':
        case 'darkness-pop':
+       case 'delta':
        case 'diamond_dust':
        case 'dice':
+       case 'digital_gadgets':
+       case 'dot-lime':
+       case 'dot-orange':
+       case 'dot-pink':
+       case 'dot-sky':
+       case 'dotted_line-blue':
+       case 'dotted_line-green':
+       case 'dotted_line-red':
        case 'emboss':
        case 'flower':
        case 'gear':
        case 'germany':
        case 'gray2':
+       case 'green_leaves':
        case 'happa':
        case 'hatena':
+       case 'hatena-black':
+       case 'hatena-brown':
+       case 'hatena-darkgray':
+       case 'hatena-green':
+       case 'hatena-lightblue':
+       case 'hatena-lightgray':
+       case 'hatena-lime':
+       case 'hatena-orange':
+       case 'hatena-pink':
+       case 'hatena-purple':
+       case 'hatena-red':
+       case 'hatena-sepia':
+       case 'hatena-tea':
+       case 'hatena-white':
+       case 'hatena_cinnamon':
+       case 'hatena_japanese':
+       case 'hatena_leaf':
+       case 'hatena_rainyseason':
+       case 'hatena_savanna-blue':
+       case 'hatena_savanna-green':
+       case 'hatena_savanna-red':
+       case 'hatena_savanna-white':
+       case 'hatena_water':
        case 'himawari':
+       case 'jungler':
        case 'kaeru':
+       case 'kitchen-classic':
+       case 'kitchen-french':
+       case 'kitchen-natural':
        case 'kotatsu':
        case 'light-blue':
        case 'loose-leaf':
@@ -116,9 +338,11 @@ if (defined('TDIARY_SIDEBAR_POSITION')) {
        case 'momonga':
        case 'mono':
        case 'moo':
+       case 'natrium':
        case 'nippon':
        case 'note':
        case 'old-pavement':
+       case 'orange_flower':
        case 'pain':
        case 'pale':
        case 'paper':
@@ -131,6 +355,12 @@ if (defined('TDIARY_SIDEBAR_POSITION')) {
        case 'rainy-season':
        case 'rectangle':
        case 'repro':
+       case 'rim-daidaiiro':
+       case 'rim-fujiiro':
+       case 'rim-mizuiro':
+       case 'rim-sakurairo':
+       case 'rim-tanpopoiro':
+       case 'rim-wakabairo':
        case 'russet':
        case 's-blue':
        case 'sagegreen':
@@ -138,130 +368,215 @@ if (defined('TDIARY_SIDEBAR_POSITION')) {
        case 'scarlet':
        case 'sepia':
        case 'simple':
+       case 'sleepy_kitten':
        case 'smoking_black':
        case 'smoking_white':
        case 'spring':
        case 'sunset':
+       case 'tdiarynet':
        case 'teacup':
        case 'thin':
        case 'tile':
        case 'tinybox':
        case 'tinybox_green':
+       case 'treetop':
+       case 'white_flower':
        case 'wine':
        case 'yukon':
-               $sidebar = TRUE; // Compatible
+       case 'zef':
+               $sidebar = 'bottom'; // This is the default position of tDiary's.
                break;
        }
 
-       // Adjust sidebar's default design manually
-       switch($theme){
+       // Manually adjust sidebar's default position
+       switch(TDIARY_THEME){
+
+       // 'bottom'
+       case '90': // But upper navigatin UI will be hidden by sidebar
+       case 'blackboard':
+       case 'quirky':
+       case 'quirky2':
+               $sidebar = 'bottom';
+               break;
+
+       // 'top': Assuming sidebar is above of the body
+       case 'autumn':  /*FALLTHROUGH*/
+       case 'cosmos':
+       case 'dice':    // Sidebar text (white) seems unreadable
+       case 'happa':
+       case 'kaeru':
+       case 'note':
+       case 'paper':   // Sidebar text (white) seems unreadable
+       case 'sunset':
+       case 'tinybox': // For MSIE with narrow window width, seems meanless
+       case 'tinybox_green':   // The same
+       case 'ymck':
+               $sidebar = 'top';
+               break;
+
+       // 'strict': Strict separation between sidebar and main contents needed
        case '3minutes':        /*FALLTHROUGH*/
        case '3pink':
        case 'aoikuruma':
+       case 'aqua':
+       case 'artnouveau-blue':
+       case 'artnouveau-green':
+       case 'artnouveau-red':
+       case 'asterisk-blue':
+       case 'asterisk-lightgray':
+       case 'asterisk-maroon':
+       case 'asterisk-orange':
+       case 'asterisk-pink':
        case 'bill':
        case 'candy':
        case 'cat':
+       case 'chiffon_leafgreen':
+       case 'chiffon_pink':
+       case 'chiffon_skyblue':
+       case 'city':
        case 'clover':
+       case 'colorlabel':
        case 'cool_ice':
+       case 'dot-lime':
+       case 'dot-orange':
+       case 'dot-pink':
+       case 'dot-sky':
+       case 'dotted_line-blue':
+       case 'dotted_line-green':
+       case 'dotted_line-red':
        case 'flower':
        case 'germany':
+       case 'green-tea':
+       case 'hatena':
+       case 'hatena-black':
+       case 'hatena-brown':
+       case 'hatena-darkgray':
+       case 'hatena-green':
+       case 'hatena-lightblue':
+       case 'hatena-lightgray':
+       case 'hatena-lime':
+       case 'hatena-orange':
+       case 'hatena-pink':
+       case 'hatena-purple':
+       case 'hatena-red':
+       case 'hatena-sepia':
+       case 'hatena-tea':
+       case 'hatena-white':
+       case 'hiki':
        case 'himawari':
+       case 'kasumi':
+       case 'kitchen-classic':
+       case 'kitchen-french':
+       case 'kitchen-natural':
        case 'kotatsu':
+       case 'kurenai':
        case 'light-blue':
        case 'loose-leaf':
        case 'marguerite':
        case 'matcha':
+       case 'memo':
+       case 'memo2':
+       case 'memo3':
+       case 'mirage':
        case 'mizu':
        case 'mono':
+       case 'moo':     // For MSIE, strict seems meanless
+       case 'navy':
+       case 'pict':
+       case 'pokke-blue':
+       case 'pokke-orange':
+       case 'query000':
+       case 'query011':
+       case 'query101':
+       case 'query110':
+       case 'query111or':
        case 'puppy':
        case 'rainy-season':
-       case 's-blue':
+       case 's-blue':  // For MSIE, strict seems meanless
        case 'sagegreen':
        case 'savanna':
        case 'scarlet':
        case 'sepia':
        case 'simple':
+       case 'smoking_gray':
        case 'spring':
        case 'teacup':
-               $sidebar = 'top'; // Strict separation between sidebar and main
+       case 'wine':
+               $sidebar = 'strict';
                break;
 
+       // 'another': They have sidebar-design, but can not show it
+       //  at the 'side' of the contents
        case 'babypink':        /*FALLTHROUGH*/
        case 'bubble':
-       case 'blog':
+       case 'cherry':
+       case 'darkness-pop':
+       case 'diamond_dust':
        case 'gear':
-       case 'purple_sun':
+       case 'necktie':
+       case 'pale':
+       case 'pink-border':
        case 'rectangle':
        case 'russet':
        case 'smoking_black':
-               $sidebar = FALSE; // Show as an another page below
-               break;
-
-       case 'be_r5':
-               $sidebar = TRUE; // Not included officially but works
+       case 'zef':
+               $sidebar = 'another'; // Show as an another page below
                break;
        }
+
+       // 'none': Show no sidebar
 }
 // Check menu (sidebar) is ready and $menubar is there
-$menu = (arg_check('read') && is_page($GLOBALS['menubar']) &&
-       exist_plugin_convert('menu'));
-if ($menu) {
-       $menu_body = preg_replace('#<h2 ([^>]*)>(.*?)</h2>#',
-               '<h3 $1><span class="sanchor"></span> $2</h3>',
-               do_plugin_convert('menu'));
+if ($sidebar == 'none') {
+       $menu = FALSE;
+} else {
+       $menu = (arg_check('read') && is_page($GLOBALS['menubar']) &&
+               exist_plugin_convert('menu'));
+       if ($menu) {
+               $menu_body = preg_replace('#<h2 ([^>]*)>(.*?)</h2>#',
+                       '<h3 $1><span class="sanchor"></span> $2</h3>',
+                       do_plugin_convert('menu'));
+       }
 }
 
-// Adjust reverse-link default design manually
-$disable_reverse_link = FALSE;
-switch($theme){
-case 'hatena': /*FALLTHROUGH*/
-case 'repro':
-case 'yukon':
-       $disable_reverse_link = TRUE;
-       break;
-}
+// ------------------------------------------------------------
+// Code continuing ...
 
-$lang  = $_LANG['skin'];
-$link  = $_LINK;
+$lang  = & $_LANG['skin'];
+$link  = & $_LINK;
+$image = & $_IMAGE['skin'];
+$rw    = ! PKWK_READONLY;
 
-// Decide charset for CSS
-$css_charset = 'iso-8859-1';
-switch(UI_LANG){
-       case 'ja': $css_charset = 'Shift_JIS'; break;
-}
+// ------------------------------------------------------------
+// Output
 
-// Output header
+// HTTP headers
 pkwk_common_headers();
 header('Cache-control: no-cache');
 header('Pragma: no-cache');
 header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
 
-// Output body
 ?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="<?php echo LANG ?>">
+<!DOCTYPE html>
+<html lang="ja">
 <head>
- <meta http-equiv="content-type" content="text/html; charset=<?php echo CONTENT_CHARSET ?>" />
- <meta http-equiv="content-style-type" content="text/css" />
-<?php if (! $is_read)  { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
-<?php if (PKWK_ALLOW_JAVASCRIPT && isset($javascript)) { ?> <meta http-equiv="Content-Script-Type" content="text/javascript" /><?php } ?>
+ <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CONTENT_CHARSET ?>" />
+<?php if ($nofollow || ! $is_read)  { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
 
- <title><?php echo "$title - $page_title" ?></title>
-
- <link rel="stylesheet" href="skin/theme/base.css" type="text/css" media="all" />
- <link rel="stylesheet" href="skin/theme/<?php echo $theme ?>/<?php echo $theme ?>.css" type="text/css" media="all" />
- <link rel="stylesheet" href="skin/tdiary.css.php?charset=<?php echo $css_charset ?>" type="text/css" media="screen" charset="<?php echo $css_charset ?>" />
- <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 ?>" />
+ <title><?php echo $title ?> - <?php echo $page_title ?></title>
 
+ <link rel="SHORTCUT ICON" href="<?php echo $image['favicon'] ?>" />
+ <link rel="stylesheet" type="text/css" media="all" href="<?php echo SKIN_DIR ?>theme/base.css" />
+ <link rel="stylesheet" type="text/css" media="all" href="<?php echo SKIN_DIR ?>theme/<?php echo $theme ?>/<?php echo $theme ?>.css" />
+ <link rel="stylesheet" type="text/css" href="<?php echo SKIN_DIR ?>tdiary.css" />
+<?php if ($css_theme === 'black') { ?> <link rel="stylesheet" type="text/css" href="<?php echo SKIN_DIR ?>tdiary_black.css" /><?php } ?>
  <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo $link['rss'] ?>" /><?php // RSS auto-discovery ?>
 
-<?php if (PKWK_ALLOW_JAVASCRIPT && $trackback_javascript) { ?> <script type="text/javascript" src="skin/trackback.js"></script><?php } ?>
-
 <?php echo $head_tag ?>
 </head>
-<body><!-- Theme: <?php echo htmlspecialchars($theme) . ' Sidebar:' . $sidebar ?> -->
+<body><!-- Theme:<?php echo htmlsc($theme) . ' Sidebar:' . $sidebar ?> -->
 
-<?php if ($menu && $sidebar === 'top') { ?>
+<?php if ($menu && $sidebar == 'strict') { ?>
 <!-- Sidebar top -->
 <div class="sidebar">
        <div id="menubar">
@@ -271,17 +586,17 @@ header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
 
 <div class="pkwk_body">
 <div class="main">
-<?php } // if ($menu && $sidebar === 'top') ?>
+<?php } // if ($menu && $sidebar == 'strict') ?>
 
 <!-- Navigation buttuns -->
-<div class="adminmenu">
+<?php if (PKWK_SKIN_SHOW_NAVBAR) { ?>
+<div class="adminmenu"><div id="navigator">
 <?php
 function _navigator($key, $value = '', $javascript = ''){
        $lang = $GLOBALS['_LANG']['skin'];
        $link = $GLOBALS['_LINK'];
        if (! isset($lang[$key])) { echo 'LANG NOT FOUND'; return FALSE; }
        if (! isset($link[$key])) { echo 'LINK NOT FOUND'; return FALSE; }
-       if (! PKWK_ALLOW_JAVASCRIPT) $javascript = '';
 
        echo '<span class="adminmenu"><a href="' . $link[$key] . '" ' . $javascript . '>' .
                (($value === '') ? $lang[$key] : $value) .
@@ -293,22 +608,26 @@ function _navigator($key, $value = '', $javascript = ''){
  <?php _navigator('top') ?> &nbsp;
 
 <?php if ($is_page) { ?>
-   <?php _navigator('edit')   ?>
- <?php if ($is_read && $function_freeze) { ?>
-    <?php (! $is_freeze) ? _navigator('freeze') : _navigator('unfreeze') ?>
+  <?php if ($rw) { ?>
+       <?php _navigator('edit') ?>
+       <?php if ($is_read && $function_freeze) { ?>
+               <?php (! $is_freeze) ? _navigator('freeze') : _navigator('unfreeze') ?>
+       <?php } ?>
  <?php } ?>
    <?php _navigator('diff') ?>
  <?php if ($do_backup) { ?>
-   <?php _navigator('backup') ?>
+       <?php _navigator('backup') ?>
  <?php } ?>
- <?php if ((bool)ini_get('file_uploads')) { ?>
-   <?php _navigator('upload') ?>
+ <?php if ($rw && (bool)ini_get('file_uploads')) { ?>
+       <?php _navigator('upload') ?>
  <?php } ?>
-   <?php _navigator('reload')    ?>
+   <?php _navigator('reload') ?>
    &nbsp;
 <?php } ?>
 
-   <?php _navigator('new')  ?>
+ <?php if ($rw) { ?>
+       <?php _navigator('new') ?>
+ <?php } ?>
    <?php _navigator('list') ?>
  <?php if (arg_check('list')) { ?>
    <?php _navigator('filelist') ?>
@@ -316,21 +635,22 @@ function _navigator($key, $value = '', $javascript = ''){
    <?php _navigator('search') ?>
    <?php _navigator('recent') ?>
    <?php _navigator('help')   ?>
-
-<?php if ($trackback) { ?> &nbsp;
-   <?php _navigator('trackback', $lang['trackback'] . '(' . tb_count($_page) . ')',
-       ($trackback_javascript == 1) ? 'onClick="OpenTrackback(this.href); return false"' : '') ?>
-<?php } ?>
-<?php if ($referer)   { ?> &nbsp;
-   <?php _navigator('refer') ?>
-<?php } ?>
-</div>
+   <?php if ($enable_login) { ?>
+     <?php _navigator('login') ?>
+   <?php } ?>
+   <?php if ($enable_logout) { ?>
+     <?php _navigator('logout') ?>
+   <?php } ?>
+</div></div>
+<?php } else { ?>
+<div id="navigator"></div>
+<?php } // PKWK_SKIN_SHOW_NAVBAR ?>
 
 <h1><?php echo $page_title ?></h1>
 
 <div class="calendar">
-<?php if ($is_page && SKIN_DEFAULT_DISABLE_TOPICPATH !== NULL) { ?>
-       <?php if(SKIN_DEFAULT_DISABLE_TOPICPATH) { ?>
+<?php if ($is_page && TDIARY_CALENDAR_DESIGN !== NULL) { ?>
+       <?php if(TDIARY_CALENDAR_DESIGN) { ?>
                <a href="<?php echo $link['reload'] ?>"><span class="small"><?php echo $link['reload'] ?></span></a>
        <?php } else { ?>
                <?php require_once(PLUGIN_DIR . 'topicpath.inc.php'); echo plugin_topicpath_inline(); ?>
@@ -338,37 +658,55 @@ function _navigator($key, $value = '', $javascript = ''){
 <?php } ?>
 </div>
 
-<?php if ($menu && $sidebar === TRUE) { ?>
-<!-- Sidebar compat -->
+
+<?php if ($menu && $sidebar == 'top') { ?>
+<!-- Sidebar compat top -->
 <div class="sidebar">
        <div id="menubar">
                <?php echo $menu_body ?>
        </div>
 </div><!-- class="sidebar" -->
+<?php } // if ($menu && $sidebar == 'top') ?>
 
+
+<?php if ($menu && ($sidebar == 'top' || $sidebar == 'bottom')) { ?>
 <div class="pkwk_body">
 <div class="main">
-<?php } // if ($menu && $sidebar === TRUE) ?>
+<?php } ?>
 
 <hr class="sep" />
 
 <div class="day">
 
-<h2><span class="date"></span> <span class="title"><?php
-if ($disable_reverse_link === TRUE) {
+<?php
+// Page title (page name)
+$title = '';
+if ($disable_backlink) {
        if ($_page != '') {
-               echo htmlspecialchars($_page);
+               $title = htmlsc($_page);
        } else {
-               echo $page; // Search, or something message
+               $title = $page; // Search, or something message
        }
 } else {
        if ($page != '') {
-               echo $page;
+               $title = $page;
        } else {
-               echo htmlspecialchars($_page);
+               $title = htmlsc($_page);
        }
 }
-?></span></h2>
+$title_date = $title_text = '';
+switch($title_design_date){
+case 1: $title_date = & $title; break;
+case 0: $title_text = & $title; break;
+default:
+       // Show both (for debug or someting)
+       $title_date = & $title;
+       $title_text = & $title;
+       break;
+}
+?>
+<h2><span class="date"><?php  echo $title_date ?></span>
+    <span class="title"><?php echo $title_text ?></span></h2>
 
 <div class="body">
        <div class="section">
@@ -376,24 +714,27 @@ if ($disable_reverse_link === TRUE) {
        // For read and preview: tDiary have no <h2> inside body
        $body = preg_replace('#<h2 ([^>]*)>(.*?)<a class="anchor_super" ([^>]*)>.*?</a></h2>#',
                '<h3 $1><a $3><span class="sanchor">_</span></a> $2</h3>', $body);
+       $body = preg_replace('#<h([34]) ([^>]*)>(.*?)<a class="anchor_super" ([^>]*)>.*?</a></h\1>#',
+               '<h$1 $2><a $4>_</a> $3</h$1>', $body);
        $body = preg_replace('#<h2 ([^>]*)>(.*?)</h2>#',
                '<h3 $1><span class="sanchor">_</span> $2</h3>', $body);
        if ($is_read) {
                // Read
                echo $body;
        } else {
-               // Edit and preview
+               // Edit, preview, search, etc
                echo preg_replace('/(<form) (action="' . preg_quote($script, '/') .
-                       '" method="post">)/', '$1 class="update" $2', $body);
+                       ')/', '$1 class="update" $2', $body);
        }
 ?>
        </div>
 </div><!-- class="body" -->
 
-<?php if ($notes) { ?>
+
+<?php if ($notes != '') { ?>
 <div class="comment"><!-- Design for tDiary "Comments" -->
        <div class="caption">&nbsp;</div>
-       <div class="commentbody"><br/>
+       <div class="commentbody"><br />
                <?php
                $notes = preg_replace('#<span class="small">(.*?)</span>#', '<p>$1</p>', $notes);
                echo preg_replace('#<a (id="notefoot_[^>]*)>(.*?)</a>#',
@@ -405,7 +746,7 @@ if ($disable_reverse_link === TRUE) {
 </div>
 <?php } ?>
 
-<?php if ($attaches) { ?>
+<?php if ($attaches != '') { ?>
 <div class="comment">
        <div class="caption">&nbsp;</div>
        <div class="commentshort">
@@ -414,7 +755,7 @@ if ($disable_reverse_link === TRUE) {
 </div>
 <?php } ?>
 
-<?php if ($related) { ?>
+<?php if ($related != '') { ?>
 <div class="comment">
        <div class="caption">&nbsp;</div>
        <div class="commentshort">
@@ -424,17 +765,18 @@ if ($disable_reverse_link === TRUE) {
 <?php } ?>
 
 <!-- Design for tDiary "Today's referrer" -->
-<div class="referer"><?php if ($lastmodified) echo 'Last-modified: ' . $lastmodified; ?></div>
+<div class="referer"><?php if ($lastmodified != '') echo 'Last-modified: ' . $lastmodified; ?></div>
 
 </div><!-- class="day" -->
 
 <hr class="sep" />
 
-<?php if ($menu && $sidebar === FALSE) { ?>
+
+<?php if ($menu && $sidebar == 'another') { ?>
 </div><!-- class="main" -->
 </div><!-- class="pkwk_body" -->
 
-<!-- Sidebar bottom -->
+<!-- Sidebar another -->
 <div class="pkwk_body">
        <h1>&nbsp;</h1>
        <div class="calendar"></div>
@@ -449,29 +791,118 @@ if ($disable_reverse_link === TRUE) {
                <div class="referer"></div>
        </div>
        <hr class="sep" />
-</div><!-- class="sidebar" -->
+</div><!-- class="pkwk_body" -->
 
 <div class="pkwk_body">
 <div class="main">
-<?php } // if ($menu && $sidebar === FALSE) ?>
+<?php } // if ($menu && $sidebar == 'another') ?>
+
 
-<?php if ($menu && $sidebar === TRUE) { ?>
+<?php if ($menu && ($sidebar == 'top' || $sidebar == 'bottom')) { ?>
 </div><!-- class="main" -->
 </div><!-- class="pkwk_body" -->
 <?php } ?>
 
-<!-- Copyright etc -->
+
+<?php if ($menu && $sidebar == 'bottom') { ?>
+<!-- Sidebar compat bottom -->
+<div class="sidebar">
+       <div id="menubar">
+               <?php echo $menu_body ?>
+       </div>
+</div><!-- class="sidebar" -->
+<?php } // if ($menu && $sidebar == 'bottom') ?>
+
+
 <div class="footer">
- Modified by <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a><br />
- <?php echo S_COPYRIGHT ?><br />
+<?php if (PKWK_SKIN_SHOW_TOOLBAR) { ?>
+<!-- Toolbar -->
+<?php
+
+// Set toolbar-specific images
+$_IMAGE['skin']['reload']   = 'reload.png';
+$_IMAGE['skin']['new']      = 'new.png';
+$_IMAGE['skin']['edit']     = 'edit.png';
+$_IMAGE['skin']['freeze']   = 'freeze.png';
+$_IMAGE['skin']['unfreeze'] = 'unfreeze.png';
+$_IMAGE['skin']['diff']     = 'diff.png';
+$_IMAGE['skin']['upload']   = 'file.png';
+$_IMAGE['skin']['copy']     = 'copy.png';
+$_IMAGE['skin']['rename']   = 'rename.png';
+$_IMAGE['skin']['top']      = 'top.png';
+$_IMAGE['skin']['list']     = 'list.png';
+$_IMAGE['skin']['search']   = 'search.png';
+$_IMAGE['skin']['recent']   = 'recentchanges.png';
+$_IMAGE['skin']['backup']   = 'backup.png';
+$_IMAGE['skin']['help']     = 'help.png';
+$_IMAGE['skin']['rss']      = 'rss.png';
+$_IMAGE['skin']['rss10']    = & $_IMAGE['skin']['rss'];
+$_IMAGE['skin']['rss20']    = 'rss20.png';
+$_IMAGE['skin']['rdf']      = 'rdf.png';
+
+function _toolbar($key, $x = 20, $y = 20){
+       $lang  = & $GLOBALS['_LANG']['skin'];
+       $link  = & $GLOBALS['_LINK'];
+       $image = & $GLOBALS['_IMAGE']['skin'];
+       if (! isset($lang[$key]) ) { echo 'LANG NOT FOUND';  return FALSE; }
+       if (! isset($link[$key]) ) { echo 'LINK NOT FOUND';  return FALSE; }
+       if (! isset($image[$key])) { echo 'IMAGE NOT FOUND'; return FALSE; }
+
+       echo '<a href="' . $link[$key] . '">' .
+               '<img src="' . IMAGE_DIR . $image[$key] . '" width="' . $x . '" height="' . $y . '" ' .
+                       'alt="' . $lang[$key] . '" title="' . $lang[$key] . '" />' .
+               '</a>';
+       return TRUE;
+}
+?>
+ <?php _toolbar('top') ?>
+
+<?php if ($is_page) { ?>
+ &nbsp;
+ <?php if ($rw) { ?>
+       <?php _toolbar('edit') ?>
+       <?php if ($is_read && $function_freeze) { ?>
+               <?php if (! $is_freeze) { _toolbar('freeze'); } else { _toolbar('unfreeze'); } ?>
+       <?php } ?>
+ <?php } ?>
+ <?php _toolbar('diff') ?>
+<?php if ($do_backup) { ?>
+       <?php _toolbar('backup') ?>
+<?php } ?>
+ <?php if ($rw && (bool)ini_get('file_uploads')) { ?>
+       <?php _toolbar('upload') ?>
+ <?php } ?>
+ <?php if ($rw) { ?>
+       <?php _toolbar('copy') ?>
+       <?php _toolbar('rename') ?>
+ <?php } ?>
+ <?php _toolbar('reload') ?>
+<?php } ?>
+ &nbsp;
+ <?php if ($rw) { ?>
+       <?php _toolbar('new') ?>
+ <?php } ?>
+ <?php _toolbar('list')   ?>
+ <?php _toolbar('search') ?>
+ <?php _toolbar('recent') ?>
+ &nbsp; <?php _toolbar('help') ?>
+ &nbsp; <?php _toolbar('rss10', 36, 14) ?>
+ <br />
+<?php } // PKWK_SKIN_SHOW_TOOLBAR ?>
+
+<!-- Copyright etc -->
+ Site admin: <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a><p />
+ <?php echo S_COPYRIGHT ?>.
  Powered by PHP <?php echo PHP_VERSION ?><br />
- HTML convert time to <?php echo $taketime ?> sec.
-</div>
+ HTML convert time: <?php echo elapsedtime() ?> sec.
 
-<?php if ($menu && $sidebar !== TRUE) { ?>
+</div><!-- class="footer" -->
+
+<?php if ($menu && ($sidebar != 'top' && $sidebar != 'bottom')) { ?>
 </div><!-- class="main" -->
 </div><!-- class="pkwk_body" -->
 <?php } ?>
 
+
 </body>
 </html>