לדלג לתוכן

משתמש:E L Yekutiel/diffSign.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
// סקריפט להצגת תבנית "לא חתם" כולל שעה ותאריך בראש דף הבדלים בין גרסאות
// מבוסס לחלוטין על סקריפטים של המשתמשים:
// Neriah
// שרדינגר
// שבעצמם מבוססים חלקית על סקריפט של:
// דגש

if ($('h1#firstHeading:contains(הבדלים בין גרסאות)').length || $('h1#firstHeading:contains(הבדלי גרסאות)').length) {
    var href = $('#mw-diff-ntitle1 a:first').attr('href'),
        oldid = href ? href.replace(/.*oldid=/, '') : false;

    var editorName = $('#mw-diff-ntitle2 .mw-userlink').text() || $('#mw-diff-ntitle2 .mw-anonuserlink').text() ||
                     $('#mw-diff-otitle2 .mw-userlink').text() || $('#mw-diff-otitle2 .mw-anonuserlink').text();

    if (oldid && editorName) {
        // שימוש ב-API כדי לקבל את פרטי זמן העריכה
        $.get(mw.util.wikiScript('api'), {
            action: 'query',
            prop: 'revisions',
            revids: oldid,
            rvprop: 'timestamp',
            format: 'json'
        }, function(data) {
            var revision = data.query.pages[Object.keys(data.query.pages)[0]].revisions[0];
            var editTimestamp = revision.timestamp;
            
            // המרה לתאריך ושעה בפורמט המקומי
            var editDate = new Date(editTimestamp);
            var options = { hour: '2-digit', minute: '2-digit', day: '2-digit', month: 'long', year: 'numeric', timeZoneName: 'short' };
            var localEditTime = editDate.toLocaleString('he-IL', options);
            
            // המרה לפורמט חתימה של ויקיפדיה
            var dateTimeElements = localEditTime.split(" ");
            var wikiTimeZone = ((dateTimeElements[5]==="GMT‎+2‎") ? "(IST)" : ((dateTimeElements[5]==="GMT‎+3‎") ? "(IDT)" : dateTimeElements[5]));
            var wikiDay = ((dateTimeElements[0][0] === '0') ? dateTimeElements[0][1] : dateTimeElements[0]);
            var wikiEditTime = dateTimeElements[4] + ", " + wikiDay + " " + dateTimeElements[1] + " " + dateTimeElements[2] + " " + wikiTimeZone;

            // יצירת התבנית להצגה
            var templateText = '{{לא חתם|' + editorName + '|תאריך=' + wikiEditTime + '}}';
            
            // הוספת התבנית לדף
            $('#contentSub').append('<div id="signatureWarning">' + templateText + '</div>');
            
            // הוספת לחצן העתקה
            $('#signatureWarning').append('<button id="copyButton">העתק</button>');
            
            // הוספת אירוע לחצן ההעתקה
            $('#copyButton').on('click', function() {
                // יצירת אלמנט זמני להעתקה
                var tempInput = $('<input>');
                $('body').append(tempInput);
                tempInput.val(templateText).select();
                document.execCommand('copy');
                tempInput.remove();
                
                // עדכון טקסט הלחצן לאישור העתקה
                $(this).text('הועתק!');
                setTimeout(function() {
                    $('#copyButton').text('העתק'); // חזרה למצב המקורי אחרי 2 שניות
                }, 2000);
            });
        });
    }
}