Changeset 144

Show
Ignore:
Timestamp:
03/14/06 23:50:58 (6 years ago)
Author:
mj
Message:

Add minimal mediawiki formatting expansion (links only for now)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • wikipedia/godmode-light/trunk/godmode-light.js

    r143 r144  
    220220  return text; 
    221221} 
     222 
     223// ----------------------------------------------------------------------------- 
     224// Simple MediaWiki markup expander 
     225// ----------------------------------------------------------------------------- 
     226var _mw_link = /[[]{2}([^\]|]+)(?:|\|([^\]]+))]]/; 
     227function mw_expand(text) { 
     228  while (_mw_link.test(text)) { 
     229    var match = _mw_link.exec(text); 
     230    var link = match[1]; 
     231    var title = match[2] || link; 
     232    link = '<a href="/wiki/' + link.replace(' ', '_') + '">' + title + '</a>' 
     233    text = text.replace(_mw_link, link) 
     234  } 
     235  return text 
     236} 
     237     
    222238 
    223239// ----------------------------------------------------------------------------- 
     
    247263  if (!revert) 
    248264    return; 
    249   document.getElementById('bodyContent').innerHTML = _('pleasewait', gml_vandal); 
     265  document.getElementById('bodyContent').innerHTML = mw_expand(_('pleasewait', gml_vandal)); 
    250266  // Avoid XSS kiddies by using a special token 
    251267  if (token == '' || token != md5.hex(gml_url + gml_vandal + document.cookie)) { 
    252     document.getElementById('bodyContent').innerHTML += '<br />' + _('badtoken'); 
     268    document.getElementById('bodyContent').innerHTML += '<br />' + mw_expand(_('badtoken')); 
    253269    return; 
    254270  } 
     
    258274    return; 
    259275  history_url = gml_url + '&action=history&limit=50'; 
    260   document.getElementById('bodyContent').innerHTML += '<br />' + _('gettinghistory', history_url); 
     276  document.getElementById('bodyContent').innerHTML += '<br />' + mw_expand(_('gettinghistory', history_url)); 
    261277  gml_xmlhttp.open("GET", history_url, true); 
    262278  gml_xmlhttp.onreadystatechange = RevertStepTwo; 
     
    276292  doc = gml_XMLParse(xml); 
    277293  if (!doc || !doc.getElementById('pagehistory')) { 
    278     document.getElementById('bodyContent').innerHTML += '<br />' + _('parsefailed'); 
    279     document.getElementById('bodyContent').innerHTML += '<br />' + _('pagedump') + '<br />' + xml.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;'); 
     294    document.getElementById('bodyContent').innerHTML += '<br />' + mw_expand(_('parsefailed')); 
     295    document.getElementById('bodyContent').innerHTML += '<br />' + mw_expand(_('pagedump')) + '<br />' + xml.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;'); 
    280296    return; 
    281297  } 
     
    285301    var name = l[i].getElementsByTagName('span')[0].getElementsByTagName('a')[0].innerHTML.replace(/_/g, ' '); 
    286302    if (i == 0 && name != gml_vandal) { 
    287       document.getElementById('bodyContent').innerHTML += '<br />' + _('alreadyrolled', gml_url, gml_vandal, name); 
     303      title = gml_url.substring(gml_url.indexOf('title=') + 6); 
     304      document.getElementById('bodyContent').innerHTML += '<br />' + mw_expand(_('alreadyrolled', title, gml_vandal, name)); 
    288305      return; 
    289306    } else if (i > 0 && name != gml_vandal) { 
     
    294311  } 
    295312  if (gml_editor == '') { 
    296     document.getElementById('bodyContent').innerHTML += '<br />' + _(cantrollback); 
     313    document.getElementById('bodyContent').innerHTML += '<br />' + mw_expand(_('cantrollback')); 
    297314    return; 
    298315  } 
     
    347364  newform.id = form.id; 
    348365  newform.action = form.action; 
    349   document.getElementById('bodyContent').innerHTML += '<br />' + _('submitting'); 
     366  document.getElementById('bodyContent').innerHTML += '<br />' + mw_expand(_('submitting')); 
    350367  document.getElementById('bodyContent').appendChild(newform); 
    351368  // Submit the form