From 64a19c3de221c2aa567edd3372c6b17239452d1f Mon Sep 17 00:00:00 2001 From: Matt Lee Date: Mon, 20 Jul 2009 20:57:49 +0000 Subject: [PATCH] checked in skins, courtesy of djbclark --- skins/Chick.deps.php | 13 + skins/Chick.php | 38 + skins/CologneBlue.php | 311 ++++ skins/Modern.deps.php | 12 + skins/Modern.php | 370 ++++ skins/MonoBook.deps.php | 12 + skins/MonoBook.php | 373 ++++ skins/MySkin.deps.php | 13 + skins/MySkin.php | 24 + skins/Nostalgia.php | 118 ++ skins/Simple.deps.php | 13 + skins/Simple.php | 75 + skins/Skin.sample | 19 + skins/Standard.php | 296 ++++ skins/chick/IE50Fixes.css | 67 + skins/chick/IE55Fixes.css | 81 + skins/chick/IE60Fixes.css | 79 + skins/chick/main.css | 443 +++++ skins/common/IEFixes.js | 127 ++ skins/common/ajax.js | 167 ++ skins/common/ajaxwatch.js | 153 ++ skins/common/allmessages.js | 83 + skins/common/block.js | 54 + skins/common/cologneblue.css | 96 + skins/common/commonPrint.css | 267 +++ skins/common/common_rtl.css | 48 + skins/common/diff.css | 143 ++ skins/common/diff.js | 20 + skins/common/edit.js | 156 ++ skins/common/enhancedchanges.js | 40 + skins/common/feed.css | 95 + skins/common/history.js | 83 + skins/common/images/Arr_.png | Bin 0 -> 918 bytes skins/common/images/Arr_d.png | Bin 0 -> 215 bytes skins/common/images/Arr_l.png | Bin 0 -> 263 bytes skins/common/images/Arr_r.png | Bin 0 -> 210 bytes skins/common/images/Arr_r.xcf | Bin 0 -> 1437 bytes skins/common/images/Arr_u.png | Bin 0 -> 1044 bytes skins/common/images/Checker-16x16.png | Bin 0 -> 81 bytes skins/common/images/Zoom_sans.gif | Bin 0 -> 901 bytes skins/common/images/ar/button_bold.png | Bin 0 -> 741 bytes skins/common/images/ar/button_headline.png | Bin 0 -> 629 bytes skins/common/images/ar/button_italic.png | Bin 0 -> 692 bytes skins/common/images/ar/button_link.png | Bin 0 -> 741 bytes skins/common/images/ar/button_nowiki.png | Bin 0 -> 1185 bytes .../common/images/arrow_disabled_first_25.png | Bin 0 -> 481 bytes .../common/images/arrow_disabled_last_25.png | Bin 0 -> 480 bytes .../common/images/arrow_disabled_left_25.png | Bin 0 -> 460 bytes .../common/images/arrow_disabled_right_25.png | Bin 0 -> 447 bytes skins/common/images/arrow_first.svg | 85 + skins/common/images/arrow_first_25.png | Bin 0 -> 482 bytes skins/common/images/arrow_last_25.png | Bin 0 -> 484 bytes skins/common/images/arrow_left.svg | 78 + skins/common/images/arrow_left_25.png | Bin 0 -> 462 bytes skins/common/images/arrow_right_25.png | Bin 0 -> 449 bytes skins/common/images/be-tarask/button_bold.png | Bin 0 -> 575 bytes .../common/images/be-tarask/button_italic.png | Bin 0 -> 638 bytes skins/common/images/be-tarask/button_link.png | Bin 0 -> 550 bytes skins/common/images/bullet.gif | Bin 0 -> 50 bytes skins/common/images/button_bold.png | Bin 0 -> 978 bytes skins/common/images/button_extlink.png | Bin 0 -> 1093 bytes skins/common/images/button_headline.png | Bin 0 -> 497 bytes skins/common/images/button_hr.png | Bin 0 -> 372 bytes skins/common/images/button_image.png | Bin 0 -> 1110 bytes skins/common/images/button_italic.png | Bin 0 -> 975 bytes skins/common/images/button_link.png | Bin 0 -> 434 bytes skins/common/images/button_math.png | Bin 0 -> 730 bytes skins/common/images/button_media.png | Bin 0 -> 1155 bytes skins/common/images/button_nowiki.png | Bin 0 -> 375 bytes skins/common/images/button_sig.png | Bin 0 -> 1217 bytes skins/common/images/button_template.png | Bin 0 -> 362 bytes skins/common/images/cyrl/button_bold.png | Bin 0 -> 275 bytes skins/common/images/cyrl/button_italic.png | Bin 0 -> 461 bytes skins/common/images/cyrl/button_link.png | Bin 0 -> 353 bytes skins/common/images/de/button_bold.png | Bin 0 -> 1013 bytes skins/common/images/de/button_italic.png | Bin 0 -> 1021 bytes skins/common/images/diffunderline.gif | Bin 0 -> 52 bytes skins/common/images/fa/button_bold.png | Bin 0 -> 504 bytes skins/common/images/fa/button_headline.png | Bin 0 -> 438 bytes skins/common/images/fa/button_italic.png | Bin 0 -> 577 bytes skins/common/images/fa/button_link.png | Bin 0 -> 538 bytes skins/common/images/fa/button_nowiki.png | Bin 0 -> 1185 bytes skins/common/images/fileicon.xcf | Bin 0 -> 26160 bytes skins/common/images/gnu-fdl.png | Bin 0 -> 1748 bytes skins/common/images/gnu-fdl.xcf | Bin 0 -> 5578 bytes skins/common/images/groups-logo.png | Bin 0 -> 25605 bytes skins/common/images/icons/fileicon-c.png | Bin 0 -> 2995 bytes skins/common/images/icons/fileicon-cpp.png | Bin 0 -> 2250 bytes skins/common/images/icons/fileicon-deb.png | Bin 0 -> 5528 bytes skins/common/images/icons/fileicon-djvu.png | Bin 0 -> 11137 bytes skins/common/images/icons/fileicon-djvu.xcf | Bin 0 -> 83394 bytes skins/common/images/icons/fileicon-dvi.png | Bin 0 -> 13042 bytes skins/common/images/icons/fileicon-exe.png | Bin 0 -> 5864 bytes skins/common/images/icons/fileicon-h.png | Bin 0 -> 1195 bytes skins/common/images/icons/fileicon-html.png | Bin 0 -> 7601 bytes skins/common/images/icons/fileicon-iso.png | Bin 0 -> 6673 bytes skins/common/images/icons/fileicon-java.png | Bin 0 -> 6825 bytes skins/common/images/icons/fileicon-mid.png | Bin 0 -> 7191 bytes skins/common/images/icons/fileicon-mov.png | Bin 0 -> 7946 bytes skins/common/images/icons/fileicon-o.png | Bin 0 -> 2893 bytes skins/common/images/icons/fileicon-ogg.png | Bin 0 -> 6143 bytes skins/common/images/icons/fileicon-ogg.xcf | Bin 0 -> 40236 bytes skins/common/images/icons/fileicon-pdf.png | Bin 0 -> 5138 bytes skins/common/images/icons/fileicon-ps.png | Bin 0 -> 3293 bytes skins/common/images/icons/fileicon-rm.png | Bin 0 -> 4977 bytes skins/common/images/icons/fileicon-rpm.png | Bin 0 -> 4753 bytes skins/common/images/icons/fileicon-svg.png | Bin 0 -> 5193 bytes skins/common/images/icons/fileicon-tar.png | Bin 0 -> 6544 bytes skins/common/images/icons/fileicon-tex.png | Bin 0 -> 4203 bytes skins/common/images/icons/fileicon-ttf.png | Bin 0 -> 3625 bytes skins/common/images/icons/fileicon-txt.png | Bin 0 -> 6801 bytes skins/common/images/icons/fileicon.png | Bin 0 -> 1121 bytes skins/common/images/ksh/button_S_italic.png | Bin 0 -> 3812 bytes skins/common/images/link_icon.gif | Bin 0 -> 942 bytes skins/common/images/magnify-clip.png | Bin 0 -> 267 bytes skins/common/images/mediawiki-small.xcf | Bin 0 -> 36011 bytes skins/common/images/mediawiki.png | Bin 0 -> 23064 bytes .../images/poweredby_mediawiki_88x31.png | Bin 0 -> 1933 bytes skins/common/images/public-domain.png | Bin 0 -> 2892 bytes skins/common/images/redirectltr.png | Bin 0 -> 1024 bytes skins/common/images/redirectrtl.png | Bin 0 -> 1017 bytes skins/common/images/sort_down.gif | Bin 0 -> 879 bytes skins/common/images/sort_none.gif | Bin 0 -> 877 bytes skins/common/images/sort_up.gif | Bin 0 -> 881 bytes skins/common/images/spinner.gif | Bin 0 -> 586 bytes skins/common/images/tooltip_icon.png | Bin 0 -> 430 bytes skins/common/images/wiki.png | Bin 0 -> 24954 bytes skins/common/metadata.js | 49 + skins/common/mwsuggest.js | 851 +++++++++ skins/common/nostalgia.css | 17 + skins/common/oldshared.css | 418 +++++ skins/common/prefs.js | 164 ++ skins/common/preview.js | 175 ++ skins/common/protect.js | 351 ++++ skins/common/quickbar-right.css | 1 + skins/common/quickbar.css | 1 + skins/common/rightclickedit.js | 48 + skins/common/shared.css | 313 ++++ skins/common/sticky.js | 124 ++ skins/common/upload.js | 190 ++ skins/common/wikibits.js | 995 +++++++++++ skins/common/wikiprintable.css | 46 + skins/common/wikistandard.css | 48 + skins/disabled/MonoBook.tpl | 200 +++ skins/disabled/MonoBookCBT.php | 1389 +++++++++++++++ skins/modern/audio.png | Bin 0 -> 312 bytes skins/modern/bullet.gif | Bin 0 -> 50 bytes skins/modern/discussionitem_icon.gif | Bin 0 -> 949 bytes skins/modern/document.png | Bin 0 -> 270 bytes skins/modern/external.png | Bin 0 -> 165 bytes skins/modern/file_icon.gif | Bin 0 -> 921 bytes skins/modern/footer-grad.png | Bin 0 -> 149 bytes skins/modern/link_icon.gif | Bin 0 -> 942 bytes skins/modern/lock_icon.gif | Bin 0 -> 918 bytes skins/modern/mail_icon.gif | Bin 0 -> 918 bytes skins/modern/main.css | 1098 ++++++++++++ skins/modern/news_icon.png | Bin 0 -> 297 bytes skins/modern/print.css | 10 + skins/modern/rtl.css | 153 ++ skins/modern/video.png | Bin 0 -> 215 bytes skins/monobook/IE50Fixes.css | 67 + skins/monobook/IE55Fixes.css | 85 + skins/monobook/IE60Fixes.css | 87 + skins/monobook/IE70Fixes.css | 74 + skins/monobook/IEMacFixes.css | 44 + skins/monobook/KHTMLFixes.css | 4 + skins/monobook/Opera6Fixes.css | 14 + skins/monobook/Opera7Fixes.css | 11 + skins/monobook/audio.png | Bin 0 -> 312 bytes skins/monobook/bullet.gif | Bin 0 -> 50 bytes skins/monobook/discussionitem_icon.gif | Bin 0 -> 949 bytes skins/monobook/document.png | Bin 0 -> 270 bytes skins/monobook/external.png | Bin 0 -> 165 bytes skins/monobook/file_icon.gif | Bin 0 -> 921 bytes skins/monobook/headbg.jpg | Bin 0 -> 7881 bytes skins/monobook/link_icon.gif | Bin 0 -> 942 bytes skins/monobook/lock_icon.gif | Bin 0 -> 918 bytes skins/monobook/magnify-clip.png | Bin 0 -> 237 bytes skins/monobook/mail_icon.gif | Bin 0 -> 918 bytes skins/monobook/main.css | 1537 +++++++++++++++++ skins/monobook/news_icon.png | Bin 0 -> 297 bytes skins/monobook/required.gif | Bin 0 -> 47 bytes skins/monobook/rtl.css | 233 +++ skins/monobook/user.gif | Bin 0 -> 923 bytes skins/monobook/video.png | Bin 0 -> 215 bytes skins/monobook/wiki-indexed.png | Bin 0 -> 8205 bytes skins/monobook/wiki.png | Bin 0 -> 23064 bytes skins/myskin/main.css | 1 + skins/simple/discussionitem_icon.gif | Bin 0 -> 949 bytes skins/simple/external.png | Bin 0 -> 165 bytes skins/simple/file_icon.gif | Bin 0 -> 921 bytes skins/simple/link_icon.gif | Bin 0 -> 942 bytes skins/simple/lock_icon.gif | Bin 0 -> 918 bytes skins/simple/mail_icon.gif | Bin 0 -> 918 bytes skins/simple/main.css | 391 +++++ skins/simple/rtl.css | 176 ++ 196 files changed, 13417 insertions(+) create mode 100644 skins/Chick.deps.php create mode 100644 skins/Chick.php create mode 100644 skins/CologneBlue.php create mode 100644 skins/Modern.deps.php create mode 100644 skins/Modern.php create mode 100644 skins/MonoBook.deps.php create mode 100644 skins/MonoBook.php create mode 100644 skins/MySkin.deps.php create mode 100644 skins/MySkin.php create mode 100644 skins/Nostalgia.php create mode 100644 skins/Simple.deps.php create mode 100644 skins/Simple.php create mode 100644 skins/Skin.sample create mode 100644 skins/Standard.php create mode 100644 skins/chick/IE50Fixes.css create mode 100644 skins/chick/IE55Fixes.css create mode 100644 skins/chick/IE60Fixes.css create mode 100644 skins/chick/main.css create mode 100644 skins/common/IEFixes.js create mode 100644 skins/common/ajax.js create mode 100644 skins/common/ajaxwatch.js create mode 100644 skins/common/allmessages.js create mode 100644 skins/common/block.js create mode 100644 skins/common/cologneblue.css create mode 100644 skins/common/commonPrint.css create mode 100644 skins/common/common_rtl.css create mode 100644 skins/common/diff.css create mode 100644 skins/common/diff.js create mode 100644 skins/common/edit.js create mode 100644 skins/common/enhancedchanges.js create mode 100644 skins/common/feed.css create mode 100644 skins/common/history.js create mode 100644 skins/common/images/Arr_.png create mode 100644 skins/common/images/Arr_d.png create mode 100644 skins/common/images/Arr_l.png create mode 100644 skins/common/images/Arr_r.png create mode 100644 skins/common/images/Arr_r.xcf create mode 100644 skins/common/images/Arr_u.png create mode 100644 skins/common/images/Checker-16x16.png create mode 100644 skins/common/images/Zoom_sans.gif create mode 100644 skins/common/images/ar/button_bold.png create mode 100644 skins/common/images/ar/button_headline.png create mode 100644 skins/common/images/ar/button_italic.png create mode 100644 skins/common/images/ar/button_link.png create mode 100644 skins/common/images/ar/button_nowiki.png create mode 100644 skins/common/images/arrow_disabled_first_25.png create mode 100644 skins/common/images/arrow_disabled_last_25.png create mode 100644 skins/common/images/arrow_disabled_left_25.png create mode 100644 skins/common/images/arrow_disabled_right_25.png create mode 100644 skins/common/images/arrow_first.svg create mode 100644 skins/common/images/arrow_first_25.png create mode 100644 skins/common/images/arrow_last_25.png create mode 100644 skins/common/images/arrow_left.svg create mode 100644 skins/common/images/arrow_left_25.png create mode 100644 skins/common/images/arrow_right_25.png create mode 100644 skins/common/images/be-tarask/button_bold.png create mode 100644 skins/common/images/be-tarask/button_italic.png create mode 100644 skins/common/images/be-tarask/button_link.png create mode 100644 skins/common/images/bullet.gif create mode 100644 skins/common/images/button_bold.png create mode 100644 skins/common/images/button_extlink.png create mode 100644 skins/common/images/button_headline.png create mode 100644 skins/common/images/button_hr.png create mode 100644 skins/common/images/button_image.png create mode 100644 skins/common/images/button_italic.png create mode 100644 skins/common/images/button_link.png create mode 100644 skins/common/images/button_math.png create mode 100644 skins/common/images/button_media.png create mode 100644 skins/common/images/button_nowiki.png create mode 100644 skins/common/images/button_sig.png create mode 100644 skins/common/images/button_template.png create mode 100644 skins/common/images/cyrl/button_bold.png create mode 100644 skins/common/images/cyrl/button_italic.png create mode 100644 skins/common/images/cyrl/button_link.png create mode 100644 skins/common/images/de/button_bold.png create mode 100644 skins/common/images/de/button_italic.png create mode 100644 skins/common/images/diffunderline.gif create mode 100644 skins/common/images/fa/button_bold.png create mode 100644 skins/common/images/fa/button_headline.png create mode 100644 skins/common/images/fa/button_italic.png create mode 100644 skins/common/images/fa/button_link.png create mode 100644 skins/common/images/fa/button_nowiki.png create mode 100644 skins/common/images/fileicon.xcf create mode 100644 skins/common/images/gnu-fdl.png create mode 100644 skins/common/images/gnu-fdl.xcf create mode 100644 skins/common/images/groups-logo.png create mode 100644 skins/common/images/icons/fileicon-c.png create mode 100644 skins/common/images/icons/fileicon-cpp.png create mode 100644 skins/common/images/icons/fileicon-deb.png create mode 100644 skins/common/images/icons/fileicon-djvu.png create mode 100644 skins/common/images/icons/fileicon-djvu.xcf create mode 100644 skins/common/images/icons/fileicon-dvi.png create mode 100644 skins/common/images/icons/fileicon-exe.png create mode 100644 skins/common/images/icons/fileicon-h.png create mode 100644 skins/common/images/icons/fileicon-html.png create mode 100644 skins/common/images/icons/fileicon-iso.png create mode 100644 skins/common/images/icons/fileicon-java.png create mode 100644 skins/common/images/icons/fileicon-mid.png create mode 100644 skins/common/images/icons/fileicon-mov.png create mode 100644 skins/common/images/icons/fileicon-o.png create mode 100644 skins/common/images/icons/fileicon-ogg.png create mode 100644 skins/common/images/icons/fileicon-ogg.xcf create mode 100644 skins/common/images/icons/fileicon-pdf.png create mode 100644 skins/common/images/icons/fileicon-ps.png create mode 100644 skins/common/images/icons/fileicon-rm.png create mode 100644 skins/common/images/icons/fileicon-rpm.png create mode 100644 skins/common/images/icons/fileicon-svg.png create mode 100644 skins/common/images/icons/fileicon-tar.png create mode 100644 skins/common/images/icons/fileicon-tex.png create mode 100644 skins/common/images/icons/fileicon-ttf.png create mode 100644 skins/common/images/icons/fileicon-txt.png create mode 100644 skins/common/images/icons/fileicon.png create mode 100644 skins/common/images/ksh/button_S_italic.png create mode 100644 skins/common/images/link_icon.gif create mode 100644 skins/common/images/magnify-clip.png create mode 100644 skins/common/images/mediawiki-small.xcf create mode 100644 skins/common/images/mediawiki.png create mode 100644 skins/common/images/poweredby_mediawiki_88x31.png create mode 100644 skins/common/images/public-domain.png create mode 100644 skins/common/images/redirectltr.png create mode 100644 skins/common/images/redirectrtl.png create mode 100644 skins/common/images/sort_down.gif create mode 100644 skins/common/images/sort_none.gif create mode 100644 skins/common/images/sort_up.gif create mode 100644 skins/common/images/spinner.gif create mode 100644 skins/common/images/tooltip_icon.png create mode 100644 skins/common/images/wiki.png create mode 100644 skins/common/metadata.js create mode 100644 skins/common/mwsuggest.js create mode 100644 skins/common/nostalgia.css create mode 100644 skins/common/oldshared.css create mode 100644 skins/common/prefs.js create mode 100644 skins/common/preview.js create mode 100644 skins/common/protect.js create mode 100644 skins/common/quickbar-right.css create mode 100644 skins/common/quickbar.css create mode 100644 skins/common/rightclickedit.js create mode 100644 skins/common/shared.css create mode 100644 skins/common/sticky.js create mode 100644 skins/common/upload.js create mode 100644 skins/common/wikibits.js create mode 100644 skins/common/wikiprintable.css create mode 100644 skins/common/wikistandard.css create mode 100644 skins/disabled/MonoBook.tpl create mode 100644 skins/disabled/MonoBookCBT.php create mode 100644 skins/modern/audio.png create mode 100644 skins/modern/bullet.gif create mode 100644 skins/modern/discussionitem_icon.gif create mode 100644 skins/modern/document.png create mode 100644 skins/modern/external.png create mode 100644 skins/modern/file_icon.gif create mode 100644 skins/modern/footer-grad.png create mode 100644 skins/modern/link_icon.gif create mode 100644 skins/modern/lock_icon.gif create mode 100644 skins/modern/mail_icon.gif create mode 100644 skins/modern/main.css create mode 100644 skins/modern/news_icon.png create mode 100644 skins/modern/print.css create mode 100644 skins/modern/rtl.css create mode 100644 skins/modern/video.png create mode 100644 skins/monobook/IE50Fixes.css create mode 100644 skins/monobook/IE55Fixes.css create mode 100644 skins/monobook/IE60Fixes.css create mode 100644 skins/monobook/IE70Fixes.css create mode 100644 skins/monobook/IEMacFixes.css create mode 100644 skins/monobook/KHTMLFixes.css create mode 100644 skins/monobook/Opera6Fixes.css create mode 100644 skins/monobook/Opera7Fixes.css create mode 100644 skins/monobook/audio.png create mode 100644 skins/monobook/bullet.gif create mode 100644 skins/monobook/discussionitem_icon.gif create mode 100644 skins/monobook/document.png create mode 100644 skins/monobook/external.png create mode 100644 skins/monobook/file_icon.gif create mode 100644 skins/monobook/headbg.jpg create mode 100644 skins/monobook/link_icon.gif create mode 100644 skins/monobook/lock_icon.gif create mode 100644 skins/monobook/magnify-clip.png create mode 100644 skins/monobook/mail_icon.gif create mode 100644 skins/monobook/main.css create mode 100644 skins/monobook/news_icon.png create mode 100644 skins/monobook/required.gif create mode 100644 skins/monobook/rtl.css create mode 100644 skins/monobook/user.gif create mode 100644 skins/monobook/video.png create mode 100644 skins/monobook/wiki-indexed.png create mode 100644 skins/monobook/wiki.png create mode 100644 skins/myskin/main.css create mode 100644 skins/simple/discussionitem_icon.gif create mode 100644 skins/simple/external.png create mode 100644 skins/simple/file_icon.gif create mode 100644 skins/simple/link_icon.gif create mode 100644 skins/simple/lock_icon.gif create mode 100644 skins/simple/mail_icon.gif create mode 100644 skins/simple/main.css create mode 100644 skins/simple/rtl.css diff --git a/skins/Chick.deps.php b/skins/Chick.deps.php new file mode 100644 index 00000000..a7cb0844 --- /dev/null +++ b/skins/Chick.deps.php @@ -0,0 +1,13 @@ +skinname = 'chick'; + $this->stylename = 'chick'; + $this->template = 'MonoBookTemplate'; + } + + function setupSkinUserCss( OutputPage $out ){ + parent::setupSkinUserCss( $out ); + // Append to the default screen common & print styles... + $out->addStyle( 'chick/main.css', 'screen,handheld' ); + $out->addStyle( 'chick/IE50Fixes.css', 'screen,handheld', 'lt IE 5.5000' ); + $out->addStyle( 'chick/IE55Fixes.css', 'screen,handheld', 'IE 5.5000' ); + $out->addStyle( 'chick/IE60Fixes.css', 'screen,handheld', 'IE 6' ); + } +} + + diff --git a/skins/CologneBlue.php b/skins/CologneBlue.php new file mode 100644 index 00000000..f3806dc9 --- /dev/null +++ b/skins/CologneBlue.php @@ -0,0 +1,311 @@ +qbSetting(); + $mainPageObj = Title::newMainPage(); + + $s .= "\n
\n
" . + ""; + + $s .= "
"; + $s .= "escapeLocalURL() . "\">"; + $s .= "" . wfMsg( "sitetitle" ) . ""; + + $s .= ""; + $s .= $this->sysLinks(); + $s .= "
"; + + $s .= ""; + $s .= htmlspecialchars( wfMsg( "sitesubtitle" ) ) . ""; + $s .= "" ; + + $s .= "" ; + $s .= str_replace ( "
" , "" , $this->otherLanguages() ); + $cat = $this->getCategoryLinks(); + if( $cat ) $s .= "
$cat\n"; + $s .= "
" . $this->pageTitleLinks(); + $s .= "
"; + + $s .= "
\n"; + + $s .= "\n
\n
"; + + $notice = wfGetSiteNotice(); + if( $notice ) { + $s .= "\n
$notice
\n"; + } + $s .= $this->pageTitle(); + $s .= $this->pageSubtitle() . "\n"; + return $s; + } + + function doAfterContent() + { + global $wgOut; + + $s = "\n

\n"; + + $s .= "\n\n
\n"; + + if ( 0 != $qb ) { $s .= $this->quickBar(); } + return $s; + } + + function reallyGenerateUserStylesheet() { + $s = parent::reallyGenerateUserStylesheet(); + $qb = $this->qbSetting(); + + if ( 2 == $qb ) { # Right + $s .= "#quickbar { position: absolute; right: 4px; }\n" . + "#article { margin-left: 4px; margin-right: 148px; }\n"; + } else if ( 1 == $qb ) { + $s .= "#quickbar { position: absolute; left: 4px; }\n" . + "#article { margin-left: 148px; margin-right: 4px; }\n"; + } else if ( 3 == $qb ) { # Floating left + $s .= "#quickbar { position:absolute; left:4px } \n" . + "#topbar { margin-left: 148px }\n" . + "#article { margin-left:148px; margin-right: 4px; } \n" . + "body>#quickbar { position:fixed; left:4px; top:4px; overflow:auto ;bottom:4px;} \n"; # Hides from IE + } else if ( 4 == $qb ) { # Floating right + $s .= "#quickbar { position: fixed; right: 4px; } \n" . + "#topbar { margin-right: 148px }\n" . + "#article { margin-right: 148px; margin-left: 4px; } \n" . + "body>#quickbar { position: fixed; right: 4px; top: 4px; overflow: auto ;bottom:4px;} \n"; # Hides from IE + } + return $s; + } + + function sysLinks() { + global $wgUser, $wgContLang, $wgTitle; + $li = $wgContLang->specialPage("Userlogin"); + $lo = $wgContLang->specialPage("Userlogout"); + + $rt = $wgTitle->getPrefixedURL(); + if ( 0 == strcasecmp( urlencode( $lo ), $rt ) ) { + $q = ""; + } else { + $q = "returnto={$rt}"; + } + + $s = "" . + $this->mainPageLink() + . " | " . + $this->makeKnownLink( wfMsgForContent( "aboutpage" ), wfMsg( "about" ) ) + . " | " . + $this->makeKnownLink( wfMsgForContent( "helppage" ), wfMsg( "help" ) ) + . " | " . + $this->makeKnownLink( wfMsgForContent( "faqpage" ), wfMsg("faq") ) + . " | " . + $this->specialLink( "specialpages" ); + + /* show links to different language variants */ + $s .= $this->variantLinks(); + $s .= $this->extensionTabLinks(); + + $s .= " | "; + if ( $wgUser->isLoggedIn() ) { + $s .= $this->makeKnownLink( $lo, wfMsg( "logout" ), $q ); + } else { + $s .= $this->makeKnownLink( $li, wfMsg( "login" ), $q ); + } + + return $s; + } + + /** + * Compute the sidebar + * @access private + */ + function quickBar() + { + global $wgOut, $wgTitle, $wgUser, $wgLang, $wgContLang, $wgEnableUploads; + + $tns=$wgTitle->getNamespace(); + + $s = "\n
"; + + $sep = "
"; + $s .= $this->menuHead( "qbfind" ); + $s .= $this->searchForm(); + + $s .= $this->menuHead( "qbbrowse" ); + + # Use the first heading from the Monobook sidebar as the "browse" section + $bar = $this->buildSidebar(); + unset( $bar['SEARCH'] ); + unset( $bar['LANGUAGES'] ); + unset( $bar['TOOLBOX'] ); + $browseLinks = reset( $bar ); + + foreach ( $browseLinks as $link ) { + if ( $link['text'] != '-' ) { + $s .= "" . + htmlspecialchars( $link['text'] ) . '' . $sep; + } + } + + if ( $wgOut->isArticle() ) { + $s .= $this->menuHead( "qbedit" ); + $s .= "" . $this->editThisPage() . ""; + + $s .= $sep . $this->makeKnownLink( wfMsgForContent( "edithelppage" ), wfMsg( "edithelp" ) ); + + if( $wgUser->isLoggedIn() ) { + $s .= $sep . $this->moveThisPage(); + } + if ( $wgUser->isAllowed('delete') ) { + $dtp = $this->deleteThisPage(); + if ( "" != $dtp ) { + $s .= $sep . $dtp; + } + } + if ( $wgUser->isAllowed('protect') ) { + $ptp = $this->protectThisPage(); + if ( "" != $ptp ) { + $s .= $sep . $ptp; + } + } + $s .= $sep; + + $s .= $this->menuHead( "qbpageoptions" ); + $s .= $this->talkLink() + . $sep . $this->commentLink() + . $sep . $this->printableLink(); + if ( $wgUser->isLoggedIn() ) { + $s .= $sep . $this->watchThisPage(); + } + + $s .= $sep; + + $s .= $this->menuHead("qbpageinfo") + . $this->historyLink() + . $sep . $this->whatLinksHere() + . $sep . $this->watchPageLinksLink(); + + if( $tns == NS_USER || $tns == NS_USER_TALK ) { + $id=User::idFromName($wgTitle->getText()); + if ($id != 0) { + $s .= $sep . $this->userContribsLink(); + if( $this->showEmailUser( $id ) ) { + $s .= $sep . $this->emailUserLink(); + } + } + } + $s .= $sep; + } + + $s .= $this->menuHead( "qbmyoptions" ); + if ( $wgUser->isLoggedIn() ) { + $name = $wgUser->getName(); + $tl = $this->makeKnownLinkObj( $wgUser->getTalkPage(), + wfMsg( 'mytalk' ) ); + if ( $wgUser->getNewtalk() ) { + $tl .= " *"; + } + + $s .= $this->makeKnownLinkObj( $wgUser->getUserPage(), + wfMsg( "mypage" ) ) + . $sep . $tl + . $sep . $this->specialLink( "watchlist" ) + . $sep . $this->makeKnownLinkObj( SpecialPage::getSafeTitleFor( "Contributions", $wgUser->getName() ), + wfMsg( "mycontris" ) ) + . $sep . $this->specialLink( "preferences" ) + . $sep . $this->specialLink( "userlogout" ); + } else { + $s .= $this->specialLink( "userlogin" ); + } + + $s .= $this->menuHead( "qbspecialpages" ) + . $this->specialLink( "newpages" ) + . $sep . $this->specialLink( "imagelist" ) + . $sep . $this->specialLink( "statistics" ); + if ( $wgUser->isLoggedIn() && $wgEnableUploads ) { + $s .= $sep . $this->specialLink( "upload" ); + } + global $wgSiteSupportPage; + if( $wgSiteSupportPage) { + $s .= $sep."" + .wfMsg( "sitesupport" ).""; + } + + $s .= $sep . $this->makeKnownLinkObj( + SpecialPage::getTitleFor( 'Specialpages' ), + wfMsg( 'moredotdotdot' ) ); + + $s .= $sep . "\n
\n"; + return $s; + } + + function menuHead( $key ) + { + $s = "\n
" . wfMsg( $key ) . "
"; + return $s; + } + + function searchForm( $label = "" ) + { + global $wgRequest; + + $search = $wgRequest->getText( 'search' ); + $action = $this->escapeSearchLink(); + $s = "
searchboxes}\" method=\"get\" class=\"inline\" action=\"$action\">"; + if ( "" != $label ) { $s .= "{$label}: "; } + + $s .= "searchboxes}\" class=\"mw-searchInput\" name=\"search\" size=\"14\" value=\"" + . htmlspecialchars(substr($search,0,256)) . "\" />
" + . "searchboxes}\" class=\"searchButton\" name=\"go\" value=\"" . htmlspecialchars( wfMsg( "searcharticle" ) ) . "\" />" + . "searchboxes}\" class=\"searchButton\" name=\"fulltext\" value=\"" . htmlspecialchars( wfMsg( "search" ) ) . "\" />
"; + + // Ensure unique id's for search boxes made after the first + $this->searchboxes = $this->searchboxes == '' ? 2 : $this->searchboxes + 1; + + return $s; + } +} + + diff --git a/skins/Modern.deps.php b/skins/Modern.deps.php new file mode 100644 index 00000000..e76ab997 --- /dev/null +++ b/skins/Modern.deps.php @@ -0,0 +1,12 @@ +Powered by MediaWiki $wgVersion"; + } + + function initPage( OutputPage $out ) { + parent::initPage( $out ); + $this->skinname = 'modern'; + $this->stylename = 'modern'; + $this->template = 'ModernTemplate'; + } + + function setupSkinUserCss( OutputPage $out ){ + // Do not call parent::setupSkinUserCss(), we have our own print style + $out->addStyle( 'common/shared.css', 'screen' ); + $out->addStyle( 'modern/main.css', 'screen' ); + $out->addStyle( 'modern/print.css', 'print' ); + $out->addStyle( 'modern/rtl.css', 'screen', '', 'rtl' ); + } +} + +/** + * @todo document + * @ingroup Skins + */ +class ModernTemplate extends QuickTemplate { + var $skin; + /** + * Template filter callback for Modern skin. + * Takes an associative array of data set from a SkinTemplate-based + * class, and a wrapper for MediaWiki's localization database, and + * outputs a formatted page. + * + * @access private + */ + function execute() { + global $wgRequest; + $this->skin = $skin = $this->data['skin']; + $action = $wgRequest->getText( 'action' ); + + // Suppress warnings to prevent notices about missing indexes in $this->data + wfSuppressWarnings(); + +?> +data['xhtmlnamespaces'] as $tag => $ns) { + ?>xmlns:xml:lang="text('lang') ?>" lang="text('lang') ?>" dir="text('dir') ?>"> + + + html('headlinks') ?> + <?php $this->text('pagetitle') ?> + html('csslinks') ?> + + + data ); ?> + + + +html('headscripts') ?> +data['jsvarurl' ]) { ?> + + +data['pagecss' ]) { ?> + +data['usercss' ]) { ?> + +data['userjs' ]) { ?> + +data['userjsprev']) { ?> + +data['trackbackhtml']) print $this->data['trackbackhtml']; ?> + +data['body_ondblclick']) { ?> ondblclick="text('body_ondblclick') ?>" +data['body_onload' ]) { ?> onload="text('body_onload') ?>" + class="mediawiki text('dir') ?> text('pageclass') ?> text('skinnameclass') ?>"> + + +

data['displaytitle']!=""?$this->html('title'):$this->text('title') ?>

+ +
+
+ +
+
msg('views') ?>
+ +
+ + +
+ +
+
+ +
msg('tagline') ?>
+ data['newtalk'] ) { + ?>
html('newtalk') ?>
+ + data['sitenotice']) { + ?>
html('sitenotice') ?>
+ +
+ +
html('subtitle') ?>
+ + data['undelete']) { ?>
html('undelete') ?>
+ data['showjumplinks']) { ?> + + html('bodytext') ?> +
+ data['catlinks']) { $this->html('catlinks'); } ?> + html ('dataAfterContent') ?> +
+
+
+ +
+ + + data['sidebar']; + if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true; + if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true; + if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true; + + foreach ($sidebar as $boxName => $cont) { + if ( $boxName == 'SEARCH' ) { + $this->searchBox(); + } elseif ( $boxName == 'TOOLBOX' ) { + $this->toolbox(); + } elseif ( $boxName == 'LANGUAGES' ) { + $this->languageBox(); + } else { + $this->customBox( $boxName, $cont ); + } + } + ?> + +
+ + +
+ +
+ + +
+
msg('personaltools') ?>
+
+ +
+
+ + + + + + html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?> +html('reporttime') ?> +data['debug'] ): ?> + + + + + + + + +
+
msg('toolbox') ?>
+
+ +
+
+ + +data['language_urls'] ) { ?> +
+
msg('otherlanguages') ?>
+
+
    +data['language_urls'] as $langlink) { ?> +
  • + +
+
+
+ +
skin->tooltip('p-'.$bar) ?>> +
+
+ + + +
+
+ diff --git a/skins/MonoBook.deps.php b/skins/MonoBook.deps.php new file mode 100644 index 00000000..dda24e0e --- /dev/null +++ b/skins/MonoBook.deps.php @@ -0,0 +1,12 @@ +skinname = 'monobook'; + $this->stylename = 'monobook'; + $this->template = 'MonoBookTemplate'; + + } + + function setupSkinUserCss( OutputPage $out ) { + global $wgHandheldStyle; + + parent::setupSkinUserCss( $out ); + + // Append to the default screen common & print styles... + $out->addStyle( 'monobook/main.css', 'screen' ); + if( $wgHandheldStyle ) { + // Currently in testing... try 'chick/main.css' + $out->addStyle( $wgHandheldStyle, 'handheld' ); + } + + $out->addStyle( 'monobook/IE50Fixes.css', 'screen', 'lt IE 5.5000' ); + $out->addStyle( 'monobook/IE55Fixes.css', 'screen', 'IE 5.5000' ); + $out->addStyle( 'monobook/IE60Fixes.css', 'screen', 'IE 6' ); + $out->addStyle( 'monobook/IE70Fixes.css', 'screen', 'IE 7' ); + + $out->addStyle( 'monobook/rtl.css', 'screen', '', 'rtl' ); + } +} + +/** + * @todo document + * @ingroup Skins + */ +class MonoBookTemplate extends QuickTemplate { + var $skin; + /** + * Template filter callback for MonoBook skin. + * Takes an associative array of data set from a SkinTemplate-based + * class, and a wrapper for MediaWiki's localization database, and + * outputs a formatted page. + * + * @access private + */ + function execute() { + global $wgRequest; + $this->skin = $skin = $this->data['skin']; + $action = $wgRequest->getText( 'action' ); + + // Suppress warnings to prevent notices about missing indexes in $this->data + wfSuppressWarnings(); + +?> +data['xhtmlnamespaces'] as $tag => $ns) { + ?>xmlns:xml:lang="text('lang') ?>" lang="text('lang') ?>" dir="text('dir') ?>"> + + + html('headlinks') ?> + <?php $this->text('pagetitle') ?> + html('csslinks') ?> + + + + data ); ?> + + + +html('headscripts') ?> +data['jsvarurl']) { ?> + + +data['pagecss']) { ?> + +data['usercss']) { ?> + +data['userjs']) { ?> + +data['userjsprev']) { ?> + +data['trackbackhtml']) print $this->data['trackbackhtml']; ?> + +data['body_ondblclick']) { ?> ondblclick="text('body_ondblclick') ?>" +data['body_onload']) { ?> onload="text('body_onload') ?>" + class="mediawiki text('dir') ?> text('pageclass') ?> text('skinnameclass') ?>"> +
+
+
+ + data['sitenotice']) { ?>
html('sitenotice') ?>
+

data['displaytitle']!=""?$this->html('title'):$this->text('title') ?>

+
+

msg('tagline') ?>

+
html('subtitle') ?>
+ data['undelete']) { ?>
html('undelete') ?>
+ data['newtalk'] ) { ?>
html('newtalk') ?>
+ data['showjumplinks']) { ?> + + html('bodytext') ?> + data['catlinks']) { $this->html('catlinks'); } ?> + + data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?> +
+
+
+
+
+
+
msg('views') ?>
+ +
+
+
msg('personaltools') ?>
+
+ +
+
+ + +data['sidebar']; + if ( !isset( $sidebar['SEARCH'] ) ) $sidebar['SEARCH'] = true; + if ( !isset( $sidebar['TOOLBOX'] ) ) $sidebar['TOOLBOX'] = true; + if ( !isset( $sidebar['LANGUAGES'] ) ) $sidebar['LANGUAGES'] = true; + foreach ($sidebar as $boxName => $cont) { + if ( $boxName == 'SEARCH' ) { + $this->searchBox(); + } elseif ( $boxName == 'TOOLBOX' ) { + $this->toolbox(); + } elseif ( $boxName == 'LANGUAGES' ) { + $this->languageBox(); + } else { + $this->customBox( $boxName, $cont ); + } + } +?> +
+
+ +
+html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?> +html('reporttime') ?> +data['debug'] ): ?> + + + + + + +
+
msg('toolbox') ?>
+
+ +
+
+data['language_urls'] ) { +?> +
+
msg('otherlanguages') ?>
+
+
    +data['language_urls'] as $langlink) { ?> +
  • + +
+
+
+ +
skin->tooltip('p-'.$bar) ?>> +
+
+ + + +
+
+skinname = 'myskin'; + $this->stylename = 'myskin'; + $this->template = 'MonoBookTemplate'; + } +} diff --git a/skins/Nostalgia.php b/skins/Nostalgia.php new file mode 100644 index 00000000..2b9b2f67 --- /dev/null +++ b/skins/Nostalgia.php @@ -0,0 +1,118 @@ +\n
\n"; + $s .= "
".$this->logoText( "right" )."
"; + + $s .= $this->pageTitle(); + $s .= $this->pageSubtitle() . "\n"; + + $s .= "
"; + $s .= $this->topLinks() . "\n
"; + + $notice = wfGetSiteNotice(); + if( $notice ) { + $s .= "\n
$notice
\n"; + } + $s .= $this->pageTitleLinks(); + + $ol = $this->otherLanguages(); + if($ol) $s .= "
" . $ol; + + $cat = $this->getCategoryLinks(); + if($cat) $s .= "
" . $cat; + + $s .= "

\n
\n"; + $s .= "\n
"; + + return $s; + } + + function topLinks() { + global $wgOut, $wgUser, $wgEnableUploads; + $sep = " |\n"; + + $s = $this->mainPageLink() . $sep + . $this->specialLink( 'recentchanges' ); + + if ( $wgOut->isArticle() ) { + $s .= $sep . $this->editThisPage() + . $sep . $this->historyLink(); + } + + /* show links to different language variants */ + $s .= $this->variantLinks(); + $s .= $this->extensionTabLinks(); + if ( $wgUser->isAnon() ) { + $s .= $sep . $this->specialLink( 'userlogin' ); + } else { + $name = $wgUser->getName(); + /* show user page and user talk links */ + $s .= $sep . $this->link( $wgUser->getUserPage(), wfMsgHtml( 'mypage' ) ); + $s .= $sep . $this->link( $wgUser->getTalkPage(), wfMsgHtml( 'mytalk' ) ); + if ( $wgUser->getNewtalk() ) { + $s .= ' *'; + } + /* show watchlist link */ + $s .= $sep . $this->specialLink( 'watchlist' ); + /* show my contributions link */ + $s .= $sep . $this->link( + SpecialPage::getSafeTitleFor( "Contributions", $wgUser->getName() ), + wfMsgHtml( 'mycontris' ) ); + /* show my preferences link */ + $s .= $sep . $this->specialLink( 'preferences' ); + /* show upload file link */ + if ( $wgEnableUploads ) { + $s .= $sep . $this->specialLink( 'upload' ); + } + /* show log out link */ + $s .= $sep . $this->specialLink( 'userlogout' ); + } + + $s .= $sep . $this->specialPagesList(); + + return $s; + } + + function doAfterContent() { + $s = "\n

\n"; + + $s .= "\n\n\n"; + + return $s; + } +} + + diff --git a/skins/Simple.deps.php b/skins/Simple.deps.php new file mode 100644 index 00000000..99fadc6d --- /dev/null +++ b/skins/Simple.deps.php @@ -0,0 +1,13 @@ +skinname = 'simple'; + $this->stylename = 'simple'; + $this->template = 'MonoBookTemplate'; + } + + function setupSkinUserCss( OutputPage $out ){ + $out->addStyle( 'simple/main.css', 'screen' ); + $out->addStyle( 'simple/rtl.css', '', '', 'rtl' ); + + } + + function reallyGenerateUserStylesheet() { + global $wgUser; + $s = ''; + if (($undopt = $wgUser->getOption("underline")) != 2) { + $underline = $undopt ? 'underline' : 'none'; + $s .= "a { text-decoration: $underline; }\n"; + } + if ($wgUser->getOption('highlightbroken')) { + $s .= "a.new, #quickbar a.new { text-decoration: line-through; }\n"; + } else { + $s .= <<getOption('justify')) { + $s .= "#article, #bodyContent { text-align: justify; }\n"; + } + if (!$wgUser->getOption('showtoc')) { + $s .= "#toc { display: none; }\n"; + } + if (!$wgUser->getOption('editsection')) { + $s .= ".editsection { display: none; }\n"; + } + return $s; + } +} + + diff --git a/skins/Skin.sample b/skins/Skin.sample new file mode 100644 index 00000000..c011c143 --- /dev/null +++ b/skins/Skin.sample @@ -0,0 +1,19 @@ + diff --git a/skins/Standard.php b/skins/Standard.php new file mode 100644 index 00000000..1f3cab95 --- /dev/null +++ b/skins/Standard.php @@ -0,0 +1,296 @@ +qbSetting() ) { # Floating left + $s .= "\n"; + } + return $s; + } + + /** + * + */ + function setupSkinUserCss( OutputPage $out ){ + if ( 3 == $this->qbSetting() ) { # Floating left + $out->addStyle( 'common/quickbar.css' ); + } else if ( 4 == $this->qbSetting() ) { # Floating right + $out->addStyle( 'common/quickbar-right.css' ); + } + parent::setupSkinUserCss( $out ); + } + + /** + * + */ + function reallyGenerateUserStylesheet() { + $s = parent::reallyGenerateUserStylesheet(); + $qb = $this->qbSetting(); + + if ( 2 == $qb ) { # Right + $s .= "#quickbar { position: absolute; top: 4px; right: 4px; " . + "border-left: 2px solid #000000; }\n" . + "#article, #mw-data-after-content { margin-left: 4px; margin-right: 152px; }\n"; + } else if ( 1 == $qb || 3 == $qb ) { + $s .= "#quickbar { position: absolute; top: 4px; left: 4px; " . + "border-right: 1px solid gray; }\n" . + "#article, #mw-data-after-content { margin-left: 152px; margin-right: 4px; }\n"; + } else if ( 4 == $qb) { + $s .= "#quickbar { border-right: 1px solid gray; }\n" . + "#article, #mw-data-after-content { margin-right: 152px; margin-left: 4px; }\n"; + } + return $s; + } + + /** + * + */ + function getBodyOptions() { + $a = parent::getBodyOptions(); + + if ( 3 == $this->qbSetting() ) { # Floating left + $qb = "setup(\"quickbar\")"; + if($a["onload"]) { + $a["onload"] .= ";$qb"; + } else { + $a["onload"] = $qb; + } + } + return $a; + } + + function doAfterContent() { + global $wgContLang; + $fname = 'SkinStandard::doAfterContent'; + wfProfileIn( $fname ); + wfProfileIn( $fname.'-1' ); + + $s = "\n
\n"; + $s .= "\n\n\n"; + + wfProfileOut( $fname.'-3' ); + wfProfileIn( $fname.'-4' ); + if ( 0 != $qb ) { $s .= $this->quickBar(); } + wfProfileOut( $fname.'-4' ); + wfProfileOut( $fname ); + return $s; + } + + function quickBar() { + global $wgOut, $wgTitle, $wgUser, $wgRequest, $wgContLang; + global $wgEnableUploads, $wgRemoteUploads; + + $fname = 'Skin::quickBar'; + wfProfileIn( $fname ); + + $action = $wgRequest->getText( 'action' ); + $wpPreview = $wgRequest->getBool( 'wpPreview' ); + $tns=$wgTitle->getNamespace(); + + $s = "\n
"; + $s .= "\n" . $this->logoText() . "\n
"; + + $sep = "\n
"; + + # Use the first heading from the Monobook sidebar as the "browse" section + $bar = $this->buildSidebar(); + unset( $bar['SEARCH'] ); + unset( $bar['LANGUAGES'] ); + unset( $bar['TOOLBOX'] ); + $browseLinks = reset( $bar ); + + foreach ( $browseLinks as $link ) { + if ( $link['text'] != '-' ) { + $s .= "" . + htmlspecialchars( $link['text'] ) . '' . $sep; + } + } + + if( $wgUser->isLoggedIn() ) { + $s.= $this->specialLink( 'watchlist' ) ; + $s .= $sep . $this->makeKnownLink( $wgContLang->specialPage( 'Contributions' ), + wfMsg( 'mycontris' ), 'target=' . wfUrlencode($wgUser->getName() ) ); + } + // only show watchlist link if logged in + $s .= "\n
"; + $articleExists = $wgTitle->getArticleId(); + if ( $wgOut->isArticle() || $action =='edit' || $action =='history' || $wpPreview) { + if($wgOut->isArticle()) { + $s .= '' . $this->editThisPage() . ''; + } else { # backlink to the article in edit or history mode + if($articleExists){ # no backlink if no article + switch($tns) { + case NS_TALK: + case NS_USER_TALK: + case NS_PROJECT_TALK: + case NS_FILE_TALK: + case NS_MEDIAWIKI_TALK: + case NS_TEMPLATE_TALK: + case NS_HELP_TALK: + case NS_CATEGORY_TALK: + $text = wfMsg('viewtalkpage'); + break; + case NS_MAIN: + $text = wfMsg( 'articlepage' ); + break; + case NS_USER: + $text = wfMsg( 'userpage' ); + break; + case NS_PROJECT: + $text = wfMsg( 'projectpage' ); + break; + case NS_FILE: + $text = wfMsg( 'imagepage' ); + break; + case NS_MEDIAWIKI: + $text = wfMsg( 'mediawikipage' ); + break; + case NS_TEMPLATE: + $text = wfMsg( 'templatepage' ); + break; + case NS_HELP: + $text = wfMsg( 'viewhelppage' ); + break; + case NS_CATEGORY: + $text = wfMsg( 'categorypage' ); + break; + default: + $text= wfMsg( 'articlepage' ); + } + + $link = $wgTitle->getText(); + if ($nstext = $wgContLang->getNsText($tns) ) { # add namespace if necessary + $link = $nstext . ':' . $link ; + } + + $s .= $this->makeLink( $link, $text ); + } elseif( $wgTitle->getNamespace() != NS_SPECIAL ) { + # we just throw in a "New page" text to tell the user that he's in edit mode, + # and to avoid messing with the separator that is prepended to the next item + $s .= '' . wfMsg('newpage') . ''; + } + + } + + # "Post a comment" link + if( ( $wgTitle->isTalkPage() || $wgOut->showNewSectionLink() ) && $action != 'edit' && !$wpPreview ) + $s .= '
' . $this->makeKnownLinkObj( $wgTitle, wfMsg( 'postcomment' ), 'action=edit§ion=new' ); + + #if( $tns%2 && $action!='edit' && !$wpPreview) { + #$s.= '
'.$this->makeKnownLink($wgTitle->getPrefixedText(),wfMsg('postcomment'),'action=edit§ion=new'); + #} + + /* + watching could cause problems in edit mode: + if user edits article, then loads "watch this article" in background and then saves + article with "Watch this article" checkbox disabled, the article is transparently + unwatched. Therefore we do not show the "Watch this page" link in edit mode + */ + if ( $wgUser->isLoggedIn() && $articleExists) { + if($action!='edit' && $action != 'submit' ) + { + $s .= $sep . $this->watchThisPage(); + } + if ( $wgTitle->userCan( 'edit' ) ) + $s .= $sep . $this->moveThisPage(); + } + if ( $wgUser->isAllowed('delete') and $articleExists ) { + $s .= $sep . $this->deleteThisPage() . + $sep . $this->protectThisPage(); + } + $s .= $sep . $this->talkLink(); + if ($articleExists && $action !='history') { + $s .= $sep . $this->historyLink(); + } + $s.=$sep . $this->whatLinksHere(); + + if($wgOut->isArticleRelated()) { + $s .= $sep . $this->watchPageLinksLink(); + } + + if ( NS_USER == $wgTitle->getNamespace() + || $wgTitle->getNamespace() == NS_USER_TALK ) { + + $id=User::idFromName($wgTitle->getText()); + $ip=User::isIP($wgTitle->getText()); + + if( $id || $ip ){ + $s .= $sep . $this->userContribsLink(); + } + if( $this->showEmailUser( $id ) ) { + $s .= $sep . $this->emailUserLink(); + } + } + $s .= "\n

"; + } + + if ( $wgUser->isLoggedIn() && ( $wgEnableUploads || $wgRemoteUploads ) ) { + $s .= $this->specialLink( 'upload' ) . $sep; + } + $s .= $this->specialLink( 'specialpages' ); + + global $wgSiteSupportPage; + if( $wgSiteSupportPage ) { + $s .= "\n
' . wfMsg( 'sitesupport' ) . ''; + } + + $s .= "\n
\n"; + wfProfileOut( $fname ); + return $s; + } + + +} diff --git a/skins/chick/IE50Fixes.css b/skins/chick/IE50Fixes.css new file mode 100644 index 00000000..4a193e94 --- /dev/null +++ b/skins/chick/IE50Fixes.css @@ -0,0 +1,67 @@ +/* +** IE5.0 Fix Stylesheet +*/ + +#column-content { + margin: 0 !important; + float: none; +} +#column-content #content { + margin-top: 3em; + height: 1%; +} +#column-one { + position: absolute; + overflow: visible; + top: 0; + left: 0; + z-index: 3; +} +#footer { + margin: 0 0 0 13.6em; +} + +/* IE 5 & 5.5 interpret keyword sizes one off */ +body { font-size: xx-small; } +/* +** the edit tabs +*/ +#p-cactions li { + float: left; + padding-top: 0; + padding-bottom: 0 !important; + height: 0.9em; +} +#p-cactions li a { + display: block; + padding-bottom: 0.045em; +} +#p-cactions li.selected a { + padding-bottom: 0.17em; +} +#p-cactions li a:hover { + padding-bottom: 0.17em; +} +/* 5.0 doesn't like the background icon for external links and user */ +.link-external, +.external { + background: none; + padding: 0; +} +#p-personal ul { float: right } +#p-personal li { float: left } +li#pt-userpage, +li#pt-anonuserpage, +li#pt-login, +li#pt-logout { + background: none; + padding-left: none; +} +.visualClear { + width:100%; + height: 0px; + padding:0; + margin:0; +} +#firstHeading { margin-bottom: 0.3em; } +/*div{ border:1px solid Red !important;}*/ diff --git a/skins/chick/IE55Fixes.css b/skins/chick/IE55Fixes.css new file mode 100644 index 00000000..2f785612 --- /dev/null +++ b/skins/chick/IE55Fixes.css @@ -0,0 +1,81 @@ +/* IE5.5/win- only fixes */ + +#column-content { + float: none; + margin-left: 0; + height: 1%; +} +#column-content #content { + position: relative; + z-index: 5; + margin-left: 12.2em; + margin-top: 3em; + height: 1%; +} +#column-one { + position: absolute; + top: 0; + left: 0; + z-index: 4; + width: 100%; +} +#footer { + margin-left: 13.6em; + border-left: 1px solid #fabd23; +} + +/*#bodyContent div, +#bodyContent pre { overflow: auto; }*/ + +#p-personal { padding-bottom: 0.1em; } + +body { font-size: xx-small; } + +#p-cactions { + width: 76% !important; + z-index: 3 !important; + float: none; +} +#p-cactions li { + padding-bottom: 0 !important; + border: none; + background-color: transparent; + cursor: default; + float: none !important; +} +#p-cactions li a { + display: inline-block !important; + vertical-align: top; + padding-bottom: 0; + border: solid #aaa; + border-width: 1px 1px 0; +} +#p-cactions li.selected a { + border-color: #fabd23; + padding-bottom: 0.17em; +} +#p-cactions li a:hover { + padding-bottom: 0.17em; +} +.portlet { + overflow:hidden; +} +#bodyContent a.external { + background: url(external.png) center right no-repeat; + padding-right: 13px; +} +/* show the hand */ +#p-logo a, +#p-logo a:hover { + cursor: pointer; +} +.visualClear { + width:90%; + height: 1px; + padding:0; + margin:0; +} + +#editform { + width: 100%; +} diff --git a/skins/chick/IE60Fixes.css b/skins/chick/IE60Fixes.css new file mode 100644 index 00000000..feec15f1 --- /dev/null +++ b/skins/chick/IE60Fixes.css @@ -0,0 +1,79 @@ +/* 6.0 - only fixes */ +/* content area */ +/* workaround for various ie float bugs */ +#column-content { + float: none; + margin-left: 0; + height: 1%; +} +#column-content #content { + margin-left: 12.2em; + margin-top: 3em; + height: 1%; +} +#column-one { + position: absolute; + top: 0; + left: 0; + z-index: 4; +} +#footer { + margin-left: 13.6em; + border-left: 1px solid #fabd23; +} + +/* the tabs */ + +#p-cactions { + z-index: 3; +} + +#p-cactions li { + padding-bottom: 0 !important; + border: none; + background-color: transparent; + cursor: default; + float: none !important; +} +#p-cactions li a { + display: inline-block !important; + vertical-align: top; + padding-bottom: 0; + border: solid #aaa; + border-width: 1px 1px 0; +} +#p-cactions li.selected a { + border-color: #fabd23; + padding-bottom: 0.17em; +} +#p-cactions li a:hover { + padding-bottom: 0.17em; +} +#portal-personaltools { + padding-bottom: 0.1em; +} +#bodyContent a.external { + background: url(external.png) center right no-repeat; + padding-right: 13px; +} + +/* show the hand */ +#p-logo a, +#p-logo a:hover { + cursor: pointer; +} +div.visualClear { + width:100%; + line-height: 0; +} +textarea { + width: 96%; +} + +div.editsection, +#catlinks, +div.tright, +div.tleft { + position: relative; +} +/*{ border:1px solid Red !important;}*/ diff --git a/skins/chick/main.css b/skins/chick/main.css new file mode 100644 index 00000000..fde03301 --- /dev/null +++ b/skins/chick/main.css @@ -0,0 +1,443 @@ +/* +** MediaWiki 'chick' style sheet for PDAs or other small-screen devices. +** Copyright Timwi +** License: GPL (http://www.gnu.org/copyleft/gpl.html) +** +** Loosely based on Monobook by Gabriel Wicke +*/ + +body { + font-family: sans-serif; + color: Black; + margin: 0; + padding: 0.3em; +} + +a { color: #002bb8; } +a:visited { color: #5a3696; } +a:active { color: #ffa500; } +a.stub { color: #772233; } +a.new, +#p-personal a.new { color:#ba0000; } +a.new:visited, +#p-personal a.new:visited { color:#a55858; } + +img { + border: none; + vertical-align: middle; +} +p { + margin: 0.4em 0em 0.5em 0em; + line-height: 1.5em; +} + +p img { margin: 0; } + +hr { + height: 1px; + color: #aaaaaa; + background-color: #aaaaaa; + border: 0; + margin: 0.2em 0 0.2em 0; +} + +h1, h2, h3, h4, h5, h6 { + color: Black; + background: none; + font-weight: normal; + margin: 0; + padding-top: 0.5em; + padding-bottom: 0.17em; + border-bottom: 1px solid #aaaaaa; +} +.editsection { + font-weight: normal; +} +h1 { font-size: 188%; } +h1 .editsection { font-size: 53.2%; } +h2 { font-size: 150%; } +h2 .editsection { font-size: 66.7%; } +h3, h4, h5, h6 { + border-bottom: none; + font-weight: bold; +} +h3 { font-size: 132%; } +h3 .editsection { font-size: 75.8%; } +h4 { font-size: 116%; } +h4 .editsection { font-size: 86.2%; } +h5 { font-size: 100%; } +h6 { font-size: 80%; } +h6 .editsection { font-size: 125%; } + +ul { + line-height: 1.5em; + margin: 0.3em 0 0 1.5em; + padding:0; +} +ol { + line-height: 1.5em; + margin: 0.3em 0 0 3.2em; + padding:0; + list-style-image: none; +} +li { margin-bottom: 0.1em; } +dt { + font-weight: bold; + margin-bottom: 0.1em; +} +dl{ + margin-top: 0.2em; + margin-bottom: 0.5em; +} +dd { + line-height: 1.5em; + margin-left: 2em; + margin-bottom: 0.1em; +} + +fieldset { + border: 1px solid #2f6fab; + margin: 1em 0em 1em 0em; + padding: 0em 1em 1em 1em; + line-height: 1.5em; +} +legend { + background: White; + padding: 0.5em; + font-size: 95%; +} +form { + border: none; + margin: 0; +} + +textarea { + border: 1px solid #2f6fab; + color: Black; + background-color: white; + width: 100%; + padding: 0.1em; + overflow: auto; +} +/* hide this from ie/mac and konq2.2 */ +@media All { + head:first-child+body input { + visibility: visible; + border: 1px solid #2f6fab; + color: Black; + background-color: white; + vertical-align: middle; + padding: 0.2em; + } +} +input.historysubmit { + padding: 0 0.3em 0.3em 0.3em !important; + font-size: 94%; + cursor: pointer; + height: 1.7em !important; + margin-left: 1.6em; +} +input[type="radio"], +input[type="checkbox"] { border:none; } +select { + border: 1px solid #2f6fab; + color: Black; + vertical-align: top; +} +abbr, acronym, .explain { + border-bottom: 1px dotted Black; + color: Black; + background: none; + cursor: help; +} +q { + font-family: Times, "Times New Roman", serif; + font-style: italic; +} +code { background-color: #f9f9f9; } +pre { + padding: 1em; + border: 1px dashed #2f6fab; + color: Black; + background-color: #f9f9f9; + line-height: 1.1em; +} + +/* +** the main content area +*/ + +span.subpages { display: block; } + +/* Some space under the headers in the content area */ +#bodyContent h1, #bodyContent h2 { margin-bottom:0.6em; } +#bodyContent h3, +#bodyContent h4, +#bodyContent h5 { + margin-bottom: 0.3em; +} +#firstHeading { margin-bottom:0.1em; } + +/* user notification thing */ +.usermessage { + background-color: #ffce7b; + border: 1px solid #ffa500; + color: Black; + font-weight: bold; + margin: 0.1em 0 0 0; + padding: 2px 5px; + vertical-align: middle; +} +#siteNotice { + text-align: center; + font-size: 95%; + padding: 0 0.9em 0 0.9em; +} +#siteNotice p { margin: 0; padding: 0; } +.error { + color: red; + font-size: larger; +} +.catlinks { + border:1px solid #aaaaaa; + background-color:#f9f9f9; + padding: 2px 5px; + margin: 0.1em 0 0 0; + clear: both; +} +.catlinks { margin: 0; padding: 0; } + + +/* currently unused, intended to be used by a metadata box +in the bottom-right corner of the content area */ +.documentDescription { + /* The summary text describing the document */ + font-weight: bold; + display: block; + margin: 1em 0em; + line-height: 1.5em; +} +.documentByLine { + text-align: right; + font-size: 90%; + clear: both; + font-weight: normal; + color: #76797c; +} + +/* emulate center */ +.center { + width: 100%; + text-align: center; +} +*.center * { + margin-left: auto; + margin-right: auto; +} +/* small for tables and similar */ +.small, .small * { font-size: 94%; } +table.small { font-size: 100% } + +/* +** content styles +*/ + +#toc { + /*border:1px solid #2f6fab;*/ + border:1px solid #aaaaaa; + background-color:#f9f9f9; + padding:5px; + font-size: 95%; +} +#toc ul { margin-left: 2em; } +#toc .toctoggle { font-size: 94%; } +#toc .editsection { + margin-top: 0.7em; + font-size: 94%; +} + +/* images */ +div.floatright, table.floatright { + clear: right; + float: right; + margin: 0; + position: relative; + border: 0.5em solid White; + border-width: 0.5em 0 0.8em 1.4em; +} +div.floatright p { font-style: italic; } +div.floatleft, table.floatleft { + float: left; + clear: left; + margin: 0.3em 0.5em 0.5em 0; + position: relative; + border: 0.5em solid White; + border-width: 0.5em 1.4em 0.8em 0; +} +div.floatleft p { font-style: italic; } +/* thumbnails */ +div.thumb { + margin-bottom: 0.5em; + border-style: solid; border-color: White; + width: auto; +} +div.thumb div { + border:1px solid #cccccc; + padding: 3px !important; + background-color:#f9f9f9; + font-size: 94%; + text-align: center; + overflow: hidden; +} +div.thumb div a img { + border:1px solid #cccccc; +} +div.thumb div div.thumbcaption { + border: none; + text-align: left; + line-height: 1.4em; + padding: 0.3em 0 0.1em 0; +} +div.magnify { + float: right; + border: none !important; + background: none !important; +} +div.magnify a, div.magnify img { + display: block; + border: none !important; + background: none !important; +} +div.tright { + clear: right; + float: right; + border-width: 0.5em 0 0.8em 1.4em; +} +div.tleft { + float: left; + clear: left; + margin-right:0.5em; + border-width: 0.5em 1.4em 0.8em 0; +} +img.thumbborder { + border: 1px solid #dddddd; +} + +.hiddenStructure { + display: none; +} + +/* +** classes for special content elements like town boxes +** intended to be referenced directly from the wiki src +*/ + +/* +** User styles +*/ +/* table standards */ +table.rimage { + float:right; + position:relative; + margin-left:1em; + margin-bottom:1em; + text-align:center; +} +.toccolours { + border:1px solid #aaaaaa; + background-color:#f9f9f9; + padding:5px; + font-size: 95%; +} + +/* +** edit views etc +*/ +.special li { + line-height: 1.4em; + margin: 0; + padding: 0; +} + +a.external { color: #3366bb; } +div#footer { text-align: center; } +ul#f-list li { list-style: none; text-align: center; } +div.portlet { margin: 0.5em 0; } + +.redirectText { + font-size:150%; + margin:5px; +} + +ul.special li.not-patrolled, ol.special li.not-patrolled { + background-color: #ffa; +} +div.patrollink { + font-size: 75%; + text-align: right; +} +span.newpage, span.minor { + font-weight: bold; +} + +span.updatedmarker { + color:black; + background-color:#00FF00; +} + +table.gallery { + border: 1px solid #cccccc; + margin: 2px; + padding: 2px; + background-color:#ffffff; +} + +table.gallery tr { + vertical-align:top; +} + +table.gallery td { + vertical-align:top; + background-color:#f9f9f9; + border: solid 2px white; +} + +div.gallerybox { + margin: 2px; + width: 150px; +} + +div.gallerybox div.thumb { + text-align: center; + border: 1px solid #cccccc; + margin: 2px; +} + +div.gallerytext { + overflow: hidden; + font-size: 94%; + padding: 2px 4px; +} + +#xjump-to-nav { + display: none; +} + +.templatesUsed { margin-top: 1.5em; } + +.printfooter { + display: none; +} + +#footer { + background-color: white; + border-top: 1px solid #fabd23; + border-bottom: 1px solid #fabd23; + margin: .6em 0 1em 0; + padding: .4em 0 1.2em 0; + text-align: center; + font-size: 90%; +} +#f-poweredbyico, #f-copyrightico { + display: inline; +} \ No newline at end of file diff --git a/skins/common/IEFixes.js b/skins/common/IEFixes.js new file mode 100644 index 00000000..f85f506c --- /dev/null +++ b/skins/common/IEFixes.js @@ -0,0 +1,127 @@ +// IE fixes javascript + +var isMSIE55 = (window.showModalDialog && window.clipboardData && window.createPopup); +var doneIETransform; +var doneIEAlphaFix; + +if (document.attachEvent) + document.attachEvent('onreadystatechange', hookit); + +function hookit() { + if (!doneIETransform && document.getElementById && document.getElementById('bodyContent')) { + doneIETransform = true; + relativeforfloats(); + fixalpha(); + } +} + +// png alpha transparency fixes +function fixalpha() { + // bg + if (isMSIE55 && !doneIEAlphaFix) + { + var plogo = document.getElementById('p-logo'); + if (!plogo) return; + + var logoa = plogo.getElementsByTagName('a')[0]; + if (!logoa) return; + + var bg = logoa.currentStyle.backgroundImage; + var imageUrl = bg.substring(5, bg.length-2); + + doneIEAlphaFix = true; + + if (imageUrl.substr(imageUrl.length-4).toLowerCase() == '.png') { + var logospan = logoa.appendChild(document.createElement('span')); + + logoa.style.backgroundImage = 'none'; + logospan.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + imageUrl + ')'; + logospan.style.height = '100%'; + logospan.style.position = 'absolute'; + logospan.style.width = logoa.currentStyle.width; + logospan.style.cursor = 'hand'; + // Center image with hack for IE5.5 + if (document.documentElement.dir == "rtl") + { + logospan.style.right = '50%'; + logospan.style.setExpression('marginRight', '"-" + (this.offsetWidth / 2) + "px"'); + } + else + { + logospan.style.left = '50%'; + logospan.style.setExpression('marginLeft', '"-" + (this.offsetWidth / 2) + "px"'); + } + logospan.style.top = '50%'; + logospan.style.setExpression('marginTop', '"-" + (this.offsetHeight / 2) + "px"'); + + var linkFix = logoa.appendChild(logoa.cloneNode()); + linkFix.style.position = 'absolute'; + linkFix.style.height = '100%'; + linkFix.style.width = '100%'; + } + } +} + +// fix ie6 disappering float bug +function relativeforfloats() { + var bc = document.getElementById('bodyContent'); + if (bc) { + var tables = bc.getElementsByTagName('table'); + var divs = bc.getElementsByTagName('div'); + } + setrelative(tables); + setrelative(divs); +} +function setrelative (nodes) { + var i = 0; + while (i < nodes.length) { + if(((nodes[i].style.float && nodes[i].style.float != ('none') || + (nodes[i].align && nodes[i].align != ('none'))) && + (!nodes[i].style.position || nodes[i].style.position != 'relative'))) + { + nodes[i].style.position = 'relative'; + } + i++; + } +} + + +// Expand links for printing + +String.prototype.hasClass = function(classWanted) +{ + var classArr = this.split(/\s/); + for (var i=0; i"; + } + } + else { + alert("bad target for sajax_do_call: not a function or object: " + target); + } + + return; + } + + sajax_debug(func_name + " uri = " + uri + " / post = " + post_data); + x.send(post_data); + sajax_debug(func_name + " waiting.."); + delete x; + + return true; +} + +/** + * @return boolean whether the browser supports XMLHttpRequest + */ +function wfSupportsAjax() { + var request = sajax_init_object(); + var supportsAjax = request ? true : false; + delete request; + return supportsAjax; +} + diff --git a/skins/common/ajaxwatch.js b/skins/common/ajaxwatch.js new file mode 100644 index 00000000..c8d90b80 --- /dev/null +++ b/skins/common/ajaxwatch.js @@ -0,0 +1,153 @@ +// dependencies: +// * ajax.js: + /*extern sajax_init_object, sajax_do_call */ +// * wikibits.js: + /*extern changeText, akeytt, hookEvent, jsMsg */ + +// These should have been initialized in the generated js +/*extern wgAjaxWatch, wgPageName */ + +if(typeof wgAjaxWatch === "undefined" || !wgAjaxWatch) { + var wgAjaxWatch = { + watchMsg: "Watch", + unwatchMsg: "Unwatch", + watchingMsg: "Watching...", + unwatchingMsg: "Unwatching..." + }; +} + +wgAjaxWatch.supported = true; // supported on current page and by browser +wgAjaxWatch.watching = false; // currently watching page +wgAjaxWatch.inprogress = false; // ajax request in progress +wgAjaxWatch.timeoutID = null; // see wgAjaxWatch.ajaxCall +wgAjaxWatch.watchLinks = []; // "watch"/"unwatch" links + +wgAjaxWatch.setLinkText = function(newText) { + for (i = 0; i < wgAjaxWatch.watchLinks.length; i++) { + changeText(wgAjaxWatch.watchLinks[i], newText); + } +}; + +wgAjaxWatch.setLinkID = function(newId) { + // We can only set the first one + wgAjaxWatch.watchLinks[0].setAttribute( 'id', newId ); + akeytt(newId); // update tooltips for Monobook +}; + +wgAjaxWatch.setHref = function( string ) { + for( i = 0; i < wgAjaxWatch.watchLinks.length; i++ ) { + if( string == 'watch' ) { + wgAjaxWatch.watchLinks[i].href = wgAjaxWatch.watchLinks[i].href + .replace( /&action=unwatch/, '&action=watch' ); + } else if( string == 'unwatch' ) { + wgAjaxWatch.watchLinks[i].href = wgAjaxWatch.watchLinks[i].href + .replace( /&action=watch/, '&action=unwatch' ); + } + } +} + +wgAjaxWatch.ajaxCall = function() { + if(!wgAjaxWatch.supported) { + return true; + } else if (wgAjaxWatch.inprogress) { + return false; + } + if(!wfSupportsAjax()) { + // Lazy initialization so we don't toss up + // ActiveX warnings on initial page load + // for IE 6 users with security settings. + wgAjaxWatch.supported = false; + return true; + } + + wgAjaxWatch.inprogress = true; + wgAjaxWatch.setLinkText( wgAjaxWatch.watching + ? wgAjaxWatch.unwatchingMsg : wgAjaxWatch.watchingMsg); + sajax_do_call( + "wfAjaxWatch", + [wgPageName, (wgAjaxWatch.watching ? "u" : "w")], + wgAjaxWatch.processResult + ); + // if the request isn't done in 10 seconds, allow user to try again + wgAjaxWatch.timeoutID = window.setTimeout( + function() { wgAjaxWatch.inprogress = false; }, + 10000 + ); + return false; +}; + +wgAjaxWatch.processResult = function(request) { + if(!wgAjaxWatch.supported) { + return; + } + var response = request.responseText; + if( response.match(/^/) ) { + wgAjaxWatch.watching = true; + wgAjaxWatch.setLinkText(wgAjaxWatch.unwatchMsg); + wgAjaxWatch.setLinkID("ca-unwatch"); + wgAjaxWatch.setHref( 'unwatch' ); + } else if( response.match(/^/) ) { + wgAjaxWatch.watching = false; + wgAjaxWatch.setLinkText(wgAjaxWatch.watchMsg); + wgAjaxWatch.setLinkID("ca-watch"); + wgAjaxWatch.setHref( 'watch' ); + } else { + // Either we got a error code or it just plain broke. + window.location.href = wgAjaxWatch.watchLinks[0].href; + return; + } + jsMsg( response.substr(4), 'watch' ); + wgAjaxWatch.inprogress = false; + if(wgAjaxWatch.timeoutID) { + window.clearTimeout(wgAjaxWatch.timeoutID); + } + // Bug 12395 - avoid some watch link confusion on edit + var watchthis = document.getElementById("wpWatchthis"); + if( watchthis && response.match(/^<[uw]#>/) ) { + watchthis.checked = response.match(/^/) ? "checked" : ""; + } + return; +}; + +wgAjaxWatch.onLoad = function() { + // This document structure hardcoding sucks. We should make a class and + // toss all this out the window. + var el1 = document.getElementById("ca-unwatch"); + var el2 = null; + if (!el1) { + el1 = document.getElementById("mw-unwatch-link1"); + el2 = document.getElementById("mw-unwatch-link2"); + } + if(el1) { + wgAjaxWatch.watching = true; + } else { + wgAjaxWatch.watching = false; + el1 = document.getElementById("ca-watch"); + if (!el1) { + el1 = document.getElementById("mw-watch-link1"); + el2 = document.getElementById("mw-watch-link2"); + } + if(!el1) { + wgAjaxWatch.supported = false; + return; + } + } + + // The id can be either for the parent (Monobook-based) or the element + // itself (non-Monobook) + wgAjaxWatch.watchLinks.push( el1.tagName.toLowerCase() == "a" + ? el1 : el1.firstChild ); + + if( el2 ) { + wgAjaxWatch.watchLinks.push( el2 ); + } + + // I couldn't get for (watchLink in wgAjaxWatch.watchLinks) to work, if + // you can be my guest. + for( i = 0; i < wgAjaxWatch.watchLinks.length; i++ ) { + wgAjaxWatch.watchLinks[i].onclick = wgAjaxWatch.ajaxCall; + } + return; +}; + +hookEvent("load", wgAjaxWatch.onLoad); diff --git a/skins/common/allmessages.js b/skins/common/allmessages.js new file mode 100644 index 00000000..9f07a481 --- /dev/null +++ b/skins/common/allmessages.js @@ -0,0 +1,83 @@ +var allmessages_nodelist = false; +var allmessages_modified = false; +var allmessages_timeout = false; +var allmessages_running = false; + +function allmessagesmodified() { + allmessages_modified = !allmessages_modified; + allmessagesfilter(); +} + +function allmessagesfilter() { + if ( allmessages_timeout ) + window.clearTimeout( allmessages_timeout ); + + if ( !allmessages_running ) + allmessages_timeout = window.setTimeout( 'allmessagesfilter_do();', 500 ); +} + +function allmessagesfilter_do() { + if ( !allmessages_nodelist ) + return; + + var text = document.getElementById('allmessagesinput').value.toLowerCase(); + var nodef = allmessages_modified; + + allmessages_running = true; + + for ( var name in allmessages_nodelist ) { + var nodes = allmessages_nodelist[name]; + var display = ( name.toLowerCase().indexOf( text ) == -1 ? 'none' : '' ); + + for ( var i = 0; i < nodes.length; i++) + nodes[i].style.display = + ( nodes[i].className == "def" && nodef + ? 'none' : display ); + } + + if ( text != document.getElementById('allmessagesinput').value.toLowerCase() || + nodef != allmessages_modified ) + allmessagesfilter_do(); // repeat + + allmessages_running = false; +} + +function allmessagesfilter_init() { + if ( allmessages_nodelist ) + return; + + var nodelist = new Array(); + var templist = new Array(); + + var table = document.getElementById('allmessagestable'); + if ( !table ) return; + + var rows = document.getElementsByTagName('tr'); + for ( var i = 0; i < rows.length; i++ ) { + var id = rows[i].getAttribute('id') + if ( id && id.substring(0,16) != 'sp-allmessages-r' ) continue; + templist[ id ] = rows[i]; + } + + var spans = table.getElementsByTagName('span'); + for ( var i = 0; i < spans.length; i++ ) { + var id = spans[i].getAttribute('id') + if ( id && id.substring(0,17) != 'sp-allmessages-i-' ) continue; + if ( !spans[i].firstChild || spans[i].firstChild.nodeType != 3 ) continue; + + var nodes = new Array(); + var row1 = templist[ id.replace('i', 'r1') ]; + var row2 = templist[ id.replace('i', 'r2') ]; + + if ( row1 ) nodes[nodes.length] = row1; + if ( row2 ) nodes[nodes.length] = row2; + nodelist[ spans[i].firstChild.nodeValue ] = nodes; + } + + var k = document.getElementById('allmessagesfilter'); + if (k) { k.style.display = ''; } + + allmessages_nodelist = nodelist; +} + +hookEvent( "load", allmessagesfilter_init ); diff --git a/skins/common/block.js b/skins/common/block.js new file mode 100644 index 00000000..6f7be0cd --- /dev/null +++ b/skins/common/block.js @@ -0,0 +1,54 @@ +addOnloadHook(considerChangingExpiryFocus); + +function considerChangingExpiryFocus() { + if (!document.getElementById) { + return; + } + var drop = document.getElementById('wpBlockExpiry'); + if (!drop) { + return; + } + var field = document.getElementById('wpBlockOther'); + if (!field) { + return; + } + var opt = drop.value; + if (opt == 'other') { + field.style.display = ''; + } else { + field.style.display = 'none'; + } +} + +function updateBlockOptions() { + if (!document.getElementById) + return; + + var target = document.getElementById('mw-bi-target'); + if (!target) + return; + + var addy = target.value; + var isEmpty = addy.match(/^\s*$/); + var isIp = addy.match(/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|:(:[0-9A-Fa-f]{1,4}){1,7}|[0-9A-Fa-f]{1,4}(:{1,2}[0-9A-Fa-f]{1,4}|::$){1,7})(\/\d+)?$/); + + var anonymousRow = document.getElementById('wpAnonOnlyRow'); + if( anonymousRow ) { + anonymousRow.style.display = (!isIp && !isEmpty) ? 'none' : ''; + } + + var autoblockRow = document.getElementById('wpEnableAutoblockRow'); + if( autoblockRow ) { + autoblockRow.style.display = isIp && !isEmpty ? 'none' : ''; + } + + var emailblockRow = document.getElementById('wpEnableEmailBan'); + if( emailblockRow ) { + emailblockRow.style.display = isIp && !isEmpty ? 'none' : ''; + } + + var hideuserRow = document.getElementById('wpEnableHideUser'); + if( hideuserRow ) { + hideuserRow.style.display = isIp && !isEmpty ? 'none' : ''; + } +} diff --git a/skins/common/cologneblue.css b/skins/common/cologneblue.css new file mode 100644 index 00000000..2723bbef --- /dev/null +++ b/skins/common/cologneblue.css @@ -0,0 +1,96 @@ +body { margin: 0px; padding: 0px; color: black; } +#specialform { display: inline; } +#content { top: 0; margin: 0; padding: 0; } +#topbar { padding: 0px; } +#powersearch { + background: #DDEEFF; border-style: solid; border-width: 1px; padding: 2px; +} +#quickbar { + width: 140px; top: 18ex; padding: 2px; visibility: visible; z-index: 99; +} +#article, #article td, #article th, #article p { + font-family: Verdana, Arial, sans-serif; + font-size: 10pt; color: black; +} +#article p { + padding-top: 0; padding-bottom: 0; + margin-top: 1ex; margin-bottom: 0; +} +p, pre, td, th, li, dd, dt { line-height: 12pt; } +textarea { overflow: auto; } + +#footer { padding: 4px; } +#footer form { display: inline; } +#sitetitle { + font-family: Times, serif; + color: white; + font-weight: normal; font-size: 32pt; + line-height: 32pt; +} +td.top { + background-color: #6688AA; color: white; + margin-top: 4px; margin-bottom: 4px; + padding-top: 0; padding-bottom: 0; + text-transform: uppercase; + font-family: Verdana, Arial, sans-serif; font-size: 8pt; +} +td.top a { + font-family: Verdana, Arial, sans-serif; + background-color: #6688AA; color: white; + text-decoration: none; font-size: 10pt; +} +td.bottom { + font-family: Verdana, Arial, sans-serif; + font-size: 10pt; + padding: 0; +} +#pagestats { + font-family: Verdana, Arial, sans-serif; + color: black; + font-size: 9pt; +} +#sitesub { + font-family: Verdana, Arial, sans-serif; + font-size: 9pt; font-weight: bold; + color: black; + padding-top: 0; +} +#quickbar { + font-family: Verdana, Arial, sans-serif; + font-size: 8pt; font-weight: bold; line-height: 9.5pt; + text-decoration: none; + color: black; + padding: 0; margin-top: 0; +} +#quickbar a { color: #446688; } + +#quickbar h6 { + font-family: Verdana, Arial, sans-serif; + font-size: 10pt; font-weight: bold; line-height: 12pt; + text-decoration: none; + color: #666666; + padding: 0; margin-bottom: 2px; margin-top: 6px; +} +#quickbar form { padding: 0; margin-top: 0; } + +h1 { + color: #666666; + font-family: Verdana, Arial, sans-serif; + font-size: 180%; line-height: 21pt; +} +h1 .editsection { font-size: 55.6%; } +h1.pagetitle { padding-bottom: 0; margin-bottom: 0; } +#article p.subtitle { + color: #666666; font-size: 11pt; font-weight: bold; + padding-top: 0; margin-top: 0; padding-bottom: 1ex; +} + +a { color: #223366; } +a.external { color: #336644; } +a:visited { color: #8D0749; } +a.printable { text-decoration: underline; } +a.stub, #quickbar a.stub { color:#772233; text-decoration:none; } +a.new, #quickbar a.new { color: #CC2200; } +h2, h3, h4, h5, h6 { margin-bottom: 0; } +small { font-size: 75%; } +input.mw-searchInput { width: 106px; } diff --git a/skins/common/commonPrint.css b/skins/common/commonPrint.css new file mode 100644 index 00000000..ecf146de --- /dev/null +++ b/skins/common/commonPrint.css @@ -0,0 +1,267 @@ +/* +** MediaWiki Print style sheet for CSS2-capable browsers. +** Copyright Gabriel Wicke, http://www.aulinx.de/ +** +** Derived from the plone (http://plone.org/) styles +** Copyright Alexander Limi +*/ + +/* Thanks to A List Apart (http://alistapart.com/) for useful extras */ +a.stub, +a.new{ color:#ba0000; text-decoration:none; } + +#toc { + /*border:1px solid #2f6fab;*/ + border:1px solid #aaaaaa; + background-color:#f9f9f9; + padding:5px; +} +.tocindent { + margin-left: 2em; +} +.tocline { + margin-bottom: 0px; +} + +/* images */ +div.floatright { + float: right; + clear: right; + margin: 0; + position:relative; + border: 0.5em solid White; + border-width: 0.5em 0 0.8em 1.4em; +} +div.floatright p { font-style: italic;} +div.floatleft { + float: left; + margin: 0.3em 0.5em 0.5em 0; + position:relative; + border: 0.5em solid White; + border-width: 0.5em 1.4em 0.8em 0; +} +div.floatleft p { font-style: italic; } +/* thumbnails */ +div.thumb { + margin-bottom: 0.5em; + border-style: solid; border-color: White; + width: auto; + overflow: hidden; +} +div.thumb div { + border:1px solid #cccccc; + padding: 3px !important; + background-color:#f9f9f9; + font-size: 94%; + text-align: center; +} +div.thumb div a img { + border:1px solid #cccccc; +} +div.thumb div div.thumbcaption { + border: none; + padding: 0.3em 0 0.1em 0; +} +div.magnify { display: none; } +div.tright { + float: right; + clear: right; + border-width: 0.5em 0 0.8em 1.4em; +} +div.tleft { + float: left; + margin-right:0.5em; + border-width: 0.5em 1.4em 0.8em 0; +} +img.thumbborder { + border: 1px solid #dddddd; +} + +/* table standards */ +table.rimage { + float:right; + width:1pt; + position:relative; + margin-left:1em; + margin-bottom:1em; + text-align:center; +} + +body { + background: White; + /*font-size: 11pt !important;*/ + color: Black; + margin: 0; + padding: 0; +} + +.noprint, +div#jump-to-nav, +div.top, +div#column-one, +#colophon, +.editsection, +.toctoggle, +.tochidden, +div#f-poweredbyico, +div#f-copyrightico, +li#viewcount, +li#about, +li#disclaimer, +li#privacy { + /* Hides all the elements irrelevant for printing */ + display: none; +} + +ul { + list-style-type: square; +} + +#content { + background: none; + border: none ! important; + padding: 0 ! important; + margin: 0 ! important; +} +#footer { + background : white; + color : black; + border-top: 1px solid black; +} + +h1, h2, h3, h4, h5, h6 { + font-weight: bold; +} + +p, .documentDescription { + margin: 1em 0 ! important; + line-height: 1.2em; +} + +.tocindent p { + margin: 0 0 0 0 ! important; +} + +pre { + border: 1pt dashed black; + white-space: pre; + font-size: 8pt; + overflow: auto; + padding: 1em 0; + background : white; + color : black; +} + +table.listing, +table.listing td { + border: 1pt solid black; + border-collapse: collapse; +} + +a { + color: Black !important; + background: none !important; + padding: 0 !important; +} + +a:link, a:visited { + color: #520; + background: transparent; + text-decoration: underline; +} + +#content a.external.text:after, #content a.external.autonumber:after { + /* Expand URLs for printing */ + content: " (" attr(href) ") "; +} + +#globalWrapper { + width: 100% !important; + min-width: 0 !important; +} + +#content { + background : white; + color : black; +} + +#column-content { + margin: 0 !important; +} + +#column-content #content { + padding: 1em; + margin: 0 !important; +} +/* MSIE/Win doesn't understand 'inherit' */ +a, a.external, a.new, a.stub { + color: black ! important; + text-decoration: none ! important; +} + +/* Continue ... */ +a, a.external, a.new, a.stub { + color: inherit ! important; + text-decoration: inherit ! important; +} + +img { border: none; } +img.tex { vertical-align: middle; } +span.texhtml { font-family: serif; } + +#siteNotice { display: none; } + +table.gallery { + border: 1px solid #cccccc; + margin: 2px; + padding: 2px; + background-color:#ffffff; +} + +table.gallery tr { + vertical-align:top; +} + +div.gallerybox { + border: 1px solid #cccccc; + margin: 2px; + background-color:#f9f9f9; + width: 150px; +} + +div.gallerybox div.thumb { + text-align: center; + border: 1px solid #cccccc; + margin: 2px; +} + +div.gallerytext { + font-size: 94%; + padding: 2px 4px; +} + +/* +** Diff rendering +*/ +table.diff { background:white; } +td.diff-otitle { background:#ffffff; } +td.diff-ntitle { background:#ffffff; } +td.diff-addedline { + background:#ccffcc; + font-size: smaller; + border: solid 2px black; +} +td.diff-deletedline { + background:#ffffaa; + font-size: smaller; + border: dotted 2px black; +} +td.diff-context { + background:#eeeeee; + font-size: smaller; +} +.diffchange { + color: silver; + font-weight: bold; + text-decoration: underline; +} diff --git a/skins/common/common_rtl.css b/skins/common/common_rtl.css new file mode 100644 index 00000000..11fc995b --- /dev/null +++ b/skins/common/common_rtl.css @@ -0,0 +1,48 @@ +/* + * This file contains CSS settings common to RTL wikis use the old + * pre-Monobook skins Wikistandard, Nostalgia and CologneBlue + */ + +/* js pref toc */ +#preftoc { float: right; } +/* workaround for moz bug, displayed bullets on left side */ +#preftoc li { list-style: none; } +#prefcontrol { float: right; } +fieldset.prefsection, +fieldset.operaprefsection { + margin-left: 0; + margin-right: 18em; +} +/* page history */ +#pagehistory .history-user { + margin-right: 1.4em; + margin-left: 0.4em; +} +.editsection { + float: left; + margin-right: 5px; +} +div.tright, div.floatright { + clear: none; +} +div.tleft, div.floatleft { + clear: left; +} +/* Convenience links to edit block, delete and protect reasons */ +p.mw-ipb-conveniencelinks, p.mw-protect-editreasons, +p.mw-filedelete-editreasons, p.mw-delete-editreasons { + float: left; +} +table.filehistory th { + text-align: right; +} + +/** + * Lists: + * The following lines don't have a visible effect on non-Gecko browsers + * They fix a problem ith Gecko browsers rendering lists to the right of + * left-floated objects in an RTL layout. + */ +html > body div#article ul { + display: table; +} diff --git a/skins/common/diff.css b/skins/common/diff.css new file mode 100644 index 00000000..6afa3734 --- /dev/null +++ b/skins/common/diff.css @@ -0,0 +1,143 @@ +/* +** Diff rendering +*/ +table.diff, td.diff-otitle, td.diff-ntitle { + background-color: white; +} +td.diff-otitle, +td.diff-ntitle { + text-align: center; +} +td.diff-marker { + text-align: right; +} +.rtl td.diff-marker { + text-align: left; +} +td.diff-lineno { + font-weight: bold; +} +td.diff-addedline { + background: #cfc; + font-size: smaller; +} +td.diff-deletedline { + background: #ffa; + font-size: smaller; +} +td.diff-context { + background: #eee; + font-size: smaller; +} +.diffchange { + color: red; + font-weight: bold; + text-decoration: none; + white-space: pre-wrap; + white-space: -moz-pre-wrap; +} + +table.diff { + border: none; + width: 98%; + border-spacing: 4px; + + /* Fixed layout is required to ensure that cells containing long URLs + don't widen in Safari, Internet Explorer, or iCab */ + table-layout: fixed; +} +table.diff td { + padding: 0; +} +table.diff col.diff-marker { + width: 2%; +} +table.diff col.diff-content { + width: 48%; +} +table.diff td div { + /* Force-wrap very long lines such as URLs or page-widening char strings. + CSS 3 draft..., but Gecko doesn't support it yet: + https://bugzilla.mozilla.org/show_bug.cgi?id=99457 */ + word-wrap: break-word; + + /* As fallback, scrollbars will be added for very wide cells + instead of text overflowing or widening */ + overflow: auto; + + /* The above rule breaks on very old versions of Mozilla due + to a bug which collapses the table cells to a single line. + + In Mozilla 1.1 and below with JavaScript enabled, the rule + will be overridden with this by diff.js; wide cell contents + then spill horizontally without widening the rest of the + table: */ + /* overflow: visible; */ +} + +/* + * Styles for the HTML Diff + */ +div.diff-switchtype{ + text-align: center; + font-weight: bold; + font-size: smaller; +} + +span.diff-html-added { + font-size: 100%; + background-color: #20ff20 +} + +span.diff-html-removed { + font-size: 100%; + text-decoration: line-through; + background-color: #ff2020 +} + +span.diff-html-changed { + background: url(images/diffunderline.gif) bottom repeat-x; + /* Hack for IE5.5, see http://lists.wikimedia.org/pipermail/wikitech-l/2008-November/040273.html */ + *background-color: #c6c6fd; /* light blue */ +} + +span.diff-html-added img{ + border: 5px solid #ccffcc; +} + +span.diff-html-removed img{ + border: 5px solid #fdc6c6; +} + +span.diff-html-changed img{ + border: 5px dotted #000099; + +} + +span.diff-html-changed { + position: relative; /* this is key */ + cursor: help; +} + +span.diff-html-changed span.tip { + display: none; /* so is this */ +} + +/* tooltip will display on :hover event */ + +span.diff-html-changed:hover span.tip { + display: block; + z-index: 95; + position: absolute; + top: 2.5em; + left: 0; + width: auto; + line-height: 1.2em; + padding: 3px 7px 4px 6px; + border: 1px solid #336; + background-color: #f7f7ee; + font-size: 10px; + text-align: left; +} + + diff --git a/skins/common/diff.js b/skins/common/diff.js new file mode 100644 index 00000000..5fd151fc --- /dev/null +++ b/skins/common/diff.js @@ -0,0 +1,20 @@ +/* +Workaround for overflow bug in Mozilla 1.1 and earlier, where scrolling +
s in cells collapse their height to a single line. + +Known to be fixed in 1.2.1 (Gecko 20021130), but the CSS hacks I've tried +with overflow-x disable the scrolling all the way until Mozilla 1.8 / FF 1.5 +and break Opera as well. + +So... we check for reaaaally old Gecko and hack in an alternate rule to let +the wide cells spill instead of scrolling them. Not ideal as it won't work +if JS is disabled, of course. +*/ + +if (navigator && navigator.product == "Gecko" && navigator.productSub < "20021130") { + var sheets = document.styleSheets; + var lastSheet = sheets[sheets.length-1]; + lastSheet.insertRule( + "table.diff td div { overflow: visible; }", + lastSheet.cssRules.length); +} diff --git a/skins/common/edit.js b/skins/common/edit.js new file mode 100644 index 00000000..945059e0 --- /dev/null +++ b/skins/common/edit.js @@ -0,0 +1,156 @@ +// this function generates the actual toolbar buttons with localized text +// we use it to avoid creating the toolbar where javascript is not enabled +function addButton(imageFile, speedTip, tagOpen, tagClose, sampleText, imageId) { + // Don't generate buttons for browsers which don't fully + // support it. + mwEditButtons[mwEditButtons.length] = + {"imageId": imageId, + "imageFile": imageFile, + "speedTip": speedTip, + "tagOpen": tagOpen, + "tagClose": tagClose, + "sampleText": sampleText}; +} + +// this function generates the actual toolbar buttons with localized text +// we use it to avoid creating the toolbar where javascript is not enabled +function mwInsertEditButton(parent, item) { + var image = document.createElement("img"); + image.width = 23; + image.height = 22; + image.className = "mw-toolbar-editbutton"; + if (item.imageId) image.id = item.imageId; + image.src = item.imageFile; + image.border = 0; + image.alt = item.speedTip; + image.title = item.speedTip; + image.style.cursor = "pointer"; + image.onclick = function() { + insertTags(item.tagOpen, item.tagClose, item.sampleText); + return false; + }; + + parent.appendChild(image); + return true; +} + +function mwSetupToolbar() { + var toolbar = document.getElementById('toolbar'); + if (!toolbar) { return false; } + + var textbox = document.getElementById('wpTextbox1'); + if (!textbox) { return false; } + + // Don't generate buttons for browsers which don't fully + // support it. + if (!(document.selection && document.selection.createRange) + && textbox.selectionStart === null) { + return false; + } + + for (var i = 0; i < mwEditButtons.length; i++) { + mwInsertEditButton(toolbar, mwEditButtons[i]); + } + for (var i = 0; i < mwCustomEditButtons.length; i++) { + mwInsertEditButton(toolbar, mwCustomEditButtons[i]); + } + return true; +} + +// apply tagOpen/tagClose to selection in textarea, +// use sampleText instead of selection if there is none +function insertTags(tagOpen, tagClose, sampleText) { + var txtarea; + if (document.editform) { + txtarea = document.editform.wpTextbox1; + } else { + // some alternate form? take the first one we can find + var areas = document.getElementsByTagName('textarea'); + txtarea = areas[0]; + } + var selText, isSample = false; + + if (document.selection && document.selection.createRange) { // IE/Opera + + //save window scroll position + if (document.documentElement && document.documentElement.scrollTop) + var winScroll = document.documentElement.scrollTop + else if (document.body) + var winScroll = document.body.scrollTop; + //get current selection + txtarea.focus(); + var range = document.selection.createRange(); + selText = range.text; + //insert tags + checkSelectedText(); + range.text = tagOpen + selText + tagClose; + //mark sample text as selected + if (isSample && range.moveStart) { + if (window.opera) + tagClose = tagClose.replace(/\n/g,''); + range.moveStart('character', - tagClose.length - selText.length); + range.moveEnd('character', - tagClose.length); + } + range.select(); + //restore window scroll position + if (document.documentElement && document.documentElement.scrollTop) + document.documentElement.scrollTop = winScroll + else if (document.body) + document.body.scrollTop = winScroll; + + } else if (txtarea.selectionStart || txtarea.selectionStart == '0') { // Mozilla + + //save textarea scroll position + var textScroll = txtarea.scrollTop; + //get current selection + txtarea.focus(); + var startPos = txtarea.selectionStart; + var endPos = txtarea.selectionEnd; + selText = txtarea.value.substring(startPos, endPos); + //insert tags + checkSelectedText(); + txtarea.value = txtarea.value.substring(0, startPos) + + tagOpen + selText + tagClose + + txtarea.value.substring(endPos, txtarea.value.length); + //set new selection + if (isSample) { + txtarea.selectionStart = startPos + tagOpen.length; + txtarea.selectionEnd = startPos + tagOpen.length + selText.length; + } else { + txtarea.selectionStart = startPos + tagOpen.length + selText.length + tagClose.length; + txtarea.selectionEnd = txtarea.selectionStart; + } + //restore textarea scroll position + txtarea.scrollTop = textScroll; + } + + function checkSelectedText(){ + if (!selText) { + selText = sampleText; + isSample = true; + } else if (selText.charAt(selText.length - 1) == ' ') { //exclude ending space char + selText = selText.substring(0, selText.length - 1); + tagClose += ' ' + } + } + +} + +/** + * Restore the edit box scroll state following a preview operation, + * and set up a form submission handler to remember this state + */ +function scrollEditBox() { + var editBox = document.getElementById( 'wpTextbox1' ); + var scrollTop = document.getElementById( 'wpScrolltop' ); + var editForm = document.getElementById( 'editform' ); + if( editBox && scrollTop ) { + if( scrollTop.value ) + editBox.scrollTop = scrollTop.value; + addHandler( editForm, 'submit', function() { + document.getElementById( 'wpScrolltop' ).value = document.getElementById( 'wpTextbox1' ).scrollTop; + } ); + } +} +hookEvent( 'load', scrollEditBox ); +hookEvent( 'load', mwSetupToolbar ); diff --git a/skins/common/enhancedchanges.js b/skins/common/enhancedchanges.js new file mode 100644 index 00000000..b1789c9e --- /dev/null +++ b/skins/common/enhancedchanges.js @@ -0,0 +1,40 @@ +/* + JavaScript file for enhanced recentchanges + */ + +/* + * Add the CSS to hide parts that should be collapsed + * + * We do this with JS so everything will be expanded by default + * if JS is disabled + */ +appendCSS('.mw-changeslist-hidden {'+ + ' display:none;'+ + '}'+ + 'div.mw-changeslist-expanded {'+ + ' display:block;'+ + '}'+ + 'span.mw-changeslist-expanded {'+ + ' display:inline !important;'+ + ' visibility:visible !important;'+ + '}' +); + +/* + * Switch an RC line between hidden/shown + * @param int idNumber : the id number of the RC group +*/ +function toggleVisibility(idNumber) { + var openarrow = document.getElementById("mw-rc-openarrow-"+idNumber); + var closearrow = document.getElementById("mw-rc-closearrow-"+idNumber); + var subentries = document.getElementById("mw-rc-subentries-"+idNumber); + if (openarrow.className == 'mw-changeslist-expanded') { + openarrow.className = 'mw-changeslist-hidden'; + closearrow.className = 'mw-changeslist-expanded'; + subentries.className = 'mw-changeslist-expanded'; + } else { + openarrow.className = 'mw-changeslist-expanded'; + closearrow.className = 'mw-changeslist-hidden'; + subentries.className = 'mw-changeslist-hidden'; + } +} diff --git a/skins/common/feed.css b/skins/common/feed.css new file mode 100644 index 00000000..94396639 --- /dev/null +++ b/skins/common/feed.css @@ -0,0 +1,95 @@ +/* +Make RSS and Atom feeds at least semi-legible to folk who accidentally +load them in a browser... + +Compatibility: +* Mozilla is fine. +* Safari 1.2: the RSS text isn't shown +* Opera 7.5 uses the style sheet instead of its native RSS mode. +* IE/Mac 5.2: none of the :before content works; doesn't get the charset right and displays garbage for non-ASCII. +* IE/Win 6.0: No background color, borders, font size, font weight, or :before content. + +*/ + +/* RSS: */ rss, channel, title, link, description, language, generator, lastBuildDate, item, pubDate, author, comments, creator, +/* Atom: */ feed, id, modified, tagline, entry, issued, created, updated, summary, comment { + display: block; +} + +rss, feed { + background: white; + color: black; + margin: 1em; + font-family: "Verdana", "Tahoma", "Arial", "Helvetica", sans-serif; + line-height: 1.5em; + font-size: 76%; +} + +rss:before { + content: "This RSS feed is meant to be read in a syndicated news reader, and isn't ideal for a web browser."; +} + +feed:before { + content: "This Atom feed is meant to be read in a syndicated news reader, and isn't ideal for a web browser."; +} +rss:before, feed:before { + color: red; + text-align: center; + line-height: 2em; +} + +channel>title, +item>title, +feed>title, +entry>title { + font-weight: bold; + border-bottom: solid 1px #aaa; + margin-left: -0.5em; +} +channel>title, feed>title { + font-size: larger; +} +item>title, entry>title { + font-size: large; +} +item, entry { + margin-top: 1em; + margin-left: 2em; +} + +item>description, entry>summary { + white-space: pre; + overflow: auto; + background: #f8f8ff; +} + +pubDate:before { content: "Date: " } +link:before { content: "Link: " } +author:before, creator:before { content: "Author: " } +description:before { content: "Description: " } +id:before { content: "Id: " } + +generator:before { content: "Generator: " } +language:before { content: "Language: " } +lastBuildDate:before { content: "Updated: " } +comments:before { content: "Comments page: " } + +tagline:before { content: "Tagline: " } +issued:before { content: "Issued: " } +created:before { content: "Created: " } +modified:before { content: "Modified: " } +updated:before { content: "Updated: " } +summary:before { content: "Summary: " } +comment:before { content: "Comment: " } + +pubDate:before, link:before, author:before, description:before, +language:before, generator:before, lastBuildDate:before, comments:before, +tagline:before, issued:before, created:before, modified:before, +summary:before, comment:before, creator:before, id:before, updated:before { + color: #224; + font-weight: bold; +} + +feed link:after { + content: attr(href); +} diff --git a/skins/common/history.js b/skins/common/history.js new file mode 100644 index 00000000..57e61849 --- /dev/null +++ b/skins/common/history.js @@ -0,0 +1,83 @@ +function historyRadios(parent) { + var inputs = parent.getElementsByTagName('input'); + var radios = []; + for (var i = 0; i < inputs.length; i++) { + if (inputs[i].name == "diff" || inputs[i].name == "oldid") { + radios[radios.length] = inputs[i]; + } + } + return radios; +} + +// check selection and tweak visibility/class onclick +function diffcheck() { + var dli = false; // the li where the diff radio is checked + var oli = false; // the li where the oldid radio is checked + var hf = document.getElementById('pagehistory'); + if (!hf) { + return true; + } + var lis = hf.getElementsByTagName('li'); + for (var i=0;iJaXo+j{Qv*|&zw0k(>N_H zZ6*+>rTtGcK9goV6A02~o-qcp8Pbf6{~H_6G-jANlfjsQ0mw*8Gfq2m=Ksu@XVTKn z01Y1nqaiR9L*RQ*Oghlrj3q&S!3+-1ZlnP@Jf1F&Ar-fh6D0Nkd2<*THEbR(1$oZX L)z4*}Q$iB}eJe&0 literal 0 HcmV?d00001 diff --git a/skins/common/images/Arr_d.png b/skins/common/images/Arr_d.png new file mode 100644 index 0000000000000000000000000000000000000000..421dd101536ed5ba64fd27284e76cca495d32151 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$3?vg*uel1OYyx~jT!Hk$T`$$5cB#kgyKwi* zj??dygI0N!9MOn9s1mkG+My*fwQ~Rd{p>=jK$V7uhK1AbIr}AfdwX}Te0*f%!E~S~ zV@Z%-FoVOh8)-m}r>Bc!NX4ztzCgYP1s>flABKxA^KbYTBz4#sa{gHC6aU12&!y!|mHXoM`U4GR@O1Ta JS?83{1ON*kPPG64 literal 0 HcmV?d00001 diff --git a/skins/common/images/Arr_l.png b/skins/common/images/Arr_l.png new file mode 100644 index 0000000000000000000000000000000000000000..9db66232e34cbe6ca3cc38d7a78abe7eac933b54 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$3?vg*uel1OYyx~jTpcwobgq1S;qDjpn0;zd zySz${C?5>xCa=AKBPc?_PeelF{r5}E+}^-|#g literal 0 HcmV?d00001 diff --git a/skins/common/images/Arr_r.png b/skins/common/images/Arr_r.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b161b079081ffbf5d2b89286cdfab6f7b1cde9 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$3?vg*uel1OYyx~jTpcwoEZp@{Eozr~%)SeE zzw9{uPC00mSIH5L*n=uzo1`6DB2z2(@88cZqzcqwXlPhC{hqU5lDD^a=gP;+*Ua4s z6lE+4@(X5gcy=QV$Z_#>aSW-rm3#6gUxR{x^F=GK)Z(ZA|4;Rl;844_e4faUkZF>e zrma29sk!^^xnSjsCN>h>GgCk3E;8%jYTP;>XcPk9smDTkPMn?daVAd#b3()Ad zZ}`ZbmA=mDglDO^)D|v;AYf*iXYrhOCv_vm%`|6z)@|gZxamRio^hb2hr{F1G-DBR z0b^WY^oOSWwKF;UX6WaGn9(+XqfP-GiZg|;LY>wH=vVAkoH{>)&go6@K5*7z9oa4w z(_e+FRc5>>qCYEY8n3OI$$7-NxNf3H)N99R^HxieT1GhHV>>aE`r|Ra0H~9^K^2lb zN@5|H5hjC%q_%j!Paw64`h7->vw@y~Q+H+KII4z$pJznxDFOfOJ+VHm9nkyKdm4}t zd05;rO;3qjYoZ}(&6=Z+Jxu~R;OWoz)V&->q7A-uFRfSB(*4e ztyQyk>Hph>Vzd68uviJ)JwJC)h@;aZd9O@HV1K!`Mu+e3m+p@or=$|~+VEHAT()Y? K4SlRF(f9004R=004l4008;_004mI004C^008P=0026d000+nY2?H!00093 zP)t-s0001?y6Glbx+h$|(B1U7%kCpms!DXkC|$uMRIzrVi+5+wit05LH! zahKjhPGU<-ONpuD6ciK{6%`g178e&67#J8C85tTH8XFrM92^`S9UUGX9v>ecARr(i zAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7EiEoCE-x=HFfcGNF)=bS zGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}?K0iM{KtMo2K|w-7LPJAC zL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuyP*6}&QBhJ-Qd3h?R8&+| zRaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?WjVPRroVq;@tWMpJzWo2e& zW@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2Ta&vQYbaZreb#-=jc6WDo zczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyDgoK2Jg@uNOhKGlTh=_=Z ziHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z}m6ev3mY0{8n3$NEnVFiJ znwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5(rl+T;sHmu^si~@}s;jH3 ztgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#pxVX5vxw*Q!y1To(yu7@< zy}iD^zQ4b}z`(%4!NJ19!o$PE#KgqK#l^dCU$jHda$;ryf%FD~k%*@Qq&CSlv z&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4?Ck9A?d|UF?(gsK@bK{Q z@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg={r&#_{{R2~j}hqF00001 zbW%=J06^y0W&i*HhDk(0RCt_XU;qIg9xw$EKujQlUr5MTf*TNQN0w&-L4 O0000zopr0FJQ}Jpcdz literal 0 HcmV?d00001 diff --git a/skins/common/images/Zoom_sans.gif b/skins/common/images/Zoom_sans.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ba0adca5c981ec67a17f02ca964091f1d7a87aa GIT binary patch literal 901 zcmV;01A6>NNk%w1VGjTc0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8Le00930EC2ui01p5Q000PL0RIVWrmLXAgXIMN+Y@M#!-o#l1XIXI zn!=0!8ch^f5u-wl6fJtp7_8i`U3yBLw1-h6Fg225O3LD{Ww2n4E`C`Bt7p$SH*+fd bvdNQCqn)_Dq{NgG&5`7CNu646WIzBrHTkpu literal 0 HcmV?d00001 diff --git a/skins/common/images/ar/button_bold.png b/skins/common/images/ar/button_bold.png new file mode 100644 index 0000000000000000000000000000000000000000..93b1783cbabe5fc30f52abc80459c72a2258edcb GIT binary patch literal 741 zcmVD%cJl3c(B_B1<9@l8~%G^b&Zfs6!Z(fhc8YBo-~zVe?~+Lfu_wXJ)6vf+o)F zs@Mb1<$eGE-~8u&pI0zV)8s$Y`TAx=fRVA)=llGD7+f<}AFioJ3?80U;|fE;X&$%V z@GCIRj$QjWR^?^G#x1tq zIk>9YPs`=T2ejO*V`!ikNtC(T)K1BsQWE**lNk<=fX`!l59NtSlSufY`KHwadK*EuzwLqn2-LHFN$MXBnR6=;H9LTOT0D|EN!EnS@DJf0_@1;AY&mTZjm-j&8m83Y?nwQ02 X$p=c{+>e4r00000NkvXXu0mjfmgHGQ literal 0 HcmV?d00001 diff --git a/skins/common/images/ar/button_headline.png b/skins/common/images/ar/button_headline.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf2a706b93cdc9a20f7f2cce9e66123797dfa05 GIT binary patch literal 629 zcmV-*0*d{KP)%YnbBgWljG{tu#y zi;E6UI=QOgP!JTvQ-`}nN5MsKsJDnt;v%>dPPqdSLhH3^ZF+6f)d+)?K;2i~_LUjPAc&drr1=gtHgVpsGn} zcGGHwxGSRLAJ^+VxP61)FRaa`dGTh0`F!!OI@b{)J{UTY@$;9ilFk{tT6@Ona~D`T zaSAOnH`dq_S^c$!gFc5V$GEfdln?dyn1uytZFnr6h>R!H6o-y3v3mC=@7}(im{kCT z=SIc>K7ZQa$)o#Z=k$qL1;BGhvGB(aZ{c|^oo{WNVV^`ok>kRTHR{;i4gf(A@U`8- zER^K9<3yhp0JFGnXaA*Pk;xfyT!`ow3Xm`E-`Tgf8Y~{HOu%DaXyK2}+glB3KK3XA z82Q~Z?*8aV^C9lW>s&W?KlT20Pnw?!PiJ!|ii+pCj7H96-1EFxIDnBa(rQ`=A*A`K zrUk$(lxQ_A_G+`z{M4Q6X86NOY3cvpxiKGJYN@<9x%2*ZFE*aZ=_qQF{6blpR{*|u zy0P&@GEL?9N$lPL82s~GO(mGQeC=MaX|-^jct_*(ZG2y#W%RM|fpUSLj_ltsM|Gaz P00000NkvXXu0mjfVi7DA literal 0 HcmV?d00001 diff --git a/skins/common/images/ar/button_italic.png b/skins/common/images/ar/button_italic.png new file mode 100644 index 0000000000000000000000000000000000000000..0421846d11eec9c03d4df3b88cee1d9350a75528 GIT binary patch literal 692 zcmV;l0!#ggP)(u2a8T=5EThQmk1$)pbx09gF$54$D(FSAEqoCwL7~z>+a0#bQsx? zc}F+59(XVB|9yV^-{<+eOw%;^57l(06%W8b_}}wGBjXlaGjfBc(&ZITwe*am84r*0{7EOTUv?4t z7$oxZM^@{9-@}gGb>guY8RxVN27770(!$%GZp=)^4v=N`9XuvvcmPrhy5U?kuK6tp~DK zsOJTbPr~JbJmI>o+k`}1!B^Yh)ZvEwH|p2ViL-V>u&m-7wJ&lY*-A{%uOk%ZugPy;9gok%OvzpG6 z%i8z9B-PS?G%E5!EgnqMv^WCa+=|h*2F_hPT(%^eV4yB~>p*uBqhk87G%7B+N~NB0u!+T-QSV3+NguHGPaj-^}F zf`O(QCCNj>y%@SdE>rn~bJT$B{`*~7ZhrsH4CBvJ6@g08=yh`S=79ap`;Uc*?{BIa zch=QddR+qewUz@Q7MK8^s=r1^V=ckvcJ4f}fZGX+nMg7+Zd&=k0|I6mJTlP7{Jd=h_4hEA zx{A?^EGFkKAgH62(55=#_U*tG6NmXw5qG0v{#C;dKyZs*sk&H(VZDj5MJd#suc9OG zBdnR(l=k;wI=r8(9y8Tve`h>lF@|+Z3HhbmM?>CRbPM-39v(uUx0U9?FBwZVd75s4 zwwv|j@6N^Ln#4BP&lkmoXlC~xbgJYEBS2Gz{oki8Da@0)?C|jCjj{Gbxm&Yy2h8jka zjNFkVaNToIN9zr)|51rjrACq@mNhl-MnE9nZpcBqF&88lNi?EttYJ7V-rFsr==lJe z<_1QeOpxp82np3tTU9|rRRxEEoLO4-t=>SaF%`|Xt^t%xv#B7u^D)TR>^) zW+LJ-xt`AF(lXe*@il6~Bgt4`pz359S8ao6!y;tN?XXCK`+Mcu$BOniJ*tjYA6tcX zoB5>jGQle{s6T#&f!j`otbM4|S{V~!ZpSfC=W9hl@SJ3eU&!3bOL7emUHvOdkK|Lg zn zT-7txY&* z&!OZ%5q9SUKNNq=Zx_xXif$IAtYrD>mt;=D_g|y7TKH+_draNuGKC~b(($hUZ;cVv-9cn;7urD!qmj{AV|7?#bvQ#cGx9D~T=l%U-7!8R$c_R_j2>e2-UAVM z0534eAH|z{k4T*s8-h!m5%^ytFvuTWbU1$jb=y3g&bDVx00000NkvXXu0mjf;m|P> literal 0 HcmV?d00001 diff --git a/skins/common/images/arrow_disabled_first_25.png b/skins/common/images/arrow_disabled_first_25.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa4bec45f2e31dc3a69a1e1e21788c52bc1f50e GIT binary patch literal 481 zcmV<70UrK|P)X1^@s6-qmI800004b3#c}2nYxW zd;q5Q4|K?CrglRM8QI^(0ak{XsZ??_*K}5Kfq3fwH8aU69rvCu(H=iL2bm!CdWp% z@HfQHDuO!}a~JQ%B%4ffnt{XIhj-4o(;Ey1uW=sdBI2u#m6^xz0*CszR{9sv3C+wK zc#gwp`dyP1>M>F#>UgBtJ^*W=Oc@U3qvr1Rj&O&Hrp1~^|A4^x)d`UBN z9S^WM1*&WRq?s8d-NrltW}=zd$35J~+MM8YG&46!y3j6TzfZ1f?@TkZr=8nF94PHY z!2go2;}gzyNVf;AXLX{0UDDOn)aVb~!DtDPv7{p6sdhQvSB4gN8>jF@JKIUW;$mol zM-j1!OBgPQHZw1EM7+mIyxTo62Rb?F7(9%KE4Yo{D?uy#nRbcaR)!XM8>jJDJBpnN zug#w66nGR7cX1Ivmrgo{f6y-R?JicHe>$TD9!A7f-12XU%^Kd|7d|e5Z)unK1)u){ X)~a#)cpt6c00000NkvXXu0mjf5_HhS literal 0 HcmV?d00001 diff --git a/skins/common/images/arrow_disabled_last_25.png b/skins/common/images/arrow_disabled_last_25.png new file mode 100644 index 0000000000000000000000000000000000000000..7882fd8c918cf7d49e415a29c336fb878b12187a GIT binary patch literal 480 zcmV<60U!Q}P)X1^@s6-qmI800004b3#c}2nYxW zd`NuDKH=>wg#_;u!p;}^9mMCTEF-ePVNR|@kRZ??NZ8<1!@<9e#O&lUj743 W{CH9YSPH`c0000X1^@s6)5{gA00004b3#c}2nYxW zdL z)xV0=P#A{s-(=T6*jZb4tzpy5db1=Oc!+0**z|`bIgfX^+G4XFR%{;ODUNs8 zbiaAtudKZxP|>v z7&GE<~6Wst64KiZetIpJ0APdYPMqe5!?9GVcEWC9hP_S5~o&{zV$L& zvE0KYd?}^B|A4`;0{n>^c!KE?Hn`2zB)Nju`1%L_uYZBqUr5FP0000X1^@s6)5{gA00004b3#c}2nYxW zdL zlRZiUK^TUg#6&OP8AMS*_)sKx1dpJgR@&GEM1qBlh#-R4cmfMgU||=30@+u^PGYTv zm0d)Vwb&h4B{7?s7ls+;=a~m)zCsj5b>IuwGP4!|DMV4!1qwhLr~#*D*7boE0e5f= zI05RCCVXMBvrPL6@GPk+spxB#%_wjT+)A1Zg*nSb;7QVsq!C}(U&|xlPSR8;%vmm^ zmb?8d^T4tx1Bbx9r0GzYvz!MWCDkOAd|}y?fCHc*X%>$hQJP+V5 zy8veTf%2Mt0-I)bIbdI3SeL~53fM5S_d%flU~QmkX6Jbzy + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/skins/common/images/arrow_first_25.png b/skins/common/images/arrow_first_25.png new file mode 100644 index 0000000000000000000000000000000000000000..b6351c50f85a91691976e9c73dc2895b3583b6f1 GIT binary patch literal 482 zcmV<80UiE{P)X1^@s6-qmI800004b3#c}2nYxW zd-exQ4|K?=Y&Plh=PS+p>-f#v{efc{3n7Qm-O~&lhKF~~yBoZIg9|vHbMsZtiAX2#0!Ie8UiKH!3ynzY zc#fmUgTBcMb_|=ifn3)8(TH>fFL8Xl>WxOE!+3<7Rl0h1I-wEiEMDQ{M7nxrOB#`u z@cq|n~&Ar6h# z9l-yRF5@%K^+>l1t#5UzfPK={lWX(`?qD(xY~V769nrk+k2>e(16J{VyqW=>o^%2p=GX1^@s6-qmI800004b3#c}2nYxW zd~w!C(=v6I%tVL_3L{jfGgOXroOkJ70S91tJEbjUPaC3Y!QjLc~fD zv`F$5Y?L&q6wFxM9av>I+})c8hJ}a2f1f#LW`dU=v5Px7SKkd(L|VWHydU8ru3{%5 z-53hRWz6B)2)Q;-;CV!P5s~I+fNMgd{$4jpePtHtev5w+8xiSQM4B4{%`JXOy^QUM zwA2^cmb9r;*o;W45$Wh*L8Gp_hp!Q7@i3rGox$gb^e`fg4}!M!v`Z!R3O+@ovt7_W zNedVj@GT + + + + + + + + image/svg+xml + + + + + + + + diff --git a/skins/common/images/arrow_left_25.png b/skins/common/images/arrow_left_25.png new file mode 100644 index 0000000000000000000000000000000000000000..fd05fa6f46501533f6085ee931bc45fdfdbe079e GIT binary patch literal 462 zcmV;<0WtoGP)X1^@s6)5{gA00004b3#c}2nYxW zdL z)Uj$6K@^Aa-`PYH?5wQ~N)$zjh*(NLjO}4I0yvB26%>)S@DUrQfE`uMx11*jxQ;i)aL|7iZI@$2x@SI0 z7ka|}RBbCcPrl*`KGi!fflXV@nu$o;*vI*f&wjU>Em(fWCcbo7wx3ytl zz04LY_i+v1>QZes7*>FXxQl0)*08~CE+!(~z+3$I3qm_=gC-6hCIA2c07*qoM6N<$ Ef{X0L#Q*>R literal 0 HcmV?d00001 diff --git a/skins/common/images/arrow_right_25.png b/skins/common/images/arrow_right_25.png new file mode 100644 index 0000000000000000000000000000000000000000..cf1845c61bc93cdcebee8db4f9a7690b4a910de5 GIT binary patch literal 449 zcmV;y0Y3hTP)X1^@s6)5{gA00004b3#c}2nYxW zdL zlfOzsF%*ZtQ*ZSJdI%<`!M z+ZCW20CB&k1uTb{X;!-r)KtxL6aZ@jE2^gDCWbZBtepXKc@U)6I}GdhVYJCZ8sG7Gyp#NYUAXYW!Wgz`vO8SwTz^bZw83qKu rpGFth1D1S1&g?oHudAASABf90TdH%vc^|>$00000NkvXXu0mjfPZ76C literal 0 HcmV?d00001 diff --git a/skins/common/images/be-tarask/button_bold.png b/skins/common/images/be-tarask/button_bold.png new file mode 100644 index 0000000000000000000000000000000000000000..f662c76cc0d7fb7e031282f3683489097972b095 GIT binary patch literal 575 zcmV-F0>J%=P)Y(ylbAqjpqHX=yG4+ugE zLyklfG{l^_y_tDq@pj*B4lW079$U=*nfbl>*d0$*k?f337JUFq>xn?ir41hdNg@gb z;se;N1PO~u;UJC=fLNYCds+<|W;8HZ=swZggd$AE+t;_Zel>EsdFSEru6z>;Qx*Hp z+XypNo8@A3=GABW;VgYw93L45P&hX{G4%j|s``F9TAc6 zel^SziNU82@1`cM)KS_yjyzddjB<%0|th0 z(I~clMs5~vM(d@ONB3`8@xrB1z!MR-m8?(0TuhXUF(#8eoIlw&bpGO*vjr=R1|lKjxK^Dlh>f6F@uuo-@DZ6`sbvxmH^H|{N$HYkw)M)c)#{{XLJO`&++Puu_i N002ovPDHLkV1gh4`APr) literal 0 HcmV?d00001 diff --git a/skins/common/images/be-tarask/button_italic.png b/skins/common/images/be-tarask/button_italic.png new file mode 100644 index 0000000000000000000000000000000000000000..88e1b3bbe39a477d9c4bd1f8b7cfc49bd68e2ad0 GIT binary patch literal 638 zcmV-^0)hRBP)zCQs*rgRz{{H*_@x!}@qJ%p)E?0NVv~%&rR17uc=g*%Qrd*U)*7)=1@56hy8;cXa zfB)J#Wre!70j5eMxBNv3-OnFCym|TD$lU(?=_8%hSzo_=nzCf4jJyh(G7MAx{6-eK zef=T>1H+RCcN>cnghj-^e))9n?L>_n*JW=+4b63=9m{E}eGr2=1D-K|n}k zK&IYl+N2r~g@J+L+t)8tC>h>=_(X{jtnAE;+0_&7K7IZB=U=joP?i=2 Y03!edSt0@?kEP)8w+@c!eUrb+ihJ;k!3r3Cp|-oF36 zaP8yQZ+}5#iEzum{|pQa3)VjOcM-8P;)93?@Uw*bi0wG|4kGIocM+@pU5oUgru_W* zlYxQZ@aYeczCsW-1h6tQEa_8$h-{v%;hTD6^K1>cEQAY@Wno}o`1|)S0|Udy&wsf& zp=?|LO%~2Ygf25PBRrUKnu4kT&PBwum=H6;C`VHO=dv&`F#P`gn}LDB!hqx4l`p#L z?D$Oi{TnM6VTz|6`-~NzKY#sWtj)&A$nfFwzk{cK+m@QD&5SlO8w ov#TfEefs+M&%b0Fp)4&50HCGlWzp+UU;qFB07*qoM6N<$fWt<}`JQAw2t0$CpEN+{zal+!glb0QszUs)Vwa4deJiU0^g%!K6uHAoQ z!{NJ|k3HCR_W9oPFAiRLcjU(BlXt#ddh+-B^MC*U{|A~g3PwXsf>P z7W+3&dHmx1g!j)~>sg}u7T;&qJbp1BB=-2>@Bcg8euXaN=lZ+o!g;R0ODWjHuE7?K$@lNq9-qMRcuJQAvtlaq^!iy0XHYbO8CuAZPdg+cS2rsn@- zhAICw&;2j$SlrUmGG)q?IdkT;&Dc0$@!qv-*KXaqb?@H2lb0QszUs)Vwa4deJiU0^ zg%!K6uHAoQ!{NJ|k3HCR_W9oPFV3AickSA>d-v`gyz=hIjn60Vd^`95+@&XfuRs6y z{{8#^|NjHsGYUpSfTR%k|NFy&1xp$l8bGP%KLa=s0SOQb2zET|p9B==Ebxc~CTRu_ zFm^kcZ3kq$_H=O!skoJU;dW7zfk^Aa()<+(&Prk$TIv0)$%lXMj|dN19y8_tr`wy2 zH#cW)l(_soNO9S6{&mmevwis8jH6f&JifX z{9mp!YgpIm{YouMoO0l(tG)BVVx>ze2SjC^b<$+7a`{OI# zS65v>n6s6M{btJhckk9M-mbgt-qJHV;(eO8rrk5)ox+qqY30^$WgZtzzRY5LulMWk zg#3W(Urs&$Z~WBww~kZj#nU@W-s@F3M_%gQdG*x#g&HsBdtbDl#wFPP`hV+3exY)^ VZTtO;w*$S+;OXk;vd$@?2>>_A0j~f6 literal 0 HcmV?d00001 diff --git a/skins/common/images/button_headline.png b/skins/common/images/button_headline.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0ca540e3489451e1d839cae1db56e8b4ae53b4 GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6M!3-p2R(v-HQU?NjLR|m<{|{u!%F1R}Pq_a4 zUqxfDM?&?bCx7*gEuAAPPTu)8cg=x<>dvU7yv;{$AGz^a$H461m3P@?t&P3&_nv>D zrDrm6!It2d^j&A42Sldy%wE6w*aHzU$qk3^_Vx8yId~*wRjl2A!_v}HP0L`#?yL2E zixzLY5RqIsZ{ulq|L9q3j~iJ!PG5B-BtADOzhUyS1B$BJ6Bh3k5Ed<{pIlT_)HY+I zjf?;B>+sSM@Amh5Hi(^Q|t<>``!wwk; zI6U0BWt)o5!hkY?@(_{oE8pu4jbk$`>Xus?@2oG5 znX?Y1gng{#>s}glpeEAr*ZS3^nXFg0nH9bJz3j>Fqp2rPh%S6Rdy=5v-Fu>2^517i zS7?~O?dN?p`~B|a$N1)TAN~HuYFX! e&eVH;VSgZ}Iqmt&I$59>89ZJ6T-G@yGywpMGV9p@ literal 0 HcmV?d00001 diff --git a/skins/common/images/button_hr.png b/skins/common/images/button_hr.png new file mode 100644 index 0000000000000000000000000000000000000000..19cfc48042a7a4b3c7802c859c3a09d5c3460f37 GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6M!3-p2R(v-HQU?NjLR^7#0~j}esRkggq2T}! z+&Qr9)CZu9b7X}_LUnfagwl@1Z8J7bSiE=gvIEms9htTE_`Hp$7jL_;V)xax`)_PG ze0TG)2fNNb-+TVW!7J~M-1vO*&bLcX{$79n?>{X;esLktkqn##9+AaB+5?Q;PG;Ky z8Bv}tjv*DdYEM{-H7E$U96ZTb&RYKb-}EiXf6jBAmQnrO?(%sy%jfPte>}giUwrSf zU+}Njm!%PFMQYE@KOebYXW=rV`JHu2zb3w5U-Z6npYpG1FQkQZkA4un%q=LPdCu{5 ReKOD%22WQ%mvv4FO#lOh*e(D7 literal 0 HcmV?d00001 diff --git a/skins/common/images/button_image.png b/skins/common/images/button_image.png new file mode 100644 index 0000000000000000000000000000000000000000..6c3c3308ed7134a471d71d8662c02d22016c0b59 GIT binary patch literal 1110 zcmeHE|4S2b7``dPDVkECB7!MMDh3XMTv(P)+hl$l7P+*n3yj1O9O0KsJWSN;EWt|2 zOQm_k%vB~gp*S{EPF8qX=_a{O`vM;e@Ar!~qRB{NbLC~NGXv>!nNks?D$j(ie+5`H7(iy)jbyiV&&U%XnSQEQ?xB;KTo z#}IW@vIbR~G?+0hE?GmI2DbOD0U0K)Mg=3n#M_r z!bujTDV$|6ovYGkZ%m)ht@KL1x>DLuIoF!feoP#?FkD}} z_Pwuh=clRBRLf#>1QFV6O?F`m=9&Zc>OJ?70blx!WXF#!^J5$bH?IXmOjwc<>KYpB zS2yjm=0s(X)|VFgplqS+bi@3;Q{DOLLCwD1DxKND8}{N0GS*eIzTR3m zp@>}?FZU$=+{jp#!oy?QBLNb%lD^}1Wy_g;J!_k9+Atz;EcN=iUT`_q+0 w#Sy`d5~ZU^nOUsNJg!_c((3YuTZQi&NMBOp=M&%3!sQ$geNKV)QC3CMUwR-}MgRZ+ literal 0 HcmV?d00001 diff --git a/skins/common/images/button_italic.png b/skins/common/images/button_italic.png new file mode 100644 index 0000000000000000000000000000000000000000..96b1fb9fc28d9d4e7f3ee2178d35a53ded98b9d4 GIT binary patch literal 975 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6M!3-p2R(v;SU|?nl@Ck7RavQ+70ZcUjc?}H* zfZ)!7Wv4y>Wt<}`JQAw2t0$CpEN+{zal+!glb0QszUs)Vwa4deJiU0^g%!K6uHAoQ z!{NJ|k3HCR_W9oPFAiRLcjU(BlXt#ddh+-B^MC*U{|A~g3PwXYd0U}zL7r=G=!^2!y5JYRPU}U}?}dh+ Z)358%nxI_RzX<3622WQ%mvv4FO#s)JoC*K{ literal 0 HcmV?d00001 diff --git a/skins/common/images/button_link.png b/skins/common/images/button_link.png new file mode 100644 index 0000000000000000000000000000000000000000..e9507b970c0c6eecee4e8d0bc89608f552232829 GIT binary patch literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6M!3-p2R(v-HQU?NjLR^7#0~j}esRkggq2T}! z+&Qr9)CZu9b7X}_LUnfagwl@1Z8J7bSiE=gvIEms9htTE_`Hp$7jL_;V)xax`)_PG ze0TG)2fNNb-+TVW!7J~M-1vO*&bLcX{$79n?>{X;esLktkqn##9+AaB+5?Q;PG;Ky z88bXx978H@)pp3;yOljIEF4 zS!b{N??))Zf~{I#x*gVU)%aq}sB(YaOL>+F9^5f6)R{b%Y@FM6E*tH^q7_JTG}7Qf$#mZ@uYhGcGio2$WG zW^*(-KtM-OS72;jXm=SLAgH_5qqff~E;XgN(lt9nTxN8nx6l$57lDwZm#D#ch?@Wa z0EU&SqqfjuZGB;Ee4w+<1_lRpgOwT`A)m3zPFG}}vCEyX$s{N)Fg8A%ugN1QEt;*y ze~zOJ4G(5=gF#7DS!8p4jG>yX$7yzm1Ox?wlBi^GfmL5^kfFM6dybc?!(VHAc!ryo zs>GJ5!xtJJJVQ<>Ei{s(y_2TER$_4h0RmKCZjhtBj-a|IEj5jxxrUgrb%>+?|NsC0 z|NsC0|NsC0|NsC0|NsC0AgEkn00009a7bBm0000;0000;07l7cJ^%m#07*naRCwBL z$YoQ*Koo`H4WYOdf^~6NiZ5=9TZ6MeaTb?g0fPN}PKPuz8TR>b=iHYNErXB@9g~nu zod_XWI-#DOlj}?Myg+_IFwqOsii%5ujUG)aEemE8-SU-JR9aS5wH1ruL8rc&T1xBc z8ycIMTPQ_me_G>hjJ0=kcCqdr#?X0hABX+{oWY@C&PPT$M;{xH3n3;Zr*OsejF_F9 z7Xp1@aVcTj%PTglt|jdCjm<3^U2gB}%H-a@goDGRJUTu(mFP;HonKsDsg&y*rEc%; zl|px%hsUSq7bgVWb=}vucQ*{(^SqDGFE0%JTL=9|$0UXs`Oh?d0aQv^xy>=JCIA2c M07*qoM6N<$g7K(VC;$Ke literal 0 HcmV?d00001 diff --git a/skins/common/images/button_media.png b/skins/common/images/button_media.png new file mode 100644 index 0000000000000000000000000000000000000000..020707901bafff996518a13609f24ec0f228635f GIT binary patch literal 1155 zcmd^8?NibR0RB1V8I-MdoK|xm_F-GKcGmY1%sHTROU$EL-zsI}@^Sv`ts% zP@9K(7^i_I_!jSCU@GvF7XeW~#_Lah@DoK80m~ftWpmvAjXihI^W5|Gx#wvq$p0c0 za|{CjKx$rYPEo?s6HMEON@&JN{44;VfPzaUxV^o-8VYUA-jAqSAl~-~tak?g$t6&n z{z$;u=~GZ4Zl%vsW;gS8~ z9<5w5D>SZGbALjJni4S4J+eD4K_zTc&)A}n`a#gx=@!;{6?fg-8?a?eZ4b-M>spf& z(KarFt?Q0HSXS>@gH_MuK zz13w_age#TkgMA<&5&w6l37HqH@^rD!q4x*V1wgvnSc6clie_`Ly#FtV6oF67mTZy zL~2-Xly7fvJTj73*|112f}WJGdc~l@ET6NAW?X!w%VinbT7C>kYP}%Y#=2sYcm|E6L8M*JmqFBF~8NxMVjjiN_>9?*vq|_voYOTRsi(3NWB9)z6ZaM& zaS8OTTs$e^x&QHkq2@CHNIH?1lT|{7DhMFv$k8JV2L5ZeCFxTXD&_t3vu~U}hEx!c z^h4M;(+=a3&)1!)L+72SI(ncEkN>108TamY_!|JWtgx`~a{U6}vy6rcCw50UWO84Cp9cyu-F53NO)Hv*BB&EVF-r1LKu!G45Bqgg~R zsQQt0#-U80RX3}>pOt;RhnYH%#yp5+9Z@aK!_tmxgZ)`Yxck{6ayUsq}d;Z12EANin z_O>_45U54*zIJt9gwlt)5S5Q;#Tg2ZoVc1 z5ohg))SmAFKmY4*y&GauH0kbEb!nCjvO&q!GJ%P^(|;_xBD`((19P#X`)|uVyFVdQ&MBb@ E0N}5v4FCWD literal 0 HcmV?d00001 diff --git a/skins/common/images/button_sig.png b/skins/common/images/button_sig.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3a46d24bf6ba84e4161be1305f9a3a25696c83 GIT binary patch literal 1217 zcmb`G`&ZHj0L8!Nqq1zBwNtrcTieRah9JIBL16+SzQ9LGYPn2|loAa=Ed}c!!!VDE zhyv3|Bdq2P5bMJSQlz1QSPrU&E z@JS%y(_Gx-^2Sx}uJr4969EA303|7du)MrnRMmKM@dGKZYVP4u9F1#ryq>h$hBRHx zb*vgX<5WqCacXwv!RzUTmzK#3HOJ_vpf6CEMB=`~2MQRW!QuSVt)^Qq4HIL`f^1Y& zXv*HIHVtI3&J#(Q{S)^f`=c@IJinTQi3rOos5z^5nC2f}x%q7T#-9^&k65h3wXGV> zs158nmqv{xWaf5Wnj5wM4%vTe6tOCJbq4$6%d_`tOOM8e3YwTCe=xF7V_v{x2%CP!n#$s;GlgVtXw z1P$QWE$!HBYfD8TzeQ)cfANZAcw$P_0``o~gO^O4(n5B%q-X4QzusI?LCoKO5QJ_H z80WMq>9<*tiaxX6Fk8y15Z2Xq56`MD+FPZ~^z8I{X}@aZx(@8kO27mJzz)q zVr~%9Kbb-uG)%-t?g|XtjE#*_s#PlO1eeJor{>BvX4UXayW|u;79IlMfkIO{yPN2l zad6m|u)yu5Z1%9ai$V@XU~q7Fq*6Bx`#P9}4#=QJF*w4m^D}3)hLYlR(w-c25(R%a$ zL=uTiV~DyTL7Pt0p;L6JMYUzw6iiH1bTE3)?!596US}#f0~H-8mV<0zw^%AGDJr5+ z(dg)H(GgTyv4GpsD^!eBihEqU{a;kma8>TQ#Oe|ft;|KzeiqkDO6^xv3doH81{+@JW#a~$aP;Yo7onf+J_DGQ&mHYjM_ijSMp=8#V3 zVCjpzeiS7Khr>}5XoSq<+_?0_Z1)vdXOzD3otFU1_$q%xy5}lD)FI2x+Dmiii$Mhx z_6cC#;-`?~jOKaUg0C0P`I&Ox*85K%{ITe{63bc!)~{OYy>7M78lGDxm+P?}Pb5s5 zEan~C{I{Rmrcx6C^YsuUa%ixu^yP~+-u0qHa>&%wE+o$>$(#?n!2ZieoNR-E%%@uv zxeFKw`~32U)f;vsE0OFwuY5xaZORbN-S?hrHo2KM!D;&9zeN(w?g859ktKn+BmAh_ ziq5w`F@NSfaa^df-#ziqM_A){+)AFa?u;L%{Jn>t9L;_=b9)2!dD$X7$Kc^99ms*o zmn^nyDbIQFnFCts_U3c+@mFuH*9+~>7V_zN2kB;ynbUxBYsahPojx2__do(61>gTo GUhTg-lxQUY literal 0 HcmV?d00001 diff --git a/skins/common/images/button_template.png b/skins/common/images/button_template.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9cc2671e583c47a5a2bdd8039a2ca30e0e8d28 GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6M!3-p2R(v-HQU?NjLR^7#0~j}esRkggq2T}! z+&Qr9)CZu9b7X}_LUnfagwl@1Z8J7bSiE=gvIEms9htTE_`Hp$7jL_;V)xax`)_PG ze0TG)2fNNb-+TVW!7J~M-1vO*&bLcX{$79n?>{X;esLktkqn##9+AaB+5?Q;PG;Ky z83CRyjv*DdYENtzJmA2?V))GeRQ36Pv#&h8CFm5fXhTg$^t~k!aZjH6FS75bQ~%Zb zB79MNN1fWQ&KK^BD2nshmM7quA*XRC_qrHZhv6rgElcvC$t;fmS_Qcrp(&YVhh@(M9PlS$| zFEcuN+5$J?{T-@44@EipI_4i7UkGge(^FEcyr>gI`)pio$3n54Ba zH9Tl=da1h6PFG`9U1wTiZ8bYXSy@>>L`}WU<&2l8d4rL#!`ys{n@Un&x3#iOR9=gh zr)zS2hL4>tGC7Ecg}Ar0EiyQ>u!2Sa005y$L_t(|UVX^Lw!<(C08!ZvW0{$mnfu`X zf2m62WK*5q-3-tifFy+j6e$Wop7P}vDEJMjQl34GdA;!t{F>DAw%Wc~3j=>b8hWE^ zwIc(+9(w-#{{6Rg3BMKU_WFa96~V8*jVDvzS7Z3?z+$o zzKEMCgt(g${u~8=hJrs!!JnewPgC%hC>$KFeB#av5FH@@4K?{c00000NkvXXu0mjf DAP3X} literal 0 HcmV?d00001 diff --git a/skins/common/images/cyrl/button_link.png b/skins/common/images/cyrl/button_link.png new file mode 100644 index 0000000000000000000000000000000000000000..a690cb357292263c3c36b12630ab2dcbeb8e2ae2 GIT binary patch literal 353 zcmV-n0iOPeP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUyNKi~vMF0SRLs@u8V0&wOkadWohM2LCqrH=+z?Z7Tnyts4vCE^j z(5SoBt-si?!`-vS;JVG{z0c^u)b7OC^U2)y(&YWu=l=iy|G@WV&Hw-ai%CR5R47xG z&%p`;Aryt-Uyw)#tf@us|9;b0(hTix3$Ie5iw=nJd9I?p(aU0y)&S&B$F`u+{vED8 zhrF)=fIc`fTl$Zc_IqU00000NkvXXu0mjfFT0#U literal 0 HcmV?d00001 diff --git a/skins/common/images/de/button_bold.png b/skins/common/images/de/button_bold.png new file mode 100644 index 0000000000000000000000000000000000000000..8386828d253f381cd95908cf4dc9775e8bda3df9 GIT binary patch literal 1013 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6M!3-p2R(v-HQjEnx?oJHr&dI!FU|?nl@Ck7R z3O0ao1DI+6@){Zr0KuID%T9d&$~Z?>cqCM3S5GMISll*a?NMQ zuIx8B8O7zaCbkuUa#ppci(`n!`Pwrl`3@QIxCXwTZ7`*ell9Yo`;(zEOS$J+Ow#?S zm*d(MX6LoxQy81J{!@Q@kzboPt(*7djYjQrAOF5fcqCM3S5GMISll*a?NMQ zuIx8B8O24kvNLBj0EL=8T^vI+&exueE%w%9-Q2fclBEs;WK?lfY0Le2jv9_oxrn53w F0|1fU43Gc- literal 0 HcmV?d00001 diff --git a/skins/common/images/fa/button_bold.png b/skins/common/images/fa/button_bold.png new file mode 100644 index 0000000000000000000000000000000000000000..2f269a8dfc2493af02fc91f455537aaa599ac98c GIT binary patch literal 504 zcmVu*2P>w$Pfb$Eds2t-shv zV0$1VkZXI8dWgJ2Nu#K`+8`v63k-%56^L$pun7u;f{(&UQKeR2tVd6ynXAi(m%cwn zpnHn9h?vC_7Kt}JokL2bdWXm(CX*K#jTIP+jhoIrM4k){hg4mvfsweMuic%j*_Wry z6c&njgvAyZjA(VQIY63hd9#n6%eu|ycZalQak5@#w2GU;3JZl#Sf!V$#GbLsywB*t z)b7OC^OL5)004k>h@*y>vAxge*XRC_qrKAP{X7h0J%v-K~#9! ze8`6mf-n??;R1?);NE-hy{Jmv^8SzHDFj1e2?;kT31^}Ossr;w`bC|$4v4WKJ9XP$x*K)0ckKuyf-FLcMV uPWGJ;^oI!gRRsMaq7qGg{Zh4$00RK_S7KcUdEx{B0000kdd%M}-iV{flKL7{ASy_u-gMop%Hki9oOoNjr*fsV&@fxxlC z;aOv^A0m#Frp7-;poNsdG&z}#o6bB!q9G)aVQaCCo5!fS+HQKfy3OaMwcC1z$HCO@ zm#W0Q&*-hc*u>cLqqfkfyVZ4wqlTEV*XRC|rofP+z0&0ULs@vq-1h(f|HrprumAu6 zq)9|URCwBa&esmYFbsv^6mYr+d+*)SGE3h7&9LO8MZ)5{I{vRL6w49n&XGdBIHgc; z&Yym%9G5*av7d|>qA1oId#W8^m{zdwTO@&Ye=$htz}_%M0N`zDV;7pg>h64VV9&_L zTW2-w1(`ze1$$2BFw1M$EfT^woLE+eF6>Rs4e+19r33r9V%xTv*dHA1PY(7Q2m6&H gg(J&f()kE5048cnNt2xTivR!s07*qoM6N<$g8fd^P5=M^ literal 0 HcmV?d00001 diff --git a/skins/common/images/fa/button_italic.png b/skins/common/images/fa/button_italic.png new file mode 100644 index 0000000000000000000000000000000000000000..84985848384107b27f4c18e6fd6f37c36126fc83 GIT binary patch literal 577 zcmV-H0>1r;P)9F8X{mb}gGlA_A5!QrsM;kwP|BPWw5E0>Fy%xZPG zGdh@okHoab=TTXyOjD{YGM5$@iwg{fJVKzVyW~MhpcWa63=M{XjmcD8tui^6OH-QBGB=zfCX!lYtv*GZq_)>wXsaM2kC&>%nytsd)b69U(7n&-#MtwmvCDOc zqlTEV*XRC|rofP+z0&0ULs@vq-1h(f{~QjN?*IS*+et)0RCwBK%vVFgFcgO2G$~z- zvQdV6p=>A1*%Ap3u>b$R_=OuPp6BM|doRKwlEfooFf>=YBQeJmux|EhN=t`;5n^LCk8h2aB)&PuI_s316j%H*u1GBl{r_kSVwNxf*G-)c|x`YA2s zQ~FoLrF3aH)ZcPL={oPdui8g=cRO(AzA&9W@kReOsRzF3bJNKsU-S_X9gy~kxB1Kq zT}nCaO6@w5GHUTckK@>z#MKttCDWH}qyH8`|0&{MK8^s=r1^V=ckvcJ4f}fZGX+nMg7+Zd&=k0|I6mJTlP7{Jd=h_4hEA zx{A?^EGFkKAgH62(55=#_U*tG6NmXw5qG0v{#C;dKyZs*sk&H(VZDj5MJd#suc9OG zBdnR(l=k;wI=r8(9y8Tve`h>lF@|+Z3HhbmM?>CRbPM-39v(uUx0U9?FBwZVd75s4 zwwv|j@6N^Ln#4BP&lkmoXlC~xbgJYEBS2Gz{oki8Da@0)?C|jCjj{Gbxm&Yy2h8jka zjNFkVaNToIN9zr)|51rjrACq@mNhl-MnE9nZpcBqF&88lNi?EttYJ7V-rFsr==lJe z<_1QeOpxp82np3tTU9|rRRxEEoLO4-t=>SaF%`|Xt^t%xv#B7u^D)TR>^) zW+LJ-xt`AF(lXe*@il6~Bgt4`pz359S8ao6!y;tN?XXCK`+Mcu$BOniJ*tjYA6tcX zoB5>jGQle{s6T#&f!j`otbM4|S{V~!ZpSfC=W9hl@SJ3eU&!3bOL7emUHvOdkK|Lg zn zT-7txY&* z&!OZ%5q9SUKNNq=Zx_xXif$IAtYrD>mt;=D_g|y7TKH+_draNuGKC~b(($hUZ;cVv-9cn;7urD!qmj{AV|7?#bvQ#cGx9D~T=l%U-7!8R$c_R_j2>e2-UAVM z0534eAH|z{k4T*s8-h!m5%^ytFvuTWbU1$jb=y3g&bDVx00000NkvXXu0mjf;m|P> literal 0 HcmV?d00001 diff --git a/skins/common/images/fileicon.xcf b/skins/common/images/fileicon.xcf new file mode 100644 index 0000000000000000000000000000000000000000..85a0a610844200b5a6b9624a9e94f359c6c0d475 GIT binary patch literal 26160 zcmeI5Ta2YwmEX_)F6UHLyW4%S+m!L8+&BufFvj3+6e)J1WJrXA-9`i}FTwcIwtMKy z$nI!>hjc>3MSx8tc$rDyAp#At&0F9hg3-X(2HxTaEMugBuCB|uRh>GQI(0dh%Kx|4 z{!Vo>HW5)qVNiE>gzKK0lWb5EQ)eX^uKpNikSKA`Uq z^y84er~cW0E|vJ!pX>CU>6`ZJ^?j$l_dY37cRY6P%$bvC&+C1OfrtP3(TywkT$p<2 zGv_~j`sCcHv*%Af{mjY7&YwDW_L+Chyz_}CA3JyY+|zUKw14h+`pHKhnS1Yh-fMr} zGk@~PW2eqOId@kvml{9)W{t7!j(>Od)Oj)g*i$Fr z`cvngc;cCp=O+v@`foRR%aucsNBk4EN~I6~mA`rPY-}vHnk~p5loV-C;={83Wq)?` zJr!TmaXP-%Kc$)Yn)W^Mwf-qxbJ^>?m%YALuc1}^sptiB@TWLZ#d|d+|IME4o=H7R z{-+l5Kdx*~UeggeQY!t!ua-*xsKK*zvA?vqw7j&uytK4jULIAKt9do41$~dJwX8O- z*Y?-Oi%VfiKa!U3>b zuhr_6`nXZg>Yr*az^uA$oY%C@dZ;D!zGiRuS7?m%Ld}gqy`i?yNb7?} zy}q=ZEDwF*aFf*1$OE)PV_a{f{HX9F*PO$Kh6JrYEGNc)TFV)cTt-=4_cX@M#&jbw z!3Xg_k_Zz<8?B~j4VsNcvyn7L%|EMYgC%a zioMY;HnQeurMZ%+8#-83<7!wPx8P7jHzDcc2d&i>%|3ddj!;colDIl1D?T<|P1G`GV&^bj&0FI& z$TiE>XSFqHNLRKr-Kq#D>eC9|aok+V#8=h|Yva~hSQ9yxny!x2F>ejm+HH}`S29hW ztPR_1P~UDwh7xsXF)V3oWulX|Mr*CLl#YxWudKpSwwCJo(3cD0AX-U#yw(nCUyp3H zG%``oq;qtK>9V!Z-tM&9oem3%q=OnqYwb>^PUF=Uy#|`g8xqMQT^s3r(oQ?$u8j-o zLQ~ofonhCA*}$-tYpOxF)1{x97&~rv@=n?{+KDkK4m#?SbjLl&wff?6P2|*^b~5#3 z*g$XFouH9PPl8y>L^pcE zBjP6o?g$n%46N5zU|^_i^V*P5Pk^Rusj^%tMywk&IT9IC>;*0a=0-mk#6|F)s$B!J zPxAw4HML>-rW|o`ukdc$06`F@UYeaR_qTFwLiy+BWcx*rlU@aql73 zt1*&DfbWL2ONX+i1RQRF!|2E%3d2??wQ6n5P7mGz#1azlEYxiR^Am=E=q;esn(4U# z=r-t=3A2OrO)A7UtQ)P`Sd>lH%!TqoYH@Fp16r+Hwh{#1Qq;|IGh4~^8eT_@=1RU& z);oc)tBIhuL8!cmq=EBPBf&htJ8Pyw(&C*|7922Q8}I}0lc++x7jWU~L6|Q-SHZ

!k?A6H5y(@at5zl;HwENC?kMdHfr*Z< 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

Jb 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 literal 0 HcmV?d00001 diff --git a/skins/common/images/gnu-fdl.png b/skins/common/images/gnu-fdl.png new file mode 100644 index 0000000000000000000000000000000000000000..1371aba886e5fbefc5b9ea6749a893ba440729e1 GIT binary patch literal 1748 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 Ov^1&;{5a22>c0S5=7k3U literal 0 HcmV?d00001 diff --git a/skins/common/images/groups-logo.png b/skins/common/images/groups-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ace60ba38d22587ec84f8994213be1872e1d25 GIT binary patch literal 25605 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

GfaBjdPa`}x?uc|FTy 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 literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-c.png b/skins/common/images/icons/fileicon-c.png new file mode 100644 index 0000000000000000000000000000000000000000..6da6916e9c570e0ed8787dbde24c320590a4757c GIT binary patch literal 2995 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 literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-cpp.png b/skins/common/images/icons/fileicon-cpp.png new file mode 100644 index 0000000000000000000000000000000000000000..ba54e77f8f85affdf7f969a22cb9510aad7f5c9f GIT binary patch literal 2250 zcmY+Gc|6qH8^^z68)M&>W-M6?*OG}LDrQEuVZw;WzORE3R~RKEipVY+;$~E~%*YZ$ zWy_3AC83mr5RvTM>Gw~+dtT>!KCkoqb6&6Wyr1Wsbga!8ex5@-008h?n4|1i9{YQ7 zbFtLGM{k5>TwYdZP%LMSEo2*!We~i%a})sZivC_8ptw|u6$BG3Flg`_PC-6Bkx(cJ z$qLC3&`tzocxb3^7y&>=`g#(4edJ>T2?6pB0lxBQEHKz*ALTFr;MTN2nK;D0Un&i@ ze{TbQQHMcrD4ouO;DVPN;#PNvV*hA8sI*CoJFSj1;4l?9khIPBhd{51uwC6L9)sxk zL3YL$K3viVC7~2OZKk3tSPia%c%jE1ie9*sdP9 zm7e}g&S1ywcAI+SUh>aakkkT*OG$ql!|s3Ul%QH8o-UBib9@8gcSk?x%enJJs`!D` z0Wro}YT3p?u$P9h#&gE=jjdT;S$1GFnskK6b@a}5+cW};6Tdlqn)w(B=p{9{%XdZZ zQP$sb7IJns4v+>;;t$=mNr)w_r6zopcLlIG+{7fi2Sk`IQaY$dqkS$c!IVUy)94E= z6(w7V!yU8)xyJ$?b5wWjt99b_=GkrfCGXM6Le$k!la_e*v$u<~hZyTr-^(dbsjLg6 zhaJ%fMB#D&?8pebC%sHxGpZ$C9We8NIVSX3_KB(e5E^Qlea)T^5;Tl;GnbTEEN`0a zX$CTPE1u~vv0iQySTAzaLht-tW-?LKll=(WFz_Wl`F_svtIeQ%-;opQ(hkn5++Fmo zCmDR--^*wuTjwP6xj?5peDPx{fZyeLk)x)ODmEFMEtaKbhovAkwF;=tcjzS1t1ull zkts1#Rq%3QrEo!|?&~iupki42lKoM(b{88zjzUxtb?D`_2+j;3H`(I%_K!fc(}7&> zKe9p(e#r3Q=VC9cHW(|eh5*BG{^Dv9_Q>hcXfd9Yl<1=B^iJYIs_d-0@>!gCku?{Y zY;(Oj(BA#W?HcC%-SH**L)O*R#BE&)ET&MFE$cY()Nypv*fS69Y}w`YxViPX+=L!& zJb@s#>$rQ{tWsE3PVOVYm`tv4to^jNv(e{sj5NCYc01|`jISrjQz|{#29CN^mgd)# zJ~%jtZ8_F_{x4To*SnKpbzfRxy|n3RMNKU&9oa1Jx{r+-@Dj|##Dvm*lZ0gsK0GY! z!y?-_B_bigSl?PxoeBT3Fj|*q5mQLEdNI`1K2`A#wJI*c3v*nu%(g z%-8$5zJ8p}VB8wg+^^zBpT(->smQ#Hp0tp@VMfXxU()-vu_5`ke8^9A>#|elG@@R^ zDvrLkru%K(5RS1DoJ#D>YHMp7(`WeLOMq^Ypiah%_>F}@PUYQmPf>2q?G1OpOEt#y%r#P}T6Dh5#s+t>N_&w09 z!HEyUa}Gz$Df&485==t|ZWinR!`~_&d92!_Gnb_uX5=exD`8Uep?y%*CutjWrFSy|b=PDN?)B*f&ZQ8;;@ z<{{KdC|2uQAk_Ohx3sjxzA+dJkznO{LE{Dm9IDT%4|VFp_Yxyu3*5 zp_j=)^O}9)39W)b5{tLVwwMMCP0BmhC5J`1Tb*sbb*`fy6c$e;3SyX8%>qT+x)$}$ z#63giN<>QE-d+MsMh24-i^GZX)1Z)+@uhCclKH2B#s~d|dft3hc91+vPB0kE%ka;9 zu2;?vZ93ozREZP3}pB!HU(q>ozC8X9&iR&e4!(tuAa0YRCjKW=W_dF=VLmwJ3PlT8=?Sl z0M|JOTnFHQGoS`gk_~{E>S=ZvkQAW3H|ogk6MiR27+<&KJ~!Nn-6S#cff^Jz}I$4WsQiSQ37?X>C5CRhoG rLf7Y~Ah*m(c|03CEi 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

U+*zq} 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 dcHvxvW7h8Z?F{PY?hA03CEi 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%0DCy^Q> z_!=De)(0vtHzzuG(y|fo`!T1$NScsIniF@p zQwW!WD`*YuH68S#|0pcXl3|}Q!@3n09dkQKO8P8v)P|Hrk8+PYFXUp0{vtVY1!tA0X(gR zj+b6n2sFt=!L#gV=@DwSV)FF9>rOO)#hs|4a5{LgtV2%O-zvZ5zLrWty{P`xu z&mb$+H`+Eg(4B|**Hdm)CrH4%e72G2PK1+NwRL;TvNTr zcH^)2AcYi=;v-{cIkB~zZ646OLP$$*tti0Lrr;fW6!eHhJ~PSCTSkhMP3jQu=GyC8 zk!4|}M^6%LN#-KN9(3jK8cDVNgCi|?^+Hf=KFU@mq7 zHGLLuqZK13>wd@E=CR`Mg35}&)285O{;cAiBS@Up&tWg6Q>0<(QKp~zdN&Ifns;#| zI(878<1il_r%zI?<89LbpOyd4zqR53Pm6+|d{HAk=2*!WG0ZZohr;VBf&u$Ea&cn(x4O*JqmO<7Y6lpKWAQ+(u(tIShI z*N7k8P3tX|3)QC3CEM4XRzb`WfZ)RF1H5~$M*RW_cfi5&tK2w*PW(iUd`}9aFHbg; zL(eHFnH)lBc-;mer$MwY&FQWIWCyssE;LtwtalC~+=$a78!8fTMNjEJmg%~|Lk}I~8~^+gDMA?O7_aQvN_%?~Y9_}1f1AT)Tk=S43_U-4 zss~q2U@_=VG$P&8JNbiHjZ^xM`^6=}XFhW=C*J=&-~ZM!uDqgY@b1Zh&Rql=y-2@Ce?6>K7<^dvYZXyfg_~wCd zSZb7P@Cs1v!$x5hNdi{$VcrOGOhSJy07-##<##LFn_Z}*=!uw?i4uS3Q4;%pO8)c# z0t=jYo71>L296NOVUWBGK4jgnYRrZL41nGzBSizytAg;rlDmeb_iy-tF8gAtN~U{!L!u#^95O&!ZYx^o{3ce*xo8~6m8T1PudjB zi~1TP=lU@!MZtxp)p$+V@}odLXR$b@2<|XfBZRmZ^Zvt#)qDxs#gMhRYQ+ZloQfV(?V<|`wnHz(8av!_V()AOT$~o!A?HVN(dXo*r*e>G z2W)>`04&)CSE9-R7rScJYKm>WVgTFEN^EY~K8vGV6nCo~FpT`~V~x`P<9JTF@Khc| z`*XX6%@s=}wowB-OcX|mO4gKI_@C;7C`uGjL=oWG40STDnj)a*Jg}OM11d_quC|@ExnQ2|;tgK7JP?^b4yBBbMLCkC{? zDDUnq7K`cH@^)|0T~1ZwS($Hs{)`CrSeu)=(9X2n!R%%2U8kYO_B*fUpWi|6OE zS7&|&>t7Aam~v%lrS;j@?4EIhOd5J*Np6^_W zZ}#3RojYq;;Puj|_1EoHwoWQrdGZAB%KXP6O|gN~X6tNy-!NUF^!QMf0*Jy?!We;@S5$H%{Z_AE`TNM2t4>z6Mk71rCgZ~vyU z)2C?rB(s%2rOKuDeLBn=pE+CIS?j*|q->1v|`|m(DSn^PRNk;p6LGKF@q}Nxl3N z%XiN zQ_M{Z<=j8EzdwKed{srojHCPBlv%S}S8G{tHqBW^^I}5+l6HX}uqkOL0&8wO*n2(8 zv_CfY_O|c!1_~7n;o;%kznu!aOcW%5%62hewF=}8Wb=49+<>lvx}$$q#;h|U2f3&E z0^Q58jC)$_DnXm|jA5m2|EJB}y?eLoOo^Ab>kdUssy%94aK*UrVauYkMIy3-e=^G^ zMS0E@l*x)||I1NiT~j;bE#t}N!<$yAl&`;H@x0FKm)=XOt@)GmRMx7_^~_S)DJ=8k zX-b*r3%5)1p7odid~0}Ou{1&SW$xv^eM@A|zrVQb`ngFF^Ht_Q%CO|Vx6JO>RF~+J ziGG}YX$=Xi-%rL$?#$;bBtS{&D!OUnobAZUAE2m^Jc-E^IkJI%_+Y(`-v6H`>)|Tm+pME`65xGAG29_?o6xT zuG;ffiWT}I8=rfIP38ZWUB2jbWyd3~gWl7A%?w)W^x{F|)$o!PuOscYR^L0{lent$ m@2MjS+u}Ug85kOrAIb|U^mqMDk-GxS*bJVoelF{r5}E*Vw;#0t literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-html.png b/skins/common/images/icons/fileicon-html.png new file mode 100644 index 0000000000000000000000000000000000000000..7c47952513a7bd7e767cd1be6be0f92289593ab3 GIT binary patch literal 7601 zcmV;i9ZuqjP)WFU8GbZ8({Xk{QrNlj4iWF>9@038)cL_t(|+U=crkQ~>2 z-#_oY?w)&R_QD>xmH-HVAPJBJ34$WTOBAJ$)@8}Eq^c;970GdwR8lI%sj}lLmt86Q z4~z0xe}C7zpe=1_OIzB~mbP3D5gYWk-f3c1>knIN1gK~Oy=-93dIq=| z$aq;UxZ(<8ripD$i}TG&0H;|SK+Yj4=3!6Iy} zeQpM~_FYQ3KxNmijkX;zEOe7S*0H)amxIC0UbDppml|-3F?%VyTm!eZjR8!P9aa&@ za*+^f%~f>Gd*1K>w*tJG!Aq(1ID?~WG7-2{z>SJriAY1PaB@Sg(BFK=+v#SeH}8vs z4Wxl2;6wybEpiB#4d7Ou^c5?uKyCFBG=c3zzDp}`FFS)VOyzZI7@z-tKdGBx0e%7zMQUOrXfspDnNPx=f` z`V3EN&QE!qpY)k5hWUcDBk1q687N5l@;3cl76S!~y_*vp*_*<##F~KK6gsUMgWu5r z2O6F{R_2kP&hfX;&2nnokE+WcBvBCv35jf!NzjJVGcKp6!00ksg9!veKqe`9@AYZk zcVmwG4rJ&^$;-uPR*KQ@NPvIvN|A@2nB{vf7DHwVgR&u$hke@;+_*i-)%^~gSw$f& zDWnyJq#~D)6kWqqIbf<1FjWkgDr$~jsPf#KWnO%<%D11Ne2M*-8>8d2x z4kSq07tcB`FdV&5;io4nJn~$T$6hR<1Hq;a#jk&`n@=3cqgI&IQQGp0z!)$ZZ6|?Q zpiG$E@|kZt-gp4NIqLCy|96~k|6~p!4V(KcK5{6_FCOe*d-v+KZJe9-`NlIdJoxx5 zXGQ~d_S^jChkLm1hRjN{xf$RoU}nPuJTVvW$KRRc>pz;pH?V!c;!7Xs;;uazM7(XK z_7tY+iCP`Mh^IFO9y?a#5576ciD8eMcP9C*k9Bk7P^t~^#mbAPTt55dVMeBXG8y=l z_vZQ3tpzM87TmPChzGftrWtJv-*|e4|NPx)ri+H(_;44WzqfOx03L6lqDz+w@Va!e zzV+-Jzy9?R+(2{WK$3s+3*B^OEVO}Y(E1sLS^Uk7A2PyR(tG`(n>%>Vby@zy-%j%T z-<;ssu*dIxvKQN0pBdV91+X#jM}ITPm%lfOk%o`ondS3$bb}}2F3OTQU1HeduXkcpi+4aq;cj3Kb zSDKg4mU;eFkAL}RBYgGO21wZA$_DuVy;$N;ADzNinzC^DXLoF&>YF9hEhxggu@DA7 zXfiTdhhJ;$uF-$OK*eAEKHC5Aa3?RE8Rn(4lHd8pIREYwJy$Nkubp%Gtp~?JX~wD* z-n%c0B?WE^ASB=@fk1@a3k_&N^zE%udr!%4Dg^&D+yt9ElrIOiDr0 zlGrjNqaS%l4WNp+>X!95TDHJ&Y|cYp1bc;mq$TkJQ@@AhgcY~%$nb+#i*)21{{16U z{P{oazj6ScDrx@blQZ}t;M`0VV+2Fp4z6#ol^|s+97|wySgEZ*6#@h@vc-ZhR2ES> zv5~#n7+f#h)+AwtJsw?8FB*3!AtyQq!dyJyue`U4pT$Ch!6rL1x7@yeMKT&A(_URO z2%wNwq?~ZDKtf3-OBydQC>eGj07%&aC1Iiz;0Ff(ZL&X~R2U7Tvo5_oHedPv40m0V z#!_Nq1AJz}=UYE5QPw__MZb<-KB-7Kia>*p!9>W<_d*OmODT{-;2UD$kXWFyYaat+ zD7hNX4@Z7u2Zqr9-)m4e)>a;S2~kJ5wQ-vgqxwdE38o z=eYksmP|ryOn^^~`#g56!n9Xqt`u<7t}N##t7ILCkP=^qYS|c52hCCnq(Gan!9YZ| zR>T1nrXecQ#&BWMV{*=4_Pw1R^RQIN+_HP=S+77FN|o?MtyT>e$`ve?;aktm@rlE^ zjS27*uUD{y;Pgb9{!WLfIUheTTz^%TSyz)z2m;?AB6=!Iq7fluW2(2ge`(xKmns3L zM%)GA*0RKdxk|9a3CnM0oS5^86aVbE%jRr~$B(%i7vQIkmvME#^qkL7f0Ef!!0436 zKxcy4s;0|}#?lIj(FP?1I%0FJDKHw@6Mm0uXl-ES@VLvlvFfVbzfyu=nZ|fz#>d1? ztyT?FuE+5Uit#y3cUEpJfG6fOua5+rpDlwHbmuJkI}@ZGMLsJTp9>hwN^D!<2LYC) z&~fHQ>Be~Ku?Dy{hL?X{WUjo*X)4c= zTQXBz8x{{w_-yO5dGma=h4&0c&$7JqD;w+?z2T1o%E0rPLBH?{eV$d1hkc5Zga zrv;8BDElxn7qBU7)!8d)k)mn}TT)5IksCVr-cwUls;jT8kDse@%ia`Ez3kUb!(=I7 zq8M=N-ZaP0x-I>Jk#P?t1=D4-aR8n!X_SI<6E4G}^J>j?1CE|3ar8uqd{(h*i^JZb zG)g*T5}J%7>mWBEEavAE60zVon^D|-a|hpfVv6b-fP7}uWBY)`YbUEXj$rpy4x0xo zQjX;KnaX_gr2tC_Jl_xmQ1(2gE6zq@aG3Y~*|FlHUB;$o1D-uv=BG!?Z0onVWnY#9 zJJJ-=7E+m54~@|FB5L-zv8!xn-r>H(1s?vF;j+f;}s^S-`egN;N)CO&|$6qXQ?=2k|ZMb%4igzFE#1J+&W)cF+k{C2|Zm@v>u4t;BhPRot zKYhXFnb$133l1GggOiY?5>}nTH9%#2cDZP~xi7(BuS4ML@Ej@XO^uo&75CDTB7ruH z%=k=~!oRa;D8=@{Bu_p+O;4xIy@&Gb+MdL=1c8R}Nsn6(dN3o*OK*m5K0ZPoLD(eAqtjVyR?NS11Sqrkq+Xj+o!$qs`nNrx&RLffK-k##4 z_xAGii?jGa=oIeXlVf(yC7BQmkGlN*^V8gaXE&HI0#Iw%F1+etQo@!Y28+cGOO(?W zT)y(q1zvumL^Uu>%z9z3%ZQD#HW!s_EH$>aDvqNV?6q;L!P_b`MW557F5|O4K@i^G z&|rd(zi$&J2}NABrC;FHck(pF)gt%%98#@u*9q{jC6153%)fg~@!URs7K z4#z~fo>|a@xNRW8XFfat7<|vLb8CuHsR~B&>WR>y^gP4)F%JP`(~@LDK@hCzK($o| zxR4SgY`MS&_vS4|rk5Y^AAO^Q6k~k)fj&Gpz_uh38LGTUFAEXP%dsGAZmiIufkeF< zPb>SXb(rH`tnsM3VDtH38pN@~v}IKae9uFOFrB)8caEoDnC5?d`#c><$&q_{=*U;(XC?Y0@2dVAhRA)`<#beb$Fuv7@D6g1l9nt5)KBQZdKUy_O& z%rA;y<}+r?kq_O|O*XA4mV6vX(UD8w2b%Bxc$~Si=Ki~S*tso9x#+WFFo~13Lk%Fp z4&9w;wQ&H>rzQEUwV?JoGiup2YFUE2Z_ab~;R22=$z*Jls@dV1S{8K`ZOgD&QlRQD zz&yYmw#`ku(o9ST%vAzr%X(SOfB@;F;>K$_FdEXSu&a^QhRKigc^MZ%GIp22f{l(G;4dOIC{ z`GG#PHaLzX5YUm749^BwQV>MBHz6hYG#dxtTvCupS#)G9W@7!MlD0&`TlRm-rWLo} zlt-zsyKE|9A!NkL2;i&@PUJl!8oTkdw01^De!=`MTM7m{Z3a3+({XOXYq+;mQu49) z_i@kRE{p+>0HY1s*Z6_vk;lgQ+0i0bZB6mf_xJJ04@Y_5fgI!$F|RqC?Y(0oF}OD; z$s`0rn^U~->P&rq+12bBOmOr}Wy$Mrxh{ueNrV)nlU8VhqjqFRLD~}Gu+ex7+{EB! zqy+*?($bF?KwrV4kWsvO!KLVG-v91yK6LLUW{Lrp3OfNhwxU|q1VNaVymnWHM}Is) zsqB+UN?v|#nmczUNp~gj{D4$%?kleS&)jU<63F#`N4wD^R=D3wx@aH)Z(F1!h+p{39h}S zgX{Kn@a4Ze&98lGTODAnLq{(V60M=95IT~@qR$VW9OqrvWEq|C_=|^*p*7??Y;O2; zfrNle=N{VM!Fz7+=G=(O!RzuQld7(gr4S@7NLi7Zt|vDdM>i}sNUg!iOGw^- zq=yF|Ilt(A-}mkw{^t7^_>~V0aQh7f+`yoO4V>;*k%7!Y4WKsWID9JgU@_yGecXF z+;zB%&HYJ~44I;&z>aKgjisW_(8g?KgUXId`cYO0UOH)qDp$=XHL^~)m0~`@(Ew=eUz191KDV|%n^GLwpKqz3 zKk%Mj_Uz2^xnJIjQX(ArD8iWBQek%P(I1bKPFYyC#InMS$>BX2wr_Gcey&n)MccnO zhbN;#4P1BS|N{ruez z&r@+VrHbZ_a}^F;o#DL)3%oX7WzN;uQ6+}XQph+*&4XH3yA9)oSuoUeNr?_`9Y}KL zp)Nd6Gq5SaHCN}@HkhiXFvA9mXw5z=yn(7PoOq*Hx5G(CVRuXZ>i4f>ZpP#6h|6oI zOJLxZ8w%_mDv);sdwS%?1sLFl0mX@F_}KlM`PxIL0C@D-DL($bK9q#3yB&^>R0)Ex zQk9%fX4nmkT?lN$`UotZ#Uhrnti1@I{^*wZ{q@z$YAs$NTP+JL!g-r!%bGv=^Edg` zPi-Y!dQi}x5_H&--hz$OmE^|j3TO=f_+#6!rR4Ay$>mteaZLes6zuPl_;+mPiJy#d z;$(@@X^&iQ0ug!0*Y-Ia8?WMfnuKlDRkD)v;5Il=@fmek{^AGC6V#doZntSZ5IR}W z;WyqaaofQz0&VC^LRN)pys8Z|9{j7%@4)j7GH~ck8Mfvx&y-4Qt~2&_3-U?$+$VP; zg+T{~hkiI7R*0q|R0TR&IKw^E5(Uu_|{eou~p z1Z1pv&%6>qSx3GD0%ik`QrDO)hq zq3E=!tHpZw^A^C!7C<(arLI}TZiLkY&m6}}?s0PL_Q5FHYRZ&9FWx=LI z*gRR&BnTL(gp;!=DbSt;2o4WG#=b%UPFQecGh~w%zwyua;aG|%o|#~z3c9J6q$LHN z7Ub3Z>eDUNa17AeYSn6CpFESx`^x|r1XnjR>5aC$DBUNoCAxEd~0BefVq zN}F0Q%23rNo0#aE@EjcnF$U}cXDaIMqr|+uig(5nEx^^lga;)ZPLJxjP@I!w6x=#U z)R~|SaDyBifbs!S)>N@0)+=+5j(Qle1wb zx@U%AW(qnwAen%&2Db`1Yd$R~h~mx`z%G@tY|213sN?uaT8GT_49xhUy@znb!^{kL z9$ecEJ33jnvM$$6$|vB+R`}^KOwT~Yfm|9K2Z{l>Is`eTLY-Z+c|t6IZFJF`hZZpv zZ9*+kH830fo(7DDxe}DiVQ&1^!7yR7o@L!G5S>(T+ZMQf6WAK2r(t$BWRC%g8ZMMH zzxvxRar|t#4o<6lGjEZHuJ4b$@sbW1I}?QJ83UyfOiVzv0z(D3Yuowo%2iF zj7_Ja>7iNp$i#3o9)$!%dPQBeaywvO0YRUn!J z03 z5|B&KmUlv!)Rs2DZD|ACmNvlaN19tUO&j2i4R)KsZD|AC2Dn`X8(USk0bXAYR-3^a zRP<_rELZRiT-7)63II4>)}xsc8<{-oYZUwGI>%sWVA~pb+OVw2n)l-ed z#R%+X7VFE&;P|S^an&PZ>er7R!ij!Q#g1Kx0LSYpPKHWMReLdjFDdD<(ki;f;5g_t zTN4L&IktBr0^A%H#X+tvqM|QJO|PVr6$d!}y#}z1IalHe2e?^P`%&>?pVtk*@wbwg zTCUx^j4@ZV0dA--)5PYWMbhJvV&Rpn#Kk7Mku8qV2DpI~rbQ-eMH>EBx)Mc;B+7Ef zgKY#*FGf|<1n4C@R%=nAi;ewi%hDjP7_e)}m^QF0r_$TfmbSE|Ep2JbJ4F6Jv|6uC T@~va*00000NkvXXu0mjfd{B`* literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-iso.png b/skins/common/images/icons/fileicon-iso.png new file mode 100644 index 0000000000000000000000000000000000000000..b4192e9e71b65811d29b4595f1e7d846df5778ee GIT binary patch literal 6673 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 bGgAIPJDNlfKHVP!00000NkvXXu0mjfHZio; literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-java.png b/skins/common/images/icons/fileicon-java.png new file mode 100644 index 0000000000000000000000000000000000000000..757c6aec9ae2ae27aa682ef834c6ab0ced1c4154 GIT binary patch literal 6825 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 E2Qa&Kng9R* literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-mid.png b/skins/common/images/icons/fileicon-mid.png new file mode 100644 index 0000000000000000000000000000000000000000..aa82607029a49cad1a095a9a5495b1e1dc02f8d1 GIT binary patch literal 7191 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 Z{|_IYLkSMe&8PqX002ovPDHLkV1m}soqPZQ literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-mov.png b/skins/common/images/icons/fileicon-mov.png new file mode 100644 index 0000000000000000000000000000000000000000..2c0da0d8771c6c88ff80f3b4d976f5f62d938d20 GIT binary patch literal 7946 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 ABLDyZ literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-o.png b/skins/common/images/icons/fileicon-o.png new file mode 100644 index 0000000000000000000000000000000000000000..bf051cb807cc8f3a91196cb58aaae0fec1ebeb97 GIT binary patch literal 2893 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 sN}sURynDL&{}XM!q@KZ;cAdjJ3c literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-ogg.xcf b/skins/common/images/icons/fileicon-ogg.xcf new file mode 100644 index 0000000000000000000000000000000000000000..a91024bf219a175702d9e144e467cb8982b102dc GIT binary patch literal 40236 zcmeIbdyK7Fb>Mft*Ev;nAAS2lw=d>#Y2%4ac)Poal!1(rK?%grIEndVq!<`zpvQE# z13emWqIAX)HnI&K$&M7y$d)46GY;THiDWCI7%TPwhCe16GBUy-jotTE?|0RCpL6s3 zt@V9Xw>`EcqRhxM>RXR{s%n4xx%S?_wf0*3eB{Zee&X6EKltHmAAa&-+h7314sE>(WQa{B<9E=BcNi zc=}m>?)mhC|Ix>v_`tJIeCXQWdGgthUi&XT`oy*W_#N+hkAHoTFS9TeSrq>{|9_WR zT!|8&eCh)qdE#{+`S_C`A_uc8R({|U&wlD-Ph5NQ>1Ut#_$QwD;ImIY^YkZvaP0>^ z{E-hn^RZ_>e(eY1zt?^IBY*P)*WUR0H^#p|?w*(eCfp{`?m{`pHlH z#0Nh3zD2CUiY`3e)3r=|G|$wVXZ&;%!fbxi6@>ttDsN+%fHIs zyzo)`qy1N2==GZK>Ggi*zwLg*|J~p_1Q*}_)K5J7scS#{flod0ag#Xe{_FGQFx}y6 zrG0Js)%G?2g{+vyf0PsHeSPt+*O%^keGjkAtNSG;ltJFo4{s&{;4apw}R=5P34hIcOC`FDHsSO3G)JNMjqO>c4O6L;?Q z|CfC||9|^G%m3eco4+q+-|X?X>kA%Q{L>Hk`tM#R&*|wm|A)7(^5gvbpWD4NxKk`< zr~mtZd6gO*UVQJb|MP?O;hpEdbMs4o`>*ug+#9~^jcdk*S{wwc1!eINg?2}z_XYv31d-?zG{yY3X zzcczQiD!5I@3$5HxcjmD_;K;!f()1UQq=2}kH6Y}`MMJ>g}ZqVONzhzZlvD_|NoNy zZZ=q#e{4ng*Hw_eHQ!(+$22|veY4x^{oo(=dhhtJdc7yV<^$EO;q6Bwt`ykwQvP|@6IUTOLC(av&v=b@cB zNl7%fckCPLTWvKaDYr|L^moeLa;MlW_*&hmHtNl>{cYE^eNa(ku`}A;+2wO*XV^9jPBxR`skYepS+cZ!{f5Ak_%ce%4$?T*by*-F6}zWHMhn=KfdimAl2>a+eZDIIse_aH=zhyh;Wg0jE2J(6*ik<_rl(E ze{XMpZ@=8H_Llp5&0dw`j`+~Mx@_B)DeFCRqze0dUff?E@PKKmooS9-wcFpjxW72qKPV37`}|iP z)F!L;hc;cQ+NRwzQrkDn-My?}Wg=>DK;bI~v;Bj}VQDt}NkMVM8@hQ9Y3T1YnRI@z zzkg64EDsMZA5iN9L=MSkc&pu6bSz!JPZ7<2q-+j~!@|_n!SwLp;PCKZaKK#M8HfBt zjqI&{mztEt!Q$}XusA$D;6EPmqd2S&vN|)WV>_z-5nV!^qs600m?@VBhbxp>^2L@( z2QVAkx>Ygg<{UHim9N29N8S{eX%qYmtnPf8#%flg$ z9rDSurO#60QU9>m=|^dM`wjit9L`PCKUy9h)qbmvOjaN@6S_+QX~&>BIHlao@$l$- zj^>9)JG=F6siautlAfftbm!56RK;O+G&w$skK%a9i}*Y~YL1wZR@r`a(6W_vR-`zZ zMatsn!tsJ9`bW)fO|O*MAvL)!kB`cu;&^#<{J`;uBs*=7mpMkoLI1FSG&r809G@It zIW9;~aSn(wSjFI#hYPx;I9fR_PL{_f^+}n@i{shJF^`qUh@qWY(?QMAf>x9yEi(DQ zXR4EmpJvC-=oHw3O483E3|T)ad2(DF-*d7&J!wu3$@sYK)0_ttd9NO?o(xY1=p99G(lx0^mJGZm#4$N--=;zS`MeD{MK3&^l#brZ+SAe zLDgxbE{Ds}upE}73&R~d zG#dLc=Ko^cA59|Pq01aiYmO)MnqyVa5A^PcPo649`##{8-{b#=iXosSQc)h)jF+{b zuH|S!ihIWkk`*JC+ji)z$5eSW^R}Po=3kA<@p3e-#`DQ|JSirN@r0@sqiGaG&2j;& zc;3cV!~Q7JMykn_)RW1$8J8p0YX`M-P!;*IE2gbie_T(NT?qq9C=X1X^Mx5g*5#-f z7n8Yp_9x5fq?r`vJ{pm8$!so7<+#(<%S+S=pTNxLt6W zV-^uI+xAgKeTr!@sraI-f*)$jc24GucN))*9gh+@tLdnf$pu;*MOc`F#u7xY+T0Qe zE5>t%h{F5R%VGp}I|6Pm9@nI-Aa_*>XB7XC+0jo|IInWTdR|ToEc5F0(HtK0(sUGh1A<$TRb@ z-u0-a-?K>atLJN^=}pR8)opO{cGHp~SY2$41ht^*2RFx3(#EFrJii6Y2k(~aQ<+ud zt-!?^)~)342DpnC<>rjUKD2RVC(I+PzAeEY-RIw#c?V6Ftu7NjkCecH0QgHmn`R3ogxO5{g|56RDr z@g~EY%xlR3-zy24&?b<*+q6Fk>=ol0AehA4CMYyCgWXm^_Rq{7Na!YaL?qFCO1CpOg`;Ajq^xh_3cJ z(4u;3Yqs8wDYjPt9Ck0Z{J`x2I1AGU{zZq*W$qZIf)1@oTkQ^#J0~EC%+u!?cD2nu zvSXHgl8qDi-R%KLc_Lm=k$411p?pL{JPtgs$u-bi+!S^O`*V4U%`$O26io`mgCMNu{BSN9v4 za3EQ)3GZ7fef4e=9Z?6Rz~>+^oO^iCs2LnEC;;uY?OK7oR@!YUdAmtWC)@3v)U6Ww zR}b#vFU{fb;LwSr_^I&N-!(u$CHnmJl)YV&^7G;LjI8%#}k#XsT zg#NQU<=i=Y5lMr3`PK)#X=Mk{MN749{nZq#%2WtD<7BobHjr6xWO+0`q>sebGP)ph zuqnAiQZbpCZ@G=Lr>qFutUt z!YUk9ob&~8A(s4W=9Z#7ZT0uQ!`eN zk%Dsg)g8*ny8`-y(8T#5XY+=ULQ^rwB!35_OA4YqfV)82e$3}lD@VI^>`pW_a{x4F(v}D zb;_xqRd#i#B7xh>$y88X0O^o!r)-2GkorZ}BT~NrPa$yeFyS=0J~WP)DlU2IKIk*U zQ4Q$!Cj*hYp7zN)VYsI6B89yzpo7Ww#HA_lY_@16B7bTZH9#IChjunufyH5E(7K*X z!<@lFr?w^QBi+={BFm)wRnoS3Ib!9>I3$CbRnfVYY>vgeKU+|C3574nRwGC%5hWE} zgjBRu=sIeSIsoD?=fHU}AJ69K2Yi+=dUdOT(Xm|Dt>qe?mE$hTIYKui33bbq3z)kO zCgy<+z*{Pv1Xx-5RkYTOTOWCfypQwQGx`)$P?*WzbkG z_}7~++bVC@X`8RJih;z{=3r|g#9{ajE?wI?K`YSW-`dyBq7D@x7!q^^JpERH=Eb&# z!7wZPd_@7XI4dYN);8(`vMneyp=zP;-Rs87CKAYK?#U?aAz6}ztOiAsopf(_owAiy2A>KX}oEvICP8983at=Jvbwv96%0h zTaz$f+hftB>WtM%AvkL478W#^^NVKp+^F7cpHK*&RDe&kgkWy=*kydk^fzu}!(vZ_UpnYIawlS8cI^eVDrUp{@CDNM4;4FGFR} z?5#1|O%M~aJK>4X_}KoQx>&QVy*UZ9wdLoINn(uJt+8Cq!12x#2~RFkS4mU(O7OMt zT^y|Jqol~`6)Hv?cF<(ID@@c_-o@+qCUgXM`X3;r^n1|YVZ@pJKkz)#!An9a#w3lR zKGCP8t1XBP!sG>3iTtZFdjDX=PdV@I{NYYt+VG9t0iG zA13GEMkbQB=#YaF=37ZTzoPX!p9qyFRX|2tmJdayPBV0C3%{g6oxD1`eh2<(!wQgz z3P7H2u*tx3Z+S8}E>M_C1}e3LDl@JEstXzX_+${~@kHDp<+J*fSmaZi2&;W2kt;Dp zpJHa?TYWMK99OR>P?KqeruRg$I*RFQ`1T{H`4sfeBLwGB;(oHYP>EIa+*n-$=7G^+ z058C2mZdP}Ds2cR)EdVCO&XxDgf$(EM?uOy(yk9QIXGeHYk?cKPII+}xz$8}rh(@n zie1{?;{>2VgGdU%1YRd>_o-H5dFXEHL=L9vM;9m* zP6?Km`!Nv$#mCZ&FIz=miX9=Oqd1&PJ{qU1Y;qB`s|8-uL&yy<*dLxN4K?^9L`Qv! z;YlQHQ$wy=Jmcw8R+O@}PiFzCmb8{jlio{G^@unLq@ScOE$*T}*errU{-BkRi76Y) zdn^d4!`fWO(`Ewc;(0%?HO$6kqIOL&v2JNyV0LK~^^nD9cw`WkaOiw3Z0e+@U(0sL zG)Sl6dOU3H^H{bgE8}W}@xk0OMUH1y8nr@h)W|KB!=IYmoAFRE?)c43kA|fl z6SFLTaZ-u@KBNMsD0mvgz-v;D23FXs!?F$NQV^!@@yw+&jKpeR#c4xY^%WGAv!pQb zs`hjMT9ZY`rk$cAL#ua?WAf<*EzfD#&jWzscx=ymMy1B$34<2sI*sB3l6!2>sv&6N zjF73)PF;tc8q2mAuTj35q*``%dSUyr&YJttDC+3~9v%dzE3eEx$KO@M(N`~Q?eY@$ zWZFzSpq8p@+Nm!kQI0mGd5|7$f{*f6adUa= zW_`1~QC^?lxPJZl@_EU++^k8=(SaYHI^e`|d%*+Mt=Y|6d=xjU8^!hIjqCMwbQ+Eo zKw&7G)Ybaf?AJqGDQ_)ET;FWSzIc8DxoJ)Y?=f$$>KSu;xsD4@pK1(l)YmyCNENA4 zDIw4GvGujaUGWuFU0lC$y}Z77-h+eofl##SjsALlyUI3|)UdkV9vomBhXJElpj{mT z6FV7Kq^@qxZrtRfph1ADY6=cLC{L&tSq+<2uJ=h>-(0jQo9&4thkiDQY@3aW6!oo! zV$1DuC_((W-dfOL)G+#|+8C2j+nWBZ^5&4dZd?y-qdkCV+T?ivLtk1+`=`7)y>avA zjXZAfD50%sm;YSN(J^ao$9c}p{>|kLIB(o)1Rg!4qLybl<>s+Zcr?^jsHP)|8?#U= z04IvzD8y!jhNI?$b{eM=Q?)^>Roq%C5j+PQ;svwKxrF85Lqq4~5k}Vpg{Pz$%Nrn% zM-o`iQ_(^zQq|oebDMx#8j@BpjPqMJZ=$ng_89(E?y`$;rrIdiC-jbDT#)hUEmR$p z4wVuN)_QO8p$e>Q7Klc5TXCPt>3jGLsUtFGRvCG>ToV=vQjCAHF;t4m&3z{ zhVuy;9BQI{8BSgLzI9?-zzqfiex%C2 z=Zt`+SD~NlrZ%A)RW}A4an!s0orb^LR$Br8^B3U`g{n{WfctKqaPSmq0AoFI>V4dK zVtCcRb)>@yD<%NvkL&Z>Se*NuKiDg+W~n=wg?T#JU!R)7j4ZL*UqK7SL=&{ zC_#Jx?9mzcVKKB-h`;MVd$^D~5+>38(}O&kQPuWzY^Yp^QG$h$L&Wts0noz77LLXg z%`fO?hobAJ;%uQ{dacI^fX+B&5FZ_)R*3c+`l!c$d9cY@tRm+aaB$#9`tWe@d~kBe zfZASa7p=uG(iVcP=@|DBG&|f$=wqx3nkAfxo#dc6s8fZWLuYVM6Dj-5a>mqlt&l}l z(N1X3*3_ACA43CV&X^ljJ6WJ1pgV+06kULlteD{qN4i+VIhMpNN57%8g=WK*0Td|m zJdQp^o?>W=jU&|wl^4zJK4j0L^wJm)GA$n^+avA`P6Mn!aok5|v#OzvaWd8kfXzAC zP(9&8^#iUYKRhDHuTL$_3I9~253786GR>l~fTL>yc^Jk}G-1IeKJM4@bgxbe^pYw-_B>qUXBA6|GePIV&@qlG$kjl!sfk8ONG-bi>EMRbeu&sdgOLa8z`B;;}_rXAaDw4hraU zf*zCA#rFj<#e0nDWPg+gry+q^jawTKaHzW3hr(*0G7OLIN_`e90L*=U%HADZ5ENS8tU<8y z`T6zd&&=dac+R&=VXM0!`yQn z=o<0}0jq9}!8#_2Tjq-A2-^1*4T>!DI0LPrxHYq)o~5%Y_2~kvw8__!sd9s7Qp)#D z_PSzs?&M4I?UvaFAyQ?TC&JDG=Jeq%pvsO7Vp_%aW3%PdbLdSAHfB~^=YD{1QM*ru zQ%$&p1u;4F(mFep>{YX^38R8&p9xbjLhfQ=Ij`ApaUfwyNpj;Pg9N&HK#_W<&^P_4 zUq=iv6WGBi1YeY(4$O4nv0_K!z!S?hE-e8L0!~c90sBrsWw*`RBMq|Z9K9W$D%8jo z31|9P`>}A-&jv@JQ`H-j$Z4HrR=XIhS2%fC#bn|Xql$+-6AR^Hc^kkh!)2VBR`6=M zi|;%Mq(F|WZo9B`1UP_eTn)u*-HBQ;SKlRRoZ7}_ru#>*bHcG+YfJ&@=aee0Lw-qr z9Q+4HxfQ6Kkd9n$4M!ch1rIf*Fvb!5CyaFz&Pyy9@R9-oj14=Q^hI>P7Dnb1E z3I)oYb&f89IE^87BoE&Xkpdz8M>#xfh7Il`S{0Vt0tx)gzI>NQ#DPxc0O% zH-i(ke1~f`ZWFD;d;pZ3s-)qy2ixJgOiK65tTpCRI@c_d+#FBSNfvk27a!JkC$3{0 zx?@R`<1h=oao!DE;+HQ;si@$hM5~zAsXD6KF=n`HkF}f%tNk;wkoMPOHhN|nOX(x~*i%~_6m?Bg8 z7p&Er8vMb)9^J$#eMoAa-MMhcVl4b^Jl3YRZ49ab)+#u7wS}Xg2dc5`g|J|SHDAdF zCmaATo3lm#KcbZ!^35%MKZG=MvzBs;`R0%I_XAXmPo`Jqo_f)yha~d7d4t*CZ+9VL80oc09b*$6QLc~Vg!AU9y}4#cW7fPg zcUT4W0`0TK%{t8;xS~>9{0-PEJNQk@V{=O$X;{f(;|;DWwvMc*8Pi?J>Bz>ReHpeO4)r*ZuR+Puu5hjYz%{uIxX$w>pY%PYCQiJNtTR@SF z*k_-TC-AUfebX0-{OrfOjMxL+Gx%`sTjfx*MbB`7XV_Kp@LY0%2&;=3r>(B)j7}X8 z;KgJ_Lr6CE+*nqc*8RiHKwE+Nw;ShwnaL^A(Bs&*37yHhlX@o`4BzbyxkIRN5<1pi3fG{NS z%8D2)*)FR?t)Io-&@OYm)C^vx*Hm<{zB%h78znJ@t*qJ~u**eCyDAPbJQ#>`wJIDn zaMG}Q@k6HM)`DT$SPsOua=pR7xwC%?_=2>^t7aHmTGbMm{1>gzKAYq3b{$N^@UW;D zoECKpqohNtF-lPq-&rK&$$p!i76RNgfT*-p z!^b?zIgC#0c5qjjurPAm%Ap@nq64_jfvr6Ubf=SXGNA<~Ocui{fux!Y)5|60-JpYZ zJT$7wuxIop#b^-Btu7%ZDI4=*pY08wXMxCq-8{95$ggQoWhx4SXOQPUn}$=jS*nUO zw6;Mpx}A_(Okh13CLGB%EwYp@gmu95qPPcF=;jO!Firy(&hjv7I0l>s|u}43PJzO^M^RW)7(dsX|ulF z<(bJcVz24r+$4l=dY`$GU6am66Wo?xf=^yVq(5)MrV~m?b?)m zI4r)4eMT)PcSb(DZRo~B%7D8w26t%0^t5Nw!-?M&)-8Ay-v;s(l2d>*)^)(BUOJ;} z&3e)z_BtI_@WG+^siolKN8@$sLvFDy%11i^fQfd3TF4Pz)`$`Q7(vX=j?R`^bZ{q< zYA3~`A)v9fYCE23uTEQ_&K-n%#z@$<)GgAaDvh&cDW%MBY$zgwyLRWne`~)~d+D8wWscBW#9n{ybdewyQb&hk)}JqMH#UM10Z{>Cdg(Y) z4t2ZHt%O)hd>O(!+2q9x?+P81%V~HH>4{OE#N3RjY&>F3&}Hk%yjaZnEauaN&Jh%J zfUm^VohbBvln<=Gl!ikM{?k^gnb(WqoaBq}rogRY8lE=k3a)pN&LPHxmeU5Gi!~Zx z<`G+oo44uol{!zSk9TD?7R6$|Tr3y$q7E19DP|tb9%s(%dc7a3>(Fc+LUih&(p05f zESHOwMLDl$2C5?X_yrM+z~n^f!AFG%&{;Vz7X|5-)v_dMxRUTKqXGyrasATeNLQE) z*R1B%g8D3Z>JH!Lyq=eHS`uZXkG;<5Xg%~!sapvZvYci)zY`A@i=rJu+hT0C2TrQ= ztqXfp&jBpwGY7-k-6@uq>$4LFlkw=B^7N?5Fxqeg%APQ4wP0L|WqsG9C+(w$YVVq6 znB}ccSUTd{iB{NV7L;ng(3uOy3f&D?yUypx_8F;LF-|ioW+kIXinhy9rP+~Lff=ES zp~r2Aq}5`uoZ4shS}Ru>9?R)XIQO73QuTUX&|&3b7D)?6W;Bg;3vt(h%g)Lm4Sk;K z5O8F+STG{=k+r5y^LoxKNT)Ad`BC$6A7V+$NL`z02QL?WD($SI&m!y~LuTw7{f(N* zM0bD0s+g}Tl+?YR8GzuN&;c$z@RVSqBM4bGsG_D7W^auu9)XM z0&H)#bGD}PltEFrCJ~(xbxPUFV0ayxlrNts=F8dqf?__Mu_ELeVwJG`xU)I)2&2~P zsbKmI>=LK75f3;`wQETDE^=OkZ&rG?8E#QeS4>;ZPQyQn2PRYawKzIZXpvfhCQ5OF zRBaH+mD#Byiy&DWwx%<`FBgsU6En0rVxI>r7MU8mLL2tsdZsuK!LHMmBNo-Kr~8gW zer5>{e)NtaQO9T*Lq1oIL*gBxW zQow)~BUJ|UxZY}&E^c>)wNt?e_DNUBxOkxRuycX*tD0={V3guo#m;WO=U6G35y|B` zvq~8px5c+guRNwR1DLl{C_0@FohBo>AvTF}JTe`LjarXrnkEc8kR^>sJ;8aC?wmdw z*fSchSe^WI*`c%Z_)xEEojZ+NZ=#e|PzU2#JTMp^X*dERYG@PM#OUBatF+D=V4S4siaq_v0mP(5z$P!jq4#sbwRD`X*;6z0@g8>{Nlr+SPF*+T(PM*QY*r*-vc;YPJ%8j-G##B=2($4!j2cw%I zag|3uON#xW;+bJg_lOk$-|+8FvGU4|*uZ3cSGC~YHAqgEO%&nw;-b8c#4XQKR%lAA z9>6*=lHP*i2QK9q)|ofHq!Xxa-r>02XN?j-s&K(TpK4BUN22}dMIJU+w>B5%){#6M z)fth~lMAqT93#;R9c?$|+HquRuns+LyhdeLaR z*;oADkRR_T(uEvtRk72LJT6q}XTEtFGH6dw(3Z}f`P+++a#pNn1n|-ECEJ1gwUO7( z09}jO(gp}w1Q1ZEsFwSA#t0Wj5mJOs#AQ+u-HX(kPY++hM|?!21A?2e z?}q+(u81jx85irIK0r}$#4X)RRm4Q9_0j{~2Bp9RF$t9=JD~gQ$n7&ey%=Mu zZ?ALTWjk*fi6z@jbJhK3kswObVJ0tGvEe=|z<%rc*($|`3+EA%%D7B?D)=61jR%nc z15{!qO69|gWpJL4f~v)-&E~@{i%KEKC)w4h5p-0^g*rIjP(fgjmheDLtCLr4`6+{w zPbmFPlVUt{lSVFMjGE}OYQcvG{j~jj9WvAh6zDEC_W$b*?vV~6B38cg=(l_FBJOW6Iwh)uC zAVgI#%aMz7b+K$$gi{}g5mUJo)98O^y30&Pd?>sPxrZ`6AWb#Ni_w&DXIyN3%8}E~ zAc->c>Fh`@>*=fAx){))2vOilhumv3?1V7skPHJ20uu>Ku)TgCP#W=C@`zDd3R6OQ zKwNh#(0z%ZAYcZP*yOCfQQ@ge#cEkw5w0l0#A1k^q^%-tLo<4#&Z<+_lt=YbwM z1904J=>%PXGb8SDFO1#16UBNsrJBt2+#y!;Vk>SIV}$t~=k4Gdy&?v6 zeIJf|L6wFzF>wt%V(kZC^BRmun+lHCE2v;boD^MSDAV|%G(1uN|gggr0IwxTEa%F&cJ&)j{=zJ#4xa@A4_1Ja!Uj(SxcynXKg($6vHX-2zV6tLOn#Fh# zTo&CBidwfPy5nlgn~=RbdYI1yQ#baoTct=7Md&2Ri#y6(hvVK5_Ub^{DjK49G+G9M zur|Z!z?uTsGU*nTffpEE#R3S+OE=D~8(NBFCHfG~C_$^mvJdQqC6EePfJCZ8HZ#kf z(!MOlVgald{UxTrG?xy^KfpH$wgVH{J@zYib~`nUjj(TVr{-bt2V$`tc4`h!=v%2k zdxi)n#6n@qOkIY4qfyprDJhA`GHZlk%7}~>9V@@rcfzFI8k}u;7dy;SRB8%h`9u!g z6*c2(HSKp6&5m9zMd0YPmk!~zGY7vHt&C{66^_YUZ6^(NaE!2v645d!Bd!&DF6oNj z=LS$0b5CblqGj z>F5smSl@gq7>1pLPs5sd)G+TBe*;UQ6>mU}MNu8H<~A#Dr&5d5P;th-%rk{Tt7=-0 zx)sqU%FzQHy5hx4kGlWo@tOvV?uw=kkGO<*cebihcWFajrsfn- zsJVYQAQIwiBcHs#i{3(6pq8(JBZLKwzR0mV@Z4F!uM5?>NvFDtk+0&7K z2zIB{Y8nlw)U1hplFF=gS8o?y{K3#TINo(YOK03MnC9CsY36Mb&YAF(7x3)te$rVw6Dm9JQUY*jWjr_mosCW2p!W99}RsUCyRgo1hRaWL& zoHWHiWrSb`g@r2`VW{bvjI*P+H4|CK0u{#=NNi}9(lRbk`n#lS6Mk@^?00v4gkwzS zgQT;up6+oC7p|C*r^idsf!blXmvGTNTAT`9C?LA7#4T1^VSPYNXS2tBMLjAo$rDua z)qO;-6?_4;QRrrpUfNE2LkCe^TF;zf_ZZ!P8;@{F&9tn|E|8%aOOM$7*~*!$h$-(R zfZh?FRq0Q}P8bWcaf5bXuwV$fen{5FfRlK{z~Ah`xz&dgIs0N!^|8A18fQ=E4knLL z^q0!Of-oqt-O~metK$tzYwK)=Edb{m16bN*897M5#2u8(J{^p7QZxWW*GDy|@C6lA ztc4q|3siQ@n1*@+$x`b$>Tl*fXjU1Q1)AwbpgJVJpJi<&x`3qRR%C3STi*hAd|m0{ zvMMt*2B6*+9Iye^QM}8xy`TruxeV1iTv)c1>AIuGbS{ff6rI5$=vkj8-cSVpOgw<2 zYx7tU_^?%}IWx_}SIL^<6&oJ0TU(Apm$i;idEpW3kePGieu$kTXMk*U0xTU30|;1W zjde_kW;cpRlMDkow9CldCOW|Y_SR5gucdRC;>1;!?O59<(R1yT%-By47U^jAN2=dB z_q9O{DdCvn($bZ?DlJHdeuHYxx*RXA_I@>7Zw>71CYd3~S#$PP7EL=+M>RCQkZAXt z{nqIWvCxY({8!Uo69>EyOYG{NTRLlXgtTE!ZUvY(Z`slqhn?P8WgqJvXYF)KRgXuV zZ{xfpMzsc#m=u_I=wEv)MIt>WvvwRs7toG2ApHX4(#tcKPJ?H{4cLA+Fv2O*U`R%= zZK^JsdhccU5P?t-PJjSgCg+CC7`El}aMy}k6vA?VUtZBVq{o1IXd^wO+@3`dIi}|U zviidj-fS32E>u;!P}xU@`lOq6)_A#zoMaG>1mc&ftko+R|hVoNtZtiT53GD`nYmkqJLQ zqHOfo%h5?$<4}>#b=lCx*;^;*GOaXuGe!i;Y%-=?bejQ3?&@I0xhJkp=iz9mzwUB_ zv}qB`#p4)V#OxKnT$tMT0Ad}}Zx@gyoZe-zi+d*E$SuR5N3I*N8X4~x9&yju zrG|84wCmDKIb4C;;4D|$i0F3t?}ENuLyV5pL6xupB-$&^U^$q|fV+&LG&`<o+5GfY-TYCVfdiuFuyIvsN#(BU*Uhq?2#Zk^~mk7&6^k7PFzLy9s;C_^F# z;R{@+54OUu^LXxbhE5d3CQz|5-zdg?)C&i>K$({7g&YHac87{}B)qfj%yc7np-`~8 z8rFEb8tc(T5yZ_W$Cz%lKZsmpc;@ z8-Zho8BR;Ct{oip+pV@=cXmBk4I$Be+VCDS8jz7vA=9&q7j*BT7{V@QpuILgpfE>$YOtQgl*|pfTbo=! z$4Q0m4IC4)Bske}CpQGtS>Po~9?GJC$C@m4bjX%llJx3Kj7x5VCFB_FJrtWD5fbB~ z+y>Tp*My8B6T5t;{^fe$0O8FgOvRltv5MMu_A%pJSK6TDj zIO+$jaUQ1_bhsweI5WK2#)~GbN%pD~-Hv5kNa5xXUigZo7N1Bb2zYR!gL#<0lUm&$ zlyO3f?J(WO*h^h!4REAw88w;jk6<{9nYQ2;N$r2v&MwT+IV}3cyS25eG1+1TJtJ*w zMtS0p>#^xmJpeNp{)XYVu2P~Y%rQcSqEQ4_DgNOdm!ik!7;VBECl_0#&t14Gd43IvxgW>$5gC&iJ9e?TMhN6me$HnJK)Di}ON@e^%dbuJFtdvL+1XG= z44pN#dE)9Q+t&)Fn`xj`s$otJj9xs3XB<0AJe8diYe)nuSZ#~hiZuielaS^N6UmjQ zoAw!*lc61%-tlY~snk8}bMB6$&)aC17%Hn3^R=7RxzXpgs8+M(VjF6W%QiQyXgf=W zG~f2F6_;+;fiMuL0Ywb{CSvXAw;|RE+R0H}Owxo5J?gYSd@Ck8BqAwOC zb#cU2ntS~@k+`rVN5y;AAsL2vkUE`G&@?5qyjJLZt8)P?w)SmRXlbkyh;?#tY7urX zZ+K^qNxp^)^5!N~HQs_iIH3LA=&8SkIvRn7`Svj0!c^oHK^=2vbWg_}=a(y}^O{(} z&%1^~j2N|&Y2r-rn2jOsHc(>tbI*!xs~=ldKLptgNFh~8k61tsV^g8BZ&TOlHkMJV zuDRL9C3ED~fb?CERxZY!0-E9Au`Rbb;u#5+CA`H37&?ccpn(MuI8P{-BbGsD4y;Qm zD@$Upw+Is2#)8uA0$pG~N1P#3!to)}mqB_P9yha%T0^%|tm${*t1{TGgLZ%ecFtLC zC|4J^Cv4bP8B7N0AbSH)ER1Gn;bun5xGd!L2E<6F+RxIIfn=NtGen)LnL&H;)~C`L z!HgXcDz1hz%5eJ(Vys6BAM|QuC&qAZ$*S^7XGF=3Ixa3bzg5c-J-ax9+m>;mq&rb1 z5Rh)WPE&zxA_6gQpIL!)Ltk}c?XI^>uGG9eXg)4jS+F#yB+Ua_5yAG-0~!JrolkT zDY`q}WD?OOEYrMm2U4aG2|L0qryD%w6Na1x6A4%~ZXqrqNpBtKc?n=F)$Yqoh1e7m zPD>uu#O!<&d`}b_RFJL77?zN}6kae|>qr}j*L!eU~D;d5p z$Y|h8{Beuuw(snhV4pblBUA5-&>4iIUa32``P_HBs0czAy);RB`s2xv*><%y>%7}g z+ekaugkY!n%_{r;DZzjGF9+GA9HreMcbE*84cli&*wV0?tl3-ZE_63)lmgP3bk8kS z1^Fi~gbh~5Bc|qNuJ0Xf$8Kw-?0fk}+19$_%xhZ!8`@?g(BcS-HmBQ;^GES+<3uBz zv^8}oIe~NHe42zacL3aNhxfQ-aJA&*ZDbM6-7;W?*?=TrO3I>~bgpl?tAxlKlDyoC zcn)Quo1UCS#U5lhv{O#|R0K9oQyI(PM%Gw7ubf0_?3~W| zX05r7#?+7ZQfv2N-Xww!8-$d{dyeJ~7K@a9mXY~q^wdG0HPQN#My*_`u>!?>;Ybzf&-aAJ z@EY&1oooO`rcFGS2$hXcA2<$Vr~zNs&$u0c#q+M9UVu(@N_@B0>ND}S3Wx`fu&t&& z!aJ;(T78CEifS*6Btcs8q15(T#?X6Xf4N&dweb}U=|%{z{FG4EEv6|6?K}EmLG{uB!_C74mnKP}9>2 zxty?va^U_FSK#JK$ITFl#CdAO(Q|7u>x>=U;g$Cu5s>dp=nyGyFiqb)R+F?EX$NdC zEEGA#u83rg&bRmLGXm<$F=9ogvTZEu|8|oJqhLWtQ)=4+AA|yl$~rIP@)EDoNpud zQ&o)nsFPj2!p;i2D)Uxefvq|Fd`j_miRsLHfp1#)xJZm}7A<8N!EHavxk-Aw#d_Gm zmg~l*w3}jF80TK3-r_YY#pYgT`9j%DOAx}Qp#g1O`odkWFW&X~(p|6b;k9{n{|3CU z4F5gAm#-Ut$bX;tEA5M}p8WkYZ|n7b<=P8>|Czth>wS*D{o;Su>-~>U__yb--1Sww zw0EJnTE3(=FUqnis@3{xb6>9jo~oulSXmvce(&17z0-mpSJp0GzH;w<&3!Ms|4Q$u zDC_>(<@+9d>C0Ym?b@sQue$m$zbvc4g)0xe;?=Kt{hNO1kw@!CzxT0wdWS{TtX;YK z@M|A^+h2dj55N2I{^M8Qb5HM}tXD2S^za+r`pzHyu@8Op$3ON|^VHR+FZcF~vRS+D z6|a5kyWjWpr~dBG{Or$vw)yPU&-weRf9b(jKlaY|ed5!<_$$Bmk3Ro}<_lN97{4Ff z^U~M6?MI*f^e=z@w|?jM{>fLGuU!4Azpq!Wy!`cV|FNI^#n1oF*S_(G-}-j*?W^Cp z+}kVa)q7w0rguE?Q@`?CU;D#6ANt`Zf9BV|^w0jq#x7nK_0iSi z_`}-$uX^;|KmN17@q2%GbN3i;yn1|fa`uPEpZfXF|C4XsKHv@6@aelc@BZ-E<4=9| z3t#!8jY9&biO;yYc;O$uy>UbU5uTD)mw(Y8%6jeohaY>-(`5C+C+MdCkAL{w7r*-L z&ASWlvf>Zl**u;^2-4L%)au1Qyx1j1V!bE~G1dO{3&V4lS*g3P-kaf>S$%qZ>q8=diV4my1%*a^xi9%FRrcltKQ|_OCIjO>iF6#U-r@m z@4LL#ule1j-h+?Tj~+hqLvMQhYhL||hpt>0_}h!Um%OKW{P5jB{Eol=w#Q!k@YO48 z{VIO@bp6!9$A0|D5B=DWzVoebc=(~qD|Kn&&()vZ|M{Q&nVeQOPw zTzi}e@wKmQxQ_A9^m>1W^f&c|N;(4_&{@cXaUU)lfi?|tdFKL7VW{q%d^_L`U8 zvy#96PW|ouZ+-I{U;CZU|I$ys@9l4R`Ms-kq=&)wZ{PgmZ+`8!fAy!Hc;}m6d0+c` zC~N; zclZ0ZJp5;;KmR@M@cZ-0$<}xN;5UEanICz}_jT!C{C$q&i~aCoKm0407ia4(>+g#! z1cLtS-~L|g_P?~<{$1!Jf1UKdnA;)Z~XDbUc{1JJqd*iHSo=-fxr6OU;pMG-(2?%m9K8ytvCLXdgC`cy%GI0 z^vw4@{nLN{^S}M2-~aMgo3CE|gS+(7_dom7zx1oW{u^KTV)MnTzv=H=J@)bUKmC(G z^_idh?B|-#UHyf-)!z5M?};Zr_SDnO(^sDf9l5`DFFNvLZ+rVY-}U%=`tP~=BdXK& z;KIG3PQUq)M<44ycJ(c(cn?DHe)%h}z3Soq!&krW-rh;-=a=q5Kfix)|J4Ulg|9<} z@2|dW?EzGJh_R|y>hEnH>a7+pFQ3C;@!Z9~cJ}p>7dO%uH`0Fv8|hymK~Q$+sg%P&+o{yfEn1BU&>z0E)Q#_#_6Xa3f^9ywEJu*~kSqZobt zTrmoTMn&q6zWI%>|IQa)s7U=m{nh=i{QmF$_80!aPe1eC|KMEl`px=_`(OB8GE4|9|?}_n#?hzfgZ}|Fb{$ng9MLpLze|Z++b>tbQnD&(u#JJoT}^^~C$$`_8w% z@mvr5k>)*zkH71kZ-3ikuY36Fy`9qdmgcd;M<03f8&ojwJyS5humAAzt6ur?mp*j= z<+V^cFZEvXK>z;YzTuU7E}dzt53Ti6r$sGQr+qLK-nl>A+xwn!rFgD4)R1{*t^I!i D;)`El literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-pdf.png b/skins/common/images/icons/fileicon-pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..ee39b6c3c98688cca408a784e7bf6bddc877b2a8 GIT binary patch literal 5138 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 AN&o-= literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-ps.png b/skins/common/images/icons/fileicon-ps.png new file mode 100644 index 0000000000000000000000000000000000000000..f1f504d77e6971e768174bb04e24b485b6f47227 GIT binary patch literal 3293 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%0DXJ^gA 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 literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-svg.png b/skins/common/images/icons/fileicon-svg.png new file mode 100644 index 0000000000000000000000000000000000000000..8dc6d30fd5643a995d506b373cd1fc4a0bd45049 GIT binary patch literal 5193 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 DsN3~v literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-tar.png b/skins/common/images/icons/fileicon-tar.png new file mode 100644 index 0000000000000000000000000000000000000000..a4b15d7f75cc5d5081a9197da4a45b8abc113b4a GIT binary patch literal 6544 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 literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon-ttf.png b/skins/common/images/icons/fileicon-ttf.png new file mode 100644 index 0000000000000000000000000000000000000000..1b53066ea19e12cc45efd639d790b5b1b6e38526 GIT binary patch literal 3625 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 literal 0 HcmV?d00001 diff --git a/skins/common/images/icons/fileicon.png b/skins/common/images/icons/fileicon.png new file mode 100644 index 0000000000000000000000000000000000000000..5675170b103fe07f58cae227b4580ab54c6412a1 GIT binary patch literal 1121 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 l1MV_C&}3{4JyO6Y90u(|3{^EKiY>ZB|; zOkZxCv&yVstySqp`?_r&VM~4{tofO<@n^y2pVhm6{ui9oveU17U)b~`X|s=J%{`X8 z_+)8!cX!*qpKH!EbshRO`{b|rr+=-w_-os>Upue;I&ts!&F7~tKmL2;#ot%2UOjpD z@5TFnAHM$k_VXXZC>RX^`i6kwPZmZ71~CR5khP#Z!NAeYpvxiSv0=f%W)9Y}2n~gW zt*x8_Gc*(zEIi1^En`zK;ZS1}lNe`NMFHdCR#5>7367NoM_PGgVm9o!aNq#LG}(YD zH$E&p+9j-|{lH}6qLwxxO`nPx4vguX!UB2@9F9&c?3_CCS_u~#8kqzYX2t0wJOHxf cG+a)s+Q8h%$jA^gwv^;^OS=?BwL+sHmu% zvcexga~Mm4{DK)Ap4~_Tagw~{XE)7O># zDhrd4py2mZ+iswcho_5U2*>r-Gmd->3Op_s53W+yQmXpDn`x_A;nV1^>XVrc_^9hn z?7u6LHZvX%Q literal 0 HcmV?d00001 diff --git a/skins/common/images/mediawiki-small.xcf b/skins/common/images/mediawiki-small.xcf new file mode 100644 index 0000000000000000000000000000000000000000..75355171dc6ba02e91277d3edf59a490637a97a5 GIT binary patch literal 36011 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 literal 0 HcmV?d00001 diff --git a/skins/common/images/mediawiki.png b/skins/common/images/mediawiki.png new file mode 100644 index 0000000000000000000000000000000000000000..69fce98855c288508a6d71711944878373177fde GIT binary patch literal 23064 zcmV)#K##wPP)n%0M3Dj75dkHsNQOZK1R5IXP@Sr}x^mSMZ#rS8_m6w4`=RLuTy`Tc z^;_$#b;CLPx##Tf{>ATaKX6)3%V{|+r{%PqmeX=tPRnUIEvMzQoR-saT29MpIW4E< zw49dHa#~KyX*n&Y<+PlZ{{#{LH{bmJPhLEC@BS0dtLyTgp7Mf~yViXbPeTLbcgl^_ zN1n^wx1W9C*E{d;U(?#~ra#OU0FJM&eb>OdpTi`Z01c?gGm-zdFP!fvaNK?8-CIH( ze|0jcrzTfCc#>OY>Syz$`(!PJE=S>UQkFYgbLx7)Ob-2^>+hG3{?%^zk-s@}>V1E6 zM*2|Sp9aUbsChhk{I+Xgc;^BS$<2j1|ina4#do~=cc z+LYIU>Htk3Uw7^Oa_fhltahBY`9;$k#HU(Qt5>hnFyFCSMt`T=NDN9vt9DCy{D$wk za_Yb*Kf7839`Nsa{jO;r`q8JwSH>6WIEkC|Cm*dE>Coz#%1`Y}KLj7?|#?{^$J z3=}|^_#N@o>nsb`mGQ`LCVACdSrBXX}Q+)i_1FA<0ZaH!)`b^Amua(hTZje|O<*YF2-1ZFKM{jaCz_LVf5^ zFq8Az6EkE^gX3FNbNuKt7EF?7*MyLO^!e6p^7|$e*PN_y^YY)mb09_NAwX$KYZ`>J zq?sT|B12a;f$7P0*{SGd<3{nkp<8)Il2y8@mr+{zyYF?ab>}{$kMb2J@5GPmaOfH4 zG&uefWNyajERSdTP_fnNgB(r3f~iI&7*X{3-P8lw!} zW*N{~52!!=-HW#-$=a_dSvr{qQxo{aYw}B#_8Vh#D4C(XW_Cjd zmDLCp*}1v74d_n5k>2o>`HfF{eD4ox`kSKm7-O(yjV;RNXc*=vnxi@KJHEoCyz8%? zE#m5LOz-{lt{-VG*!Smcas5yI!v0TBK%~E2qMYvtvocz#I(cSNXC>YC6syZ4uDF=1 z|DWeAJZ7Rjnp4yL^AV#Ntpoyx))6Ud5}}b1=B7n+VXiR)WK-Rw^Iv~v{<(=Rt``XK z1rd*u6{D)Q%PS#Y2Mo3DIf@rQ>wNLl?{?=LzWXD;=`DYerD~I{8?XNRf7-7n=bHyz za~d3vmgE}Q$n`~1x&^Hwjh3dUBB>fqKk+*Cgt_@_K5)jKyFYtz_Md5n zzU}iIuY38zLU*HoYTk*RQO{6^A$dDxPz>aimrgzIXJ0UT%WYpcexTE_*9C`=Mk8cG zl#wVbLP}JKw5Ny7Cq6#gb>lm@`GwEUpPQvi+lnY~RY9X8Db_r?As7sZ!(m(>>Z-qf z^_3T0bx!NT*?ISZB7W(D{@OAU!}9Uuub%LXFTZ|NmFWZ&Ze1S51M*2%6Mp5nm*qP* z&u?`yMr7CSxW%gaVv{ODED>IiCMmr^ zO`|<%-0;-tXD;Z@ZHaNybx?>1-j`S((MbX}AVh|iL0)pc-u2R-KI5?)HVrNq)Fsv{ zr1pp?@g72utgQHQX~{=G?b(yh{r<}?e#~W;*dNQ~;&zb_)Z)q#fec%k!C$|9@gt+E zY)>?dp8&(1(i$&*?rieBXKZ=;e7pTv8+(^E+B~+qqoEGoJ=ixI?fCOwe#NKaI#9U@ zNcd&}0ubF!++L};C6ft}0;vp=03wB$uwk~h`H5FI=L5^sN)Uu4MoDxabA>Mg zGSN6yF*jRo{4YN$zTeAH5``hSh*kpUKp9Jn3BdzaPOh;uYdZ+lgEMC$z+ZIdkPr;_{Wbu=gKR$|I|S4eWnn{H)Kggrz0VT z17EzQ|GUrs-gn(O@s})6P43rzGc&Q@?wUh1=Q=wSPDdBXOhm{?@FQBy83v;@+WC|e z3yWz{M@DNB83ih)ST{sRjkN=sd4`Ju?TqepR? z3-P(RL`ES^L9;1{ioyT+MEaKJzvS4>z=j`xW@GAU*G}zB;!6GWUn<@+8OwdM%*(es zIHb{HmzN3779`CSYXhyU0U=<0h3Yu8RCL;cwLwYn5_C=U5gjuuBVrVIH$bbLs5I6E z0s)C6NRPIY5{eKg8S_8<@0+eZ|Dx5ihocpY))YlWh?1g^v{K8L?)CS6>|d)e$%RaS zA^78$o_*!_UN`fj%`L|sKaz{a)s9x$AxRUI8FJU%b2mNzr|x4l^@`=fJ{S3B-D_5cqmWG|u#%wP@&}hc=`q)YAIRH_7yGy-ahi6XlPCi!5JD&3 z^nSDU##dbX+^Ziyb)IkCw$oemaL_N`{=WL3ZNN-Y`VaOy;&(JS;=$*e)n2U+o-C@1 zp75^l?*T__#TX4(Hzds@$~daJMrR&n0+&`?77pZNZr zXZ_lXHa%_2dCTXF(V?zAQl$i6;$lgj7_@*GJW^Yj zPgDW#Ex`t2@E{_ohQ^HJWB=lhe&Lp)*KMipn}6q$@BZyy-|~VD=N;Hn$Te^cqzq(P zf{FoTAZT!5h)W_pZlNf9AR@TRe&%zfDDp|Liz+D93ljQj|gc|K@)>Qn1DzELZ$eD!uyC$1=34YVu_&wxoVcYxO{Fv{3+6~3yTO00K2zn@D?MXyRViIETD6eqRf-R9gMUo>GNSD%S3U1kJ z@BQz8c=A)n7QNyti-`K0HE;T1)b-c&EszF|~535YQVr^UpgRr! z_GvkI#m}F0)=&IMW2b7}nU;0Lqlhj=XDI=P@E*{(1f(-Wl|t4fgbGHUR<7BY9h0OZA`&Ptohlx|O^BwSLfw)(=u|@nOc(4>O(t z%uH70Tj%^$t+v?XL@8i6+sx!;S;kYg&dpqM!!>6v?3i(fKk&Jg(RzOaP|taKdj7%& z`Q7!%qIE)|GGcIG1xc0=eI(H!aMVLfnnY~yD5ee1^w}@CqddSgD<*l8VqGHbYlX9N^6bsmnZxySsU8fT zQ*VU4Octnkc(C0s`{UB*e=i>W$iWG+9T3F%ztj}MyciLGkcfJ?@gfkN z2W$22+52|9?1s;6yym+Q)~(QLbx9J1h$_m^EmXDfrjrNbJ8pdE{ZSLM16CD=G38ZMvL$Yf+Q+HYKRi)A}B*p zl1LBXz%|=IzziLECMk-XU;m#i_vddKtRmBzB=JJ!j-*|qTQ$06(M=mwVySz7$=z@K zrwLe2Q6i%_|CcrjnY?BE0}v3!*H;z-LizS^+pFIK3{Q=x??;-iF2#+m`)Vx|EisG` zax!9!L_kdR@96NZNe1ua1l^I*v4m`T56J5v$_I_-h@n78KmH`fsGQh$Vu4?K(-lj9 zzvaV?xs7>a&>Pa~W=Io6)W;h-KX~oN4YSw2bk7+-^MW7V{mQp};K(Ol{+G9|-g#en z_`*UT>vme3SC1`|m=q}lcmcH=ui8o=6Nvz-dWZ@j^Z+FUiIornA(Vs&TGoW%h)$x? z4B;b+2x^VoXV|L7dPy>s;f9tp@pustv5jyLV}S@cQ9Dp6!Uu%+1S5#TPF92@WDR1F zq;-kRJW_go=P$NafBxFVKr3ltk|rt>m{y8v2xJCgtbs%bAy!K_0k;Cjft3kJ1a&V( zH}^o$2qYoO@pBJjOCe=*ykOS>L`W!C_5q&(4gHsI)}r z5+Uql^#`I~i^GFz;z_UGZ({sF#@JOtNbyx*bN!QX`L@r1TaKs-Aw4lbbaLrf2><;4 z;_M&%-t_v$jM9T)NvoZsbQf3m8QLRcdH?K%^R~X~CpS0WclNG}|K_#tyye6buNU_$ zY+|z@LJ)-LaLSU{76uF25QD{NiKsy8NQgBufJ7sMLx+I!f@lpU1Y!tC95|4vKsfN! zIOic7M>raT$P`46R|B+9kx~(r!zDF(q)`aGi9{iZ3{f$|CkAIqRON|jAdQB9`>bC6 zhy^U-M&p&5IuV*Hfr!A4-)WR;I53p6sgcQrOP|0>ne40be4 ztXssOA%JSki0+=JAkD&q=Oy~VJg{pr))1&300-fr?T0ITT)p)qaAJa}{<=zGHF^J) zHqcj+D8xg$L$363?Uof>v2QZosVb!ggbnxWfGj`RFYc?C&))gX3gol6w;Sp#;?JzRKg#jjl z5aS$ZWPQnU;F@?;|iXv%30#QRy zAfzCa)4&{XY+YaxWw~5YK*FL1*>gx`$5jZdjm!ssQ9BzQ%Ae$^Mk(nb^Acl}?M8=rARKHQ?X`AZ~I4`Ra)FYu@JnzS}(3 z{_ZC(TsB-85-Ja!fHqB>_Y}RFkSXQOmv;WYzkcQ)edgc9&BN8B!*s4*3!+J>k`m==qNvHT2KRiqv-XnTI&tgGx7H^n z&v7tWa4XQ5kFi-3avCkzx=^q-5S-|@h%r8xJapBIsgr$Xg#Btse}09c#Yx1;x~um=F*Ch9Fr+=#CgI)M=N#0(vu9QEWTb71<|BK04= zk+<&HGT6EO%+^fRuaUY>Zkm{^iFc0va7ZIh(CNY1bIzN-%8pE8I*yheM<_ZZ)TKow z5oH28$g!!20uew4gK`e7U@(d_8{>x&y+DbGloA;=Mh0~7ls01Zgx^;OR8!zwjSvYj zMno`ZpAzjF!88ck6XhDjlqej?6m$Z989@`RTkOBbjGpyhj(mCVzQNMAxu%(#Qke^C zux)c!d+%&Av)k+&SgyVJ5Z7N`@?GZ~;uUY$!dpLaHnkAtWRb=PJ!?OiuTvm-pv5zr z?SQafBkYyyb13>743$r5hyl=B2afeecxYsai4QAIK`CIPooJfjWR;YYn>eL?!v2%o ze%oGgQ@7oJ($t0))k;8iN`g>i$yiI;ks#`tW^=6->XHy5c`H&6Aa5k}S1i#)T$Jbt z#tWhp5J8L`J3!!EB>z z2_hmy142mixer^h_X*{XlMMxU)r|Y%}Ut zm{(zOX3M-M%X_@_1Dm+koc%_@Rw$E^mH~= zB+il|p%A#y*awJ8L8wS%O0X691Qi7$NKE4Cts1)B5?KpE039Q#04+U(IM!>%3A6~L z2!fF4kPuxBULl0Q=bq?1BI!c#h@i)-!6Xp-U~*z?Bi2qJiJW`!UCr|@tD5LG0fUbT zqy8e!?qhbgi6Y0f!khS76`l{g>w=WPj;&K0n{I9Exo`XI@XXTpoL9ljbz#@$ zimme{TjxgeNwfKM71JLIK}cJyjf`;jJnPxrJAeGgp1$wkf%wHgd&5ol-S~k+qnr23 z+iwVsn?`HplhV#W$|S>97Of+dtB^?oIK1^J>Cj%``kFLJh$BxrWvGu;7!jxg7^_gm z6NALp4kaRiK%*(R@9x0V7j-Qy)Us&t8QLKmyA^-* z^GkF(H6fJZ$f7KM`B%#u|L5z5_pD1co|^oxQ_la!>U96Es_erJS>F46(eEAmt<`e) zJx01bojEY|bLSK@N#YZvB}PjKgR#O9LJ8Sy=}=S46;vKuv0hq8viR5#4!LdT<;Q;e z<=d8i;f1@t@LR9F>jR(IyZVU>FX&ueo>-l0&P$X@#;I!~8I1}Wc}m3Ly+cb+T+!%x zO%xTWhB5&eBT)oG2&hDXRFt(PHz1OTsDVP#TTy6j2?3-I2+7zv1(X$-pdj~zL?COZ zV?-r@boe9?R07_EEg^{nsnEVjOmeV}=t^RHiYm#7!y(CVKw?`sS6~_8sG$sK5fF(& znFh5jh~APkJzB4FTe$QmIeQVT@L5YZETk6J_&lOB>Z#fwS^FO3t++hTg(w(WD~lE3)l zozFeIfAig|$B)`g+ce9oBUD2}I-YDJC3Sy@X-1;gAS0Ev-15=DV;`rY3kwRf&3aYxFRHMl-N`mP^a8%}Qv*VoP+^yR+x`JFc zSnZDxK_az6C`+O>(K<{Xh$XaIu;z0<`q9YuTo=dmyERWBa^=#DftmlRcDgNC?=7gex%Fz|1O{7!Fl!dUhdO=a_@;JT$8=#+ABLB+q^Zo zKBn8BcE%37=emm{Svw`hHG0Ei*xI9Lf#~C1MF=%YXtZvk(%tInGU00g-1!ogs=oS_XoZ_}%~)Kxj>pfx=LQ3L64a7zBo(HBv-e?HH^&w31{= zM5lqj{^+^9_MN%L6yr>3^zDh}Sh_#S^?*4M-)wNiuU)x8ee4sZ{n#hU{m_Us&N!dg zIJ>*sh~4vjE;@6L=l#$E=WOedW-C}frt5_esLDQdwS))_>QFw@8{z zlCCAqR@ka)R#!c>4$LLLMKp)Ck9&DtJJ!Us%ES(t8o^7L*V{o*jxuFZiGBVBS zA0Kh&=MK_pc+P&@W}1zFQ7JYCLY{KymJ^)0bC&(1l8Z0XNHL}f#zCN#DS9pvq9arq zDHO;)T4{nxsbobUVhL#7z)Fv&CR8QTD{kk`|)EnQDf+mEts@greYSQkD`av-uo=z!8pHEOQjbCPR!A7MvaWN=K=KjAS# zf(j@t$W4lo5n(D)2~sG6@T5A@%oDV3;EIx14^e{xktsq$k|~EC1Xhn*)VwC2ZW309 z=m5LLfMdQ((#g5?BTFP%&F1a1ly@CvYN5f@nVYF@zJ+=TvS#G&&#ba>DzbYjrHq#4 zlWU~8#?}HG1n7ce_f>R<2^V&kQLg6D{*>FloN&!`4rT@96~m(z<1P8L#buM^7@mZb zDo6ws)>nAz@d1>`kVaxfjggKti!?e3dv9s1{l+VcBOm;<-hr+gC=JpeR0=vL3LPI* zx~Tce?znFWvvMjs>L;G_5S6T9nzaxKD+9rs-=Fa2vH{6X_H5HDS8luO;03#??3&Bf zwhbGy%os1mmC_XD4agE9Bg$G_T@va*nx;t8pmLT_fsP8FMN$;gL=Nl?m|4w+g*L@t zgboW#r$de%SmNBrZDZx+6334m!Q@@mj`oP=0G(;Y^6h;Z=NK+L2l~O&Uo2_1VgJ9b zkWNq0*s#XN9U0Eg<5NjU9laBt&zB4AJ-)&TmZT9eMq;!^$P8gEp%@V&WI81ZO>iY~6mg9FyNU6bX34Z9VCr5go;IB?v3ho-w(qN60uBU|sj*t()wtS= zj|k_`+M_Z<@Xh!S|IER^d~LKIMekN2?3&5s6mr`S{Zs zBRkmKo$AkJ(|fNtajZB0PoKEs%zKV(;lS}}Hcw0TY)-lUV$T^nkIm$b-b^$nKx$$X zxL6UaMp%vV1;G`FA}7XxF2;$oGV2r46uEf;T@2B^fQS~MBB6BjjzsKYkD~N6+7hIv z)zy>-OGpH=SJ7WoWNl5-fTIT^OSNTarrF)9Ik_T{BB5S3Y^5Sg3Qpc#bJfve%Z zV~QK!o*e$8*Du}fL+Gz_E{8x5VO-QLhiZb%A*K+su|pb@dL1?MQE89-51EzYA9;?- zTGhpUdFbi=!SWLe@3**NvU$2K^z)y(4vr6r1lC=G}N zXL6h_5lKQwG|G*TRlrn%tZ#9;AZkfS8;F(yCs9U0t7detB+m^#c*-S9qym}HXle!m zT;H=ilGMwFLBn5U z>)gF}r_1m8z~TLO9T*N{l+|=cxLVKH)pS#gvcYuQalwuuySE*nk)*us-FA3*<$k_r zcyxl!|A1LJbo{mrl+{a;nYE{7Et#jOLrG1D6+t?rCu8TZ~+(4MnY{lL^*O_D}P3{nN84P%~@1+b_@;4^`f0v`pzDMB5vQlVtU?z2YC zGtTHXuYX)~)3cs@?vB!$BF3!345*x!i^D@xweQi$SJ*P$BWtelu8&?o722y40#?O0 zzy$xMo0ZF-^TlI-{|9Hkbbfo|V53t!!*|7|yyY8}8;yM_X-LF`?;sVC5mD4YGG5uy zqx>vVMnr_53UGRIn>9p%7ZTel(9JHDAEB)zEfumVn3@V)d}+eUNkexor*^ReyQ<>PnkRM%`hBfYpeZJOR0AQD4{ zuD9aT1E`>pG>NJpih`gAK!PA4N;~fFh-M6==nzq(s{|2hl(UE!s6|4ONpu$Ij22lv z+@e1)xS;X2q%o5)9F^!aQrCjzlY&M!GITX089EmfRlww$I#nobakfIHpp?WQ@dJm( z5oFGhfy5mxSeSNnH$vep=bvjhc3d;nhWXi?c6WeL16%?Eg_RNOJw8aR2oMC85-Tjy zC3xW=CU_^t?T=BTFbF(Eg|8hlYGg<`u^9Q%zA4`E(H(s3bK6pq(!emCG(7bu6_B{)z~j`!_K+?WIEN@6*}6be&HTrK(HKMIm=LUS4hOGDaijjjvoN>k>Feqq>p zQJ3EGGO`8E_#R+q>|gT|DgcX-5FwDfw0M8M|l zmP21km^s^X&G$^xopVIrLhBI_sMMIxrlmqgK@17rDSWU9p(#{BbPDMuR$8F+*t*R2qjVRj=^tGm&IN{dl~VvwTd3^6+T*5ai`<`T5Wh6+~| zG&?QI+EPZ%ur6>`5+pRTF4c->x}7kp`(&LawgQDDs6bJa%%2}PxYsa!W`!O|POfz! zF>Kmgk{L;&3|5W^Q4yoSsuGb1P!*|3P^qMuHgQ6Sef#s(cYmZh^s3h#y5sQ4^5kS* zS|p(G)XqXEefKvbT`(tQ%@xnb6cCV=4+B%kQ|Wz83krriCnDLd<9%xo~s?1WHu8LU)v zyMdw@vG?1K*(a)KM6OhSL9Vqtp&9~%_H;X{wS(L%%#(_3a3 z9_^DhTG+J_&7q}vp~5-1`NM+gT_w6y%+^DucY2VKT7eH9FKdtn7cGRy>Jb&*^N$>V z_1g~bzvIa8;wT|0B@0%C6F04v2w2BjluI+7NsM2y?1ltaWW0*9A1Zlv&b4Wh%iL|B_sn;H=U zq71}p$kK@h_YF0Rw#AO!&{=9y)sCf;o_hHt=~O}ypz0ZRo~dzF0kUQ~H{pvepTsnU$RbEXdxxen{ zVe%By^2muxA=IQLG6kvqI<4`DR%0K@+DiPH7d7K+|8jW0YWtTvE#!8rp`ZiwIP+mg#s08(mFwi zfCx1*soB0IvK`MQMM=LYIHsoQ_Z*3qOmALb`QRe8_cXUpvwAp?G*hCqNLkZCv1%3l z-iSsXsH;dLRfyO`>l$4PY*`Y00GZ*urK%)$xyIBU9}1@0aCBc}t>@W(X-ag0lWT%6 zzB}@yA5(PZTNI-qu?j@32tguMYg}`YhsEwQnlpd$$_&P;S8#h&HjjHmYAdh(%i;P>%)&o@e13(__5t1- z?2zC2vvH?;vU!%o9zQ;~@6(?KR|!mh-Idwg%YJd!Sx>m4GwapuV!W6dSfvQw;9~(X zj{8eO6Dh_Ut+Z3rr!6;KR^1h zdyfqcO7 za%2h4y}m;tGejJb%oIq5oOOlaz+HwTcNjLE7g2r)BB5!T6y8$WV%*A+)I=h+mDFBl z+s+tV^ZPH~v2`kQzy8N>J^b1GeF>Sk@xD~!P*zL;5g(mW%2$beB+SZJpC=gKiHrz6 zsk(M}%C&7ib)%Yj&QIR4J!uri*M?zLP*nw1ln5F`8lWOkJEBo|BMGTSB^&X223Hm& z%d1d&&OaZ%>$)DwT57R@4HwL^bl70E!Y;0{?JSK+YDjW?krE1lNd!uJa-j($&6L)p zwa1hJS6ad#po)s(Xkc;Qi1{6>%*>YDcSj_fPSMj%&c3pN@_l4t8LYv+y=`bVsFY=X z&l1gUMPZx zs#2*y5|YrvC4%taqT=I%Ub-hLh$1}n!b7fCd~z@F&^ttZR|i+PQ9)^>M@`fSA&|a@ zG?l7Ksw%1O)aiG>y4k!x_TH(TLl7JUNqjZOSmT^gwa(gWulZfS<~zUh_d}Y1vi6vM zz*M8e_MI`(SVZbrIi>0LCC-PGW~PYiWt_|KN^s-#El_2`V3NXFs4r37(xtPiF}(^w z5Fw?-xF(SV9Yh$PlNJS;Nyx-1R^&Lfu>SmA>Dxa1TNk_nsM6~N-umI1)^}v7KlBpU z@&|A$|IAe*hmhVoEs!z4@{)|-`T0Aj&Yq;3Xsn5ce$%6b!}x??xKT-Jff6wy4Y6}A zR5L-O8LlreD#QmNF7lv4ysjYg3W3j9KCwtp64chk#9C8$&(ySFYN8CGqu(ot!w{E3 z-Yf{EqG%PAR0);UX;d_Uh#?E9RAWM;h;_=+aYa-K*|bh0Ym(}8Mz?vIrMXq|tjm^j zJ4i1%emKXglwcyl6X3|8nv(j0qyt(-M5T~eGKiauC2$i!NNyy(yh*N?MKp0@=f#(v zde7}&dj2~vJ}=uz&k3J-yanex&iNrw9$`lP6Coh|{@qFu_&9J(R^fO4<56Dz+z0Wx zgUKtzsti8C`jr7|W(8qTK}m%d3YV40+8s>4MJz&$9n{Lyo``;)uzFm8%BfBmr0b%)ZPH$i^^FE5bF{k&lap2Yy$&T2QBq*A*p8=j(o)+N z5+nvkfy^A?20^ovl2ttOhhY0t%any=X-TtTr)1015-z9D{2@hS7A&5)5|d;OZzZY9 z(IUWQf>;T3AepXA(aZXD@)fc?AdKtCK$B-3jOYj*~0%WPGbXO!rr;95RA}SQZ5o(7BbA*zJphgzP2wTVbEdy_eSW$mZ+4nc-nBz_6kYgQIQj16SUHFmJ;IWDqWLPt$UR0pi9v0I9%bG zKN*p^Nv5|!-Yzh4M5*DKKc?7np=ZlYIL~iRMWm zPu;KWYTMXx3B`|!A^o1&%I%+h{&_)Edbg_fE{{qNZY{-~0jcL}I3uw1kY1yuB#c7> z-53=4k$rlL&|b(<$`R=r)@4MofgneR6-+t8Q9)+CLE-v9A#4P_6}%}ZZI$ROqt$7V zb_13k^r*UGDzZ$^SlX$h-Ez>j=oLVfD9sl1njV`)q%B8O%27!Vomi5>5mg1wSEy|& z;hHJ&q$Y1deJY|9EOO`Vf}KszhV_yi7X;k+HOuzPG-)#@?ORIa29Z|uiUeaFRu?!K z6Q~&N3w#z~ItfabsLsZiY?WTtA9U;S3WUPBf@(GAqVrF2$zFl;icT5{A;OEdPVbxz zmvkn1v{BhbYXA`Y>kByZ)!MGq>H zqFlxn1sccp-Hz5=PHSREr8;#Vll9twLI)=m~`^ zB!$#WZnoTav!Gh*v*|KLscw)`QCbfR^GjU(EXz}y31)Q?w^Oj`{G9Vnhg|g$!{u+7 zCWs1}tsc6pDVJ;Xk{%}UxY!_s!0V8(7PE0$v2=X0c-OmD4s??seeN@7C-&?OsvDxN61OLgm)e>1%=@BvKLU8&TTJ`%9~Nb7lXbj^|AKbn$qJetsagk{*05*WPyR zOvfI*-1Yl^q@&g*jiZnQHB}Ts97_UiP&&rBE+$pi_ZX4xv-lO?r}UpFl&AmpFYSM~HyN?g>n)S2HerSwOu}rrGWiI878p7-O)ez$gtkj7o8N!TN2B!Q0+6 zv+-H4ICTA&zse!Nt)G^D{pOk3Jl^wM0_w&o7FKHrsj&{{I>*1>Kl$Ka!--J=zw&Te zvd3$M_6Kq+cON*aW@cwzRphI`g)cUVA|wzYN_m@Pbxxd?>b{58)9PE#0>s8oui z>=#!j>qTk9hU1M|9Eqvv3Rd;WWkMyMCeSI^J__(HMVL8U-C`RRx<{dI1JpSUihhc= zeZV3DO{OH)If5);c9WyuO_|)JaJ`&P5m9(Sc2ZHP2dF?(X%y(t;sZ!KDOwBCj%M++ zAx|WY&64^?@I8@d7qF{D5;J)h;yqUy`N${&Y;}x1)zihbSGX+2P z<~oz5304++I8&g*5@8@Hyv16Jz@c4CT39ZA% z+(wQDw3B2l!R(#{Q88rmj)ONA zRMu6Pm~_k^7d(7_PGe)j{u?9Kog-;B3pSh+(d!G+mZQ*;^IsU?tzcoU&%|WJx($N) zW18L1tWeSw*2PPxB4zJIp4B56<#Pn+DZ~@wjS8V znW}-!q4+1~M^J*{F|Eme|LAfC{M}DpSlqW|U2ri|VSV3u>YP*f@gLON;0?D-+n zvkJMGFtM>haxzC+*t(;H^(iK`RDD1_4w%`}Wbt7QYADd;p|nrZ+U}AAHZb z`(FQ!Ll2!;=(P|*1yyzfI%@3Qlp2I64PA*|qXv6I?6M!%j;go5b=M`k_p0AiwUt^g z>#DacK2SDJijp=61k;t2Qdtn_vhcEmB|&0vra%M*^~$VoE;jN{ebSy>AN%-4&+E)I zHhSr&s^pobdADKbvo_U1$z!wUeTF$v3LX{Ix zmddPU=S710Mo05#pXse3wUS}+M4Q@7mGWeP>vlkunXFh!Q#q4&)LPfk(aT<6lC&{XP*UcV1EM=Oc6A^mQSiH-)Ze(jEzEOz!D`!9c*9k;&h zL^u-rj2cfUkBo{j4M=O~S{~_K@voiAq7`Dcj+|S41Q?@q$$H5D;`8bLzxe#zTo^~! z&F;MP7dB2eo_pc$C2`KS22rF*b3x?O?)G)f`BTUJ%HpCcZvJ+wbKR{EcYp5Xo4368 z_Zk=O+`Cjmc*1gnPX9CqZV1`AZ-Um+DO6!l)oGk><8%&z!e0vTanBf`|Z?fn?mg1$ib{PA=%)$;F7<_iseU3MnksdTf%f2EB*wD2lv2 zy71dybMBsZyv1KwU3ao%Ohma7prz!2LmsWm)FwT}Vux@;85`sXsvz6QxI*_}mx-+! z@7sVwy9ta~M2Lv2fFMe-N+X@eNx%(CQyO0o1grjzyL+cgtE;t_zjj}B;^-+FJ3YQ! z0`IXEfwi8X>hU#2Q1^6J1o1={U2Wic7Kg>@m|(r5d!Qhmnm~pjHfbZm3UpEmm7u2r zcD+Eb`?3ujdm!SzTaNJU+fu%KkGgmFu9CX^S(7s_c$VH!nM?yCx`^_@sn`66`oAkr ztKc1fyk{u#(F2jOP$1+;e>&2TKJIk-zsRk4@STnvAsYYy8MR47K~(;uK70fWF}%rv zjzjAqg`-?C7-v{r zavZ!N=B2NipnYndiERoO4mQuI)L_Fpouh{7Z5uG*GP+kM*9+i5+6eDTxFm;igbPw| z4unL?2&Wv*K-@?P1l_A{@V)=-Cr|CF?~I5wB*#|?qcS!PaMdYrEusksYnHi(Q+8eE zNzD>I_V^^i$FoRPWA?m^Q}=Y4d`gM1ww|;zkB+K{RtHlbl$0Pk&5q}l*!`?6EI&vb ze{ycmm##Pa-}J?~+ky0)O=0k&XH8U}c2Q0BdTHhE)$+wyqwzys%m^F4AmX^uoZ*>9cb@G1n`d6Z`kqXU&x=G%8tk~K^)bw{Q|2C zZoAId>BfZ2(zYm1Mfh;gGes5wKDK0?kiZw@l@4?|Xn7IV7U0`>hIL}YE?(CMJ!wRS z(iO1rK=Ez`qN2qG7nsI}uMx-EO-K9`P5+3av~LQ%YM@u3$}!#5Woqj+6B{Fr9uiok z@VQ4QMb^s*>IM^9jO#PCtxWT9#^iYdT`p7f+vrf@`#pSA!iROT)gDEq$>a{loBz{v z{b%1)y7+TnG}U*!|DoHCoywbk{>89&7G@X#Hj7_c{N9 zM>n1u|9#|Q&dBR!)I-JvpKE1vAM*fh~szgeGjv5H+@naHgQLX%bb=k<#JG z{L(FRv=3)v*25Fl`lw2Qlpun^7xM#=v^Pcum6^(){BG?zwdthM>G!AxRZL>AzK1c> z=@p+{zQ1pjh#H-B!KB99jNCh1-a?h9$rD4!1ff>gqzh4*!aX#Y@IqkwW#Y2O>Kab< z2U(3&h@!x&L9Z1jBwlFR%XENNedFfBw|hZ($1M5$0&D;oOI)@H<(Srd#^&>U;Y zCNY%CUH!rT620IlduP-ieWH0FPc7(L6_k2pe!YKe&F&al#O_}V2+BLLslwzEZzOnu z%LRzt2p2!5O%UG^t9bpLKwI-S(d4Aq_S3IGhA%D-;fIH5)xZbp zdWO~plm|5^xal3$ z)I>zu=@6EuKu_W`%glKNX-l#H=BD5N^Z>22aK;nJ63+G!Dnz;*FEzOpbe9r#?D6&g z^OvI+H^n6vf9z8>ryPc;xQ-mw9u?}0u^;r@TN`5tWH=-6pFjkPARIIRJkv9)gb?R^ zhxIrkJABmj9s!3}dKDk6;9M{W5d5GqiPRohuYsr_gahG+-~eYWrn7M?gPCdJJCG$rdMy= ze(|%j+015S4vb5YMT~4nq;zynXH?cZvQ`dpfw1YI30YD>#UZIN^yDI;iZLoj6QT-- zR}L>duJ9BpqvEUN1wK?joJsl~RS0Y-p_ibhHsZ4uN_r9_Xg5=)pDMZg+Ae8#ic+J> z>Zui^iXrpZqKzz95WYm7tgzvtGK>FIxSPN3`!D*baxG68G#A8y1)(iIGK9+GbcvvdS)B4}Ip(wlx6I75P0*RFJk^Xu@_J$eantdxa^0KlO>4r%1XWsfj z^P3Fs&7e@59~6J~-h=3`;YrR=um0N~dNXhyunXACprzA@h3gL`^Jf~(omuS37*x_# zkHjByUu!e>wGRTH1TGj}ueNE5$@ji)@+BKL=xs1*=1z0!mg}oG{ObE}yqQ6*iOKa1 zz3w&tyWUkTnW&p)crP)Tpb~{>X<0p1P?}L>{T_l6UVsUD_f6#bsIl}Jgi%R&Oe zl?J5`yhQm)M4n+O5K@rlg9s8N%?)-x zS8~T!x;*2RRVp(xw3k+?R2t;X6d7xXD}#0oVa`RDPpJRrgXzMtrQYgmUOllI~ia zVEzw&bPl)_*vMcPe&fs@W)y=C3zgyX9+vjU3}5iMvFrJ9UOpXum}F2+C|(n6nz7W0 zv3;K1A!y8+>?H-3fFr}}mEQKojW64Gp52&P%>8%TfBN|6vTMHlPsf*l>EWW0`>|(N zCePoOukWNO-dD(rE}@T6L4iQ~`@e0HXTPLc?zUS5L4a`vO-#R~Xs3qF zwx&x_p_&9<54va$TXq_mVyvX38gx2o@z816GcNBZeOCzOBb-3`5N*nsVuh%rNis`g zDqwNmP+Cpd_Ds#u`%>l~7Hr%ekf<`o7@X0Fj>gq`Xtf@)6=bR47v50YblHne-q7rd z{#)O;erKSTLum$7T}ndiN)$a!*S4wDBbq%=Bs-I@d`0}@-?%9{b?5%<bZDVOUwyN77ZmJrUl5%UoG3pIFZV4VU@L5BC^~ZDse(ZXq z=6-Wqwv;Ac{?gL(q;#EI@92Hz-M_tf&FLlN5ZR;p-QAygMd=(}N`o{PgMP2V5S2Zl zYPc_5=}x#*2SstB?C@A+(SgAA%M^Llyyw3)@133PM?dxQ+IlAi)(HX`A$$pCBu=HE zJh>?-g_=%J7Ke|hF4*+gX}h%b95xp~P*@Ujf_99WsAA??s6di=OVUp8GZoIgH00DF znBJ67s+Z}sR){M#I?Yuk!dXx;s;FUDVC#-<>BY~lPQ35K?fnb$vipZ0Xgp1-C6#6t zsR}YLsn;4Tuk>lIcA03DD10tvH<%so`W5lQ*S?)UUPF-=LqK%kJBr4+vEBN~&^pM+ zSQ{G;GRG?=bVgtsZ&yA-+~|bn@Mw)4qkWv?zpv%=$H7zp{dc~t5&Y(_PrXw>^u@nz z|F>Uz@AB2%K6+>>!?7>a`@P>T|Ev){^cbWK2}R`EOB0=6es}Yhzx>?d{BQr~iJiEW zD3p^B7hsjW>L1nWZ+vLs{%ddToOt~!8k?Se8S8{D5H7>%9-0tsJlz}0FRmR(*8X&C#qY6>Y)oXbR(bSDQJ0^5QDd`|{{FxFTK4w${lUsj zYuryV{IUx#d`3fvQeG~6juSaTi~P1bDhJ;3?xkzK^7X}sU-c7>iArg?WQD{BPzqzN zyQ#ABj^CcY?Y6tKhd>t7lM1C2&U>tt1ZrxSZFC34=|ur~fh#O?r*z->!Na)vo4o^B zOC>V(WVyvCj};jQ?^&kELy}%jDH0S;(QS5dWyg-E!_r)zxrd@*gKj|-S1=X|yMk3K zXdmH>;M^T~?fI9*HK2dxwe5p%`t|v%zjR|JXX1Jvt|eXcRP}?xg0O$fcj_myncVj_Z%;K!BqFt zU+#YEe|&6VRNSmQGd+kqGw{P2FCfi--`+ec76D6TDNmeBE z!+cO@%oc>dG&BR7aw_6~INzy*+ zHrGL9Y&f^hxBfn*Jgb;$)G)ch34u*gqH>IMWsL1msc7}^F|%;PZN)=C_tZk#y!zVS z32Cdv-d(lXO1&M(&SIC_`Mor;~cD>R5#NU!UOKPkphoe|VkVru9Mb`d3x<%x*P}Z`~#5*3GJ@ zI)N@amfTCM9M%XGDW(&;H@>rbvl*JyZpysxnP}&(#-38usH7)Rp=WA~;Km4E}{Oz|_j{Lz#ns*G}q%N>J*-+hTO+eG?6>F)7A63N={jcHW_!=H9!i ztBI#IeBde2zwkNr-ldld8&AT*VnLQERGhK>(k}O0zl!uTv^xpjN|stnSnsht&8EF6 zM>=-yqo3#>>G!%`tAbKxf^Msiu^@hU2&9Z0fmzkM$p*k+4H=J!?zT^eLV6( z7}H(^XG&OO(GFj&OMAuVyGO46S~4d@fs_R@@br=<6d@F4Hf#)Qmt3T0MuGY$)*A8) z$KUh*Q&<1@4=?=VPrhjL<}r)f90Fx+;Q2$}P5rM44m*|&jrz5ZQnAcKe(SgV6+iuR zM_>8dADX*v3>YiG>E}H?-i{I|sr;9(%)WW$HLd%{fUyXi-nBy{K_KO4zS957dFPqg zLU#w9pqv7s@!sHl&Qi-}*WQ`VjiupTpwnq3EB(Y3-gs*3Jx*B)GjJpOo}Kb=+FShf z5A|+cY0GYRB^+EEL#Nwu3-fsj^xpoy?#*BQraE2@l@DW!D>Rw2q_&Mvsr>POSKc*z z?jw$90XPXfR2UxofB$0fA3y!MlYjHn9p&y2G;<7Ex-SjCYci(Y_%{I#H)c8Vu?Tv+ zSBQJlyXNn@_n=!H15ukngS(}v4bnR)SXr)~eE)|#*Knr5T5I@*EpK06sw|wCxbt(L z&u`y$j+n(jo`R7UV-qM!NFQN8M{l?`?5bU zH<$H`Odzo+i6{q;5P$7|`eygwTi&(!wNB494H{n+NW60;-W5guM&>AcaAJPJ_l6Hh?uBr#Va8>vA zF*dI`e1OY9vzKOfzyBjg?gD%miVb-l;H@5%7&0{|%A|>K51i1eN#RDl(R!R|h1I*_ zi{|4V-7XSOKl2os#=C&55L6~}xpP~Lht?IJ&2L$mmuY9!QJL_1&mJ3$0%Krd|Dpc< zZ+Oen$8W!-dO&HF$59WHS=y@=Ui^am8Nc;wJDxF2>Bj-GJamx@!=EE?jAFAckM8I8 zq_-U3OM|es*ljwds(ysIEAn{0wH)8Se}BF-W;HtF=luSs`8-hU+abep)d$X43X@<3 zcofP*ryVA@-kUCtxs+s#2+BY9m&YG`;C^*g)*;PPNs(JT4x1?~!dp=kKyvj>_P~L| z!Qtf-$_FJO&)pS8pz`6pH-V+w?#}Le?ORTM`g30hZWK%xx}4!fj#u*&|Ndq6g-^ev zwsCCn%dQF5+hdEJ<0RF%y8MS)yhZWE7~(O4*L+Mk>t6lR4dT|j()&MmWqW>j-}%^^ z+5wW>3^u60<|X0zFZi+Qt5cJcr9-i{D+o2*_3i51A6~J#AOA=yxiow`N2`(I$g$$| zWZl+hXM!EhXS!4Z?=(`C(@%aTKeW7Rm$S^T%D{Ec-xloHxJ8z#)lzZo4d(vE<^1$m zhLQGClCNFYI~@j9w|8&2p*|T$ophB-O--z>gb&wk6r z`cBu4N;;0r_v&ym3xJcSt^J2@6i4=K(-RYs-d0~HwaIgGqq-mYSaMIA`xT)1z!7(R zW>)9tZ7(j^u_vxKm-W$a+}Jy~W-m!*9qBi2>dswxWqM@W#_4G9w(6{wMJS0opZRk8 zuCX9JAB)56nwZS}u(YC2B)9Ut+>IRzT-W|wyO=cYgC7CZ&V8=pTo;#u%?2$ljKO{B zs{Dbu1+%&)5KY%usgY@4{r!)%zjXgWcVm%avJ6)HHfwfVXUuA~KK7~p*H16_g?4LI zz3heI1!MO=S~XoB#!hobPS}I5d+XsZeEBQ(=97nm`4h*BWVixe8gnn>!TXO47*9mY zu@)$-(IJR6ENe0bj?n{@`+nv{zp`iI;D!5-&KPA|vRvtL%l@h55B*8+?oKOfjb%df zoGA>OjBy7NkZFeRrnb2BX=0!BzV^^ucIfXU5_1!g#U~6Lv|D&3OCn`9;7yX{ESs5Nr z>*R$$w(V_ov#|1kk8k_S9kcCo@3|{G_}=$7Z&+MNn`5Gu#bMgGvW9_tl#TUEjAwL?5f;%NZw5I#PXV8a^yDh+>)MJ z@~gu(q2nN53yvS@&`%O@xG__0*8t@^CX`V{kX^mx#_^Bxln(?&5C zr!+@_EZ^DcI~&RB(u}$N_qlKF+TiyceTexnS2iNg((A5me!JS(`n!wf!uPaSe4mGI zUKvwbjdw;kLjnp}1*h?TT=wuIw-(?@W2k_EMshu{fkAp$1)u=cAZg-6EG0>P7JRxH3UvN##)ZHfmRuacI(4?O2#PfQS32VS&fFk77fskxU8S*#~}Hr8d%Gj%^qr;LNJ(XhOw! zAUiyN?fQpXbAO|I5@W$?@kEI?o^0UY`%LG?vzgI;n$B<%it)9SH5TKsKEsZ&v7<>G zZ4c;;1)1a4%@5D9JX)AD?gmGxxqOT?{%p+gLyk>GF~jIkJX$tT@clKi8JF@$V_bw= z!)T5&ztK74O1Er`L-F6`GyJ~*{AVr44`@~Fnm2!3g75wXRP;DwJG!1+L)O_fZo`a$ z(X6o?{s*v#XD!F$Y(dt_=pJj)@B3wv*Jev@O|~@t|Kc$+D*r?T!2ch?@!h_ke;ls0 zHe2%l%sD(6LGff`NS};>F;7-doE>M!*>QH99cRbcadw;?XUExbcAOn&$JudqoE>M! r*>QH99cRbcadw;?XUEy`IFA1hRcNFAS6pQG00000NkvXXu0mjf@3U0O literal 0 HcmV?d00001 diff --git a/skins/common/images/poweredby_mediawiki_88x31.png b/skins/common/images/poweredby_mediawiki_88x31.png new file mode 100644 index 0000000000000000000000000000000000000000..ce1765d163e2b4b9c25a500b0c142a2d1f925cfd GIT binary patch literal 1933 zcmV;82Xgp{P)es=;zzc)Ys6*W8v9&j*&Ntjg9in3D(xhhLx`D+aq3>wcnNvI)tq- zJ9u`ayXM$G^|A-&;i(5#i3trmnJ;tggNeZJp}b8mes+*2ym+XqLIe zn}vnAD@%eYd!?(o#n;lc*4EZIa+kr**WcNi<*E+w$`r`BOogMjQjxK2kf_pz4cN*U z{niJSt-i#*bMoCa-O* zw=^1Ch9)MOGHsO3&Bfl{)}FJ#^veL@(vlRWRXHs zTHCq{<<23NdJ}4$w{)DfrM}Dc-Wv#1hLMt`#n9LAyaPmvtuRi47+;Lwoe}2H4%CSf z_vlC5;Nnbwqv*#Pprn=9&Q<@(1{-vtjgq_g#u4h_63*7#=+QEiZVp?Ds0JN*_ty~a z-WlW9YR9=moRuwNj;z+sjON^h?7tG(+2+A&4Vsy@%zYI&berX;5w&s>owdgF z&5NY9^WQ1N#m-`puhpCx%*@Q*-rlCW$b6l%B4drLzssMizz|xD#&i|n&rH_64vwq7 z;IRo!dYQw(!sxvMQiG#LVU8DEi`>_)I74Ud*hfuOUG=;N_s<4)25#J|GnU z000SaNLh0L01EH`01EH{Laa2H000D#Nkl4MJv1tr^8y3o z5>G=zN+3+~?1YVlTn2`?j>PRd#Ek?t=A2`8Mg#$^4O<%CreoBBGr7!5V9EMUa$QC6 zpXnTs#P#$%^&mg=JiUK7pU?SxzTejmUu4ZH1zGdWs^ouoIXwGVYBto=)Xc6tVQ}Tq z`=^gqRz4XRUzVt!qhc!GsNDNya&q#csZXml`|!Vsc44n|hmFJG!orT`!qW80z2l{i zMSxvDl5f#XhlHCRY0dI9qUmTe7g1v9ekn4tu@c*;((6xm$RYPRHZ%bd8Cr z&dwV+uJ(GlL&K6*vsq>q2zK`{@X5bN|WXxESNP9;}X2UTwu;??b2#nTXC+KL-+!W4`+o6y8iMM z$Vn;w%k2&LI}shc`souV>K#2j{r%fM#_^K~cgVnA#zT28v(F(RvVJhI9Sd`X9ZI;p zHcyLZ6@63@nL8Bd)IDWYj1DQpAP7B*8N}H#jr^PVprYH?Uu`yQFQ4}6mC8qw2=UH`}onC1D zjG9trQqpRr+~bMkX3<89VqpLf4FGr7m9!-#r48hK#y&-UU~5Uj?JWRk5Wr?;#sxs^ z=%^O}g5U-wlgFY?@o)_d_!d7cQ~{r*Zsef8nx>_|vk3qeh7g&A4W}cl)_o2~+P#5+ z_uFqCvkoS#dmTaz0@=JOVhHFGO-V63!;AnhG8JTkrbrJMu>@^4uP_=@O-U7uN%_`@ z5Jt;s&vghF;U;)x{kDYfJAQ8qY)^Z){Zq%pM9JJM=OAoagfkf#CeI8?U8BA-QO5A7 zemIyrD<8@*>SKcd!(>FeFqJ|fR2cnGC|ZK|sNuPt_e)|@Q};Rg`lipeWm`Y` z_4971-m?fRM{H$w_P#|mWVhIDHV6$tLayf;-;~d!k}LgjQ^Qc@_lrbj5PrJ^S5#cZ zzIv(nNMCkyv*W?#q+{8Q={-Lk$FQpv6&yUH>}56=xr6H5pdnKG_ilW@@`1tw$1M}&+`SFQ~=F}Z$#v4!+0F=v&9eqvI>$db} zSoA~Hre0OGeKfaMK4c0CT^1uB)sGU`lntd+euYiS2vL^^MOm197!=(xj~=jIDUFCa z^WXvNEiK6F94VSS4A<5E+|D zav4mL@hIBai8gfZc>79X1G%z129qS*T}zU;4sEC<(I*Q(xv=nytCIgDyh`~4vFUd0 TV@{7Y00000NkvXXu0mjfc&yx* literal 0 HcmV?d00001 diff --git a/skins/common/images/public-domain.png b/skins/common/images/public-domain.png new file mode 100644 index 0000000000000000000000000000000000000000..e5fb33ce20a9ba6b94d394391c6d56774b08b80d GIT binary patch literal 2892 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 DF{7Tt literal 0 HcmV?d00001 diff --git a/skins/common/images/sort_up.gif b/skins/common/images/sort_up.gif new file mode 100644 index 0000000000000000000000000000000000000000..53002968590e4f283f54cf8728175fdcbde5f85b GIT binary patch literal 881 zcmV-%1CIPhNk%w1VGIBc0Ou|M000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^sIZa%Ew3Wn>_CX>@2HRA^-&M@dak03rDV0SW;B04x9i000aC3;+NK zH2~oV97u5Bzk>)93QWlG-@=9nA07k%Kp`B26e&i$_%CC|g9|-+bjT4RNs}N;LM+Hq HU_bynn1-Ls literal 0 HcmV?d00001 diff --git a/skins/common/images/spinner.gif b/skins/common/images/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..bdd59d523ad9edf7d9b4162f633a83d81bdd0b5c GIT binary patch literal 586 zcmZ?wbhEHb6k!lySj5Eee-6X{a}o>;Kr;E4KdDd3m@48a?P&G*1G2(HsfCGX%-2o&9e{^JPbTAeICj-8{Zl}RNzI@$H~A4 z)CDq@MPipVk_0nCpN7>I!=ybHuA)fNj0pQIHl9I}V1~PsQ$pG1)S;bdTh zTPJ*H4nhLqJx-0NtvYL5U1xbAWD&k&j@X5w3+6da57n4+K+7_af(+p|R9y(K0qxon n`pEI+6c2=52%n+rf<*vlgzB2xU7YIN5Rb8dq6gtIur6x=YUp^g literal 0 HcmV?d00001 diff --git a/skins/common/images/tooltip_icon.png b/skins/common/images/tooltip_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3160ec057a3c6087db34696c908994188c5083 GIT binary patch literal 430 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 Results object +var os_map = {}; +// cached data, url -> json_text +var os_cache = {}; +// global variables for suggest_keypress +var os_cur_keypressed = 0; +var os_last_keypress = 0; +var os_keypressed_count = 0; +// type: Timer +var os_timer = null; +// tie mousedown/up events +var os_mouse_pressed = false; +var os_mouse_num = -1; +// if true, the last change was made by mouse (and not keyboard) +var os_mouse_moved = false; +// delay between keypress and suggestion (in ms) +var os_search_timeout = 250; +// these pairs of inputs/forms will be autoloaded at startup +var os_autoload_inputs = new Array('searchInput', 'searchInput2', 'powerSearchText', 'searchText'); +var os_autoload_forms = new Array('searchform', 'searchform2', 'powersearch', 'search' ); +// if we stopped the service +var os_is_stopped = false; +// max lines to show in suggest table +var os_max_lines_per_suggest = 7; +// number of steps to animate expansion/contraction of container width +var os_animation_steps = 6; +// num of pixels of smallest step +var os_animation_min_step = 2; +// delay between steps (in ms) +var os_animation_delay = 30; +// max width of container in percent of normal size (1 == 100%) +var os_container_max_width = 2; +// currently active animation timer +var os_animation_timer = null; + +/** Timeout timer class that will fetch the results */ +function os_Timer(id,r,query){ + this.id = id; + this.r = r; + this.query = query; +} + +/** Timer user to animate expansion/contraction of container width */ +function os_AnimationTimer(r, target){ + this.r = r; + var current = document.getElementById(r.container).offsetWidth; + this.inc = Math.round((target-current) / os_animation_steps); + if(this.inc < os_animation_min_step && this.inc >=0) + this.inc = os_animation_min_step; // minimal animation step + if(this.inc > -os_animation_min_step && this.inc <0) + this.inc = -os_animation_min_step; + this.target = target; +} + +/** Property class for single search box */ +function os_Results(name, formname){ + this.searchform = formname; // id of the searchform + this.searchbox = name; // id of the searchbox + this.container = name+"Suggest"; // div that holds results + this.resultTable = name+"Result"; // id base for the result table (+num = table row) + this.resultText = name+"ResultText"; // id base for the spans within result tables (+num) + this.toggle = name+"Toggle"; // div that has the toggle (enable/disable) link + this.query = null; // last processed query + this.results = null; // parsed titles + this.resultCount = 0; // number of results + this.original = null; // query that user entered + this.selected = -1; // which result is selected + this.containerCount = 0; // number of results visible in container + this.containerRow = 0; // height of result field in the container + this.containerTotal = 0; // total height of the container will all results + this.visible = false; // if container is visible +} + +/** Hide results div */ +function os_hideResults(r){ + var c = document.getElementById(r.container); + if(c != null) + c.style.visibility = "hidden"; + r.visible = false; + r.selected = -1; +} + +/** Show results div */ +function os_showResults(r){ + if(os_is_stopped) + return; + os_fitContainer(r); + var c = document.getElementById(r.container); + r.selected = -1; + if(c != null){ + c.scrollTop = 0; + c.style.visibility = "visible"; + r.visible = true; + } +} + +function os_operaWidthFix(x){ + // TODO: better css2 incompatibility detection here + if(is_opera || is_khtml || navigator.userAgent.toLowerCase().indexOf('firefox/1')!=-1){ + return 30; // opera&konqueror & old firefox don't understand overflow-x, estimate scrollbar width + } + return 0; +} + +function os_encodeQuery(value){ + if (encodeURIComponent) { + return encodeURIComponent(value); + } + if(escape) { + return escape(value); + } + return null; +} +function os_decodeValue(value){ + if (decodeURIComponent) { + return decodeURIComponent(value); + } + if(unescape){ + return unescape(value); + } + return null; +} + +/** Brower-dependent functions to find window inner size, and scroll status */ +function f_clientWidth() { + return f_filterResults ( + window.innerWidth ? window.innerWidth : 0, + document.documentElement ? document.documentElement.clientWidth : 0, + document.body ? document.body.clientWidth : 0 + ); +} +function f_clientHeight() { + return f_filterResults ( + window.innerHeight ? window.innerHeight : 0, + document.documentElement ? document.documentElement.clientHeight : 0, + document.body ? document.body.clientHeight : 0 + ); +} +function f_scrollLeft() { + return f_filterResults ( + window.pageXOffset ? window.pageXOffset : 0, + document.documentElement ? document.documentElement.scrollLeft : 0, + document.body ? document.body.scrollLeft : 0 + ); +} +function f_scrollTop() { + return f_filterResults ( + window.pageYOffset ? window.pageYOffset : 0, + document.documentElement ? document.documentElement.scrollTop : 0, + document.body ? document.body.scrollTop : 0 + ); +} +function f_filterResults(n_win, n_docel, n_body) { + var n_result = n_win ? n_win : 0; + if (n_docel && (!n_result || (n_result > n_docel))) + n_result = n_docel; + return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result; +} + +/** Get the height available for the results container */ +function os_availableHeight(r){ + var absTop = document.getElementById(r.container).style.top; + var px = absTop.lastIndexOf("px"); + if(px > 0) + absTop = absTop.substring(0,px); + return f_clientHeight() - (absTop - f_scrollTop()); +} + + +/** Get element absolute position {left,top} */ +function os_getElementPosition(elemID){ + var offsetTrail = document.getElementById(elemID); + var offsetLeft = 0; + var offsetTop = 0; + while (offsetTrail){ + offsetLeft += offsetTrail.offsetLeft; + offsetTop += offsetTrail.offsetTop; + offsetTrail = offsetTrail.offsetParent; + } + if (navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != 'undefined'){ + offsetLeft += document.body.leftMargin; + offsetTop += document.body.topMargin; + } + return {left:offsetLeft,top:offsetTop}; +} + +/** Create the container div that will hold the suggested titles */ +function os_createContainer(r){ + var c = document.createElement("div"); + var s = document.getElementById(r.searchbox); + var pos = os_getElementPosition(r.searchbox); + var left = pos.left; + var top = pos.top + s.offsetHeight; + c.className = "os-suggest"; + c.setAttribute("id", r.container); + document.body.appendChild(c); + + // dynamically generated style params + // IE workaround, cannot explicitely set "style" attribute + c = document.getElementById(r.container); + c.style.top = top+"px"; + c.style.left = left+"px"; + c.style.width = s.offsetWidth+"px"; + + // mouse event handlers + c.onmouseover = function(event) { os_eventMouseover(r.searchbox, event); }; + c.onmousemove = function(event) { os_eventMousemove(r.searchbox, event); }; + c.onmousedown = function(event) { return os_eventMousedown(r.searchbox, event); }; + c.onmouseup = function(event) { os_eventMouseup(r.searchbox, event); }; + return c; +} + +/** change container height to fit to screen */ +function os_fitContainer(r){ + var c = document.getElementById(r.container); + var h = os_availableHeight(r) - 20; + var inc = r.containerRow; + h = parseInt(h/inc) * inc; + if(h < (2 * inc) && r.resultCount > 1) // min: two results + h = 2 * inc; + if((h/inc) > os_max_lines_per_suggest ) + h = inc * os_max_lines_per_suggest; + if(h < r.containerTotal){ + c.style.height = h +"px"; + r.containerCount = parseInt(Math.round(h/inc)); + } else{ + c.style.height = r.containerTotal+"px"; + r.containerCount = r.resultCount; + } +} +/** If some entries are longer than the box, replace text with "..." */ +function os_trimResultText(r){ + // find max width, first see if we could expand the container to fit it + var maxW = 0; + for(var i=0;i maxW) + maxW = e.offsetWidth; + } + var w = document.getElementById(r.container).offsetWidth; + var fix = 0; + if(r.containerCount < r.resultCount){ + fix = 20; // give 20px for scrollbar + } else + fix = os_operaWidthFix(w); + if(fix < 4) + fix = 4; // basic padding + maxW += fix; + + // resize container to fit more data if permitted + var normW = document.getElementById(r.searchbox).offsetWidth; + var prop = maxW / normW; + if(prop > os_container_max_width) + prop = os_container_max_width; + else if(prop < 1) + prop = 1; + var newW = Math.round( normW * prop ); + if( w != newW ){ + w = newW; + if( os_animation_timer != null ) + clearInterval(os_animation_timer.id) + os_animation_timer = new os_AnimationTimer(r,w); + os_animation_timer.id = setInterval("os_animateChangeWidth()",os_animation_delay); + w -= fix; // this much is reserved + } + + // trim results + if(w < 10) + return; + for(var i=0;i w && (e.offsetWidth < lastW || iteration<2)){ + changedText = true; + lastW = e.offsetWidth; + var l = e.innerHTML; + e.innerHTML = l.substring(0,l.length-replace)+"..."; + iteration++; + replace = 4; // how many chars to replace + } + if(changedText){ + // show hint for trimmed titles + document.getElementById(r.resultTable+i).setAttribute("title",r.results[i]); + } + } +} + +/** Invoked on timer to animate change in container width */ +function os_animateChangeWidth(){ + var r = os_animation_timer.r; + var c = document.getElementById(r.container); + var w = c.offsetWidth; + var normW = document.getElementById(r.searchbox).offsetWidth; + var normL = os_getElementPosition(r.searchbox).left; + var inc = os_animation_timer.inc; + var target = os_animation_timer.target; + var nw = w + inc; + if( (inc > 0 && nw >= target) || (inc <= 0 && nw <= target) ){ + // finished ! + c.style.width = target+"px"; + clearInterval(os_animation_timer.id) + os_animation_timer = null; + } else{ + // in-progress + c.style.width = nw+"px"; + if(document.documentElement.dir == "rtl") + c.style.left = (normL + normW + (target - nw) - os_animation_timer.target - 1)+"px"; + } +} + +/** Handles data from XMLHttpRequest, and updates the suggest results */ +function os_updateResults(r, query, text, cacheKey){ + os_cache[cacheKey] = text; + r.query = query; + r.original = query; + if(text == ""){ + r.results = null; + r.resultCount = 0; + os_hideResults(r); + } else{ + try { + var p = eval('('+text+')'); // simple json parse, could do a safer one + if(p.length<2 || p[1].length == 0){ + r.results = null; + r.resultCount = 0; + os_hideResults(r); + return; + } + var c = document.getElementById(r.container); + if(c == null) + c = os_createContainer(r); + c.innerHTML = os_createResultTable(r,p[1]); + // init container table sizes + var t = document.getElementById(r.resultTable); + r.containerTotal = t.offsetHeight; + r.containerRow = t.offsetHeight / r.resultCount; + os_fitContainer(r); + os_trimResultText(r); + os_showResults(r); + } catch(e){ + // bad response from server or such + os_hideResults(r); + os_cache[cacheKey] = null; + } + } +} + +/** Create the result table to be placed in the container div */ +function os_createResultTable(r, results){ + var c = document.getElementById(r.container); + var width = c.offsetWidth - os_operaWidthFix(c.offsetWidth); + var html = ""; + r.results = new Array(); + r.resultCount = results.length; + for(i=0;i"+title+""; + } + html+="
" + return html; +} + +/** Fetch namespaces from checkboxes or hidden fields in the search form, + if none defined use wgSearchNamespaces global */ +function os_getNamespaces(r){ + var namespaces = ""; + var elements = document.forms[r.searchform].elements; + for(i=0; i < elements.length; i++){ + var name = elements[i].name; + if(typeof name != 'undefined' && name.length > 2 + && name[0]=='n' && name[1]=='s' + && ((elements[i].type=='checkbox' && elements[i].checked) + || (elements[i].type=='hidden' && elements[i].value=="1")) ){ + if(namespaces!="") + namespaces+="|"; + namespaces+=name.substring(2); + } + } + if(namespaces == "") + namespaces = wgSearchNamespaces.join("|"); + return namespaces; +} + +/** Update results if user hasn't already typed something else */ +function os_updateIfRelevant(r, query, text, cacheKey){ + var t = document.getElementById(r.searchbox); + if(t != null && t.value == query){ // check if response is still relevant + os_updateResults(r, query, text, cacheKey); + } + r.query = query; +} + +/** Fetch results after some timeout */ +function os_delayedFetch(){ + if(os_timer == null) + return; + var r = os_timer.r; + var query = os_timer.query; + os_timer = null; + var path = wgMWSuggestTemplate.replace("{namespaces}",os_getNamespaces(r)) + .replace("{dbname}",wgDBname) + .replace("{searchTerms}",os_encodeQuery(query)); + + // try to get from cache, if not fetch using ajax + var cached = os_cache[path]; + if(cached != null){ + os_updateIfRelevant(r, query, cached, path); + } else{ + var xmlhttp = sajax_init_object(); + if(xmlhttp){ + try { + xmlhttp.open("GET", path, true); + xmlhttp.onreadystatechange=function(){ + if (xmlhttp.readyState==4 && typeof os_updateIfRelevant == 'function') { + os_updateIfRelevant(r, query, xmlhttp.responseText, path); + } + }; + xmlhttp.send(null); + } catch (e) { + if (window.location.hostname == "localhost") { + alert("Your browser blocks XMLHttpRequest to 'localhost', try using a real hostname for development/testing."); + } + throw e; + } + } + } +} + +/** Init timed update via os_delayedUpdate() */ +function os_fetchResults(r, query, timeout){ + if(query == ""){ + os_hideResults(r); + return; + } else if(query == r.query) + return; // no change + + os_is_stopped = false; // make sure we're running + + /* var cacheKey = wgDBname+":"+query; + var cached = os_cache[cacheKey]; + if(cached != null){ + os_updateResults(r,wgDBname,query,cached); + return; + } */ + + // cancel any pending fetches + if(os_timer != null && os_timer.id != null) + clearTimeout(os_timer.id); + // schedule delayed fetching of results + if(timeout != 0){ + os_timer = new os_Timer(setTimeout("os_delayedFetch()",timeout),r,query); + } else{ + os_timer = new os_Timer(null,r,query); + os_delayedFetch(); // do it now! + } + +} +/** Change the highlighted row (i.e. suggestion), from position cur to next */ +function os_changeHighlight(r, cur, next, updateSearchBox){ + if (next >= r.resultCount) + next = r.resultCount-1; + if (next < -1) + next = -1; + r.selected = next; + if (cur == next) + return; // nothing to do. + + if(cur >= 0){ + var curRow = document.getElementById(r.resultTable + cur); + if(curRow != null) + curRow.className = "os-suggest-result"; + } + var newText; + if(next >= 0){ + var nextRow = document.getElementById(r.resultTable + next); + if(nextRow != null) + nextRow.className = os_HighlightClass(); + newText = r.results[next]; + } else + newText = r.original; + + // adjust the scrollbar if any + if(r.containerCount < r.resultCount){ + var c = document.getElementById(r.container); + var vStart = c.scrollTop / r.containerRow; + var vEnd = vStart + r.containerCount; + if(next < vStart) + c.scrollTop = next * r.containerRow; + else if(next >= vEnd) + c.scrollTop = (next - r.containerCount + 1) * r.containerRow; + } + + // update the contents of the search box + if(updateSearchBox){ + os_updateSearchQuery(r,newText); + } +} + +function os_HighlightClass() { + var match = navigator.userAgent.match(/AppleWebKit\/(\d+)/); + if (match) { + var webKitVersion = parseInt(match[1]); + if (webKitVersion < 523) { + // CSS system highlight colors broken on old Safari + // https://bugs.webkit.org/show_bug.cgi?id=6129 + // Safari 3.0.4, 3.1 known ok + return "os-suggest-result-hl-webkit"; + } + } + return "os-suggest-result-hl"; +} + +function os_updateSearchQuery(r,newText){ + document.getElementById(r.searchbox).value = newText; + r.query = newText; +} + +/** Find event target */ +function os_getTarget(e){ + if (!e) e = window.event; + if (e.target) return e.target; + else if (e.srcElement) return e.srcElement; + else return null; +} + + + +/******************** + * Keyboard events + ********************/ + +/** Event handler that will fetch results on keyup */ +function os_eventKeyup(e){ + var targ = os_getTarget(e); + var r = os_map[targ.id]; + if(r == null) + return; // not our event + + // some browsers won't generate keypressed for arrow keys, catch it + if(os_keypressed_count == 0){ + os_processKey(r,os_cur_keypressed,targ); + } + var query = targ.value; + os_fetchResults(r,query,os_search_timeout); +} + +/** catch arrows up/down and escape to hide the suggestions */ +function os_processKey(r,keypressed,targ){ + if (keypressed == 40){ // Arrow Down + if (r.visible) { + os_changeHighlight(r, r.selected, r.selected+1, true); + } else if(os_timer == null){ + // user wants to get suggestions now + r.query = ""; + os_fetchResults(r,targ.value,0); + } + } else if (keypressed == 38){ // Arrow Up + if (r.visible){ + os_changeHighlight(r, r.selected, r.selected-1, true); + } + } else if(keypressed == 27){ // Escape + document.getElementById(r.searchbox).value = r.original; + r.query = r.original; + os_hideResults(r); + } else if(r.query != document.getElementById(r.searchbox).value){ + // os_hideResults(r); // don't show old suggestions + } +} + +/** When keys is held down use a timer to output regular events */ +function os_eventKeypress(e){ + var targ = os_getTarget(e); + var r = os_map[targ.id]; + if(r == null) + return; // not our event + + var keypressed = os_cur_keypressed; + if(keypressed == 38 || keypressed == 40){ + var d = new Date() + var now = d.getTime(); + if(now - os_last_keypress < 120){ + os_last_keypress = now; + return; + } + } + + os_keypressed_count++; + os_processKey(r,keypressed,targ); +} + +/** Catch the key code (Firefox bug) */ +function os_eventKeydown(e){ + if (!e) e = window.event; + var targ = os_getTarget(e); + var r = os_map[targ.id]; + if(r == null) + return; // not our event + + os_mouse_moved = false; + + os_cur_keypressed = (e.keyCode == undefined) ? e.which : e.keyCode; + os_last_keypress = 0; + os_keypressed_count = 0; +} + +/** Event: loss of focus of input box */ +function os_eventBlur(e){ + var targ = os_getTarget(e); + var r = os_map[targ.id]; + if(r == null) + return; // not our event + if(!os_mouse_pressed) + os_hideResults(r); +} + +/** Event: focus (catch only when stopped) */ +function os_eventFocus(e){ + // nothing happens here? +} + + + +/******************** + * Mouse events + ********************/ + +/** Mouse over the container */ +function os_eventMouseover(srcId, e){ + var targ = os_getTarget(e); + var r = os_map[srcId]; + if(r == null || !os_mouse_moved) + return; // not our event + var num = os_getNumberSuffix(targ.id); + if(num >= 0) + os_changeHighlight(r,r.selected,num,false); + +} + +/* Get row where the event occured (from its id) */ +function os_getNumberSuffix(id){ + var num = id.substring(id.length-2); + if( ! (num.charAt(0) >= '0' && num.charAt(0) <= '9') ) + num = num.substring(1); + if(os_isNumber(num)) + return parseInt(num); + else + return -1; +} + +/** Save mouse move as last action */ +function os_eventMousemove(srcId, e){ + os_mouse_moved = true; +} + +/** Mouse button held down, register possible click */ +function os_eventMousedown(srcId, e){ + var targ = os_getTarget(e); + var r = os_map[srcId]; + if(r == null) + return; // not our event + var num = os_getNumberSuffix(targ.id); + + os_mouse_pressed = true; + if(num >= 0){ + os_mouse_num = num; + // os_updateSearchQuery(r,r.results[num]); + } + // keep the focus on the search field + document.getElementById(r.searchbox).focus(); + + return false; // prevents selection +} + +/** Mouse button released, check for click on some row */ +function os_eventMouseup(srcId, e){ + var targ = os_getTarget(e); + var r = os_map[srcId]; + if(r == null) + return; // not our event + var num = os_getNumberSuffix(targ.id); + + if(num >= 0 && os_mouse_num == num){ + os_updateSearchQuery(r,r.results[num]); + os_hideResults(r); + document.getElementById(r.searchform).submit(); + } + os_mouse_pressed = false; + // keep the focus on the search field + document.getElementById(r.searchbox).focus(); +} + +/** Check if x is a valid integer */ +function os_isNumber(x){ + if(x == "" || isNaN(x)) + return false; + for(var i=0;i= '0' && c <= '9') ) + return false; + } + return true; +} + + +/** When the form is submitted hide everything, cancel updates... */ +function os_eventOnsubmit(e){ + var targ = os_getTarget(e); + + os_is_stopped = true; + // kill timed requests + if(os_timer != null && os_timer.id != null){ + clearTimeout(os_timer.id); + os_timer = null; + } + // Hide all suggestions + for(i=0;i to make sure the editsection links scale right */ + +h1 { font-size: 2em; } +h2 { font-size: 1.5em; } +h3 { font-size: 1.17em; } +h5 { font-size: .83em; } +h6 { font-size: .75em; } +h1, h2, h3, h4, h5, h6 { font-weight: bolder } + +/* Now the custom parts */ + +/* Make edit sections (which are inside h# tags) normal-sized */ +.editsection { + font-weight: normal; +} +h1 .editsection { font-size: 50% } +h2 .editsection { font-size: 66.7% } +h3 .editsection { font-size: 85.5% } +h5 .editsection { font-size: 120% } +h6 .editsection { font-size: 133% } + +#footer { clear: both } +/* images */ +div.floatright { float: right; clear: right; margin: 0 0 1em 1em; } +div.floatright p { font-style: italic; } +div.floatleft { float: left; clear: left; margin: 0.3em 0.5em 0.5em 0; } +div.floatleft p { font-style: italic; } + + +/* Print-specific things to hide */ +.printfooter { + display: none; +} + +/* table standards */ +table.rimage { + float:right; + margin-left:1em; + margin-bottom:1em; + text-align:center; + font-size:smaller; +} + +/* thumbnails */ +div.thumb { + margin-bottom: .5em; + border-style: solid; + border-color: white; + width: auto; +} +div.thumbinner { + border: 1px solid #ccc; + padding: 3px !important; + background-color: #f9f9f9; + font-size: 94%; + text-align: center; + overflow: hidden; +} +html .thumbimage { + border: 1px solid #ccc; +} +html .thumbcaption { + border: none; + text-align: left; + line-height: 1.4em; + padding: 3px !important; + font-size: 94%; +} +div.magnify { + float: right; + border: none !important; + background: none !important; +} +div.magnify a, div.magnify img { + display: block; + border: none !important; + background: none !important; +} +div.tright { + clear: right; + float: right; + border-width: .5em 0 .8em 1.4em; +} +div.tleft { + float: left; + clear: left; + margin-right: .5em; + border-width: .5em 1.4em .8em 0; +} +img.thumbborder { + border: 1px solid #dddddd; +} + +/* Page history styling */ +/* the auto-generated edit comments */ +.autocomment { color: #4b4b4b; } + +img { border: none; } + +#toc, +.toc { + border: 1px solid #bba; + background-color: #f7f8ff; + padding: 5px; + font-size: 95%; + text-align: center; +} +#toc h2, +.toc h2 { + display: inline; + border: none; + padding: 0; + font-size: 100%; + font-weight: bold; +} +#toc ul, +.toc ul { + list-style-type: none; + list-style-image: none; + margin-left: 0; + padding-left: 0; + text-align: left; +} +#toc ul ul, +.toc ul ul { + margin: 0 0 0 2em; +} +#toc .toctoggle, +.toc .toctoggle { + font-size: 94%; +} + + +.error { + color: red; + font-size: larger; +} + +/* preference page with js-genrated toc */ +#preftoc { + float: left; + margin: 1em 1em 1em 1em; + width: 13em; +} +#preftoc li { border: 1px solid White; } +#preftoc li.selected { + background-color:#f9f9f9; + border:1px dashed #aaaaaa; +} +#preftoc a, +#preftoc a:active { + display: block; + color: #005189; +} +#prefcontrol { + clear: left; + float: left; + margin-top: 1em; +} +div.prefsectiontip { + font-size: 94%; + margin-top: 0.4em; + color: #666; +} +fieldset.prefsection { margin-top: 1em } +fieldset.operaprefsection { margin-left: 15em } + +/* emulate center */ +.center { + width: 100%; + text-align: center; +} +*.center * { + margin-left: auto; + margin-right: auto; +} +/* small for tables and similar */ +.small, .small * { font-size: 94%; } +table.small { font-size: 100% } + +/* use this instead of #toc for page content */ +.toccolours { + border:1px solid #aaaaaa; + background-color:#f9f9f9; + padding:5px; + font-size: 95%; +} +#siteNotice { + border:1px solid #aaaaaa; + padding-left: 0.5em; + padding-right: 0.5em; +} +.redirectText { + font-size:150%; + margin:5px; +} +.sharedUploadNotice { + font-style: italic; +} +span.unpatrolled { + font-weight:bold; + color:red; +} + +span.updatedmarker { + color:black; + background-color:#00FF00; +} + +table.gallery { + border: 1px solid #cccccc; + margin: 2px; + padding: 2px; + background-color:#ffffff; +} + +table.gallery tr { + vertical-align:top; +} + +table.gallery td { + vertical-align:top; + background-color:#f9f9f9; + border: solid 2px white; +} + +div.gallerybox { + margin: 2px; + width: 150px; +} + +div.gallerybox div.thumb { + text-align: center; + border: 1px solid #cccccc; + margin: 2px; +} + +div.gallerytext { + overflow: hidden; + font-size: 94%; + padding: 2px 4px; +} + +span.comment { + font-style: italic; +} + +span.changedby { + font-size: 95%; +} + +.previewnote { + text-align: center; + color: #cc0000; +} +.editExternally { + border-style:solid; + border-width:1px; + border-color:gray; + background: #ffffff; + padding:3px; + margin-top:0.5em; + float:left; + font-size:small; + text-align:center; +} +.editExternallyHelp { + font-style:italic; + color:gray; +} + +li span.deleted { + text-decoration: line-through; + color: #888; + font-style: italic; +} + +/* Classes for EXIF data display */ +table.mw_metadata { + margin-left: 0.5em; +} + +table.mw_metadata caption { font-weight: bold; } +table.mw_metadata th { font-weight: normal; } +table.mw_metadata td { padding: 0.1em; } + +table.mw_metadata { + border: none; + border-collapse: collapse; +} +table.mw_metadata td, table.mw_metadata th { + border: 1px solid #aaaaaa; + padding-left: 4px; + padding-right: 4px; +} +table.mw_metadata th { + background-color: #f9f9f9; +} +table.mw_metadata td { + background-color: #fcfcfc; +} +table.mw_metadata td.spacer { + background: inherit; + border-top: none; + border-bottom: none; +} +table.collapsed tr.collapsable { + display: none; +} + +.visualClear { + clear: both; +} + +#mw_trackbacks { + border: solid 1px #bbbbff; + background-color: #eeeeff; + padding: 0.2em; +} + +/* Allmessages table */ + +#allmessagestable th { + background-color: #b2b2ff; +} + +#allmessagestable tr.orig { + background-color: #ffe2e2; +} + +#allmessagestable tr.new { + background-color: #e2ffe2; +} + +#allmessagestable tr.def { + background-color: #f0f0ff; +} + +#jump-to-nav { + display: none; +} + +/* Keep this temporarily so that cached pages will display right */ +table.gallery td.galleryheader { + text-align: center; + font-weight: bold; +} +table.gallery caption { + font-weight: bold; +} + +div.multipageimagenavbox { + border: solid 1px silver; + padding: 4px; + margin: 1em; + background: #f0f0f0; +} + +div.multipageimagenavbox div.thumb { + border: none; + margin-left: 2em; + margin-right: 2em; +} + +div.multipageimagenavbox hr { + margin: 6px; +} + +table.multipageimage td { + text-align: center; +} + +/* + Table pager (e.g. Special:Imagelist) + - remove underlines from the navigation link + - collapse borders + - set the borders to outsets (similar to Special:Allmessages) + - remove line wrapping for all td and th, set background color + - restore line wrapping for the last two table cells (description and size) +*/ +.TablePager_nav a { text-decoration: none; } +.TablePager { border-collapse: collapse; } +.TablePager, .TablePager td, .TablePager th { + border: 0.15em solid #777777; + padding: 0 0.15em 0 0.15em; +} +.TablePager th { background-color: #eeeeff } +.TablePager td { background-color: #ffffff } +.TablePager tr:hover td { background-color: #eeeeff } + +.imagelist td, .imagelist th { white-space: nowrap } +.imagelist .TablePager_col_links { background-color: #eeeeff } +.imagelist .TablePager_col_img_description { white-space: normal } +.imagelist th.TablePager_sort { background-color: #ccccff } + +.templatesUsed { margin-top: 1em; } + +.MediaTransformError { + border: thin solid #777; + background-color: #ccc; + padding: 0.1em; +} +.MediaTransformError td { + text-align: center; + vertical-align: middle; + font-size: 90%; +} + +form#specialpages { + display: inline; +} diff --git a/skins/common/prefs.js b/skins/common/prefs.js new file mode 100644 index 00000000..c2554c00 --- /dev/null +++ b/skins/common/prefs.js @@ -0,0 +1,164 @@ + +// generate toc from prefs form, fold sections +// XXX: needs testing on IE/Mac and safari +// more comments to follow +function tabbedprefs() { + var prefform = document.getElementById('preferences'); + if (!prefform || !document.createElement) { + return; + } + if (prefform.nodeName.toLowerCase() == 'a') { + return; // Occasional IE problem + } + prefform.className = prefform.className + 'jsprefs'; + var sections = []; + var children = prefform.childNodes; + var seci = 0; + for (var i = 0; i < children.length; i++) { + if (children[i].nodeName.toLowerCase() == 'fieldset') { + children[i].id = 'prefsection-' + seci; + children[i].className = 'prefsection'; + if (is_opera || is_khtml) { + children[i].className = 'prefsection operaprefsection'; + } + var legends = children[i].getElementsByTagName('legend'); + sections[seci] = {}; + if (legends[0]) legends[0].className = 'mainLegend'; + if (legends[0] && legends[0].firstChild.nodeValue) { + sections[seci].text = legends[0].firstChild.nodeValue; + } else { + sections[seci].text = '# ' + seci; + } + sections[seci].secid = children[i].id; + seci++; + if (sections.length != 1) { + children[i].style.display = 'none'; + } else { + var selectedid = children[i].id; + } + } + } + var toc = document.createElement('ul'); + toc.id = 'preftoc'; + toc.selectedid = selectedid; + for (i = 0; i < sections.length; i++) { + var li = document.createElement('li'); + if (i === 0) { + li.className = 'selected'; + } + var a = document.createElement('a'); + a.href = '#' + sections[i].secid; + a.onmousedown = a.onclick = uncoversection; + a.appendChild(document.createTextNode(sections[i].text)); + a.secid = sections[i].secid; + li.appendChild(a); + toc.appendChild(li); + } + prefform.parentNode.insertBefore(toc, prefform.parentNode.childNodes[0]); + document.getElementById('prefsubmit').id = 'prefcontrol'; +} + +function uncoversection() { + var oldsecid = this.parentNode.parentNode.selectedid; + var newsec = document.getElementById(this.secid); + if (oldsecid != this.secid) { + var ul = document.getElementById('preftoc'); + document.getElementById(oldsecid).style.display = 'none'; + newsec.style.display = 'block'; + ul.selectedid = this.secid; + var lis = ul.getElementsByTagName('li'); + for (var i = 0; i< lis.length; i++) { + lis[i].className = ''; + } + this.parentNode.className = 'selected'; + } + return false; +} + +// Timezone stuff +// tz in format [+-]HHMM +function checkTimezone(tz, msg) { + var localclock = new Date(); + // returns negative offset from GMT in minutes + var tzRaw = localclock.getTimezoneOffset(); + var tzHour = Math.floor( Math.abs(tzRaw) / 60); + var tzMin = Math.abs(tzRaw) % 60; + var tzString = ((tzRaw >= 0) ? "-" : "+") + ((tzHour < 10) ? "0" : "") + tzHour + ((tzMin < 10) ? "0" : "") + tzMin; + if (tz != tzString) { + var junk = msg.split('$1'); + document.write(junk[0] + "UTC" + tzString + junk[1]); + } +} + +function unhidetzbutton() { + var tzb = document.getElementById('guesstimezonebutton'); + if (tzb) { + tzb.style.display = 'inline'; + } + updateTimezoneSelection(false); +} + +// in [-]HH:MM format... +// won't yet work with non-even tzs +function fetchTimezone() { + // FIXME: work around Safari bug + var localclock = new Date(); + // returns negative offset from GMT in minutes + var tzRaw = localclock.getTimezoneOffset(); + var tzHour = Math.floor( Math.abs(tzRaw) / 60); + var tzMin = Math.abs(tzRaw) % 60; + var tzString = ((tzRaw >= 0) ? "-" : "") + ((tzHour < 10) ? "0" : "") + tzHour + + ":" + ((tzMin < 10) ? "0" : "") + tzMin; + return tzString; +} + +function guessTimezone(box) { + document.getElementsByName("wpHourDiff")[0].value = fetchTimezone(); + updateTimezoneSelection(true); +} + +function updateTimezoneSelection(force_offset) { + var wpTimeZone = document.getElementsByName("wpTimeZone")[0]; + var wpHourDiff = document.getElementsByName("wpHourDiff")[0]; + var wpLocalTime = document.getElementById("wpLocalTime"); + var wpServerTime = document.getElementsByName("wpServerTime")[0]; + var minDiff = 0; + + if (force_offset) wpTimeZone.selectedIndex = 1; + if (wpTimeZone.selectedIndex == 1) { + wpHourDiff.disabled = false; + var diffArr = wpHourDiff.value.split(':'); + if (diffArr.length == 1) { + minDiff = parseInt(diffArr[0], 10) * 60; + } else { + minDiff = Math.abs(parseInt(diffArr[0], 10))*60 + parseInt(diffArr[1], 10); + if (parseInt(diffArr[0], 10) < 0) minDiff = -minDiff; + } + } else { + wpHourDiff.disabled = true; + var diffArr = wpTimeZone.options[wpTimeZone.selectedIndex].value.split('|'); + minDiff = parseInt(diffArr[1], 10); + } + if (isNaN(minDiff)) minDiff = 0; + var localTime = parseInt(wpServerTime.value, 10) + minDiff; + while (localTime < 0) localTime += 1440; + while (localTime >= 1440) localTime -= 1440; + + var hour = String(Math.floor(localTime/60)); + if (hour.length<2) hour = '0'+hour; + var min = String(localTime%60); + if (min.length<2) min = '0'+min; + changeText(wpLocalTime, hour+':'+min); + + if (wpTimeZone.selectedIndex != 1) { + hour = String(Math.abs(Math.floor(minDiff/60))); + if (hour.length<2) hour = '0'+hour; + if (minDiff < 0) hour = '-'+hour; + min = String(minDiff%60); + if (min.length<2) min = '0'+min; + wpHourDiff.value = hour+':'+min; + } +} + +hookEvent("load", unhidetzbutton); +hookEvent("load", tabbedprefs); diff --git a/skins/common/preview.js b/skins/common/preview.js new file mode 100644 index 00000000..faf611f0 --- /dev/null +++ b/skins/common/preview.js @@ -0,0 +1,175 @@ +/** + * Live preview script for MediaWiki + * + * 2007-04-25 – Nikerabbit: + * Worked around text cutoff in mozilla-based browsers + * Support for categories + */ + + +lpIdPreview = 'wikiPreview'; +lpIdCategories = 'catlinks'; +lpIdDiff = 'wikiDiff'; + +/* + * Returns XMLHttpRequest based on browser support or null + */ +function openXMLHttpRequest() { + if( window.XMLHttpRequest ) { + return new XMLHttpRequest(); + } else if( window.ActiveXObject && navigator.platform != 'MacPPC' ) { + // IE/Mac has an ActiveXObject but it doesn't work. + return new ActiveXObject("Microsoft.XMLHTTP"); + } else { + return null; + } +} + +/** + * Returns true if could open the request, + * false otherwise (eg no browser support). + */ +function lpDoPreview(text, postUrl) { + lpRequest = openXMLHttpRequest(); + if( !lpRequest ) return false; + + lpRequest.onreadystatechange = lpStatusUpdate; + lpRequest.open("POST", postUrl, true); + + var postData = 'wpTextbox1=' + encodeURIComponent(text); + lpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); + lpRequest.send(postData); + return true; +} + +function lpStatusUpdate() { + + /* We are at some stage of loading */ + if (lpRequest.readyState > 0 && lpRequest.readyState < 4) { + notify(i18n(wgLivepreviewMessageLoading)); + } + + /* Not loaded yet */ + if(lpRequest.readyState != 4) { + return; + } + + /* We got response, bug it not what we wanted */ + if( lpRequest.status != 200 ) { + var keys = new Array(); + keys[0] = lpRequest.status; + keys[1] = lpRequest.statusText; + window.alert(i18n(wgLivepreviewMessageError, keys)); + lpShowNormalPreview(); + return; + } + + /* All good */ + dismissNotify(i18n(wgLivepreviewMessageReady), 750); + + + var XMLObject = lpRequest.responseXML.documentElement; + + + /* Work around Firefox (Gecko?) limitation where it shows only the first 4096 + * bytes of data. Ref: http://www.thescripts.com/forum/thread482760.html + */ + XMLObject.normalize(); + + var previewElement = XMLObject.getElementsByTagName('preview')[0]; + var categoryElement = XMLObject.getElementsByTagName('category')[0]; + + /* Hide the active diff if it exists */ + var diff = document.getElementById(lpIdDiff); + if ( diff ) { diff.style.display = 'none'; } + + /* Inject preview */ + var previewContainer = document.getElementById( lpIdPreview ); + if ( previewContainer && previewElement ) { + previewContainer.innerHTML = previewElement.firstChild.data; + previewContainer.style.display = 'block'; + } else { + /* Should never happen */ + window.alert(i18n(wgLivepreviewMessageFailed)); + lpShowNormalPreview(); + return; + } + + + /* Inject categories */ + var categoryContainer = document.getElementById( lpIdCategories ); + if ( categoryElement && categoryElement.firstChild ) { + if ( categoryContainer ) { + categoryContainer.innerHTML = categoryElement.firstChild.data; + /* May be hidden */ + categoryContainer.style.display = 'block'; + } else { + /* Just dump them somewhere */ + /* previewContainer.innerHTML += categoryElement.firstChild.data;*/ + } + } else { + /* Nothing to show, hide old data */ + if ( categoryContainer ) { + categoryContainer.style.display = 'none'; + } + } + +} + +function lpShowNormalPreview() { + var fallback = document.getElementById('wpPreview'); + if ( fallback ) { fallback.style.display = 'inline'; } +} + + +// TODO: move elsewhere +/* Small non-intrusive popup which can be used for example to notify the user + * about completed AJAX action. Supports only one notify at a time. + */ +function notify(message) { + var notifyElement = document.getElementById('mw-js-notify'); + if ( !notifyElement ) { + createNotify(); + var notifyElement = document.getElementById('mw-js-notify'); + } + notifyElement.style.display = 'block'; + notifyElement.innerHTML = message; +} + +function dismissNotify(message, timeout) { + var notifyElement = document.getElementById('mw-js-notify'); + if ( notifyElement ) { + if ( timeout == 0 ) { + notifyElement.style.display = 'none'; + } else { + notify(message); + setTimeout("dismissNotify('', 0)", timeout); + } + } +} + +function createNotify() { + var div = document.createElement("div"); + var txt = '###PLACEHOLDER###' + var txtNode = document.createTextNode(txt); + div.appendChild(txtNode); + div.id = 'mw-js-notify'; + // TODO: move styles to css + div.setAttribute('style', + 'display: none; position: fixed; bottom: 0px; right: 0px; color: white; background-color: DarkRed; z-index: 5; padding: 0.1em 1em 0.1em 1em; font-size: 120%;'); + var body = document.getElementsByTagName('body')[0]; + body.appendChild(div); +} + + + +/* Helper function similar to wfMsgReplaceArgs() */ +function i18n(message, keys) { + var localMessage = message; + if ( !keys ) { return localMessage; } + for( var i = 0; i < keys.length; i++) { + var myregexp = new RegExp("\\$"+(i+1), 'g'); + localMessage = localMessage.replace(myregexp, keys[i]); + } + return localMessage; +} \ No newline at end of file diff --git a/skins/common/protect.js b/skins/common/protect.js new file mode 100644 index 00000000..d9650c82 --- /dev/null +++ b/skins/common/protect.js @@ -0,0 +1,351 @@ + +var ProtectionForm = { + 'existingMatch': false, + + /** + * Set up the protection chaining interface (i.e. "unlock move permissions" checkbox) + * on the protection form + * + * @param Object opts : parameters with members: + * tableId Identifier of the table containing UI bits + * labelText Text to use for the checkbox label + * numTypes The number of protection types + * existingMatch True if all the existing expiry times match + */ + 'init': function( opts ) { + if( !( document.createTextNode && document.getElementById && document.getElementsByTagName ) ) + return false; + + var box = document.getElementById( opts.tableId ); + if( !box ) + return false; + + var boxbody = box.getElementsByTagName('tbody')[0] + var row = document.createElement( 'tr' ); + boxbody.insertBefore( row, boxbody.firstChild ); + + this.existingMatch = opts.existingMatch; + + var cell = document.createElement( 'td' ); + row.appendChild( cell ); + // If there is only one protection type, there is nothing to chain + if( opts.numTypes > 1 ) { + var check = document.createElement( 'input' ); + check.id = 'mwProtectUnchained'; + check.type = 'checkbox'; + cell.appendChild( check ); + addClickHandler( check, function() { ProtectionForm.onChainClick(); } ); + + cell.appendChild( document.createTextNode( ' ' ) ); + var label = document.createElement( 'label' ); + label.htmlFor = 'mwProtectUnchained'; + label.appendChild( document.createTextNode( opts.labelText ) ); + cell.appendChild( label ); + + check.checked = !this.areAllTypesMatching(); + this.enableUnchainedInputs( check.checked ); + } + + this.updateCascadeCheckbox(); + + return true; + }, + + /** + * Sets the disabled attribute on the cascade checkbox depending on the current selected levels + */ + 'updateCascadeCheckbox': function() { + // For non-existent titles, there is no cascade option + if( !document.getElementById( 'mwProtect-cascade' ) ) { + return; + } + var lists = this.getLevelSelectors(); + for( var i = 0; i < lists.length; i++ ) { + if( lists[i].selectedIndex > -1 ) { + var items = lists[i].getElementsByTagName( 'option' ); + var selected = items[ lists[i].selectedIndex ].value; + if( !this.isCascadeableLevel(selected) ) { + document.getElementById( 'mwProtect-cascade' ).checked = false; + document.getElementById( 'mwProtect-cascade' ).disabled = true; + return; + } + } + } + document.getElementById( 'mwProtect-cascade' ).disabled = false; + }, + + /** + * Is this protection level cascadeable? + * @param String level + * + * @return boolean + * + */ + 'isCascadeableLevel': function( level ) { + for (var k = 0; k < wgCascadeableLevels.length; k++) { + if ( wgCascadeableLevels[k] == level ) { + return true; + } + } + return false; + }, + + /** + * When protection levels are locked together, update the rest + * when one action's level changes + * + * @param Element source Level selector that changed + */ + 'updateLevels': function(source) { + if( !this.isUnchained() ) + this.setAllSelectors( source.selectedIndex ); + this.updateCascadeCheckbox(); + }, + + /** + * When protection levels are locked together, update the + * expiries when one changes + * + * @param Element source expiry input that changed + */ + + 'updateExpiry': function(source) { + if( !this.isUnchained() ) { + var expiry = source.value; + this.forEachExpiryInput(function(element) { + element.value = expiry; + }); + } + var listId = source.id.replace( /^mwProtect-(\w+)-expires$/, 'mwProtectExpirySelection-$1' ); + var list = document.getElementById( listId ); + if (list && list.value != 'othertime' ) { + if ( this.isUnchained() ) { + list.value = 'othertime'; + } else { + this.forEachExpirySelector(function(element) { + element.value = 'othertime'; + }); + } + } + }, + + /** + * When protection levels are locked together, update the + * expiry lists when one changes and clear the custom inputs + * + * @param Element source expiry selector that changed + */ + 'updateExpiryList': function(source) { + if( !this.isUnchained() ) { + var expiry = source.value; + this.forEachExpirySelector(function(element) { + element.value = expiry; + }); + this.forEachExpiryInput(function(element) { + element.value = ''; + }); + } + }, + + /** + * Update chain status and enable/disable various bits of the UI + * when the user changes the "unlock move permissions" checkbox + */ + 'onChainClick': function() { + if( this.isUnchained() ) { + this.enableUnchainedInputs( true ); + } else { + this.setAllSelectors( this.getMaxLevel() ); + this.enableUnchainedInputs( false ); + } + this.updateCascadeCheckbox(); + }, + + /** + * Returns true if the named attribute in all objects in the given array are matching + */ + 'matchAttribute' : function( objects, attrName ) { + var value = null; + + // Check levels + for ( var i = 0; i < objects.length; i++ ) { + var element = objects[i]; + if ( value == null ) { + value = element[attrName]; + } else { + if ( value != element[attrName] ) { + return false; + } + } + } + return true; + }, + + /** + * Are all actions protected at the same level, with the same expiry time? + * + * @return boolean + */ + 'areAllTypesMatching': function() { + return this.existingMatch + && this.matchAttribute( this.getLevelSelectors(), 'selectedIndex' ) + && this.matchAttribute( this.getExpirySelectors(), 'selectedIndex' ) + && this.matchAttribute( this.getExpiryInputs(), 'value' ); + }, + + /** + * Is protection chaining off? + * + * @return bool + */ + 'isUnchained': function() { + var element = document.getElementById( 'mwProtectUnchained' ); + return element + ? element.checked + : true; // No control, so we need to let the user set both levels + }, + + /** + * Find the highest protection level in any selector + */ + 'getMaxLevel': function() { + var maxIndex = -1; + this.forEachLevelSelector(function(element) { + if (element.selectedIndex > maxIndex) { + maxIndex = element.selectedIndex; + } + }); + return maxIndex; + }, + + /** + * Protect all actions at the specified level + * + * @param int index Protection level + */ + 'setAllSelectors': function(index) { + this.forEachLevelSelector(function(element) { + if (element.selectedIndex != index) { + element.selectedIndex = index; + } + }); + }, + + /** + * Apply a callback to each protection selector + * + * @param callable func Callback function + */ + 'forEachLevelSelector': function(func) { + var selectors = this.getLevelSelectors(); + for (var i = 0; i < selectors.length; i++) { + func(selectors[i]); + } + }, + + /** + * Get a list of all protection selectors on the page + * + * @return Array + */ + 'getLevelSelectors': function() { + var all = document.getElementsByTagName("select"); + var ours = new Array(); + for (var i = 0; i < all.length; i++) { + var element = all[i]; + if (element.id.match(/^mwProtect-level-/)) { + ours[ours.length] = element; + } + } + return ours; + }, + + /** + * Apply a callback to each expiry input + * + * @param callable func Callback function + */ + 'forEachExpiryInput': function(func) { + var inputs = this.getExpiryInputs(); + for (var i = 0; i < inputs.length; i++) { + func(inputs[i]); + } + }, + + /** + * Get a list of all expiry inputs on the page + * + * @return Array + */ + 'getExpiryInputs': function() { + var all = document.getElementsByTagName("input"); + var ours = new Array(); + for (var i = 0; i < all.length; i++) { + var element = all[i]; + if (element.name.match(/^mwProtect-expiry-/)) { + ours[ours.length] = element; + } + } + return ours; + }, + + /** + * Apply a callback to each expiry selector list + * @param callable func Callback function + */ + 'forEachExpirySelector': function(func) { + var inputs = this.getExpirySelectors(); + for (var i = 0; i < inputs.length; i++) { + func(inputs[i]); + } + }, + + /** + * Get a list of all expiry selector lists on the page + * + * @return Array + */ + 'getExpirySelectors': function() { + var all = document.getElementsByTagName("select"); + var ours = new Array(); + for (var i = 0; i < all.length; i++) { + var element = all[i]; + if (element.id.match(/^mwProtectExpirySelection-/)) { + ours[ours.length] = element; + } + } + return ours; + }, + + /** + * Enable/disable protection selectors and expiry inputs + * + * @param boolean val Enable? + */ + 'enableUnchainedInputs': function(val) { + var first = true; + this.forEachLevelSelector(function(element) { + if (first) { + first = false; + } else { + element.disabled = !val; + } + }); + first = true; + this.forEachExpiryInput(function(element) { + if (first) { + first = false; + } else { + element.disabled = !val; + } + }); + first = true; + this.forEachExpirySelector(function(element) { + if (first) { + first = false; + } else { + element.disabled = !val; + } + }); + } +} diff --git a/skins/common/quickbar-right.css b/skins/common/quickbar-right.css new file mode 100644 index 00000000..43bd427a --- /dev/null +++ b/skins/common/quickbar-right.css @@ -0,0 +1 @@ +#quickbar { position: fixed; right: 0px; top: 0px; padding: 4px;} diff --git a/skins/common/quickbar.css b/skins/common/quickbar.css new file mode 100644 index 00000000..d7930c2a --- /dev/null +++ b/skins/common/quickbar.css @@ -0,0 +1 @@ +#quickbar { position: fixed; padding: 4px; } diff --git a/skins/common/rightclickedit.js b/skins/common/rightclickedit.js new file mode 100644 index 00000000..83d552a2 --- /dev/null +++ b/skins/common/rightclickedit.js @@ -0,0 +1,48 @@ +function setupRightClickEdit() { + if (document.getElementsByTagName) { + var spans = document.getElementsByTagName('span'); + for (var i = 0; i < spans.length; i++) { + var el = spans[i]; + if(el.className == 'editsection') { + addRightClickEditHandler(el); + } + } + } +} + +function addRightClickEditHandler(el) { + for (var i = 0; i < el.childNodes.length; i++) { + var link = el.childNodes[i]; + if (link.nodeType == 1 && link.nodeName.toLowerCase() == 'a') { + var editHref = link.getAttribute('href'); + // find the enclosing (parent) header + var prev = el.parentNode; + if (prev && prev.nodeType == 1 && + prev.nodeName.match(/^[Hh][1-6]$/)) { + prev.oncontextmenu = function(e) { + if (!e) { e = window.event; } + // e is now the event in all browsers + var targ; + if (e.target) { targ = e.target; } + else if (e.srcElement) { targ = e.srcElement; } + if (targ.nodeType == 3) { // defeat Safari bug + targ = targ.parentNode; + } + // targ is now the target element + + // We don't want to deprive the noble reader of a context menu + // for the section edit link, do we? (Might want to extend this + // to all
's?) + if (targ.nodeName.toLowerCase() != 'a' + || targ.parentNode.className != 'editsection') { + document.location = editHref; + return false; + } + return true; + }; + } + } + } +} + +hookEvent("load", setupRightClickEdit); diff --git a/skins/common/shared.css b/skins/common/shared.css new file mode 100644 index 00000000..bd306167 --- /dev/null +++ b/skins/common/shared.css @@ -0,0 +1,313 @@ +/** + * CSS in this file is used by *all* skins (that have any CSS at all). Be + * careful what you put in here, since what looks good in one skin may not in + * another, but don't ignore the poor non-Monobook users either. + */ +.mw-plusminus-null { color: #aaa; } + +.texvc { direction: ltr; unicode-bidi: embed; } +img.tex { vertical-align: middle; } +span.texhtml { font-family: serif; } + +/* add a bit of margin space between the preview and the toolbar */ +/* this replaces the ugly


we used to insert into the page source */ +#wikiPreview.ontop { margin-bottom: 1em; } + +/* Stop floats from intruding into edit area in previews */ +#toolbar, #wpTextbox1 { clear: both; } + +div#mw-js-message { + margin: 1em 5%; + padding: 0.5em 2.5%; + border: solid 1px #ddd; + background-color: #fcfcfc; +} + +/* Edit section links */ +.editsection { + float: right; + margin-left: 5px; +} + +/** + * File histories + */ +table.filehistory { + border:1px solid #ccc; + border-collapse:collapse; +} + +table.filehistory th, +table.filehistory td { + padding: 0 0.2em 0 0.2em; + vertical-align:top; + border:1px solid #ccc; +} +table.filehistory th { + text-align: left; +} +table.filehistory td.mw-imagepage-filesize, +table.filehistory th.mw-imagepage-filesize { + white-space:nowrap; +} + +table.filehistory td.filehistory-selected { + font-weight: bold; +} + +/* + * rev_deleted stuff + */ +li span.deleted, span.history-deleted { + text-decoration: line-through; + color: #888; + font-style: italic; +} + +/** + * Forms + */ +body.ltr td.mw-label { text-align: right; } +body.ltr td.mw-input { text-align: left; } +body.ltr td.mw-submit { text-align: left; } +body.rtl td.mw-label { text-align: left; } +body.rtl td.mw-input { text-align: right; } +body.rtl td.mw-submit { text-align: right; } + +td.mw-label { vertical-align: top; } +td.mw-submit { white-space: nowrap; } + +/** + * Image captions + */ +body.rtl .thumbcaption { text-align:right; } +body.rtl .magnify { float:left; } + +body.ltr .thumbcaption { text-align:left; } +body.ltr .magnify { float:right; } + +/** + * Hidden categories + */ +.mw-hidden-cats-hidden { display: none; } +.catlinks-allhidden { display: none; } + +/* Convenience links to edit block, delete and protect reasons */ +p.mw-ipb-conveniencelinks, p.mw-protect-editreasons, +p.mw-filedelete-editreasons, p.mw-delete-editreasons { + font-size: 90%; + float: right; +} + +/* Search results */ +div.searchresult { + font-size: 95%; + width:38em; +} +.mw-search-results li { + padding-bottom: 1em; + list-style:none; +} +.mw-search-result-data { + color: green; + font-size: 97%; +} + +td#mw-search-menu { + padding-left:6em; + font-size:85%; +} + +div#mw-search-interwiki { + float: right; + width: 18em; + border-style: solid; + border-color: #AAAAAA; + border-width: 1px; + margin-top: 2ex; +} + +div#mw-search-interwiki li { + font-size: 95%; +} + +.mw-search-interwiki-more { + float: right; + font-size: 90%; +} + +span.searchalttitle { + font-size: 95%; +} + +div.searchdidyoumean { + font-size: 127%; + margin-bottom: 1ex; + margin-top: 1ex; + /* Note that this color won't affect the link, as desired. */ + color: #c00; +} + +div.searchdidyoumean em { + font-weight: bold; +} + +.searchmatch { + font-weight: bold; +} + +div.searchresults { + border:1px solid darkblue; + padding-top: 10px; + padding-bottom: 10px; + padding-left: 20px; + padding-right: 20px; +} + +/* + * UserRights stuff + */ +.mw-userrights-disabled { + color: #888; +} + +table.mw-userrights-groups * td,table.mw-userrights-groups * th { + padding-right: 1.5em; +} + +/* + * OpenSearch ajax suggestions + */ +.os-suggest { + overflow: auto; + overflow-x: hidden; + position: absolute; + top: 0px; + left: 0px; + width: 0px; + background-color: white; + background-color: Window; + border-style: solid; + border-color: #AAAAAA; + border-width: 1px; + z-index:99; + visibility:hidden; + font-size:95%; +} + +table.os-suggest-results { + font-size: 95%; + cursor: pointer; + border: 0; + border-collapse: collapse; + width: 100%; +} + +td.os-suggest-result, td.os-suggest-result-hl { + white-space: nowrap; + background-color: white; + background-color: Window; + color: black; + color: WindowText; + padding: 2px; +} +td.os-suggest-result-hl, +td.os-suggest-result-hl-webkit { + background-color: #4C59A6; + color: white; +} +td.os-suggest-result-hl { + /* System colors are misimplemented in Safari 3.0 and earlier, + making highlighted text illegible... */ + background-color: Highlight; + color: HighlightText; +} + +.os-suggest-toggle { + position: relative; + left: 1ex; + font-size: 65%; +} +.os-suggest-toggle-def { + position: absolute; + top: 0px; + left: 0px; + font-size: 65%; + visibility: hidden; +} + +/* Page history styling */ +/* the auto-generated edit comments */ +.autocomment { color: gray; } +#pagehistory .history-user { + margin-left: 0.4em; + margin-right: 0.2em; +} +#pagehistory span.minor { font-weight: bold; } +#pagehistory li { border: 1px solid white; } +#pagehistory li.selected { + background-color: #f9f9f9; + border: 1px dashed #aaa; +} + +/* + * Special:ListGroupRights styling + * Special:Statistics styling +*/ + +table.mw-listgrouprights-table, +table.mw-statistics-table { + border: 1px solid #ccc; + border-collapse: collapse; +} + +table.mw-listgrouprights-table tr { + vertical-align: top; +} + +table.mw-listgrouprights-table td, table.mw-listgrouprights-table th, +table.mw-statistics-table td, table.mw-statistics-table th { + padding: 0.5em 0.2em 0.5em 0.2em; + border: 1px solid #ccc; +} + +td.mw-statistics-numbers { + text-align: right; +} + +/* Special:SpecialPages styling */ +h4.mw-specialpagesgroup { + background-color: #dcdcdc; + padding: 2px; + margin: .3em 0em 0em 0em; +} +.mw-specialpagerestricted { + font-weight: bold; +} + +#shared-image-dup, #shared-image-conflict { + font-style: italic; +} + +/* Special:EmailUser styling */ +table.mw-emailuser-table { + width: 98%; +} +td#mw-emailuser-sender, td#mw-emailuser-recipient { + font-weight: bold; +} + +/* + * Recreating deleted page warning + * Reupload file warning + * Page protection warning + * incl. log entries for these warnings + */ +div.mw-warning-with-logexcerpt { + padding: 3px; + margin-bottom: 3px; + border: 2px solid #2F6FAB; +} +div.mw-warning-with-logexcerpt ul li { + font-size: 90%; +} diff --git a/skins/common/sticky.js b/skins/common/sticky.js new file mode 100644 index 00000000..a4904c03 --- /dev/null +++ b/skins/common/sticky.js @@ -0,0 +1,124 @@ +// Make a layer that stays in the same place on screen when scrolling the browser window. +// Version 1.2 +// See http://www.mark.ac/help for browser support. + +var mySticky; +var theLayer; + +// Setup variables for sliding. +// lastY and staticYOffset should match your CSS top definition. + +lastY=10;YOffset=0;staticYOffset=10;refreshMS=25; + + +// Setup function that runs when the page loads. + function setup(eID){ + bw=new checkBrowser; + if(bw.ns4||bw.opera){MM_reloadPage(true);} + var noFix=bw.ie4||bw.ns4||(bw.macie50)?true:false; + if (window.attachEvent){fix_bind()} + else if(noFix){ + if(bw.ns6){document.getElementById(eID).style.position="absolute";} + if(bw.macie50){document.getElementById(eID).style.position="absolute";document.getElementById(eID).style.backgroundColor="#ccffcc";} + if(bw.ns6&&YOffset==0){YOffset=-15} + mySticky=new makeLayerObj(eID); + layerSlide(eID)} + else{ + mySticky=new makeLayerObj(eID); + mySticky.css.position="fixed";} + + if(!mySticky){mySticky=new makeLayerObj(eID);} + //mySticky.css.visibility="visible"; + } + + +// ------------------------- +// emulate css 'position: fixed' in IE5+ Win +// code by aclover@1value.com + fix_elements = new Array(); + + function fix_event(){ + var i; + for (i=0; i < fix_elements.length; i++){ + fix_elements[i].style.left = parseInt(fix_elements[i].fix_left)+document.getElementsByTagName('html')[0].scrollLeft+document.getElementsByTagName('body')[0].scrollLeft+'px'; + fix_elements[i].style.top = parseInt(fix_elements[i].fix_top)+document.getElementsByTagName('html')[0].scrollTop+document.getElementsByTagName('body')[0].scrollTop+'px'; + } + } + + function fix_bind(){ + var i; + for (i=0; i < document.all.length; i++){ + if (document.all[i].currentStyle.position=='fixed'){ + document.all[i].fix_left = document.all[i].currentStyle.left; + document.all[i].fix_top = document.all[i].currentStyle.top; + document.all[i].style.position = 'absolute'; + fix_elements[fix_elements.length] = document.all[i]; + window.attachEvent('onscroll', fix_event); + window.attachEvent('onresize', fix_event); + } + } + } +// ------------------------- + + +// ------------------------- +// DHTML menu sliding. Requires checkBrowser() +// Based on source at http://www.simplythebest.net/ + function layerSlide(layerID) { + if(bw.dhtml){ + if(!mySticky){mySticky=new makeLayerObj(layerID);} + if (bw.ns) {winY = window.pageYOffset;} + else if (bw.ie) {winY = document.body.scrollTop;} + if (bw.ie||bw.ns) { + if (winY!=lastY&&winY>YOffset-staticYOffset){smooth = .3 * (winY - lastY - YOffset + staticYOffset);} + else if (YOffset-staticYOffset+lastY>YOffset-staticYOffset){smooth = .3 * (winY - lastY - (YOffset-(YOffset-winY)));} + else{smooth=0} + if(smooth > 0) {smooth = Math.ceil(smooth);} + else{smooth = Math.floor(smooth);} + if (bw.ie){mySticky.css.pixelTop+=smooth;} + else if (bw.ns){mySticky.css.top=parseInt(mySticky.css.top)+smooth;} + lastY = lastY+smooth; + top.window.status=new Date() + setTimeout('layerSlide("'+layerID+'")', refreshMS)}}} +// ------------------------- + +// Netscape 4.x browser resize fix + function MM_reloadPage(init) { + if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { + document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; top.onresize=MM_reloadPage; }} + else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) {location.reload();}} + +// Create browser-independent layer and browser objects + function makeLayerObj(eID){ + if(document.getElementById){this.css=document.getElementById(eID).style} + else if(document.layers){this.css=document.layers[eID];} + else if(document.all){this.css=document.all[eID].style;} + return this + } + + function checkBrowser(){ + this.ver=navigator.appVersion; + this.name=navigator.appName; + this.mac=(navigator.platform.toLowerCase().indexOf('mac')>-1)?true:false; + this.opera=(navigator.userAgent.toLowerCase().indexOf('opera')>-1)?true:false; + this.dom=document.getElementById?true:false; + this.ns=(this.name=='Netscape'); + this.ie4=(document.all && !this.dom)?true:false; + this.ie=(this.name =='Microsoft Internet Explorer'&&!this.opera)?true:false; + this.ie5=(this.ie && (navigator.userAgent.indexOf("MSIE 5")!=-1))?true:false; + this.macie50=(this.mac&&this.ie5&&(navigator.userAgent.indexOf("MSIE 5.0")!=-1))?true:false + this.ns4=(this.ns && parseInt(this.ver) == 4)?true:false; + this.ns6=((this.name=="Netscape")&&(parseInt(this.ver)==5))?true:false + this.standards=document.getElementById?true:false; + this.dhtml=this.standards||this.ie4||this.ns4; + } + + function showMe(eID){ + myFloater=new makeLayerObj(eID) + myFloater.css.visibility="visible"; + } + + function hideMe(eID){ + myFloater=new makeLayerObj(eID) + myFloater.css.visibility="hidden"; + } diff --git a/skins/common/upload.js b/skins/common/upload.js new file mode 100644 index 00000000..d1cf4b3e --- /dev/null +++ b/skins/common/upload.js @@ -0,0 +1,190 @@ +function licenseSelectorCheck() { + var selector = document.getElementById( "wpLicense" ); + var selection = selector.options[selector.selectedIndex].value; + if( selector.selectedIndex > 0 ) { + if( selection == "" ) { + // Option disabled, but browser is broken and doesn't respect this + selector.selectedIndex = 0; + } + } + // We might show a preview + wgUploadLicenseObj.fetchPreview( selection ); +} + +function licenseSelectorFixup() { + // for MSIE/Mac; non-breaking spaces cause the ' + + '' + + '↓'; + } + } + if (ts_alternate_row_colors) { + ts_alternate(table); + } +} + +function ts_getInnerText(el) { + return getInnerText( el ); +} + +function ts_resortTable(lnk) { + // get the span + var span = lnk.getElementsByTagName('span')[0]; + + var td = lnk.parentNode; + var tr = td.parentNode; + var column = td.cellIndex; + + var table = tr.parentNode; + while (table && !(table.tagName && table.tagName.toLowerCase() == 'table')) + table = table.parentNode; + if (!table) return; + + if (table.rows.length <= 1) return; + + // Generate the number transform table if it's not done already + if (ts_number_transform_table == null) { + ts_initTransformTable(); + } + + // Work out a type for the column + // Skip the first row if that's where the headings are + var rowStart = (table.tHead && table.tHead.rows.length > 0 ? 0 : 1); + + var itm = ""; + for (var i = rowStart; i < table.rows.length; i++) { + if (table.rows[i].cells.length > column) { + itm = ts_getInnerText(table.rows[i].cells[column]); + itm = itm.replace(/^[\s\xa0]+/, "").replace(/[\s\xa0]+$/, ""); + if (itm != "") break; + } + } + + // TODO: bug 8226, localised date formats + var sortfn = ts_sort_generic; + var preprocessor = ts_toLowerCase; + if (/^\d\d[\/. -][a-zA-Z]{3}[\/. -]\d\d\d\d$/.test(itm)) { + preprocessor = ts_dateToSortKey; + } else if (/^\d\d[\/.-]\d\d[\/.-]\d\d\d\d$/.test(itm)) { + preprocessor = ts_dateToSortKey; + } else if (/^\d\d[\/.-]\d\d[\/.-]\d\d$/.test(itm)) { + preprocessor = ts_dateToSortKey; + // pound dollar euro yen currency cents + } else if (/(^[\u00a3$\u20ac\u00a4\u00a5]|\u00a2$)/.test(itm)) { + preprocessor = ts_currencyToSortKey; + } else if (ts_number_regex.test(itm)) { + preprocessor = ts_parseFloat; + } + + var reverse = (span.getAttribute("sortdir") == 'down'); + + var newRows = new Array(); + var staticRows = new Array(); + for (var j = rowStart; j < table.rows.length; j++) { + var row = table.rows[j]; + if((" "+row.className+" ").indexOf(" unsortable ") < 0) { + var keyText = ts_getInnerText(row.cells[column]); + var oldIndex = (reverse ? -j : j); + var preprocessed = preprocessor( keyText ); + + newRows[newRows.length] = new Array(row, preprocessed, oldIndex); + } else staticRows[staticRows.length] = new Array(row, false, j-rowStart); + } + + newRows.sort(sortfn); + + var arrowHTML; + if (reverse) { + arrowHTML = '↓'; + newRows.reverse(); + span.setAttribute('sortdir','up'); + } else { + arrowHTML = '↑'; + span.setAttribute('sortdir','down'); + } + + for (var i = 0; i < staticRows.length; i++) { + var row = staticRows[i]; + newRows.splice(row[2], 0, row); + } + + // We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones + // don't do sortbottom rows + for (var i = 0; i < newRows.length; i++) { + if ((" "+newRows[i][0].className+" ").indexOf(" sortbottom ") == -1) + table.tBodies[0].appendChild(newRows[i][0]); + } + // do sortbottom rows only + for (var i = 0; i < newRows.length; i++) { + if ((" "+newRows[i][0].className+" ").indexOf(" sortbottom ") != -1) + table.tBodies[0].appendChild(newRows[i][0]); + } + + // Delete any other arrows there may be showing + var spans = getElementsByClassName(tr, "span", "sortarrow"); + for (var i = 0; i < spans.length; i++) { + spans[i].innerHTML = '↓'; + } + span.innerHTML = arrowHTML; + + if (ts_alternate_row_colors) { + ts_alternate(table); + } +} + +function ts_initTransformTable() { + if ( typeof wgSeparatorTransformTable == "undefined" + || ( wgSeparatorTransformTable[0] == '' && wgDigitTransformTable[2] == '' ) ) + { + digitClass = "[0-9,.]"; + ts_number_transform_table = false; + } else { + ts_number_transform_table = {}; + // Unpack the transform table + // Separators + ascii = wgSeparatorTransformTable[0].split("\t"); + localised = wgSeparatorTransformTable[1].split("\t"); + for ( var i = 0; i < ascii.length; i++ ) { + ts_number_transform_table[localised[i]] = ascii[i]; + } + // Digits + ascii = wgDigitTransformTable[0].split("\t"); + localised = wgDigitTransformTable[1].split("\t"); + for ( var i = 0; i < ascii.length; i++ ) { + ts_number_transform_table[localised[i]] = ascii[i]; + } + + // Construct regex for number identification + digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '\\.']; + maxDigitLength = 1; + for ( var digit in ts_number_transform_table ) { + // Escape regex metacharacters + digits.push( + digit.replace( /[\\\\$\*\+\?\.\(\)\|\{\}\[\]\-]/, + function( s ) { return '\\' + s; } ) + ); + if (digit.length > maxDigitLength) { + maxDigitLength = digit.length; + } + } + if ( maxDigitLength > 1 ) { + digitClass = '[' + digits.join( '', digits ) + ']'; + } else { + digitClass = '(' + digits.join( '|', digits ) + ')'; + } + } + + // We allow a trailing percent sign, which we just strip. This works fine + // if percents and regular numbers aren't being mixed. + ts_number_regex = new RegExp( + "^(" + + "[+-]?[0-9][0-9,]*(\\.[0-9,]*)?(E[+-]?[0-9][0-9,]*)?" + // Fortran-style scientific + "|" + + "[+-]?" + digitClass + "+%?" + // Generic localised + ")$", "i" + ); +} + +function ts_toLowerCase( s ) { + return s.toLowerCase(); +} + +function ts_dateToSortKey(date) { + // y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX + if (date.length == 11) { + switch (date.substr(3,3).toLowerCase()) { + case "jan": var month = "01"; break; + case "feb": var month = "02"; break; + case "mar": var month = "03"; break; + case "apr": var month = "04"; break; + case "may": var month = "05"; break; + case "jun": var month = "06"; break; + case "jul": var month = "07"; break; + case "aug": var month = "08"; break; + case "sep": var month = "09"; break; + case "oct": var month = "10"; break; + case "nov": var month = "11"; break; + case "dec": var month = "12"; break; + // default: var month = "00"; + } + return date.substr(7,4)+month+date.substr(0,2); + } else if (date.length == 10) { + if (ts_europeandate == false) { + return date.substr(6,4)+date.substr(0,2)+date.substr(3,2); + } else { + return date.substr(6,4)+date.substr(3,2)+date.substr(0,2); + } + } else if (date.length == 8) { + yr = date.substr(6,2); + if (parseInt(yr) < 50) { + yr = '20'+yr; + } else { + yr = '19'+yr; + } + if (ts_europeandate == true) { + return yr+date.substr(3,2)+date.substr(0,2); + } else { + return yr+date.substr(0,2)+date.substr(3,2); + } + } + return "00000000"; +} + +function ts_parseFloat( s ) { + if ( !s ) { + return 0; + } + if (ts_number_transform_table != false) { + var newNum = '', c; + + for ( var p = 0; p < s.length; p++ ) { + c = s.charAt( p ); + if (c in ts_number_transform_table) { + newNum += ts_number_transform_table[c]; + } else { + newNum += c; + } + } + s = newNum; + } + + num = parseFloat(s.replace(/,/g, "")); + return (isNaN(num) ? s : num); +} + +function ts_currencyToSortKey( s ) { + return ts_parseFloat(s.replace(/[^0-9.,]/g,'')); +} + +function ts_sort_generic(a, b) { + return a[1] < b[1] ? -1 : a[1] > b[1] ? 1 : a[2] - b[2]; +} + +function ts_alternate(table) { + // Take object table and get all it's tbodies. + var tableBodies = table.getElementsByTagName("tbody"); + // Loop through these tbodies + for (var i = 0; i < tableBodies.length; i++) { + // Take the tbody, and get all it's rows + var tableRows = tableBodies[i].getElementsByTagName("tr"); + // Loop through these rows + // Start at 1 because we want to leave the heading row untouched + for (var j = 0; j < tableRows.length; j++) { + // Check if j is even, and apply classes for both possible results + var oldClasses = tableRows[j].className.split(" "); + var newClassName = ""; + for (var k = 0; k < oldClasses.length; k++) { + if (oldClasses[k] != "" && oldClasses[k] != "even" && oldClasses[k] != "odd") + newClassName += oldClasses[k] + " "; + } + tableRows[j].className = newClassName + (j % 2 == 0 ? "even" : "odd"); + } + } +} + +/* + * End of table sorting code + */ + + +/** + * Add a cute little box at the top of the screen to inform the user of + * something, replacing any preexisting message. + * + * @param String -or- Dom Object message HTML to be put inside the right div + * @param String className Used in adding a class; should be different for each + * call to allow CSS/JS to hide different boxes. null = no class used. + * @return Boolean True on success, false on failure + */ +function jsMsg( message, className ) { + if ( !document.getElementById ) { + return false; + } + // We special-case skin structures provided by the software. Skins that + // choose to abandon or significantly modify our formatting can just define + // an mw-js-message div to start with. + var messageDiv = document.getElementById( 'mw-js-message' ); + if ( !messageDiv ) { + messageDiv = document.createElement( 'div' ); + if ( document.getElementById( 'column-content' ) + && document.getElementById( 'content' ) ) { + // MonoBook, presumably + document.getElementById( 'content' ).insertBefore( + messageDiv, + document.getElementById( 'content' ).firstChild + ); + } else if ( document.getElementById('content') + && document.getElementById( 'article' ) ) { + // Non-Monobook but still recognizable (old-style) + document.getElementById( 'article').insertBefore( + messageDiv, + document.getElementById( 'article' ).firstChild + ); + } else { + return false; + } + } + + messageDiv.setAttribute( 'id', 'mw-js-message' ); + messageDiv.style.display = 'block'; + if( className ) { + messageDiv.setAttribute( 'class', 'mw-js-message-'+className ); + } + + if (typeof message === 'object') { + while (messageDiv.hasChildNodes()) // Remove old content + messageDiv.removeChild(messageDiv.firstChild); + messageDiv.appendChild (message); // Append new content + } + else { + messageDiv.innerHTML = message; + } + return true; +} + +/** + * Inject a cute little progress spinner after the specified element + * + * @param element Element to inject after + * @param id Identifier string (for use with removeSpinner(), below) + */ +function injectSpinner( element, id ) { + var spinner = document.createElement( "img" ); + spinner.id = "mw-spinner-" + id; + spinner.src = stylepath + "/common/images/spinner.gif"; + spinner.alt = spinner.title = "..."; + if( element.nextSibling ) { + element.parentNode.insertBefore( spinner, element.nextSibling ); + } else { + element.parentNode.appendChild( spinner ); + } +} + +/** + * Remove a progress spinner added with injectSpinner() + * + * @param id Identifier string + */ +function removeSpinner( id ) { + var spinner = document.getElementById( "mw-spinner-" + id ); + if( spinner ) { + spinner.parentNode.removeChild( spinner ); + } +} + +function runOnloadHook() { + // don't run anything below this for non-dom browsers + if (doneOnloadHook || !(document.getElementById && document.getElementsByTagName)) { + return; + } + + // set this before running any hooks, since any errors below + // might cause the function to terminate prematurely + doneOnloadHook = true; + + updateTooltipAccessKeys( null ); + akeytt( null ); + setupCheckboxShiftClick(); + sortables_init(); + + // Run any added-on functions + for (var i = 0; i < onloadFuncts.length; i++) { + onloadFuncts[i](); + } +} + +/** + * Add an event handler to an element + * + * @param Element element Element to add handler to + * @param String attach Event to attach to + * @param callable handler Event handler callback + */ +function addHandler( element, attach, handler ) { + if( window.addEventListener ) { + element.addEventListener( attach, handler, false ); + } else if( window.attachEvent ) { + element.attachEvent( 'on' + attach, handler ); + } +} + +/** + * Add a click event handler to an element + * + * @param Element element Element to add handler to + * @param callable handler Event handler callback + */ +function addClickHandler( element, handler ) { + addHandler( element, 'click', handler ); +} + +/** + * Removes an event handler from an element + * + * @param Element element Element to remove handler from + * @param String remove Event to remove + * @param callable handler Event handler callback to remove + */ +function removeHandler( element, remove, handler ) { + if( window.removeEventListener ) { + element.removeEventListener( remove, handler, false ); + } else if( window.detachEvent ) { + element.detachEvent( 'on' + remove, handler ); + } +} +//note: all skins should call runOnloadHook() at the end of html output, +// so the below should be redundant. It's there just in case. +hookEvent("load", runOnloadHook); diff --git a/skins/common/wikiprintable.css b/skins/common/wikiprintable.css new file mode 100644 index 00000000..8b099bb2 --- /dev/null +++ b/skins/common/wikiprintable.css @@ -0,0 +1,46 @@ +/* MediaWiki print stylesheet */ + +body { + color: #000000; background: #ffffff; +} + + +/* MSIE/Win doesn't understand 'inherit' */ +a, a.external, a.new, a.stub { + color: black ! important; + text-decoration: none ! important; +} +#article { + margin: 0 ! important; +} + +/* Continue ... */ +a, a.external, a.new, a.stub { + color: inherit ! important; + text-decoration: inherit ! important; +} + +/* Hide ugly UI stuff */ +#quickbar, #topbar, #logo, #footer, #siteNotice, +.editsection, .toctoggle { + display: none; +} + +/* */ +#article { + position: relative; + margin: inherit ! important; +} + +.printfooter { + border-top: solid 1px black; + display: block ! important; +} + +/* Old stuff, fixme: +a.CBlink { color: #0000AA; text-decoration: none; font-size: 12pt; } +a.interwiki, a.external { color: #3333BB; text-decoration: none; } +h1.pagetitle { padding-bottom: 0; margin-bottom: 0; } +i.link, u.link { color: #000066; } +p.subtitle { padding-top: 0; margin-top: 0; } +*/ diff --git a/skins/common/wikistandard.css b/skins/common/wikistandard.css new file mode 100644 index 00000000..5bf59246 --- /dev/null +++ b/skins/common/wikistandard.css @@ -0,0 +1,48 @@ +#article { padding: 4px; } +#content { margin: 0; padding: 0; } +#footer { padding: 4px;font-size:95%;clear: both; } +#pagestats { font-size: 9pt; } +#powersearch { + background: #DDEEFF; border-style: solid; border-width: 1px; padding: 2px; +} +#quickbar { width: 140px; height:100%; padding: 4px; visibility: visible; z-index:99;font-size:95%;} +#topbar { padding: 4px;font-size:95%; } + + +/* Table of contents */ +.toctoggle, .editsection { font-size: smaller; } + +/* ... */ +#toolbar { padding:0px; } +#infobox { background:#eeeeff;color:black;} +#editform { margin-top:1px; } +a.interwiki, a.external { color: #3366BB; } +a.printable { text-decoration: underline; } +a.stub { color:#772233; text-decoration:none; } +a:visited { color: #5A3696; } +body { margin: 0px; padding: 4px; color: black; } +form.inline { display: inline; } +textarea { overflow: auto; } + + +h1.pagetitle { padding-top: 0; margin-top: 0; padding-bottom: 0; margin-bottom: 0; +font-size:150%; } +h1.pagetitle .editsection { font-size: 66.7%; } +h2 { font-size: 120%; } +h2 .editsection { font-size: 83.3%; } +h2, h3, h4, h5, h6 { margin-bottom: 0;} +h3 { font-size: 106.25%; } +h3 .editsection { font-size: 94.1%; } +h4 { font-size: 103.125%; } +h4 .editsection { font-size: 97.0%; } +h5 { font-size: 100%; } +h5 .editsection { font-size: 100%; } +h6 { font-size: 95%; } +h6 .editsection { font-size: 105.3%; } +hr.sep { color:gray;height:1px;background-color:gray;} +p.subpages { font-size:small;} +p.subtitle { padding-top: 0; margin-top: 0;} +.catlinks { font-size:small; margin-top:0; text-align:right;} +td { empty-cells:show; } +td.bottom { border-top: 1px solid gray; } +td.top { border-bottom: 1px solid gray; } diff --git a/skins/disabled/MonoBook.tpl b/skins/disabled/MonoBook.tpl new file mode 100644 index 00000000..58bc4f5c --- /dev/null +++ b/skins/disabled/MonoBook.tpl @@ -0,0 +1,200 @@ + + + + + {headlinks} + {headscripts} + {pagetitle} + + + + + + + + + + {if jsvarurl {}} + {if pagecss {}} + {usercss} + {sitecss} + {gencss} + {if userjs {}} + {if userjsprev {}} + {trackbackhtml} + + +
+
+
+ + {if sitenotice {
{sitenotice}
}} +

{title}

+
+

{msg {tagline}}

+
{subtitle}
+ {if undelete {
{undelete}
}} + {if newtalk {
{newtalk}
}} + {if showjumplinks { + + }} + + {bodytext} + {if catlinks { }} + +
+
+
+
+
+
+
{msg {views}}
+ +
+
+
{msg {personaltools}}
+
+
    + {personal_urls {
  • $text
  • }} +
+
+
+ + + {sidebar { +
+
$barname
+
+
    + } { +
+
+
+ } {
  • $text
  • + } + } + + +
    +
    {msg {toolbox}}
    +
    + +
    +
    + {language_urls { +
    +
    {msg {otherlanguages}}
    +
    +
      + $body +
    +
    +
    + } { +
  • $text
  • + }} +
    +
    + + +
    +{reporttime} +{if {} { vim: set syn=html ts=2 : }} + diff --git a/skins/disabled/MonoBookCBT.php b/skins/disabled/MonoBookCBT.php new file mode 100644 index 00000000..0d693a86 --- /dev/null +++ b/skins/disabled/MonoBookCBT.php @@ -0,0 +1,1389 @@ +execute( $out ); + } + + function execute( &$out ) { + global $wgTitle, $wgStyleDirectory, $wgParserCacheType; + $fname = 'SkinMonoBookCBT::execute'; + wfProfileIn( $fname ); + wfProfileIn( "$fname-setup" ); + Skin::initPage( $out ); + + $this->mOut =& $out; + $this->mTitle =& $wgTitle; + + $sourceFile = "$wgStyleDirectory/MonoBook.tpl"; + + wfProfileOut( "$fname-setup" ); + + if ( $wgParserCacheType == CACHE_NONE ) { + $template = file_get_contents( $sourceFile ); + $text = $this->executeTemplate( $template ); + } else { + $compiled = $this->getCompiledTemplate( $sourceFile ); + + wfProfileIn( "$fname-eval" ); + $text = eval( $compiled ); + wfProfileOut( "$fname-eval" ); + } + wfProfileOut( $fname ); + return $text; + } + + function getCompiledTemplate( $sourceFile ) { + global $wgDBname, $wgMemc, $wgRequest, $wgUser, $parserMemc; + $fname = 'SkinMonoBookCBT::getCompiledTemplate'; + + $expiry = 3600; + + // Sandbox template execution + if ( $this->mCompiling ) { + return; + } + + wfProfileIn( $fname ); + + // Is the request an ordinary page view? + if ( $wgRequest->wasPosted() || + count( array_diff( array_keys( $_GET ), array( 'title', 'useskin', 'recompile' ) ) ) != 0 ) + { + $type = 'nonview'; + } else { + $type = 'view'; + } + + // Per-user compiled template + // Put all logged-out users on the same cache key + $cacheKey = "$wgDBname:monobookcbt:$type:" . $wgUser->getId(); + + $recompile = $wgRequest->getVal( 'recompile' ); + if ( $recompile == 'user' ) { + $recompileUser = true; + $recompileGeneric = false; + } elseif ( $recompile ) { + $recompileUser = true; + $recompileGeneric = true; + } else { + $recompileUser = false; + $recompileGeneric = false; + } + + if ( !$recompileUser ) { + $php = $parserMemc->get( $cacheKey ); + } + if ( $recompileUser || !$php ) { + if ( $wgUser->isLoggedIn() ) { + // Perform staged compilation + // First compile a generic template for all logged-in users + $genericKey = "$wgDBname:monobookcbt:$type:loggedin"; + if ( !$recompileGeneric ) { + $template = $parserMemc->get( $genericKey ); + } + if ( $recompileGeneric || !$template ) { + $template = file_get_contents( $sourceFile ); + $ignore = array( 'loggedin', '!loggedin dynamic' ); + if ( $type == 'view' ) { + $ignore[] = 'nonview dynamic'; + } + $template = $this->compileTemplate( $template, $ignore ); + $parserMemc->set( $genericKey, $template, $expiry ); + } + } else { + $template = file_get_contents( $sourceFile ); + } + + $ignore = array( 'lang', 'loggedin', 'user' ); + if ( $wgUser->isLoggedIn() ) { + $ignore[] = '!loggedin dynamic'; + } else { + $ignore[] = 'loggedin dynamic'; + } + if ( $type == 'view' ) { + $ignore[] = 'nonview dynamic'; + } + $compiled = $this->compileTemplate( $template, $ignore ); + + // Reduce whitespace + // This is done here instead of in CBTProcessor because we can be + // more sure it is safe here. + $compiled = preg_replace( '/^[ \t]+/m', '', $compiled ); + $compiled = preg_replace( '/[\r\n]+/', "\n", $compiled ); + + // Compile to PHP + $compiler = new CBTCompiler( $compiled ); + $ret = $compiler->compile(); + if ( $ret !== true ) { + echo $ret; + wfErrorExit(); + } + $php = $compiler->generatePHP( '$this' ); + + $parserMemc->set( $cacheKey, $php, $expiry ); + } + wfProfileOut( $fname ); + return $php; + } + + function compileTemplate( $template, $ignore ) { + $tp = new CBTProcessor( $template, $this, $ignore ); + $tp->mFunctionCache = $this->mFunctionCache; + + $this->mCompiling = true; + $compiled = $tp->compile(); + $this->mCompiling = false; + + if ( $tp->getLastError() ) { + // If there was a compile error, don't save the template + // Instead just print the error and exit + echo $compiled; + wfErrorExit(); + } + $this->mFunctionCache = $tp->mFunctionCache; + return $compiled; + } + + function executeTemplate( $template ) { + $fname = 'SkinMonoBookCBT::executeTemplate'; + wfProfileIn( $fname ); + $tp = new CBTProcessor( $template, $this ); + $tp->mFunctionCache = $this->mFunctionCache; + + $this->mCompiling = true; + $text = $tp->execute(); + $this->mCompiling = false; + + $this->mFunctionCache = $tp->mFunctionCache; + wfProfileOut( $fname ); + return $text; + } + + /****************************************************** + * Callbacks * + ******************************************************/ + + function lang() { return $GLOBALS['wgContLanguageCode']; } + + function dir() { + global $wgContLang; + return $wgContLang->isRTL() ? 'rtl' : 'ltr'; + } + + function mimetype() { return $GLOBALS['wgMimeType']; } + function charset() { return $GLOBALS['wgOutputEncoding']; } + function headlinks() { + return cbt_value( $this->mOut->getHeadLinks(), 'dynamic' ); + } + function headscripts() { + return cbt_value( $this->mOut->getScript(), 'dynamic' ); + } + + function pagetitle() { + return cbt_value( $this->mOut->getHTMLTitle(), array( 'title', 'lang' ) ); + } + + function stylepath() { return $GLOBALS['wgStylePath']; } + function stylename() { return $this->mStyleName; } + + function notprintable() { + global $wgRequest; + return cbt_value( !$wgRequest->getBool( 'printable' ), 'nonview dynamic' ); + } + + function jsmimetype() { return $GLOBALS['wgJsMimeType']; } + + function jsvarurl() { + global $wgUseSiteJs, $wgUser; + if ( !$wgUseSiteJs ) return ''; + + if ( $wgUser->isLoggedIn() ) { + $url = self::makeUrl( '-','action=raw&smaxage=0&gen=js' ); + } else { + $url = self::makeUrl( '-','action=raw&gen=js' ); + } + return cbt_value( $url, 'loggedin' ); + } + + function pagecss() { + global $wgHooks; + + $out = false; + wfRunHooks( 'SkinTemplateSetupPageCss', array( &$out ) ); + + // Unknown dependencies + return cbt_value( $out, 'dynamic' ); + } + + function usercss() { + if ( $this->isCssPreview() ) { + global $wgRequest; + $usercss = $this->makeStylesheetCdata( $wgRequest->getText('wpTextbox1') ); + } else { + $usercss = $this->makeStylesheetLink( self::makeUrl($this->getUserPageText() . + '/'.$this->mStyleName.'.css', 'action=raw&ctype=text/css' ) ); + } + + // Dynamic when not an ordinary page view, also depends on the username + return cbt_value( $usercss, array( 'nonview dynamic', 'user' ) ); + } + + function sitecss() { + global $wgUseSiteCss; + if ( !$wgUseSiteCss ) { + return ''; + } + + global $wgSquidMaxage, $wgContLang, $wgStylePath; + + $query = "action=raw&ctype=text/css&smaxage=$wgSquidMaxage"; + + $sitecss = ''; + if ( $wgContLang->isRTL() ) { + $sitecss .= $this->makeStylesheetLink( $wgStylePath . '/' . $this->mStyleName . '/rtl.css' ) . "\n"; + } + + $sitecss .= $this->makeStylesheetLink( self::makeNSUrl( 'Common.css', $query, NS_MEDIAWIKI ) ) . "\n"; + $sitecss .= $this->makeStylesheetLink( self::makeNSUrl( ucfirst( $this->mStyleName ) . '.css', $query, NS_MEDIAWIKI ) ) . "\n"; + + // No deps + return $sitecss; + } + + function gencss() { + global $wgUseSiteCss; + if ( !$wgUseSiteCss ) return ''; + + global $wgSquidMaxage, $wgUser, $wgAllowUserCss; + if ( $this->isCssPreview() ) { + $siteargs = '&smaxage=0&maxage=0'; + } else { + $siteargs = '&maxage=' . $wgSquidMaxage; + } + if ( $wgAllowUserCss && $wgUser->isLoggedIn() ) { + $siteargs .= '&ts={user_touched}'; + $isTemplate = true; + } else { + $isTemplate = false; + } + + $link = $this->makeStylesheetLink( self::makeUrl('-','action=raw&gen=css' . $siteargs) ) . "\n"; + + if ( $wgAllowUserCss ) { + $deps = 'loggedin'; + } else { + $deps = array(); + } + return cbt_value( $link, $deps, $isTemplate ); + } + + function user_touched() { + global $wgUser; + return cbt_value( $wgUser->mTouched, 'dynamic' ); + } + + function userjs() { + global $wgAllowUserJs, $wgJsMimeType; + if ( !$wgAllowUserJs ) return ''; + + if ( $this->isJsPreview() ) { + $url = ''; + } else { + $url = self::makeUrl($this->getUserPageText().'/'.$this->mStyleName.'.js', 'action=raw&ctype='.$wgJsMimeType.'&dontcountme=s'); + } + return cbt_value( $url, array( 'nonview dynamic', 'user' ) ); + } + + function userjsprev() { + global $wgAllowUserJs, $wgRequest; + if ( !$wgAllowUserJs ) return ''; + if ( $this->isJsPreview() ) { + $js = '/*getText('wpTextbox1') . ' /*]]>*/'; + } else { + $js = ''; + } + return cbt_value( $js, array( 'nonview dynamic' ) ); + } + + function trackbackhtml() { + global $wgUseTrackbacks; + if ( !$wgUseTrackbacks ) return ''; + + if ( $this->mOut->isArticleRelated() ) { + $tb = $this->mTitle->trackbackRDF(); + } else { + $tb = ''; + } + return cbt_value( $tb, 'dynamic' ); + } + + function body_ondblclick() { + global $wgUser; + if( $this->isEditable() && $wgUser->getOption("editondblclick") ) { + $js = 'document.location = "' . $this->getEditUrl() .'";'; + } else { + $js = ''; + } + + if ( User::getDefaultOption('editondblclick') ) { + return cbt_value( $js, 'user', 'title' ); + } else { + // Optimise away for logged-out users + return cbt_value( $js, 'loggedin dynamic' ); + } + } + + function body_onload() { + global $wgUser; + if ( $this->isEditable() && $wgUser->getOption( 'editsectiononrightclick' ) ) { + $js = 'setupRightClickEdit()'; + } else { + $js = ''; + } + return cbt_value( $js, 'loggedin dynamic' ); + } + + function nsclass() { + return cbt_value( 'ns-' . $this->mTitle->getNamespace(), 'title' ); + } + + function sitenotice() { + // Perhaps this could be given special dependencies using our knowledge of what + // wfGetSiteNotice() depends on. + return cbt_value( wfGetSiteNotice(), 'dynamic' ); + } + + function title() { + return cbt_value( $this->mOut->getPageTitle(), array( 'title', 'lang' ) ); + } + + function title_urlform() { + return cbt_value( $this->getThisTitleUrlForm(), 'title' ); + } + + function title_userurl() { + return cbt_value( urlencode( $this->mTitle->getDBkey() ), 'title' ); + } + + function subtitle() { + $subpagestr = $this->subPageSubtitle(); + if ( !empty( $subpagestr ) ) { + $s = ''.$subpagestr.''.$this->mOut->getSubtitle(); + } else { + $s = $this->mOut->getSubtitle(); + } + return cbt_value( $s, array( 'title', 'nonview dynamic' ) ); + } + + function undelete() { + return cbt_value( $this->getUndeleteLink(), array( 'title', 'lang' ) ); + } + + function newtalk() { + global $wgUser, $wgDBname; + $newtalks = $wgUser->getNewMessageLinks(); + + if (count($newtalks) == 1 && $newtalks[0]["wiki"] === $wgDBname) { + $usertitle = $this->getUserPageTitle(); + $usertalktitle = $usertitle->getTalkPage(); + if( !$usertalktitle->equals( $this->mTitle ) ) { + $ntl = wfMsg( 'youhavenewmessages', + $this->makeKnownLinkObj( + $usertalktitle, + wfMsgHtml( 'newmessageslink' ), + 'redirect=no' + ), + $this->makeKnownLinkObj( + $usertalktitle, + wfMsgHtml( 'newmessagesdifflink' ), + 'diff=cur' + ) + ); + # Disable Cache + $this->mOut->setSquidMaxage(0); + } + } else if (count($newtalks)) { + $sep = str_replace("_", " ", wfMsgHtml("newtalkseparator")); + $msgs = array(); + foreach ($newtalks as $newtalk) { + $msgs[] = wfElement("a", + array('href' => $newtalk["link"]), $newtalk["wiki"]); + } + $parts = implode($sep, $msgs); + $ntl = wfMsgHtml('youhavenewmessagesmulti', $parts); + $this->mOut->setSquidMaxage(0); + } else { + $ntl = ''; + } + return cbt_value( $ntl, 'dynamic' ); + } + + function showjumplinks() { + global $wgUser; + return cbt_value( $wgUser->getOption( 'showjumplinks' ) ? 'true' : '', 'user' ); + } + + function bodytext() { + return cbt_value( $this->mOut->getHTML(), 'dynamic' ); + } + + function catlinks() { + if ( !isset( $this->mCatlinks ) ) { + $this->mCatlinks = $this->getCategories(); + } + return cbt_value( $this->mCatlinks, 'dynamic' ); + } + + function extratabs( $itemTemplate ) { + global $wgContLang, $wgDisableLangConversion; + + $etpl = cbt_escape( $itemTemplate ); + + /* show links to different language variants */ + $variants = $wgContLang->getVariants(); + $s = ''; + if ( !$wgDisableLangConversion && count( $wgContLang->getVariants() ) > 1 ) { + $vcount=0; + foreach ( $variants as $code ) { + $name = $wgContLang->getVariantname( $code ); + if ( $name == 'disable' ) { + continue; + } + $code = cbt_escape( $code ); + $name = cbt_escape( $name ); + $s .= "{ca_variant {{$code}} {{$name}} {{$vcount}} {{$etpl}}}\n"; + $vcount ++; + } + } + return cbt_value( $s, array(), true ); + } + + function is_special() { return cbt_value( $this->mTitle->getNamespace() == NS_SPECIAL, 'title' ); } + function can_edit() { return cbt_value( (string)($this->mTitle->userCan( 'edit' )), 'dynamic' ); } + function can_move() { return cbt_value( (string)($this->mTitle->userCan( 'move' )), 'dynamic' ); } + function is_talk() { return cbt_value( (string)($this->mTitle->isTalkPage()), 'title' ); } + function is_protected() { return cbt_value( (string)$this->mTitle->isProtected(), 'dynamic' ); } + function nskey() { return cbt_value( $this->mTitle->getNamespaceKey(), 'title' ); } + + function request_url() { + global $wgRequest; + return cbt_value( $wgRequest->getRequestURL(), 'dynamic' ); + } + + function subject_url() { + $title = $this->getSubjectPage(); + if ( $title->exists() ) { + $url = $title->getLocalUrl(); + } else { + $url = $title->getLocalUrl( 'action=edit' ); + } + return cbt_value( $url, 'title' ); + } + + function talk_url() { + $title = $this->getTalkPage(); + if ( $title->exists() ) { + $url = $title->getLocalUrl(); + } else { + $url = $title->getLocalUrl( 'action=edit' ); + } + return cbt_value( $url, 'title' ); + } + + function edit_url() { + return cbt_value( $this->getEditUrl(), array( 'title', 'nonview dynamic' ) ); + } + + function move_url() { + return cbt_value( $this->makeSpecialParamUrl( 'Movepage' ), array(), true ); + } + + function localurl( $query ) { + return cbt_value( $this->mTitle->getLocalURL( $query ), 'title' ); + } + + function selecttab( $tab, $extraclass = '' ) { + if ( !isset( $this->mSelectedTab ) ) { + $prevent_active_tabs = false ; + wfRunHooks( 'SkinTemplatePreventOtherActiveTabs', array( &$this , &$preventActiveTabs ) ); + + $actionTabs = array( + 'edit' => 'edit', + 'submit' => 'edit', + 'history' => 'history', + 'protect' => 'protect', + 'unprotect' => 'protect', + 'delete' => 'delete', + 'watch' => 'watch', + 'unwatch' => 'watch', + ); + if ( $preventActiveTabs ) { + $this->mSelectedTab = false; + } else { + $action = $this->getAction(); + $section = $this->getSection(); + + if ( isset( $actionTabs[$action] ) ) { + $this->mSelectedTab = $actionTabs[$action]; + + if ( $this->mSelectedTab == 'edit' && $section == 'new' ) { + $this->mSelectedTab = 'addsection'; + } + } elseif ( $this->mTitle->isTalkPage() ) { + $this->mSelectedTab = 'talk'; + } else { + $this->mSelectedTab = 'subject'; + } + } + } + if ( $extraclass ) { + if ( $this->mSelectedTab == $tab ) { + $s = 'class="selected ' . htmlspecialchars( $extraclass ) . '"'; + } else { + $s = 'class="' . htmlspecialchars( $extraclass ) . '"'; + } + } else { + if ( $this->mSelectedTab == $tab ) { + $s = 'class="selected"'; + } else { + $s = ''; + } + } + return cbt_value( $s, array( 'nonview dynamic', 'title' ) ); + } + + function subject_newclass() { + $title = $this->getSubjectPage(); + $class = $title->exists() ? '' : 'new'; + return cbt_value( $class, 'dynamic' ); + } + + function talk_newclass() { + $title = $this->getTalkPage(); + $class = $title->exists() ? '' : 'new'; + return cbt_value( $class, 'dynamic' ); + } + + function ca_variant( $code, $name, $index, $template ) { + global $wgContLang; + $selected = ($code == $wgContLang->getPreferredVariant()); + $action = $this->getAction(); + $actstr = ''; + if( $action ) + $actstr = 'action=' . $action . '&'; + $s = strtr( $template, array( + '$id' => htmlspecialchars( 'varlang-' . $index ), + '$class' => $selected ? 'class="selected"' : '', + '$text' => $name, + '$href' => htmlspecialchars( $this->mTitle->getLocalUrl( $actstr . 'variant=' . $code ) ) + )); + return cbt_value( $s, 'dynamic' ); + } + + function is_watching() { + return cbt_value( (string)$this->mTitle->userIsWatching(), array( 'dynamic' ) ); + } + + + function personal_urls( $itemTemplate ) { + global $wgShowIPinHeader, $wgContLang; + + # Split this function up into many small functions, to obtain the + # best specificity in the dependencies of each one. The template below + # has no dependencies, so its generation, and any static subfunctions, + # can be optimised away. + $etpl = cbt_escape( $itemTemplate ); + $s = " + {userpage {{$etpl}}} + {mytalk {{$etpl}}} + {preferences {{$etpl}}} + {watchlist {{$etpl}}} + {mycontris {{$etpl}}} + {logout {{$etpl}}} + "; + + if ( $wgShowIPinHeader ) { + $s .= " + {anonuserpage {{$etpl}}} + {anontalk {{$etpl}}} + {anonlogin {{$etpl}}} + "; + } else { + $s .= "{login {{$etpl}}}\n"; + } + // No dependencies + return cbt_value( $s, array(), true /*this is a template*/ ); + } + + function userpage( $itemTemplate ) { + global $wgUser; + if ( $this->isLoggedIn() ) { + $userPage = $this->getUserPageTitle(); + $s = $this->makeTemplateLink( $itemTemplate, 'userpage', $userPage, $wgUser->getName() ); + } else { + $s = ''; + } + return cbt_value( $s, 'user' ); + } + + function mytalk( $itemTemplate ) { + global $wgUser; + if ( $this->isLoggedIn() ) { + $userPage = $this->getUserPageTitle(); + $talkPage = $userPage->getTalkPage(); + $s = $this->makeTemplateLink( $itemTemplate, 'mytalk', $talkPage, wfMsg('mytalk') ); + } else { + $s = ''; + } + return cbt_value( $s, 'user' ); + } + + function preferences( $itemTemplate ) { + if ( $this->isLoggedIn() ) { + $s = $this->makeSpecialTemplateLink( $itemTemplate, 'preferences', + 'Preferences', wfMsg( 'preferences' ) ); + } else { + $s = ''; + } + return cbt_value( $s, array( 'loggedin', 'lang' ) ); + } + + function watchlist( $itemTemplate ) { + if ( $this->isLoggedIn() ) { + $s = $this->makeSpecialTemplateLink( $itemTemplate, 'watchlist', + 'Watchlist', wfMsg( 'watchlist' ) ); + } else { + $s = ''; + } + return cbt_value( $s, array( 'loggedin', 'lang' ) ); + } + + function mycontris( $itemTemplate ) { + if ( $this->isLoggedIn() ) { + global $wgUser; + $s = $this->makeSpecialTemplateLink( $itemTemplate, 'mycontris', + "Contributions/" . $wgUser->getTitleKey(), wfMsg('mycontris') ); + } else { + $s = ''; + } + return cbt_value( $s, 'user' ); + } + + function logout( $itemTemplate ) { + if ( $this->isLoggedIn() ) { + $s = $this->makeSpecialTemplateLink( $itemTemplate, 'logout', + 'Userlogout', wfMsg( 'userlogout' ), + $this->mTitle->getNamespace() === NS_SPECIAL && $this->mTitle->getText() === 'Preferences' + ? '' : "returnto=" . $this->mTitle->getPrefixedURL() ); + } else { + $s = ''; + } + return cbt_value( $s, 'loggedin dynamic' ); + } + + function anonuserpage( $itemTemplate ) { + if ( $this->isLoggedIn() ) { + $s = ''; + } else { + global $wgUser; + $userPage = $this->getUserPageTitle(); + $s = $this->makeTemplateLink( $itemTemplate, 'userpage', $userPage, $wgUser->getName() ); + } + return cbt_value( $s, '!loggedin dynamic' ); + } + + function anontalk( $itemTemplate ) { + if ( $this->isLoggedIn() ) { + $s = ''; + } else { + $userPage = $this->getUserPageTitle(); + $talkPage = $userPage->getTalkPage(); + $s = $this->makeTemplateLink( $itemTemplate, 'mytalk', $talkPage, wfMsg('anontalk') ); + } + return cbt_value( $s, '!loggedin dynamic' ); + } + + function anonlogin( $itemTemplate ) { + if ( $this->isLoggedIn() ) { + $s = ''; + } else { + $s = $this->makeSpecialTemplateLink( $itemTemplate, 'anonlogin', 'Userlogin', + wfMsg( 'userlogin' ), 'returnto=' . urlencode( $this->getThisPDBK() ) ); + } + return cbt_value( $s, '!loggedin dynamic' ); + } + + function login( $itemTemplate ) { + if ( $this->isLoggedIn() ) { + $s = ''; + } else { + $s = $this->makeSpecialTemplateLink( $itemTemplate, 'login', 'Userlogin', + wfMsg( 'userlogin' ), 'returnto=' . urlencode( $this->getThisPDBK() ) ); + } + return cbt_value( $s, '!loggedin dynamic' ); + } + + function logopath() { return $GLOBALS['wgLogo']; } + function mainpage() { return self::makeMainPageUrl(); } + + function sidebar( $startSection, $endSection, $innerTpl ) { + $s = ''; + $lines = explode( "\n", wfMsgForContent( 'sidebar' ) ); + $firstSection = true; + foreach ($lines as $line) { + if (strpos($line, '*') !== 0) + continue; + if (strpos($line, '**') !== 0) { + $bar = trim($line, '* '); + $name = wfMsg( $bar ); + if (wfEmptyMsg($bar, $name)) { + $name = $bar; + } + if ( $firstSection ) { + $firstSection = false; + } else { + $s .= $endSection; + } + $s .= strtr( $startSection, + array( + '$bar' => htmlspecialchars( $bar ), + '$barname' => $name + ) ); + } else { + if (strpos($line, '|') !== false) { // sanity check + $line = explode( '|' , trim($line, '* '), 2 ); + $link = wfMsgForContent( $line[0] ); + if ($link == '-') + continue; + if (wfEmptyMsg($line[1], $text = wfMsg($line[1]))) + $text = $line[1]; + if (wfEmptyMsg($line[0], $link)) + $link = $line[0]; + $href = self::makeInternalOrExternalUrl( $link ); + + $s .= strtr( $innerTpl, + array( + '$text' => htmlspecialchars( $text ), + '$href' => htmlspecialchars( $href ), + '$id' => htmlspecialchars( 'n-' . strtr($line[1], ' ', '-') ), + '$classactive' => '' + ) ); + } else { continue; } + } + } + if ( !$firstSection ) { + $s .= $endSection; + } + + // Depends on user language only + return cbt_value( $s, 'lang' ); + } + + function searchaction() { + // Static link + return $this->getSearchLink(); + } + + function search() { + global $wgRequest; + return cbt_value( trim( $this->getSearch() ), 'special dynamic' ); + } + + function notspecialpage() { + return cbt_value( $this->mTitle->getNamespace() != NS_SPECIAL, 'special' ); + } + + function nav_whatlinkshere() { + return cbt_value( $this->makeSpecialParamUrl('Whatlinkshere' ), array(), true ); + } + + function article_exists() { + return cbt_value( (string)($this->mTitle->getArticleId() !== 0), 'title' ); + } + + function nav_recentchangeslinked() { + return cbt_value( $this->makeSpecialParamUrl('Recentchangeslinked' ), array(), true ); + } + + function feeds( $itemTemplate = '' ) { + if ( !$this->mOut->isSyndicated() ) { + $feeds = ''; + } elseif ( $itemTemplate == '' ) { + // boolean only required + $feeds = 'true'; + } else { + $feeds = ''; + global $wgFeedClasses, $wgRequest; + foreach( $wgFeedClasses as $format => $class ) { + $feeds .= strtr( $itemTemplate, + array( + '$key' => htmlspecialchars( $format ), + '$text' => $format, + '$href' => $wgRequest->appendQuery( "feed=$format" ) + ) ); + } + } + return cbt_value( $feeds, 'special dynamic' ); + } + + function is_userpage() { + list( $id, $ip ) = $this->getUserPageIdIp(); + return cbt_value( (string)($id || $ip), 'title' ); + } + + function is_ns_mediawiki() { + return cbt_value( (string)$this->mTitle->getNamespace() == NS_MEDIAWIKI, 'title' ); + } + + function is_loggedin() { + global $wgUser; + return cbt_value( (string)($wgUser->isLoggedIn()), 'loggedin' ); + } + + function nav_contributions() { + $url = $this->makeSpecialParamUrl( 'Contributions', '', '{title_userurl}' ); + return cbt_value( $url, array(), true ); + } + + function is_allowed( $right ) { + global $wgUser; + return cbt_value( (string)$wgUser->isAllowed( $right ), 'user' ); + } + + function nav_blockip() { + $url = $this->makeSpecialParamUrl( 'Blockip', '', '{title_userurl}' ); + return cbt_value( $url, array(), true ); + } + + function nav_emailuser() { + global $wgEnableEmail, $wgEnableUserEmail, $wgUser; + if ( !$wgEnableEmail || !$wgEnableUserEmail ) return ''; + + $url = $this->makeSpecialParamUrl( 'Emailuser', '', '{title_userurl}' ); + return cbt_value( $url, array(), true ); + } + + function nav_upload() { + global $wgEnableUploads, $wgUploadNavigationUrl; + if ( !$wgEnableUploads ) { + return ''; + } elseif ( $wgUploadNavigationUrl ) { + return $wgUploadNavigationUrl; + } else { + return self::makeSpecialUrl('Upload'); + } + } + + function nav_specialpages() { + return self::makeSpecialUrl('Specialpages'); + } + + function nav_print() { + global $wgRequest, $wgArticle; + $action = $this->getAction(); + $url = ''; + if( $this->mTitle->getNamespace() !== NS_SPECIAL + && ($action == '' || $action == 'view' || $action == 'purge' ) ) + { + $revid = $wgArticle->getLatest(); + if ( $revid != 0 ) { + $url = $wgRequest->appendQuery( 'printable=yes' ); + } + } + return cbt_value( $url, array( 'nonview dynamic', 'title' ) ); + } + + function nav_permalink() { + $url = (string)$this->getPermalink(); + return cbt_value( $url, 'dynamic' ); + } + + function nav_trackbacklink() { + global $wgUseTrackbacks; + if ( !$wgUseTrackbacks ) return ''; + + return cbt_value( $this->mTitle->trackbackURL(), 'title' ); + } + + function is_permalink() { + return cbt_value( (string)($this->getPermalink() === false), 'nonview dynamic' ); + } + + function toolboxend() { + // This is where the MonoBookTemplateToolboxEnd hook went in the old skin + return ''; + } + + function language_urls( $outer, $inner ) { + global $wgHideInterlanguageLinks, $wgOut, $wgContLang; + if ( $wgHideInterlanguageLinks ) return ''; + + $links = $wgOut->getLanguageLinks(); + $s = ''; + if ( count( $links ) ) { + foreach( $links as $l ) { + $tmp = explode( ':', $l, 2 ); + $nt = Title::newFromText( $l ); + $s .= strtr( $inner, + array( + '$class' => htmlspecialchars( 'interwiki-' . $tmp[0] ), + '$href' => htmlspecialchars( $nt->getFullURL() ), + '$text' => ($wgContLang->getLanguageName( $nt->getInterwiki() ) != ''? + $wgContLang->getLanguageName( $nt->getInterwiki() ) : $l ), + ) + ); + } + $s = str_replace( '$body', $s, $outer ); + } + return cbt_value( $s, 'dynamic' ); + } + + function poweredbyico() { return $this->getPoweredBy(); } + function copyrightico() { return $this->getCopyrightIcon(); } + + function lastmod() { + global $wgMaxCredits; + if ( $wgMaxCredits ) return ''; + + if ( !isset( $this->mLastmod ) ) { + if ( $this->isCurrentArticleView() ) { + $this->mLastmod = $this->lastModified(); + } else { + $this->mLastmod = ''; + } + } + return cbt_value( $this->mLastmod, 'dynamic' ); + } + + function viewcount() { + global $wgDisableCounters; + if ( $wgDisableCounters ) return ''; + + global $wgLang, $wgArticle; + if ( is_object( $wgArticle ) ) { + $viewcount = $wgLang->formatNum( $wgArticle->getCount() ); + if ( $viewcount ) { + $viewcount = wfMsg( "viewcount", $viewcount ); + } else { + $viewcount = ''; + } + } else { + $viewcount = ''; + } + return cbt_value( $viewcount, 'dynamic' ); + } + + function numberofwatchingusers() { + global $wgPageShowWatchingUsers; + if ( !$wgPageShowWatchingUsers ) return ''; + + $dbr = wfGetDB( DB_SLAVE ); + extract( $dbr->tableNames( 'watchlist' ) ); + $sql = "SELECT COUNT(*) AS n FROM $watchlist + WHERE wl_title='" . $dbr->strencode($this->mTitle->getDBkey()) . + "' AND wl_namespace=" . $this->mTitle->getNamespace() ; + $res = $dbr->query( $sql, 'SkinTemplate::outputPage'); + $row = $dbr->fetchObject( $res ); + $num = $row->n; + if ($num > 0) { + $s = wfMsg('number_of_watching_users_pageview', $num); + } else { + $s = ''; + } + return cbt_value( $s, 'dynamic' ); + } + + function credits() { + global $wgMaxCredits; + if ( !$wgMaxCredits ) return ''; + + if ( $this->isCurrentArticleView() ) { + require_once("Credits.php"); + global $wgArticle, $wgShowCreditsIfMax; + $credits = getCredits($wgArticle, $wgMaxCredits, $wgShowCreditsIfMax); + } else { + $credits = ''; + } + return cbt_value( $credits, 'view dynamic' ); + } + + function normalcopyright() { + return $this->getCopyright( 'normal' ); + } + + function historycopyright() { + return $this->getCopyright( 'history' ); + } + + function is_currentview() { + global $wgRequest; + return cbt_value( (string)$this->isCurrentArticleView(), 'view' ); + } + + function usehistorycopyright() { + global $wgRequest; + if ( wfMsgForContent( 'history_copyright' ) == '-' ) return ''; + + $oldid = $this->getOldId(); + $diff = $this->getDiff(); + $use = (string)(!is_null( $oldid ) && is_null( $diff )); + return cbt_value( $use, 'nonview dynamic' ); + } + + function privacy() { + return cbt_value( $this->privacyLink(), 'lang' ); + } + function about() { + return cbt_value( $this->aboutLink(), 'lang' ); + } + function disclaimer() { + return cbt_value( $this->disclaimerLink(), 'lang' ); + } + function tagline() { + # A reference to this tag existed in the old MonoBook.php, but the + # template data wasn't set anywhere + return ''; + } + function reporttime() { + return cbt_value( $this->mOut->reportTime(), 'dynamic' ); + } + + function msg( $name ) { + return cbt_value( wfMsg( $name ), 'lang' ); + } + + function fallbackmsg( $name, $fallback ) { + $text = wfMsg( $name ); + if ( wfEmptyMsg( $name, $text ) ) { + $text = $fallback; + } + return cbt_value( $text, 'lang' ); + } + + /****************************************************** + * Utility functions * + ******************************************************/ + + /** Return true if this request is a valid, secure CSS preview */ + function isCssPreview() { + if ( !isset( $this->mCssPreview ) ) { + global $wgRequest, $wgAllowUserCss, $wgUser; + $this->mCssPreview = + $wgAllowUserCss && + $wgUser->isLoggedIn() && + $this->mTitle->isCssSubpage() && + $this->userCanPreview( $this->getAction() ); + } + return $this->mCssPreview; + } + + /** Return true if this request is a valid, secure JS preview */ + function isJsPreview() { + if ( !isset( $this->mJsPreview ) ) { + global $wgRequest, $wgAllowUserJs, $wgUser; + $this->mJsPreview = + $wgAllowUserJs && + $wgUser->isLoggedIn() && + $this->mTitle->isJsSubpage() && + $this->userCanPreview( $this->getAction() ); + } + return $this->mJsPreview; + } + + /** Get the title of the $wgUser's user page */ + function getUserPageTitle() { + if ( !isset( $this->mUserPageTitle ) ) { + global $wgUser; + $this->mUserPageTitle = $wgUser->getUserPage(); + } + return $this->mUserPageTitle; + } + + /** Get the text of the user page title */ + function getUserPageText() { + if ( !isset( $this->mUserPageText ) ) { + $userPage = $this->getUserPageTitle(); + $this->mUserPageText = $userPage->getPrefixedText(); + } + return $this->mUserPageText; + } + + /** Make an HTML element for a stylesheet link */ + function makeStylesheetLink( $url ) { + return '"; + } + + /** Make an XHTML element for inline CSS */ + function makeStylesheetCdata( $style ) { + return ""; + } + + /** Get the edit URL for this page */ + function getEditUrl() { + if ( !isset( $this->mEditUrl ) ) { + $this->mEditUrl = $this->mTitle->getLocalUrl( $this->editUrlOptions() ); + } + return $this->mEditUrl; + } + + /** Get the prefixed DB key for this page */ + function getThisPDBK() { + if ( !isset( $this->mThisPDBK ) ) { + $this->mThisPDBK = $this->mTitle->getPrefixedDbKey(); + } + return $this->mThisPDBK; + } + + function getThisTitleUrlForm() { + if ( !isset( $this->mThisTitleUrlForm ) ) { + $this->mThisTitleUrlForm = $this->mTitle->getPrefixedURL(); + } + return $this->mThisTitleUrlForm; + } + + /** + * If the current page is a user page, get the user's ID and IP. Otherwise return array(0,false) + */ + function getUserPageIdIp() { + if ( !isset( $this->mUserPageId ) ) { + if( $this->mTitle->getNamespace() == NS_USER || $this->mTitle->getNamespace() == NS_USER_TALK ) { + $this->mUserPageId = User::idFromName($this->mTitle->getText()); + $this->mUserPageIp = User::isIP($this->mTitle->getText()); + } else { + $this->mUserPageId = 0; + $this->mUserPageIp = false; + } + } + return array( $this->mUserPageId, $this->mUserPageIp ); + } + + /** + * Returns a permalink URL, or false if the current page is already a + * permalink, or blank if a permalink shouldn't be displayed + */ + function getPermalink() { + if ( !isset( $this->mPermalink ) ) { + global $wgRequest, $wgArticle; + $action = $this->getAction(); + $oldid = $this->getOldId(); + $url = ''; + if( $this->mTitle->getNamespace() !== NS_SPECIAL + && $this->mTitle->getArticleId() != 0 + && ($action == '' || $action == 'view' || $action == 'purge' ) ) + { + if ( !$oldid ) { + $revid = $wgArticle->getLatest(); + $url = $this->mTitle->getLocalURL( "oldid=$revid" ); + } else { + $url = false; + } + } else { + $url = ''; + } + } + return $url; + } + + /** + * Returns true if the current page is an article, not a special page, + * and we are viewing a revision, not a diff + */ + function isArticleView() { + global $wgOut, $wgArticle, $wgRequest; + if ( !isset( $this->mIsArticleView ) ) { + $oldid = $this->getOldId(); + $diff = $this->getDiff(); + $this->mIsArticleView = $wgOut->isArticle() and + (!is_null( $oldid ) or is_null( $diff )) and 0 != $wgArticle->getID(); + } + return $this->mIsArticleView; + } + + function isCurrentArticleView() { + if ( !isset( $this->mIsCurrentArticleView ) ) { + global $wgOut, $wgArticle, $wgRequest; + $oldid = $this->getOldId(); + $this->mIsCurrentArticleView = $wgOut->isArticle() && is_null( $oldid ) && 0 != $wgArticle->getID(); + } + return $this->mIsCurrentArticleView; + } + + + /** + * Return true if the current page is editable; if edit section on right + * click should be enabled. + */ + function isEditable() { + global $wgRequest; + $action = $this->getAction(); + return ($this->mTitle->getNamespace() != NS_SPECIAL and !($action == 'edit' or $action == 'submit')); + } + + /** Return true if the user is logged in */ + function isLoggedIn() { + global $wgUser; + return $wgUser->isLoggedIn(); + } + + /** Get the local URL of the current page */ + function getPageUrl() { + if ( !isset( $this->mPageUrl ) ) { + $this->mPageUrl = $this->mTitle->getLocalURL(); + } + return $this->mPageUrl; + } + + /** Make a link to a title using a template */ + function makeTemplateLink( $template, $key, $title, $text ) { + $url = $title->getLocalUrl(); + return strtr( $template, + array( + '$key' => $key, + '$classactive' => ($url == $this->getPageUrl()) ? 'class="active"' : '', + '$class' => $title->getArticleID() == 0 ? 'class="new"' : '', + '$href' => htmlspecialchars( $url ), + '$text' => $text + ) ); + } + + /** Make a link to a URL using a template */ + function makeTemplateLinkUrl( $template, $key, $url, $text ) { + return strtr( $template, + array( + '$key' => $key, + '$classactive' => ($url == $this->getPageUrl()) ? 'class="active"' : '', + '$class' => '', + '$href' => htmlspecialchars( $url ), + '$text' => $text + ) ); + } + + /** Make a link to a special page using a template */ + function makeSpecialTemplateLink( $template, $key, $specialName, $text, $query = '' ) { + $url = self::makeSpecialUrl( $specialName, $query ); + // Ignore the query when comparing + $active = ($this->mTitle->getNamespace() == NS_SPECIAL && $this->mTitle->getDBkey() == $specialName); + return strtr( $template, + array( + '$key' => $key, + '$classactive' => $active ? 'class="active"' : '', + '$class' => '', + '$href' => htmlspecialchars( $url ), + '$text' => $text + ) ); + } + + function loadRequestValues() { + global $wgRequest; + $this->mAction = $wgRequest->getText( 'action' ); + $this->mOldId = $wgRequest->getVal( 'oldid' ); + $this->mDiff = $wgRequest->getVal( 'diff' ); + $this->mSection = $wgRequest->getVal( 'section' ); + $this->mSearch = $wgRequest->getVal( 'search' ); + $this->mRequestValuesLoaded = true; + } + + + + /** Get the action parameter of the request */ + function getAction() { + if ( !isset( $this->mRequestValuesLoaded ) ) { + $this->loadRequestValues(); + } + return $this->mAction; + } + + /** Get the oldid parameter */ + function getOldId() { + if ( !isset( $this->mRequestValuesLoaded ) ) { + $this->loadRequestValues(); + } + return $this->mOldId; + } + + /** Get the diff parameter */ + function getDiff() { + if ( !isset( $this->mRequestValuesLoaded ) ) { + $this->loadRequestValues(); + } + return $this->mDiff; + } + + function getSection() { + if ( !isset( $this->mRequestValuesLoaded ) ) { + $this->loadRequestValues(); + } + return $this->mSection; + } + + function getSearch() { + if ( !isset( $this->mRequestValuesLoaded ) ) { + $this->loadRequestValues(); + } + return $this->mSearch; + } + + /** Make a special page URL of the form [[Special:Somepage/{title_urlform}]] */ + function makeSpecialParamUrl( $name, $query = '', $param = '{title_urlform}' ) { + // Abuse makeTitle's lax validity checking to slip a control character into the URL + $title = Title::makeTitle( NS_SPECIAL, "$name/\x1a" ); + $url = cbt_escape( $title->getLocalURL( $query ) ); + // Now replace it with the parameter + return str_replace( '%1A', $param, $url ); + } + + function getSubjectPage() { + if ( !isset( $this->mSubjectPage ) ) { + $this->mSubjectPage = $this->mTitle->getSubjectPage(); + } + return $this->mSubjectPage; + } + + function getTalkPage() { + if ( !isset( $this->mTalkPage ) ) { + $this->mTalkPage = $this->mTitle->getTalkPage(); + } + return $this->mTalkPage; + } +} + diff --git a/skins/modern/audio.png b/skins/modern/audio.png new file mode 100644 index 0000000000000000000000000000000000000000..1c56bdc8d8bcef5c6b1a9f588462dd622fe911c7 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^+(695!3-or^+GlRDVB6cUq=Rp^(V|(yIunMk|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5X>;rs4T${K4Kl9-KtV93f=l_qM z`~U5i|7*|v|NZy>)A#?U?EgRa$p5|9|2J*<@7VkQ*@ypSYyYP${$Ic8>Hq)#8Pd)G z$vx|pdw@oXmIV0)1GyN0LHlOyE1-fnPZ!6Kid#tnj7*M+0-8($4m=6V4CL93?X4Xc z3^};CxVSlsH*WZ3#Ka=dykWzJ2@^JSFi5NO10@+E70iU0w=*~}C~jtC;)vu0GG4QC lD5MxOGIcPX)N5d1W|$Jmw(?|p<0PO>44$rjF6*2UngG5OfRX?J literal 0 HcmV?d00001 diff --git a/skins/modern/bullet.gif b/skins/modern/bullet.gif new file mode 100644 index 0000000000000000000000000000000000000000..b43de48a4701e5123846ee5f0357b65065eca04a GIT binary patch literal 50 zcmZ?wbhEHbWM$xGXkcJS?wRxd|9{1wEQ|~cj0`#qKmd|qVB+lQU%C4M|KgUF4AuZl Cg$<e4KpXQG};@9n0zwW&DZTIzWdv1I`eE9IGBbP27zkK-4kK^}#oVfqv?4uv& zAN{=i^w*VVzpg&}b?eoyyRU!Wd;Rd6Ymss zZewO(k>dE2+|J9S5+qQu;bBwr43)+YI}8uEatX^@B+OXAkl`s~5+~5X(B#0x#m&O7 zSE8AfOHkG*B*B2;07o|)!wS}f15V6a(*-9@Nhn)#XG`HzE|b;U*WYhqWMr@g0JP%O A$^ZZW literal 0 HcmV?d00001 diff --git a/skins/modern/document.png b/skins/modern/document.png new file mode 100644 index 0000000000000000000000000000000000000000..b48138e90e81ea81c473287bbe07e0078d9211d4 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3-q#Nxt6%q*&4&eH|GX)}JtE?Rp91OP07s zlmzFem6RtIr7}3C*qlmz(&gG8Z#LFoRub3pM3PZ!6Kid#t! zn3&SU^70xOk{&#I^5jWU!b3I=1vb5~vNAn2H!+ZK(&GmVCz)6TB3kCooyx7ya6m~$ yCMSl0kwu)5LtzJp14HB1W*-KSCJhD-1BRTrOpOPNYCZw&VDNPHb6Mw<&;$VcA7>5# literal 0 HcmV?d00001 diff --git a/skins/modern/external.png b/skins/modern/external.png new file mode 100644 index 0000000000000000000000000000000000000000..419c06fb960b0b665791c90044a78621616a4cb8 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&i3a$DxTeiKV?6WB%rpNP(#|lX z{f7XTR~%D;3fN16{DL7O3{u|AZa^UmPZ!4!iE!1^jzSC$EX7 z>#2$@InOtpuqyg8<+R}9g-+|v&13&5`dCp`{|95_8^+nQkC>(b&0z3!^>bP0l+XkK DO07OF literal 0 HcmV?d00001 diff --git a/skins/modern/file_icon.gif b/skins/modern/file_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..847f6485efb453b6340f92f6d40db60a776a3b92 GIT binary patch literal 921 zcmZ?wbhEHb6krfw_|CxK=jZoda8h@7ckkX0E6#q|aPjM=%U^d~`?l-)x4k#N9k~7d z@SX3+?tMS`;K!MVKh8h?dGX25tIvO4dG_o2i=Ve%{<`z}*WK5@?!Wo<=-uxp?|(n} z@cY@vKQBN1dGqDZyRUygeE<9D``<4={(bxP@5k@|zyAFH{pbJRfB*me`ws*RqhK@y z208>3f3h$#FfcOcfE)tK6AT<>49pxd9vc=MY-VTGh~Z#JWMI@#TGVjEVBwKYL2a=X ziH$7`3<{=vEfq~J9Q@2dT_PF>j&KOb8bwSnNOlpXJ&Y9{gTtIdEy>Ygr+Asp9P4=xl08ppixp0tmzs>ZdH oY9Y@{cQ@`XF*kM=$_WnTw<=(|8@@N_Do_i9r>mdKI;Vst0HqovSO5S3 literal 0 HcmV?d00001 diff --git a/skins/modern/link_icon.gif b/skins/modern/link_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..815ccb1b1ca04a07ba4d90178e909fae30c26889 GIT binary patch literal 942 zcmZ?wbhEHb6krfw_|Cv!Rv=?lA?xSoXWJlW-y-KVSut>yO6Y90u(|3{^EKiY>ZB|; zOkZxCv&yVstySqp`?_r&VM~4{tofO<@n^y2pVhm6{ui9oveU17U)b~`X|s=J%{`X8 z_+)8!cX!*qpKH!EbshRO`{b|rr+=-w_-os>Upue;I&ts!&F7~tKmL2;#ot%2UOjpD z@5TFnAHM$k_VXXZC>RX^`i6kwPZmZ71~CR5khP#Z!NAeYpvxiSv0=f%W)9Y}2n~gW zt*x8_Gc*(zEIi1^En`zK;ZS1}lNe`NMFHdCR#5>7367NoM_PGgVm9o!aNq#LG}(YD zH$E&p+9j-|{lH}6qLwxxO`nPx4vguX!UB2@9F9&c?3_CCS_u~#8kqzYX2t0wJOHxf cG+a)s+Q8h%$jA^gqaky7k&s78}-D?A&I)Z>QO@L#8K>np`|*eD{X({oDFi zE*RgsW_bIC;e*=-5AFbw(b-ecPae2GdEoWzQPlG%u`iyaPntAo(V|7`)~&m7ZO+@* z-S6Kn{P1r1M_wNsX|9<)Z@9%#g zU>F6XAuuo@p!k!8k%2)62!Q~UCm1-286r7EW-LrN*vP@2Cb5v|CRNKE3`spQHjC~p=q<3mGg8zU>9PR54^ tj;#E4+4s(5Iy#-7z{DZpaNt1WMLy5mM^`KvnNACc9q!s|V4%QY4FEFIiq8N5 literal 0 HcmV?d00001 diff --git a/skins/modern/mail_icon.gif b/skins/modern/mail_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..50a87a9a0689ac0dbaed5410b2c7f0fd107ae7b2 GIT binary patch literal 918 zcmZ?wbhEHb6krfw_|CxK=jWHQ@aa2qg%2+JpA!8SFJ9cV`Bm@U4;wFh+IIQ#&a0pI zUjMT1#+O64z8<~v_2j*8r|y5d@c8@1$KS6#`*G{#&pWSv-hK7+{+nM9-~M{??$?Wt zzh8d({rdBtw_pBz`1a@1_rG6%{{8v;-=Dw#{{8#^R$To5|Nji5U^D~4HOux0sbe9%m4rY literal 0 HcmV?d00001 diff --git a/skins/modern/main.css b/skins/modern/main.css new file mode 100644 index 00000000..d9537c18 --- /dev/null +++ b/skins/modern/main.css @@ -0,0 +1,1098 @@ +body { + margin: 0 0 0 0; + padding: 0 0 0 0; + /*font-size: 10pt;*/ + font-size: x-small; + + + font-family: sans-serif; + color: black; + background-color: #f0f0f0; +} + +#mw_main, +#p-personal, +#mw_header, +.os-suggest { + font-size: 130%; +} + +#mw_header { + position: absolute; + top: 0; + left: 0; + margin: 0 0 0 0; + padding: 0 0em 0 0em; + border: none; + height: 2em; + width: 100%; + + background-color: #003366; + color: white; +} + +#mw_header h1 { + margin: 0 0 0 0.5em; + padding: 0 0 0 0; + text-decoration: none; + font-size: 150%; +} + +#p-personal { + position: absolute; + top: 2em; + left: 0; + height: 1.5em; + margin: 0 0 0 0; + padding: 0 0 0 0; + width: 100%; + +} + +#p-personal div.pBody { + margin: 0 0 0 0; + padding: 0 0 0 0; + height: 1.5em; + font-variant: small-caps; +} + +#p-personal h5 { + display: none; +} + +#p-personal ul { + margin: 0 0 0 0; + padding: 0 0 0 0; + display: block; + height: 1.5em; + background-color: #3c78b5; +} + +#p-personal li { + display: block; float: left; + height: 1.5em; + margin: 0 0 0 0; + vertical-align: middle; + + font-weight: bold; + text-transform: lowercase; +} + +#p-personal li a { + text-decoration: none; + color: white; + padding: 0 1em 0 1em; +} + +#p-personal li a:hover { + text-decoration: none; + color: white; +} + +#p-personal li:hover { + background-color: #003366; +} + +#jump-to-nav { + display: none; +} + +#mw_contentwrapper { + width: 100%; + margin: 0 0 0 -15em; + float: right; +} + +#mw_content { + margin: 0 0 0 14em; + + background-color: white; + border-top: solid 1px #bbbbbb; + border-left: solid 1px #bbbbbb; + border-bottom: solid 1px #bbbbbb; + + line-height: 1.5em; + padding: 0 1em 1em 1em; +} + +#mw_portlets { + width: 14em; + + border-right: solid 1px #bbbbbb; + background-color: #f0f0f0; +} + +#mw_main { + padding: 0 0 0 0; + margin: 0 0 0 0; + margin-top: 3.5em; +} + +div.mw_clear { + margin: 0 0 0 0; + padding: 0 0 0 0; + clear: both; +} + +.portlet { + padding: 0 0 0 0; + margin: 0 0 0 0; +} + +.portlet div.pBody { + padding: 0em 0 0.5em 0; +} + +textarea { + width: 100%; + padding: .1em; +} + +#searchBody { + text-align: center; +} + +#searchInput { + display: block; + margin-left: auto; + margin-right: auto; +} + +.portlet h5 { + padding: 0.1em 0 0.3em 1em; + margin: 0 0 0 0; + background-color: #dddddd; + font-weight: bold; + border-bottom: solid 1px #3c78b5; + height: 1.1em; +} + +.portlet ul { + margin: 0 0 0 1.5em; + padding: 0 0 0 0; +} + +#mw_portlets .portlet ul { + line-height: 1.4em; +} + +ul { + list-style-image: url(bullet.gif); +} + +#p-cactions { + height: 1.5em; + padding: 0 0 0 0; + margin: 0 0 0 14em; +} + +#p-cactions div.pBody { + margin: 0 0 0 0; + padding: 0 0 0 0; +} + +#p-cactions a, +#p-cactions a:hover { + color: black; + text-decoration: none; +} + +#p-cactions ul { + display: inline; + margin: 0 0 0 0; + padding: 0 0 0 0; +} + +#p-cactions li { + margin: 0 0.5em 0 0.5em; + padding: 0 0.2em 0 0.2em; + display: block; + float: left; + height: 1.5em; + text-transform: lowercase; +} + +#p-cactions li.selected { + background-color: #bbbbbb; +} + +#p-cactions li a, +#p-cactions li a:hover, +#p-cactions li a:visited { + text-decoration: underline; + color: #003366; +} + +#p-cactions li.selected a, +#p-cactions li.selected a:hover, +#p-cactions li.selected a:visited { + text-decoration: none; + color: white; +} + +#p-cactions h5 { + display: none; +} + +#siteSub { + display: none; +} + +#footer { + background-color: #f0f0f0; + background: url(footer-grad.png) repeat-x 0 0; + padding: 10px 1em 1em 1em; + clear:both; + color: #444444; +} + +#footer a, +#footer a:hover, +#footer a:visited { + color: #444444; + text-decoration: underline; +} + +img { + border: none; +} + +#footer li { + display: inline; + list-style-type: none; + padding: 0 0 0 0; + margin: 0 0 0 0; +} + +#footer ul { + padding: 0 0 0 0; + margin: 0 0 0 0; +} + +div.printfooter { + display: none; +} + +p { + margin: 1em 0 1em 0; +} + +hr { + height: 1px; + color: #aaa; + background-color: #aaa; + border: 0; + margin: .2em 0 .2em 0; +} + +#contentSub { + color: #888; + font-size: small; + padding-left: 2em; +} + +#mw_portlets form { + margin: 0 0 0 0; + padding: 0 0 0 0; +} + +a { + text-decoration: none; + color: #003366; + background: none; +} +a:visited { + color: #5a3696; +} +a:active { + color: #faa700; +} +a:hover { + text-decoration: underline; +} +a.stub { + color: #772233; +} +a.new { + color: #ba0000; +} +a.new:visited { + color: #a55858; +} + +span.editsection { + font-size: small; +} + +h1, h2 { + border-bottom: solid 1px #003366; +} + +#preftoc { + width: 100%; + margin: 0 0 0 0; + padding: 0 0 0 0; + height: 1.5em; + clear: right; +} + +#preftoc li { + margin: 0 0.5em 0 0.5em; + padding: 0 0.2em 0 0.2em; + display: block; + float: left; + height: 1.5em; + text-transform: lowercase; +} + +#preferences { + margin: 0 0 0 0; + padding: 0em 1em 1em 1em; + border: solid 1px #bbbbbb; + clear: left; /* Multi-line toc should not push data to horizontally */ +} + +#preferences fieldset { + margin-top: 0; + border: none; +} + +#preferences h2 { +} + +.mainLegend { + display: none; +} + +.prefsectiontip { + font-size: x-small; + padding: .2em 2em; + color: #666; +} + +.prefsection legend { + font-weight: bold; +} + +#preftoc li.selected { + background-color: #bbbbbb; +} + +#preftoc li a, +#preftoc li a:hover, +#preftoc li a:visited { + text-decoration: underline; + color: #003366; +} + +#preftoc li.selected a, +#preftoc li.selected a:hover, +#preftoc li.selected a:visited { + text-decoration: none; + color: white; +} + +#mw_content a.external, +#mw_content a[href ^="gopher://"] { + background: url(external.png) center right no-repeat; + padding-right: 13px; +} +#mw_content a[href ^="https://"], +.link-https { + background: url(lock_icon.gif) center right no-repeat; + padding-right: 16px; +} +#mw_content a[href ^="mailto:"], +.link-mailto { + background: url(mail_icon.gif) center right no-repeat; + padding-right: 18px; +} +#mw_content a[href ^="news://"] { + background: url(news_icon.png) center right no-repeat; + padding-right: 18px; +} +#mw_content a[href ^="ftp://"], +.link-ftp { + background: url(file_icon.gif) center right no-repeat; + padding-right: 18px; +} +#mw_content a[href ^="irc://"], +#mw_content a.extiw[href ^="irc://"], +.link-irc { + background: url(discussionitem_icon.gif) center right no-repeat; + padding-right: 18px; +} + +#mw_content a.external[href $=".ogg"], #mw_content a.external[href $=".OGG"], +#mw_content a.external[href $=".mid"], #mw_content a.external[href $=".MID"], +#mw_content a.external[href $=".midi"], #mw_content a.external[href $=".MIDI"], +#mw_content a.external[href $=".mp3"], #mw_content a.external[href $=".MP3"], +#mw_content a.external[href $=".wav"], #mw_content a.external[href $=".WAV"], +#mw_content a.external[href $=".wma"], #mw_content a.external[href $=".WMA"], +.link-audio { + background: url("audio.png") center right no-repeat; + padding-right: 13px; +} +#mw_content a.external[href $=".ogm"], #mw_content a.external[href $=".OGM"], +#mw_content a.external[href $=".avi"], #mw_content a.external[href $=".AVI"], +#mw_content a.external[href $=".mpeg"], #mw_content a.external[href $=".MPEG"], +#mw_content a.external[href $=".mpg"], #mw_content a.external[href $=".MPG"], +.link-video { + background: url("video.png") center right no-repeat; + padding-right: 13px; +} +#mw_content a.external[href $=".pdf"], #mw_content a.external[href $=".PDF"], +#mw_content a.external[href *=".pdf#"], #mw_content a.external[href *=".PDF#"], +#mw_content a.external[href *=".pdf?"], #mw_content a.external[href *=".PDF?"], +.link-document { + background: url("document.png") center right no-repeat; + padding-right: 12px; +} + +/* images */ +div.floatright, table.floatright { + clear: right; + float: right; + position: relative; + margin: 0 0 .5em .5em; + border: 0; +/* + border: .5em solid white; + border-width: .5em 0 .8em 1.4em; +*/ +} +div.floatright p { font-style: italic; } +div.floatleft, table.floatleft { + float: left; + clear: left; + position: relative; + margin: 0 .5em .5em 0; + border: 0; +/* + margin: .3em .5em .5em 0; + border: .5em solid white; + border-width: .5em 1.4em .8em 0; +*/ +} +div.floatleft p { font-style: italic; } +/* thumbnails */ +div.thumb { + margin-bottom: .5em; + border-style: solid; + border-color: white; + width: auto; +} +div.thumbinner { + border: 1px solid #ccc; + padding: 3px !important; + background-color: #f9f9f9; + font-size: 94%; + text-align: center; + overflow: hidden; +} +html .thumbimage { + border: 1px solid #ccc; +} +html .thumbcaption { + border: none; + text-align: left; + line-height: 1.4em; + padding: 3px !important; + font-size: 94%; +} +div.magnify { + float: right; + border: none !important; + background: none !important; +} +div.magnify a, div.magnify img { + display: block; + border: none !important; + background: none !important; +} +div.tright { + clear: right; + float: right; + border-width: .5em 0 .8em 1.4em; +} +div.tleft { + float: left; + clear: left; + margin-right: .5em; + border-width: .5em 1.4em .8em 0; +} +img.thumbborder { + border: 1px solid #dddddd; +} +.hiddenStructure { + display: none; +} + +#mw_content .plainlinks a { + background: none !important; + padding: 0 !important; +} + +.mw-warning { + border: 1px solid #aaa; + background-color: #f9f9f9; + padding: 5px; + font-size: 95%; +} + +#toc, +.toc { + margin: 0 0 0 0; + padding: 0 0 0 0; + border-spacing: 0; + background-color: #f0f0f0; + border: solid 1px #bbbbbb; +} + +#toc tr, #toc td { + margin: 0 0 0 0; + padding: 0 0 0 0; +} + +#toctitle { + border-bottom: solid 1px #3c78b5; + background-color: #dddddd; + margin: 0 0 0 0; +} + +#toc h2, +.toc h2 { + display: inline; + border: none; + padding: 0; + font-size: 100%; + font-weight: bold; +} +#toc #toctitle, +.toc #toctitle, +#toc .toctitle, +.toc .toctitle { + text-align: center; +} + +#toc ul, +.toc ul { + list-style-type: none; + list-style-image: none; + margin: 0 1em 0 1em; + padding-left: 0; + text-align: left; +} + +#toc ul ul, +.toc ul ul { + margin: 0 0 0 2em; +} + +#toc .toctoggle, +.toc .toctoggle { + font-size: 94%; +} + +.mw-warning { + margin-left: 50px; + margin-right: 50px; + text-align: center; +} + +.catlinks { + border: solid 1px #bbbbbb; + background-color: #f0f0f0; + padding: 0.5em 0.5em 0.5em 0.5em; + margin: 0 0 0 0; +} + +.catlinks { + margin: 0 0 0 0; + padding: 0 0 0 0; +} + +#mw_header h1, +#p-personal, +#p-cactions { + overflow: hidden; +} + +/* disable interwiki styling */ +#mw_content a.extiw, +#mw_content a.extiw:active { + color: #36b; + background: none; + padding: 0; +} +#mw_content a.external { + color: #36b; +} + + + +.redirectText { + font-size: 150%; + margin: 5px; +} + +.printfooter { + display: none; +} + +.not-patrolled { + background-color: #ffa; +} +div.patrollink { + font-size: 75%; + text-align: right; +} +span.newpage, span.minor, span.bot { + font-weight: bold; +} +span.unpatrolled { + font-weight: bold; + color: red; +} + +.sharedUploadNotice { + font-style: italic; +} + +span.updatedmarker { + color: black; + background-color: #0f0; +} + +table.gallery { + border: 1px solid #ccc; + margin: 2px; + padding: 2px; + background-color: white; +} + +table.gallery tr { + vertical-align: top; +} + +table.gallery td { + vertical-align: top; + background-color: #f9f9f9; + border: solid 2px white; +} +/* Keep this temporarily so that cached pages will display right */ +table.gallery td.galleryheader { + text-align: center; + font-weight: bold; +} +table.gallery caption { + font-weight: bold; +} + +div.gallerybox { + margin: 2px; +} + +div.gallerybox div.thumb { + text-align: center; + border: 1px solid #ccc; + margin: 2px; +} + +div.gallerytext { + overflow: hidden; + font-size: 94%; + padding: 2px 4px; +} + +span.comment { + font-style: italic; +} + +span.changedby { + font-size: 95%; +} + +.previewnote { + text-indent: 3em; + color: #c00; + border-bottom: 1px solid #aaa; + padding-bottom: 1em; + margin-bottom: 1em; +} + +.previewnote p { + margin: 0; + padding: 0; +} + +.editExternally { + border: 1px solid gray; + background-color: #ffffff; + padding: 3px; + margin-top: 0.5em; + float: left; + font-size: small; + text-align: center; +} +.editExternallyHelp { + font-style: italic; + color: gray; +} + +.toggle { + margin-left: 2em; + text-indent: -2em; +} + +/* Classes for EXIF data display */ +table.mw_metadata { + font-size: 0.8em; + margin-left: 0.5em; + margin-bottom: 0.5em; + width: 300px; +} + +table.mw_metadata caption { + font-weight: bold; +} + +table.mw_metadata th { + font-weight: normal; +} + +table.mw_metadata td { + padding: 0.1em; +} + +table.mw_metadata { + border: none; + border-collapse: collapse; +} + +table.mw_metadata td, table.mw_metadata th { + text-align: center; + border: 1px solid #aaaaaa; + padding-left: 0.1em; + padding-right: 0.1em; +} + +table.mw_metadata th { + background-color: #f9f9f9; +} + +table.mw_metadata td { + background-color: #fcfcfc; +} + +table.collapsed tr.collapsable { + display: none; +} + + +/* filetoc */ +ul#filetoc { + text-align: center; + border: 1px solid #aaaaaa; + background-color: #f9f9f9; + padding: 5px; + font-size: 95%; + margin-bottom: 0.5em; + margin-left: 0; + margin-right: 0; +} + +#filetoc li { + display: inline; + list-style-type: none; + padding-right: 2em; +} + +input#wpSummary { + width: 80%; +} + +/* @bug 1714 */ +input#wpSave, input#wpDiff { + margin-right: 0.33em; +} + +#wpSave { + font-weight: bold; +} + +/* Classes for article validation */ + +table.revisionform_default { + border: 1px solid #000000; +} + +table.revisionform_focus { + border: 1px solid #000000; + background-color:#00BBFF; +} + +tr.revision_tr_default { + background-color:#EEEEEE; +} + +tr.revision_tr_first { + background-color:#DDDDDD; +} + +p.revision_saved { + color: green; + font-weight:bold; +} + +#mw_trackbacks { + border: solid 1px #bbbbff; + background-color: #eeeeff; + padding: 0.2em; +} + + +/* Allmessages table */ + +#allmessagestable th { + background-color: #b2b2ff; +} + +#allmessagestable tr.orig { + background-color: #ffe2e2; +} + +#allmessagestable tr.new { + background-color: #e2ffe2; +} + +#allmessagestable tr.def { + background-color: #f0f0ff; +} + + +/* noarticletext */ +div.noarticletext { + border: 1px solid #ccc; + background: #fff; + padding: .2em 1em; + color: #000; +} + +div#searchTargetContainer { + left: 10px; + top: 10px; + width: 90%; + background: white; +} + +div#searchTarget { + padding: 3px; + margin: 5px; + background: #F0F0F0; + border: solid 1px blue; +} + +div#searchTarget ul li { + list-style: none; +} + +div#searchTarget ul li:before { + color: orange; + content: "\00BB \0020"; +} + +div#searchTargetHide { + float:right; + border:solid 1px black; + background:gainsboro; + padding:2px; +} + +div.multipageimagenavbox { + border: solid 1px silver; + padding: 4px; + margin: 1em; + background: #f0f0f0; +} + +div.multipageimagenavbox div.thumb { + border: none; + margin-left: 2em; + margin-right: 2em; +} + +div.multipageimagenavbox hr { + margin: 6px; +} + +table.multipageimage td { + text-align: center; +} + +/** Special:Version */ + +table#sv-ext, table#sv-hooks, table#sv-software { + margin: 1em; + padding:0em; +} + +#sv-ext td, #sv-hooks td, #sv-software td, +#sv-ext th, #sv-hooks th, #sv-software th { + border: 1px solid #A0A0A0; + padding: 0 0.15em 0 0.15em; +} +#sv-ext th, #sv-hooks th, #sv-software th { + background-color: #F0F0F0; + color: black; + padding: 0 0.15em 0 0.15em; +} +tr.sv-space{ + height: 0.8em; + border:none; +} +tr.sv-space td { display: none; } + +/* + Table pager (e.g. Special:Imagelist) + - remove underlines from the navigation link + - collapse borders + - set the borders to outsets (similar to Special:Allmessages) + - remove line wrapping for all td and th, set background color + - restore line wrapping for the last two table cells (description and size) +*/ +.TablePager_nav a { text-decoration: none; } +.TablePager { border-collapse: collapse; } +.TablePager, .TablePager td, .TablePager th { + border: 1px solid #aaaaaa; + padding: 0 0.15em 0 0.15em; +} +.TablePager th { background-color: #eeeeff } +.TablePager td { background-color: #ffffff } +.TablePager tr:hover td { background-color: #eeeeff } + +.imagelist td, .imagelist th { white-space: nowrap } +.imagelist .TablePager_col_links { background-color: #eeeeff } +.imagelist .TablePager_col_img_description { white-space: normal } +.imagelist th.TablePager_sort { background-color: #ccccff } + +.templatesUsed { margin-top: 1.5em; } + +.mw-summary-preview { + margin: 0.1em 0; +} + +/* Friendlier slave lag warnings */ +div.mw-lag-warn-normal, +div.mw-lag-warn-high { + padding: 3px; + text-align: center; + margin: 3px auto; +} +div.mw-lag-warn-normal { + border: 1px solid #FFCC66; + background-color: #FFFFCC; +} +div.mw-lag-warn-high { + font-weight: bold; + border: 2px solid #FF0033; + background-color: #FFCCCC; +} + +.MediaTransformError { + background-color: #ccc; + padding: 0.1em; +} +.MediaTransformError td { + text-align: center; + vertical-align: middle; + font-size: 90%; +} +ul { + line-height: 1.5em; + list-style-type: square; + margin: .3em 0 0 1.5em; + padding: 0; + list-style-image: url(bullet.gif); +} +ol { + line-height: 1.5em; + margin: .3em 0 0 3.2em; + padding: 0; + list-style-image: none; +} +li { + margin-bottom: .1em; +} +dt { + font-weight: bold; + margin-bottom: .1em; +} +dl { + margin-top: .2em; + margin-bottom: .5em; +} + +#p-cactions li.new a { + color: #cc2200; +} + +span.subpages { + font-size: 80%; + display: block; +} + +pre { + border: solid 1px #3c78b5; + padding: 0.4em; + background-color: #f0f0f0; +} + +.usermessage { + background-color: #dadaff; +} + +.mw-topboxes { + border-collapse: collapse; + margin: 0 -1em 1em -1em; + padding: 0 0 8px 0; + background: url(footer-grad.png) repeat-x bottom left; +} + +.mw-topbox p { + padding: 0 0 0 0; + margin: 0 0 0 0; +} + +.mw-topbox { + color: black; + font-weight: bold; + margin: 0 0 0 0; + padding: 0 1em 0 1em; + vertical-align: middle; + border-collapse: collapse; + border-bottom: solid 1px #bbbbbb; +} + +#siteSub { + background-color: #dddddd; +} + +/* emulate center */ +.center { + width:100%; + text-align:center; +} +*.center * { + margin-left:auto; + margin-right:auto; +} + +/* table standards */ +.toccolours { + border:1px solid #bbbbbb; + background-color:#f0f0f0; + border-spacing:0pt; + margin:0pt; + padding:0pt; +} diff --git a/skins/modern/news_icon.png b/skins/modern/news_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1541d13c1807dae2c4f2ac4028c1eab7fb00cd GIT binary patch literal 297 zcmV+^0oMMBP)W#hdvC#6i)APC2^S#&fzS#7_+V#cU^~v7$%HQ_TiOO3`QPmN;qCh5?)vEQ`|0xg>+}5W^!)Jl{POqx_4)nz`~Lj>{{H^| zPEJn$|No(b6}|uf00DGTPE!Ct=GbNc003o4L_t(|+J( body div#mw_contentholder ul { + display: table; +} +html > body div#mw_contentholder ul li { + margin-right:10px; +} +html > body div.pBody ul li { + margin-right:4px; +} +html > body div#mw_contentholder ul#filetoc { + display: block; +} diff --git a/skins/modern/video.png b/skins/modern/video.png new file mode 100644 index 0000000000000000000000000000000000000000..38103dac285e8dd202a60c43e2be1a2f5a077aa5 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&v7|ftIx;YR|DNig)WpGT%PfAtr%uP&B4N6T+sVqF1Y6Dax6yOu$dgj5`O&32Hw_ZzI{NVrp z{|sqo_KP<917*EET^vIyZY3q8rKYANCZ?pOvT-P|rLn1nDI_E%fY>b>4h)ShkqrzQ zTmlXrix?PNmWU}dOmJaj;_%dUU{LI2ViA}W)xf~a;FiniygTskTcEKFp00i_>zopr E054NO8~^|S literal 0 HcmV?d00001 diff --git a/skins/monobook/IE50Fixes.css b/skins/monobook/IE50Fixes.css new file mode 100644 index 00000000..26c3dc97 --- /dev/null +++ b/skins/monobook/IE50Fixes.css @@ -0,0 +1,67 @@ +/* +** IE5.0 Fix Stylesheet +*/ + +#column-content { + margin: 0 !important; + float: none; +} +#column-content #content { + margin-top: 3em; + height: 1%; +} +#column-one { + position: absolute; + overflow: visible; + top: 0; + left: 0; + z-index: 3; +} +#footer { + margin: 0 0 0 13.6em; +} + +/* IE 5 & 5.5 interpret keyword sizes one off */ +body { font-size: xx-small; } +/* +** the edit tabs +*/ +#p-cactions li { + float: left; + padding-top: 0; + padding-bottom: 0 !important; + height: 0.9em; +} +#p-cactions li a { + display: block; + padding-bottom: 0.045em; +} +#p-cactions li.selected a { + padding-bottom: 0.17em; +} +#p-cactions li a:hover { + padding-bottom: 0.17em; +} +/* 5.0 doesn't like the background icon for external links and user */ +.link-external, +.external { + background: none; + padding: 0; +} +#p-personal ul { float: right } +#p-personal li { float: left } +li#pt-userpage, +li#pt-anonuserpage, +li#pt-login, +li#pt-logout { + background: none; + padding-left: none; +} +.visualClear { + width: 100%; + height: 0px; + padding:0; + margin: 0; +} +#firstHeading { margin-bottom: .3em; } +/*div{ border:1px solid Red !important;}*/ diff --git a/skins/monobook/IE55Fixes.css b/skins/monobook/IE55Fixes.css new file mode 100644 index 00000000..637daae1 --- /dev/null +++ b/skins/monobook/IE55Fixes.css @@ -0,0 +1,85 @@ +/* IE5.5/win- only fixes */ + +#column-content { + float: none; + margin-left: 0; + height: 1%; +} +#column-content #content { + position: relative; + z-index: 5; + margin-left: 12.2em; + margin-top: 3em; + height: 1%; +} +#column-one { + position: absolute; + top: 0; + left: 0; + z-index: 4; + width: 100%; +} +#footer { + margin-left: 13.6em; + border-left: 1px solid #fabd23; +} + +/*#bodyContent div, +#bodyContent pre { overflow: auto; }*/ + +#p-personal { padding-bottom: .1em; } + +body { font-size: xx-small; } + +#p-cactions { + width: 76% !important; + z-index: 3 !important; + float: none; +} +#p-cactions li { + padding-bottom: 0 !important; + border: none; + background-color: transparent; + cursor: default; + float: none !important; +} +#p-cactions li a { + display: inline-block !important; + vertical-align: top; + padding-bottom: 0; + border: solid #aaa; + border-width: 1px 1px 0; +} +#p-cactions li.selected a { + border-color: #fabd23; + padding-bottom: 0.17em; +} +#p-cactions li a:hover { + padding-bottom: 0.17em; +} +#p-navigation a { + display: inline-block; + width: 100%; +} +.portlet { + overflow: hidden; +} +#bodyContent a.external { + background: url(external.png) center right no-repeat; + padding-right: 13px; +} +/* show the hand */ +#p-logo a, +#p-logo a:hover { + cursor: pointer; +} +.visualClear { + width: 90%; + height: 1px; + padding: 0; + margin: 0; +} + +#editform { + width: 100%; +} diff --git a/skins/monobook/IE60Fixes.css b/skins/monobook/IE60Fixes.css new file mode 100644 index 00000000..bf78413d --- /dev/null +++ b/skins/monobook/IE60Fixes.css @@ -0,0 +1,87 @@ +/* 6.0 - only fixes */ +/* content area */ +/* workaround for various ie float bugs */ +#column-content { + float: none; + margin-left: 0; + height: 1%; +} +#column-content #content { + margin-left: 12.2em; + margin-top: 3em; + height: 1%; +} +#column-one { + position: absolute; + top: 0; + left: 0; + z-index: 4; +} +#footer { + margin-left: 13.6em; + border-left: 1px solid #fabd23; +} + +/* the tabs */ + +#p-cactions { + z-index: 3; +} + +#p-cactions li { + padding-bottom: 0 !important; + border: none; + background-color: transparent; + cursor: default; + float: none !important; +} +#p-cactions li a { + display: inline-block !important; + vertical-align: top; + padding-bottom: 0; + border: solid #aaa; + border-width: 1px 1px 0; +} +#p-cactions li.selected a { + border-color: #fabd23; + padding-bottom: 0.17em; +} +#p-cactions li a:hover { + padding-bottom: 0.17em; +} +#p-navigation a { + display: inline-block; + width: 100%; +} +#portal-personaltools { + padding-bottom: 0.1em; +} +#bodyContent a.external { + background: url(external.png) center right no-repeat; + padding-right: 13px; +} + +/* show the hand */ +#p-logo a, +#p-logo a:hover { + cursor: pointer; +} +div.visualClear { + width:100%; + line-height: 0; +} +textarea { + width: 96%; +} + +div.editsection, +#catlinks, +div.tright, +div.tleft { + position: relative; +} + +/* bug 12846 */ +body.rtl #preftoc a, body.rtl #preftoc a:active { + float: left; +} diff --git a/skins/monobook/IE70Fixes.css b/skins/monobook/IE70Fixes.css new file mode 100644 index 00000000..43ff7076 --- /dev/null +++ b/skins/monobook/IE70Fixes.css @@ -0,0 +1,74 @@ +/* 7.0 - only fixes */ +/* content area */ +/* workaround for various ie float bugs */ + +/* This bit is needed to make links clickable... WTF */ +#column-content #content { + margin-left: 12.2em; + margin-top: 3em; + height: 1%; +} + +.rtl #column-one { + /* For some reason it tries to inherit the padding-top into every div, + * and I can't figure out how to get it back off. + * Margin works correctly for this use, though. + */ + padding-top: 0; + margin-top: 160px; +} + +/* the tabs */ + +#p-cactions { + z-index: 3; +} + + +#p-cactions li { + padding-bottom: 0 !important; + border: none; + background-color: transparent; + cursor: default; + float: none !important; +} + +#p-cactions li a { + display: inline-block !important; + vertical-align: top; + padding-bottom: 0; + border: solid #aaa; + border-width: 1px 1px 0; +} +#p-cactions li.selected a { + border-color: #fabd23; + padding-bottom: 0.17em; +} +#p-cactions li a:hover { + padding-bottom: 0.17em; +} +#p-navigation a { + display: inline-block; + width: 100%; +} +#portal-personaltools { + padding-bottom: 0.1em; +} +textarea { + width: 96%; +} + +/* +div.editsection, +#catlinks, +div.tright, +div.tleft { + position: relative; +} +*/ + + +#footer li { + /* Work around bug with inline
  • tags with right margins and nowrap */ + margin-right: 0; +} diff --git a/skins/monobook/IEMacFixes.css b/skins/monobook/IEMacFixes.css new file mode 100644 index 00000000..f1b05719 --- /dev/null +++ b/skins/monobook/IEMacFixes.css @@ -0,0 +1,44 @@ +/* IE/Mac only fix stylesheet, imported from main.css */ +#portal-column-content { + margin: 0 0 4.8em 0; + float: none; +} +#portal-column-content #content { + z-index: 0; +} +#portal-column-one { + position: absolute; + top: 0; + left: 0; + z-index: 3; +} +#portal-footer { + margin-left: 12em; +} +/* +#portlet-contentViews { + top: 0.6em !important; + left: 14.5em !important; +} +*/ +#portlet-contentViews li, +#portlet-contentViews .selected { + border: none !important; +} +#portlet-contentViews li a { + border: 1px solid #aaaaaa; + border-bottom: none; +} +#portlet-contentViews li.selected a { + border: 1px solid #fabd23; + border-bottom: none; +} +/* no background images */ +li#personaltools-userpage, +li#personaltools-login/* */ { + background: none; + padding-left: none; +} +#mactest { + color: green; +} diff --git a/skins/monobook/KHTMLFixes.css b/skins/monobook/KHTMLFixes.css new file mode 100644 index 00000000..afa3568b --- /dev/null +++ b/skins/monobook/KHTMLFixes.css @@ -0,0 +1,4 @@ +/* KHTML fix stylesheet */ +/* work around the horizontal scrollbars */ +#column-content { margin-left: 0; } + diff --git a/skins/monobook/Opera6Fixes.css b/skins/monobook/Opera6Fixes.css new file mode 100644 index 00000000..88704739 --- /dev/null +++ b/skins/monobook/Opera6Fixes.css @@ -0,0 +1,14 @@ +/* opera 6 fixes */ +#column-one { + position: relative; + max-width: 11.7em; +} +#p-personal { + width: 45em; + margin-left: 8.6em; + right: 0; +} +#bodyContent a.external { + background: url(external.png) center right no-repeat; + padding-right: 13px; +} diff --git a/skins/monobook/Opera7Fixes.css b/skins/monobook/Opera7Fixes.css new file mode 100644 index 00000000..446ea44c --- /dev/null +++ b/skins/monobook/Opera7Fixes.css @@ -0,0 +1,11 @@ +/* small tweaks for opera seven */ +#p-cactions { + margin-top: .1em; +} +#p-cactions li a { + top: 2px; +} +#bodyContent a.external { + background: url(external.png) center right no-repeat; + padding-right: 13px; +} diff --git a/skins/monobook/audio.png b/skins/monobook/audio.png new file mode 100644 index 0000000000000000000000000000000000000000..1c56bdc8d8bcef5c6b1a9f588462dd622fe911c7 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^+(695!3-or^+GlRDVB6cUq=Rp^(V|(yIunMk|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*D5X>;rs4T${K4Kl9-KtV93f=l_qM z`~U5i|7*|v|NZy>)A#?U?EgRa$p5|9|2J*<@7VkQ*@ypSYyYP${$Ic8>Hq)#8Pd)G z$vx|pdw@oXmIV0)1GyN0LHlOyE1-fnPZ!6Kid#tnj7*M+0-8($4m=6V4CL93?X4Xc z3^};CxVSlsH*WZ3#Ka=dykWzJ2@^JSFi5NO10@+E70iU0w=*~}C~jtC;)vu0GG4QC lD5MxOGIcPX)N5d1W|$Jmw(?|p<0PO>44$rjF6*2UngG5OfRX?J literal 0 HcmV?d00001 diff --git a/skins/monobook/bullet.gif b/skins/monobook/bullet.gif new file mode 100644 index 0000000000000000000000000000000000000000..b43de48a4701e5123846ee5f0357b65065eca04a GIT binary patch literal 50 zcmZ?wbhEHbWM$xGXkcJS?wRxd|9{1wEQ|~cj0`#qKmd|qVB+lQU%C4M|KgUF4AuZl Cg$<e4KpXQG};@9n0zwW&DZTIzWdv1I`eE9IGBbP27zkK-4kK^}#oVfqv?4uv& zAN{=i^w*VVzpg&}b?eoyyRU!Wd;Rd6Ymss zZewO(k>dE2+|J9S5+qQu;bBwr43)+YI}8uEatX^@B+OXAkl`s~5+~5X(B#0x#m&O7 zSE8AfOHkG*B*B2;07o|)!wS}f15V6a(*-9@Nhn)#XG`HzE|b;U*WYhqWMr@g0JP%O A$^ZZW literal 0 HcmV?d00001 diff --git a/skins/monobook/document.png b/skins/monobook/document.png new file mode 100644 index 0000000000000000000000000000000000000000..b48138e90e81ea81c473287bbe07e0078d9211d4 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^96-#)!3-q#Nxt6%q*&4&eH|GX)}JtE?Rp91OP07s zlmzFem6RtIr7}3C*qlmz(&gG8Z#LFoRub3pM3PZ!6Kid#t! zn3&SU^70xOk{&#I^5jWU!b3I=1vb5~vNAn2H!+ZK(&GmVCz)6TB3kCooyx7ya6m~$ yCMSl0kwu)5LtzJp14HB1W*-KSCJhD-1BRTrOpOPNYCZw&VDNPHb6Mw<&;$VcA7>5# literal 0 HcmV?d00001 diff --git a/skins/monobook/external.png b/skins/monobook/external.png new file mode 100644 index 0000000000000000000000000000000000000000..419c06fb960b0b665791c90044a78621616a4cb8 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&i3a$DxTeiKV?6WB%rpNP(#|lX z{f7XTR~%D;3fN16{DL7O3{u|AZa^UmPZ!4!iE!1^jzSC$EX7 z>#2$@InOtpuqyg8<+R}9g-+|v&13&5`dCp`{|95_8^+nQkC>(b&0z3!^>bP0l+XkK DO07OF literal 0 HcmV?d00001 diff --git a/skins/monobook/file_icon.gif b/skins/monobook/file_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..847f6485efb453b6340f92f6d40db60a776a3b92 GIT binary patch literal 921 zcmZ?wbhEHb6krfw_|CxK=jZoda8h@7ckkX0E6#q|aPjM=%U^d~`?l-)x4k#N9k~7d z@SX3+?tMS`;K!MVKh8h?dGX25tIvO4dG_o2i=Ve%{<`z}*WK5@?!Wo<=-uxp?|(n} z@cY@vKQBN1dGqDZyRUygeE<9D``<4={(bxP@5k@|zyAFH{pbJRfB*me`ws*RqhK@y z208>3f3h$#FfcOcfE)tK6AT<>49pxd9vc=MY-VTGh~Z#JWMI@#TGVjEVBwKYL2a=X ziH$7`3<{=vEfq~J9Q@2dT_PF>j&KOb8bwSnNOhhGzEw;r-&g`liJXf7ZiAqhQUQBb-BOh8BiYEX(0LkWsh1yMm3ltdQRkc48S zgwT{CRVk|yFi3*1R0Xlnq=^L)7Ztd}e)rzr{S)paTVr#im*1_U&k5Cv|UKzz_MK;VTr;laW z@AP8DyZXKBwGE(hf>A*Mdl)eve#Q1;5_6REzK&|kMcMq=QBlzM=9%o@ z<+;B2FTWhsv=mx~)rMMc0(_>f%A{h{3I|)u{Pc5|(F|8%!~2BNh{#T4oVyro!_Qq` z{$QxNw}B!&o~~l%tGnZ5x&Ip|VVMV7HiGNl|HIPKKyO4b(&8|IUBgc<h9L*F8GhF8r2l>gVhYt+ceXH|$&(C3#YDUBCYA@ifx`w`cLC*oBGAO(08Y zM4Z^QE9kSNty|M1J|^QP>334PvHe|QW@EN$TroV3>#GCgb_qylXtKz5%h@8LBQE?5*}ZHL-fQ``cPrZmyBXDoH68+ z1~!@09WB>z^H;}l4LHf3jP9nbbKBr-75}?LX&4&CzY%`2+33FioJM;Xji+Ix_f^}o z!QALc-HGmH%=&vBiIz^FiQjl&ZJI(kUR8Lc=4#ZEsU53IUvoe49gF}=YJB*sU%Idee#H$&NGqHj7NJ;2H-YNG#oug*KXww||# z!R%1p;|@;7bW2RpkeA905=|Kj>31YZTb(evPxzgJg!d!i!}^L$ef6BfXOM~&<$b8- z`OM?iEzTsHl90lWS$NBDhjKHPoJNsROo~%J;?PY4)*6zFWpeM{OwB;lNT0{*Dxs<9 zrZbh8=BCeLetvlA>4~ep-c$GP)szip@jEGb zp~d7*g&+q6!Q<*C0$V)&;blUkRcxb;ognm$9}t z9Rh_%dDDdaWby#XUZ&gv<{-ot+6u6vHn0!-47*Gwuu$@_Vo zoA26@^nerqSFi`nHt zUgP=DXr(23SUmf~uP4xqnPxH&+^L}a5=;nAhp9aRs(G*HkC=42l5MG_i@AsGrHgfW z^Ic!|6mvb}U7Ix3t{oEX5w7C<)IOMaUrfu;HD)Z#W`_vYXWJ@c#?sN{?bKbq0d#qB zYJ0?Sw?6)CfBf#+@8DAz?VVspU9~$)n?9reS?iZ>+w8b~qGKVe_qIVD-OcD(3_RY& zc4XQ2j!;Crx9Z*A?xJm=EbClBCQIRD&B&x40(fb}qR5$ZjO8|MBAbMFjh3bv);1V- zRw3X~DijpL0jKfEn^vg;MWB*}`LcOI33`8eoWiMhX$D;$5ldav`$~D2Wuoc5o}+T0 zbz-!Lbds$M=gaPd18V)hSsXr07QD5tnm)r?S~(-9?$3F#bk6rW!-9ct&uvGl2L+%6 zC0*!iJ{NA-yqF}HqxF$OXHU(sRsiC9-?@6C&nS#r%sZz3#`~SWe7r?0f7sz1=fQa)y9qRhsek_YVMLyX;BOwy;8>2yrC*I` zwqxnpA?zH+VRA&UcS=rBw#KaLp#`U};RZN-8do1(&S|tq959VpGIsMZS9r5ztSt1{ zIg^bI$lUvvPvbSM0{08eKC2fd_o$UCR+TfO7QRfWKhug{>GCMz#-AO&S>WNK)@AKv zz4qhgtqYM2r8e7JvhI$I@<4o1k?OVPL#1Q!M9GE>0{BU^Es?#0VCtXqN#KeE|m`VkH8J-NgHngiK~3n}|3 z;0K^k_JTWL-pncpYY=XDM6^0pJtE5D;9Hl(ncQmfw~r}Q2gmiMr^1OuZqxD3N@;U! zAGZjhmrA{3ks`_L>iat4$4EhWHs~3u_bGnv({nI;=GywV005v#0Pu@3!k7$qL%^f8 z4&`PVJIA|lGOEGA*VqP>FFJiq%_voD4X{1Rzt~c6p$)LRa8mIJrA2?_|k<=Rndy_Ku-88?yTeXzXE&v&T_4dCzp%D-H8 z!lcwcvt+&dLFPd%o`3vj>|cHlG*NHkS3Y;fUOr~!r*>f#ESZ)ulYE_lAk6h_`7*J{ zvMV=&*K!NL@=8Yzx1OQml1m3HGvjQf6GI@aP24^=QL1Zpx3=GBAEf2*O_gHAUA?MbE8>;Ik$)z&l z6X{iPT&xgTuk;57WA;iDpYi_rjJjsVyyXpB_8M!_Puxw|+qVh0_W#rNVfa?vCNMZ? zksjT7P%^xBzjHC=j0tJ&!eG3QOWA2#YZvUIg2LFYLNBNzTh6HAd7XqcT_-WB6ZX2Y zB;SncCc*&#BC#vXM(~UgG7kqNC%lR&VD6haZPa{%0hz03KHbq+V5g_G9S@?dnxFWM8{UZmA96K*BYkNNqq1Wzk z6vQr=>y2pabKFmhG|d+o)#k5uF+>UYzQ%fn+ubH44CED0C-TSlJ87`Fg?f)Gl}0h% zdHFuez2UVnqHwjojGn3Vp6HoD4a0TQ*bLbmk%`ak3-x_!o50dYuvWe;U+Z-JLhP)M zWmivY%mvGp;0C>}hK3o`k8x#T0g2MF_Q{n8k_J;4i>p~I9FanS|RN){V=YpBJOv+)0Bkg7G zOrY$kG;jZ3RHB=rjaq&jf91ze2(Z5GdX0Qm-zobt`*KyeJs@=w04OzD6_zFVo?mH8 z<$b1MYf;O!!(Vr}9NTTEK4nO<5e!?P1OoIH{UZbg1O};?=j6Y?G4gds=ahBlJ#`Px zB&AOk%@D=KcG>E_VBooDxqPn&_$$cNt5gHFM5FE--7JlHIDSHZjFH+((GTMq#y2m` zSJtKLbh)+E$46$CT@1vCS`R*bwsx^s6ZHaVoBdc~eQ)vbx=qeRh5`vLcmg1}QD6tv zxatIl6SwIWCVI?wcSm_A;?^}Zb`NA6f$#~3$)zf9ca)s_wl|f*P=?7n9cM{kDK&Ma za{M7HyHO{hS5h>s>Iy!lNhKoD-4zEW3KXAd4|*k+L+L$g&Y4RV(ZG-sMH@154#*i3Po|^SLV~@t7N)68pNp3UBAMN*QnmJpE}I=&{63|a91#z zNqMF@Si&WVh>OR%iR`~}c@=hg=MF7I4fndL)GEBJk#WQJlAcz&9*bht@9%nnN$njy zA7=e&ek$Jesrm4l5@q9l;?j%azdK4aTx?$wjpXc&j2g!FbhkO4T{&x;6~Fh%i#?~W zOGcZVM-xoeqZ}j!IM1UUu{oTew+@ITb;8!Uf~4I43XFld_>$|NfJ*{y`7Jz=rBy z!(H0N{x`$mj1f^$_iUeq?)~P=cg+l22i_2@{9H}+Hm)JJLG>%hQLS!9r<#s4%mD3@ zq$^>xKfyMY(pI=F){Y@e;=ze*qK+%xjC7Plt2|YUF<=`&isW|UrB|Iot`$r_ops+< zR$r!^;&??*$;21G?sKKmD*GZ1kP1K(0V#WzE{6DFH`P`UT~GOu-uBtJ>q**&9f?B$ zuj1(Y|M3V7yBL%xR++q5>81$X8Lx+cp)CwRa;kzYI2FwHI9Ghf>@vPUPF*;jV9AOQ zCqAx>l4xPCRwHXIot_TNJ5l$J+%R_0EJUa;e4&=5_ef@9TSmWNb04S{DVdww>ZI56 z!UO#>uRPlXSXA_+zx#m%dlv4*`w=J0o2<%EKaPXui z2njD9J!c>%CYB`0RN(X;LE&UL(YU*AEKT~ite2%UnfGNO_cAN?@g%?9$Ib3sl~Htb zYmSXCvwbu_a4iG@2kNd6Aw%}W-G=^dy>@uD*D*ZZ_0n2%yyb=WdA+~YT6N`~)vAu{ zh+Gar=7ih2+aAwoQkp4Wpn}9lY||KN#*;(i^&DA|I5>3!Os| zuXbY-f>l;xW;G^1+=^{{0~(8;c{(o?#rG#gXwvK+itb@gXYUQ2Wn2`x}T~E zhF*CBH3oTI1PSMWuNfQS@k+#_i8yXavH{!;P9~D@D);mUPJ^7V>+S|f38Up`U_0Z0 z$NTVvOJ=pKPG+hGH$u0}tSJ(KAQu{^BH$dvz{_Ml1F8F*bf}z228d9oR2Z$QCM7f% zPf1QFjRtd{Z}0m8Ez<)ZSDwgPSGsJMT#f#YEnghS(6omP;RIf)V$@E1VC`FdmEI)1 zXJRFcw3LY{yy*Vr|msaVOmN?p@|_&XIzepSjI+0q3#Xpwe>fm&7H^8fH>g)#O3H$ZLk{nPn^Uj??WQzP>vv+c_?O z_ra-)Jr|mt%{%`hgDZc#Q=?Ltx$O9)oE58ts&u3rRs8#wCB5M@VKB6T`w^oz9*vFeGup~h_COMxcz4JJ*8b{f#xhM++0^vJ4s53TSr<{}$jh=8 zh@q0HbstuC^mWPT-vC@^>j)sO5ijz@TO6k8>UWCP&a`mv1TGn+B;F=fjb3x@t+rh*_!~n zcAw3R!7*=q>aYc+sfp4Zj4FWo)6(PdOiqU}wvG11)>M){iIKEEJFmK3(6P@ZFD(`I zhR3(AU(>NO9k`5N$;!t!U6%A-EVx%!x9atsRW|xP!R~D6_XKW@Y0&8ReLd;R{@vLn z8D#?-hy1(c+6bNP5lsj<38$N?t&v*J)WLz|j_igoHESh^5?$3DKY^65J6Q4I-!Ou{ zVoA8G|H62Cup)8Wwiv5b|3!jq3^cMclqeTm$hV)eLm-jd{o(*-y%ErJy%f(g%Ne2xFj4zW}Bvx6Hm!&sNVvq z5(BpShduoT!!cK5W@5N8DbHF$!d6-mf)6#92m6=gvpr4?1cv4c6OdEo&6_|6=IW?Z z!X>S254S*FbYImir_S^7*yem1^RN{XJ~SL_aK^&Bi-l?6g$xywb*Xhj?Mh4GHYQeH z4{ACVM3?sGe_SEEVYs%QIqzHDR+H-r(1JeBkBAlrHOEES+lwo765bzoNm+{pwmTLU zhcEx(dC-%bowE!!gx%`v7V7Qlj-z1#I53XdP$*BsSmy@}jRu=YfP|Is zc!yvBB$gUgJX1s}sI9`IuCH6+_%|Gx1gTIt{zM!M1$gn3P(@Oqfy%iuF!hD021{Dz z56;e&E(IwEJ$?5}?!8_OWGA22Ddio20ob|AR6HvD2~=_`D)lQWZin;=CP8tsw4%at z*T=jpCOr>SDJ}J;g!HUGaJ7~__dc~GF1z(z3x9CrdUsFf=hFkd+eLE4`=6SWK3uaX z&IZGyUzV^Z}_5H8h-(SD#cFKIr}}M($WRI2YPuR^22;E*L=Ie;hYkpPmM zm!_D&Z?}2ug1)}+x{SE9rOUS zJC}@R%Qzi#F)jbhDnv_aV#?&3j@PS#)yYj6Gv?8qk9n7QBa?SLVO0FkQKP;&mkr>;f!PeP}58mxK z$!7(C(hfFxF{5x995_+>w>s_j)+D<1%*U@5&)Ar-JlEvYb1tp z%OOtLM$K$~s>muf6;Nbvg+K}bW3bgrfDHxjFc=7amZw*-*AS1a+e|M;`NowZe~x8E zHU;m(caESzK%W}6DE9O`!n>U17-_M!Vq$cW>WqX7z7$^IEbGGko+0zTuxlTS|CEX&pa4P1bS=Tb9;e`x z3UH~YmazLWm6BUgaKeN}%a)5Et1SVC0w5sK0YkfM3-zTXdcq^7hCerD{ce7x65Mh- z1eA`MA~bj7HdSzhD2m(%W(KbbJ3qd^-k_I{j-%>fnB62Gf4r7z-iIhU9 zb|JzTf`YRRz)b)kol^cg`)fG1oUV@`JCYMH;617x0XvfZ^#LGmVV0Q+p7y`JxJ@U~ z8#q5#&Vh34ZSnx9ebd8Mz`0acsGR_BQiR`Dq=?mdXDsOY)cVMR#xePYtwaAq_(;uu7}A6wOyGcHkv({JB0z)`5)Du? zw9#IsPeKbs-wL7$;pKiDKN)%+WSU3qMB z(*N!SC!)4kFbV)j_E6AS08W$wceDo&A>qJa5P@;E!mi-pL;wXb lFn}ee!L$qi=iK0@3?G~|AX6ywe>eW0|NlRI{bh6XzW{0BliC0P literal 0 HcmV?d00001 diff --git a/skins/monobook/link_icon.gif b/skins/monobook/link_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..815ccb1b1ca04a07ba4d90178e909fae30c26889 GIT binary patch literal 942 zcmZ?wbhEHb6krfw_|Cv!Rv=?lA?xSoXWJlW-y-KVSut>yO6Y90u(|3{^EKiY>ZB|; zOkZxCv&yVstySqp`?_r&VM~4{tofO<@n^y2pVhm6{ui9oveU17U)b~`X|s=J%{`X8 z_+)8!cX!*qpKH!EbshRO`{b|rr+=-w_-os>Upue;I&ts!&F7~tKmL2;#ot%2UOjpD z@5TFnAHM$k_VXXZC>RX^`i6kwPZmZ71~CR5khP#Z!NAeYpvxiSv0=f%W)9Y}2n~gW zt*x8_Gc*(zEIi1^En`zK;ZS1}lNe`NMFHdCR#5>7367NoM_PGgVm9o!aNq#LG}(YD zH$E&p+9j-|{lH}6qLwxxO`nPx4vguX!UB2@9F9&c?3_CCS_u~#8kqzYX2t0wJOHxf cG+a)s+Q8h%$jA^gqaky7k&s78}-D?A&I)Z>QO@L#8K>np`|*eD{X({oDFi zE*RgsW_bIC;e*=-5AFbw(b-ecPae2GdEoWzQPlG%u`iyaPntAo(V|7`)~&m7ZO+@* z-S6Kn{P1r1M_wNsX|9<)Z@9%#g zU>F6XAuuo@p!k!8k%2)62!Q~UCm1-286r7EW-LrN*vP@2Cb5v|CRNKE3`spQHjC~p=q<3mGg8zU>9PR54^ tj;#E4+4s(5Iy#-7z{DZpaNt1WMLy5mM^`KvnNACc9q!s|V4%QY4FEFIiq8N5 literal 0 HcmV?d00001 diff --git a/skins/monobook/magnify-clip.png b/skins/monobook/magnify-clip.png new file mode 100644 index 0000000000000000000000000000000000000000..992aa2e326c825f6917ec60fd20996fb56c05850 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngj!3-p)&s5I?Qq09po*^6@9Je3(KLB!V0(?ST z|NsC0{rmU#@83Ur_Uzuhd)KaAJ9qBf-o1ObZr!?e?b@YFm(H0pXUdc*Jv}`wEiKj6 z)y2id+1c62$;nYsQ8{IWKY-?N7I;J!Gca&{0AWU_H6}BFf*zhOjv*3LThBQ1H7M}7 zTs*i+Sxc$v|8AzOW`$3qzp77WI^d(OJF)++NS43B%l)lqv?cGQz3hK?(E97+u2)~~ i$vrN=e_~NnDyx}1^R$}y3F$yH89ZJ6T-G@yGywqNYGd30 literal 0 HcmV?d00001 diff --git a/skins/monobook/mail_icon.gif b/skins/monobook/mail_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..50a87a9a0689ac0dbaed5410b2c7f0fd107ae7b2 GIT binary patch literal 918 zcmZ?wbhEHb6krfw_|CxK=jWHQ@aa2qg%2+JpA!8SFJ9cV`Bm@U4;wFh+IIQ#&a0pI zUjMT1#+O64z8<~v_2j*8r|y5d@c8@1$KS6#`*G{#&pWSv-hK7+{+nM9-~M{??$?Wt zzh8d({rdBtw_pBz`1a@1_rG6%{{8v;-=Dw#{{8#^R$To5|Nji5U^D~4HOux0sbe9%m4rY literal 0 HcmV?d00001 diff --git a/skins/monobook/main.css b/skins/monobook/main.css new file mode 100644 index 00000000..7e5809b5 --- /dev/null +++ b/skins/monobook/main.css @@ -0,0 +1,1537 @@ +/* +** MediaWiki 'monobook' style sheet for CSS2-capable browsers. +** Copyright Gabriel Wicke - http://wikidev.net/ +** License: GPL (http://www.gnu.org/copyleft/gpl.html) +** +** Loosely based on http://www.positioniseverything.net/ordered-floats.html by Big John +** and the Plone 2.0 styles, see http://plone.org/ (Alexander Limi,Joe Geldart & Tom Croucher, +** Michael Zeltner and Geir Bækholt) +** All you guys rock :) +*/ + +#column-content { + width: 100%; + float: right; + margin: 0 0 .6em -12.2em; + padding: 0; +} +#content { + margin: 2.8em 0 0 12.2em; + padding: 0 1em 1em 1em; + position: relative; + z-index: 2; +} +#column-one { + padding-top: 160px; +} +#content { + background: white; + color: black; + border: 1px solid #aaa; + border-right: none; + line-height: 1.5em; +} +/* the left column width is specified in class .portlet */ + +/* Font size: +** We take advantage of keyword scaling- browsers won't go below 9px +** More at http://www.w3.org/2003/07/30-font-size +** http://style.cleverchimp.com/font_size_intervals/altintervals.html +*/ + +body { + font: x-small sans-serif; + background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat; + color: black; + margin: 0; + padding: 0; +} + +/* scale back up to a sane default */ +#globalWrapper { + font-size: 127%; + width: 100%; + margin: 0; + padding: 0; +} +.visualClear { + clear: both; +} + +/* general styles */ + +table { + font-size: 100%; + color: black; + /* we don't want the bottom borders of

    s to be visible through + floated tables */ + background-color: white; +} +fieldset table { + /* but keep table layouts in forms clean... */ + background: none; +} +a { + text-decoration: none; + color: #002bb8; + background: none; +} +a:visited { + color: #5a3696; +} +a:active { + color: #faa700; +} +a:hover { + text-decoration: underline; +} +a.stub { + color: #772233; +} +a.new, #p-personal a.new { + color: #ba0000; +} +a.new:visited, #p-personal a.new:visited { + color: #a55858; +} + +img { + border: none; + vertical-align: middle; +} +p { + margin: .4em 0 .5em 0; + line-height: 1.5em; +} +p img { + margin: 0; +} + +hr { + height: 1px; + color: #aaa; + background-color: #aaa; + border: 0; + margin: .2em 0 .2em 0; +} + +h1, h2, h3, h4, h5, h6 { + color: black; + background: none; + font-weight: normal; + margin: 0; + padding-top: .5em; + padding-bottom: .17em; + border-bottom: 1px solid #aaa; +} +h1 { font-size: 188%; } +h1 .editsection { font-size: 53%; } +h2 { font-size: 150%; } +h2 .editsection { font-size: 67%; } +h3, h4, h5, h6 { + border-bottom: none; + font-weight: bold; +} +h3 { font-size: 132%; } +h3 .editsection { font-size: 76%; font-weight: normal; } +h4 { font-size: 116%; } +h4 .editsection { font-size: 86%; font-weight: normal; } +h5 { font-size: 100%; } +h5 .editsection { font-weight: normal; } +h6 { font-size: 80%; } +h6 .editsection { font-size: 125%; font-weight: normal; } + +ul { + line-height: 1.5em; + list-style-type: square; + margin: .3em 0 0 1.5em; + padding: 0; + list-style-image: url(bullet.gif); +} +ol { + line-height: 1.5em; + margin: .3em 0 0 3.2em; + padding: 0; + list-style-image: none; +} +li { + margin-bottom: .1em; +} +dt { + font-weight: bold; + margin-bottom: .1em; +} +dl { + margin-top: .2em; + margin-bottom: .5em; +} +dd { + line-height: 1.5em; + margin-left: 2em; + margin-bottom: .1em; +} + +fieldset { + border: 1px solid #2f6fab; + margin: 1em 0 1em 0; + padding: 0 1em 1em; + line-height: 1.5em; +} +fieldset.nested { + margin: 0 0 0.5em 0; + padding: 0 0.5em 0.5em; +} +legend { + padding: .5em; + font-size: 95%; +} +form { + border: none; + margin: 0; +} + +textarea { + width: 100%; + padding: .1em; +} + +input.historysubmit { + padding: 0 .3em .3em .3em !important; + font-size: 94%; + cursor: pointer; + height: 1.7em !important; + margin-left: 1.6em; +} +select { + vertical-align: top; +} +abbr, acronym, .explain { + border-bottom: 1px dotted black; + color: black; + background: none; + cursor: help; +} +q { + font-family: Times, "Times New Roman", serif; + font-style: italic; +} +/* disabled for now +blockquote { + font-family: Times, "Times New Roman", serif; + font-style: italic; +}*/ +code { + background-color: #f9f9f9; +} +pre { + padding: 1em; + border: 1px dashed #2f6fab; + color: black; + background-color: #f9f9f9; + line-height: 1.1em; +} + +/* +** the main content area +*/ + +#siteSub { + display: none; +} +#jump-to-nav { + display: none; +} + +#contentSub, #contentSub2 { + font-size: 84%; + line-height: 1.2em; + margin: 0 0 1.4em 1em; + color: #7d7d7d; + width: auto; +} +span.subpages { + display: block; +} + +/* Some space under the headers in the content area */ +#bodyContent h1, #bodyContent h2 { + margin-bottom: .6em; +} +#bodyContent h3, #bodyContent h4, #bodyContent h5 { + margin-bottom: .3em; +} +#firstHeading { + margin-bottom: .1em; + /* These two rules hack around bug 2013 (fix for more limited bug 11325). + When bug 2013 is fixed properly, they should be removed. */ + line-height: 1.2em; + padding-bottom: 0; +} + +/* user notification thing */ +.usermessage { + background-color: #ffce7b; + border: 1px solid #ffa500; + color: black; + font-weight: bold; + margin: 2em 0 1em; + padding: .5em 1em; + vertical-align: middle; +} +#siteNotice { + text-align: center; + font-size: 95%; + padding: 0 .9em; +} +#siteNotice p { + margin: 0; + padding: 0; +} +.success { + color: green; + font-size: larger; +} +.error { + color: red; + font-size: larger; +} +.errorbox, .successbox { + font-size: larger; + border: 2px solid; + padding: .5em 1em; + float: left; + margin-bottom: 2em; + color: #000; +} +.errorbox { + border-color: red; + background-color: #fff2f2; +} +.successbox { + border-color: green; + background-color: #dfd; +} +.errorbox h2, .successbox h2 { + font-size: 1em; + font-weight: bold; + display: inline; + margin: 0 .5em 0 0; + border: none; +} + +.catlinks { + border: 1px solid #aaa; + background-color: #f9f9f9; + padding: 5px; + margin-top: 1em; + clear: both; +} +/* currently unused, intended to be used by a metadata box +in the bottom-right corner of the content area */ +.documentDescription { + /* The summary text describing the document */ + font-weight: bold; + display: block; + margin: 1em 0; + line-height: 1.5em; +} +.documentByLine { + text-align: right; + font-size: 90%; + clear: both; + font-weight: normal; + color: #76797c; +} + +/* emulate center */ +.center { + width: 100%; + text-align: center; +} +*.center * { + margin-left: auto; + margin-right: auto; +} +/* small for tables and similar */ +.small, .small * { + font-size: 94%; +} +table.small { + font-size: 100%; +} + +/* +** content styles +*/ + +#toc, +.toc, +.mw-warning { + border: 1px solid #aaa; + background-color: #f9f9f9; + padding: 5px; + font-size: 95%; +} +#toc h2, +.toc h2 { + display: inline; + border: none; + padding: 0; + font-size: 100%; + font-weight: bold; +} +#toc #toctitle, +.toc #toctitle, +#toc .toctitle, +.toc .toctitle { + text-align: center; +} +#toc ul, +.toc ul { + list-style-type: none; + list-style-image: none; + margin-left: 0; + padding-left: 0; + text-align: left; +} +#toc ul ul, +.toc ul ul { + margin: 0 0 0 2em; +} +#toc .toctoggle, +.toc .toctoggle { + font-size: 94%; +} + +.mw-warning { + margin-left: 50px; + margin-right: 50px; + text-align: center; +} + +/* images */ +div.floatright, table.floatright { + clear: right; + float: right; + position: relative; + margin: 0 0 .5em .5em; + border: 0; +/* + border: .5em solid white; + border-width: .5em 0 .8em 1.4em; +*/ +} +div.floatright p { font-style: italic; } +div.floatleft, table.floatleft { + float: left; + clear: left; + position: relative; + margin: 0 .5em .5em 0; + border: 0; +/* + margin: .3em .5em .5em 0; + border: .5em solid white; + border-width: .5em 1.4em .8em 0; +*/ +} +div.floatleft p { font-style: italic; } +/* thumbnails */ +div.thumb { + margin-bottom: .5em; + border-style: solid; + border-color: white; + width: auto; +} +div.thumbinner { + border: 1px solid #ccc; + padding: 3px !important; + background-color: #f9f9f9; + font-size: 94%; + text-align: center; + overflow: hidden; +} +html .thumbimage { + border: 1px solid #ccc; +} +html .thumbcaption { + border: none; + text-align: left; + line-height: 1.4em; + padding: 3px !important; + font-size: 94%; +} +div.magnify { + float: right; + border: none !important; + background: none !important; +} +div.magnify a, div.magnify img { + display: block; + border: none !important; + background: none !important; +} +div.tright { + clear: right; + float: right; + border-width: .5em 0 .8em 1.4em; +} +div.tleft { + float: left; + clear: left; + margin-right: .5em; + border-width: .5em 1.4em .8em 0; +} +img.thumbborder { + border: 1px solid #dddddd; +} +.hiddenStructure { + display: none; +} + +/* +** classes for special content elements like town boxes +** intended to be referenced directly from the wiki src +*/ + +/* +** User styles +*/ +/* table standards */ +table.rimage { + float: right; + position: relative; + margin-left: 1em; + margin-bottom: 1em; + text-align: center; +} +.toccolours { + border: 1px solid #aaa; + background-color: #f9f9f9; + padding: 5px; + font-size: 95%; +} + +/* +** edit views etc +*/ +.special li { + line-height: 1.4em; + margin: 0; + padding: 0; +} + +/* +** keep the whitespace in front of the ^=, hides rule from konqueror +** this is css3, the validator doesn't like it when validating as css2 +*/ +#bodyContent a.external, +#bodyContent a[href ^="gopher://"] { + background: url(external.png) center right no-repeat; + padding-right: 13px; +} +#bodyContent a[href ^="https://"], +.link-https { + background: url(lock_icon.gif) center right no-repeat; + padding-right: 16px; +} +#bodyContent a[href ^="mailto:"], +.link-mailto { + background: url(mail_icon.gif) center right no-repeat; + padding-right: 18px; +} +#bodyContent a[href ^="news://"] { + background: url(news_icon.png) center right no-repeat; + padding-right: 18px; +} +#bodyContent a[href ^="ftp://"], +.link-ftp { + background: url(file_icon.gif) center right no-repeat; + padding-right: 18px; +} +#bodyContent a[href ^="irc://"], +#bodyContent a.extiw[href ^="irc://"], +.link-irc { + background: url(discussionitem_icon.gif) center right no-repeat; + padding-right: 18px; +} +#bodyContent a.external[href $=".ogg"], #bodyContent a.external[href $=".OGG"], +#bodyContent a.external[href $=".mid"], #bodyContent a.external[href $=".MID"], +#bodyContent a.external[href $=".midi"], #bodyContent a.external[href $=".MIDI"], +#bodyContent a.external[href $=".mp3"], #bodyContent a.external[href $=".MP3"], +#bodyContent a.external[href $=".wav"], #bodyContent a.external[href $=".WAV"], +#bodyContent a.external[href $=".wma"], #bodyContent a.external[href $=".WMA"], +.link-audio { + background: url("audio.png") center right no-repeat; + padding-right: 13px; +} +#bodyContent a.external[href $=".ogm"], #bodyContent a.external[href $=".OGM"], +#bodyContent a.external[href $=".avi"], #bodyContent a.external[href $=".AVI"], +#bodyContent a.external[href $=".mpeg"], #bodyContent a.external[href $=".MPEG"], +#bodyContent a.external[href $=".mpg"], #bodyContent a.external[href $=".MPG"], +.link-video { + background: url("video.png") center right no-repeat; + padding-right: 13px; +} +#bodyContent a.external[href $=".pdf"], #bodyContent a.external[href $=".PDF"], +#bodyContent a.external[href *=".pdf#"], #bodyContent a.external[href *=".PDF#"], +#bodyContent a.external[href *=".pdf?"], #bodyContent a.external[href *=".PDF?"], +.link-document { + background: url("document.png") center right no-repeat; + padding-right: 12px; +} + +/* disable interwiki styling */ +#bodyContent a.extiw, +#bodyContent a.extiw:active { + color: #36b; + background: none; + padding: 0; +} +#bodyContent a.external { + color: #36b; +} +/* this can be used in the content area to switch off +special external link styling */ +#bodyContent .plainlinks a { + background: none !important; + padding: 0 !important; +} +/* +** Structural Elements +*/ + +/* +** general portlet styles (elements in the quickbar) +*/ +.portlet { + border: none; + margin: 0 0 .5em; + padding: 0; + float: none; + width: 11.6em; + overflow: hidden; +} +.portlet h4 { + font-size: 95%; + font-weight: normal; + white-space: nowrap; +} +.portlet h5 { + background: transparent; + padding: 0 1em 0 .5em; + display: inline; + height: 1em; + text-transform: lowercase; + font-size: 91%; + font-weight: normal; + white-space: nowrap; +} +.portlet h6 { + background: #ffae2e; + border: 1px solid #2f6fab; + border-style: solid solid none solid; + padding: 0 1em 0 1em; + text-transform: lowercase; + display: block; + font-size: 1em; + height: 1.2em; + font-weight: normal; + white-space: nowrap; +} +.pBody { + font-size: 95%; + background-color: white; + color: black; + border-collapse: collapse; + border: 1px solid #aaa; + padding: 0 .8em .3em .5em; +} +.portlet h1, +.portlet h2, +.portlet h3, +.portlet h4 { + margin: 0; + padding: 0; +} +.portlet ul { + line-height: 1.5em; + list-style-type: square; + list-style-image: url(bullet.gif); + font-size: 95%; +} +.portlet li { + padding: 0; + margin: 0; +} + +/* +** Logo properties +*/ + +#p-logo { + top: 0; + left: 0; + position: absolute; /*needed to use z-index */ + z-index: 3; + height: 155px; + width: 12em; + overflow: visible; +} +#p-logo h5 { + display: none; +} +#p-logo a, +#p-logo a:hover { + display: block; + height: 155px; + width: 12.2em; + background-repeat: no-repeat; + background-position: 35% 50% !important; + text-decoration: none; +} + +/* +** Search portlet +*/ +#p-search { + position: relative; + z-index: 3; +} +input.searchButton { + margin-top: 1px; + font-size: 95%; +} +#searchGoButton { + padding-left: .5em; + padding-right: .5em; + font-weight: bold; +} +#searchInput { + width: 10.9em; + margin: 0; + font-size: 95%; +} +#p-search .pBody { + padding: .5em .4em .4em .4em; + text-align: center; +} + +/* +** the personal toolbar +*/ +#p-personal { + position: absolute; + left: 0; + top: 0; + z-index: 0; +} +#p-personal { + width: 100%; + white-space: nowrap; + padding: 0; + margin: 0; + border: none; + background: none; + overflow: visible; + line-height: 1.2em; +} +#p-personal h5 { + display: none; +} +#p-personal .portlet, +#p-personal .pBody { + z-index: 0; + padding: 0; + margin: 0; + border: none; + overflow: visible; + background: none; +} +/* this is the ul contained in the portlet */ +#p-personal ul { + border: none; + line-height: 1.4em; + color: #2f6fab; + padding: 0 2em 0 3em; + margin: 0; + text-align: right; + list-style: none; + z-index: 0; + background: none; + cursor: default; +} +#p-personal li { + z-index: 0; + border: none; + padding: 0; + display: inline; + color: #2f6fab; + margin-left: 1em; + line-height: 1.2em; + background: none; +} +#p-personal li a { + text-decoration: none; + color: #005896; + padding-bottom: .2em; + background: none; +} +#p-personal li a:hover { + background-color: white; + padding-bottom: .2em; + text-decoration: none; +} +#p-personal li.active a:hover { + background-color: transparent; +} +/* the icon in front of the user name, single quotes +in bg url to hide it from iemac */ +li#pt-userpage, +li#pt-anonuserpage, +li#pt-login { + background: url(user.gif) top left no-repeat; + padding-left: 20px; + text-transform: none; +} +#p-personal ul { + text-transform: lowercase; +} +#p-personal li.active { + font-weight: bold; +} +/* +** the page-related actions- page/talk, edit etc +*/ +#p-cactions { + position: absolute; + top: 1.3em; + left: 11.5em; + margin: 0; + white-space: nowrap; + width: 76%; + line-height: 1.1em; + overflow: visible; + background: none; + border-collapse: collapse; + padding-left: 1em; + list-style: none; + font-size: 95%; +} +#p-cactions ul { + list-style: none; +} +#p-cactions li { + display: inline; + border: 1px solid #aaa; + border-bottom: none; + padding: 0 0 .1em 0; + margin: 0 .3em 0 0; + overflow: visible; + background: white; +} +#p-cactions li.selected { + border-color: #fabd23; + padding: 0 0 .2em 0; + font-weight: bold; +} +#p-cactions li a { + background-color: #fbfbfb; + color: #002bb8; + border: none; + padding: 0 .8em .3em; + position: relative; + z-index: 0; + margin: 0; + text-decoration: none; +} +#p-cactions li.selected a { + z-index: 3; + padding: 0 1em .2em!important; + background-color: white; +} +#p-cactions .new a { + color: #ba0000; +} +#p-cactions li a:hover { + z-index: 3; + text-decoration: none; + background-color: white; +} +#p-cactions h5 { + display: none; +} +#p-cactions li.istalk { + margin-right: 0; +} +#p-cactions li.istalk a { + padding-right: .5em; +} +#p-cactions #ca-addsection a { + padding-left: .4em; + padding-right: .4em; +} +/* offsets to distinguish the tab groups */ +li#ca-talk { + margin-right: 1.6em; +} +li#ca-watch, li#ca-unwatch, li#ca-varlang-0, li#ca-print { + margin-left: 1.6em; +} +#p-cactions .pBody { + font-size: 1em; + background-color: transparent; + color: inherit; + border-collapse: inherit; + border: 0; + padding: 0; +} +#p-cactions .hiddenStructure { + display: none; +} +#p-cactions li a { + text-transform: lowercase; +} + +#p-lang { + position: relative; + z-index: 3; +} + +/* TODO: #t-iscite is only used by the Cite extension, come up with some + * system which allows extensions to add to this file on the fly + */ +#t-ispermalink, #t-iscite { + color: #999; +} +/* +** footer +*/ +#footer { + background-color: white; + border-top: 1px solid #fabd23; + border-bottom: 1px solid #fabd23; + margin: .6em 0 1em 0; + padding: .4em 0 1.2em 0; + text-align: center; + font-size: 90%; +} +#footer li { + display: inline; + margin: 0 1.3em; +} +#f-poweredbyico, #f-copyrightico { + margin: 0 8px; + position: relative; + top: -2px; /* Bump it up just a tad */ +} +#f-poweredbyico { + float: right; + height: 1%; +} +#f-copyrightico { + float: left; + height: 1%; +} + +/* js pref toc */ +#preftoc { + margin: 0; + padding: 0; + width: 100%; + clear: both; +} +#preftoc li { + background-color: #f0f0f0; + color: #000; +} +#preftoc li { + margin: 1px -2px 1px 2px; + float: left; + padding: 2px 0 3px 0; + border: 1px solid #fff; + border-right-color: #716f64; + border-bottom: 0; + position: relative; + white-space: nowrap; + list-style-type: none; + list-style-image: none; + z-index: 3; +} +#preftoc li.selected { + font-weight: bold; + background-color: #f9f9f9; + border: 1px solid #aaa; + border-bottom: none; + cursor: default; + top: 1px; + padding-top: 2px; + margin-right: -3px; +} +#preftoc > li.selected { + top: 2px; +} +#preftoc a, +#preftoc a:active { + display: block; + color: #000; + padding: 0 .7em; + position: relative; + text-decoration: none; +} +#preftoc li.selected a { + cursor: default; + text-decoration: none; +} +#prefcontrol { + padding-top: 2em; + clear: both; +} +#preferences { + margin: 0; + border: 1px solid #aaa; + clear: both; + padding: 1.5em; + background-color: #F9F9F9; +} +.prefsection { + border: none; + padding: 0; + margin: 0; +} +.prefsection fieldset { + border: 1px solid #aaa; + float: left; + margin-right: 2em; +} +.prefsection legend { + font-weight: bold; +} +.prefsection table, .prefsection legend { + background-color: #F9F9F9; +} +.mainLegend { + display: none; +} +div.prefsectiontip { + font-size: x-small; + padding: .2em 2em; + color: #666; +} +.btnSavePrefs { + font-weight: bold; + padding-left: .3em; + padding-right: .3em; +} + +.preferences-login { + clear: both; + margin-bottom: 1.5em; +} + +.prefcache { + font-size: 90%; + margin-top: 2em; +} + +div#userloginForm form, +div#userlogin form#userlogin2 { + margin: 0 3em 1em 0; + border: 1px solid #aaa; + clear: both; + padding: 1.5em 2em; + background-color: #f9f9f9; + float: left; +} +.rtl div#userloginForm form, +.rtl div#userlogin form#userlogin2 { + float: right; +} + +div#userloginForm table, +div#userlogin form#userlogin2 table { + background-color: #f9f9f9; +} + +div#userloginForm h2, +div#userlogin form#userlogin2 h2 { + padding-top: 0; +} + +div#userlogin .captcha, +div#userloginForm .captcha { + border: 1px solid #bbb; + padding: 1.5em 2em; + background-color: white; +} + +#loginend, #signupend { + clear: both; +} + +#userloginprompt, #languagelinks { + font-size: 85%; +} + +#login-sectiontip { + font-size: 85%; + line-height: 1.2; + padding-top: 2em; +} + +#userlogin .loginText, #userlogin .loginPassword { + width: 12em; +} + +#userloginlink a, #wpLoginattempt, #wpCreateaccount { + font-weight: bold; +} + +/* +** IE/Mac fixes, hope to find a validating way to move this +** to a separate stylesheet. This would work but doesn't validate: +** @import("IEMacFixes.css"); +*/ +/* tabs: border on the a, not the div */ +* > html #p-cactions li { border: none; } +* > html #p-cactions li a { + border: 1px solid #aaa; + border-bottom: none; +} +* > html #p-cactions li.selected a { border-color: #fabd23; } +/* footer icons need a fixed width */ +* > html #f-poweredbyico, +* > html #f-copyrightico { width: 88px; } +* > html #bodyContent, +* > html #bodyContent pre { + overflow-x: auto; + width: 100%; + padding-bottom: 25px; +} + +/* more IE fixes */ +/* float/negative margin brokenness */ +* html #footer {margin-top: 0;} +* html #column-content { + display: inline; + margin-bottom: 0; +} +* html div.editsection { font-size: smaller; } +#pagehistory li.selected { position: relative; } + +/* Mac IE 5.0 fix; floated content turns invisible */ +* > html #column-content { + float: none; +} +* > html #column-one { + position: absolute; + left: 0; + top: 0; +} +* > html #footer { + margin-left: 13.2em; +} +.redirectText { + font-size: 150%; + margin: 5px; +} + +.printfooter { + display: none; +} + +.not-patrolled { + background-color: #ffa; +} +div.patrollink { + clear: both; + font-size: 75%; + text-align: right; +} +span.newpage, span.minor, span.bot { + font-weight: bold; +} +span.unpatrolled { + font-weight: bold; + color: red; +} + +.sharedUploadNotice { + font-style: italic; +} + +span.updatedmarker { + color: black; + background-color: #0f0; +} + +table.gallery { + border: 1px solid #ccc; + margin: 2px; + padding: 2px; + background-color: white; +} + +table.gallery tr { + vertical-align: top; +} + +table.gallery td { + vertical-align: top; + background-color: #f9f9f9; + border: solid 2px white; +} +/* Keep this temporarily so that cached pages will display right */ +table.gallery td.galleryheader { + text-align: center; + font-weight: bold; +} +table.gallery caption { + font-weight: bold; +} + +div.gallerybox { + margin: 2px; +} + +div.gallerybox div.thumb { + text-align: center; + border: 1px solid #ccc; + margin: 2px; +} + +div.gallerytext { + overflow: hidden; + font-size: 94%; + padding: 2px 4px; +} + +span.comment { + font-style: italic; +} + +span.changedby { + font-size: 95%; +} + +.previewnote { + text-indent: 3em; + color: #c00; + border-bottom: 1px solid #aaa; + padding-bottom: 1em; + margin-bottom: 1em; +} + +.previewnote p { + margin: 0; + padding: 0; +} + +.editExternally { + border: 1px solid gray; + background-color: #ffffff; + padding: 3px; + margin-top: 0.5em; + float: left; + font-size: small; + text-align: center; +} +.editExternallyHelp { + font-style: italic; + color: gray; +} + +.toggle { + margin-left: 2em; + text-indent: -2em; +} + +/* Classes for EXIF data display */ +table.mw_metadata { + font-size: 0.8em; + margin-left: 0.5em; + margin-bottom: 0.5em; + width: 300px; +} + +table.mw_metadata caption { + font-weight: bold; +} + +table.mw_metadata th { + font-weight: normal; +} + +table.mw_metadata td { + padding: 0.1em; +} + +table.mw_metadata { + border: none; + border-collapse: collapse; +} + +table.mw_metadata td, table.mw_metadata th { + text-align: center; + border: 1px solid #aaaaaa; + padding-left: 0.1em; + padding-right: 0.1em; +} + +table.mw_metadata th { + background-color: #f9f9f9; +} + +table.mw_metadata td { + background-color: #fcfcfc; +} + +table.collapsed tr.collapsable { + display: none; +} + + +/* filetoc */ +ul#filetoc { + text-align: center; + border: 1px solid #aaaaaa; + background-color: #f9f9f9; + padding: 5px; + font-size: 95%; + margin-bottom: 0.5em; + margin-left: 0; + margin-right: 0; +} + +#filetoc li { + display: inline; + list-style-type: none; + padding-right: 2em; +} + +input#wpSummary { + width: 80%; +} + +/* @bug 1714 */ +input#wpSave, input#wpDiff { + margin-right: 0.33em; +} + +#wpSave { + font-weight: bold; +} + +/* Classes for article validation */ + +table.revisionform_default { + border: 1px solid #000000; +} + +table.revisionform_focus { + border: 1px solid #000000; + background-color:#00BBFF; +} + +tr.revision_tr_default { + background-color:#EEEEEE; +} + +tr.revision_tr_first { + background-color:#DDDDDD; +} + +p.revision_saved { + color: green; + font-weight:bold; +} + +#mw_trackbacks { + border: solid 1px #bbbbff; + background-color: #eeeeff; + padding: 0.2em; +} + + +/* Allmessages table */ + +#allmessagestable th { + background-color: #b2b2ff; +} + +#allmessagestable tr.orig { + background-color: #ffe2e2; +} + +#allmessagestable tr.new { + background-color: #e2ffe2; +} + +#allmessagestable tr.def { + background-color: #f0f0ff; +} + + +/* noarticletext */ +div.noarticletext { + border: 1px solid #ccc; + background: #fff; + padding: .2em 1em; + color: #000; +} + +div#searchTargetContainer { + left: 10px; + top: 10px; + width: 90%; + background: white; +} + +div#searchTarget { + padding: 3px; + margin: 5px; + background: #F0F0F0; + border: solid 1px blue; +} + +div#searchTarget ul li { + list-style: none; +} + +div#searchTarget ul li:before { + color: orange; + content: "\00BB \0020"; +} + +div#searchTargetHide { + float:right; + border:solid 1px black; + background:#DCDCDC; + padding:2px; +} + +#powersearch p { + margin-top:0px; +} + +div.multipageimagenavbox { + border: solid 1px silver; + padding: 4px; + margin: 1em; + background: #f0f0f0; +} + +div.multipageimagenavbox div.thumb { + border: none; + margin-left: 2em; + margin-right: 2em; +} + +div.multipageimagenavbox hr { + margin: 6px; +} + +table.multipageimage td { + text-align: center; +} + +/** Special:Version */ + +table#sv-ext, table#sv-hooks, table#sv-software { + margin: 1em; + padding:0em; +} + +#sv-ext td, #sv-hooks td, #sv-software td, +#sv-ext th, #sv-hooks th, #sv-software th { + border: 1px solid #A0A0A0; + padding: 0 0.15em 0 0.15em; +} +#sv-ext th, #sv-hooks th, #sv-software th { + background-color: #F0F0F0; + color: black; + padding: 0 0.15em 0 0.15em; +} +tr.sv-space{ + height: 0.8em; + border:none; +} +tr.sv-space td { display: none; } + +/* + Table pager (e.g. Special:Imagelist) + - remove underlines from the navigation link + - collapse borders + - set the borders to outsets (similar to Special:Allmessages) + - remove line wrapping for all td and th, set background color + - restore line wrapping for the last two table cells (description and size) +*/ +.TablePager { min-width: 80%; } +.TablePager_nav a { text-decoration: none; } +.TablePager { border-collapse: collapse; } +.TablePager, .TablePager td, .TablePager th { + border: 1px solid #aaaaaa; + padding: 0 0.15em 0 0.15em; +} +.TablePager th { background-color: #eeeeff } +.TablePager td { background-color: #ffffff } +.TablePager tr:hover td { background-color: #eeeeff } + +.imagelist td, .imagelist th { white-space: nowrap } +.imagelist .TablePager_col_links { background-color: #eeeeff } +.imagelist .TablePager_col_img_description { white-space: normal } +.imagelist th.TablePager_sort { background-color: #ccccff } + +.templatesUsed { margin-top: 1.5em; } + +.mw-summary-preview { + margin: 0.1em 0; +} + +/* Friendlier slave lag warnings */ +div.mw-lag-warn-normal, +div.mw-lag-warn-high { + padding: 3px; + text-align: center; + margin: 3px auto; +} +div.mw-lag-warn-normal { + border: 1px solid #FFCC66; + background-color: #FFFFCC; +} +div.mw-lag-warn-high { + font-weight: bold; + border: 2px solid #FF0033; + background-color: #FFCCCC; +} + +.MediaTransformError { + background-color: #ccc; + padding: 0.1em; +} +.MediaTransformError td { + text-align: center; + vertical-align: middle; + font-size: 90%; +} + +/** Special:Search stuff */ +div#mw-search-interwiki-caption { + text-align: center; + font-weight: bold; + font-size: 95%; +} + +.mw-search-interwiki-project { + font-size: 97%; + text-align: left; + padding-left: 0.2em; + padding-right: 0.15em; + padding-bottom: 0.2em; + padding-top: 0.15em; + background: #cae8ff; +} + +/* God-damned hack for the crappy layout */ +.os-suggest { + font-size: 127%; +} diff --git a/skins/monobook/news_icon.png b/skins/monobook/news_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1541d13c1807dae2c4f2ac4028c1eab7fb00cd GIT binary patch literal 297 zcmV+^0oMMBP)W#hdvC#6i)APC2^S#&fzS#7_+V#cU^~v7$%HQ_TiOO3`QPmN;qCh5?)vEQ`|0xg>+}5W^!)Jl{POqx_4)nz`~Lj>{{H^| zPEJn$|No(b6}|uf00DGTPE!Ct=GbNc003o4L_t(|+J( body .portlet { + float: right; + clear: right; +} +.editsection { + float: left; + margin-right: 5px; + margin-left: 0; /* bug 9122: undo default LTR */ +} +/* recover IEMac (might be fine with the float, but usually it's close to IE */ +*>body .portlet { + float: none; + clear: none; +} +.pBody { + padding-right: 0.8em; + padding-left: 0.5em; +} + +/* Fix alignment */ +.documentByLine, +.portletDetails, +.portletMore, +#p-personal { + text-align: left; +} + +div div.thumbcaption { + text-align: right; +} + +div.magnify, +#p-logo { + left: auto; + right: 0; +} +#p-personal { + left: auto; + right: 0; +} + +#p-cactions { + left: auto; + right: 11.5em; + padding-left: 0; + padding-right: 1em; +} +#p-cactions li { + margin-left: 0.3em; + margin-right: 0; + float: right; +} +* html #p-cactions li a { + display: block; + padding-bottom: 0; +} +* html #p-cactions li a:hover { + padding-bottom: 0.2em; +} +/* offsets to distinguish the tab groups */ +li#ca-talk { + margin-right: auto; + margin-left: 1.6em; +} +li#ca-watch,li#ca-unwatch { + margin-right: 1.6em !important; +} + +/* Fix margins for non-css2 browsers */ +/* top right bottom left */ + +ul { + margin-left: 0; + margin-right: 1.5em; +} +ol { + margin-left: 0; + margin-right: 2.4em; +} +dd { + margin-left: 0; + margin-right: 1.6em; +} +#contentSub { + margin-right: 1em; + margin-left: 0; +} +.tocindent { + margin-left: 0; + margin-right: 2em; +} +div.tright, div.floatright, table.floatright { + clear: none; +} +div.tleft, div.floatleft, table.floatleft { + clear: left; +} +#p-personal li { + margin-left: 0; + margin-right: 1em; +} + +li#ca-talk, +li#ca-watch { + margin-right: auto; + margin-left: 1.6em; +} + +#p-personal li { + float: left; +} +/* Fix link icons */ +.external { + padding: 0 !important; + background: none !important; +} +#footer { + clear: both; +} +* html #footer { + margin-left: 0; + margin-right: 13.6em; + border-left: 0; + border-right: 1px solid #fabd23; +} +* html #column-content { + float: none; + margin-left: 0; + margin-right: 0; +} +* html #column-content #content { + margin-left: 0; + margin-top: 3em; +} +* html #column-one { right: 0; } + +/* js pref toc */ + +#preftoc { + margin-right: 1em; +} + +.errorbox, .successbox, #preftoc li, .prefsection fieldset { + float: right; +} + +.prefsection { + padding-right: 2em; +} + +/* workaround for moz bug, displayed bullets on left side */ + +#toc ul { + text-align: right; +} + +#toc ul ul { + margin: 0 2em 0 0; +} + +input#wpSave, input#wpDiff { + margin-right: 0; + margin-left: .33em; +} + +#userlogin { + float: right; + margin: 0 0 1em 3em; +} +/* Convenience links to edit block, delete and protect reasons */ +p.mw-ipb-conveniencelinks, p.mw-protect-editreasons, +p.mw-filedelete-editreasons, p.mw-delete-editreasons { + float: left; +} + +.toggle { + margin-left: 0em; + margin-right: 2em; +} +table.filehistory th { + text-align: right; +} + +/** + * Lists: + * The following lines don't have a visible effect on non-Gecko browsers + * They fix a problem ith Gecko browsers rendering lists to the right of + * left-floated objects in an RTL layout. + */ +html > body div#bodyContent ul { + display: table; +} +html > body div#bodyContent ul#filetoc { + display: block; +} diff --git a/skins/monobook/user.gif b/skins/monobook/user.gif new file mode 100644 index 0000000000000000000000000000000000000000..c9c9ab96a43f2955f641a8c7d50a293f15c0f7aa GIT binary patch literal 923 zcmZ?wbhEHb6krfw_|Cu(?P(O{X%gdM=;!B`J6*o4BV=-l_QW)UY3a7Rt4!L8W7+ld(+|7PI_f+B zc-ZnYsVmQB9-12UXsYw`#bM8vhP~aI^I?DW{OLW57cbs*y>0KUj`Le5+}P21{Qm4y zj~1VOyyD`sbyr_(d3xx5H#b`|F)>&J02g_h ADF6Tf literal 0 HcmV?d00001 diff --git a/skins/monobook/video.png b/skins/monobook/video.png new file mode 100644 index 0000000000000000000000000000000000000000..38103dac285e8dd202a60c43e2be1a2f5a077aa5 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&v7|ftIx;YR|DNig)WpGT%PfAtr%uP&B4N6T+sVqF1Y6Dax6yOu$dgj5`O&32Hw_ZzI{NVrp z{|sqo_KP<917*EET^vIyZY3q8rKYANCZ?pOvT-P|rLn1nDI_E%fY>b>4h)ShkqrzQ zTmlXrix?PNmWU}dOmJaj;_%dUU{LI2ViA}W)xf~a;FiniygTskTcEKFp00i_>zopr E054NO8~^|S literal 0 HcmV?d00001 diff --git a/skins/monobook/wiki-indexed.png b/skins/monobook/wiki-indexed.png new file mode 100644 index 0000000000000000000000000000000000000000..189a2ae3d772b9149b0cdf9960cea484eb68cb9f GIT binary patch literal 8205 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 literal 0 HcmV?d00001 diff --git a/skins/myskin/main.css b/skins/myskin/main.css new file mode 100644 index 00000000..f3ab0204 --- /dev/null +++ b/skins/myskin/main.css @@ -0,0 +1 @@ +/* this file must be empty */ diff --git a/skins/simple/discussionitem_icon.gif b/skins/simple/discussionitem_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..baec471afc095d864e7e2dbba473111ec3de6fc8 GIT binary patch literal 949 zcmZ?wbhEHb6krfw_|CxK=jWH5ot;1ZSpJOT6Lod}3r_0p?rvIqV)EM4^H!bh-1VV* z_lMrSA13VkIC1~SwVN+&-F{)uo(q!>e4KpXQG};@9n0zwW&DZTIzWdv1I`eE9IGBbP27zkK-4kK^}#oVfqv?4uv& zAN{=i^w*VVzpg&}b?eoyyRU!Wd;Rd6Ymss zZewO(k>dE2+|J9S5+qQu;bBwr43)+YI}8uEatX^@B+OXAkl`s~5+~5X(B#0x#m&O7 zSE8AfOHkG*B*B2;07o|)!wS}f15V6a(*-9@Nhn)#XG`HzE|b;U*WYhqWMr@g0JP%O A$^ZZW literal 0 HcmV?d00001 diff --git a/skins/simple/external.png b/skins/simple/external.png new file mode 100644 index 0000000000000000000000000000000000000000..419c06fb960b0b665791c90044a78621616a4cb8 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&i3a$DxTeiKV?6WB%rpNP(#|lX z{f7XTR~%D;3fN16{DL7O3{u|AZa^UmPZ!4!iE!1^jzSC$EX7 z>#2$@InOtpuqyg8<+R}9g-+|v&13&5`dCp`{|95_8^+nQkC>(b&0z3!^>bP0l+XkK DO07OF literal 0 HcmV?d00001 diff --git a/skins/simple/file_icon.gif b/skins/simple/file_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..847f6485efb453b6340f92f6d40db60a776a3b92 GIT binary patch literal 921 zcmZ?wbhEHb6krfw_|CxK=jZoda8h@7ckkX0E6#q|aPjM=%U^d~`?l-)x4k#N9k~7d z@SX3+?tMS`;K!MVKh8h?dGX25tIvO4dG_o2i=Ve%{<`z}*WK5@?!Wo<=-uxp?|(n} z@cY@vKQBN1dGqDZyRUygeE<9D``<4={(bxP@5k@|zyAFH{pbJRfB*me`ws*RqhK@y z208>3f3h$#FfcOcfE)tK6AT<>49pxd9vc=MY-VTGh~Z#JWMI@#TGVjEVBwKYL2a=X ziH$7`3<{=vEfq~J9Q@2dT_PF>j&KOb8bwSnNOyO6Y90u(|3{^EKiY>ZB|; zOkZxCv&yVstySqp`?_r&VM~4{tofO<@n^y2pVhm6{ui9oveU17U)b~`X|s=J%{`X8 z_+)8!cX!*qpKH!EbshRO`{b|rr+=-w_-os>Upue;I&ts!&F7~tKmL2;#ot%2UOjpD z@5TFnAHM$k_VXXZC>RX^`i6kwPZmZ71~CR5khP#Z!NAeYpvxiSv0=f%W)9Y}2n~gW zt*x8_Gc*(zEIi1^En`zK;ZS1}lNe`NMFHdCR#5>7367NoM_PGgVm9o!aNq#LG}(YD zH$E&p+9j-|{lH}6qLwxxO`nPx4vguX!UB2@9F9&c?3_CCS_u~#8kqzYX2t0wJOHxf cG+a)s+Q8h%$jA^gqaky7k&s78}-D?A&I)Z>QO@L#8K>np`|*eD{X({oDFi zE*RgsW_bIC;e*=-5AFbw(b-ecPae2GdEoWzQPlG%u`iyaPntAo(V|7`)~&m7ZO+@* z-S6Kn{P1r1M_wNsX|9<)Z@9%#g zU>F6XAuuo@p!k!8k%2)62!Q~UCm1-286r7EW-LrN*vP@2Cb5v|CRNKE3`spQHjC~p=q<3mGg8zU>9PR54^ tj;#E4+4s(5Iy#-7z{DZpaNt1WMLy5mM^`KvnNACc9q!s|V4%QY4FEFIiq8N5 literal 0 HcmV?d00001 diff --git a/skins/simple/mail_icon.gif b/skins/simple/mail_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..50a87a9a0689ac0dbaed5410b2c7f0fd107ae7b2 GIT binary patch literal 918 zcmZ?wbhEHb6krfw_|CxK=jWHQ@aa2qg%2+JpA!8SFJ9cV`Bm@U4;wFh+IIQ#&a0pI zUjMT1#+O64z8<~v_2j*8r|y5d@c8@1$KS6#`*G{#&pWSv-hK7+{+nM9-~M{??$?Wt zzh8d({rdBtw_pBz`1a@1_rG6%{{8v;-=Dw#{{8#^R$To5|Nji5U^D~4HOux0sbe9%m4rY literal 0 HcmV?d00001 diff --git a/skins/simple/main.css b/skins/simple/main.css new file mode 100644 index 00000000..6f3e8eb8 --- /dev/null +++ b/skins/simple/main.css @@ -0,0 +1,391 @@ +/* For clarity, explicitly state some recommendations from to make sure the editsection links scale right */ + +h1 { font-size: 2em; } +h2 { font-size: 1.5em; } +h3 { font-size: 1.17em; } +h5 { font-size: .83em; } +h6 { font-size: .75em; } +h1, h2, h3, h4, h5, h6 { font-weight: bolder } + +/* Now the custom parts */ + +/* Make edit sections (which are inside h# tags) normal-sized */ +.editsection { + font-weight: normal; +} +h1 .editsection { font-size: 50% } +h2 .editsection { font-size: 66.7% } +h3 .editsection { font-size: 85.5% } +h5 .editsection { font-size: 120% } +h6 .editsection { font-size: 133% } + + +#toolbar { + display: none; +} + +div.center { + text-align: center; +} + +#contentSub { + padding-left: 2em; +} + +a { + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +#column-content { + width: 100%; + float: right; + margin: 0 0 0.6em -12.2em; + padding:0; +} + +#content { + margin: 0em 0 0 12.2em; + padding: 0em 1em 1.5em 1em; + border-left: 1px solid #959595; + line-height: 1.5em; +} + +#column-one { + position: absolute; + top: 0px; left: 0px; +} + +#footer { + display: none; +} + +body { + margin: 0; + padding: 0; +} + +#globalWrapper { + width: 100%; + height: 100%; + margin: 0; + padding: 0; +} +.visualClear { clear: both; } + +img { + border: none; +} +p { + margin: 0.4em 0em 0.5em 0em; + line-height: 1.5em; +} +p img { margin: 0; } + +h1, h2, h3, h4, h5, h6 { + margin: 0; + padding-top: 0.5em; + padding-bottom: 0.17em; +} +fieldset { + margin: 1em 0em 1em 0em; + padding: 0em 1em 1em 1em; +} +.usermessage { + background-color: #ffce7b; + border: 1px solid #ffa500; + color: Black; + font-weight: bold; + margin: 2em 0em 1em 0em; + padding: 0.5em 1em; + vertical-align: middle; +} +.error { + color: red; + font-size: larger; +} + +table.rimage { + float:right; + position:relative; + margin-left:1em; + margin-bottom:1em; + text-align:center; +} + +.portlet { + border: none; + float: none; + padding: 0; + width: 11.8em; + overflow: hidden; +} +.portlet h4 { + font-weight: normal; + white-space: nowrap; +} +.portlet h5 { + padding: 0em 1em 0em 0.5em; + display: inline; + height: 1em; + font-weight: normal; + white-space: nowrap; +} +.portlet h6 { + padding: 0em 1em 0em 1em; + display: block; + height: 1.2em; + font-weight: normal; + white-space: nowrap; +} +.pBody { + border-collapse: collapse; + padding: 0 0.8em 0.3em 0.5em; +} +.portlet h1, +.portlet h2, +.portlet h3, +.portlet h4 { + margin: 0; + padding: 0; + font-size: small; +} + +#p-search .pBody { + text-align: center; +} + +#searchInput { + width: 100%; + clear: both; + margin: 0 0 0 0; +} + +input.searchButton { + margin-top:1px; + padding: 0 0.4em; + cursor: pointer; +} + +#p-search .pBody { + padding: 0.5em 0.4em 0.4em 0.4em; +} + +textarea { + width: 100%; +} + +.pBody li, .pBody ul { + padding-left: 0em; + margin-left: 0.5em; +} + +pre { + margin: 2em; + border: solid 1px black; +} + +h1.firstHeading, h2 { + border-bottom: solid 1px black; +} +#bodyContent a[href ^="http://"], +#bodyContent a[href ^="gopher://"] { + background: url("external.png") center right no-repeat; + padding-right: 13px; +} +#bodyContent a[href ^="https://"], +.link-https { + background: url("lock_icon.gif") center right no-repeat; + padding-right: 16px; +} +#bodyContent a[href ^="mailto:"], +.link-mailto { + background: url("mail_icon.gif") center right no-repeat; + padding-right: 18px; +} +#bodyContent a[href ^="news://"] { + background: url("news_icon.png") center right no-repeat; + padding-right: 18px; +} +#bodyContent a[href ^="ftp://"], +.link-ftp { + background: url("file_icon.gif") center right no-repeat; + padding-right: 18px; +} +#bodyContent a[href ^="irc://"], +#bodyContent a.extiw[href ^="irc://"], +.link-irc { + background: url("discussionitem_icon.gif") center right no-repeat; + padding-right: 18px; +} + +#bodyContent a.extiw, +#bodyContent a.extiw:active { + color: #5E7CFF; + background: none; + padding: 0; +} + +td.diff-addedline { + background-color: #B9FFB0; +} + +td.diff-deletedline { + background-color: #f8ffaa; +} + +.diffchange { background-color: #FFCDF3; text-decoration: none; } +#pagehistory li { border: none; } + +span.urlexpansion { + display: none; +} + +div.tocindent { + margin-left: 2em; +} +#toc { + text-align: left; + border-top: solid 1px black; + border-bottom: solid 1px black; +} + +div.floatright, table.floatright { + clear: right; + float: right; + margin: 0; + position: relative; + border-width: 0.5em 0 0.8em 1.4em; +} +div.floatright p { font-style: italic; } +div.floatleft, table.floatleft { + float: left; + clear: left; + margin: 0.3em 0.5em 0.5em 0; + position: relative; + border-width: 0.5em 1.4em 0.8em 0; +} +div.floatleft p { font-style: italic; } +/* thumbnails */ +div.thumb { + margin-bottom: 0.5em; + width: auto; +} +div.thumb div { + padding: 3px !important; + text-align: center; + overflow: hidden; +} + +div.thumb div div.thumbcaption { + border: none; + text-align: left; + line-height: 1.4; + padding: 0.3em 0 0.1em 0; +} +div.magnify { + float: right; + border: none !important; + background: none !important; +} +div.magnify a, div.magnify img { + display: block; + border: none !important; + background: none !important; +} +div.tright { + clear: right; + float: right; + border-width: 0.5em 0 0.8em 1.4em; +} +div.tleft { + float: left; + clear: left; + margin-right:0.5em; + border-width: 0.5em 1.4em 0.8em 0; +} +img.thumbborder { + border: 1px solid #dddddd; +} + +a.stub { color: #772233; } +a.new, +#p-personal a.new { + text-decoration: line-through; +} +li.new { + text-decoration: line-through; +} +.catlinks { + text-align: center; + width: 80%; + margin-left: auto; + margin-right: auto; + padding: 3px; +} + +#mytabs { + background-color: inherit; +} +#p-cactions { + background-color: inherit; +} +div.printfooter { + display: none; +} + +#n-portal, +#n-currentevents, +#n-help, +#n-sitesupport { + display: none; +} + +#preftoc { + float: left; + margin: 1em; + width: 13em; +} +#preftoc li { +} +#preftoc li.selected { + border: 1px dashed #aaa; +} +#preftoc a, +#preftoc a:active { + display: block; +} +#prefcontrol { + clear: both; + float: left; + margin-top: 1em; +} +div.prefsectiontip { + font-size: 95%; + margin-top: 1em; +} + +#mw_trackbacks { + border-style: groove; + padding: 0.2em; +} + +#jump-to-nav { + display: none; +} + +table.collapsed tr.collapsable { + display: none; +} + +.editsection { + float: right; + margin-left: 5px; +} + +.templatesUsed { margin-top: 1.5em; } + diff --git a/skins/simple/rtl.css b/skins/simple/rtl.css new file mode 100644 index 00000000..1ba1431d --- /dev/null +++ b/skins/simple/rtl.css @@ -0,0 +1,176 @@ +/* +Right-to-left fixes for Simple. +Places sidebar on right, tweaks various alignment issues. + +Works mostly ok nicely on Safari 1.2.1; fine in Mozilla. + +Safari bugs (1.2.1): +* Tabs are still appearing in left-to-right order. (Try after localizing) + +Opera bugs (7.23 linux): +* Some bits of ltr text (sidebar box titles) have forward and backward versions overlapping each other + +IE/mac bugs: +* The thing barfs on Hebrew and Arabic anyway, so no point testing. + +Missing features due to lack of support: +* external link icons + +To test: +* Opera6 +* IE 5.0 +* etc + +*/ +body { + direction: rtl; + unicode-bidi: embed; +} +#column-content { + margin: 0 -12.2em 0 0; + float: left; +} +#column-content #content{ + margin-left: 0; + margin-right: 12.2em; + border-right: 1px solid #aaaaaa; + border-left: none; +} +html>body .portlet { + float: right; + clear: right; +} +.editsection { + float: left; + margin-right: 5px; + margin-left: 0; /* bug 9122: undo default LTR */ +} +/* recover IEMac (might be fine with the float, but usually it's close to IE */ +*>body .portlet { + float: none; + clear: none; +} +.pBody { + padding: 0 0.5em 0.3em 0.8em; +} + +/* Fix alignment */ +.documentByLine, +.portletDetails, +.portletMore { + text-align: left; +} + +div div.thumbcaption { + text-align: right; +} + +div.magnify, +#p-logo { + left: auto; + right: 0; +} + +/* Fix margins for non-css2 browsers */ +/* top right bottom left */ + +dd { + margin-left: 0; + margin-right: 1.6em; +} +#contentSub { + margin-right: 1em; + margin-left: 0; +} +.tocindent { + margin-left: 0; + margin-right: 2em; +} +div.tright, div.floatright, table.floatright { + clear: none; +} +div.tleft, div.floatleft, table.floatleft { + clear: left; +} + +/* Fix link icons */ +.external { + padding: 0 !important; + background: none !important; +} +#footer { + clear: both; +} +* html #footer { + margin-left: 0; + margin-right: 13.6em; + border-left: 0; + border-right: 1px solid #fabd23; +} +* html #column-content { + float: none; + margin-left: 0; + margin-right: 0; +} +* html #column-content #content { + margin-left: 0; + margin-top: 3em; +} +* html #column-one { right: 0; } + +/* js pref toc */ + +#preftoc { + margin-right: 1em; +} + +.errorbox, .successbox, #preftoc li, .prefsection fieldset { + float: right; +} + +.prefsection { + padding-right: 2em; +} + +/* workaround for moz bug, displayed bullets on left side */ + +#toc ul { + text-align: right; +} + +#toc ul ul { + margin: 0 2em 0 0; +} + +input#wpSave, input#wpDiff { + margin-right: 0; + margin-left: .33em; +} + +#userlogin { + float: right; + margin: 0 0 1em 3em; +} +/* Convenience links to edit block, delete and protect reasons */ +p.mw-ipb-conveniencelinks, p.mw-protect-editreasons, +p.mw-filedelete-editreasons, p.mw-delete-editreasons { + float: left; +} + +.toggle { + margin-left: 0em; + margin-right: 2em; +} +table.filehistory th { + text-align: right; +} + +/** + * Lists: + * The following lines don't have a visible effect on non-Gecko browsers + * They fix a problem ith Gecko browsers rendering lists to the right of + * left-floated objects in an RTL layout. + */ +html > body div#bodyContent ul { + display: table; +} -- 2.25.1