• R/O
  • SSH
  • HTTPS

pukibook: コミット


コミットメタ情報

リビジョン8 (tree)
日時2009-03-22 15:23:13
作者lunt

ログメッセージ

tagging monobook 1.0

変更サマリ

差分

--- monobook/tags/monobook-1.0/license.txt (nonexistent)
+++ monobook/tags/monobook-1.0/license.txt (revision 8)
@@ -0,0 +1,339 @@
1+ GNU GENERAL PUBLIC LICENSE
2+ Version 2, June 1991
3+
4+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6+ Everyone is permitted to copy and distribute verbatim copies
7+ of this license document, but changing it is not allowed.
8+
9+ Preamble
10+
11+ The licenses for most software are designed to take away your
12+freedom to share and change it. By contrast, the GNU General Public
13+License is intended to guarantee your freedom to share and change free
14+software--to make sure the software is free for all its users. This
15+General Public License applies to most of the Free Software
16+Foundation's software and to any other program whose authors commit to
17+using it. (Some other Free Software Foundation software is covered by
18+the GNU Lesser General Public License instead.) You can apply it to
19+your programs, too.
20+
21+ When we speak of free software, we are referring to freedom, not
22+price. Our General Public Licenses are designed to make sure that you
23+have the freedom to distribute copies of free software (and charge for
24+this service if you wish), that you receive source code or can get it
25+if you want it, that you can change the software or use pieces of it
26+in new free programs; and that you know you can do these things.
27+
28+ To protect your rights, we need to make restrictions that forbid
29+anyone to deny you these rights or to ask you to surrender the rights.
30+These restrictions translate to certain responsibilities for you if you
31+distribute copies of the software, or if you modify it.
32+
33+ For example, if you distribute copies of such a program, whether
34+gratis or for a fee, you must give the recipients all the rights that
35+you have. You must make sure that they, too, receive or can get the
36+source code. And you must show them these terms so they know their
37+rights.
38+
39+ We protect your rights with two steps: (1) copyright the software, and
40+(2) offer you this license which gives you legal permission to copy,
41+distribute and/or modify the software.
42+
43+ Also, for each author's protection and ours, we want to make certain
44+that everyone understands that there is no warranty for this free
45+software. If the software is modified by someone else and passed on, we
46+want its recipients to know that what they have is not the original, so
47+that any problems introduced by others will not reflect on the original
48+authors' reputations.
49+
50+ Finally, any free program is threatened constantly by software
51+patents. We wish to avoid the danger that redistributors of a free
52+program will individually obtain patent licenses, in effect making the
53+program proprietary. To prevent this, we have made it clear that any
54+patent must be licensed for everyone's free use or not licensed at all.
55+
56+ The precise terms and conditions for copying, distribution and
57+modification follow.
58+
59+ GNU GENERAL PUBLIC LICENSE
60+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61+
62+ 0. This License applies to any program or other work which contains
63+a notice placed by the copyright holder saying it may be distributed
64+under the terms of this General Public License. The "Program", below,
65+refers to any such program or work, and a "work based on the Program"
66+means either the Program or any derivative work under copyright law:
67+that is to say, a work containing the Program or a portion of it,
68+either verbatim or with modifications and/or translated into another
69+language. (Hereinafter, translation is included without limitation in
70+the term "modification".) Each licensee is addressed as "you".
71+
72+Activities other than copying, distribution and modification are not
73+covered by this License; they are outside its scope. The act of
74+running the Program is not restricted, and the output from the Program
75+is covered only if its contents constitute a work based on the
76+Program (independent of having been made by running the Program).
77+Whether that is true depends on what the Program does.
78+
79+ 1. You may copy and distribute verbatim copies of the Program's
80+source code as you receive it, in any medium, provided that you
81+conspicuously and appropriately publish on each copy an appropriate
82+copyright notice and disclaimer of warranty; keep intact all the
83+notices that refer to this License and to the absence of any warranty;
84+and give any other recipients of the Program a copy of this License
85+along with the Program.
86+
87+You may charge a fee for the physical act of transferring a copy, and
88+you may at your option offer warranty protection in exchange for a fee.
89+
90+ 2. You may modify your copy or copies of the Program or any portion
91+of it, thus forming a work based on the Program, and copy and
92+distribute such modifications or work under the terms of Section 1
93+above, provided that you also meet all of these conditions:
94+
95+ a) You must cause the modified files to carry prominent notices
96+ stating that you changed the files and the date of any change.
97+
98+ b) You must cause any work that you distribute or publish, that in
99+ whole or in part contains or is derived from the Program or any
100+ part thereof, to be licensed as a whole at no charge to all third
101+ parties under the terms of this License.
102+
103+ c) If the modified program normally reads commands interactively
104+ when run, you must cause it, when started running for such
105+ interactive use in the most ordinary way, to print or display an
106+ announcement including an appropriate copyright notice and a
107+ notice that there is no warranty (or else, saying that you provide
108+ a warranty) and that users may redistribute the program under
109+ these conditions, and telling the user how to view a copy of this
110+ License. (Exception: if the Program itself is interactive but
111+ does not normally print such an announcement, your work based on
112+ the Program is not required to print an announcement.)
113+
114+These requirements apply to the modified work as a whole. If
115+identifiable sections of that work are not derived from the Program,
116+and can be reasonably considered independent and separate works in
117+themselves, then this License, and its terms, do not apply to those
118+sections when you distribute them as separate works. But when you
119+distribute the same sections as part of a whole which is a work based
120+on the Program, the distribution of the whole must be on the terms of
121+this License, whose permissions for other licensees extend to the
122+entire whole, and thus to each and every part regardless of who wrote it.
123+
124+Thus, it is not the intent of this section to claim rights or contest
125+your rights to work written entirely by you; rather, the intent is to
126+exercise the right to control the distribution of derivative or
127+collective works based on the Program.
128+
129+In addition, mere aggregation of another work not based on the Program
130+with the Program (or with a work based on the Program) on a volume of
131+a storage or distribution medium does not bring the other work under
132+the scope of this License.
133+
134+ 3. You may copy and distribute the Program (or a work based on it,
135+under Section 2) in object code or executable form under the terms of
136+Sections 1 and 2 above provided that you also do one of the following:
137+
138+ a) Accompany it with the complete corresponding machine-readable
139+ source code, which must be distributed under the terms of Sections
140+ 1 and 2 above on a medium customarily used for software interchange; or,
141+
142+ b) Accompany it with a written offer, valid for at least three
143+ years, to give any third party, for a charge no more than your
144+ cost of physically performing source distribution, a complete
145+ machine-readable copy of the corresponding source code, to be
146+ distributed under the terms of Sections 1 and 2 above on a medium
147+ customarily used for software interchange; or,
148+
149+ c) Accompany it with the information you received as to the offer
150+ to distribute corresponding source code. (This alternative is
151+ allowed only for noncommercial distribution and only if you
152+ received the program in object code or executable form with such
153+ an offer, in accord with Subsection b above.)
154+
155+The source code for a work means the preferred form of the work for
156+making modifications to it. For an executable work, complete source
157+code means all the source code for all modules it contains, plus any
158+associated interface definition files, plus the scripts used to
159+control compilation and installation of the executable. However, as a
160+special exception, the source code distributed need not include
161+anything that is normally distributed (in either source or binary
162+form) with the major components (compiler, kernel, and so on) of the
163+operating system on which the executable runs, unless that component
164+itself accompanies the executable.
165+
166+If distribution of executable or object code is made by offering
167+access to copy from a designated place, then offering equivalent
168+access to copy the source code from the same place counts as
169+distribution of the source code, even though third parties are not
170+compelled to copy the source along with the object code.
171+
172+ 4. You may not copy, modify, sublicense, or distribute the Program
173+except as expressly provided under this License. Any attempt
174+otherwise to copy, modify, sublicense or distribute the Program is
175+void, and will automatically terminate your rights under this License.
176+However, parties who have received copies, or rights, from you under
177+this License will not have their licenses terminated so long as such
178+parties remain in full compliance.
179+
180+ 5. You are not required to accept this License, since you have not
181+signed it. However, nothing else grants you permission to modify or
182+distribute the Program or its derivative works. These actions are
183+prohibited by law if you do not accept this License. Therefore, by
184+modifying or distributing the Program (or any work based on the
185+Program), you indicate your acceptance of this License to do so, and
186+all its terms and conditions for copying, distributing or modifying
187+the Program or works based on it.
188+
189+ 6. Each time you redistribute the Program (or any work based on the
190+Program), the recipient automatically receives a license from the
191+original licensor to copy, distribute or modify the Program subject to
192+these terms and conditions. You may not impose any further
193+restrictions on the recipients' exercise of the rights granted herein.
194+You are not responsible for enforcing compliance by third parties to
195+this License.
196+
197+ 7. If, as a consequence of a court judgment or allegation of patent
198+infringement or for any other reason (not limited to patent issues),
199+conditions are imposed on you (whether by court order, agreement or
200+otherwise) that contradict the conditions of this License, they do not
201+excuse you from the conditions of this License. If you cannot
202+distribute so as to satisfy simultaneously your obligations under this
203+License and any other pertinent obligations, then as a consequence you
204+may not distribute the Program at all. For example, if a patent
205+license would not permit royalty-free redistribution of the Program by
206+all those who receive copies directly or indirectly through you, then
207+the only way you could satisfy both it and this License would be to
208+refrain entirely from distribution of the Program.
209+
210+If any portion of this section is held invalid or unenforceable under
211+any particular circumstance, the balance of the section is intended to
212+apply and the section as a whole is intended to apply in other
213+circumstances.
214+
215+It is not the purpose of this section to induce you to infringe any
216+patents or other property right claims or to contest validity of any
217+such claims; this section has the sole purpose of protecting the
218+integrity of the free software distribution system, which is
219+implemented by public license practices. Many people have made
220+generous contributions to the wide range of software distributed
221+through that system in reliance on consistent application of that
222+system; it is up to the author/donor to decide if he or she is willing
223+to distribute software through any other system and a licensee cannot
224+impose that choice.
225+
226+This section is intended to make thoroughly clear what is believed to
227+be a consequence of the rest of this License.
228+
229+ 8. If the distribution and/or use of the Program is restricted in
230+certain countries either by patents or by copyrighted interfaces, the
231+original copyright holder who places the Program under this License
232+may add an explicit geographical distribution limitation excluding
233+those countries, so that distribution is permitted only in or among
234+countries not thus excluded. In such case, this License incorporates
235+the limitation as if written in the body of this License.
236+
237+ 9. The Free Software Foundation may publish revised and/or new versions
238+of the General Public License from time to time. Such new versions will
239+be similar in spirit to the present version, but may differ in detail to
240+address new problems or concerns.
241+
242+Each version is given a distinguishing version number. If the Program
243+specifies a version number of this License which applies to it and "any
244+later version", you have the option of following the terms and conditions
245+either of that version or of any later version published by the Free
246+Software Foundation. If the Program does not specify a version number of
247+this License, you may choose any version ever published by the Free Software
248+Foundation.
249+
250+ 10. If you wish to incorporate parts of the Program into other free
251+programs whose distribution conditions are different, write to the author
252+to ask for permission. For software which is copyrighted by the Free
253+Software Foundation, write to the Free Software Foundation; we sometimes
254+make exceptions for this. Our decision will be guided by the two goals
255+of preserving the free status of all derivatives of our free software and
256+of promoting the sharing and reuse of software generally.
257+
258+ NO WARRANTY
259+
260+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268+REPAIR OR CORRECTION.
269+
270+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278+POSSIBILITY OF SUCH DAMAGES.
279+
280+ END OF TERMS AND CONDITIONS
281+
282+ How to Apply These Terms to Your New Programs
283+
284+ If you develop a new program, and you want it to be of the greatest
285+possible use to the public, the best way to achieve this is to make it
286+free software which everyone can redistribute and change under these terms.
287+
288+ To do so, attach the following notices to the program. It is safest
289+to attach them to the start of each source file to most effectively
290+convey the exclusion of warranty; and each file should have at least
291+the "copyright" line and a pointer to where the full notice is found.
292+
293+ <one line to give the program's name and a brief idea of what it does.>
294+ Copyright (C) <year> <name of author>
295+
296+ This program is free software; you can redistribute it and/or modify
297+ it under the terms of the GNU General Public License as published by
298+ the Free Software Foundation; either version 2 of the License, or
299+ (at your option) any later version.
300+
301+ This program is distributed in the hope that it will be useful,
302+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304+ GNU General Public License for more details.
305+
306+ You should have received a copy of the GNU General Public License along
307+ with this program; if not, write to the Free Software Foundation, Inc.,
308+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309+
310+Also add information on how to contact you by electronic and paper mail.
311+
312+If the program is interactive, make it output a short notice like this
313+when it starts in an interactive mode:
314+
315+ Gnomovision version 69, Copyright (C) year name of author
316+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317+ This is free software, and you are welcome to redistribute it
318+ under certain conditions; type `show c' for details.
319+
320+The hypothetical commands `show w' and `show c' should show the appropriate
321+parts of the General Public License. Of course, the commands you use may
322+be called something other than `show w' and `show c'; they could even be
323+mouse-clicks or menu items--whatever suits your program.
324+
325+You should also get your employer (if you work as a programmer) or your
326+school, if any, to sign a "copyright disclaimer" for the program, if
327+necessary. Here is a sample; alter the names:
328+
329+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331+
332+ <signature of Ty Coon>, 1 April 1989
333+ Ty Coon, President of Vice
334+
335+This General Public License does not permit incorporating your program into
336+proprietary programs. If your program is a subroutine library, you may
337+consider it more useful to permit linking proprietary applications with the
338+library. If this is what you want to do, use the GNU Lesser General
339+Public License instead of this License.
--- monobook/tags/monobook-1.0/plugin/secedit.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/secedit.inc.php (revision 8)
@@ -0,0 +1,516 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
5+ * @version $Id$
6+ */
7+
8+/**
9+ * Define heading style
10+ *
11+ * $1 = heading open tag <hx id="content_1_x">
12+ * $2 = heading string including anchor
13+ * $3 = link to secedit plugin
14+ * $4 = heading close tag </hx>
15+ */
16+
17+// paraedit patch style
18+// define('PLUGIN_SECEDIT_LINK_STYLE', '$1$2<a class="anchor_super" href="$3" title="Edit">' .
19+// ' <img src="image/paraedit.png" width="9" height="9" alt="Edit" title="Edit" /></a>$4');
20+
21+// Monobook style
22+define('PLUGIN_SECEDIT_LINK_STYLE', '$1<span class="editsection">[<a href="$3">編集</a>]</span><span>$2</span>$4');
23+
24+define('PLUGIN_SECEDIT_LEVEL', false);
25+
26+define('PLUGIN_SECEDIT_ENABLE_ON_KEITAI_PROFILE', false);
27+
28+// Remove #freeze written by hand
29+define('PLUGIN_SECEDIT_FREEZE_REGEX', '/^(?:#freeze(?!\w)\s*)+/im');
30+define('PLUGIN_SECEDIT_PAGE', $vars['page']);
31+
32+function plugin_secedit_action()
33+{
34+ global $post;
35+
36+ switch (true) {
37+ case isset($post['cancel']):
38+ $action = 'Cancel'; break;
39+ case isset($post['preview']):
40+ $action = 'Preview'; break;
41+ case isset($post['write']):
42+ $action = 'Write'; break;
43+ default:
44+ $action = 'Edit';
45+ }
46+
47+ $action = 'Plugin_Secedit_' . $action;
48+ $obj = &new $action();
49+
50+ return $obj->process();
51+}
52+
53+class Plugin_Secedit
54+{
55+ var $page;
56+ var $id;
57+ var $anchor;
58+ var $level;
59+ var $postdata;
60+ var $original;
61+ var $digest;
62+ var $notimestamp;
63+ var $pass;
64+ var $help;
65+
66+ var $s_page;
67+ var $s_postdata;
68+ var $s_original;
69+ var $s_digest;
70+
71+ var $sections;
72+
73+ function init()
74+ {
75+ global $vars, $post;
76+
77+ $this->page = isset($vars['page']) ? $vars['page'] : '';
78+ $this->s_page = htmlspecialchars($this->page);
79+ $this->id = isset($vars['id']) ? $vars['id'] : 0;
80+ $this->anchor = isset($vars['anchor']) ? $vars['anchor'] : '';
81+ $this->level = isset($vars['level']) ? true : false;
82+ $this->postdata = isset($post['msg']) ?
83+ preg_replace(PLUGIN_SECEDIT_FREEZE_REGEX, '', $post['msg']) : '';
84+ $this->original = isset($post['original']) ?
85+ str_replace("\r", '', $post['original']) : '';
86+ $this->digest = isset($post['digest']) ? $post['digest'] : '';
87+ $this->notimestamp = isset($post['notimestamp']) ? true : false;
88+ $this->pass = isset($post['pass']) ? $post['pass'] : '';
89+ $this->help = isset($vars['help']) ? true : false;
90+ }
91+
92+ function check()
93+ {
94+ if (PKWK_READONLY) die_message('PKWK_READONLY prohibits editing');
95+
96+ check_editable($this->page, true, true);
97+
98+ if (! is_page($this->page)) die_message('No such page');
99+ if (! $this->sections->is_valid_id($this->id)) die_message('Invalid id');
100+ }
101+
102+ function process()
103+ {
104+ }
105+
106+ function redirect($page)
107+ {
108+ pkwk_headers_sent();
109+ header('Location: ' . get_script_uri() . '?' . rawurlencode($page));
110+ exit;
111+ }
112+
113+ function form()
114+ {
115+ global $rows, $cols, $notimeupdate, $hr, $_msg_help;
116+ global $_btn_preview, $_btn_repreview, $_btn_update, $_btn_cancel, $_btn_notchangetimestamp;
117+
118+ $script = get_script_uri();
119+ $r_page = rawurlencode($this->page);
120+ $btn_preview = strpos(get_class($this), 'Preview') ? $_btn_repreview : $_btn_preview;
121+
122+ $level = $this->level ? '<input type="hidden" name="level" value="true" />' : '';
123+
124+ $add_notimestamp = '';
125+ if ($notimeupdate) {
126+ $checked = $this->notimestamp ? ' checked="checked"' : '';
127+ $pass_form = ($notimeupdate == 2) ? ' <input type="password" name="pass" size="12" />' : '';
128+ $add_notimestamp = <<<EOD
129+ <input type="checkbox" name="notimestamp" id="_edit_form_notimestamp" value="true"$checked />
130+ <label for="_edit_form_notimestamp"><span class="small">$_btn_notchangetimestamp</span></label>
131+$pass_form
132+EOD;
133+ }
134+
135+ $help = $script . '?cmd=secedit&amp;help=true&amp;page=' . $r_page . '&amp;id=' . $this->id;
136+ $help .= $this->level ? '&amp;level=true' : '';
137+ $help = $this->help ? $hr . catrule() :
138+ '<ul><li><a href="' . $help . '">' . $_msg_help . '</a></li></ul>';
139+
140+ return <<<EOD
141+<div class="edit_form">
142+ <form action="$script" method="post" style="margin-bottom:0px;">
143+ <div>
144+ <input type="hidden" name="cmd" value="secedit" />
145+ <input type="hidden" name="page" value="$this->s_page" />
146+ <input type="hidden" name="id" value="$this->id" />
147+ $level
148+ <input type="hidden" name="digest" value="$this->s_digest" />
149+ <textarea name="msg" rows="$rows" cols="$cols">$this->s_postdata</textarea>
150+ <br />
151+ <input type="submit" name="preview" value="$btn_preview" accesskey="p" />
152+ <input type="submit" name="write" value="$_btn_update" accesskey="s" />
153+$add_notimestamp
154+ <input type="submit" name="cancel" value="$_btn_cancel" accesskey="c" />
155+ <textarea name="original" rows="1" cols="1" style="display:none">$this->s_original</textarea>
156+ </div>
157+ </form>
158+</div>
159+$help
160+EOD;
161+ }
162+}
163+
164+class Plugin_Secedit_Edit extends Plugin_Secedit
165+{
166+ function init()
167+ {
168+ parent::init();
169+
170+ $source = get_source($this->page, true, true);
171+
172+ $this->sections = &new Plugin_Secedit_Sections($source);
173+
174+ if ($this->anchor) {
175+ $id = $this->sections->anchor2id($this->anchor);
176+ $this->id = $id ? $id : $this->id;
177+ }
178+
179+ $this->s_postdata = htmlspecialchars($this->sections->get_section($this->id, $this->level));
180+ $this->s_original = htmlspecialchars($source);
181+ $this->s_digest = htmlspecialchars(md5($source));
182+ }
183+
184+ function check()
185+ {
186+ parent::check();
187+
188+ if ($this->anchor && $this->id && ! $this->sections->is_unique_anchor($this->anchor)) {
189+ die_message('The anchor ' . htmlspecialchars($this->anchor) . ' is nonunique.');
190+ }
191+ }
192+
193+ function process()
194+ {
195+ global $_title_edit;
196+
197+ $this->init();
198+ $this->check();
199+
200+ return array('msg' => $_title_edit, 'body' => $this->form());
201+ }
202+}
203+
204+class Plugin_Secedit_Preview extends Plugin_Secedit
205+{
206+ function init()
207+ {
208+ parent::init();
209+
210+ $this->sections = &new Plugin_Secedit_Sections($this->original);
211+ $this->s_postdata = htmlspecialchars($this->postdata);
212+ $this->s_original = htmlspecialchars($this->original);
213+ $this->s_digest = htmlspecialchars($this->digest);
214+ }
215+
216+ function check()
217+ {
218+ parent::check();
219+
220+ if ($this->original === '') die_message('No original');
221+ if ($this->digest === '') die_message('No digest');
222+ }
223+
224+ function process()
225+ {
226+ global $_title_preview, $_msg_preview, $_msg_preview_delete;
227+
228+ $this->init();
229+ $this->check();
230+
231+ $this->sections->set_section($this->id, $this->postdata, $this->level);
232+
233+ $msg = $_msg_preview . "<br />\n";
234+ $msg .= ($this->sections->get_source() === '') ? "<strong>$_msg_preview_delete</strong>" : '';
235+ $msg .= "<br />\n";
236+
237+ $preview = '';
238+ if ($this->postdata !== '') {
239+ $src = preg_replace(PLUGIN_SECEDIT_FREEZE_REGEX, '', $this->postdata);
240+ $src = make_str_rules($src);
241+ $preview = '<div id="preview">' . drop_submit(convert_html($src)) . "</div>\n";
242+ }
243+
244+ return array('msg' => $_title_preview, 'body' => $msg . $preview . $this->form());
245+ }
246+}
247+
248+class Plugin_Secedit_Write extends Plugin_Secedit_Preview
249+{
250+ function process()
251+ {
252+ global $_title_collided, $_msg_collided, $_msg_collided_auto, $do_update_diff_table;
253+ global $_title_edit, $_title_deleted, $notimeupdate, $_msg_invalidpass;
254+
255+ $this->init();
256+ $this->check();
257+
258+ $this->sections->set_section($this->id, $this->postdata, $this->level);
259+ $postdata = $this->sections->get_source();
260+
261+ $current_src = get_source($this->page, true, true);
262+ $current_md5 = md5($current_src);
263+
264+ if ($this->digest !== $current_md5) {
265+ list($postdata, $auto) = do_update_diff($current_src, $postdata, $this->original);
266+ $this->s_postdata = htmlspecialchars($postdata);
267+ $this->s_digest = htmlspecialchars($current_md5);
268+ $body = ($auto ? $_msg_collided_auto : $_msg_collided) . "\n";
269+ $body .= $do_update_diff_table . edit_form($this->page, $postdata, $current_md5, false);
270+ return array(
271+ 'msg' => $_title_collided,
272+ 'body' => $body,
273+ );
274+ }
275+
276+ if ($postdata === '') {
277+ page_write($this->page, $postdata);
278+ return array(
279+ 'msg' => $_title_deleted,
280+ 'body' => str_replace('$1', $this->s_page, $_title_deleted),
281+ );
282+ }
283+
284+ if ($notimeupdate > 1 && $this->notimestamp && ! pkwk_login($this->pass)) {
285+ return array(
286+ 'msg' => $_title_edit,
287+ 'body' => "<p><strong>$_msg_invalidpass</strong></p>\n" . $this->form()
288+ );
289+ }
290+
291+ if (md5($postdata) === $current_md5) {
292+ $this->redirect($this->page);
293+ }
294+
295+ page_write($this->page, $postdata, $notimeupdate != 0 && $this->notimestamp);
296+ $this->redirect($this->page);
297+ }
298+}
299+
300+class Plugin_Secedit_Cancel extends Plugin_Secedit
301+{
302+ function process()
303+ {
304+ $this->init();
305+
306+ if (is_page($this->page)) {
307+ $this->redirect($this->page);
308+ }
309+
310+ return;
311+ }
312+}
313+
314+class Plugin_Secedit_Sections
315+{
316+ var $sections;
317+
318+ function Plugin_Secedit_Sections($text)
319+ {
320+ $this->sections = $this->_parse($text);
321+ }
322+
323+ function get_source()
324+ {
325+ return implode('', $this->sections);
326+ }
327+
328+ function &get_section($id, $with_subsection = false)
329+ {
330+ if (! $this->is_valid_id($id)) {
331+ return false;
332+ }
333+
334+ if ($with_subsection) {
335+ return $this->get_section_with_subsection($id);
336+ } else {
337+ return $this->sections[$id];
338+ }
339+ }
340+
341+ function &get_section_with_subsection($id)
342+ {
343+ $source = '';
344+ $count = $id + $this->_count_subsection($id) + 1;
345+
346+ for ($i = $id; $i < $count; $i++) {
347+ $source .= $this->sections[$i];
348+ }
349+ return $source;
350+ }
351+
352+ function set_section($id, $text, $with_subsection = false)
353+ {
354+ if (! $this->is_valid_id($id)) {
355+ return false;
356+ }
357+
358+ if (substr($text, -1) !== "\n") {
359+ $text .= "\n";
360+ }
361+
362+ if ($with_subsection) {
363+ $this->set_section_with_subsection($id, $text);
364+ } else {
365+ $this->sections[$id] = $text;
366+ }
367+ }
368+
369+ function set_section_with_subsection($id, $text)
370+ {
371+ array_splice($this->sections, $id, $this->_count_subsection($id) + 1, array($text));
372+ $this->sections = $this->_parse($this->get_source());
373+ }
374+
375+ function is_valid_id($id)
376+ {
377+ if (is_string($id) && ($id === '' || ! ctype_digit($id))) {
378+ return false;
379+ }
380+ return isset($this->sections[$id]) && $id > 0;
381+ }
382+
383+ function anchor2id($anchor)
384+ {
385+ foreach ($this->sections as $id => $section) {
386+ if (preg_match('/^\*{1,3}.*?(?:\[#([A-Za-z][\w-]*)\]\s*)\n/', $section, $matches) &&
387+ $anchor === $matches[1])
388+ {
389+ return $id;
390+ }
391+ }
392+ return false;
393+ }
394+
395+ function is_unique_anchor($anchor)
396+ {
397+ foreach ($this->sections as $section) {
398+ if (preg_match('/^\*{1,3}.*?(?:\[#([A-Za-z][\w-]*)\]\s*)\n/', $section, $matches)) {
399+ $anchors[$matches[1]]++;
400+ }
401+ if (isset($anchors[$anchor]) && $anchors[$anchor] > 1) {
402+ return false;
403+ }
404+ }
405+ return true;
406+ }
407+
408+ function _parse($text)
409+ {
410+ $id = 0;
411+ $sections[0] = '';
412+ $in_multiline = false;
413+
414+ foreach (explode("\n", $text) as $line) {
415+ if (! PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK && ! $in_multiline &&
416+ preg_match('/^#[^{]+(\{{2,})\s*$/', $line, $matches))
417+ {
418+ $in_multiline = true;
419+ $close_multiline = str_repeat('}', strlen($matches[1]));
420+ } elseif ($in_multiline && $line === $close_multiline) {
421+ $in_multiline = false;
422+ }
423+ if (! $in_multiline && strpos($line, '*') === 0) {
424+ $sections[++$id] = '';
425+ }
426+ $sections[$id] .= $line . "\n";
427+ }
428+ $sections[count($sections)-1] = substr($sections[count($sections)-1], 0, -1);
429+
430+ return $sections;
431+ }
432+
433+ function _count_subsection($id)
434+ {
435+ $count = 0;
436+ $level = $this->_level($id);
437+
438+ for ($i = $id + 1; $i < count($this->sections); $i++) {
439+ if ($this->_level($i) <= $level) {
440+ break;
441+ }
442+ $count++;
443+ }
444+ return $count;
445+ }
446+
447+ function _level($id)
448+ {
449+ return min(3, strspn($this->sections[$id], '*'));
450+ }
451+}
452+
453+function plugin_secedit_wrap(&$string, &$tag, &$param, &$id)
454+{
455+ global $vars;
456+
457+ $page = isset($vars['page']) ? $vars['page'] : '';
458+ list($dummy, $callcount, $secid) = explode('_', $id);
459+
460+ if (! plugin_secedit_should_display_editlink($page, (int)$callcount)) {
461+ return false;
462+ }
463+
464+ $secid = '&amp;id=' . strval($secid + 1);
465+ if ($callcount > 1 && preg_match('/<a[^>]+id="([A-Za-z][\w-]*)"/', $string, $matches)) {
466+ $secid = '&amp;anchor=' . $matches[1];
467+ } elseif ($callcount > 1) {
468+ return false;
469+ }
470+
471+ $open = '<' . $tag . $param . '>';
472+ $close = '</' . $tag . '>';
473+ $link = get_script_uri() . '?cmd=secedit&amp;page=' . rawurlencode($page) . $secid;
474+ $link .= PLUGIN_SECEDIT_LEVEL ? '&amp;level=true' : '';
475+
476+ return str_replace(
477+ array('$1', '$2', '$3', '$4'),
478+ array($open, $string, $link, $close),
479+ PLUGIN_SECEDIT_LINK_STYLE);
480+}
481+
482+function plugin_secedit_should_display_editlink($page, $callcount)
483+{
484+ global $vars, $retvars;
485+ static $is_editable;
486+
487+ if (PKWK_READONLY) {
488+ return false;
489+ }
490+
491+ if (! PLUGIN_SECEDIT_ENABLE_ON_KEITAI_PROFILE && UA_PROFILE === 'keitai') {
492+ return false;
493+ }
494+
495+ if (! (isset($vars['cmd']) && $vars['cmd'] === 'read' && ! $retvars['body'])) {
496+ return false;
497+ }
498+
499+ if ($callcount > 1 && function_exists('plugin_menu_convert')) {
500+ return false;
501+ }
502+
503+ if (! isset($is_editable[$page])) {
504+ $is_editable[$page] = check_editable($page, false, false);
505+ }
506+ if (! $is_editable[$page]) {
507+ return false;
508+ }
509+
510+ if ($callcount === 1 || PLUGIN_SECEDIT_PAGE !== $page) {
511+ return true;
512+ }
513+
514+ return false;
515+}
516+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/monobook_navigation.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/monobook_navigation.inc.php (revision 8)
@@ -0,0 +1,96 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
5+ * @version $Id$
6+ */
7+
8+function plugin_monobook_navigation_init()
9+{
10+ $messages['_monobook_navigation_messages'] = array(
11+ 'add' => '追加',
12+ 'article' => '本文',
13+ 'attachinfo' => 'ファイル',
14+ 'attachlist' => '添付ファイル一覧',
15+ 'attachlistall' => '全添付ファイル一覧',
16+ 'backup' => 'バックアップ',
17+ 'copy' => 'コピー',
18+ 'diff' => '差分',
19+ 'discuss' => 'ノート',
20+ 'edit' => '編集',
21+ 'filelist' => 'ファイル名一覧',
22+ 'freeze' => '凍結',
23+ 'help' => 'ヘルプ',
24+ 'list' => '一覧',
25+ 'new' => '新規',
26+ 'rdf' => 'RDF',
27+ 'recent' => '最終更新',
28+ 'refer' => 'リファラ',
29+ 'related' => 'リンク元',
30+ 'reload' => 'リロード',
31+ 'rename' => '名前変更',
32+ 'revert' => 'この版へ差し戻し',
33+ 'rss' => 'RSS',
34+ 'rss10' => 'RSS',
35+ 'rss20' => 'RSS',
36+ 'search' => '検索',
37+ 'source' => 'ソース',
38+ 'top' => 'トップ',
39+ 'trackback' => 'トラックバック',
40+ 'unfreeze' => '凍結解除',
41+ 'upload' => '添付',
42+ 'yetlist' => '未作成',
43+ 'undefined' => '特別ページ',
44+ );
45+ set_plugin_messages($messages);
46+}
47+
48+function plugin_monobook_navigation($wikinote, $tabs, $background)
49+{
50+ global $vars, $plugin, $_monobook_navigation_messages;
51+
52+ if (! exist_plugin('monobook_getlink')) die('monobook_getlink plugin not found');
53+ do_plugin_init('monobook_navigation');
54+
55+ $main_tabs = '';
56+ if ($wikinote->is_effect()) {
57+ $main_tabs = str_replace(array('<ul class="wikinote">', '</ul>', "\n"), '',
58+ $wikinote->show_tabs(array(
59+ array('cmd' => 'main', 'label' => $_monobook_navigation_messages['article']),
60+ array('cmd' => 'note', 'label' => $_monobook_navigation_messages['discuss']),
61+ )));
62+ }
63+
64+ $sub_tabs = '';
65+ $selected_flag = FALSE;
66+ foreach ($tabs as $tab) {
67+ if ($tab === 'edit' && is_freeze($vars['page']) && ! in_array('source', $tabs)) $tab = 'source';
68+ if ($tab === 'edit' && $plugin === 'secedit') $tab = 'secedit';
69+ if ($tab === 'edit' && exist_plugin('revert') && plugin_revert_getlink()) $tab = 'revert';
70+ list($link, $selected) = plugin_monobook_getlink($tab, $_monobook_navigation_messages, TRUE);
71+ if (! $link) continue;
72+ if ($selected) {
73+ $sub_tabs .= '<li class="selected">' . $link . '</li>';
74+ $selected_flag = TRUE;
75+ } else {
76+ $sub_tabs .= '<li>' . $link . '</li>';
77+ }
78+ }
79+
80+ if (! $selected_flag) {
81+ $link = plugin_monobook_getlink('nowplugin', $_monobook_navigation_messages);
82+ if (! $main_tabs) {
83+ if ($link) {
84+ $sub_tabs = '<li class="selected" id="separate">' . $link .'</li>' . $sub_tabs;
85+ } else {
86+ $sub_tabs = '<li class="selected"><a href="' . get_script_uri() . strrchr($_SERVER['REQUEST_URI'], '?') .
87+ '">' . $_monobook_navigation_messages['undefined'] . '</a></li>';
88+ }
89+ } elseif ($main_tabs && ! arg_check('read') && $link) {
90+ $sub_tabs = '<li class="selected">' . $link . '</li>' . $sub_tabs;
91+ }
92+ }
93+
94+ return '<div id="navigator"><ul' . $background . '>' . $main_tabs . $sub_tabs . '</ul></div>' . "\n";
95+}
96+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/monobook_recent.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/monobook_recent.inc.php (revision 8)
@@ -0,0 +1,15 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GPL 2
5+ * @version $Id$
6+ */
7+
8+function plugin_monobook_recent_convert()
9+{
10+ if (! exist_plugin_convert('recent')) return;
11+ $args = func_get_args();
12+ return str_replace('<div>', '<div class="monobook_recent">',
13+ call_user_func_array('plugin_recent_convert', $args));
14+}
15+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/relink.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/relink.inc.php (revision 8)
@@ -0,0 +1,85 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
5+ * @version $Id$
6+ */
7+
8+define('PLUGIN_RELINK_ADD_EXTERNAL_CLASS_TO_IMAGE_LINK', 0);
9+
10+// Rewrite rules
11+// 0. Default Type : http://example.com/index.php?Menu%2FSubMenu
12+// 1. MediaWiki Type : http://example.com/Menu%2FSubMenu
13+// 2. Directory Type : http://example.com/Menu/SubMenu/
14+// 3. HTML Type : http://example.com/Menu%2FSubMenu.html
15+// 4. Directory and HTML Type: http://example.com/Menu/SubMenu.html
16+//define('PLUGIN_RELINK_REWRITE_URL_TYPE', 0);
17+
18+function plugin_relink($html)
19+{
20+ return preg_replace_callback('/(\<a[^\>]+\>)(\<img)?/', 'plugin_relink_callback', $html);
21+}
22+
23+function plugin_relink_callback($matches)
24+{
25+ $atag = $matches[1];
26+ $img = empty($matches[2]) ? '' : $matches[2]; // image tag
27+
28+ preg_match_all('/([^\s^\"]+)=\"([^\"]+)\"/', $atag, $amatches);
29+ for ($i = 0, $count = count($amatches[0]); $i < $count; $i++) {
30+ $attr[$amatches[1][$i]] = $amatches[2][$i];
31+ }
32+ if (! isset($attr['href'])) return $atag . $img;
33+
34+ $parse_url = parse_url($attr['href']);
35+ $scheme = isset($parse_url['scheme']) ? $parse_url['scheme'] : '';
36+ $path = isset($parse_url['path']) ? $parse_url['path'] : '';
37+ $query = isset($parse_url['query']) ? $parse_url['query'] : '';
38+ $fragment = isset($parse_url['fragment']) ? '#' . $parse_url['fragment'] : '';
39+ $script = get_script_uri();
40+ $is_ext = $scheme && strncmp($attr['href'], $script, strlen($script)) !== 0;
41+
42+ if ($is_ext && (! $img || $img && PLUGIN_RELINK_ADD_EXTERNAL_CLASS_TO_IMAGE_LINK)) {
43+ switch ($scheme) {
44+ case 'mailto':
45+ $attr['class'] = 'mail';
46+ break;
47+ case 'file':
48+ $attr['class'] = 'file';
49+ break;
50+ default:
51+ $attr['class'] = 'external';
52+ }
53+ }
54+
55+ if (! $is_ext) {
56+ $attr['href'] = $path . ($query ? '?' . $query : '') . $fragment;
57+ if (isset($attr['rel'])) { unset($attr['rel']); }
58+ /*if (PLUGIN_RELINK_REWRITE_URL_TYPE && $query && strpos($query, '=') === FALSE) {
59+ $s_path = substr($path, 0, strrpos($path, '/') + 1); // cut index.php
60+ switch (PLUGIN_RELINK_REWRITE_URL_TYPE) {
61+ case 1:
62+ $attr['href'] = $s_path . $query . $fragment;
63+ break;
64+ case 2:
65+ $attr['href'] = $s_path . str_replace('%2F', '/', $query) . '/' . $fragment;
66+ break;
67+ case 3:
68+ $attr['href'] = $s_path . $query . '.html' . $fragment;
69+ break;
70+ case 4:
71+ $attr['href'] = $s_path . str_replace('%2F', '/', $query) . '.html' . $fragment;
72+ break;
73+ }
74+ }*/
75+ }
76+
77+ $ret = '<a';
78+ foreach ($attr as $key => $val) {
79+ $ret .= ' ' . $key . '="' . $val . '"';
80+ }
81+ $ret .= '>' . $img;
82+
83+ return $ret;
84+}
85+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/side.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/side.inc.php (revision 8)
@@ -0,0 +1,62 @@
1+<?php
2+/**
3+ * a copy of menu.inc.php v1.8
4+ *
5+ * @copyright PukiWiki Developers Team
6+ * @license GPL v2 or (at your option) any later version
7+ * @version $Id$
8+ */
9+
10+// サブメニューを使用する
11+define('SIDE_ENABLE_SUBMENU', FALSE);
12+
13+// サブメニューの名称
14+define('SIDE_SUBMENUBAR', 'SideBar');
15+
16+function plugin_side_convert()
17+{
18+ global $vars;
19+ static $side = NULL;
20+
21+ $num = func_num_args();
22+ if ($num > 0) {
23+ // Try to change default 'SideBar' page name (only)
24+ if ($num > 1) return '#side(): Zero or One argument needed';
25+ if ($side !== NULL) return '#side(): Already set: ' . htmlspecialchars($side);
26+ $args = func_get_args();
27+ if (! is_page($args[0])) {
28+ return '#side(): No such page: ' . htmlspecialchars($args[0]);
29+ } else {
30+ $side = $args[0]; // Set
31+ return '';
32+ }
33+
34+ } else {
35+ // Output sidebar page data
36+ $page = ($side === NULL) ? 'SideBar' : $side;
37+
38+ if (SIDE_ENABLE_SUBMENU) {
39+ $path = explode('/', strip_bracket($vars['page']));
40+ while(! empty($path)) {
41+ $_page = join('/', $path) . '/' . SIDE_SUBMENUBAR;
42+ if (is_page($_page)) {
43+ $page = $_page;
44+ break;
45+ }
46+ array_pop($path);
47+ }
48+ }
49+
50+ if (! is_page($page)) {
51+ return '';
52+ } else if ($vars['page'] == $page) {
53+ return '<!-- #side(): You already view ' . htmlspecialchars($page) . ' -->';
54+ } else {
55+ // Cut fixed anchors
56+ $sidetext = preg_replace('/^(\*{1,3}.*)\[#[A-Za-z][\w-]+\](.*)$/m', '$1$2', get_source($page));
57+
58+ return preg_replace('/<ul[^>]*>/', '<ul>', convert_html($sidetext));
59+ }
60+ }
61+}
62+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/monobook_popular.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/monobook_popular.inc.php (revision 8)
@@ -0,0 +1,15 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GPL 2
5+ * @version $Id$
6+ */
7+
8+function plugin_monobook_popular_convert()
9+{
10+ if (! exist_plugin_convert('popular')) return;
11+ $args = func_get_args();
12+ return str_replace('<div>', '<div class="menubox">',
13+ call_user_func_array('plugin_popular_convert', $args));
14+}
15+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/revert.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/revert.inc.php (revision 8)
@@ -0,0 +1,102 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
5+ * @version $Id$
6+ */
7+
8+define('PLUGIN_REVERT_USE_ADMIN_ONLY', FALSE);
9+
10+function plugin_revert_init()
11+{
12+ $messages['_revert_messages'] = array(
13+ 'adminpass' => '<p>管理者パスワードを入力してください。</p>',
14+ 'invalidpass' => '<p>管理者パスワードが一致しません。</p>',
15+ 'caution' => '<p><strong>警告: あなたはこのページの古い版を編集しています。' .
16+ 'もしこの文章を保存すると、この版以降に追加された全ての変更が無効になってしまいます。</strong></p>',
17+ 'button' => '送信',
18+ );
19+ set_plugin_messages($messages);
20+}
21+
22+function plugin_revert_action()
23+{
24+ global $vars, $post, $_revert_messages, $_msg_preview;
25+
26+ $pass = isset($post['pass']) ? $post['pass'] : FALSE;
27+ $page = isset($vars['page']) ? $vars['page'] : '';
28+ $age = isset($vars['age']) ? $vars['age'] : '';
29+
30+ if ($page === '') return;
31+ if (PLUGIN_REVERT_USE_ADMIN_ONLY && $pass === FALSE)
32+ return array('msg' => 'revert plugin', 'body' => plugin_revert_auth($page, $age));
33+ if (PLUGIN_REVERT_USE_ADMIN_ONLY && ! pkwk_login($pass))
34+ return array('msg' => 'revert plugin', 'body' => $_revert_messages['invalidpass']);
35+
36+ if ($age) {
37+ // get_backup($page, $age)の形式だと最後の世代だけ取得できず全世代取得になる
38+ $backups = get_backup($page);
39+ if (empty($backups[$age]['data']))
40+ return array('msg' => 'revert plugin', 'body' => 'Backup file not found.');
41+ $revertdata = $backups[$age]['data'];
42+ unset($backups);
43+ } else {
44+ $filename = DIFF_DIR . encode($page) . '.txt';
45+ if (! is_file($filename))
46+ return array('msg' => 'revert plugin', 'body' => 'Diff file not found.');
47+ $revertdata = array();
48+ foreach (file($filename) as $line)
49+ if (strpos($line, '+') !== 0) $revertdata[] = substr($line, 1);
50+ }
51+
52+ $vars['preview'] = $post['preview'] = 1;
53+ $vars['msg'] = $post['msg'] = join('', $revertdata);
54+ $vars['digest'] = $post['digest'] = is_page($page) ? md5(join('', get_source($page))) : FALSE;
55+ $_msg_preview = $_revert_messages['caution'] . "<br />\n" . $_msg_preview;
56+
57+ return do_plugin_action('edit');
58+}
59+
60+function plugin_revert_auth($page, $age)
61+{
62+ global $_revert_messages;
63+
64+ $script = get_script_uri();
65+ $s_page = htmlspecialchars($page);
66+ $s_age = htmlspecialchars($age);
67+
68+ return <<<EOD
69+{$_revert_messages['adminpass']}
70+<form action="$script" method="post">
71+ <div>
72+ <input type="hidden" name="cmd" value="revert" />
73+ <input type="hidden" name="page" value="$s_page" />
74+ <input type="hidden" name="age" value="$s_age" />
75+ <input type="password" name="pass" size="12" />
76+ <input type="submit" value="{$_revert_messages['button']}" />
77+ </div>
78+</form>
79+EOD;
80+}
81+
82+function plugin_revert_getlink()
83+{
84+ global $vars, $plugin, $cantedit;
85+ static $link;
86+
87+ if (isset($link)) return $link;
88+
89+ $page = isset($vars['page']) ? $vars['page'] : '';
90+ $age = isset($vars['age']) ? (int)$vars['age'] : 0;
91+ $link = '';
92+
93+ if ($page && ! in_array($page, $cantedit) &&
94+ (($plugin === 'backup' && $age > 0) || ($plugin === 'diff') || ($plugin === 'revert')))
95+ {
96+ $link = get_script_uri() . '?cmd=revert&amp;page=' . rawurlencode($page) .
97+ ($age ? '&amp;age=' . $age : '');
98+ }
99+
100+ return $link;
101+}
102+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/monobook_search.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/monobook_search.inc.php (revision 8)
@@ -0,0 +1,19 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
5+ * @version $Id$
6+ */
7+
8+function plugin_monobook_search_convert()
9+{
10+ if (! exist_plugin_convert('search')) return;
11+ $str = explode("\n", plugin_search_convert());
12+ $str = preg_grep('/value="OR"|\<label for\="|encode_hint/', $str, PREG_GREP_INVERT);
13+ $str = str_replace(
14+ array('type="radio"', 'type="text"', 'type="submit"', ' id="_p_search_AND"'),
15+ array('type="hidden"', 'class="searchInput" type="text"',
16+ 'class="searchButton" type="submit"', ''), $str);
17+ return "<div class=\"monobook_search\">\n" . implode("\n", $str) . "\n</div>";
18+}
19+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/monobook_toolbox.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/monobook_toolbox.inc.php (revision 8)
@@ -0,0 +1,67 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
5+ * @version $Id$
6+ */
7+
8+function plugin_monobook_toolbox_init()
9+{
10+ $messages['_monobook_toolbox_messages'] = array(
11+ 'add' => 'ページに追加',
12+ 'attachlist' => '添付ファイルの一覧',
13+ 'attachlistall' => '全添付ファイルの一覧',
14+ 'backup' => 'バックアップの表示',
15+ 'copy' => 'コピー',
16+ 'diff' => '変更個所の表示',
17+ 'edit' => 'ページの編集',
18+ 'filelist' => 'ファイル名の一覧',
19+ 'freeze' => '凍結',
20+ 'help' => 'ヘルプ',
21+ 'list' => '全ページ',
22+ 'new' => '新しいページの作成',
23+ 'rdf' => 'RDF',
24+ 'recent' => '最近更新したページ',
25+ 'refer' => '外部のリンク元',
26+ 'related' => 'リンク元',
27+ 'reload' => 'リロード',
28+ 'rename' => 'ページ名の変更',
29+ 'rss' => 'RSS',
30+ 'rss10' => 'RSS 1.0',
31+ 'rss20' => 'RSS 2.0',
32+ 'search' => '検索',
33+ 'source' => 'ソースの表示',
34+ 'top' => 'トップページ',
35+ 'trackback' => 'トラックバック',
36+ 'unfreeze' => '凍結解除',
37+ 'upload' => 'アップロード',
38+ 'yetlist' => '投稿が望まれているページ',
39+ );
40+ set_plugin_messages($messages);
41+}
42+
43+function plugin_monobook_toolbox_convert()
44+{
45+ global $vars, $_monobook_toolbox_messages;
46+
47+ $items = func_get_args();
48+ if (empty($items)) $items = array('add', 'backup', 'copy', 'diff', 'edit', 'filelist', 'freeze', 'help',
49+ 'list', 'new', 'rdf', 'recent', 'refer', 'related', 'reload', 'rename', 'rss', 'rss10', 'rss20',
50+ 'search', 'source', 'top', 'trackback', 'upload', 'attachlist', 'attachlistall', 'yetlist');
51+
52+ if (! exist_plugin('monobook_getlink')) return;
53+ $body = '<div class="toolbox"><ul>';
54+ foreach ($items as $item) {
55+ if (! $item && $body !== '<div class="toolbox"><ul>') {
56+ $body .= '</ul><hr /><ul>';
57+ continue;
58+ }
59+ $link = plugin_monobook_getlink($item, $_monobook_toolbox_messages);
60+ if ($link) $body .= '<li>' . $link . '</li>';
61+ }
62+ if (substr($body, -15) === '</ul><hr /><ul>') $body = substr($body, 0, -15);
63+ $body .= '</ul></div>';
64+
65+ return $body;
66+}
67+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/monobook_login.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/monobook_login.inc.php (revision 8)
@@ -0,0 +1,69 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
5+ * @version $Id$
6+ */
7+
8+function plugin_monobook_login_init()
9+{
10+ $messages['_monobook_login_messages'] = array(
11+ 'login' => 'ログインまたはアカウント作成',
12+ 'auth_failed' => '認証に失敗しました',
13+ );
14+ set_plugin_messages($messages);
15+}
16+
17+function plugin_monobook_login_action()
18+{
19+ global $vars, $auth_users, $_msg_auth, $_monobook_login_messages;
20+
21+ if (! isset($_SERVER['PHP_AUTH_USER']) && ! isset($_SERVER['PHP_AUTH_PW']) &&
22+ isset($_SERVER['HTTP_AUTHORIZATION']))
23+ {
24+ list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) =
25+ explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
26+ }
27+
28+ if (PKWK_READONLY || ! isset($_SERVER['PHP_AUTH_USER']) ||
29+ ! isset($auth_users[$_SERVER['PHP_AUTH_USER']]) || ! isset($_SERVER['PHP_AUTH_PW']) ||
30+ pkwk_hash_compute($_SERVER['PHP_AUTH_PW'], $auth_users[$_SERVER['PHP_AUTH_USER']]) !==
31+ $auth_users[$_SERVER['PHP_AUTH_USER']])
32+ {
33+ pkwk_common_headers();
34+ header('WWW-Authenticate: Basic realm="' . $_msg_auth . '"');
35+ header('HTTP/1.0 401 Unauthorized');
36+ $msg = $_monobook_login_messages['auth_failed'];
37+ return array('msg' => $msg, 'body' => '<p>' . $msg . '</p>');
38+ } elseif (isset($vars['refer']) && is_page($vars['refer'])) {
39+ header('Location: ' . get_script_uri() . '?' . rawurlencode($vars['refer']));
40+ }
41+
42+ return;
43+}
44+
45+function plugin_monobook_login_inline()
46+{
47+ global $vars, $_monobook_login_messages;
48+
49+ if (! isset($_SERVER['PHP_AUTH_USER']) && ! isset($_SERVER['PHP_AUTH_PW']) &&
50+ isset($_SERVER['HTTP_AUTHORIZATION']))
51+ {
52+ list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) =
53+ explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
54+ }
55+
56+ $auth_usr = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
57+ $r_page = empty($vars['page']) ? '' : '&amp;page=' . rawurlencode($vars['page']);
58+
59+ $list_id = $auth_usr ? ' id="userpage"' : ' id="login"';
60+ $list_class = ($auth_usr && $auth_usr === $vars['page']) ? ' class="active"' : '';
61+ $a_class = ($auth_usr && ! is_page($auth_usr)) ? ' class="new"' : '';
62+ $title = $auth_usr ? htmlspecialchars($auth_usr) : $_monobook_login_messages['login'];
63+ $uri = get_script_uri() . '?' .
64+ ($auth_usr ? rawurlencode($auth_usr) : 'cmd=monobook_login' . $r_page);
65+
66+ return '<li' . $list_id . $list_class . '><a' . $a_class . ' href="' . $uri . '">' .
67+ $title . '</a></li>';
68+}
69+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/plugin/monobook_getlink.inc.php (nonexistent)
+++ monobook/tags/monobook-1.0/plugin/monobook_getlink.inc.php (revision 8)
@@ -0,0 +1,217 @@
1+<?php
2+/**
3+ * @author lunt
4+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
5+ * @version $Id$
6+ */
7+
8+function plugin_monobook_getlink($tab, $message, $check_selected = FALSE)
9+{
10+ global $vars, $plugin, $_LINK;
11+ global $do_backup, $function_freeze, $referer, $trackback;
12+ global $defaultpage, $whatsnew, $help_page, $cantedit;
13+ static $page, $is_page, $is_pagename, $is_editable, $is_freeze, $has_refer, $request_uri;
14+
15+ if (is_null($page)) {
16+ $page = isset($vars['page']) ? $vars['page'] : '';
17+ $is_page = is_page($page);
18+ $is_pagename = is_pagename($page);
19+ $is_editable = is_editable($page);
20+ $is_freeze = is_freeze($page);
21+ $has_refer = isset($vars['refer']) && is_pagename($vars['refer']);
22+ $request_uri = get_script_uri() . str_replace('&', '&amp;', strrchr($_SERVER['REQUEST_URI'], '?'));
23+ }
24+
25+ if ($tab === 'nowplugin') {
26+ $tab = $plugin;
27+ if ($plugin === 'attach') {
28+ if (isset($vars['pcmd']) && $vars['pcmd'] === 'info') {
29+ $tab = 'attachinfo';
30+ } elseif (isset($vars['pcmd']) && $vars['pcmd'] === 'list') {
31+ $tab = $has_refer ? 'attachlist' : 'attachlistall';
32+ } else {
33+ $tab = 'upload';
34+ }
35+ }
36+ }
37+
38+ $link = $title = '';
39+ $selected = 0;
40+
41+ switch ($tab) {
42+ case 'add':
43+ case 'edit':
44+ if (PKWK_READONLY || ! $is_editable) break;
45+ $link = $_LINK[$tab];
46+ $title = $message[$tab];
47+ break;
48+
49+ case 'attach':
50+ case 'upload':
51+ if (PKWK_READONLY || ! ini_get('file_uploads') || ! $is_page || ! $is_editable) break;
52+ $link = $_LINK['upload'];
53+ $title = $message['upload'];
54+ if ($plugin === 'attach' && isset($vars['pcmd']) && $vars['pcmd'] === 'upload')
55+ $selected = 1;
56+ break;
57+
58+ case 'attachinfo':
59+ $link = $request_uri;
60+ $title = $message['attachinfo'];
61+ $selected = 1;
62+ break;
63+
64+ case 'attachlist':
65+ if ($is_pagename) $link = get_script_uri() . '?plugin=attach&amp;pcmd=list&amp;refer=' .
66+ rawurlencode($page);
67+ elseif ($plugin === 'attach' && isset($vars['pcmd']) &&
68+ $vars['pcmd'] === 'list' && $has_refer)
69+ {
70+ $link = $request_uri;
71+ $selected = 1;
72+ }
73+ $title = $message['attachlist'];
74+ break;
75+
76+ case 'attachlistall':
77+ $link = get_script_uri() . '?plugin=attach&amp;pcmd=list';
78+ $title = $message['attachlistall'];
79+ if ($plugin === 'attach' && isset($vars['pcmd']) &&
80+ $vars['pcmd'] === 'list' && ! $has_refer)
81+ {
82+ $selected = 1;
83+ }
84+ break;
85+
86+ case 'backlink':
87+ case 'related':
88+ if (! $is_pagename) break;
89+ $link = get_script_uri() . '?plugin=related&amp;page=' . rawurlencode($page);
90+ $title = $message['related'];
91+ $tab = 'related';
92+ break;
93+
94+ case 'backup':
95+ if (! $do_backup || ! $is_pagename) break;
96+ $link = $_LINK['backup'];
97+ $title = $message['backup'];
98+ break;
99+
100+ case 'copy':
101+ case 'template':
102+ if (PKWK_READONLY) break;
103+ if ($is_page) $link = $_LINK['copy'];
104+ elseif ($plugin === 'template')
105+ $link = $request_uri;
106+ $title = $message['copy'];
107+ $tab = 'template';
108+ break;
109+
110+ case 'diff':
111+ if (! $is_pagename) break;
112+ $link = $_LINK['diff'];
113+ $title = $message['diff'];
114+ break;
115+
116+ case 'filelist':
117+ case 'help':
118+ case 'list':
119+ case 'rdf':
120+ case 'recent':
121+ case 'rss':
122+ case 'rss10':
123+ case 'rss20':
124+ case 'search':
125+ case 'top':
126+ $link = $_LINK[$tab];
127+ $title = $message[$tab];
128+ break;
129+
130+ case 'freeze':
131+ case 'unfreeze':
132+ if (PKWK_READONLY || ! $function_freeze || ! $is_page || in_array($page, $cantedit)) break;
133+ $tab = $is_freeze ? 'unfreeze' : 'freeze';
134+ $link = $_LINK[$tab];
135+ $title = $message[$tab];
136+ break;
137+
138+ case 'new':
139+ case 'newpage':
140+ if (PKWK_READONLY) break;
141+ $link = $_LINK['new'];
142+ $title = $message['new'];
143+ $tab = 'newpage';
144+ break;
145+
146+ case 'read':
147+ $link = $_LINK['reload'];
148+ $title = $message['article'];
149+ break;
150+
151+ case 'refer':
152+ case 'referer':
153+ if (! $referer || ! $is_pagename) break;
154+ $link = $_LINK['refer'];
155+ $title = $message['refer'];
156+ $tab = 'referer';
157+ break;
158+
159+ case 'reload':
160+ if (! $is_page) break;
161+ $link = $_LINK['reload'];
162+ $title = $message['reload'];
163+ break;
164+
165+ case 'rename':
166+ if (PKWK_READONLY) break;
167+ if ($is_page && $is_editable) $link = $_LINK['rename'];
168+ elseif ($plugin === 'rename')
169+ $link = $request_uri;
170+ $title = $message['rename'];
171+ break;
172+
173+ case 'revert':
174+ $link = plugin_revert_getlink();
175+ $link = $link ? $link : $request_uri;
176+ $title = $message['revert'];
177+ break;
178+
179+ case 'secedit':
180+ $link = $request_uri;
181+ $title = $message['edit'];
182+ break;
183+
184+ case 'source':
185+ if (! $is_page || PKWK_SAFE_MODE) break;
186+ $link = get_script_uri() . '?cmd=source&amp;page=' . rawurlencode($page);
187+ $title = $message['source'];
188+ break;
189+
190+ case 'trackback':
191+ if (! $trackback || ! $is_pagename) break;
192+ $link = $_LINK['trackback'];
193+ $title = $message['trackback'] . ' (' . tb_count($page) . ')';
194+ break;
195+
196+ case 'yetlist':
197+ if (PKWK_READONLY) break;
198+ $link = get_script_uri() . '?plugin=yetlist';
199+ $title = $message['yetlist'];
200+ break;
201+ }
202+
203+ if ($link) $link = '<a href="' . $link . '">' . $title . '</a>';
204+
205+ if (! $check_selected) return $link;
206+
207+ if (($plugin !== 'attach' && $plugin === $tab) ||
208+ ($page === $defaultpage && $tab === 'top') ||
209+ ($page === $whatsnew && $tab === 'recent') ||
210+ ($page === $help_page && $tab === 'help'))
211+ {
212+ $selected = 1;
213+ }
214+
215+ return array($link, $selected);
216+}
217+?>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/skin/monobook/monobook.css (nonexistent)
+++ monobook/tags/monobook-1.0/skin/monobook/monobook.css (revision 8)
@@ -0,0 +1,1003 @@
1+/* -------------------- Initialization -------------------- */
2+* {
3+ margin: 0;
4+ padding: 0;
5+}
6+
7+body {
8+ font: x-small sans-serif;
9+ background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
10+ color: black;
11+}
12+
13+/* IE6 + EUC */
14+* html body {
15+ font: xx-small Arial, sans-serif;
16+}
17+
18+/* IE7 + EUC */
19+*+html body {
20+ font: x-small Arial, sans-serif;
21+}
22+
23+/* Opera8 */
24+*+html > /**/body {
25+ font: x-small sans-serif;
26+}
27+
28+/* -------------------- Layout -------------------- */
29+#globalWrapper {
30+ font-size: 127%;
31+ width: 100%;
32+}
33+
34+#menubar {
35+ width: 11.6em;
36+ float: left;
37+ margin: 90px -11.6em 0 0;
38+}
39+
40+#mainColumnWrapper {
41+ width: 100%;
42+ float: left;
43+}
44+
45+#main-column {
46+ margin-left: 12.2em;
47+}
48+
49+#footer {
50+ width: 100%;
51+}
52+
53+/* -------------------- Text Module -------------------- */
54+
55+/*blockquote {
56+ font-family: Times, "Times New Roman", serif;
57+ font-style: italic;
58+}*/
59+
60+blockquote {
61+ margin-left:32px;
62+}
63+
64+code {
65+ background-color: #f9f9f9;
66+}
67+
68+em {
69+ font-style: italic;
70+}
71+
72+h1, h2, h3, h4, h5, h6 {
73+ color: #000;
74+ background: none;
75+ font-weight: normal;
76+ margin: 0;
77+ padding-top: .5em;
78+ padding-bottom: .17em;
79+ border-bottom: 1px solid #aaa;
80+}
81+h1 { font-size: 188%; }
82+h2 { font-size: 150%; }
83+h3, h4, h5, h6 {
84+ border-bottom: none;
85+ font-weight: bold;
86+}
87+h3 { font-size: 132%; }
88+h4 { font-size: 116%; }
89+h5 { font-size: 100%; }
90+h6 { font-size: 80%; }
91+
92+p {
93+ margin: .4em 0 .5em;
94+ line-height: 1.5em;
95+}
96+
97+pre {
98+ margin: 1em 0;
99+ padding: 1em;
100+ border: 1px dashed #2f6fab;
101+ color: black;
102+ background-color: #f9f9f9;
103+ line-height: 1.1em;
104+ overflow: auto;
105+}
106+
107+/* IE6 */
108+* html pre {
109+ width: 100%;
110+}
111+
112+/* -------------------- Hypertext Module -------------------- */
113+
114+a {
115+ text-decoration: none;
116+ color: #002bb8;
117+ background: none no-repeat;
118+}
119+
120+a:visited {
121+ color: #5a3696;
122+}
123+
124+a:active {
125+ color: #faa700;
126+}
127+
128+a:hover {
129+ text-decoration: underline;
130+}
131+
132+a.external {
133+ background: url(external.png) center right no-repeat;
134+ padding-right: 13px;
135+}
136+
137+a.note_super {
138+ font-size: 80%;
139+ line-height: 1em;
140+ vertical-align: super;
141+}
142+
143+/* -------------------- List Module -------------------- */
144+
145+dl {
146+ margin-top: .2em;
147+ margin-bottom: .5em;
148+}
149+
150+dt {
151+ font-weight: bold;
152+ margin-bottom: .1em;
153+}
154+
155+dd {
156+ line-height: 1.5em;
157+ margin-left: 2em;
158+ margin-bottom: .1em;
159+}
160+
161+ol {
162+ line-height: 1.5em;
163+ margin: .3em 0 0 3.2em;
164+ padding: 0;
165+ list-style-image: none;
166+}
167+
168+ul {
169+ line-height: 1.5em;
170+ list-style-type: square;
171+ margin: .3em 0 0 1.5em;
172+ padding: 0;
173+ list-style-image: url(bullet.gif);
174+}
175+
176+li {
177+ margin-bottom: .1em;
178+}
179+
180+ol.list1 { list-style-type: decimal; }
181+ol.list2 { list-style-type: lower-roman; }
182+ol.list3 { list-style-type: lower-alpha; }
183+
184+/* -------------------- Text Extension Module -------------------- */
185+
186+hr {
187+ height: 1px;
188+ color: #aaa;
189+ background-color: #aaa;
190+ border: 0;
191+ margin: .2em 0;
192+}
193+
194+hr.note_hr {
195+ margin: 1em 0 .5em;
196+}
197+
198+/* -------------------- Forms Module -------------------- */
199+
200+form {
201+ border: none;
202+ margin: 0;
203+}
204+
205+select {
206+ vertical-align: top;
207+}
208+
209+textarea {
210+ padding: .1em;
211+}
212+
213+.edit_form { clear: both; }
214+
215+.edit_form textarea {
216+ width: 100%;
217+}
218+
219+/* -------------------- Table Module -------------------- */
220+
221+thead td.style_td,
222+tfoot td.style_td {
223+ color: inherit;
224+ background-color: #f2f2f2;
225+}
226+thead th.style_th,
227+tfoot th.style_th {
228+ color: inherit;
229+ background-color: #d8dde8;
230+}
231+.style_table {
232+ padding: 0px;
233+ border: 0px;
234+ margin: auto;
235+ text-align: left;
236+ font-size: 100%;
237+ color: inherit;
238+ background-color: #aaa;
239+}
240+.style_th {
241+ padding: 5px;
242+ margin: 1px;
243+ text-align: center;
244+ color: inherit;
245+ background-color: #eee;
246+}
247+.style_td {
248+ padding: 5px;
249+ margin: 1px;
250+ color: inherit;
251+ background-color: #f9f9f9;
252+}
253+
254+div.ie5 { text-align: center; }
255+
256+/* -------------------- Image Module -------------------- */
257+
258+img {
259+ border: none;
260+ vertical-align: middle;
261+}
262+
263+p img {
264+ margin: 0;
265+}
266+
267+/* -------------------- Main Content Area -------------------- */
268+#main-column {
269+ line-height: 1.5em;
270+}
271+
272+#content {
273+ background: #fff;
274+ font-size: 118%;
275+ border: 1px solid #aaa;
276+ border-right: none;
277+ padding: 0 .85em .75em;
278+ position: relative;
279+ z-index: 1;
280+}
281+
282+/* IE6 */
283+* html body #content {
284+ height: 1%;
285+}
286+
287+/* IE7 */
288+*+html body #content {
289+ height: 1%;
290+}
291+
292+/* Opera8 */
293+*+html > /**/body #content {
294+ height: auto;
295+}
296+
297+.jumpmenu {
298+ display: none;
299+}
300+
301+#content h1, #content h2 {
302+ margin-bottom: .6em;
303+}
304+
305+#content h3, #content h4, #content h5 {
306+ margin-bottom: .3em;
307+}
308+
309+#content h1.firstHeading {
310+ margin-bottom: .1em;
311+ line-height: 1.2em;
312+ font-size: 159.5%; /* */
313+ padding-top: .52em; /* */
314+ margin-bottom: .1em;
315+}
316+
317+#contentSub {
318+ font-size: 84%;
319+ line-height: 1.2em;
320+ margin: 0 0 1.4em 1em;
321+ color: #7d7d7d;
322+ width: auto;
323+}
324+
325+span.noexists {
326+ color: #c20;
327+}
328+
329+.small {
330+ font-size: 80%;
331+}
332+
333+span.size1 {
334+ font-size: xx-small;
335+ line-height: 130%;
336+ text-indent: 0px;
337+ display: inline;
338+}
339+span.size2 {
340+ font-size: x-small;
341+ line-height: 130%;
342+ text-indent: 0px;
343+ display: inline;
344+}
345+span.size3 {
346+ font-size: small;
347+ line-height: 130%;
348+ text-indent: 0px;
349+ display: inline;
350+}
351+span.size4 {
352+ font-size: medium;
353+ line-height: 130%;
354+ text-indent: 0px;
355+ display: inline;
356+}
357+span.size5 {
358+ font-size: large;
359+ line-height: 130%;
360+ text-indent: 0px;
361+ display: inline;
362+}
363+span.size6 {
364+ font-size: x-large;
365+ line-height: 130%;
366+ text-indent: 0px;
367+ display: inline;
368+}
369+span.size7 {
370+ font-size: xx-large;
371+ line-height: 130%;
372+ text-indent: 0px;
373+ display: inline;
374+}
375+
376+strong.word0 {
377+ background-color: #FFFF66;
378+ color: black;
379+}
380+strong.word1 {
381+ background-color: #A0FFFF;
382+ color: black;
383+}
384+strong.word2 {
385+ background-color: #99FF99;
386+ color: black;
387+}
388+strong.word3 {
389+ background-color: #FF9999;
390+ color: black;
391+}
392+strong.word4 {
393+ background-color: #FF66FF;
394+ color: black;
395+}
396+strong.word5 {
397+ background-color: #880000;
398+ color: white;
399+}
400+strong.word6 {
401+ background-color: #00AA00;
402+ color:white;
403+}
404+strong.word7 {
405+ background-color: #886800;
406+ color: white;
407+}
408+strong.word8 {
409+ background-color: #004699;
410+ color: white;
411+}
412+strong.word9 {
413+ background-color: #990099;
414+ color: white;
415+}
416+
417+#note {}
418+
419+#preview {}
420+
421+/* -------------------- Logo -------------------- */
422+
423+#logo a {
424+ position: absolute;
425+ top: 0;
426+ left: 0;
427+ z-index: 3;
428+ display: block;
429+ height: 90px;
430+ width: 12.2em;
431+ background-position: 45% 50%;
432+ background-repeat: no-repeat;
433+ text-decoration: none;
434+ overflow: visible;
435+}
436+
437+/* -------------------- Navigation Tab -------------------- */
438+
439+#navigator {
440+ font-size: 95%;
441+ margin-top: 1.8em;
442+}
443+
444+#navigator ul {
445+ margin-left: 1.1em;
446+ font-size: 95%;
447+ list-style: none;
448+ line-height: 1.2em;
449+ white-space: nowrap;
450+}
451+
452+/* IE6 */
453+* html #navigator ul {
454+ margin-bottom: .2em;
455+}
456+
457+/* IE7 + Opera8 */
458+*+html #navigator ul {
459+ margin-bottom: .2em;
460+}
461+
462+#navigator ul li {
463+ display: inline;
464+ margin: 0 .6em 0 0;
465+ border: 1px solid #aaa;
466+ border-bottom: none;
467+ background-color: #fff;
468+ padding: .2em 0 .3em;
469+}
470+
471+#navigator ul li a {
472+ color: #002bb8;
473+ background-color: #fff;
474+ padding: .1em .8em .4em;
475+ text-decoration: none;
476+ text-transform: lowercase;
477+ position: relative;
478+ z-index: 0;
479+}
480+
481+#navigator ul li.noexists a {
482+ color: #c20;
483+}
484+
485+/* IE6 */
486+* html #navigator ul li a {
487+ padding-top: 0;
488+}
489+
490+#navigator ul li.selected {
491+ border-color: #fabd23;
492+ font-weight: bold;
493+}
494+
495+#navigator ul li.selected a {
496+ padding: .1em 1em .4em;
497+ z-index: 2;
498+}
499+
500+/* IE6 */
501+* html #navigator ul li.selected a {
502+ padding-top: 0;
503+}
504+
505+#navigator ul li a:hover {
506+ border-bottom: 0 solid;
507+ z-index: 2;
508+}
509+
510+#navigator ul li#wn_note,
511+#navigator ul li#separate {
512+ margin-right: 1.9em;
513+}
514+
515+#navigator ul.specialbg li,
516+#navigator ul.specialbg li a,
517+#main-column div.specialbg {
518+ background-color: #fbfcff;
519+}
520+
521+/* -------------------- MenuBar -------------------- */
522+
523+#menubar {
524+ /*word-break: break-all;*/
525+ overflow: hidden;
526+ position: relative;
527+}
528+
529+#menubar div.menubox,
530+#menubar div.monobook_recent,
531+#menubar div.toolbox {
532+ font-size: 95%;
533+ background-color: #fff;
534+ border: 1px solid #aaa;
535+ padding: 0 .8em .3em .5em;
536+ margin-bottom: .5em;
537+}
538+
539+#menubar ul {
540+ font-size: 95%;
541+ line-height: 1.5em;
542+}
543+
544+#menubar li {
545+ margin: 0;
546+}
547+
548+/*#menubar div.menubox a {
549+ display: block;
550+}*/
551+
552+#menubar h2,
553+#menubar h3,
554+#menubar h4,
555+#menubar h5 {
556+ display: inline;
557+ font-size: 91%;
558+ font-weight: normal;
559+ height: 1em;
560+ padding: 0 1em 0 .5em;
561+ border: none;
562+ text-transform: lowercase;
563+ white-space: nowrap;
564+}
565+
566+/* -------------------- Footer -------------------- */
567+
568+#footer {
569+ margin-bottom: 1em;
570+ background-color: #fff;
571+ padding: .3em 0 1.5em;
572+ border-top: 1px solid #fabd23;
573+ border-bottom: 1px solid #fabd23;
574+ text-align: center;
575+ font-size: 90%;
576+}
577+
578+#footer #f-officialico {
579+ float: left;
580+ width: 104px;
581+}
582+
583+#footer #f-officialdevico {
584+ float: right;
585+ width: 104px;
586+}
587+
588+#footer img {
589+ border: none;
590+}
591+
592+#footer li {
593+ display: inline;
594+ margin: 0 1.3em;
595+ white-space: nowrap;
596+}
597+
598+/* IE6 */
599+* html body #footer li {
600+ white-space: normal;
601+}
602+
603+/* IE7 */
604+*+html body #footer li {
605+ white-space: normal;
606+}
607+
608+/* Opera8 */
609+*+html > /**/body #footer li {
610+ white-space: nowrap;
611+}
612+
613+/* -------------------- personal -------------------- */
614+
615+#personal {
616+ font-size: 95%;
617+ width: 100%;
618+ white-space: nowrap;
619+ overflow: visible;
620+ line-height: 1.2em;
621+ position: absolute;
622+ top: 0;
623+ right: 0;
624+}
625+
626+#personal ul {
627+ font-size: 95%;
628+ line-height: 1em;
629+ color: #2f6fab;
630+ margin: 0;
631+ padding: 0 2em 0 3em;
632+ list-style-type: none;
633+ list-style-image: none;
634+ text-align: right;
635+}
636+
637+#personal li {
638+ display: inline;
639+ margin-left: 1em;
640+ line-height: 1.2em;
641+}
642+
643+#personal li#login,
644+#personal li#userpage {
645+ padding-left: 20px;
646+ background: transparent url(user.gif) left top no-repeat;
647+}
648+
649+#personal li.active {
650+ font-weight: bold;
651+}
652+
653+#personal a {
654+ color: #005896;
655+ text-decoration: none;
656+ padding-bottom: .2em;
657+}
658+
659+#personal a:hover {
660+ background-color: #fff;
661+}
662+
663+#personal a.new {
664+ color: #A55858;
665+}
666+
667+#personal li.active a:hover {
668+ background-color: transparent;
669+}
670+
671+/* -------------------- Plugin -------------------- */
672+
673+/* aname.inc.php */
674+.anchor_super {
675+ font-size: 0;
676+}
677+
678+/* Opera8 for jump to anchor */
679+*+html > /**/body .anchor_super {
680+ vertical-align: super;
681+}
682+
683+/* calendar*.inc.php */
684+.style_calendar {
685+ padding: 0;
686+ margin: 0;
687+ background-color: #fff;
688+ text-align: center;
689+ border-collapse: collapse;
690+}
691+
692+.style_calendar td {
693+ border: 2px solid #aaa;
694+ font-size: .85em;
695+ padding: .35em;
696+}
697+
698+.style_td_week {
699+ background-color: #eee;
700+}
701+
702+.style_td_today {
703+ background-color: #cfc;
704+}
705+
706+.style_calendar a.small {
707+ font-size: 1em;
708+}
709+
710+/* calendar_viewer.inc.php */
711+div.calendar_viewer {
712+ color: inherit;
713+ background-color: inherit;
714+ margin-top: 20px;
715+ margin-bottom: 10px;
716+ padding-bottom: 10px;
717+}
718+span.calendar_viewer_left {
719+ color: inherit;
720+ background-color: inherit;
721+ float: left;
722+}
723+span.calendar_viewer_right {
724+ color: inherit;
725+ background-color: inherit;
726+ float: right;
727+}
728+
729+/* clear.inc.php */
730+.clear {
731+ margin: 0px;
732+ clear: both;
733+}
734+
735+/* counter.inc.php */
736+div.counter { font-size: 95%; }
737+
738+/* contentsx.inc.php */
739+table.toc {
740+ border: 1px solid #aaa;
741+ background-color: #f9f9f9;
742+ font-size: 95%;
743+ padding: 5px 5px 5px 0;
744+ margin-bottom: .6em; /* */
745+}
746+
747+table.toc td.toctitle {
748+ text-align: center;
749+ font-weight: bold;
750+ padding: .1em 0;
751+}
752+
753+table.toc ul.contentsx {
754+ margin: 0 0 0 1.2em;
755+}
756+
757+table.toc ul {
758+ margin: 0 0 0 2em;
759+}
760+
761+/* diff.inc.php */
762+span.diff_added {
763+ color: blue;
764+ background-color: inherit;
765+}
766+span.diff_removed {
767+ color: red;
768+ background-color: inherit;
769+}
770+
771+/* include.inc.php */
772+h5.side_label {}
773+
774+/* monobook_recent.inc.php */
775+#menubar div.monobook_recent {
776+ padding-top: .3em;
777+}
778+
779+#menubar div.monobook_recent strong {
780+ font-size: 95%;
781+}
782+
783+#menubar div.monobook_recent ul {
784+ margin-top: 0;
785+}
786+
787+/* monobook_search.inc.php */
788+#menubar div.monobook_search {
789+ background-color: #fff;
790+ border: 1px solid #aaa;
791+ padding: .5em .4em .4em;
792+ text-align: center;
793+ font-size: 95%;
794+ margin-bottom: .5em;
795+}
796+
797+.monobook_search input.searchInput {
798+ font-size: 95%;
799+ width: 10.9em;
800+ padding: 1px 0;
801+}
802+
803+.monobook_search input.searchButton {
804+ font-size: 95%;
805+ /*font-weight: bold;*/
806+ margin-top: 1px;
807+ padding: 0 .5em;
808+}
809+
810+/* monobook_toolbox.inc.php */
811+#menubar div.toolbox a {
812+ display: block;
813+}
814+
815+/* navi.inc.php */
816+ul.navi {
817+ margin: 0;
818+ padding: 0;
819+ text-align: center;
820+}
821+
822+ul.navi li {
823+ display: inline;
824+}
825+
826+li.navi_none {
827+ float: none;
828+ text-align: center;
829+}
830+
831+li.navi_left {
832+ float: left;
833+ text-align: left;
834+}
835+
836+li.navi_right {
837+ float: right;
838+ text-align: right;
839+}
840+
841+/* new.inc.php */
842+/*span.comment_date { font-size: x-small; }*/
843+span.new1 {
844+ color: red;
845+ background-color: transparent;
846+ font-size: x-small;
847+}
848+span.new5 {
849+ color: green;
850+ background-color: transparent;
851+ font-size: xx-small;
852+}
853+
854+/* secedit.inc.php */
855+.editsection {
856+ float: right;
857+ margin-left: 5px;
858+}
859+
860+h1 .editsection { font-size: 53%; }
861+h2 .editsection { font-size: 67%; }
862+h3 .editsection { font-size: 76%; font-weight: normal; }
863+h4 .editsection { font-size: 86%; font-weight: normal; }
864+h5 .editsection { font-weight: normal; }
865+h6 .editsection { font-size: 125%; font-weight: normal; }
866+
867+/* popular.inc.php */
868+span.counter {}
869+
870+/* ref.inc.php */
871+div.img_margin {
872+ margin-left: 1.4em;
873+ margin-right: 1.4em;
874+}
875+
876+/* tag.inc.php */
877+span.tag {
878+ display: block;
879+ margin-top: 1em;
880+ border: 1px solid #aaa;
881+ background-color: #f9f9f9;
882+ padding: .8em 5px;
883+ width: auto;
884+}
885+
886+/* IE6 */
887+* html body span.tag {
888+ width: 100%;
889+}
890+
891+span.tag a {
892+ padding-right: .4em;
893+ border-right: 1px solid #000;
894+}
895+
896+.htmltagcloud {
897+ font-size: 12px;
898+ line-height: 340%;
899+}
900+
901+.tagcloud0 { font-size: 100%;}
902+.tagcloud1 { font-size: 110%;}
903+.tagcloud2 { font-size: 120%;}
904+.tagcloud3 { font-size: 130%;}
905+.tagcloud4 { font-size: 140%;}
906+.tagcloud5 { font-size: 150%;}
907+.tagcloud6 { font-size: 160%;}
908+.tagcloud7 { font-size: 170%;}
909+.tagcloud8 { font-size: 180%;}
910+.tagcloud9 { font-size: 190%;}
911+.tagcloud10 { font-size: 200%;}
912+.tagcloud11 { font-size: 210%;}
913+.tagcloud12 { font-size: 220%;}
914+.tagcloud13 { font-size: 230%;}
915+.tagcloud14 { font-size: 240%;}
916+.tagcloud15 { font-size: 250%;}
917+.tagcloud16 { font-size: 260%;}
918+.tagcloud17 { font-size: 270%;}
919+.tagcloud18 { font-size: 280%;}
920+.tagcloud19 { font-size: 290%;}
921+.tagcloud20 { font-size: 300%;}
922+.tagcloud21 { font-size: 310%;}
923+.tagcloud22 { font-size: 320%;}
924+.tagcloud23 { font-size: 330%;}
925+.tagcloud24 { font-size: 340%;}
926+
927+#menubar .htmltagcloud {
928+ font-size: 10px;
929+ line-height: 2em;
930+ background-color: #fff;
931+ border: 1px solid #aaa;
932+}
933+
934+#menubar .htmltagcloud span a {
935+ margin: 0 2px;
936+ padding-bottom: 1em;
937+}
938+
939+#menubar .tagcloud0 { font-size: 100%;}
940+#menubar .tagcloud1 { font-size: 105%;}
941+#menubar .tagcloud2 { font-size: 110%;}
942+#menubar .tagcloud3 { font-size: 115%;}
943+#menubar .tagcloud4 { font-size: 120%;}
944+#menubar .tagcloud5 { font-size: 125%;}
945+#menubar .tagcloud6 { font-size: 130%;}
946+#menubar .tagcloud7 { font-size: 135%;}
947+#menubar .tagcloud8 { font-size: 140%;}
948+#menubar .tagcloud9 { font-size: 145%;}
949+#menubar .tagcloud10 { font-size: 150%;}
950+#menubar .tagcloud11 { font-size: 155%;}
951+#menubar .tagcloud12 { font-size: 160%;}
952+#menubar .tagcloud13 { font-size: 165%;}
953+#menubar .tagcloud14 { font-size: 170%;}
954+#menubar .tagcloud15 { font-size: 175%;}
955+#menubar .tagcloud16 { font-size: 180%;}
956+#menubar .tagcloud17 { font-size: 185%;}
957+#menubar .tagcloud18 { font-size: 190%;}
958+#menubar .tagcloud19 { font-size: 195%;}
959+#menubar .tagcloud20 { font-size: 200%;}
960+#menubar .tagcloud21 { font-size: 205%;}
961+#menubar .tagcloud22 { font-size: 210%;}
962+#menubar .tagcloud23 { font-size: 215%;}
963+#menubar .tagcloud24 { font-size: 220%;}
964+
965+.tagcloud0,
966+.tagcloud1,
967+.tagcloud2,
968+.tagcloud3,
969+.tagcloud4,
970+.tagcloud5,
971+.tagcloud6,
972+.tagcloud7,
973+.tagcloud8,
974+.tagcloud9,
975+.tagcloud10,
976+.tagcloud11,
977+.tagcloud12,
978+.tagcloud13,
979+.tagcloud14,
980+.tagcloud15,
981+.tagcloud16,
982+.tagcloud17,
983+.tagcloud18,
984+.tagcloud19,
985+.tagcloud20,
986+.tagcloud21,
987+.tagcloud22,
988+.tagcloud23,
989+.tagcloud24 { line-height: 1.2em;}
990+
991+/* vote.inc.php */
992+td.vote_label {
993+ color:inherit;
994+ background-color:#d8dde8;
995+}
996+td.vote_td1 {
997+ color:inherit;
998+ background-color:#f9f9f9;
999+}
1000+td.vote_td2 {
1001+ color:inherit;
1002+ background-color:#f2f2f2;
1003+}
--- monobook/tags/monobook-1.0/skin/monobook/monobook.print.css (nonexistent)
+++ monobook/tags/monobook-1.0/skin/monobook/monobook.print.css (revision 8)
@@ -0,0 +1,149 @@
1+#logo,
2+#navigator,
3+#menubar,
4+#sidebar,
5+#personal { display: none; }
6+
7+#content {
8+ background-color: #fff;
9+ color: #000;
10+ font-size: 11pt;
11+}
12+
13+ul {
14+ list-style-type: square;
15+}
16+
17+h1, h2, h3, h4, h5, h6 {
18+ font-weight: bold;
19+}
20+
21+p {
22+ margin: 1em 0;
23+ line-height: 1.2em;
24+}
25+
26+pre {
27+ border: 1pt dashed black;
28+ white-space: pre;
29+ font-size: 9pt;
30+ overflow: auto;
31+ padding: 1em;
32+}
33+
34+a {
35+ color: #000;
36+ background: none;
37+ padding: 0;
38+ text-decoration: underline;
39+}
40+
41+a.note_super {
42+ vertical-align: super;
43+}
44+
45+a.external:after {
46+ content: " (" attr(href) ") ";
47+}
48+
49+.noexists a {
50+ display: none;
51+}
52+
53+img { border: none; }
54+
55+div.ie5 { text-align: center; }
56+
57+.style_table,
58+.style_th,
59+.style_td {
60+ border: 1px solid #000;
61+ border-collapse: collapse;
62+}
63+
64+.style_table { margin: auto; }
65+
66+td.style_td {
67+ text-align: left;
68+}
69+
70+.small {
71+ font-size: 80%;
72+}
73+
74+span.size1 {
75+ font-size: xx-small;
76+ line-height: 130%;
77+ text-indent: 0px;
78+ display: inline;
79+}
80+span.size2 {
81+ font-size: x-small;
82+ line-height: 130%;
83+ text-indent: 0px;
84+ display: inline;
85+}
86+span.size3 {
87+ font-size: small;
88+ line-height: 130%;
89+ text-indent: 0px;
90+ display: inline;
91+}
92+span.size4 {
93+ font-size: medium;
94+ line-height: 130%;
95+ text-indent: 0px;
96+ display: inline;
97+}
98+span.size5 {
99+ font-size: large;
100+ line-height: 130%;
101+ text-indent: 0px;
102+ display: inline;
103+}
104+span.size6 {
105+ font-size: x-large;
106+ line-height: 130%;
107+ text-indent: 0px;
108+ display: inline;
109+}
110+span.size7 {
111+ font-size: xx-large;
112+ line-height: 130%;
113+ text-indent: 0px;
114+ display: inline;
115+}
116+
117+.clear {
118+ margin: 0px;
119+ clear: both;
120+}
121+
122+.editsection { display: none; }
123+
124+.img_margin { margin: 0.5em 1.4em 0.8em; }
125+
126+.navi, .navi_none, .navi_left, li.navi_right {
127+ display: none;
128+}
129+
130+.toc {
131+ border :1px solid #aaaaaa;
132+ background-color: #f9f9f9;
133+ padding: 5px;
134+}
135+
136+#footer {
137+ border-top: 1px solid #000;
138+}
139+
140+#footer img,
141+#footer li {
142+ display: none;
143+}
144+
145+#footer li#lastmod {
146+ display: list-item;
147+ font-size: 11pt;
148+ text-align: left;
149+}
--- monobook/tags/monobook-1.0/skin/monobook/monobook.skin.php (nonexistent)
+++ monobook/tags/monobook-1.0/skin/monobook/monobook.skin.php (revision 8)
@@ -0,0 +1,151 @@
1+<?php
2+/**
3+ * Monobook for PukiWiki
4+ * by lunt
5+ *
6+ * Based on original Monobook's MediaWiki skin.
7+ *
8+ * @author lunt
9+ * @license http://www.gnu.org/licenses/gpl.html GPL 2 or later
10+ * @version $Id$
11+ */
12+
13+// ------------------------------------------------------------
14+// Setting
15+
16+// Set image
17+$logo = 'pukiwiki.png';
18+$favicon = '';
19+
20+// Select navigation tabs as follows:
21+/* add, attachlist, attachlistall, backup, copy, diff, edit, filelist, freeze, help, list, new, rdf,
22+ recent, refer, related, reload, rename, rss, rss10, rss20, search, source, top, trackback, upload, yetlist */
23+$tabs = array('edit', 'diff');
24+
25+// Add an external class to external links
26+$enable_relink = FALSE;
27+
28+// Enable access counter in footer
29+$enable_footer_counter = FALSE;
30+
31+// ------------------------------------------------------------
32+// Code
33+
34+if (! defined('UI_LANG')) die('UI_LANG is not set');
35+if (! isset($_LANG)) die('$_LANG is not set');
36+if (! defined('PKWK_READONLY')) die('PKWK_READONLY is not set');
37+if (! exist_plugin('monobook_navigation')) die('monobook_navigation plugin not found');
38+if (! exist_plugin('wikinote')) die('wikinote plugin not found');
39+
40+// MenuBar & SideBar
41+$menu = exist_plugin_convert('menu') ? do_plugin_convert('menu') : '';
42+$side = exist_plugin_convert('side') ? do_plugin_convert('side') : '';
43+
44+// wikinote plugin
45+$wikinote = new PluginWikinote;
46+
47+// Background color
48+global $rule_page, $whatsdeleted, $interwiki;
49+$specialpages = array(
50+ $help_page,
51+ $rule_page,
52+ $whatsnew,
53+ $whatsdeleted,
54+ $interwiki
55+);
56+$background = (empty($vars['page']) || $wikinote->is_notepage() || in_array($vars['page'], $specialpages)) ?
57+ ' class="specialbg"' : '';
58+
59+// Login
60+$login = '';
61+if (exist_plugin('monobook_login')) {
62+ do_plugin_init('monobook_login');
63+ $login = plugin_monobook_login_inline();
64+}
65+
66+// Navigation tab
67+$navigation_tab = plugin_monobook_navigation($wikinote, $tabs, $background);
68+
69+// Title
70+global $plugin;
71+$display_title = $plugin === 'read' ? $wikinote->get_title($vars['page']) : $title;
72+
73+// relink.inc.php
74+if ($enable_relink === TRUE && exist_plugin('relink')) {
75+ $body = plugin_relink($body);
76+ $menu = plugin_relink($menu);
77+ $side = plugin_relink($side);
78+ $navigation_tab = plugin_relink($navigation_tab);
79+}
80+
81+// Footer
82+$lastmodified = empty($lastmodified) ? '' : '<li id="lastmod">Last-modified: ' . $lastmodified . '</li>';
83+$siteadmin = ! empty($modifierlink) && ! empty($modifier) ?
84+ '<li>Site admin: <a href="' . $modifierlink . '">' . $modifier . '</a></li>' : '';
85+$footer_counter = $enable_footer_counter && exist_plugin('counter') && plugin_counter_inline() ?
86+ '<li>This page has been accessed ' . number_format(plugin_counter_inline()) . ' times.</li>' : '';
87+
88+// ------------------------------------------------------------
89+// Output
90+
91+// HTTP headers
92+pkwk_common_headers();
93+header('Cache-control: no-cache');
94+header('Pragma: no-cache');
95+header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
96+
97+// HTML DTD
98+if (isset($pkwk_dtd)) {
99+ $meta_content_type = pkwk_output_dtd($pkwk_dtd);
100+} else {
101+ $meta_content_type = pkwk_output_dtd();
102+}
103+?>
104+
105+<head>
106+ <?php echo $meta_content_type ?>
107+<?php if ($nofollow || ! $is_read) { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
108+<?php if (PKWK_ALLOW_JAVASCRIPT && isset($javascript)) { ?> <meta http-equiv="Content-Script-Type" content="text/javascript" /><?php } ?>
109+ <title><?php echo $display_title ?> - <?php echo $page_title ?></title>
110+<?php if ($favicon) echo ' <link rel="shortcut icon" href="' . IMAGE_DIR . $favicon . '" type="image/x-icon" />' ?>
111+ <link rel="stylesheet" type="text/css" media="screen" href="<?php echo SKIN_DIR ?>monobook/monobook.css" />
112+<?php if ($side) echo ' <link rel="stylesheet" type="text/css" media="screen" href="' . SKIN_DIR . 'monobook/monobook.threecolumn.css" />' . "\n" ?>
113+ <link rel="stylesheet" type="text/css" media="print" href="<?php echo SKIN_DIR ?>monobook/monobook.print.css" />
114+ <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo $_LINK['rss'] ?>" />
115+<?php echo $head_tag ?>
116+</head>
117+<body>
118+<div id="globalWrapper">
119+ <div id="menubar"><?php echo $menu ?></div>
120+ <div id="mainColumnWrapper">
121+ <div id="main-column">
122+ <?php echo $navigation_tab ?>
123+ <div id="content"<?php echo $background ?>>
124+ <h1 class="firstHeading"><?php echo $display_title ?></h1><div id="contentSub"></div>
125+ <?php echo $body ?><?php echo $notes ?>
126+ </div>
127+ </div>
128+ </div>
129+ <?php if($side) echo '<div id="sidebar">' . $side . '</div>' ?>
130+ <div style="clear:both;height:1em;"></div>
131+ <div id="logo"><a href="<?php echo get_script_uri() ?>" style="background-image: url(<?php echo IMAGE_DIR . $logo ?>);"></a></div>
132+ <div id="personal"><ul><?php echo $login ?></ul></div>
133+ <div id="footer">
134+ <div id="f-officialico">
135+ <a href="http://pukiwiki.sourceforge.jp/"><img src="<?php echo IMAGE_DIR ?>b_pukiwiki.official.png" alt="PukiWiki-official" /></a>
136+ </div>
137+ <div id="f-officialdevico">
138+ <a href="http://pukiwiki.sourceforge.jp/dev/"><img src="<?php echo IMAGE_DIR ?>b_pukiwiki.dev.png" alt="PukiWiki-dev" /></a>
139+ </div>
140+ <div id="f-list">
141+ <ul><?php echo $lastmodified . $siteadmin . $footer_counter ?>
142+ <li>convert time: <?php echo function_exists('elapsedtime') ? elapsedtime() : $taketime ?> sec</li>
143+ <li>Powered by PukiWiki</li>
144+ <li><a href="http://www.luntf.com/">Monobook for PukiWiki</a></li>
145+ </ul>
146+ </div>
147+ <div style="clear:both;"></div>
148+ </div>
149+</div>
150+</body>
151+</html>
Added: svn:keywords
## -0,0 +1 ##
+Id Date Author Revision
\ No newline at end of property
--- monobook/tags/monobook-1.0/skin/monobook/monobook.threecolumn.css (nonexistent)
+++ monobook/tags/monobook-1.0/skin/monobook/monobook.threecolumn.css (revision 8)
@@ -0,0 +1,151 @@
1+/* -------------------- Layout -------------------- */
2+#main-column {
3+ margin-right: 12.2em;
4+}
5+
6+#content {
7+ border-right: 1px solid #aaa;
8+ overflow: hidden;
9+}
10+
11+/* IE6 */
12+* html #content {
13+ width: 100%;
14+}
15+
16+#sidebar {
17+ width: 11.6em;
18+ float: right;
19+ margin-top: 2.8em;
20+ margin-left: -11.6em;
21+ overflow: hidden;
22+ position: relative;
23+}
24+
25+/* IE6 + IE7 */
26+* html #sidebar {
27+ margin-top: 3.0em;
28+}
29+
30+/* Opera8 */
31+*+html > /**/body #sidebar {
32+ margin-top: 2.8em;
33+}
34+
35+/* -------------------- SideBar -------------------- */
36+
37+#sidebar {
38+ /*word-break: break-all;*/
39+ overflow: hidden;
40+ position: relative;
41+}
42+
43+#sidebar div.menubox,
44+#sidebar div.monobook_recent,
45+#sidebar div.toolbox {
46+ font-size: 95%;
47+ background-color: #fff;
48+ border: 1px solid #aaa;
49+ padding: 0 0 .3em .5em;
50+ margin-bottom: .5em;
51+}
52+
53+#sidebar ul {
54+ font-size: 95%;
55+ line-height: 1.5em;
56+}
57+
58+#sidebar li {
59+ margin: 0;
60+}
61+
62+/*#sidebar div.menubox a {
63+ display: block;
64+}*/
65+
66+#sidebar h2,
67+#sidebar h3,
68+#sidebar h4,
69+#sidebar h5 {
70+ display: inline;
71+ font-size: 91%;
72+ font-weight: normal;
73+ height: 1em;
74+ padding: 0 1em 0 .5em;
75+ border: none;
76+ text-transform: lowercase;
77+ white-space: nowrap;
78+}
79+
80+/* -------------------- Plugin -------------------- */
81+
82+/* monobook_recent.inc.php */
83+#sidebar div.monobook_recent {
84+ padding-top: .3em;
85+}
86+
87+#sidebar div.monobook_recent strong {
88+ font-size: 95%;
89+}
90+
91+#sidebar div.monobook_recent ul {
92+ margin-top: 0;
93+}
94+
95+/* monobook_search.inc.php */
96+#sidebar div.monobook_search {
97+ background-color: #fff;
98+ border: 1px solid #aaa;
99+ padding: .5em .4em .4em;
100+ text-align: center;
101+ font-size: 95%;
102+ margin-bottom: .5em;
103+}
104+
105+/* monobook_toolbox.inc.php */
106+#sidebar div.toolbox a {
107+ display: block;
108+}
109+
110+#sidebar div.toolbox hr {
111+ margin-right: .5em;
112+}
113+
114+/* tag.inc.php */
115+#sidebar .htmltagcloud {
116+ font-size: 10px;
117+ line-height: 2em;
118+ background-color: #fff;
119+ border: 1px solid #aaa;
120+}
121+
122+#sidebar .htmltagcloud span a {
123+ margin: 0 2px;
124+ padding-bottom: 1em;
125+}
126+
127+#sidebar .tagcloud0 { font-size: 100%;}
128+#sidebar .tagcloud1 { font-size: 105%;}
129+#sidebar .tagcloud2 { font-size: 110%;}
130+#sidebar .tagcloud3 { font-size: 115%;}
131+#sidebar .tagcloud4 { font-size: 120%;}
132+#sidebar .tagcloud5 { font-size: 125%;}
133+#sidebar .tagcloud6 { font-size: 130%;}
134+#sidebar .tagcloud7 { font-size: 135%;}
135+#sidebar .tagcloud8 { font-size: 140%;}
136+#sidebar .tagcloud9 { font-size: 145%;}
137+#sidebar .tagcloud10 { font-size: 150%;}
138+#sidebar .tagcloud11 { font-size: 155%;}
139+#sidebar .tagcloud12 { font-size: 160%;}
140+#sidebar .tagcloud13 { font-size: 165%;}
141+#sidebar .tagcloud14 { font-size: 170%;}
142+#sidebar .tagcloud15 { font-size: 175%;}
143+#sidebar .tagcloud16 { font-size: 180%;}
144+#sidebar .tagcloud17 { font-size: 185%;}
145+#sidebar .tagcloud18 { font-size: 190%;}
146+#sidebar .tagcloud19 { font-size: 195%;}
147+#sidebar .tagcloud20 { font-size: 200%;}
148+#sidebar .tagcloud21 { font-size: 205%;}
149+#sidebar .tagcloud22 { font-size: 210%;}
150+#sidebar .tagcloud23 { font-size: 215%;}
151+#sidebar .tagcloud24 { font-size: 220%;}
旧リポジトリブラウザで表示