Difference between revisions of "MediaWiki:ImageAnnotatorConfig.js"
From Birocapedia
Jump to navigationJump to searchLine 134: | Line 134: | ||
// Determine whether an image is locally stored or comes from a central repository. For wikis | // Determine whether an image is locally stored or comes from a central repository. For wikis | ||
// using the Commons as their central repository, this should not need changing. | // using the Commons as their central repository, this should not need changing. | ||
+ | // return wgServer.indexOf ('/commons') < 0 && img_url.indexOf ('/commons') >= 0; | ||
imageIsFromSharedRepository : function (img_url) | imageIsFromSharedRepository : function (img_url) | ||
{ | { | ||
− | return | + | return false; |
}, | }, | ||
Latest revision as of 14:51, 20 December 2009
// <source lang="javascript"> /* Site-wide configurations and start of the ImageAnnotator gagdet. Split into a separate file for three reasons: 1. It separates the configuration from the core code, while still 2. making it impossible for someone else (e.g. a malicious user) to override these defaults, and 3. makes configuration changes available quickly: clients cache this file for four hours. Author: [[User:Lupo]], September 2009 License: Quadruple licensed GFDL, GPL, LGPL and Creative Commons Attribution 3.0 (CC-BY-3.0) Choose whichever license of these you like best :-) See http://commons.wikimedia.org/wiki/Help:Gadget-ImageAnnotator for documentation. */ (function () { // Global settings. Edit these to configure ImageAnnotator for your Wiki. Note: these configurations // are here to prevent them to be overwritten by a user in his or her user scripts. BE EXTRA CAREFUL // IF YOU CHANGE THESE SETTINGS WHEN IMAGEANNOTATOR IS ALREADY DEPLOYED! Syntax or other errors here // may break ImageAnnotator for everyone! var config = { // By default, ImageAnnotator is enabled in all namespaces (except "Special", -1) for everyone, // except on the project's main page. // Here, you can define a list of namespaces where it is additionally disabled. viewingEnabled : function () { return (wgNamespaceNumber != 14) }, // For instance, to disable ImageAnnotator on all talk pages, replace the function body above by // return (wgNamespaceNumber & 1) == 0; // Or, to disable it in the category namespace and on article talk pages, you could use // return (wgNamespaceNumber != 14) && (wgNamespaceNumber != 1); // To enable viewing only on file description pages and on pages in the project namespace: // return (wgNamespaceNumber == 6) || (wgNamespaceNumber == 4); // To enable viewing only for logged-in users, use // return wgUserGroups !== null; // To switch off viewing of notes on the project's main page, use // return wgPageName != wgMainPageTitle.replace (/ /g, '_'); // By default, editing is enabled for anyone on the file description page or the page that contains // the substitution of template ImageWithNotes. Here, you can restrict editing even more, for // instance by allowing only autoconfirmed users to edit notes through ImageAnnotator. Note that // editing is only allowed if viewing is also allowed. editingEnabled : function () { return true; }, // To allow only autoconfirmed users to edit, use // return wgUserGroups && // (' ' + wgUserGroups.join (' ') + ' ').indexOf (' autoconfirmed ') >= 0; // The following example restricts editing on file description pages to autoconfirmed users, // and otherwise allows edits only on subpages in the project namespace (for instance, featured // image nominations...), but allows editing there for anyone. // return ( ( wgNamespaceNumber == 6 // && wgUserGroups // && (' ' + wgUserGroups.join (' ') + ' ').indexOf (' autoconfirmed ') >= 0 // ) // || (wgNamespaceNumber == 4 && wgPageName.indexOf ('/') > 0) // ); // Note that wgUserGroups is null for IPs. // If viewing is enabled at all, you can specify here whether viewing notes on thumbnails (e.g., // in articles) is switched on. Logged-in users can augment this by disabling viewing notes on // thumbnails on a per-namespace basis using the global variable ImageAnnotator_no_thumbs. thumbsEnabled : function () { return true; }, // For instance, to switch off viewing of notes on thumbnails for IPs in article space, you'd use // return !(namespaceNumber == 0 && wgUserGroups === null); // If viewing is enabled at all, you can define whether viewing notes on non-thumbnail images is // switched on. Logged-in users can augment this by disabling viewing notes on non-thumbnails // on a per-namespace basis using the global variable ImageAnnotator_no_images. generalImagesEnabled : function () { return wgNamespaceNumber != 14; // Not on category pages }, // If thumbs or general images are enabled, you can define whether this shall apply only to local // images (return false) or also to images that reside at the shared repository (the Commons). In // the 'File:' namespace, displaying notes on shared images is always enabled. (Provided viewing // notes is enabled at all there. If you've disabled viewing notes in all namespaces including // the 'File:' namespace for non-logged-in users, they won't see notes on images from the Commons // either, even if you enable it here.) sharedImagesEnabled : function () { return true; }, // If thumbs or general images are enabled, you can define here whether you want to allow the // script to display the notes or just a little indicator (an icon in the upper left--or right // on rtl wikis--corner of the image). The parameters given are // name string // the name of the image, starting with "File:" // is_local boolean // true if the image is local, false if it is from the shared repository // thumb object {width: integer, height: integer} // Size of the displayed image in the article, in pixels // full_img object {width: integer, height: integer} // Size of the full image as uploaded, in pixels // nof_notes integer // Number of notes on the image // is_thumbnail boolean // true if the image is a thumbnail, false otherwise inlineImageUsesIndicator : function (name, is_local, thumb, full_img, nof_notes, is_thumbnail) { // Of course you could also use wgNamespace or any other of the wg-globals here. return (is_thumbnail && !is_local) || (( thumb.width < 250 && thumb.height < 250 && (thumb.width < full_img.width || thumb.height < full_img.height) ) ? nof_notes > 10 : false ); // This default displays only an indicator icon for non-local thumbnails, // and for small images that are scaled down, but have many notes }, // Different wikis may have different image setups. For the Wikimedia projects, the image // servers are set up to generate missing thumbnails on the fly, so we can just construct // a valid thumbnail url to get a thumbnail, even if there isn't one of that size yet. // Return true if your wiki has a similar setup. Otherwise, return false. thumbnailsGeneratedAutomatically : function () { return true; }, // Determine whether an image is locally stored or comes from a central repository. For wikis // using the Commons as their central repository, this should not need changing. // return wgServer.indexOf ('/commons') < 0 && img_url.indexOf ('/commons') >= 0; imageIsFromSharedRepository : function (img_url) { return false; }, // Return the URL of the API at the shared file repository. Again, for wikis using the Commons // as their central repository, this should not need changing. If your wiki is accessible through // https, it's a good idea to also make the shared repository accessible through https and return // that secure URL here to avoid warnings about accessing a non-secure site from a secure site. sharedRepositoryAPI : function () { return (wgServer.indexOf ('https://') == 0 ? 'https://secure.wikimedia.org/wikipedia/commons/w/api.php' : 'http://commons.wikimedia.org/w/api.php' ); }, // Default coloring. Each note's rectangle has an outer and an inner border. outer_border : '#666666', // Gray inner_border : 'yellow', active_border : '#FFA500', // Orange, for highlighting the rectangle of the active note new_border : 'red', // For drawing rectangles UI : { defaultLanguage : wgContentLanguage, // Don't change this! // Translate the texts below into the wgContentLanguage of your wiki. These are used as // fallbacks if the localized UI cannot be loaded from the server. defaults: { wpImageAnnotatorDelete : 'Delete' ,wpImageAnnotatorEdit : 'Edit' ,wpImageAnnotatorSave : 'Save' ,wpImageAnnotatorCancel : 'Cancel' ,wpImageAnnotatorPreview : 'Preview' ,wpImageAnnotatorRevert : 'Revert' ,wpTranslate : 'translate' ,wpImageAnnotatorAddButtonText : 'Add a note' ,wpImageAnnotatorAddSummary : '[[MediaWiki talk:Gadget-ImageAnnotator.js|Adding image note]]$1' ,wpImageAnnotatorChangeSummary : '[[MediaWiki talk:Gadget-ImageAnnotator.js|Changing image note]]$1' ,wpImageAnnotatorRemoveSummary : '[[MediaWiki talk:Gadget-ImageAnnotator.js|Removing image note]]$1' ,wpImageAnnotatorHasNotesShort : 'This file has annotations.' ,wpImageAnnotatorHasNotesMsg : 'This file has annotations. Move the mouse pointer over the image to see them.' ,wpImageAnnotatorEditNotesMsg : '<span>\xa0To edit the notes, visit page <a href="#">x</a>.</span>' ,wpImageAnnotatorDrawRectMsg : 'Draw a rectangle onto the image above (mouse click, then drag and release)' ,wpImageAnnotatorEditorLabel : '<span>Text of the note (may include ' + '<a href="http://meta.wikimedia.org/wiki/Help:Reference_card">Wiki markup</a>)</span>' ,wpImageAnnotatorSaveError : '<span><span style="color:red;">' + 'Could not save your note (edit conflict or other problem).' + '</span> ' + 'Please copy the text in the edit box below and insert it manually by ' + '<a href="' + wgArticlePath.replace ('$1', encodeURI (wgPageName)) + '?action=edit">editing this page</a>.</span>' ,wpImageAnnotatorCopyright : '<small>The note will be published multi-licensed as ' + '<a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA-3.0</a> and ' + '<a href="http://www.gnu.org/copyleft/fdl.html">GFDL</a>, versions 1.2 and 1.3. ' + 'Please read our <a href="http://wikimediafoundation.org/wiki/Terms_of_Use">terms ' + 'of use</a> for more details.</small>' ,wpImageAnnotatorDeleteReason : 'Why do you want to remove this note?' ,wpImageAnnotatorDeleteConfirm : 'Do you really want to delete this note?' ,wpImageAnnotatorHelp : '<span><a href="http://commons.wikimedia.org/wiki/Help:Gadget-ImageAnnotator" ' + 'title="Help">Help</a></span>' // The following image should be a GIF or an 8bit indexed PNG with transparent background, // to make sure that even IE6 displays the transparency correctly. A normal 32bit PNG might // display a transparent background as white on IE6. ,wpImageAnnotatorIndicatorIcon : '<span>' + '<img src="http://upload.wikimedia.org/wikipedia/commons/8/8a/Gtk-dialog-info-14px.png" ' + 'width="14" height="14" title="This file has annotations" />' + '</span>' ,wpImageAnnotatorCannotEditMsg : '<span>To modify annotations, your browser needs to have the ' + '<a href="http://en.wikipedia.org/wiki/XMLHttpRequest">XMLHttpRequest</a> ' + 'object. Your browser does not have this object or does not allow it to be used ' + '(in Internet Explorer, it may be in a switched off ActiveX component), and ' + 'thus you cannot modify annotations. We\'re sorry for the inconvenience.</span>' } } }; // End site-wide config. // DO NOT CHANGE ANYTHING BELOW THIS LINE // Start of ImageAnnotator if ( wgNamespaceNumber >= 0 && config.viewingEnabled () && wgAction && (wgAction == 'view' || wgAction == 'purge') && document.URL.search (/[?&]diff=/) < 0 ) { addOnloadHook (function () {ImageAnnotator.install (config);}); } })();