משתמש:שלמה/הפניות.js

מתוך ויקי נטפרי
קפיצה לניווט קפיצה לחיפוש

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר: להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: לפתוח תפריט ← הגדרות (במחשב מק: Opera ← העדפות) ואז ללחוץ על פרטיות ואבטחה ← מחק היסטוריית גלישה ← Cached images and files.
$(function () {

	  if (mw.config.get("wgPageName") == "מיוחד:הפניות_כפולות") {
		var num = prompt("? כמה הפניות כפולות להציג", 0);
		var url = "/api.php";
		var params = {
		  action: "query",
		  list: "querypage",
		  qppage: "DoubleRedirects",
		  qplimit: num,
		  format: "json"
		};
		$.getJSON(url, params, function (response) {
		  let querypage = response.query.querypage.results;
		  alert("בסיום ריצת הסקריפט שים לב לתיקון ההפניות לפסקה ספציפית");
		  for (var p in querypage) {
			let r = querypage[p].title.replace(/_/g, " ");
			let a = querypage[p]["databaseResult"]["b_title"].replace(/_/g, " ");
			let b = querypage[p]["databaseResult"]["c_title"].replace(/_/g, " ");
			console.log("ההפניה מ " + r + " ל " + a + " ל " + b);
			var txt;
			var numSpace = querypage[p]["databaseResult"]["c_namespace"];
			switch (numSpace) {
				case '4':
					txt = "המכלול:" + b
					break;
				case '6':
					txt = "קובץ:" + b
					break;
				case '10':
					txt = "תבנית:" + b
					break;
				case '12':
					txt = "עזרה:" + b
					break;
				default:
					txt = b
					break;
			}
			if (r == b) {
			  alert("הפניה מעגלית");
			} else {
			  var api = new mw.Api();
			  api
				.postWithToken("csrf", {
				  action: "edit",
				  format: "json",
				  title: r,
				  text: "#הפניה[[" + txt + "]]"
				})
				.done(function (data, status) {
				  mw.notify("\nstatus:" + r + " succes");
				})
				.catch(function (error) {
				  console.log(error);
				});
			}
		  }
		});
      }
  });