Show
Ignore:
Timestamp:
2008-08-27 16:58:27 (4 months ago)
Author:
wwalc
Message:

Changed the way how FCKeditor is loaded + a couple of other bugfixes

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • MediaWiki/trunk/mw12/FCKeditorParser_OldPP.body.php

    r1941 r2388  
    155155         */ 
    156156        function strip( $text, $state, $stripcomments = false , $dontstrip = array () ) { 
    157                 global $wgContLang; 
     157                global $wgContLang, $wgUseTeX, $wgScriptPath; 
    158158 
    159159                wfProfileIn( __METHOD__ ); 
     
    166166 
    167167                $elements = array_merge( 
    168                 array( 'nowiki', 'gallery' ), 
     168                array( 'nowiki', 'gallery', 'math' ), 
    169169                array_keys( $this->mTagHooks ) ); 
    170170                global $wgRawHtml; 
    171171                if( $wgRawHtml ) { 
    172172                        $elements[] = 'html'; 
    173                 } 
    174                 if( $this->mOptions->getUseTeX() ) { 
    175                         $elements[] = 'math'; 
    176173                } 
    177174 
     
    211208                                                break; 
    212209                                        case 'math': 
    213                                                 $output = $wgContLang->armourMath( MathRenderer::renderMath( $content ) ); 
     210                                                if($wgUseTeX){          //normal render 
     211                                                        $output = $wgContLang->armourMath( MathRenderer::renderMath( $content ) ); 
     212                                                }else                           //show fakeimage 
     213                                                        $output = '<img _fckfakelement="true" class="FCK__MWMath" _fck_mw_math="'.$content.'" src="'.$wgScriptPath.'/skins/common/images/button_math.png" />'; 
    214214                                                break; 
    215215                                        case 'gallery': 
     
    308308 
    309309        function replaceInternalLinks( $text ) { 
     310                $text = preg_replace("/\[\[:(.*?)\]\]/", "[[RTECOLON$1]]", $text);      //change ':' => 'RTECOLON' in links 
    310311                return parent::replaceInternalLinks($text); 
    311312        } 
     
    375376                        foreach ($tags as $pos=>$type) { 
    376377                                $sum += $type; 
     378                                if (!$pos) { 
     379                                        $opened = 0; 
     380                                        $closed = 0; 
     381                                } 
     382                                else { 
     383                                        $opened = substr_count($text, '[', 0, $pos);                    //count [  
     384                                        $closed = substr_count($text, ']', 0, $pos);                    //count ] 
     385                                } 
    377386                                if ($sum == 1 && $lastSum == 0) { 
    378387                                        $stringToParse .= strtr(substr($text, $startingPos, $pos - $startingPos), $strtr); 
     
    383392                                        $inner = htmlspecialchars(strtr(substr($text, $startingPos, $pos - $startingPos + 19), $strtr)); 
    384393                                        $this->fck_mw_strtr_span['href="Fckmw'.$this->fck_mw_strtr_span_counter.'fckmw"'] = 'href="'.$inner.'"'; 
    385                                         $this->fck_mw_strtr_span['Fckmw'.$this->fck_mw_strtr_span_counter.'fckmw'] = '<span class="fck_mw_template">'.str_replace(array("\r\n", "\n", "\r"),"fckLR",$inner).'</span>'; 
     394                                        if($opened <= $closed) {                                                // {{template}} is NOT in [] or [[]] 
     395                                                $this->fck_mw_strtr_span['Fckmw'.$this->fck_mw_strtr_span_counter.'fckmw'] = '<span class="fck_mw_template">'.str_replace(array("\r\n", "\n", "\r"),"fckLR",$inner).'</span>'; 
     396                                        }else{ 
     397                                                $this->fck_mw_strtr_span['Fckmw'.$this->fck_mw_strtr_span_counter.'fckmw'] = str_replace(array("\r\n", "\n", "\r"),"fckLR",$inner); 
     398                                        } 
    386399                                        $startingPos = $pos + 19; 
    387400                                        $this->fck_mw_strtr_span_counter++;