Jump to content

ഉപയോക്താവ്:MGA73/common.js

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.

ശ്രദ്ധിക്കുക: സേവ് ചെയ്തശേഷം മാറ്റങ്ങൾ കാണാനായി താങ്കൾക്ക് ബ്രൗസറിന്റെ കാഷെ ഒഴിവാക്കേണ്ടി വന്നേക്കാം.

  • ഫയർഫോക്സ് / സഫാരി: Reload ബട്ടൺ അമർത്തുമ്പോൾ Shift കീ അമർത്തി പിടിക്കുകയോ, Ctrl-F5 അല്ലെങ്കിൽ Ctrl-R (മാക്കിന്റോഷിൽ ⌘-R ) എന്ന് ഒരുമിച്ച് അമർത്തുകയോ ചെയ്യുക
  • ഗൂഗിൾ ക്രോം: Ctrl-Shift-R (മാക്കിന്റോഷിൽ ⌘-Shift-R ) അമർത്തുക
  • ഇന്റർനെറ്റ് എക്സ്പ്ലോറർ: Refresh ബട്ടൺ അമർത്തുമ്പോൾ Ctrl കീ അമർത്തിപിടിക്കുക. അല്ലെങ്കിൽ Ctrl-F5 അമർത്തുക
  • ഓപ്പറ: Menu → Settings എടുക്കുക (മാക്കിൽ Opera → Preferences) എന്നിട്ട് Privacy & security → Clear browsing data → Cached images and files ചെയ്യുക.
$(document).ready(function() {
    function addButtons() {
        if (mw.config.get('wgNamespaceNumber') === 6 || mw.config.get('wgPageName') === 'Kasutaja:MGA73/Sandbox') {
            var buttonContainer = $('<div>').css({'margin': '10px 0'});
            
            var relicenseButton = $('<button>')
                .text('Relicense')
                .css({
                    'cursor': 'pointer',
                    'margin-right': '10px'
                })
                .click(function(event) {
                    event.preventDefault();
                    // Redirect to the edit page with relicense marker
                    var editUrl = mw.util.getUrl(mw.config.get('wgPageName'), { action: 'edit', relicense: true });
                    window.location.href = editUrl;
                });
            
            var notEligibleButton = $('<button>')
                .text('Not-eligible')
                .css({
                    'cursor': 'pointer',
                    'margin-right': '10px'
                })
                .click(function(event) {
                    event.preventDefault();
                    // Redirect to the edit page with not-eligible marker
                    var editUrl = mw.util.getUrl(mw.config.get('wgPageName'), { action: 'edit', noteligible: true });
                    window.location.href = editUrl;
                });
            
            var redundantButton = $('<button>')
                .text('Redundant')
                .css({
                    'cursor': 'pointer'
                })
                .click(function(event) {
                    event.preventDefault();
                    // Redirect to the edit page with redundant marker
                    var editUrl = mw.util.getUrl(mw.config.get('wgPageName'), { action: 'edit', redundant: true });
                    window.location.href = editUrl;
                });
            
            buttonContainer.append(relicenseButton).append(notEligibleButton).append(redundantButton);
            
            var content = $('#content');
            if (content.length) {
                content.prepend(buttonContainer);
            }
        }
    }
    
    function applyChangesOnEditPage() {
        if (mw.config.get('wgAction') === 'edit') {
            var urlParams = new URLSearchParams(window.location.search);
            var relicense = urlParams.get('relicense');
            var noteligible = urlParams.get('noteligible');
            var redundant = urlParams.get('redundant');
            
            var migrationState;
            if (relicense) {
                migrationState = 'relicense';
            } else if (noteligible) {
                migrationState = 'not-eligible';
            } else if (redundant) {
                migrationState = 'redundant';
            }
            
            if (migrationState) {
                var editBox = $('#wpTextbox1');
                var currentText = editBox.val();
                
                // Replace {{GFDL}}, {{GFDL-no-disclaimers}}, and {{GFDL-with-disclaimers}}
                var updatedText = currentText
                    .replace(/\{\{([^{}]*?)(GFDL(?:-no-disclaimers)?)([^}]*)\}\}/g, function(match, preGFDL, gfdlType, postGFDL) {
                        return `{{${preGFDL}${gfdlType}|migration=${migrationState}${postGFDL}}}`;
                    })
                    .replace(/\{\{([^{}]*?)(GFDL-with-disclaimers)([^}]*)\}\}/g, function(match, preGFDL, gfdlWithDisclaimers, postGFDL) {
                        return `{{${preGFDL}${gfdlWithDisclaimers}|migration=${migrationState}${postGFDL}}}`;
                    });
                editBox.val(updatedText);
                
                // Update summary
                var summary;
                if (relicense) {
                    summary = 'Eligible for [[:w:en:Wikipedia:Image license migration|GFDL relicense]]. Uploaded before August 2009.';
                } else if (noteligible) {
                    summary = 'Not eligible for [[:w:en:Wikipedia:Image license migration|GFDL relicense]]. Uploaded after August 2009. Uploader please consider adding {{Cc-by-sa-4.0}}.';
                } else if (redundant) {
                    summary = 'File is considered redundant for [[:w:en:Wikipedia:Image license migration|GFDL relicense]].';
                }
                
                if (summary) {
                    $('#wpSummary').val(summary);
                }
            }
        }
    }

    addButtons();
    applyChangesOnEditPage();
});
OSZAR »