משתמש:1Or/WikidataCV

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

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
(function(){
function GetProVal(Pro, Par, callback){
$.ajax({
	url: '//www.wikidata.org/w/api.php',
	data: {
	'format': 'json',
	'action': 'wbgetclaims',
	'entity': mw.config.get('wgWikibaseItemId'),
	'property': Pro
	},
	dataType: 'jsonp',
	success: function(data) {
		if (data && data.claims && data.claims.hasOwnProperty(Pro)) {
			switch (data.claims[Pro][0].mainsnak.datavalue.type) {
				case "string":
					callback(data.claims[Pro][0].mainsnak.datavalue.value, "string");
					break;
				case "time":
					if (data.claims[Pro][0].mainsnak.datavalue.value.precision == 11){
						var date = /([0-9]+) ב([א-ת]+)\]* \[*([0-9]+)/.exec(Par); // extract day, month, year
						if (date) {
							if (data.claims[Pro][0].mainsnak.datavalue.value.time == parseDate(date[3], date[2], date[1])){
								callback(parseDate(date[3], date[2], date[1]), "time");
							}else{callback("NO", "time")}
						}
					}
					break;
				case "wikibase-entityid":
			var QNum = data.claims[Pro][0].mainsnak.datavalue.value.id;
			$.ajax({
				url: '//www.wikidata.org/w/api.php',
				data: {
					"action": "wbgetentities",
					"format": "json",
					"ids": QNum,
					"props": "labels"
				},
				dataType: 'jsonp',
				success: function(dataB) {
					if (dataB && dataB.entities && dataB.entities.hasOwnProperty(QNum)) {
						if (dataB.entities[QNum].labels.he){
						callback(dataB.entities[QNum].labels.he.value, "enti");
						}else{console.log("אין תווית עברית בוויקינתונים ל " + QNum)}
					}
				}
			});
				break;
		}}
	}
});
}
function pad( x, digits ) {
	x = String( x );
	return ( x.length >= digits )? x : new Array( digits - x.length + 1 ).join( '0' ) + x;
}

function parseDate(year, month, day) {
	var localMonths = ["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"];
	month = localMonths.indexOf(month)+1;
	var yPrefix = String(year).charAt(0) === '-' ? '-' : '+';
	if ( year < 0 ) year = String(year).substr(1)
	return yPrefix + year + '-' + pad( month, 2 ) + '-' + pad( day, 2 ) + 'T' + '00:00:00Z'
}
if ($('.UsingPro').length !== 0){
$('.UsingPro').each(function(){
	var $this = this;
	GetProVal("P" + $this.innerText.match(/\$P(\d+)/)["1"], $this.innerText.match(/(.+)\$P\d+/)["1"] ,function(dataCallback, format){
		if ($this.innerText.match(/(.+)\$P\d+/)["1"] == dataCallback){
			console.log("הנתון תואם את ויקינתונים");
		}else{
			if (dataCallback.match(/00Z/)) {
				console.log("הנתון תואם את ויקינתונים");
			}else{
			console.log("הנתון אינו תואם את ויקינתונים");
		}}
	});
});
}
})();