מדיה ויקי:Licenses.js

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

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
// התאמה אישית של רשימת הרישיונות בדף העלאת קובץ
mw.loader.using(['mediawiki.util']).done( function () {
var uploadInformationTemplateExists = false;
function showLicenseAlert ( licenseAlert )
{
    var licenseAlertField = $("#uploadAlertData");

    switch ( licenseAlert )
    {
        case "שימוש הוגן":
            licenseAlertField.html('<b>תזכורת</b>: בשדה התיאור יש להחליף את הכיתוב "שם-הערך-בו-מותר-השימוש" בשם הערך שבגינו העלאתם את התמונה.');
            break;
        case "ויקישיתוף":
            licenseAlertField.html('<b>תזכורת</b>: תמונות חופשיות מומלץ להעלות לוויקישיתוף (למעט תמונות שנועדו לשימוש אישי בדף משתמש). אם לא תעשו כן, ייתכן שהתמונה תועלה לשם על ידי משתמש אחר בעתיד.');
            break;
        case "שימוש הוגן ומקור":
            licenseAlertField.html('<b>תזכורת</b>: בשדה התיאור יש להחליף את הכיתוב "שם-הערך-בו-מותר-השימוש" בשם הערך שבגינו העלאתם את התמונה, ואת הכיתוב "מקור-התמונה" באתר האינטרנט ממנה נלקחה התמונה.');
            break;
        default:
            return;
    }

    $("#uploadAlert").css("display", "block");
}

function showLicenseInfo ( licenseName )
{
    var licenseViewOriginal = $("#wpUploadDescription");
    licenseViewOriginal.focus();

    var licenseView = "{" + "{";
    switch ( licenseName )
    {
        case "אין":
            licenseView += 'ס:תמונה חשודה|אין לי מידע בקשר למצב זכויות היוצרים ולרישיון הקובץ}}';
            break;
        case "infobox":
            if ( !licenseViewOriginal.val() && !mw.util.getParamValue("wpForReUpload") )
            {
                licenseViewOriginal.val( '== תקציר ==\n{' + '{מידע\n|תיאור=\n|מקור=\n|תאריך יצירה=\n|יוצר=\n|אישורים והיתרים=\n|גרסאות אחרות=\n}}');
                uploadInformationTemplateExists = true;
            }
            licenseViewOriginal.prop('rows', 20);
            return;
//---
        case "שימוש הוגן":
            licenseView += 'שימוש הוגן|מקור=מקור-התמונה|ערך=שם-הערך-בו-מותר-השימוש}}';
            showLicenseAlert ("שימוש הוגן ומקור");
            break;
        case "לוגו":
            licenseView += 'לוגו|שם-הערך-בו-מותר-השימוש}}';
            showLicenseAlert ("שימוש הוגן");
            break;
        case "עטיפת ספר":
            licenseView += 'עטיפת ספר|שם-הערך-בו-מותר-השימוש}}';
            showLicenseAlert ("שימוש הוגן");
            break;
        case "עטיפת אלבום":
            licenseView += 'עטיפת אלבום|שם-הערך-בו-מותר-השימוש}}';
            showLicenseAlert ("שימוש הוגן");
            break;
        case "כרזת סרט, וידאו או תקליטור":
            licenseView += 'כרזת סרט|שם-הערך-בו-מותר-השימוש}}';
            showLicenseAlert ("שימוש הוגן");
            break;
        case "צילום מסך של אתר אינטרנט או תוכנה":
            licenseView += 'צילום מסך|שם-הערך-בו-מותר-השימוש}}';
            showLicenseAlert ("שימוש הוגן");
            break;
//---
        case "רשות ציבור":
            licenseView += 'שימוש חופשי|' + mw.config.get('wgUserName') + '}}';
            showLicenseAlert ("ויקישיתוף");
            break;
        case "self CC":
            licenseView += 'Cc-by-sa-3.0|יוצר=' + mw.config.get('wgUserName') + '}}';
            showLicenseAlert("ויקישיתוף");
            break;
        case "PD-old":
            licenseView += 'PD-old}}';
            showLicenseAlert("ויקישיתוף");
            break;
        case "תמונה פדרלית":
            licenseView += 'תמונה פדרלית}}';
            showLicenseAlert("ויקישיתוף");
            break;
        case "CC":
            licenseView += 'Cc-by-sa-3.0|יוצר=שם-בעל-זכויות-היוצרים}}';
            showLicenseAlert("ויקישיתוף");
            break;
        case "צילום מסך ויקימדיה":
            licenseView += 'צילום מסך ויקימדיה}}';
            showLicenseAlert("ויקישיתוף");
            break;
        default:
            return;
    }

    if ( /\|אישורים והיתרים=/.test(licenseViewOriginal.val()) )
        licenseViewOriginal.val( licenseViewOriginal.val().replace ( /(\|אישורים והיתרים=)/, "$1" + licenseView ) );
     else licenseViewOriginal.val( licenseViewOriginal.val() + "\n== רישיון ==\n" + licenseView);
}

function isFairuse(){
	return $.inArray('fairuse',mw.config.get('wgPageName').split('/'))>-1;
}
function licenseListViewer()
{
    var licenseListOriginal = $("#wpLicense");
    if ( !licenseListOriginal.length ) return;
    var selector = licenseListOriginal.get(0);
    selector.onchange = function()
    {
        showLicenseInfo ( $( this ).find(':selected').prop('title') );
	$( this ).prop('selectedIndex',0);
    };
    $('#wpLicense option').remove();  // remove old options


    licenseListOriginal.append( $("<option></option>") )
                       .append( $("<option>אין לי מידע בקשר לרישיון</option>", {value: "אין" }) );

    if ( isFairuse() )                       // fair use upload page
    {
        licenseListOriginal.append( $("<option>------- שימוש הוגן -------</option>", { disabled: 'disabled' }).css('color', 'red') );
	var fairUseLicenes = ['שימוש הוגן', 'לוגו', 'עטיפת ספר', 'עטיפת אלבום', 'כרזת סרט, וידאו או תקליטור', 'צילום מסך של אתר אינטרנט או תוכנה'];
	$.each( fairUseLicenes, function(i, license){
		licenseListOriginal.append( $('<option>'+license+'</option>').prop('title', license));
	});
    }
    else
    {                                                 // normal upload page
        licenseListOriginal.append( $('<optgroup label="אני יצרתי/איירתי/צילמתי"></optgroup>' )
			   				.append( $("<option>ואני מוותר על כל הזכויות.</option>").prop('title', 'רשות ציבור').val('שימוש חופשי') )
                           	.append( $("<option>ואני דורש ייחוס ליוצר (קרדיט), היצירה משוחררת תחת רשיון קריאטיב קומונס.</option>").prop('title', 'self CC').val('Cc-by-sa-3.0') ))
                           .append( $('<optgroup label="לא אני יצרתי אבל בעלי הזכויות"></optgroup>')
                           .append( $("<option>שחררו את היצירה לחופשי מכיוון שחלפו יותר מ-71 שנה ממות היוצר.</option>").prop('title', 'PD-old').val( 'PD-old' ) )
                           .append( $("<option>שחררו את היצירה לחופשי מכיוון שהיוצר הוא הממשל האמריקאי.</option>").prop('title', 'תמונה פדרלית' ).val('תמונה פדרלית') )
                           .append( $("<option>שחררו את היצירה תחת קריאטיב קומונס.</option>").prop('title', 'CC' ).val('Cc-by-sa-3.0') )
                           .append( $("<option>הם קרן ויקימדיה, והתוכן המתפרסם באתרי הקרן הוא חופשי.</option>").prop('title', 'צילום מסך ויקימדיה' ).val('צילום מסך ויקימדיה') ));
    }

    showLicenseInfo ("infobox");                           //add the מידע template to description box
}


function checkUploadInformationTemplate()
{
 var wpIgnoreWarning = document.getElementById("wpIgnoreWarning");
 if (wpIgnoreWarning && wpIgnoreWarning.checked) return true;
    $("[name=wpUpload]").click( function ()
	{
	    var UploadTextBox = $("#wpUploadDescription");

	    if ( uploadInformationTemplateExists && !/\{\{מידע\|תיאור=.*\|מקור=..+\|תאריךיצירה=.*\|יוצר=..+\|אישוריםוהיתרים=.*\|.+}}|\{\{כרזתסרט|\{\{עטיפתספר|\{\{עטיפתאלבום|\{\{צילוםמסך|\{\{לוגו/.test(UploadTextBox.val().replace(/[ \r\n]/g,"").replace(/\|+/g,"|")) )
	    {
		alert ('המידע שסיפקתם על רשיון הקובץ אינו תקין.\nשימו לב שחסרים פרטי חובה נדרשים בתבנית המידע.');
		return false;
	    }

	    if ( ( isFairuse() && !/\{\{.+}}/.test(UploadTextBox.val().replace(/[ \r\n]/g,"")) ) ||
		 ( uploadInformationTemplateExists && !/\{\{מידע\|תיאור=.*\|מקור=.*\|תאריךיצירה=.*\|יוצר=.*\|אישוריםוהיתרים=.*\{\{.+}}.*\|.+}}/
		 .test(UploadTextBox.val().replace(/[ \r\n]/g,"").replace(/\|+/g,"|")) ) )
	    {
		alert ('המידע שסיפקתם על רשיון הקובץ אינו תקין.\nשימו לב שחובה לבחור את הרישיון המתאים מרשימת הרישיונות.');
		return false;
	    }

	    if ( UploadTextBox.val().indexOf("שם-בעל-זכויות-היוצרים") != -1 )
	    {
		alert ("המידע שסיפקתם אינו מלא. חובה לספק את שם בעל זכויות היוצרים.");
		return false;
	    }

	    if ( UploadTextBox.val().indexOf("שם-הערך-בו-מותר-השימוש") != -1 )
	    {
		alert ("המידע שסיפקתם אינו מלא. חובה לספק את שם הערך בו הקובץ מותר בשימוש.");
		return false;
	    }

	    return true;
	});
}


if ( mw.config.get( 'wgCanonicalSpecialPageName' ) == "Upload" )
{
	//disable preview
	mw.config.set('wgAjaxLicensePreview',false);
	$(function(){
     licenseListViewer();
     checkUploadInformationTemplate();
	});
}

});