Changeset 1829 for MediaWiki/trunk

Show
Ignore:
Timestamp:
2008-03-28 11:08:10 (10 months ago)
Author:
wwalc
Message:

Fix for #1432: line breaks in IE + template preview

Location:
MediaWiki/trunk
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • MediaWiki/trunk/FCKeditorParser.body.php

    r1756 r1829  
    357357                                        $inner = htmlspecialchars(strtr(substr($text, $startingPos, $pos - $startingPos + 19), $strtr)); 
    358358                                        $this->fck_mw_strtr_span['href="Fckmw'.$this->fck_mw_strtr_span_counter.'fckmw"'] = 'href="'.$inner.'"'; 
    359                                         $this->fck_mw_strtr_span['Fckmw'.$this->fck_mw_strtr_span_counter.'fckmw'] = '<span class="fck_mw_template">'.$inner.'</span>'; 
     359                                        $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>'; 
    360360                                        $startingPos = $pos + 19; 
    361361                                        $this->fck_mw_strtr_span_counter++; 
  • MediaWiki/trunk/FCKeditor.php

    r1756 r1829  
    6868$wgAjaxExportList[] = 'wfSajaxGetImageUrl'; 
    6969$wgAjaxExportList[] = 'wfSajaxGetMathUrl'; 
     70$wgAjaxExportList[] = 'wfSajaxSearchTemplateFCKeditor'; 
    7071 
    7172$wgExtensionCredits['other'][] = array( 
    7273"name" => "FCKeditor extension", 
    7374"author" => "FCKeditor.net (inspired by the code written by Mafs [Meta])", 
    74 "version" => 'fckeditor/mw-extension $Rev$ 2007', 
     75"version" => 'fckeditor/mw-extension $Rev$ 2008', 
    7576"url" => "http://meta.wikimedia.org/wiki/FCKeditor", 
    7677"description" => "FCKeditor extension" 
  • MediaWiki/trunk/FCKeditorSajax.body.php

    r1660 r1829  
    122122} 
    123123 
     124function wfSajaxSearchTemplateFCKeditor($empty) 
     125{ 
     126        global $wgContLang, $wgOut; 
     127        $ns = NS_TEMPLATE; 
     128 
     129        $db =& wfGetDB( DB_SLAVE ); 
     130        $res = $db->select( 'page', 'page_title', 
     131        array(  'page_namespace' => $ns), 
     132        "wfSajaxSearch" 
     133        ); 
     134 
     135        $ret = ""; 
     136        while ( $row = $db->fetchObject( $res ) ) { 
     137                $ret .= $row->page_title ."\n"; 
     138        } 
     139 
     140        return $ret; 
     141} 
     142 
    124143function wfSajaxWikiToHTML( $wiki ) 
    125144{ 
  • MediaWiki/trunk/FCKeditorSkin.body.php

    r1660 r1829  
    129129 
    130130                if ($found) { 
    131                         $originalLink = Linker::makeImageLink2( $nt, $file, $frameParams, $handlerParams); 
     131                        $linker = new Linker(); 
     132                        $originalLink = $linker->makeImageLink2( $nt, $file, $frameParams, $handlerParams); 
    132133 
    133134                        if (false !== strpos($originalLink, "src=\"")) { 
  • MediaWiki/trunk/mw12/FCKeditorParser_OldPP.body.php

    r1756 r1829  
    357357                                        $inner = htmlspecialchars(strtr(substr($text, $startingPos, $pos - $startingPos + 19), $strtr)); 
    358358                                        $this->fck_mw_strtr_span['href="Fckmw'.$this->fck_mw_strtr_span_counter.'fckmw"'] = 'href="'.$inner.'"'; 
    359                                         $this->fck_mw_strtr_span['Fckmw'.$this->fck_mw_strtr_span_counter.'fckmw'] = '<span class="fck_mw_template">'.$inner.'</span>'; 
     359                                        $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>'; 
    360360                                        $startingPos = $pos + 19; 
    361361                                        $this->fck_mw_strtr_span_counter++; 
  • MediaWiki/trunk/plugins/mediawiki/dialogs/template.html

    r1660 r1829  
    2727        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    2828        <meta name="robots" content="noindex, nofollow" /> 
     29        <script src="common/fck_dialog_common.js" type="text/javascript"></script> 
     30        <link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" /> 
    2931        <script type="text/javascript"> 
    3032 
     
    4042        </script> 
    4143        <script type="text/javascript"> 
     44 
     45//#### Dialog Tabs 
     46 
     47// Set the dialog tabs. 
     48window.parent.AddTab( 'Edit', 'Edit' ) ; 
     49window.parent.AddTab( 'Manual', 'Manual' ) ; 
     50 
     51function OnDialogTabChange( tabCode ) 
     52{ 
     53        ShowE('divEdit'         , ( tabCode == 'Edit' ) ) ; 
     54        ShowE('divManual'               , ( tabCode == 'Manual' ) ) ; 
     55} 
    4256 
    4357// Get the selected flash embed (if available). 
     
    6680} 
    6781 
     82function LoadSearchResults( result ) 
     83{ 
     84        var results = result.responseText.Trim().split( '\n' ) ; 
     85        var select = GetE( 'xWikiResults' ) ; 
     86 
     87        if ( results.length > 0 && !( results.length == 1 && results[0].length == 0 ) ) 
     88        { 
     89                for ( var i = 0 ; i < results.length ; i++ ) 
     90                        FCKTools.AddSelectOption( select, 'Template:' + results[i], results[i] ) ; 
     91        } 
     92} 
     93 
    6894function LoadSelection() 
    6995{ 
     96        // Make an Ajax search for the pages. 
     97        var empty = ''; 
     98        oEditor.window.parent.sajax_request_type = 'GET' ; 
     99        oEditor.window.parent.sajax_do_call( 'wfSajaxSearchTemplateFCKeditor',[empty], LoadSearchResults ) ; 
     100         
    70101        if ( !oTemplateSpan ) return ; 
    71102 
    72         GetE('xTemplateRaw').value = FCKTools.HTMLDecode( oTemplateSpan.innerHTML ).replace( /&quot;/g, '"' ) ; 
     103        var inputText = FCKTools.HTMLDecode(oTemplateSpan.innerHTML); 
     104        if (inputText.length>0 && inputText.indexOf('{{#')<0 && inputText.indexOf('{{:')<0 )  
     105        { 
     106                var templateName = inputText.substring(2,inputText.indexOf('fckLR')); 
     107                if (inputText.indexOf('fckLR')<1)  
     108                        templateName = inputText.substring(2,inputText.indexOf('|')); 
     109                if (inputText.indexOf('|')<1)  
     110                        templateName = inputText.substring(2,inputText.indexOf('}}')); 
     111                         
     112                SetUrl(templateName.charAt(0).toUpperCase() + templateName.substr(1)); 
     113        } 
     114        GetE('xTemplateRaw').value = inputText.replace(/fckLR/g,'\r\n').replace( /&quot;/g, '"' ); 
     115} 
     116 
     117function SetUrl(link) 
     118{ 
     119        var urlTemplate = oEditor.window.parent.location.pathname + '?title=Template:' + link + '&printable=yes'; 
     120        SetAttribute(GetE('xTemplateManual'),'src',urlTemplate); 
     121        GetE('xTemplateRaw').value = "{{" + link + "}}"; 
    73122} 
    74123 
     
    82131        } 
    83132         
    84         var templateData = FCKTools.HTMLEncode( GetE('xTemplateRaw').value ).Trim().replace( /"/g, '&quot;' ) ; 
     133        var templateData = FCKTools.HTMLEncode(GetE('xTemplateRaw').value.Trim().replace(/(\r\n|\n)/g, 'fckLR')).replace( /"/g, '&quot;' ) ; 
    85134         
    86135        if ( !( /^{{[\s\S]+}}$/.test( templateData ) ) ) 
     
    99148        } 
    100149 
     150        //GetE('xTestSpan').innerHTML = GetE('xTemplateRaw').value.Trim().replace( /"/g, '&quot;' ).replace(/(\r\n|\n)/g, '___') ; 
    101151        return true ; 
    102152} 
     
    105155</head> 
    106156<body style="overflow: hidden"> 
    107         <div id="divInfo"> 
     157        <div id="divEdit"> 
    108158                <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%"> 
    109159                        <tr> 
     
    118168                                </td> 
    119169                        </tr> 
     170                        <tr> 
     171                                <td> 
     172                                        <span id="xTestSpan" class="fck_mw_template"></span> 
     173                                </td> 
     174                        </tr> 
     175                </table> 
     176        </div> 
     177        <div id="divManual" style="display: none"> 
     178                <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%"> 
     179                        <tr> 
     180                                <select id="xWikiResults" style="width: 100%;" onchange="SetUrl( this.value );"> 
     181                                <option value="">&lt;Pick up a template manual here&gt;</option> 
     182                                </select> 
     183                        </tr> 
     184                        <tr> 
     185                                <td> 
     186                                        <iframe id="xTemplateManual" width="100%" scrolling="yes" height="100%" src="" style="margin:5px;padding:0px;"></iframe> 
     187                                </td> 
     188                        </tr> 
    120189                </table> 
    121190        </div> 
  • MediaWiki/trunk/plugins/mediawiki/fckplugin.js

    r1823 r1829  
    428428 
    429429                                                                case 'fck_mw_template' : 
    430                                                                         stringBuilder.push( FCKTools.HTMLDecode(htmlNode.innerHTML) ) ; 
     430                                                                        stringBuilder.push( FCKTools.HTMLDecode(htmlNode.innerHTML).replace(/fckLR/g,'\r\n') ) ; 
    431431                                                                        return ; 
    432432