Ticket #2191: 2191.patch

File 2191.patch, 4.3 KB (added by Artur Formella, 15 years ago)
  • FCKeditor.body.php

     
    5959        }
    6060
    6161        private function getExcludedNamespaces() {
    62                 global $wgUser;
     62                global $wgUser,$wgDefaultUserOptions;
    6363
    6464                if ( is_null( $this->excludedNamespaces ) ) {
    6565                        $this->excludedNamespaces = array();
    6666                        foreach ( self::$nsToggles as $toggle ) {
    67                                 if ( $wgUser->getOption( $toggle ) ) {
     67                                $default = isset($wgDefaultUserOptions[$toggle]) ? $wgDefaultUserOptions[$toggle] : "";
     68                                if ( $wgUser->getOption( $toggle, $default) ) {
    6869                                        $this->excludedNamespaces[] = constant(strtoupper(str_replace("riched_disable_", "", $toggle)));
    6970                                }
    7071                        }
     
    283284                global $wgFCKEditorExtDir, $wgFCKEditorDir, $wgFCKEditorHeight, $wgUser;
    284285                global $wgStylePath, $wgStyleVersion, $wgDefaultSkin, $wgExtensionFunctions;
    285286                global $wgFCKWikiTextBeforeParse;
    286                 global $wgHooks;
     287                global $wgHooks, $wgDefaultUserOptions;
    287288
    288289                if (!isset($this->showFCKEditor))
    289290                {
    290291                        $this->showFCKEditor = 0;
    291                         if ( !$wgUser->getOption( 'riched_start_disabled' ) ) {
     292                        if ( !$wgUser->getOption( 'riched_start_disabled',$wgDefaultUserOptions['riched_start_disabled'] ) ) {
    292293                                $this->showFCKEditor += RTE_VISIBLE;
    293294                        }
    294                         if ( $wgUser->getOption( 'riched_use_popup' ) ) {
     295                        if ( $wgUser->getOption( 'riched_use_popup',$wgDefaultUserOptions['riched_use_popup'] ) ) {
    295296                                $this->showFCKEditor += RTE_POPUP;
    296297                        }
    297                         if ( $wgUser->getOption( 'riched_use_toggle' ) ) {
     298                        if ( $wgUser->getOption( 'riched_use_toggle',$wgDefaultUserOptions['riched_use_toggle'] ) ) {
    298299                                $this->showFCKEditor += RTE_TOGGLE_LINK;
    299300                        }
    300301                }
    301302
    302                 if( (!empty($_SESSION['showMyFCKeditor'])) && ($wgUser->getOption( 'riched_toggle_remember_state' )))
     303                if( (!empty($_SESSION['showMyFCKeditor'])) && ($wgUser->getOption( 'riched_toggle_remember_state',$wgDefaultUserOptions['riched_toggle_remember_state'] )))
    303304                {
    304305                        //clear RTE_VISIBLE flag
    305306                        $this->showFCKEditor &= ~RTE_VISIBLE ;
     
    307308                        $this->showFCKEditor |= $_SESSION['showMyFCKeditor'] ;                 
    308309                }
    309310       
    310                 if (!$wgUser->getOption( 'showtoolbar' ) || $wgUser->getOption( 'riched_disable' ) || !$wgFCKEditorIsCompatible) {
     311                if (!$wgUser->getOption( 'showtoolbar' ) || $wgUser->getOption( 'riched_disable',$wgDefaultUserOptions['riched_disable'] ) || !$wgFCKEditorIsCompatible) {
    311312                        return true;
    312313                }
    313314
     
    377378var editorMsgOn = "'. wfMsg( 'textrichditor' ) .'";
    378379var editorMsgOff = "'. wfMsg( 'tog-riched_disable' ) .'";
    379380var editorLink = "'. (($this->showFCKEditor & RTE_VISIBLE)? wfMsg( 'tog-riched_disable' ): wfMsg( 'textrichditor' )) .'";               
    380 var saveSetting = '. ($wgUser->getOption( 'riched_toggle_remember_state' ) ?  1 : 0) .';
     381var saveSetting = '. ($wgUser->getOption( 'riched_toggle_remember_state',$wgDefaultUserOptions['riched_toggle_remember_state'] ) ?  1 : 0) .';
    381382var RTE_VISIBLE = '.RTE_VISIBLE.';
    382383var RTE_TOGGLE_LINK = '.RTE_TOGGLE_LINK.';
    383384var RTE_POPUP = '.RTE_POPUP.';
     
    739740        }
    740741
    741742        public function onUserToggles( &$extraToggles ) {
     743                global $wgUser,$wgDefaultUserOptions;
    742744                $extraToggles[] = 'riched_disable';
    743745                $extraToggles[] = 'riched_start_disabled';
    744746                $extraToggles[] = 'riched_use_popup';
    745747                $extraToggles[] = 'riched_use_toggle';
    746748                $extraToggles[] = 'riched_toggle_remember_state';
    747749               
     750                //Show default options in Special:Preferences
     751                if( !array_key_exists( "riched_disable", $wgUser->mOptions ))
     752                        $wgUser->setOption("riched_disable",$wgDefaultUserOptions['riched_disable']);
     753                if( !array_key_exists( "riched_start_disabled",         $wgUser->mOptions ))
     754                        $wgUser->setOption("riched_start_disabled",$wgDefaultUserOptions['riched_start_disabled']);
     755                if( !array_key_exists( "riched_use_popup",      $wgUser->mOptions ))
     756                        $wgUser->setOption("riched_use_popup",$wgDefaultUserOptions['riched_use_popup']);
     757                if( !array_key_exists( "riched_use_toggle",     $wgUser->mOptions ))
     758                        $wgUser->setOption("riched_use_toggle",$wgDefaultUserOptions['riched_use_toggle']);
     759                if( !array_key_exists( "riched_toggle_remember_state",  $wgUser->mOptions ))
     760                        $wgUser->setOption("riched_toggle_remember_state",$wgDefaultUserOptions['riched_toggle_remember_state']);
     761
    748762                $extraToggles = array_merge($extraToggles, self::$nsToggles);
    749763                return true;
    750764        }
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy