Qeyd: Dəyişiklikləri yayımladıqdan sonra etdiyiniz dəyişikliklərin görünməsi üçün brauzerinizin keşinin təmizlənməsi lazım ola bilər.
- Firefox / Safari: Reload düyməsinə basılı tutarkən Shift düyməsinə basın, və ya Ctrl+F5 və ya Ctrl+R (Mac üçün ⌘-R )
- Google Chrome: Ctrl-Shift-R (Mac üçün ⌘-Shift-R)
- Edge: Ctrl düyməsini basılı tutarkən Refresh düyməsinə basın, və ya sadəcə Ctrl+F5.
$(document.getElementsByClassName("fileInfo")).ready(function() {
// Filenamespace only
if (mw.config.get("wgNamespaceNumber") !== 6) return;
// Get file information: height and width
var fileInfo = document.getElementsByClassName("fileInfo")[0];
if(!fileInfo) return;
var height_width = fileInfo.innerHTML.match(/([\d,]+) × ([\d,]+)/);
// With the height and width, calculate the total pixel count
var width = parseInt(height_width[1].replace(/,/g,''));
var height = parseInt(height_width[2].replace(/,/g,''));
var total_pixels = height*width;
// Maximum pixel count per IMAGERES
var max_pixels = 100000;
// Calculate the new width, height, dimensions and total pixel count with the
// formula from IMAGERES, and confirm the new total pixel count is within range
var new_width = Math.floor(Math.sqrt(max_pixels*width/height));
var new_height = Math.round(height*new_width/width);
var new_total_pixels = new_width*new_height;
while (new_total_pixels > max_pixels) {
new_width--;
new_height = Math.round(height*new_width/width);
new_total_pixels = new_width*new_height;
}
var new_dimensions = new_width+" × "+new_height;
// Colour coding the results; green = good, red = bad
var colour_start = "";
var colour_end = "";
if (total_pixels > max_pixels) {
colour_start = "<span style='color:red'><b>";
colour_end = "</b></span>";
} else {
colour_start = "<span style='color:green'>";
colour_end = "</span>";
}
// Add the total pixel count after the initial dimensions
fileInfo.innerHTML = fileInfo.innerHTML.replace("piksel,",
"piksel, cəmi "+colour_start+number_format(total_pixels)+colour_end+" piksel, ");
// If the image exceeds 0.1MP, then report the error
if (total_pixels > max_pixels) {
// Create a image link with the maximum reduced size
var image_link = document.getElementsByClassName('internal')[0].href;
var new_image_link = image_link.replace("/az/", "/az/thumb/")+"/"+new_width+"px-"+image_link.substr(image_link.lastIndexOf("/")+1);
var reuploadReason = "[[VP:ÖLÇÜ]] qaydasına əsasən [[İstifadəçi:Gadir/script-imageres|skript]] ilə şəklin ölçüsü 0.1MB-dan aşağı salınır.";
var replaceLink = document.getElementById('mw-imagepage-reupload-link');
if ( !replaceLink || !replaceLink.children) return;
var reuploadLink = replaceLink.children[0];
var reuploadLinkNew = reuploadLink.href+"&wpUploadDescription="+reuploadReason;
// Add the maximum size of the image that's less than 0.1MP, the total pixel count, the new image link, and the reupload link summary
fileInfo.innerHTML = fileInfo.innerHTML+"<br>(maksimal ölçü: "+colour_start+new_dimensions+colour_end+
" piksel, cəmi "+number_format(new_total_pixels)+" piksel, <a href='"+new_image_link+"'>ölçüsü düzəldilmiş fayl</a>, <a href='"+reuploadLinkNew+"'>faylı düzgün ölçülərlə yenidən yükləyin</a>)";
}
// Add commas to values over 1,000
function number_format(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
});