rendered paste body<?php/*** TiddlyWiki for MediaWiki (TW4MW) skin**** @author FND** @version 0.1** @license Creative Commons Attribution-Noncommercial-Share Alike (http://creativecommons.org/licenses/by-nc-sa/3.0/)** @addtogroup Skins** @todo clean up code**/if(!defined('MEDIAWIKI')) die("This Skin file is not a valid Entry Point.");require_once('includes/SkinTemplate.php');// inherit main code from SkinTemplate, set the CSS and template filterclass SkinTW4MW extends SkinTemplate { function initPage(&$out) { SkinTemplate::initPage($out); $this->skinname = 'TW4MW'; $this->stylename = 'TW4MW'; $this->template = 'TW4MWTemplate'; }}class TW4MWTemplate extends QuickTemplate { /* hijack and modify category functions to create a proper list -- DEBUG: properly implemented? */ function getCategories() { $catlinks=$this->getCategoryLinks(); if(!empty($catlinks)) { return "<ul id='catlinks'>{$catlinks}</ul>"; } } function getCategoryLinks() { global $wgOut, $wgUser, $wgTitle, $wgUseCategoryBrowser; global $wgContLang; if( count( $wgOut->mCategoryLinks ) == 0 ) return ''; $skin = $wgUser->getSkin(); # Separator $sep = ""; // Use Unicode bidi embedding override characters, // to make sure links don't smash each other up in ugly ways. $dir = $wgContLang->isRTL() ? 'rtl' : 'ltr'; $embed = "<li dir='$dir'>"; $pop = '</li>'; $t = $embed . implode ( "{$pop} {$sep} {$embed}" , $wgOut->mCategoryLinks ) . $pop; $msg = wfMsgExt( 'pagecategories', array( 'parsemag', 'escape' ), count( $wgOut->mCategoryLinks ) ); $s = $skin->makeLinkObj( Title::newFromText( wfMsgForContent('pagecategorieslink') ), $msg ) . $t; # optional 'dmoz-like' category browser. Will be shown under the list # of categories an article belong to if($wgUseCategoryBrowser) { $s .= '<br /><hr />'; # get a big array of the parents tree $parenttree = $wgTitle->getParentCategoryTree(); # Skin object passed by reference cause it can not be # accessed under the method subfunction drawCategoryBrowser $tempout = explode("\n", Skin::drawCategoryBrowser($parenttree, $this) ); # Clean out bogus first entry and sort them unset($tempout[0]); asort($tempout); # Output one per line $s .= implode("<br />\n", $tempout); } return $s; } /* compose page layout */ function execute() { global $wgUser, $wgSitename; $skin = $wgUser->getSkin(); // set certain data parts which aren't created by default $this->set('sitename', $wgSitename); // suppress warnings to prevent notices about missing indexes in $this->data wfSuppressWarnings(); $this->set( 'catlinks', $this->getCategories());?><!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> <style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/main.css?<?php echo $GLOBALS['wgStyleVersion'] ?>"; @import "<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/contents.css?<?php echo $GLOBALS['wgStyleVersion'] ?>"; /*]]>*/ <!-- @import "<?php /* $this->text('stylepath') ?>/monobook/main.css?<?php echo $GLOBALS['wgStyleVersion'] */ ?>"; --> <!-- DEBUG: MonoBook's main.css also contains default content styles --> </style> <link rel="stylesheet" type="text/css" <?php if(empty($this->data['printable'])) { ?>media="print"<?php } ?> href="<?php $this->text('stylepath') ?>/common/commonPrint.css?<?php echo $GLOBALS['wgStyleVersion'] ?>" /> <?php /* <b style="color:black;background-color:#ffff66">Hide Handheld</b>.css till we find some use for it <link rel="stylesheet" type="text/css" media="handheld" href="<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/handheld.css?<?php echo $GLOBALS['wgStyleVersion'] ?>" /> */ ?> <!--[if lt IE 5.5000]><style type="text/css">@import "<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/IE50Fixes.css?<?php echo $GLOBALS['wgStyleVersion'] ?>";</style><![endif]--> <!--[if IE 5.5000]><style type="text/css">@import "<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/IE55Fixes.css?<?php echo $GLOBALS['wgStyleVersion'] ?>";</style><![endif]--> <!--[if IE 6]><style type="text/css">@import "<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/IE60Fixes.css?<?php echo $GLOBALS['wgStyleVersion'] ?>";</style><![endif]--> <!--[if IE 7]><style type="text/css">@import "<?php $this->text('stylepath') ?>/<?php $this->text('stylename') ?>/IE70Fixes.css?<?php echo $GLOBALS['wgStyleVersion'] ?>";</style><![endif]--> <!--[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') ?>/common/wikibits.js?<?php echo $GLOBALS['wgStyleVersion'] ?>"><!-- wikibits js --></script><?php if($this->data['jsvarurl' ]) { ?> <script type="<?php $this->text('jsmimetype') ?>" src="<?php $this->text('jsvarurl') ?>"><!-- site js --></script><?php } ?><?php if($this->data['pagecss' ]) { ?> <style type="text/css"><?php $this->html('pagecss') ?></style><?php } if($this->data['usercss' ]) { ?> <style type="text/css"><?php $this->html('usercss') ?></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 Scripts --><?php $this->html('headscripts') ?></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('nsclass') ?> <?php $this->text('dir') ?> <?php $this->text('pageclass') ?>"> <!-- header --> <div id="header"> <!-- user toolbar --> <?php /* $this->msg('personaltools') */ // DEBUG: label disabled ?> <ul id="userTools"> <?php foreach($this->data['personal_urls'] as $key => $item) { ?> <li id="pt-<?php echo Sanitizer::escapeId($key) ?>" <?php if ($item['active']) { ?> class="active" <?php } ?>> <a href="<?php echo htmlspecialchars($item['href']) ?>" <?php echo $skin->tooltipAndAccesskey('pt-'.$key) ?> <?php if(!empty($item['class'])) { ?> class="<?php echo htmlspecialchars($item['class']) ?>" <?php } ?>> <?php echo htmlspecialchars($item['text']) ?> </a> </li> <?php } ?> </ul> <!-- user messages notice --> <?php if($this->data['newtalk'] ) { ?> <div id="userMsg"> <?php $this->html('newtalk') ?> </div> <?php } ?> <!-- search box --> <div id="search"> <!-- <h3><label for="searchInput"><?php /* $this->msg('search') */ ?></label></h3> --> <form action="<?php $this->text('searchaction') ?>" id="searchform"> <input type="submit" name="go" class="searchButton" id="searchGoButton" value="<?php $this->msg('searcharticle') ?>" /> <input type="submit" name="fulltext" class="searchButton" id="mw-searchButton" value="<?php $this->msg('searchbutton') ?>" /> <input id="searchInput" name="search" type="text"<?php echo $skin->tooltipAndAccesskey('search'); if( isset( $this->data['search'] ) ) { ?> value="<?php $this->text('search') ?>"<?php } ?> /> </form> </div> <!-- site name and logo --> <h1 style="background-image: url(<?php $this->text('logopath') ?>);"> <a href="<?php echo htmlspecialchars($this->data['nav_urls']['mainpage']['href'])?>" <?php echo $skin->tooltipAndAccesskey('n-mainpage') ?>> <?php echo $this->text('sitename') ?> </a> <span id="tagline"> <?php $this->msg('tagline') ?> </span> </h1> <script type="<?php $this->text('jsmimetype') ?>"> if (window.isMSIE55) fixalpha(); </script> <!-- alpha-transparency fix for IE - DEBUG: obsolete? --> </div> <!-- sitenotice --> <?php if($this->data['sitenotice']) { ?> <div id="sitenotice"> <?php $this->html('sitenotice') ?> </div> <?php } ?> <!-- sidebar --> <div id="sidebar"> <?php foreach ($this->data['sidebar'] as $bar => $cont) { ?> <div class='portlet' id='p-<?php echo Sanitizer::escapeId($bar) ?>'<?php echo $skin->tooltip('p-'.$bar) ?>> <h3><?php $out = wfMsg( $bar ); if (wfEmptyMsg($bar, $out)) echo $bar; else echo $out; ?></h3> <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 $skin->tooltipAndAccesskey($val['id']) ?>><?php echo htmlspecialchars($val['text']) ?> </a> </li><?php } ?> </ul> </div> <?php } ?> <!-- toolbox --> <div id="p-toolbox" class="portlet"> <h3><?php $this->msg('toolbox') ?></h3> <ul> <?php if($this->data['notspecialpage']) { ?> <li id="t-whatlinkshere"><a href="<?php echo htmlspecialchars($this->data['nav_urls']['whatlinkshere']['href']) ?>"<?php echo $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 $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 $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) { ?><span id="feed-<?php echo Sanitizer::escapeId($key) ?>"><a href="<?php echo htmlspecialchars($feed['href']) ?>"<?php echo $skin->tooltipAndAccesskey('feed-'.$key) ?>><?php echo htmlspecialchars($feed['text'])?></a> </span> <?php } ?></li><?php } foreach( array('contributions', '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 $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']) ?>"<?php echo $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 $skin->tooltipAndAccesskey('t-permalink') ?>><?php $this->msg('permalink') ?></a></li><?php } elseif ($this->data['nav_urls']['permalink']['href'] === '') { ?> <li id="t-ispermalink"<?php echo $skin->tooltip('t-ispermalink') ?>><?php $this->msg('permalink') ?></li><?php } wfRunHooks( 'MonoBookTemplateToolboxEnd', array( &$this ) ); ?> </ul> </div> <!-- language selection --> <?php if($this->data['language_urls']) { ?> <div id="p-lang" class="portlet"> <h5><?php $this->msg('otherlanguages') ?></h5> <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> <?php } ?> </div> <!-- page toolbar --> <ul id="pageTools"> <?php /* $this->msg('views') */ // DEBUG: label disabled ?> <?php foreach($this->data['content_actions'] as $key => $tab) { ?> <li id="ca-<?php echo Sanitizer::escapeId($key) ?>" <?php if($tab['class']) { ?> class="<?php echo htmlspecialchars($tab['class']) ?>" <?php } ?>> <a href="<?php echo htmlspecialchars($tab['href']) ?>" <?php echo $skin->tooltipAndAccesskey('ca-'.$key) ?>> <?php echo htmlspecialchars($tab['text']) ?> </a> </li> <?php } ?> </ul> <!-- content area --> <div id="contentArea"> <!-- category links --> <?php if($this->data['catlinks']) { ?> <div id="categories"> <?php $this->html('catlinks') // DEBUG: messy formatting ?> </div> <?php } ?> <!-- page name --> <h1 id="firstHeading" class="firstHeading"> <!-- class retained for compaitibility reasons--> <?php $this->data['displaytitle']!=""?$this->html('title'):$this->text('title') ?> </h1> <!-- page notes (redirect, undelete etc.) --> <div id="pageNotes"> <div id="contentSub"> <?php $this->html('subtitle') // DEBUG: conditional!? ?> </div> <?php if($this->data['undelete']) { ?> <div id="contentSub2"> <?php $this->html('undelete') ?> </div> <?php } ?> </div> <!-- page contents --> <?php $this->html('bodytext') ?> </div> <!-- footer --> <div id="footer"> <?php if($this->data['poweredbyico']) { ?> <div id="f-poweredbyico"> <?php $this->html('poweredbyico') ?> </div> <?php } ?> <?php if($this->data['copyrightico']) { ?> <div id="f-copyrightico"> <?php $this->html('copyrightico') ?> </div> <?php } ?> <?php // Generate additional footer links ?> <ul id="f-list"> <?php $footerlinks = array( 'lastmod', 'viewcount', 'numberofwatchingusers', 'credits', 'copyright', 'privacy', 'about', 'disclaimer', 'tagline', ); foreach( $footerlinks as $aLink ) { if( isset( $this->data[$aLink] ) && $this->data[$aLink] ) { ?> <li id="<?php echo$aLink?>"> <?php $this->html($aLink) ?> </li> <?php } } ?> </ul> </div><!-- scripts and debugging information --><?php $this->html('bottomscripts'); // JavaScript call to runBodyOnloadHook ?><?php $this->html('reporttime') ?><?php if($this->data['debug']): ?><!-- debug output:<?php $this->text('debug'); ?>--><?php endif; ?></body></html><?php wfRestoreWarnings(); } // end of execute() method} // end of class?>