this-\>iseditable, fixes the doubleclick-on-edit-page-not working bug; false instead...
authorGabriel Wicke <gwicke@users.mediawiki.org>
Sat, 1 May 2004 00:40:34 +0000 (00:40 +0000)
committerGabriel Wicke <gwicke@users.mediawiki.org>
Sat, 1 May 2004 00:40:34 +0000 (00:40 +0000)
includes/SkinPHPTal.php

index a52bee2..460ee35 100644 (file)
@@ -75,6 +75,8 @@
                        $this->thispage = $wgTitle->getPrefixedDbKey();
                        $this->thisurl = $wgTitle->getPrefixedURL();
                        $this->loggedin = $wgUser->getID() != 0;
+                       $this->iscontent = ($wgTitle->getNamespace() != Namespace::getSpecial() );
+                       $this->iseditable = ($this->iscontent and !($action == 'edit' or $action == 'submit'));
                        $this->username = $wgUser->getName();
                        $this->userpage = $wgLang->getNsText( Namespace::getUser() ) . ":" . $wgUser->getName();
                        $this->userpageurl = $this->makeUrl($this->userpage);
                        $content_actions = $this->buildContentActionUrls();
                        $tpl->setRef('content_actions', &$content_actions);
                        // XXX: attach this from javascript, same with section editing
-                       if(isset($content_actions['edit']['href']) && 
-                       !(isset($content_actions['edit']['class']) && $content_actions['edit']['class'] != '') &&
-                       $wgUser->getOption("editondblclick") ) 
+                       if($this->iseditable && $wgUser->getOption("editondblclick") ) 
                        {
                                $tpl->set('body-ondblclick', 'document.location = "' .$content_actions['edit']['href'] .'";');
                        } else {
-                               $tpl->set('body-ondblclick', '');
+                               $tpl->set('body-ondblclick', false);
                        }
                        $tpl->set( "nav_urls", $this->buildNavUrls() );
 
                        $diff = $wgRequest->getVal( 'diff' );
                        $content_actions = array();
                        
