X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FSkinTemplate.php;h=ac215ceaa0261a128c8d3566b3fce5560cdf3b97;hb=44d31b681fc83aecc819a78662a5d75a4a8655b7;hp=fe55f8129f7521c4715b4961528ff20508be9d95;hpb=6c99eb14388be5ba3782dd1eb871a29d486b7aab;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SkinTemplate.php b/includes/SkinTemplate.php index fe55f8129f..ac215ceaa0 100644 --- a/includes/SkinTemplate.php +++ b/includes/SkinTemplate.php @@ -1,4 +1,7 @@ $class ) { $feeds[$format] = array( 'text' => $format, - 'href' => $wgRequest->appendQuery( "feed=$format" ), - 'ttip' => wfMsg('tooltip-'.$format) + 'href' => $wgRequest->appendQuery( "feed=$format" ) ); } $tpl->setRef( 'feeds', $feeds ); @@ -277,10 +273,15 @@ class SkinTemplate extends Skin { $usertitle = $this->mUser->getUserPage(); $usertalktitle = $usertitle->getTalkPage(); if( !$usertalktitle->equals( $this->mTitle ) ) { - $ntl = wfMsg( 'newmessages', + $ntl = wfMsg( 'youhavenewmessages', + $this->makeKnownLinkObj( + $usertalktitle, + wfMsgHtml( 'newmessageslink' ) + ), $this->makeKnownLinkObj( $usertalktitle, - wfMsg('newmessageslink') + wfMsgHtml( 'newmessagesdifflink' ), + 'diff=cur' ) ); # Disable Cache @@ -482,7 +483,7 @@ class SkinTemplate extends Skin { $personal_urls['logout'] = array( 'text' => wfMsg('userlogout'), 'href' => $this->makeSpecialUrl( 'Userlogout', - $wgTitle->getNamespace() === NS_SPECIAL && $wgTitle->getText() === 'Preferences' ? '' : "returnto={$this->thisurl}" + $wgTitle->getNamespace() === NS_SPECIAL && $wgTitle->getText() === 'Preferences' ? '' : "returnto={$this->thisurl}" ) ); } else { @@ -537,12 +538,12 @@ class SkinTemplate extends Skin { $classes[] = 'new'; $query = 'action=edit'; } - + $text = wfMsg( $message ); if ( $text == "<$message>" ) { - $text = wfMsg( 'nstab-main' ); + $text = html_entity_decode($text); } - + return array( 'class' => implode( ' ', $classes ), 'text' => $text, @@ -575,7 +576,7 @@ class SkinTemplate extends Skin { * @access private */ function buildContentActionUrls () { - global $wgContLang, $wgUseValidation, $wgDBprefix, $wgValidationForAnons; + global $wgContLang, $wgDBprefix; $fname = 'SkinTemplate::buildContentActionUrls'; wfProfileIn( $fname ); @@ -584,6 +585,9 @@ class SkinTemplate extends Skin { $section = $wgRequest->getText( 'section' ); $content_actions = array(); + $prevent_active_tabs = false ; + wfRunHooks( 'SkinTemplatePreventOtherActiveTabs', array( &$this , &$prevent_active_tabs ) ) ; + if( $this->iscontent ) { $subjpage = $this->mTitle->getSubjectPage(); $talkpage = $this->mTitle->getTalkPage(); @@ -592,13 +596,13 @@ class SkinTemplate extends Skin { $content_actions[$nskey] = $this->tabAction( $subjpage, $nskey, - !$this->mTitle->isTalkPage(), + !$this->mTitle->isTalkPage() && !$prevent_active_tabs, '', true); $content_actions['talk'] = $this->tabAction( $talkpage, 'talk', - $this->mTitle->isTalkPage(), + $this->mTitle->isTalkPage() && !$prevent_active_tabs, '', true); @@ -697,30 +701,7 @@ class SkinTemplate extends Skin { } } - if( $this->loggedin || $wgValidationForAnons ) { # and $action != 'submit' ) { - # Validate tab. TODO: add validation to logged-in user rights - if($wgUseValidation && ( $action == "" || $action=='view' ) ){ # && $wgUser->isAllowed('validate')){ - if ( $this->mRevisionId ) $oid = intval( $this->mRevisionId ) ; # Use the oldid - else - {# Trying to get the current article revision through this weird stunt - $tid = $this->mTitle->getArticleID(); - $tns = $this->mTitle->getNamespace(); - $sql = "SELECT page_latest FROM {$wgDBprefix}page WHERE page_id={$tid} AND page_namespace={$tns}" ; - $res = wfQuery( $sql, DB_READ ); - if( $s = wfFetchObject( $res ) ) - $oid = $s->page_latest ; - else $oid = "" ; # Something's wrong, like the article has been deleted in the last 10 ns - } - if ( $oid != "" ) { - $oid = "&revision={$oid}" ; - $content_actions['validate'] = array( - 'class' => ($action == 'validate') ? 'selected' : false, - 'text' => wfMsg('val_tab'), - 'href' => $this->mTitle->getLocalUrl( "action=validate{$oid}" ) - ); - } - } - } + wfRunHooks( 'SkinTemplateTabs', array( &$this , &$content_actions ) ) ; } else { /* show special page tab */ @@ -729,6 +710,8 @@ class SkinTemplate extends Skin { 'text' => wfMsg('specialpage'), 'href' => $wgRequest->getRequestURL(), // @bug 2457, 2510 ); + + wfRunHooks( 'SkinTemplateBuildContentActionUrlsAfterSpecialPage', array( &$this, &$content_actions ) ); } /* show links to different language variants */ @@ -755,7 +738,7 @@ class SkinTemplate extends Skin { } wfRunHooks( 'SkinTemplateContentActions', array( &$content_actions ) ); - + wfProfileOut( $fname ); return $content_actions; } @@ -781,15 +764,7 @@ class SkinTemplate extends Skin { $diff = $wgRequest->getVal( 'diff' ); $nav_urls = array(); - $nav_urls['mainpage'] = array('href' => $this->makeI18nUrl('mainpage')); - $nav_urls['randompage'] = array('href' => $this->makeSpecialUrl('Random')); - $nav_urls['recentchanges'] = array('href' => $this->makeSpecialUrl('Recentchanges')); - $nav_urls['currentevents'] = (wfMsgForContent('currentevents') != '-') ? array('href' => $this->makeI18nUrl('currentevents')) : false; - $nav_urls['portal'] = (wfMsgForContent('portal') != '-') ? array('href' => $this->makeI18nUrl('portal-url')) : false; - $nav_urls['bugreports'] = array('href' => $this->makeI18nUrl('bugreportspage')); - // $nav_urls['sitesupport'] = array('href' => $this->makeI18nUrl('sitesupportpage')); - $nav_urls['sitesupport'] = array('href' => $wgSiteSupportPage); - $nav_urls['help'] = array('href' => $this->makeI18nUrl('helppage')); + $nav_urls['mainpage'] = array('href' => $this->makeI18nUrl('mainpage')); if( $wgEnableUploads ) { if ($wgUploadNavigationUrl) { $nav_urls['upload'] = array('href' => $wgUploadNavigationUrl ); @@ -822,13 +797,13 @@ class SkinTemplate extends Skin { 'href' => '' ); } else { - if ( !( $revid == 0 ) ) + if ( !( $revid == 0 ) ) $nav_urls['permalink'] = array( 'text' => wfMsg( 'permalink' ), 'href' => $wgTitle->getLocalURL( "oldid=$revid" ) ); } - + wfRunHooks( 'SkinTemplateBuildNavUrlsNav_urlsAfterPermalink', array( &$this, &$nav_urls, &$oldid, &$revid ) ); } @@ -836,9 +811,11 @@ class SkinTemplate extends Skin { $nav_urls['whatlinkshere'] = array( 'href' => $this->makeSpecialUrl("Whatlinkshere/$this->thispage") ); - $nav_urls['recentchangeslinked'] = array( - 'href' => $this->makeSpecialUrl("Recentchangeslinked/$this->thispage") - ); + if( $this->mTitle->getArticleId() ) { + $nav_urls['recentchangeslinked'] = array( + 'href' => $this->makeSpecialUrl("Recentchangeslinked/$this->thispage") + ); + } if ($wgUseTrackbacks) $nav_urls['trackbacklink'] = array( 'href' => $wgTitle->trackbackURL() @@ -877,7 +854,7 @@ class SkinTemplate extends Skin { /** * Generate strings used for xml 'id' names * @return string - * @private + * @access private */ function getNameSpaceKey () { switch ($this->mTitle->getNamespace()) { @@ -949,9 +926,9 @@ class SkinTemplate extends Skin { # If we use the site's dynamic CSS, throw that in, too if ( $wgUseSiteCss ) { - $query = "action=raw&ctype=text/css&smaxage=$wgSquidMaxage"; + $query = "action=raw&ctype=text/css&smaxage=$wgSquidMaxage"; $sitecss .= '@import "' . $this->makeNSUrl('Common.css', $query, NS_MEDIAWIKI) . '";' . "\n"; - $sitecss .= '@import "' . $this->makeNSUrl(ucfirst($this->skinname) . '.css', $query, NS_MEDIAWIKI) . '";' . "\n"; + $sitecss .= '@import "' . $this->makeNSUrl(ucfirst($this->skinname) . '.css', $query, NS_MEDIAWIKI) . '";' . "\n"; $sitecss .= '@import "' . $this->makeUrl('-','action=raw&gen=css' . $siteargs) . '";' . "\n"; } @@ -994,7 +971,8 @@ class SkinTemplate extends Skin { $fname = 'SkinTemplate::setupPageCss'; wfProfileIn( $fname ); $out = false; - wfRunHooks( 'SkinTemplateSetupPageCss', array( &$out, $this->mTitle->isProtected() ) ); + wfRunHooks( 'SkinTemplateSetupPageCss', array( &$out ) ); + wfProfileOut( $fname ); return $out; } @@ -1140,6 +1118,4 @@ class QuickTemplate { return ($msg != '-') && ($msg != ''); # ???? } } - -} // end of if( defined( 'MEDIAWIKI' ) ) ?>