OSDN Git Service

Added function pkwk_headers_sent() to care header()
[pukiwiki/pukiwiki.git] / skin / pukiwiki.skin.php
1 <?php
2 /////////////////////////////////////////////////
3 // PukiWiki - Yet another WikiWikiWeb clone.
4 //
5 // $Id: pukiwiki.skin.php,v 1.26 2004/12/06 13:10:59 henoheno Exp $
6 //
7
8 // Prohibit direct access
9 if (! defined('UI_LANG')) exit;
10
11 // Set skin-specific images
12 $_IMAGE['skin']['logo']     = 'pukiwiki.png';
13 $_IMAGE['skin']['reload']   = 'reload.png';
14 $_IMAGE['skin']['new']      = 'new.png';
15 $_IMAGE['skin']['edit']     = 'edit.png';
16 $_IMAGE['skin']['freeze']   = 'freeze.png';
17 $_IMAGE['skin']['unfreeze'] = 'unfreeze.png';
18 $_IMAGE['skin']['diff']     = 'diff.png';
19 $_IMAGE['skin']['upload']   = 'file.png';
20 $_IMAGE['skin']['copy']     = 'copy.png';
21 $_IMAGE['skin']['rename']   = 'rename.png';
22 $_IMAGE['skin']['top']      = 'top.png';
23 $_IMAGE['skin']['list']     = 'list.png';
24 $_IMAGE['skin']['search']   = 'search.png';
25 $_IMAGE['skin']['recent']   = 'recentchanges.png';
26 $_IMAGE['skin']['backup']   = 'backup.png';
27 $_IMAGE['skin']['help']     = 'help.png';
28 $_IMAGE['skin']['rss']      = 'rss.png';
29 $_IMAGE['skin']['rss10']    = & $_IMAGE['skin']['rss'];
30 $_IMAGE['skin']['rss20']    = 'rss20.png';
31 $_IMAGE['skin']['rdf']      = 'rdf.png';
32
33 $lang  = $_LANG['skin'];
34 $link  = $_LINK;
35 $image = $_IMAGE['skin'];
36
37 // Decide charset for CSS
38 $css_charset = 'iso-8859-1';
39 switch(UI_LANG){
40         case 'ja': $css_charset = 'Shift_JIS'; break;
41 }
42
43 // Output header
44 pkwk_headers_sent();
45 header('Cache-control: no-cache');
46 header('Pragma: no-cache');
47 header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
48 if(ini_get('zlib.output_compression') && preg_match('/\bgzip\b/i', $_SERVER['HTTP_ACCEPT_ENCODING'])) {
49         header('Content-Encoding: gzip');
50         header('Vary: Accept-Encoding');
51 }
52 echo '<?xml version="1.0" encoding="' . CONTENT_CHARSET . '"?>';
53
54 // Output body
55 if ($html_transitional) { ?>
56 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
57 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo LANG ?>" lang="<?php echo LANG ?>">
58 <?php } else { ?>
59 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
60 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo LANG ?>">
61 <?php } ?>
62 <head>
63  <meta http-equiv="content-type" content="application/xhtml+xml; charset=<?php echo CONTENT_CHARSET ?>" />
64  <meta http-equiv="content-style-type" content="text/css" />
65 <?php if (! $is_read)  { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
66 <?php if (PKWK_ALLOW_JAVASCRIPT && isset($javascript)) { ?> <meta http-equiv="Content-Script-Type" content="text/javascript" /><?php } ?>
67
68  <title><?php echo "$title - $page_title" ?></title>
69  <link rel="stylesheet" href="skin/pukiwiki.css.php?charset=<?php echo $css_charset ?>" type="text/css" media="screen" charset="<?php echo $css_charset ?>" />
70  <link rel="stylesheet" href="skin/pukiwiki.css.php?charset=<?php echo $css_charset ?>&amp;media=print" type="text/css" media="print" charset="<?php echo $css_charset ?>" />
71   <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo $link['rss'] ?>" /><?php // RSS auto-discovery ?>
72
73 <?php if (PKWK_ALLOW_JAVASCRIPT && $trackback_javascript) { ?> <script type="text/javascript" src="skin/trackback.js"></script><?php } ?>
74
75 <?php echo $head_tag ?>
76 </head>
77 <body>
78
79 <div id="header">
80  <a href="<?php echo $link['top'] ?>"><img id="logo" src="<?php echo IMAGE_DIR . $image['logo'] ?>" width="80" height="80" alt="[PukiWiki]" title="[PukiWiki]" /></a>
81
82  <h1 class="title"><?php echo $page ?></h1>
83
84 <?php if ($is_page) { ?>
85  <a href="<?php echo $link['reload'] ?>"><span class="small"><?php echo $link['reload'] ?></span></a>
86 <?php } ?>
87
88 </div>
89
90 <div id="navigator">
91 <?php
92 function _navigator($key, $value = '', $javascript = ''){
93         $lang = $GLOBALS['_LANG']['skin'];
94         $link = $GLOBALS['_LINK'];
95         if (! isset($lang[$key])) { echo 'LANG NOT FOUND'; return FALSE; }
96         if (! isset($link[$key])) { echo 'LINK NOT FOUND'; return FALSE; }
97         if (! PKWK_ALLOW_JAVASCRIPT) $javascript = '';
98
99         echo '<a href="' . $link[$key] . '" ' . $javascript . '>' .
100                 (($value === '') ? $lang[$key] : $value) .
101                 '</a>';
102
103         return TRUE;
104 }
105 ?>
106  [ <?php _navigator('top') ?> ] &nbsp;
107
108 <?php if ($is_page) { ?>
109  [ <?php _navigator('edit')   ?>
110  <?php if ($is_read and $function_freeze) { ?>
111  |  <?php (! $is_freeze) ? _navigator('freeze') : _navigator('unfreeze') ?>
112  <?php } ?>
113  | <?php _navigator('diff') ?>
114  <?php if ($do_backup) { ?>
115  | <?php _navigator('backup') ?>
116  <?php } ?>
117  <?php if ((bool)ini_get('file_uploads')) { ?>
118  | <?php _navigator('upload') ?>
119  <?php } ?>
120  | <?php _navigator('reload')    ?>
121  ] &nbsp;
122 <?php } ?>
123
124  [ <?php _navigator('new')  ?>
125  | <?php _navigator('list') ?>
126  <?php if (arg_check('list')) { ?>
127  | <?php _navigator('filelist') ?>
128  <?php } ?>
129  | <?php _navigator('search') ?>
130  | <?php _navigator('recent') ?>
131  | <?php _navigator('help')   ?>
132  ]
133
134 <?php if ($trackback) { ?> &nbsp;
135  [ <?php _navigator('trackback', $lang['trackback'] . '(' . tb_count($_page) . ')',
136         ($trackback_javascript == 1) ? 'onClick="OpenTrackback(this.href); return false"' : '') ?> ]
137 <?php } ?>
138 <?php if ($referer)   { ?> &nbsp;
139  [ <?php _navigator('refer') ?> ]
140 <?php } ?>
141
142 </div>
143
144 <?php echo $hr ?>
145
146 <?php if (arg_check('read') and exist_plugin_convert('menu')) { ?>
147 <table border="0" style="width:100%">
148  <tr>
149   <td class="menubar">
150    <div id="menubar">
151     <?php echo do_plugin_convert('menu') ?>
152    </div>
153   </td>
154   <td valign="top">
155    <div id="body"><?php echo $body ?></div>
156   </td>
157  </tr>
158 </table>
159 <?php } else { ?>
160 <div id="body"><?php echo $body ?></div>
161 <?php } ?>
162
163 <?php if ($notes) { ?>
164 <div id="note">
165 <?php echo $notes ?>
166 </div>
167 <?php } ?>
168
169 <?php if ($attaches) { ?>
170 <div id="attach">
171 <?php echo $hr ?>
172 <?php echo $attaches ?>
173 </div>
174 <?php } ?>
175
176 <?php echo $hr ?>
177
178 <div id="toolbar">
179 <?php
180 function _toolbar($key, $x = 20, $y = 20){
181         $lang  = $GLOBALS['_LANG']['skin'];
182         $link  = $GLOBALS['_LINK'];
183         $image = $GLOBALS['_IMAGE']['skin'];
184         if (! isset($lang[$key]) ) { echo 'LANG NOT FOUND';  return FALSE; }
185         if (! isset($link[$key]) ) { echo 'LINK NOT FOUND';  return FALSE; }
186         if (! isset($image[$key])) { echo 'IMAGE NOT FOUND'; return FALSE; }
187
188         echo '<a href="' . $link[$key] . '">' .
189                 '<img src="' . IMAGE_DIR . $image[$key] . '" width="' . $x . '" height="' . $y . '" ' .
190                         'alt="' . $lang[$key] . '" title="' . $lang[$key] . '" />' .
191                 '</a>';
192         return TRUE;
193 }
194 ?>
195  <?php _toolbar('top') ?>
196
197 <?php if ($is_page) { ?>
198  &nbsp;
199  <?php _toolbar('edit') ?>
200  <?php if ($is_read and $function_freeze) { ?>
201   <?php if (! $is_freeze) { _toolbar('freeze'); } else { _toolbar('unfreeze'); } ?>
202  <?php } ?>
203  <?php _toolbar('diff') ?>
204 <?php if ($do_backup) { ?>
205   <?php _toolbar('backup') ?>
206 <?php } ?>
207  <?php if ((bool)ini_get('file_uploads')) { ?>
208   <?php _toolbar('upload') ?>
209  <?php } ?>
210  <?php _toolbar('copy') ?>
211  <?php _toolbar('rename') ?>
212  <?php _toolbar('reload') ?>
213 <?php } ?>
214  &nbsp;
215  <?php _toolbar('new')    ?>
216  <?php _toolbar('list')   ?>
217  <?php _toolbar('search') ?>
218  <?php _toolbar('recent') ?>
219  &nbsp; <?php _toolbar('help') ?>
220  &nbsp; <?php _toolbar('rss10', 36, 14) ?>
221 </div>
222
223 <?php if ($lastmodified) { ?>
224 <div id="lastmodified">
225  Last-modified: <?php echo $lastmodified ?>
226 </div>
227 <?php } ?>
228
229 <?php if ($related) { ?>
230 <div id="related">
231  Link: <?php echo $related ?>
232 </div>
233 <?php } ?>
234
235 <div id="footer">
236  Modified by <a href="<?php echo $modifierlink ?>"><?php echo $modifier ?></a>
237  <br /><br />
238  <?php echo S_COPYRIGHT ?>
239  <br />
240  Powered by PHP <?php echo PHP_VERSION ?>
241  <br /><br />
242  HTML convert time to <?php echo $taketime ?> sec.
243 </div>
244
245 </body>
246 </html>