-                       $iscontent = ($wgTitle->getNamespace() != Namespace::getSpecial() );
-                       if( $iscontent) {
+                       if( $this->iscontent ) {
 
-                               $content_actions['article'] = array('class' => (!Namespace::isTalk( $wgTitle->getNamespace())) ? 'selected' : '',
+                               $content_actions['article'] = array('class' => (!Namespace::isTalk( $wgTitle->getNamespace())) ? 'selected' : false,
                                'text' => wfMsg('article'),
                                'href' => $this->makeArticleUrl($this->thispage),
                                'ttip' => wfMsg('tooltip-article'),
                                'akey' => wfMsg('accesskey-article'));
 
                                /* set up the classes for the talk link */
-                               $talk_class = (Namespace::isTalk( $wgTitle->getNamespace()) ? 'selected' : '');                         
+                               $talk_class = (Namespace::isTalk( $wgTitle->getNamespace()) ? 'selected' : false);                              
                                $talktitle = Title::newFromText( $this->titletxt );
                                $talktitle = $talktitle->getTalkPage();
                                $this->checkTitle(&$talktitle, &$this->titletxt);       
                                }
 
                                if ( $wgTitle->userCanEdit() ) {
-                                       $oid = ( $oldid && ! isset( $diff ) ) ? "&oldid={$oldid}" : '';
+                                       $oid = ( $oldid && ! isset( $diff ) ) ? "&oldid={$oldid}" : false;
                                        $istalk = ( Namespace::isTalk( $wgTitle->getNamespace()) );
                                        $istalkclass = $istalk?' istalk':'';
                                        $content_actions['edit'] = array(
-                                               'class' => ((($action == 'edit' or $action == 'submit') and $section != 'new') ? 'selected' : '').$istalkclass,
+                                               'class' => (($this->iseditable and $section != 'new') ? 'selected' : '').$istalkclass,
                                                'text' => wfMsg('edit'),
                                                'href' => $this->makeUrl($this->thispage, 'action=edit'.$oid),
                                                'ttip' => wfMsg('tooltip-edit'),
                                        );
                                        if ( $istalk ) {
                                                $content_actions['addsection'] = array(
-                                                       'class' => $section == 'new'?'selected':'',
+                                                       'class' => $section == 'new'?'selected':false,
                                                        'text' => wfMsg('addsection'),
                                                        'href' => $this->makeUrl($this->thispage, 'action=edit&section=new'),
                                                        'ttip' => wfMsg('tooltip-addsection'),
                                        }
                                } else {
                                        $oid = ( $oldid && ! isset( $diff ) ) ? "&oldid={$oldid}" : '';
-                                       $content_actions['edit'] = array('class' => ($action == 'edit') ? 'selected' : '',
+                                       $content_actions['edit'] = array('class' => ($action == 'edit') ? 'selected' : false,
                                        'text' => wfMsg('viewsource'),
                                        'href' => $this->makeUrl($this->thispage, 'action=edit'.$oid),
                                        'ttip' => wfMsg('tooltip-viewsource'),
 
                                if ( $wgTitle->getArticleId() ) {
 
-                                       $content_actions['history'] = array('class' => ($action == 'history') ? 'selected' : '',
+                                       $content_actions['history'] = array('class' => ($action == 'history') ? 'selected' : false,
                                        'text' => wfMsg('history_short'),
                                        'href' => $this->makeUrl($this->thispage, 'action=history'),
                                        'ttip' => wfMsg('tooltip-history'),
                                        # XXX: is there a rollback action anywhere or is it planned?
                                        # Don't recall where i got this from...
                                        /*if( $wgUser->getNewtalk() ) {
-                                               $content_actions['rollback'] = array('class' => ($action == 'rollback') ? 'selected' : '',
+                                               $content_actions['rollback'] = array('class' => ($action == 'rollback') ? 'selected' : false,
                                                'text' => wfMsg('rollback_short'),
                                                'href' => $this->makeUrl($this->thispage, 'action=rollback'),
                                                'ttip' => wfMsg('tooltip-rollback'),
                                        if($wgUser->isSysop()){
                                                if(!$wgTitle->isProtected()){
                                                        $content_actions['protect'] = array(
-                                                               'class' => ($action == 'protect') ? 'selected' : '',
+                                                               'class' => ($action == 'protect') ? 'selected' : false,
                                                                'text' => wfMsg('protect'),
                                                                'href' => $this->makeUrl($this->thispage, 'action=protect'),
                                                                'ttip' => wfMsg('tooltip-protect'),
 
                                                } else {
                                                        $content_actions['unprotect'] = array(
-                                                               'class' => ($action == 'unprotect') ? 'selected' : '',
+                                                               'class' => ($action == 'unprotect') ? 'selected' : false,
                                                                'text' => wfMsg('unprotect'),
                                                                'href' => $this->makeUrl($this->thispage, 'action=unprotect'),
                                                                'ttip' => wfMsg('tooltip-protect'),
                                                        );
                                                }
                                                $content_actions['delete'] = array(
-                                                       'class' => ($action == 'delete') ? 'selected' : '',
+                                                       'class' => ($action == 'delete') ? 'selected' : false,
                                                        'text' => wfMsg('delete'),
                                                        'href' => $this->makeUrl($this->thispage, 'action=delete'),
                                                        'ttip' => wfMsg('tooltip-delete'),
                                        }
                                        if ( $wgUser->getID() != 0 ) {
                                                if ( $wgTitle->userCanEdit()) {
-                                                       $content_actions['move'] = array('class' => ($wgTitle->getDbKey() == 'Movepage' and $wgTitle->getNamespace == Namespace::getSpecial()) ? 'selected' : '',
+                                                       $content_actions['move'] = array('class' => ($wgTitle->getDbKey() == 'Movepage' and $wgTitle->getNamespace == Namespace::getSpecial()) ? 'selected' : false,
                                                        'text' => wfMsg('move'),
                                                        'href' => $this->makeSpecialUrl('Movepage', 'target='.$this->thispage),
                                                        'ttip' => wfMsg('tooltip-move'),
                                        if($wgUser->isSysop()){
                                                if( $n = $wgTitle->isDeleted() ) {
                                                        $content_actions['delete'] = array(
-                                                               'class' => '',
+                                                               'class' => false,
                                                                'text' => wfMsg( "undelete_short", $n ),
                                                                'href' => $this->makeSpecialUrl('Undelete/'.$this->thispage),
                                                                'ttip' => wfMsg('tooltip-undelete', $n),
 
                                if ( $wgUser->getID() != 0 and $action != 'edit' and $action != 'submit' ) {
                                        if( !$wgTitle->userIsWatching()) {
-                                               $content_actions['watch'] = array('class' => ($action == 'watch' or $action == 'unwatch') ? 'selected' : '',
+                                               $content_actions['watch'] = array('class' => ($action == 'watch' or $action == 'unwatch') ? 'selected' : false,
                                                'text' => wfMsg('watch'),
                                                'href' => $this->makeUrl($this->thispage, 'action=watch'),
                                                'ttip' => wfMsg('tooltip-watch'),
                                                'akey' => wfMsg('accesskey-watch'));
                                        } else {
-                                               $content_actions['watch'] = array('class' => ($action == 'unwatch' or $action == 'watch') ? 'selected' : '',
+                                               $content_actions['watch'] = array('class' => ($action == 'unwatch' or $action == 'watch') ? 'selected' : false,
                                                'text' => wfMsg('unwatch'),
                                                'href' => $this->makeUrl($this->thispage, 'action=unwatch'),
                                                'ttip' => wfMsg('tooltip-unwatch'),
                        $nav_urls['randompage'] = array('href' => htmlspecialchars( $this->makeSpecialUrl('Randompage')));
                        $nav_urls['recentchanges'] = array('href' => htmlspecialchars( $this->makeSpecialUrl('Recentchanges')));
                        $nav_urls['whatlinkshere'] = array('href' => htmlspecialchars( $this->makeSpecialUrl('Whatlinkshere', 'target='.$this->thispage)));
-                       $nav_urls['currentevents'] = (wfMsg('currentevents') != '-') ? array('href' => htmlspecialchars( $this->makeI18nUrl('currentevents'))) : '';
-                       $nav_urls['portal'] = (wfMsg('portal') != '-') ? array('href' => htmlspecialchars( $this->makeI18nUrl('portal-url'))) : '';
+                       $nav_urls['currentevents'] = (wfMsg('currentevents') != '-') ? array('href' => htmlspecialchars( $this->makeI18nUrl('currentevents'))) : false;
+                       $nav_urls['portal'] = (wfMsg('portal') != '-') ? array('href' => htmlspecialchars( $this->makeI18nUrl('portal-url'))) : false;
                        $nav_urls['recentchangeslinked'] = array('href' => htmlspecialchars( $this->makeSpecialUrl('Recentchangeslinked', 'target='.$this->thispage)));
                        $nav_urls['bugreports'] = array('href' => htmlspecialchars( $this->makeI18nUrl('bugreportspage')));
                        // $nav_urls['sitesupport'] = array('href' => htmlspecialchars( $this->makeI18nUrl('sitesupportpage')));