[Scummvm-cvs-logs] SF.net SVN: scummvm:[55926] wiki/trunk/skins
criezy at users.sourceforge.net
criezy at users.sourceforge.net
Wed Mar 23 01:07:02 CET 2011
Revision: 55926
http://scummvm.svn.sourceforge.net/scummvm/?rev=55926&view=rev
Author: criezy
Date: 2011-03-23 00:07:01 +0000 (Wed, 23 Mar 2011)
Log Message:
-----------
WIKI: Add new skin from billwashere
Added Paths:
-----------
wiki/trunk/skins/ScummModern.deps.php
wiki/trunk/skins/ScummModern.php
wiki/trunk/skins/scummmodern/
wiki/trunk/skins/scummmodern/GOG_button_small.png
wiki/trunk/skins/scummmodern/IE50Fixes.css
wiki/trunk/skins/scummmodern/KHTMLFixes.css
wiki/trunk/skins/scummmodern/ajaxwatch.js
wiki/trunk/skins/scummmodern/audio.png
wiki/trunk/skins/scummmodern/bg-upper.png
wiki/trunk/skins/scummmodern/body-bg.png
wiki/trunk/skins/scummmodern/bullet.gif
wiki/trunk/skins/scummmodern/bullet.png
wiki/trunk/skins/scummmodern/chart.css
wiki/trunk/skins/scummmodern/content-left-bottom.png
wiki/trunk/skins/scummmodern/curve_bl.png
wiki/trunk/skins/scummmodern/curve_br.png
wiki/trunk/skins/scummmodern/curve_tr.png
wiki/trunk/skins/scummmodern/discussionitem_icon.png
wiki/trunk/skins/scummmodern/document.png
wiki/trunk/skins/scummmodern/external-rtl.png
wiki/trunk/skins/scummmodern/external.png
wiki/trunk/skins/scummmodern/favicon.ico
wiki/trunk/skins/scummmodern/file_icon.png
wiki/trunk/skins/scummmodern/gnu-fdl.png
wiki/trunk/skins/scummmodern/grey_pixel.png
wiki/trunk/skins/scummmodern/hangmonk.gif
wiki/trunk/skins/scummmodern/head-left-upper.png
wiki/trunk/skins/scummmodern/headbg.jpg
wiki/trunk/skins/scummmodern/header-background.png
wiki/trunk/skins/scummmodern/header-left-corner.png
wiki/trunk/skins/scummmodern/header-left-solid.png
wiki/trunk/skins/scummmodern/header-right-corner.png
wiki/trunk/skins/scummmodern/header-right-solid.png
wiki/trunk/skins/scummmodern/ie6.css
wiki/trunk/skins/scummmodern/ie7.css
wiki/trunk/skins/scummmodern/index.htm
wiki/trunk/skins/scummmodern/layout.css
wiki/trunk/skins/scummmodern/left-low-corner.png
wiki/trunk/skins/scummmodern/link_icon.png
wiki/trunk/skins/scummmodern/lock_icon.png
wiki/trunk/skins/scummmodern/logo.png
wiki/trunk/skins/scummmodern/logo_phpVB2.png
wiki/trunk/skins/scummmodern/magnify-clip.png
wiki/trunk/skins/scummmodern/mail_icon.png
wiki/trunk/skins/scummmodern/menu-bg.png
wiki/trunk/skins/scummmodern/menu-bottom.png
wiki/trunk/skins/scummmodern/menu-main.png
wiki/trunk/skins/scummmodern/menu-misc.png
wiki/trunk/skins/scummmodern/menu-sf.png
wiki/trunk/skins/scummmodern/menu.css
wiki/trunk/skins/scummmodern/menus-cont-bg.png
wiki/trunk/skins/scummmodern/nav-dots.png
wiki/trunk/skins/scummmodern/news_icon.png
wiki/trunk/skins/scummmodern/par-head.png
wiki/trunk/skins/scummmodern/poweredby_mediawiki_88x31.png
wiki/trunk/skins/scummmodern/print.css
wiki/trunk/skins/scummmodern/required.png
wiki/trunk/skins/scummmodern/right-low-corner.png
wiki/trunk/skins/scummmodern/scummvm-caption.png
wiki/trunk/skins/scummmodern/scummvm-link.png
wiki/trunk/skins/scummmodern/scummvm_cb.png
wiki/trunk/skins/scummmodern/shots-corner-left.png
wiki/trunk/skins/scummmodern/shots-corner-right.png
wiki/trunk/skins/scummmodern/spacer.png
wiki/trunk/skins/scummmodern/subhead-dots.png
wiki/trunk/skins/scummmodern/tab_l.png
wiki/trunk/skins/scummmodern/tab_r.png
wiki/trunk/skins/scummmodern/table-head.png
wiki/trunk/skins/scummmodern/top_bg.png
wiki/trunk/skins/scummmodern/user.png
wiki/trunk/skins/scummmodern/video.png
wiki/trunk/skins/scummmodern/wikibits.js
Added: wiki/trunk/skins/ScummModern.deps.php
===================================================================
--- wiki/trunk/skins/ScummModern.deps.php (rev 0)
+++ wiki/trunk/skins/ScummModern.deps.php 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,12 @@
+<?php
+// This file exists to ensure that base classes are preloaded before
+// MonoBook.php is compiled, working around a bug in the APC opcode
+// cache on PHP 5, where cached code can break if the include order
+// changed on a subsequent page view.
+// see http://lists.wikimedia.org/pipermail/wikitech-l/2006-January/021311.html
+
+if ( ! defined( 'MEDIAWIKI' ) )
+ die( 1 );
+
+require_once( dirname( dirname( __FILE__ ) ) . '/includes/SkinTemplate.php');
+
Property changes on: wiki/trunk/skins/ScummModern.deps.php
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Date Rev Author URL Id
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/ScummModern.php
===================================================================
--- wiki/trunk/skins/ScummModern.php (rev 0)
+++ wiki/trunk/skins/ScummModern.php 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,483 @@
+<?php
+/**
+ * ScummVM MediaWiki template
+ * Based on ScummVM nouveau.
+ */
+
+if( !defined( 'MEDIAWIKI' ) )
+ die( -1 );
+
+/**
+ * Inherit main code from SkinTemplate, set the CSS and template filter.
+ * @todo document
+ * @ingroup Skins
+ */
+class SkinScummModern extends SkinTemplate {
+ function initPage( OutputPage $out ) {
+ parent::initPage( $out );
+ $this->skinname = 'scummmodern';
+ $this->stylename = 'scummmodern';
+ $this->template = 'ScummModernTemplate';
+
+ }
+
+ function setupSkinUserCss( OutputPage $out ) {
+ global $wgHandheldStyle;
+
+ //parent::setupSkinUserCss( $out );
+
+ // Append to the default screen common & print styles...
+ $out->addStyle( 'scummmodern/menu.css', 'screen' );
+ $out->addStyle( 'scummmodern/layout.css', 'screen' );
+ $out->addStyle( 'scummmodern/chart.css', 'screen' );
+ /*if( $wgHandheldStyle ) {
+ // Currently in testing... try 'chick/main.css'
+ $out->addStyle( $wgHandheldStyle, 'handheld' );
+ }*/
+
+ //$out->addStyle( 'scummmodern/IE50Fixes.css', 'screen', 'lt IE 5.5000' );
+ //$out->addStyle( 'scummvm/IE55Fixes.css', 'screen', 'IE 5.5000' );
+ $out->addStyle( 'scummmodern/ie6.css', 'screen', 'IE 6' );
+ $out->addStyle( 'scummmodern/ie7.css', 'screen', 'IE 7' );
+ $out->addStyle( 'scummmodern/print.css', 'print' );
+ }
+}
+
+/**
+ * @todo document
+ * @ingroup Skins
+ */
+class ScummModernTemplate extends QuickTemplate {
+ var $skin;
+ /**
+ * Template filter callback for ScummVM 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
+ */
+
+ public $menuClassList = array("menu-main", "menu-misc", "menu-sf"); // What class
+ public $menuClassCounter = 0; // This determines what img gets shown in the nav
+
+ public $leftTabs = array("nstab-main", "talk"); //This is what tabs are on the left, the rest are on the right
+
+ function menuClass() {
+
+ if($this->menuClassCounter > count($this->menuClassList)-1) {
+
+ $this->menuClassCounter = 0; // start again
+ }
+ $returnVal = $this->menuClassList[$this->menuClassCounter];
+ $this->menuClassCounter++;
+ echo $returnVal;
+ }
+
+ function generateTabs() {
+ echo "hi";
+ }
+
+ 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();
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="<?php $this->text('xhtmldefaultnamespace') ?>" <?php foreach($this->data['xhtmlnamespaces'] as $tag => $ns) { ?>xmlns:<?php echo "{$tag}=\"{$ns}\" "; } ?>xml:lang="<?php $this->text('lang') ?>" lang="<?php $this->text('lang') ?>" dir="<?php $this->text('dir') ?>">
+
+<head>
+<meta http-equiv="Content-Type" content="<?php $this->text('mimetype') ?>; charset=<?php $this->text('charset') ?>" />
+<?php $this->html('headlinks') ?>
+<title><?php $this->text('pagetitle') ?></title>
+<?php $this->html('csslinks') ?>
+
+<!--[if lt IE 7]><script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath') ?>/common/IEFixes.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"></script>
+<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
+
+<?php print Skin::makeGlobalVariablesScript( $this->data ); ?>
+
+<script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('stylepath' ) ?>/<?php $this->text('stylename') ?>/wikibits.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"><!-- wikibits js --></script>
+
+<!-- Head Scripts -->
+<?php $this->html('headscripts') //this is now hard coded because I've modifed ajaxwatch.js ?>
+<script type="text/javascript" src="<?php $this->text('stylepath' ) ?>/common/ajax.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"></script>
+<script type="text/javascript" src="<?php $this->text('stylepath' ) ?>/<?php $this->text('stylename') ?>/ajaxwatch.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"></script>
+<?php if($this->data['jsvarurl']) { ?>
+ <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('jsvarurl') ?>"><!-- site js --></script>
+<?php }
+ if($this->data['usercss']) { ?>
+ <style type="text/css"><?php $this->html('usercss') ?></style>
+<?php } ?>
+<?php if($this->data['pagecss']) { ?>
+ <style type="text/css"><?php $this->html('pagecss') ?></style>
+<?php }
+ if($this->data['userjs']) { ?>
+ <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('userjs' ) ?>"></script>
+<?php }
+ if($this->data['userjsprev']) { ?>
+ <script type="<?php $this->text('jsmimetype') ?>"><?php $this->html('userjsprev') ?></script>
+<?php }
+ if($this->data['trackbackhtml']) print $this->data['trackbackhtml']; ?>
+</head>
+<body<?php if($this->data['body_ondblclick']) { ?> ondblclick="<?php $this->text('body_ondblclick') ?>"<?php } ?>
+<?php if($this->data['body_onload']) { ?> onload="<?php $this->text('body_onload') ?>"<?php } ?>
+ class="mediawiki <?php $this->text('dir') ?> <?php $this->text('pageclass') ?> <?php $this->text('skinnameclass') ?>">
+
+<table width="90%" border="0" cellspacing="0" cellpadding="0" align="center" id="tableMain">
+ <tr id="topHeader">
+ <td width="199px"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>"<?php
+ echo $skin->tooltipAndAccesskey('p-logo') ?>><img src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/logo_phpVB2.png" width="199" height="65" alt="ScummVM logo" /></a></td>
+
+ <td width="50%" style="background-image: url('<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/top_bg.png'); vertical-align: middle; text-align: left; white-space:nowrap;">
+ <a href="http://www.scummvm.org/" target="_parent" class="toplinks" id="tl_mw">Main website</a> -
+ <a href="http://forums.scummvm.org/" target="_parent" class="toplinks" id="tl_f">Forums</a> -
+ <a href="http://buildbot.scummvm.org" target="_parent" class="toplinks" id="tl_b">BuildBot</a> -
+ <a href="http://doxygen.scummvm.org" target="_parent" class="toplinks" id="tl_d">Doxygen</a> -
+ <a href="http://planet.scummvm.org" target="_parent" class="toplinks" id="tl_p">Planet</a> <br />
+ <a href="http://www.scummvm.org/contact.php" target="_parent" class="toplinks" id="tl_cu">Contact us</a> -
+ <b><a href="http://www.gog.com/en/frontpage/pp/22d200f8670dbdb3e253a90eee5098477c95c23d" target="_parent" class="toplinks" id="tl_go">Buy Supported Games</a></b>
+ </td>
+
+ <td width="50%" style="background-image: url('<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/top_bg.png'); vertical-align: middle; text-align: right; white-space:nowrap;">
+ <!-- new nav table -->
+ <?php $num_p_urls = count($this->data['personal_urls']); $num_p_urls_count = 0;
+ foreach($this->data['personal_urls'] as $key => $item) {
+ if ($num_p_urls_count != 0) {
+ if ($num_p_urls_count != round($num_p_urls/2)) {
+ ?> - <?php
+ } }
+ if ($num_p_urls_count == round($num_p_urls/2)) { ?> <br /> <?php } // end if <=
+ $num_p_urls_count++;
+ ?>
+ <a href="<?php echo htmlspecialchars($item['href']) ?>" class="toplinks">
+ <?php echo htmlspecialchars($item['text']) ?></a>
+ <?php } //end for each ?>
+ </td>
+ <td><img src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/curve_tr.png" width="20" height="65" alt="curved edge" /></td>
+ </tr>
+ <!-- top logo, navbar ends here, now on to the main forum body -->
+ <tr id="tableColor" bgcolor="#fbf1ce">
+ <td colspan="4">
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" style="padding-left: 5px; padding-right: 5px;">
+ <tr>
+ <td>
+ <div id="container">
+ <a name="top" id="top"></a>
+ <div id="menu"> <!-- start of menu -->
+ <script type="<?php $this->text('jsmimetype') ?>"> if (window.isMSIE55) fixalpha(); </script>
+ <?php
+ $sidebar = $this->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 );
+ }
+ }
+
+
+
+
+
+ ?>
+ </div><!-- end of menu -->
+ <?php if($this->data['sitenotice']) { ?><div id="siteNotice"><?php $this->html('sitenotice') ?></div><?php } ?>
+
+ <div id="p-cactions" class="portlet">
+ <div class="tabs"><!-- start of Views -->
+ <div id="ltabs"><ul>
+ <?php //this is view source and edit etc
+ foreach($this->data['content_actions'] as $key => $tab) {
+ if(in_array($key,$this->leftTabs)){ echo '<li id="' . Sanitizer::escapeId( "ca-$key" ) . '"';
+ if( $tab['class'] ) {
+ echo ' class="'.htmlspecialchars($tab['class']).'"';
+ }
+ echo'><a href="'.htmlspecialchars($tab['href']).'"';
+ # We don't want to give the watch tab an accesskey if the
+ # page is being edited, because that conflicts with the
+ # accesskey on the watch checkbox. We also don't want to
+ # give the edit tab an accesskey, because that's fairly su-
+ # perfluous and conflicts with an accesskey (Ctrl-E) often
+ # used for editing in Safari.
+ if( in_array( $action, array( 'edit', 'submit' ) ) && in_array( $key, array( 'edit', 'watch', 'unwatch' ))) {
+ echo $skin->tooltip( "ca-$key" );
+ } else {
+ echo $skin->tooltipAndAccesskey( "ca-$key" );
+ }
+ if( $tab['class'] ) {
+ echo ' class="'.htmlspecialchars($tab['class']).'"';
+ }
+ echo '><span>'.htmlspecialchars($tab['text']).'</span></a></li>';
+ }} ?>
+ </ul></div>
+ <div id="rtabs"><ul>
+ <?php //this is view source and edit etc
+ foreach($this->data['content_actions'] as $key => $tab) {
+ if(!in_array($key,$this->leftTabs)){echo '<li id="' . Sanitizer::escapeId( "ca-$key" ) . '"';
+ if( $tab['class'] ) {
+ echo ' class="'.htmlspecialchars($tab['class']).'"';
+ }
+ echo'><a href="'.htmlspecialchars($tab['href']).'"';
+ # We don't want to give the watch tab an accesskey if the
+ # page is being edited, because that conflicts with the
+ # accesskey on the watch checkbox. We also don't want to
+ # give the edit tab an accesskey, because that's fairly su-
+ # perfluous and conflicts with an accesskey (Ctrl-E) often
+ # used for editing in Safari.
+ if( in_array( $action, array( 'edit', 'submit' ) ) && in_array( $key, array( 'edit', 'watch', 'unwatch' ))) {
+ echo $skin->tooltip( "ca-$key" );
+ } else {
+ echo $skin->tooltipAndAccesskey( "ca-$key" );
+ }
+ if( $tab['class'] ) {
+ echo ' class="'.htmlspecialchars($tab['class']).'"';
+ }
+ echo '><span>'.htmlspecialchars($tab['text']).'</span></a></li>';
+ }} ?>
+ </ul></div>
+ </div> <!-- end of Views -->
+ </div>
+ <div class="rbtop"> <!-- start of title -->
+ <div>
+ <p><span class="shadow-container" style="color: #fff;"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?><span class="shadow-text" style="color: #821d06;"><?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?></span></span><br /></p>
+ </div>
+ </div> <!-- end of title -->
+ <div class="rbcontent">
+ <div class="rbwrapper">
+ <div id="bodyContent">
+ <div id="contentSub"><?php $this->html('subtitle') ?></div>
+ <?php if($this->data['undelete']) { ?><div id="contentSub2"><?php $this->html('undelete') ?></div><?php } ?>
+ <?php if($this->data['newtalk'] ) { ?><div class="usermessage"><?php $this->html('newtalk') ?></div><?php } ?>
+ <!-- start content -->
+ <?php $this->html('bodytext') ?>
+ <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>
+ <!-- end content -->
+ <?php if($this->data['dataAfterContent']) { $this->html ('dataAfterContent'); } ?>
+ <div class="visualClear"></div>
+ </div>
+ </div>
+ </div>
+
+<div class="rbbot"><div><p> </p></div></div>
+ <div class="visualClear"></div>
+ <div id="footer">
+<?php
+ if($this->data['poweredbyico']) { ?>
+ <div id="f-poweredbyico"><?php $this->html('poweredbyico') ?></div>
+<?php }
+ if($this->data['copyrightico']) { ?>
+ <div id="f-copyrightico"><?php $this->html('copyrightico') ?></div>
+<?php }
+
+ // Generate additional footer links
+ $footerlinks = array(
+ 'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright',
+ 'privacy', 'about', 'disclaimer', 'tagline',
+ );
+ $validFooterLinks = array();
+ foreach( $footerlinks as $aLink ) {
+ if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
+ $validFooterLinks[] = $aLink;
+ }
+ }
+ if ( count( $validFooterLinks ) > 0 ) {
+?> <ul id="f-list">
+<?php
+ foreach( $validFooterLinks as $aLink ) {
+ if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) {
+?> <li id="<?php echo$aLink?>"><?php $this->html($aLink) ?></li>
+<?php }
+ }
+?>
+ </ul>
+<?php }
+?>
+ </div>
+</div>
+<?php $this->html('bottomscripts'); /* JS call to runBodyOnloadHook */ ?>
+<?php $this->html('reporttime') ?>
+<?php if ( $this->data['debug'] ): ?>
+<!-- Debug output:
+<?php $this->text( 'debug' ); ?>
+
+-->
+<?php endif; ?>
+ </div>
+
+</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" id="tableFooter">
+ <tr>
+ <td><img src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/curve_bl.png" width="20" height="20" alt="curved edge" /></td>
+
+ <td width="100%" bgcolor="#fbf1ce"> </td>
+ <td align="right" valign="bottom"><img src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/curve_br.png" width="20" height="20" alt="curved edge" /></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+</div>
+</body>
+</html>
+<?php
+ wfRestoreWarnings();
+ } // end of execute() method
+
+ function searchBox() {
+ global $wgUseTwoButtonsSearchForm;
+?>
+ <div class="menugroup">
+ <h1 class="<?php $this->menuClass(); ?>" ><label for="searchInput"><?php $this->msg('search') ?></label></h1>
+ <div id="searchBody" class="pBody" style="text-align: center;">
+ <form action="<?php $this->text('wgScript') ?>" id="searchform">
+ <input type='hidden' name="title" value="<?php $this->text('searchtitle') ?>"/>
+ <input id="searchInput" name="search" type="text"<?php echo $this->skin->tooltipAndAccesskey('search');
+ if( isset( $this->data['search'] ) ) {
+ ?> value="<?php $this->text('search') ?>"<?php } ?> />
+ <br /><input type='submit' name="go" class="searchButton" id="searchGoButton" value="<?php $this->msg('searcharticle') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-go' ); ?> /><?php if ($wgUseTwoButtonsSearchForm) { ?>
+ <input type='submit' name="fulltext" class="searchButton" id="mw-searchButton" value="<?php $this->msg('searchbutton') ?>"<?php echo $this->skin->tooltipAndAccesskey( 'search-fulltext' ); ?> /><?php } else { ?>
+
+ <div><a href="<?php $this->text('searchaction') ?>" rel="search"><?php $this->msg('powersearch-legend') ?></a></div><?php } ?>
+
+ </form>
+ </div>
+ </div>
+<?php
+ }
+
+ /*************************************************************************************************/
+ function toolbox() {
+?>
+ <div class="menugroup">
+ <h1 class="<?php $this->menuClass(); ?>"><?php $this->msg('toolbox') ?></h1>
+ <div class="pBody">
+ <ul>
+<?php
+ if($this->data['notspecialpage']) { ?>
+ <li id="t-whatlinkshere"><a href="<?php
+ echo htmlspecialchars($this->data['nav_urls']['whatlinkshere']['href'])
+ ?>"<?php echo $this->skin->tooltipAndAccesskey('t-whatlinkshere') ?>><?php $this->msg('whatlinkshere') ?></a></li>
+<?php
+ if( $this->data['nav_urls']['recentchangeslinked'] ) { ?>
+ <li id="t-recentchangeslinked"><a href="<?php
+ echo htmlspecialchars($this->data['nav_urls']['recentchangeslinked']['href'])
+ ?>"<?php echo $this->skin->tooltipAndAccesskey('t-recentchangeslinked') ?>><?php $this->msg('recentchangeslinked') ?></a></li>
+<?php }
+ }
+ if(isset($this->data['nav_urls']['trackbacklink'])) { ?>
+ <li id="t-trackbacklink"><a href="<?php
+ echo htmlspecialchars($this->data['nav_urls']['trackbacklink']['href'])
+ ?>"<?php echo $this->skin->tooltipAndAccesskey('t-trackbacklink') ?>><?php $this->msg('trackbacklink') ?></a></li>
+<?php }
+ if($this->data['feeds']) { ?>
+ <li id="feedlinks"><?php foreach($this->data['feeds'] as $key => $feed) {
+ ?><a id="<?php echo Sanitizer::escapeId( "feed-$key" ) ?>" href="<?php
+ echo htmlspecialchars($feed['href']) ?>" rel="alternate" type="application/<?php echo $key ?>+xml" class="feedlink"<?php echo $this->skin->tooltipAndAccesskey('feed-'.$key) ?>><?php echo htmlspecialchars($feed['text'])?></a>
+ <?php } ?></li><?php
+ }
+
+ foreach( array('contributions', 'log', 'blockip', 'emailuser', 'upload', 'specialpages') as $special ) {
+
+ if($this->data['nav_urls'][$special]) {
+ ?><li id="t-<?php echo $special ?>"><a href="<?php echo htmlspecialchars($this->data['nav_urls'][$special]['href'])
+ ?>"<?php echo $this->skin->tooltipAndAccesskey('t-'.$special) ?>><?php $this->msg($special) ?></a></li>
+<?php }
+ }
+
+ if(!empty($this->data['nav_urls']['print']['href'])) { ?>
+ <li id="t-print"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['print']['href'])
+ ?>" rel="alternate"<?php echo $this->skin->tooltipAndAccesskey('t-print') ?>><?php $this->msg('printableversion') ?></a></li><?php
+ }
+
+ if(!empty($this->data['nav_urls']['permalink']['href'])) { ?>
+ <li id="t-permalink"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['permalink']['href'])
+ ?>"<?php echo $this->skin->tooltipAndAccesskey('t-permalink') ?>><?php $this->msg('permalink') ?></a></li><?php
+ } elseif ($this->data['nav_urls']['permalink']['href'] === '') { ?>
+ <li id="t-ispermalink"<?php echo $this->skin->tooltip('t-ispermalink') ?>><?php $this->msg('permalink') ?></li><?php
+ }
+
+ wfRunHooks( 'ScummVMTemplateToolboxEnd', array( &$this ) );
+ wfRunHooks( 'SkinTemplateToolboxEnd', array( &$this ) );
+?>
+ </ul>
+ </div>
+ </div>
+<div><img src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/hangmonk.gif" alt="monkey" width="55" height="57" class="monkey float_right" /></div>
+ <div id="menu_banners">
+ <a href="http://sourceforge.net/donate/index.php?group_id=37116">
+ <img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" alt="Support This Project" />
+ </a>
+ <a href="http://combobreaker.com/">
+ <img src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/scummvm_cb.png" alt="Combobreaker.com T-Shirts" width="88" height="32" />
+ </a>
+ <a href="http://www.gog.com/en/frontpage/pp/22d200f8670dbdb3e253a90eee5098477c95c23d">
+ <img src="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/GOG_button_small.png" alt="Buy with GOG.com" width="88" height="32" />
+ </a>
+ </div>
+ <?php
+ }
+
+ /*************************************************************************************************/
+ function languageBox() {
+ if( $this->data['language_urls'] ) {
+?>
+ <div id="menugroup" class="portlet">
+ <h1 class="<?php $this->menuClass(); ?>"><?php $this->msg('otherlanguages') ?></h1>
+ <div class="pBody">
+ <ul>
+<?php foreach($this->data['language_urls'] as $langlink) { ?>
+ <li class="<?php echo htmlspecialchars($langlink['class'])?>"><?php
+ ?><a href="<?php echo htmlspecialchars($langlink['href']) ?>"><?php echo $langlink['text'] ?></a></li>
+<?php } ?>
+ </ul>
+ </div>
+ </div>
+<?php
+ }
+ }
+
+ /*************************************************************************************************/
+ function customBox( $bar, $cont ) {
+?>
+ <div class='menugroup' id='<?php echo Sanitizer::escapeId( "p-$bar" ) ?>'<?php echo $this->skin->tooltip($bar) ?>>
+ <h1 class="<?php $this->menuClass(); ?>"><?php $out = wfMsg( $bar ); if (wfEmptyMsg($bar, $out)) echo $bar; else echo $out; ?></h1>
+ <div class='pBody'>
+<?php if ( is_array( $cont ) ) { ?>
+ <ul>
+<?php foreach($cont as $key => $val) { ?>
+ <li id="<?php echo Sanitizer::escapeId($val['id']) ?>"<?php
+ if ( $val['active'] ) { ?> class="active" <?php }
+ ?>><a href="<?php echo htmlspecialchars($val['href']) ?>"<?php echo $this->skin->tooltipAndAccesskey($val['id']) ?>><?php echo htmlspecialchars($val['text']) ?></a></li>
+<?php } ?>
+ </ul>
+<?php } else {
+ # allow raw HTML block to be defined by extensions
+ print $cont;
+ }
+?>
+ </div>
+ </div>
+<?php
+ }
+
+} // end of class
+
+
Property changes on: wiki/trunk/skins/ScummModern.php
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:keywords
+ Date Rev Author URL Id
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/GOG_button_small.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/GOG_button_small.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/IE50Fixes.css
===================================================================
--- wiki/trunk/skins/scummmodern/IE50Fixes.css (rev 0)
+++ wiki/trunk/skins/scummmodern/IE50Fixes.css 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,3 @@
+#ltabs {height:0px;}
+#rtabs { float:right;position: relative; bottom:0px; padding-right:10px; }
+
Property changes on: wiki/trunk/skins/scummmodern/IE50Fixes.css
___________________________________________________________________
Added: svn:mime-type
+ text/css
Added: svn:eol-style
+ native
Property changes on: wiki/trunk/skins/scummmodern/KHTMLFixes.css
___________________________________________________________________
Added: svn:mime-type
+ text/css
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/ajaxwatch.js
===================================================================
--- wiki/trunk/skins/scummmodern/ajaxwatch.js (rev 0)
+++ wiki/trunk/skins/scummmodern/ajaxwatch.js 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,160 @@
+// 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 */
+
+//Modified to add <span> tags
+
+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( "<span>"+ (wgAjaxWatch.watching
+ ? wgAjaxWatch.unwatchingMsg : wgAjaxWatch.watchingMsg)+ "</span>");
+ 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(/^<w#>/) ) {
+ wgAjaxWatch.watching = true;
+ wgAjaxWatch.setLinkText("<span>"+wgAjaxWatch.unwatchMsg+"</span>");
+ wgAjaxWatch.setLinkID("ca-unwatch");
+ wgAjaxWatch.setHref( 'unwatch' );
+ } else if( response.match(/^<u#>/) ) {
+ wgAjaxWatch.watching = false;
+ wgAjaxWatch.setLinkText("<span>"+wgAjaxWatch.watchMsg+"</span>");
+ wgAjaxWatch.setLinkID("ca-watch");
+ wgAjaxWatch.setHref( 'watch' );
+ } else {
+ // Either we got a <err#> 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);
+ }
+ 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);
+
+/**
+ * @return boolean whether the browser supports XMLHttpRequest
+ */
+function wfSupportsAjax() {
+ var request = sajax_init_object();
+ var supportsAjax = request ? true : false;
+ delete request;
+ return supportsAjax;
+}
Property changes on: wiki/trunk/skins/scummmodern/ajaxwatch.js
___________________________________________________________________
Added: svn:mime-type
+ text/javascript
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/audio.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/audio.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/bg-upper.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/bg-upper.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/body-bg.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/body-bg.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/bullet.gif
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/bullet.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: wiki/trunk/skins/scummmodern/bullet.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/bullet.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/chart.css
===================================================================
--- wiki/trunk/skins/scummmodern/chart.css (rev 0)
+++ wiki/trunk/skins/scummmodern/chart.css 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,58 @@
+.chart {
+ border: 0px;
+ border-spacing: 0px;
+ margin: 0px auto 1em;
+ padding: 0px;
+ width: 95%;
+}
+
+.chart caption {
+ background: rgb(168, 39, 9) url('table-head.png');
+ color: rgb(255, 255, 255);
+ font-weight: bold;
+ margin: 0 auto;
+}
+
+.chart a {
+ color: rgb(0, 0, 0);
+ text-decoration: none;
+}
+
+.chart a:hover {
+ color: rgb(255, 0, 0);
+}
+
+.chart tr,
+.chart th,
+.chart td {
+ margin: 0px;
+ padding: 2px;
+}
+
+.chart th,
+.chart td {
+ border: 1px solid rgb(192, 192, 192);
+}
+
+.chart th {
+ font-weight: normal;
+ text-align: left;
+}
+
+.chart td.details {
+ padding: 1em 3em;
+}
+
+/* query row colors */
+.chart .color0 {
+ background-color: rgb(224, 224, 224);
+}
+.chart .color1 {
+ background-color: rgb(192, 192, 192);
+}
+.chart .color2 {
+ background-color: rgb(255, 255, 255);
+}
+.chart .color4 {
+ background-color: rgb(153, 153, 153);
+}
Property changes on: wiki/trunk/skins/scummmodern/chart.css
___________________________________________________________________
Added: svn:mime-type
+ text/css
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/content-left-bottom.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/content-left-bottom.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/curve_bl.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/curve_bl.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/curve_br.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/curve_br.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/curve_tr.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/curve_tr.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/discussionitem_icon.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/discussionitem_icon.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/document.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/document.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/external-rtl.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/external-rtl.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/external.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/external.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/favicon.ico
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/favicon.ico
___________________________________________________________________
Added: svn:mime-type
+ image/vnd.microsoft.icon
Added: wiki/trunk/skins/scummmodern/file_icon.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/file_icon.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/gnu-fdl.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/gnu-fdl.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/grey_pixel.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/grey_pixel.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/hangmonk.gif
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/hangmonk.gif
___________________________________________________________________
Added: svn:mime-type
+ image/gif
Added: wiki/trunk/skins/scummmodern/head-left-upper.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/head-left-upper.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/headbg.jpg
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/headbg.jpg
___________________________________________________________________
Added: svn:mime-type
+ image/jpeg
Added: wiki/trunk/skins/scummmodern/header-background.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/header-background.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/header-left-corner.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/header-left-corner.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/header-left-solid.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/header-left-solid.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/header-right-corner.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/header-right-corner.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/header-right-solid.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/header-right-solid.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/ie6.css
===================================================================
--- wiki/trunk/skins/scummmodern/ie6.css (rev 0)
+++ wiki/trunk/skins/scummmodern/ie6.css 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,45 @@
+.navigation ul {
+ padding-left: 0em;
+}
+
+#container {
+ height: auto !important;
+ height: 1080px;
+}
+
+#footer {
+ bottom: -1px;
+}
+
+.rbcontent {
+ overflow: visible;
+}
+
+.box .intro {
+ padding: 10px 0;
+ width: 100%;
+}
+.box .intro .text {
+ padding-right: 5px;
+}
+
+.box .head a:hover {
+ color: rgb(255, 255, 255);
+}
+.box .content {
+ width: auto;
+}
+
+#tabs {font-size: x-small; margin-bottom:22px;}
+
+#ltabs {height:0px; float:left}
+#rtabs { float:right;position: relative; bottom:0px; padding-right:10px; }
+
+DIV.tabs A {
+ padding-bottom : 0px;
+ padding-top : 0px;
+ text-decoration : none !important;
+ font-size : x-small !important;
+ cursor : pointer;
+}
+
Property changes on: wiki/trunk/skins/scummmodern/ie6.css
___________________________________________________________________
Added: svn:mime-type
+ text/css
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/ie7.css
===================================================================
--- wiki/trunk/skins/scummmodern/ie7.css (rev 0)
+++ wiki/trunk/skins/scummmodern/ie7.css 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,36 @@
+.navigation ul {
+ padding-left: 0em;
+}
+
+#container {
+ height: auto !important;
+ height: 1080px;
+}
+
+#footer {
+ right: 80px;
+ bottom: -1px;
+}
+
+.rbcontent {
+ overflow: visible;
+}
+
+.box .intro {
+ padding: 10px 0;
+ width: 100%;
+}
+.box .intro .text {
+ padding-right: 5px;
+}
+
+.box .head a:hover {
+ color: rgb(255, 255, 255);
+}
+.box .content {
+ width: auto;
+}
+
+#menu {
+ right: -150px;
+}
Property changes on: wiki/trunk/skins/scummmodern/ie7.css
___________________________________________________________________
Added: svn:mime-type
+ text/css
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/index.htm
===================================================================
--- wiki/trunk/skins/scummmodern/index.htm (rev 0)
+++ wiki/trunk/skins/scummmodern/index.htm 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,10 @@
+<html>
+<head>
+<title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+</body>
+</html>
Property changes on: wiki/trunk/skins/scummmodern/index.htm
___________________________________________________________________
Added: svn:mime-type
+ text/html
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/layout.css
===================================================================
--- wiki/trunk/skins/scummmodern/layout.css (rev 0)
+++ wiki/trunk/skins/scummmodern/layout.css 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,700 @@
+body {
+ background-image: url('body-bg.png'); margin: 10px;
+ background-color: #efc418;
+ background-repeat: repeat-x;
+}
+
+body, table {
+ font-family: verdana,tahoma,arial,helvetica,sans-serif;
+ font-size: 8pt;
+ font-weight: normal;
+}
+
+table
+{
+font-size: 10px;
+color: #000000;
+}
+
+td, th
+{
+font-size: 10px;
+color: #000000;
+}
+
+.smalltext
+{
+font-size : 10px;
+color: #000000;
+}
+
+.mediumtext
+{
+font-size : 11px;
+color: #000000;
+}
+
+.largetext
+{
+font-size : 13px;
+color: #000000;
+}
+
+.catrowtext
+{
+ font-weight: bold;
+ font-size: 13px;
+ color: #444444;
+}
+
+.toprowtext
+{
+ color: #fff;
+ font-size: 12px;
+ font-weight: bold;
+}
+
+/* Cell Properties */
+
+TD.row1
+{
+ background-color: #e8e7e7;
+ font-size : 13px;
+ color: #494957
+}
+
+TD.row2 /* ugly colors, to look which html uses them still - should have removed all occurences now */
+{
+ background-color: #00FF00;
+ font-size : 12px;
+ color: #FF00FF
+}
+
+TD.row3
+{
+ background-color: #FFFFFF;
+ font-size : 12px;
+ color: #494957
+}
+
+TD.catrow
+{
+ /* font-family: Verdana; */
+font-size : 12px;
+font-weight: bold;
+}
+
+TD.toprow, TH.toprow
+{
+ background-image: url(gradient_2.png);
+ color: #fff;
+ font-weight: bold;
+ background: #a82709;
+ background-image: url(par-head.png);
+ background-repeat: repeat-x;
+ padding: 6px;
+ font-size: 12px;
+}
+
+TD.tableborder
+{
+ background-color: #c0c0c0;
+}
+
+/* Link Properties */
+
+a { text-decoration: underline; font-size: 11px; color: #002bb8; }
+a:link { text-decoration: underline; font-size: 11px; color: #002bb8; }
+a:visited { text-decoration: underline; font-size: 11px; color: #5a3696; }
+a:hover { text-decoration: none; font-size: 11px; }
+
+a.new { font-style: italic; }
+a.new:link { font-style: italic; color: #a33 }
+a.new:visited { font-style: italic; }
+a.new:hover { font-style: italic; }
+span.editsection a { color: #002bb8 }
+
+/* Form elements */
+
+input, textarea, select
+{
+ color : #000000;
+ font-size : 12px;
+}
+
+textarea {
+position: relative;
+padding: 0.1em;
+width: 100%;
+}
+
+#container {
+ background: rgb(251, 241, 206);
+ margin: 0;
+ margin: 0px auto;
+ min-height: 970px;
+ position: relative;
+ max-width: 90%;
+ width: 90%;
+ left: -4%;
+}
+
+/* From Web */
+#content {
+ margin-right: 8%;
+ margin-left: -6%;
+ padding: 0px 0px 54px 8px;
+}
+
+.float_left {
+ float: left;
+}
+.float_right {
+ float: right;
+}
+.float_clear {
+ clear: both;
+}
+.float_clear_left {
+ clear: left;
+}
+.float_clear_right {
+ clear: right;
+}
+
+.spacing {
+ clear: both;
+ font-size: 0px;
+ height: 0px;
+}
+
+.shadow-container {
+ left: 1px;
+ position: relative;
+ top: 1px;
+}
+
+.shadow-text {
+ left: -2px;
+ position: absolute;
+ top: -2px;
+}
+
+.shadow-text-em {
+ left: -2px;
+ padding-left: 1em;
+ position: absolute;
+ top: -2px;
+}
+/* Kudos to http://www.redmelon.net/tstme/4corners/ */
+.rbtop div {
+ background: url('header-left-corner.png') no-repeat top left;
+}
+.rbtop p {
+ background: url('header-background.png') repeat-x top center;
+ display: block;
+ color: rgb(53, 106, 2);
+ font: bold large/1.4 "Trebuchet MS", Verdana, Tahoma, Sans-Serif;
+ height: 28px;
+ margin: 0px 8px;
+ padding-left: 1em;
+}
+.rbtop {
+ background: url('header-right-corner.png') no-repeat top right;
+}
+.rbbot div {
+ background: url('left-low-corner.png') no-repeat bottom left;
+}
+.rbbot {
+ background: url('right-low-corner.png') no-repeat bottom right;
+}
+.rbbot p {
+ background: #fff;
+ border-bottom: solid 1px rgb(235, 177, 118);
+ font-size: 1px;
+ height: 7px;
+ margin: 0px 8px;
+}
+
+.rbtop,
+.rbtop div {
+ height: 28px;
+ width: 100%;
+}
+
+.rbbot,
+.rbbot div {
+ height: 8px;
+ width: 100%;
+}
+
+.rbcontent {
+ background: #fff;
+ border-left: 1px solid rgb(235, 177, 118);
+ border-right: 1px solid rgb(235, 177, 118);
+ min-height: 840px;
+ margin: 0px;
+ overflow: hidden;
+ padding-top: 10px;
+
+}
+* html .rbcontent{height:840px}
+.rbcontent .rbwrapper {
+ display: block;
+ padding: 0px 15px;
+}
+.rbroundbox {
+ margin: auto;
+}
+
+/*
+** Search portlet
+*/
+#searchform
+{
+ margin: 0;
+ padding: 0;
+ margin-bottom: 0px;
+}
+#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;
+}
+#p-search #searchform div div {
+ margin-top: .4em;
+ font-size: 95%;
+
+}
+
+/* From ScummVM Doxygen's scummvm_tabs.css */
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+ /*float : left;*/
+ width : 100%;
+ /*background : url("tab_b.png") repeat-x bottom;*/
+ height: 23px;
+position:relative;
+top:2px;
+}
+/* HACK: To align tabs */
+ at -moz-document url-prefix() {
+
+DIV.tab
+{
+margin-bottom: 2px;
+position:relative;
+top:0px !important;
+}
+
+}
+
+DIV.tabs UL
+{
+ margin : 0px;
+ padding-left : 10px;
+ list-style : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+ display : inline;
+ margin : 0px;
+ padding : 0px;
+}
+
+DIV.tabs FORM
+{
+ float : right;
+}
+
+DIV.tabs A
+{
+ /*float : left;*/
+ background : url("tab_r.png") no-repeat right top;
+ padding-bottom : 6px;
+ padding-top : 5px;
+ /*border-bottom : 1px solid #947825;*/
+ font-size : x-small;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+DIV.tabs A:hover
+{
+ background-position: 100% -150px;
+}
+
+div.tabs a:link, div.tabs a:visited,
+div.tabs a:active, div.tabs a:hover
+{
+ color: black !important;
+}
+
+DIV.tabs SPAN
+{
+ float : left;
+ display : block;
+ display : inline-block;
+ background : url("tab_l.png") no-repeat left top;
+ padding : 5px 9px;
+ white-space : nowrap;
+/*border-bottom : 1px solid #ebb716;*/
+}
+
+DIV.tabs INPUT
+{
+ float : right;
+ display : inline;
+ font-size : 1em;
+}
+
+DIV.tabs TD
+{
+ font-size : x-small;
+ text-decoration : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+ background-position: 0% -150px;
+font-size: x-small;
+}
+
+DIV.tabs LI.selected A
+{
+ background-position: 100% -150px;
+ border-width : 0px;
+ font-size: x-small;
+ text-decoration: none;
+
+}
+
+DIV.tabs LI.selected SPAN
+{
+ background-position: 0% -150px;
+ padding : 5px 9px;
+
+}
+#ltabs {height:22px; float:left;}
+#rtabs { float:right; padding-right:10px; }
+#ca-unwatch #ca-watch A
+{
+ background : url("tab_r.png")
+}
+#footer {
+ border-top: 1px;
+ border-bottom: 1px;
+ margin: .6em 0 1em 0;
+ padding: .4em 0 1.2em 0;
+ text-align: center;
+ font-size: 90%;
+}
+/* #footer {
+ bottom: 0px;
+ height: 32px;
+ margin: 0px;
+ padding: 10px;
+ position: relative;
+ text-align: center;
+}
+
+#footer a {
+ float: left;
+ width: 16%;
+} */
+
+#f-list {
+list-style:none;
+display: block;
+ position: relative;
+ max-width: 85%;
+ width: 85%;
+}
+
+#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%;
+}
+#footer li {
+ list-style:none;
+ display:inline;
+}
+/* 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;
+}
+
+/* Syntax highloighting (GeSHi) display */
+div.mw-geshi {
+ padding: 0.6em;
+ margin: 1em 0;
+ border: 1px solid #bbbbbb;
+ background: #fffaf0;
+}
+
+/*
+** keep the whitespace in front of the ^=, hides rule from konqueror
+** this is css3, the validator doesn't like it when validating as css2
+*/
+#container a.external,
+#container a[href ^="gopher://"] {
+ background: url(external.png) center right no-repeat;
+ padding: 0 13px;
+}
+.rtl #container a.external,
+.rtl #container a[href ^="gopher://"] {
+ background-image: url(external-rtl.png);
+}
+#container a[href ^="https://"],
+.link-https {
+ background: url(lock_icon.png) center right no-repeat;
+ padding: 0 16px;
+}
+#container a[href ^="mailto:"],
+.link-mailto {
+ background: url(mail_icon.png) center right no-repeat;
+ padding: 0 18px;
+}
+#container a[href ^="news://"] {
+ background: url(news_icon.png) center right no-repeat;
+ padding: 0 18px;
+}
+#container a[href ^="ftp://"],
+.link-ftp {
+ background: url(file_icon.png) center right no-repeat;
+ padding: 0 18px;
+}
+#container a[href ^="irc://"],
+#container a.extiw[href ^="irc://"],
+.link-irc {
+ background: url(discussionitem_icon.png) center right no-repeat;
+ padding: 0 18px;
+}
+#container a.external[href $=".ogg"], #container a.external[href $=".OGG"],
+#container a.external[href $=".mid"], #container a.external[href $=".MID"],
+#container a.external[href $=".midi"], #container a.external[href $=".MIDI"],
+#container a.external[href $=".mp3"], #container a.external[href $=".MP3"],
+#container a.external[href $=".wav"], #container a.external[href $=".WAV"],
+#container a.external[href $=".wma"], #container a.external[href $=".WMA"],
+.link-audio {
+ background: url("audio.png") center right no-repeat;
+ padding: 0 13px;
+}
+#container a.external[href $=".ogm"], #container a.external[href $=".OGM"],
+#container a.external[href $=".avi"], #container a.external[href $=".AVI"],
+#container a.external[href $=".mpeg"], #container a.external[href $=".MPEG"],
+#container a.external[href $=".mpg"], #container a.external[href $=".MPG"],
+.link-video {
+ background: url("video.png") center right no-repeat;
+ padding: 0 13px;
+}
+#container a.external[href $=".pdf"], #container a.external[href $=".PDF"],
+#container a.external[href *=".pdf#"], #container a.external[href *=".PDF#"],
+#container a.external[href *=".pdf?"], #container a.external[href *=".PDF?"],
+.link-document {
+ background: url("document.png") center right no-repeat;
+ padding: 0 12px;
+}
+
+/* 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.png) top left no-repeat;
+ padding-left: 20px;
+ text-transform: none;
+}
+
+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; }
+
+.ltr #bodyContent a.external {
+padding-left:0;
+}
+
+.editsection { float: right; }
+a.toplinks { color: #A33; }
+
+img { border: none; }
+
+/* thumbnails */
+
+div.thumb {
+ margin-bottom: .5em;
+ border-style: solid;
+ border-color: white;
+ width: auto;
+}
+div.tright {
+ clear: right;
+ float: right;
+ border-width: .5em 0 .8em 1.4em;
+}
+
+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;
+}
+
+.printfooter {
+ display: none;
+}
\ No newline at end of file
Property changes on: wiki/trunk/skins/scummmodern/layout.css
___________________________________________________________________
Added: svn:mime-type
+ text/css
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/left-low-corner.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/left-low-corner.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/link_icon.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/link_icon.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/lock_icon.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/lock_icon.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/logo.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/logo.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/logo_phpVB2.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/logo_phpVB2.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/magnify-clip.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/magnify-clip.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/mail_icon.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/mail_icon.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/menu-bg.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/menu-bg.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/menu-bottom.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/menu-bottom.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/menu-main.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/menu-main.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/menu-misc.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/menu-misc.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/menu-sf.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/menu-sf.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/menu.css
===================================================================
--- wiki/trunk/skins/scummmodern/menu.css (rev 0)
+++ wiki/trunk/skins/scummmodern/menu.css 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,106 @@
+#menu {
+ right: -150px;
+ position: absolute;
+ top: 0px;
+ width: 145px;
+}
+
+#menu div a.float_left {
+ margin-bottom: 2px;
+}
+
+div.menugroup {
+ background: transparent url('menu-bottom.png') scroll no-repeat bottom left;
+ /*font-size: 9pt;*/
+ margin-bottom: 8px;
+ overflow: hidden;
+ padding-bottom: 12px;
+ width: 145px;
+}
+
+div.menugroup h1 {
+ background-repeat: no-repeat;
+ color: rgb(221, 221, 0);
+ font-size: 7.5pt;
+ line-height: 3.3;
+ height: 34px;
+ margin: 0px;
+ padding: 0px 24px;
+ text-align: left;
+}
+
+div.menugroup h1.menu-main {
+ background: url('menu-main.png');
+ font-weight: bold;
+}
+
+div.menugroup h1.menu-docs {
+ background: url('menu-misc.png');
+ font-weight: bold;
+}
+
+div.menugroup h1.menu-sf {
+ background: url('menu-sf.png');
+ font-weight: bold;
+}
+
+div.menugroup h1.menu-misc {
+ background: url('menu-misc.png');
+ font-weight: bold;
+}
+
+div.menugroup ul {
+ background: rgb(168, 39, 9);
+ color: rgb(255, 255, 255);
+ list-style-image: url('bullet.png');
+ margin: 0px;
+ padding: 8px 8px 0px 30px;
+}
+
+div.menugroup ul li {
+ padding-bottom: 8px;
+}
+
+div.menugroup ul li a:first-letter,
+div.menugroup ul li:first-letter {
+ font-weight: bold;
+}
+
+div.menugroup a {
+ color: rgb(255, 255, 255);
+ text-decoration: none;
+}
+
+div.menugroup a:hover {
+ color: rgb(255, 255, 0);
+}
+
+#menu .monkey {
+border: 0px;
+padding: 0px;
+position: relative;
+top: -8px;
+}
+
+#menu_banners a {
+float: left;
+margin-bottom: 3px;
+}
+
+/* [ SeparatorSidebar] extension*/
+#menu hr {
+width: 80%;
+background-color: rgb(221, 221, 0);
+color: rgb(221, 221, 0);
+border: none;
+height: 1px; /* line thickness */
+}
+
+.pBody {
+background: rgb(168, 39, 9); /* make sure background on hr is correct */
+}
+
+#menu h1, h2, h3, h4, h5, h6 {
+ border-bottom: 0;
+}
+
Property changes on: wiki/trunk/skins/scummmodern/menu.css
___________________________________________________________________
Added: svn:mime-type
+ text/css
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/menus-cont-bg.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/menus-cont-bg.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/nav-dots.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/nav-dots.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/news_icon.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/news_icon.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/par-head.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/par-head.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/poweredby_mediawiki_88x31.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/poweredby_mediawiki_88x31.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/print.css
===================================================================
--- wiki/trunk/skins/scummmodern/print.css (rev 0)
+++ wiki/trunk/skins/scummmodern/print.css 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,5 @@
+#topHeader, #menu, .tabs, .shadow-text, #f-poweredbyico, #f-copyrightico, #viewcount, #privacy, #about, #disclaimer, #tableFooter { display: none; }
+#tableColor, tr, td { background-color:white; }
+.shadow-container { font-size: 2em; float:left; display: inline; color: black !important; font-weight: bold;}
+.rbcontent { padding-top: 3%; display: block}
+
Property changes on: wiki/trunk/skins/scummmodern/print.css
___________________________________________________________________
Added: svn:mime-type
+ text/css
Added: svn:eol-style
+ native
Added: wiki/trunk/skins/scummmodern/required.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/required.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/right-low-corner.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/right-low-corner.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/scummvm-caption.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/scummvm-caption.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/scummvm-link.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/scummvm-link.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/scummvm_cb.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/scummvm_cb.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/shots-corner-left.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/shots-corner-left.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/shots-corner-right.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/shots-corner-right.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/spacer.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/spacer.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/subhead-dots.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/subhead-dots.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/tab_l.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/tab_l.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/tab_r.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/tab_r.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/table-head.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/table-head.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/top_bg.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/top_bg.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/user.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/user.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/video.png
===================================================================
(Binary files differ)
Property changes on: wiki/trunk/skins/scummmodern/video.png
___________________________________________________________________
Added: svn:mime-type
+ image/png
Added: wiki/trunk/skins/scummmodern/wikibits.js
===================================================================
--- wiki/trunk/skins/scummmodern/wikibits.js (rev 0)
+++ wiki/trunk/skins/scummmodern/wikibits.js 2011-03-23 00:07:01 UTC (rev 55926)
@@ -0,0 +1,1002 @@
+// MediaWiki JavaScript support functions
+// scummmodern version
+// changetext now uses innerHTML instead
+
+var clientPC = navigator.userAgent.toLowerCase(); // Get client info
+var is_gecko = /gecko/.test( clientPC ) &&
+ !/khtml|spoofer|netscape\/7\.0/.test(clientPC);
+var webkit_match = clientPC.match(/applewebkit\/(\d+)/);
+if (webkit_match) {
+ var is_safari = clientPC.indexOf('applewebkit') != -1 &&
+ clientPC.indexOf('spoofer') == -1;
+ var is_safari_win = is_safari && clientPC.indexOf('windows') != -1;
+ var webkit_version = parseInt(webkit_match[1]);
+}
+var is_khtml = navigator.vendor == 'KDE' ||
+ ( document.childNodes && !document.all && !navigator.taintEnabled );
+// For accesskeys; note that FF3+ is included here!
+var is_ff2 = /firefox\/[2-9]|minefield\/3/.test( clientPC );
+var is_ff2_ = /firefox\/2/.test( clientPC );
+// These aren't used here, but some custom scripts rely on them
+var is_ff2_win = is_ff2 && clientPC.indexOf('windows') != -1;
+var is_ff2_x11 = is_ff2 && clientPC.indexOf('x11') != -1;
+if (clientPC.indexOf('opera') != -1) {
+ var is_opera = true;
+ var is_opera_preseven = window.opera && !document.childNodes;
+ var is_opera_seven = window.opera && document.childNodes;
+ var is_opera_95 = /opera\/(9.[5-9]|[1-9][0-9])/.test( clientPC );
+}
+
+// Global external objects used by this script.
+/*extern ta, stylepath, skin */
+
+// add any onload functions in this hook (please don't hard-code any events in the xhtml source)
+var doneOnloadHook;
+
+if (!window.onloadFuncts) {
+ var onloadFuncts = [];
+}
+
+function addOnloadHook(hookFunct) {
+ // Allows add-on scripts to add onload functions
+ if(!doneOnloadHook) {
+ onloadFuncts[onloadFuncts.length] = hookFunct;
+ } else {
+ hookFunct(); // bug in MSIE script loading
+ }
+}
+
+function hookEvent(hookName, hookFunct) {
+ addHandler(window, hookName, hookFunct);
+}
+
+function importScript(page) {
+ var uri = wgScript + '?title=' +
+ encodeURIComponent(page.replace(/ /g,'_')).replace('%2F','/').replace('%3A',':') +
+ '&action=raw&ctype=text/javascript';
+ return importScriptURI(uri);
+}
+
+var loadedScripts = {}; // included-scripts tracker
+function importScriptURI(url) {
+ if (loadedScripts[url]) {
+ return null;
+ }
+ loadedScripts[url] = true;
+ var s = document.createElement('script');
+ s.setAttribute('src',url);
+ s.setAttribute('type','text/javascript');
+ document.getElementsByTagName('head')[0].appendChild(s);
+ return s;
+}
+
+function importStylesheet(page) {
+ return importStylesheetURI(wgScript + '?action=raw&ctype=text/css&title=' + encodeURIComponent(page.replace(/ /g,'_')));
+}
+
+function importStylesheetURI(url) {
+ return document.createStyleSheet ? document.createStyleSheet(url) : appendCSS('@import "' + url + '";');
+}
+
+function appendCSS(text) {
+ var s = document.createElement('style');
+ s.type = 'text/css';
+ s.rel = 'stylesheet';
+ if (s.styleSheet) s.styleSheet.cssText = text //IE
+ else s.appendChild(document.createTextNode(text + '')) //Safari sometimes borks on null
+ document.getElementsByTagName('head')[0].appendChild(s);
+ return s;
+}
+
+// special stylesheet links
+if (typeof stylepath != 'undefined' && typeof skin != 'undefined') {
+ if (is_opera_preseven) {
+ importStylesheetURI(stylepath+'/'+skin+'/Opera6Fixes.css');
+ } else if (is_opera_seven && !is_opera_95) {
+ importStylesheetURI(stylepath+'/'+skin+'/Opera7Fixes.css');
+ } else if (is_opera_95) {
+ importStylesheetURI(stylepath+'/'+skin+'/Opera9Fixes.css');
+ } else if (is_khtml) {
+ importStylesheetURI(stylepath+'/'+skin+'/KHTMLFixes.css');
+ } else if (is_ff2_) {
+ importStylesheetURI(stylepath+'/'+skin+'/FF2Fixes.css');
+ }
+}
+
+if (wgBreakFrames) {
+ // Un-trap us from framesets
+ if (window.top != window) {
+ window.top.location = window.location;
+ }
+}
+
+function showTocToggle() {
+ if (document.createTextNode) {
+ // Uses DOM calls to avoid document.write + XHTML issues
+
+ var linkHolder = document.getElementById('toctitle');
+ if (!linkHolder) {
+ return;
+ }
+
+ var outerSpan = document.createElement('span');
+ outerSpan.className = 'toctoggle';
+
+ var toggleLink = document.createElement('a');
+ toggleLink.id = 'togglelink';
+ toggleLink.className = 'internal';
+ toggleLink.href = 'javascript:toggleToc()';
+ toggleLink.appendChild(document.createTextNode(tocHideText));
+
+ outerSpan.appendChild(document.createTextNode('['));
+ outerSpan.appendChild(toggleLink);
+ outerSpan.appendChild(document.createTextNode(']'));
+
+ linkHolder.appendChild(document.createTextNode(' '));
+ linkHolder.appendChild(outerSpan);
+
+ var cookiePos = document.cookie.indexOf("hidetoc=");
+ if (cookiePos > -1 && document.cookie.charAt(cookiePos + 8) == 1) {
+ toggleToc();
+ }
+ }
+}
+
+function changeText(el, newText) {
+ // Safari work around
+ if (el.innerHTML) {
+ el.innerHTML = newText;
+ } else if (el.firstChild && el.firstChild.nodeValue) {
+ el.firstChild.nodeValue = newText;
+ }
+}
+
+function toggleToc() {
+ var toc = document.getElementById('toc').getElementsByTagName('ul')[0];
+ var toggleLink = document.getElementById('togglelink');
+
+ if (toc && toggleLink && toc.style.display == 'none') {
+ changeText(toggleLink, tocHideText);
+ toc.style.display = 'block';
+ document.cookie = "hidetoc=0";
+ } else {
+ changeText(toggleLink, tocShowText);
+ toc.style.display = 'none';
+ document.cookie = "hidetoc=1";
+ }
+}
+
+var mwEditButtons = [];
+var mwCustomEditButtons = []; // eg to add in MediaWiki:Common.js
+
+function escapeQuotes(text) {
+ var re = new RegExp("'","g");
+ text = text.replace(re,"\\'");
+ re = new RegExp("\\n","g");
+ text = text.replace(re,"\\n");
+ return escapeQuotesHTML(text);
+}
+
+function escapeQuotesHTML(text) {
+ var re = new RegExp('&',"g");
+ text = text.replace(re,"&");
+ re = new RegExp('"',"g");
+ text = text.replace(re,""");
+ re = new RegExp('<',"g");
+ text = text.replace(re,"<");
+ re = new RegExp('>',"g");
+ text = text.replace(re,">");
+ return text;
+}
+
+
+/**
+ * Set the accesskey prefix based on browser detection.
+ */
+var tooltipAccessKeyPrefix = 'alt-';
+if (is_opera) {
+ tooltipAccessKeyPrefix = 'shift-esc-';
+} else if (!is_safari_win && is_safari && webkit_version > 526) {
+ tooltipAccessKeyPrefix = 'ctrl-alt-';
+} else if (!is_safari_win && (is_safari
+ || clientPC.indexOf('mac') != -1
+ || clientPC.indexOf('konqueror') != -1 )) {
+ tooltipAccessKeyPrefix = 'ctrl-';
+} else if (is_ff2) {
+ tooltipAccessKeyPrefix = 'alt-shift-';
+}
+var tooltipAccessKeyRegexp = /\[(ctrl-)?(alt-)?(shift-)?(esc-)?(.)\]$/;
+
+/**
+ * Add the appropriate prefix to the accesskey shown in the tooltip.
+ * If the nodeList parameter is given, only those nodes are updated;
+ * otherwise, all the nodes that will probably have accesskeys by
+ * default are updated.
+ *
+ * @param Array nodeList -- list of elements to update
+ */
+function updateTooltipAccessKeys( nodeList ) {
+ if ( !nodeList ) {
+ // skins without a "column-one" element don't seem to have links with accesskeys either
+ var columnOne = document.getElementById("column-one");
+ if ( columnOne )
+ updateTooltipAccessKeys( columnOne.getElementsByTagName("a") );
+ // these are rare enough that no such optimization is needed
+ updateTooltipAccessKeys( document.getElementsByTagName("input") );
+ updateTooltipAccessKeys( document.getElementsByTagName("label") );
+ return;
+ }
+
+ for ( var i = 0; i < nodeList.length; i++ ) {
+ var element = nodeList[i];
+ var tip = element.getAttribute("title");
+ if ( tip && tooltipAccessKeyRegexp.exec(tip) ) {
+ tip = tip.replace(tooltipAccessKeyRegexp,
+ "["+tooltipAccessKeyPrefix+"$5]");
+ element.setAttribute("title", tip );
+ }
+ }
+}
+
+/**
+ * Add a link to one of the portlet menus on the page, including:
+ *
+ * p-cactions: Content actions (shown as tabs above the main content in Monobook)
+ * p-personal: Personal tools (shown at the top right of the page in Monobook)
+ * p-navigation: Navigation
+ * p-tb: Toolbox
+ *
+ * This function exists for the convenience of custom JS authors. All
+ * but the first three parameters are optional, though providing at
+ * least an id and a tooltip is recommended.
+ *
+ * By default the new link will be added to the end of the list. To
+ * add the link before a given existing item, pass the DOM node of
+ * that item (easily obtained with document.getElementById()) as the
+ * nextnode parameter; to add the link _after_ an existing item, pass
+ * the node's nextSibling instead.
+ *
+ * @param String portlet -- id of the target portlet ("p-cactions", "p-personal", "p-navigation" or "p-tb")
+ * @param String href -- link URL
+ * @param String text -- link text (will be automatically lowercased by CSS for p-cactions in Monobook)
+ * @param String id -- id of the new item, should be unique and preferably have the appropriate prefix ("ca-", "pt-", "n-" or "t-")
+ * @param String tooltip -- text to show when hovering over the link, without accesskey suffix
+ * @param String accesskey -- accesskey to activate this link (one character, try to avoid conflicts)
+ * @param Node nextnode -- the DOM node before which the new item should be added, should be another item in the same list
+ *
+ * @return Node -- the DOM node of the new item (an LI element) or null
+ */
+function addPortletLink(portlet, href, text, id, tooltip, accesskey, nextnode) {
+ var node = document.getElementById(portlet);
+ if ( !node ) return null;
+ node = node.getElementsByTagName( "ul" )[0];
+ if ( !node ) return null;
+
+ var link = document.createElement( "a" );
+ link.appendChild( document.createTextNode( text ) );
+ link.href = href;
+
+ var item = document.createElement( "li" );
+ item.appendChild( link );
+ if ( id ) item.id = id;
+
+ if ( accesskey ) {
+ link.setAttribute( "accesskey", accesskey );
+ tooltip += " ["+accesskey+"]";
+ }
+ if ( tooltip ) {
+ link.setAttribute( "title", tooltip );
+ }
+ if ( accesskey && tooltip ) {
+ updateTooltipAccessKeys( new Array( link ) );
+ }
+
+ if ( nextnode && nextnode.parentNode == node )
+ node.insertBefore( item, nextnode );
+ else
+ node.appendChild( item ); // IE compatibility (?)
+
+ return item;
+}
+
+function getInnerText(el) {
+ if (typeof el == "string") return el;
+ if (typeof el == "undefined") { return el };
+ if (el.textContent) return el.textContent; // not needed but it is faster
+ if (el.innerText) return el.innerText; // IE doesn't have textContent
+ var str = "";
+
+ var cs = el.childNodes;
+ var l = cs.length;
+ for (var i = 0; i < l; i++) {
+ switch (cs[i].nodeType) {
+ case 1: //ELEMENT_NODE
+ str += ts_getInnerText(cs[i]);
+ break;
+ case 3: //TEXT_NODE
+ str += cs[i].nodeValue;
+ break;
+ }
+ }
+ return str;
+}
+
+
+/**
+ * Set up accesskeys/tooltips from the deprecated ta array. If doId
+ * is specified, only set up for that id. Note that this function is
+ * deprecated and will not be supported indefinitely -- use
+ * updateTooltipAccessKey() instead.
+ *
+ * @param mixed doId string or null
+ */
+function akeytt( doId ) {
+ // A lot of user scripts (and some of the code below) break if
+ // ta isn't defined, so we make sure it is. Explictly using
+ // window.ta avoids a "ta is not defined" error.
+ if (!window.ta) window.ta = new Array;
+
+ // Make a local, possibly restricted, copy to avoid clobbering
+ // the original.
+ var ta;
+ if ( doId ) {
+ ta = [doId];
+ } else {
+ ta = window.ta;
+ }
+
+ // Now deal with evil deprecated ta
+ var watchCheckboxExists = document.getElementById( 'wpWatchthis' ) ? true : false;
+ for (var id in ta) {
+ var n = document.getElementById(id);
+ if (n) {
+ var a = null;
+ var ak = '';
+ // Are we putting accesskey in it
+ if (ta[id][0].length > 0) {
+ // Is this object a object? If not assume it's the next child.
+
+ if (n.nodeName.toLowerCase() == "a") {
+ a = n;
+ } else {
+ a = n.childNodes[0];
+ }
+ // Don't add an accesskey for the watch tab if the watch
+ // checkbox is also available.
+ if (a && ((id != 'ca-watch' && id != 'ca-unwatch') || !watchCheckboxExists)) {
+ a.accessKey = ta[id][0];
+ ak = ' ['+tooltipAccessKeyPrefix+ta[id][0]+']';
+ }
+ } else {
+ // We don't care what type the object is when assigning tooltip
+ a = n;
+ ak = '';
+ }
+
+ if (a) {
+ a.title = ta[id][1]+ak;
+ }
+ }
+ }
+}
+
+var checkboxes;
+var lastCheckbox;
+
+function setupCheckboxShiftClick() {
+ checkboxes = [];
+ lastCheckbox = null;
+ var inputs = document.getElementsByTagName('input');
+ addCheckboxClickHandlers(inputs);
+}
+
+function addCheckboxClickHandlers(inputs, start) {
+ if ( !start) start = 0;
+
+ var finish = start + 250;
+ if ( finish > inputs.length )
+ finish = inputs.length;
+
+ for ( var i = start; i < finish; i++ ) {
+ var cb = inputs[i];
+ if ( !cb.type || cb.type.toLowerCase() != 'checkbox' )
+ continue;
+ var end = checkboxes.length;
+ checkboxes[end] = cb;
+ cb.index = end;
+ cb.onclick = checkboxClickHandler;
+ }
+
+ if ( finish < inputs.length ) {
+ setTimeout( function () {
+ addCheckboxClickHandlers(inputs, finish);
+ }, 200 );
+ }
+}
+
+function checkboxClickHandler(e) {
+ if (typeof e == 'undefined') {
+ e = window.event;
+ }
+ if ( !e.shiftKey || lastCheckbox === null ) {
+ lastCheckbox = this.index;
+ return true;
+ }
+ var endState = this.checked;
+ var start, finish;
+ if ( this.index < lastCheckbox ) {
+ start = this.index + 1;
+ finish = lastCheckbox;
+ } else {
+ start = lastCheckbox;
+ finish = this.index - 1;
+ }
+ for (var i = start; i <= finish; ++i ) {
+ checkboxes[i].checked = endState;
+ }
+ lastCheckbox = this.index;
+ return true;
+}
+
+function toggle_element_activation(ida,idb) {
+ if (!document.getElementById) {
+ return;
+ }
+ document.getElementById(ida).disabled=true;
+ document.getElementById(idb).disabled=false;
+}
+
+function toggle_element_check(ida,idb) {
+ if (!document.getElementById) {
+ return;
+ }
+ document.getElementById(ida).checked=true;
+ document.getElementById(idb).checked=false;
+}
+
+/*
+ Written by Jonathan Snook, http://www.snook.ca/jonathan
+ Add-ons by Robert Nyman, http://www.robertnyman.com
+ Author says "The credit comment is all it takes, no license. Go crazy with it!:-)"
+ From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
+*/
+function getElementsByClassName(oElm, strTagName, oClassNames){
+ var arrReturnElements = new Array();
+ if ( typeof( oElm.getElementsByClassName ) == "function" ) {
+ /* Use a native implementation where possible FF3, Saf3.2, Opera 9.5 */
+ var arrNativeReturn = oElm.getElementsByClassName( oClassNames );
+ if ( strTagName == "*" )
+ return arrNativeReturn;
+ for ( var h=0; h < arrNativeReturn.length; h++ ) {
+ if( arrNativeReturn[h].tagName.toLowerCase() == strTagName.toLowerCase() )
+ arrReturnElements[arrReturnElements.length] = arrNativeReturn[h];
+ }
+ return arrReturnElements;
+ }
+ var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
+ var arrRegExpClassNames = new Array();
+ if(typeof oClassNames == "object"){
+ for(var i=0; i<oClassNames.length; i++){
+ arrRegExpClassNames[arrRegExpClassNames.length] =
+ new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)");
+ }
+ }
+ else{
+ arrRegExpClassNames[arrRegExpClassNames.length] =
+ new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)");
+ }
+ var oElement;
+ var bMatchesAll;
+ for(var j=0; j<arrElements.length; j++){
+ oElement = arrElements[j];
+ bMatchesAll = true;
+ for(var k=0; k<arrRegExpClassNames.length; k++){
+ if(!arrRegExpClassNames[k].test(oElement.className)){
+ bMatchesAll = false;
+ break;
+ }
+ }
+ if(bMatchesAll){
+ arrReturnElements[arrReturnElements.length] = oElement;
+ }
+ }
+ return (arrReturnElements)
+}
+
+function redirectToFragment(fragment) {
+ var match = navigator.userAgent.match(/AppleWebKit\/(\d+)/);
+ if (match) {
+ var webKitVersion = parseInt(match[1]);
+ if (webKitVersion < 420) {
+ // Released Safari w/ WebKit 418.9.1 messes up horribly
+ // Nightlies of 420+ are ok
+ return;
+ }
+ }
+ if (is_gecko) {
+ // Mozilla needs to wait until after load, otherwise the window doesn't scroll
+ addOnloadHook(function () {
+ if (window.location.hash == "")
+ window.location.hash = fragment;
+ });
+ } else {
+ if (window.location.hash == "")
+ window.location.hash = fragment;
+ }
+}
+
+/*
+ * Table sorting script based on one (c) 1997-2006 Stuart Langridge and Joost
+ * de Valk:
+ * http://www.joostdevalk.nl/code/sortable-table/
+ * http://www.kryogenix.org/code/browser/sorttable/
+ *
+ * @todo don't break on colspans/rowspans (bug 8028)
+ * @todo language-specific digit grouping/decimals (bug 8063)
+ * @todo support all accepted date formats (bug 8226)
+ */
+
+var ts_image_path = stylepath+"/common/images/";
+var ts_image_up = "sort_up.gif";
+var ts_image_down = "sort_down.gif";
+var ts_image_none = "sort_none.gif";
+var ts_europeandate = wgContentLanguage != "en"; // The non-American-inclined can change to "true"
+var ts_alternate_row_colors = false;
+var ts_number_transform_table = null;
+var ts_number_regex = null;
+
+function sortables_init() {
+ var idnum = 0;
+ // Find all tables with class sortable and make them sortable
+ var tables = getElementsByClassName(document, "table", "sortable");
+ for (var ti = 0; ti < tables.length ; ti++) {
+ if (!tables[ti].id) {
+ tables[ti].setAttribute('id','sortable_table_id_'+idnum);
+ ++idnum;
+ }
+ ts_makeSortable(tables[ti]);
+ }
+}
+
+function ts_makeSortable(table) {
+ var firstRow;
+ if (table.rows && table.rows.length > 0) {
+ if (table.tHead && table.tHead.rows.length > 0) {
+ firstRow = table.tHead.rows[table.tHead.rows.length-1];
+ } else {
+ firstRow = table.rows[0];
+ }
+ }
+ if (!firstRow) return;
+
+ // We have a first row: assume it's the header, and make its contents clickable links
+ for (var i = 0; i < firstRow.cells.length; i++) {
+ var cell = firstRow.cells[i];
+ if ((" "+cell.className+" ").indexOf(" unsortable ") == -1) {
+ cell.innerHTML += ' '
+ + '<a href="#" class="sortheader" '
+ + 'onclick="ts_resortTable(this);return false;">'
+ + '<span class="sortarrow">'
+ + '<img src="'
+ + ts_image_path
+ + ts_image_none
+ + '" alt="↓"/></span></a>';
+ }
+ }
+ 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 = '<img src="'+ ts_image_path + ts_image_down + '" alt="↓"/>';
+ newRows.reverse();
+ span.setAttribute('sortdir','up');
+ } else {
+ arrowHTML = '<img src="'+ ts_image_path + ts_image_up + '" alt="↑"/>';
+ 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 = '<img src="'+ ts_image_path + ts_image_none + '" alt="↓"/>';
+ }
+ 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) ? 0 : 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);
Property changes on: wiki/trunk/skins/scummmodern/wikibits.js
___________________________________________________________________
Added: svn:mime-type
+ text/javascript
Added: svn:eol-style
+ native
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list