User:Tgr/summary.js

A Wikipédiából, a szabad lexikonból.

Megjegyzés: A beállítások elmentése után frissítened kell a böngésződ gyorsítótárát, hogy a változások érvénybe lépjenek. Mozilla / Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Reload / Frissítés gombra az eszköztáron, vagy használd a Ctrl–F5 billentyűkombinációt (Apple Mac-en Cmd–Shift–R); Internet Explorer: tartsd nyomva a Ctrl-t, és kattints a Reload / Frissítés gombra, vagy nyomj Ctrl–F5-öt; Konqueror: egyszerűen csak kattints a Reload / Frissítés gombra (vagy Ctrl–R vagy F5); Opera felhasználóknak teljesen ki kell üríteniük a gyorsítótárat a Tools→Preferences menüben.

function autoSummaryInstall() {
    if(!document.getElementById || !document.createElement) return; // DOM check
    var summary = document.getElementById('wpSummary'); // edit summary
    if(!summary) summary = document.getElementById('wpReason'); // admin del/block/etc. summary
    if(!summary) return; // edit mode check
    if(/&section=new/.test(window.location.href)) return;

    // check cookie
    var summaryText;
    var cookiePos = document.cookie.indexOf('autosummary=');
    if(cookiePos!=-1) {
       var results = document.cookie.match('autosummary=(.*?)(;|$)');
       if(results) summaryText = unescape(results[1]);
    }

    // set summary text
    if(summaryText) {
       if(summary.value.match(/^(\/\*.*\*\/)? *$/)) summary.value += summaryText; // avoid overwriting summary when using back button
    }

    // create button
    var autoSummaryButton = document.createElement('a');
    autoSummaryButton.id = 'autosummary';
    if(summaryText) autoSummaryButton.className = 'internal';
    else autoSummaryButton.className = 'new';
    autoSummaryButton.href = 'javascript:autoSummary()';
    autoSummaryButton.appendChild(document.createTextNode('[auto]'));
    var br = summary.nextSibling;
    br.parentNode.insertBefore(autoSummaryButton, br);
}

function autoSummary() {
    // check cookie
    var summaryText;
    var cookiePos = document.cookie.indexOf('autosummary=');
    if(cookiePos!=-1) {
       var results = document.cookie.match('autosummary=(.*?)(;|$)');
       if(results) summaryText = unescape(results[1]);
    } else summaryText = '';

    var r = prompt('Összefoglaló szövege:', summaryText);
    if(r!=null) {
       var summary = document.getElementById('wpSummary');
       if(!summary) summary = document.getElementById('wpReason');
       if(r) {
          document.cookie = 'autosummary='+escape(r);
          if(summary.value.match(/^(\/\*.*\*\/)? *$/)) summary.value += r;
       } else {
          document.cookie = 'autosummary=; expires=Thu, 01-Jan-1970 00:00:01 GMT;'; // delete cookie
       }
    }
}

addLoadEvent(autoSummaryInstall);