Участник:Володя Шишкин/replace.js

Материал из Викиреальностя
Перейти к: навигация, поиск

Замечание. Возможно, после сохранения вам придётся очистить кеш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить, или нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
  • Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Internet Explorer: Удерживая Ctrl нажмите Обновить, или нажмите Ctrl-F5
  • Opera: Выберите очистку кеша в меню Инструменты → Настройки
var t = "На этой спецстранице вы можете запустить скрипт автозамен. С исходным кодом срипта можно ознакомиться <a href='http://wikireality.ru/wiki/User:Володя Шишкин/replace.js'>на его странице</a>. См. также <a href='http://wikireality.ru/wiki/replace.js'>справку</a>.";
 
function vsForm(t1, t2)
{
  t = t + "<tr><td align=right>" + t1 + " </td><td><input name='" + t2 + "'></td></tr>";
}
 
function zm01(name) 
{
  $.getJSON("http://wikireality.ru/w/api.php?format=json&action=query&prop=revisions&titles=" +
     encodeURIComponent(name) + "&rvprop=content", function(r){
 
     for(var pageid in r['query']['pages'])
     {
       str = r['query']['pages'][pageid]['revisions'][0]['*'];
       str = str.replace(window.repl1, window.repl2);
       vsRun(name, str);
     }
  });
}
function vsRun(vsTitle, vsText){
$.getJSON(wgScriptPath + "/api.php?format=json&action=query&prop=info&titles=Заглавная_страница&intoken=edit",
        function(rq) {
            var pages = rq['query']['pages'];
            var edittoken;         
            for(var p in pages)
            {
                edittoken = pages[p]['edittoken'];
            }
 
            $.post(wgScriptPath + '/api.php', {
               token: edittoken,
               format: 'json',
               action: 'edit',
               title: vsTitle,
               minor: 1,
               summary: "[[Бот]]: Автоматическая обработка страниц",
               text:  vsText  
            }); 
        }
   );
}
if(wgPageName == "Викиреальность:RUN")   
{  
  t = t + "<BR><BR><table><tr><td align=right>Список целевых страниц :</td><td><TEXTAREA rows=5 cols=40 name=myarea></TEXTAREA></td></tr>" ; 
//  vsForm ("Целевая страница : ","input1") ;
  vsForm ("Заменить что : ","input2") ;
  vsForm ("Чем : ","input3") ;
  vsForm ("","btn1' id='btn1' type='button' value='ок'") ;
  t = t + "</table>" ;
  document.getElementById('bodyContent').innerHTML =  t ; 
  $('#btn1')[0].onclick = function()
    {
      seeTextArea();
    };
}
 
function seeTextArea() {
  var st9 = $('textarea[name="myarea"]').val();
  st9 = st9.split (/\n/);
  window.repl1 = $('input[name="input2"]').val();
  window.repl2 = $('input[name="input3"]').val();
  for (i=0;i<st9.length;i++) {
    zm01 (st9[i]);
    t=t+ st9[i] ;
  }
  document.getElementById('bodyContent').innerHTML =  t ; 
}