משתמש:כוכב נופל/22.js: הבדלים בין גרסאות בדף

מתוך ויקימסע
תוכן שנמחק תוכן שנוסף
יצירת דף עם התוכן "var defualtPrefixArchive = 'ארכיון '; // load the talk page in edit mode function archiveUserPageStage1() { var archivename = document.getElementById('ar..."
 
(אין הבדלים)

גרסה אחרונה מ־16:00, 23 באוגוסט 2019

var defualtPrefixArchive = 'ארכיון ';

// load the talk page in edit mode
function archiveUserPageStage1() {
 var archivename = document.getElementById('archivename').value;
 var numberoftalks = document.getElementById('numberoftalks').value;

 if (!archivename || archivename === '') {
   alert("יש למלא את שם הארכיון.");
   return;
 }
 
 if (!numberoftalks || numberoftalks === '') numberoftalks = 'all';

 document.location = '//he.wikipedia.org/w/index.php?title=User Talk:' + encodeURIComponent(mw.config.get('wgUserName')) + '&action=edit&archivestage=2&archivename=' + encodeURIComponent(archivename) + '&numberoftalks=' + numberoftalks;
}

// remove the text that needs to be archived and send it to new window.
function archiveUserPageStage2() {
 if (mw.util.getParamValue('archivestage') != '2') return;

 var numberoftalks = mw.util.getParamValue('numberoftalks');
 var tempText = $('#wpTextbox1').val();

 var rx = new RegExp('[^=]==[^=]*==[^=]', 'g');
 var m;

 // find the first section
 m = rx.exec(tempText);
 var firstSectionIndex = m.index;

 // find the last section to archive
 var lastSectionIndex;
 if (numberoftalks == 'all')
  lastSectionIndex = tempText.length - 1;
 else {
  var numberOfSections = 0;
  while (numberOfSections < numberoftalks) {
   m = rx.exec(tempText);
   if (m) {
     numberOfSections++;
     lastSectionIndex = m.index;
   } else {
     lastSectionIndex = tempText.length - 1;
     break;
   }
  }
 }
 
 // get archiveText, load archive and save this page
 var archiveText = tempText.substring(firstSectionIndex, lastSectionIndex);


var saveParameters = {action: 'edit', title: 'User Talk:'+mw.config.get('wgUserName')+'/'+defualtPrefixArchive + mw.util.getParamValue('archivename'), summary: 'ארכוב אוטומטי', token: mw.user.tokens.get('editToken'), appendtext: '\n'+archiveText, format: 'json'};
 
	     $.post(mw.util.wikiScript('api'), saveParameters).done( function (data) {
	        	if (data && data.error) 
	             		alert('שגיאה בשמירה: ' + data.error.info);
	        	else if (data && data.edit && data.edit.result == 'Success')
		        	{
 $('#wpTextbox1').val($('#wpTextbox1').val().replace(archiveText, ""));
 $('#wpSummary').val('ארכוב אוטומטי');
 $('#wpSave').click();
}
	});
}

function navArchiveToggle() {
 var divBody = document.getElementById('p-archiveBody1');
 
 if (divBody.style.display == 'none') // show content
   divBody.style.display = 'block';
 else { // hide content
   divBody.style.display = 'none';
 }
}

function initArchiveUserPage() {
 if (mw.config.get('wgNamespaceNumber') != 3 || mw.config.get('wgUserName') != mw.config.get('wgTitle')) return;
 
 var navArchiveMain = document.createElement('DIV');
 navArchiveMain.className = 'portlet';
 var h5ArchiveTitle = document.createElement('H5');
 var aLink = document.createElement('A');
 aLink.appendChild(document.createTextNode('ארכוב'));
 aLink.href = 'javascript:navArchiveToggle();';
 h5ArchiveTitle.appendChild(aLink);
 navArchiveMain.appendChild(h5ArchiveTitle);
 var divArchiveBody;
 try { // for IE
    divArchiveBody = document.createElement('<DIV ID="p-archiveBody1"></DIV>');
 } catch (e) { // for FF
    divArchiveBody = document.createElement('DIV');
    divArchiveBody.id = 'p-archiveBody1';
 }
 divArchiveBody.className = 'pBody';
 divArchiveBody.style.padding = '5px';
 divArchiveBody.innerHTML = 'שם הארכיון:<br /><input id="archivename" type="text" size="15" /><br />מספר השיחות לארכוב:<br /><input id="numberoftalks" type="text" size="15" /><br /><a href="javascript:archiveUserPageStage1()" title="ארכב עכשיו">ארכב עכשיו</a>';

 navArchiveMain.appendChild(divArchiveBody);
 var pToolBox = document.getElementById('p-tb');
 pToolBox.parentNode.appendChild(navArchiveMain);
 navArchiveToggle();
}

$(initArchiveUserPage);
$(archiveUserPageStage2);
// עד כאן סקריפט 22