Turning on $wgUploadMaintenance will disable deletion and undeletion of images; useful when performing maintenance on file servers to ensure that nobody's messing with your data while you work.
Note that $wgEnableUploads really should be disabled too or it'll be a bit silly. ;)
Could use localization and other polishing.
* Refactored to remove massive duplication
* Removed page parameter and associated contextPage member variable, doesn't seem to do anything.
* Put ID lists into a single ids parameter and member variable instead of having one for each type.
* Fixed inappropriate call of Title::newFromUrl(), always wrong
* Don't pretend to use the return value from functions that don't return anything, this reduces readability.
* Use the table names for deleteKey/typeName values, they look more like English
* Use protected not private
* Remove requirement for log type to be specified in the target
* Use POST for RevisionDelete entry forms, to avoid URL size limits and issues with non-PATH_INFO URLs
* Don't purge all pages that use the given file
* LocalFile::purgeCache() already calls purgeHistory,() no need to do it again. But do call purgeDescription().
* Removed token from unhide=1 links, unnecessary
* Tokens are necessary on file streaming links, added them
* Fixed private data leakage due to incorrect use of LocalRepo::newFromArchiveName(). Non-existent placeholder file was returned which meant that $oimage->userCan(File::DELETED_FILE) was always true. Pass the archive name to tryShowFile() instead of the storage key.
* Using ls_field='oi_timestamp' is not correct, oi_timestamp refers to the timestamp of the revision in question, whereas the key that is stored is the timestamp of the previous revision (i.e. the timestamp in oi_archive_name). oi_archive_name would be more correct, although only half the field is used.
Elsewhere:
* Added missing message filehist-missing
* Fixed double asterisk in Status::getWikiText()
* Fixed escaping of the target parameter to Special:RevisionDelete from ImagePage
* Deleted FileStore.php. Deprecated in filerepo refactor except for get()/export() but somehow resurrected by RevisionDelete. Hopefully this will be the end of it. New interfaces will be added for wfStreamFile() in a later commit.
* Added convenience function File::getStorageKey(), factored out of Special:Undelete
* Added convenience function Revision::newFromArchiveRow(), factored out of Special:Undelete and Special:RevisionDelete
* Fixed notice in Special:Upload, uninitialised $pageText
FIXME: current revision can be suppressed on undeletion causing an unauthenticated unsuppress. Comments indicate this is a known issue. I fixed the parser cache pollution in this case but not the rest.
* Only show upload links on file description if $wgEnableUploads = true and user *can* upload
* Don't say "You need to log in to upload", because it's possible that uploading is disabled for registered users as well and e.g. only sysops can upload (same for moving pages)
* And a small tweak: less code in SkinTemplate.php with same result
* This doesn't work like it should. We seem to be returning metadata about the target (ie: it does in fact exist), but at some point it all goes null. Making a note in ImagePage
* Reverting RELEASE-NOTES until this is right.
* Remove the link to Special:FileDuplicateSearch from the "file history" section
of image description pages as the list of duplicated files is shown in the
next section anyway.
* Add the link to Special:FileDuplicateSearch to the message 'duplicatesoffile'
* Hide image/toc on diff view. Previously, img cluttered the top of the diff and you had to scroll down. Also, we have thumbnails for the history (and current) anyway.
Calling it with no extra arguments will now assume that you're escaping
a whole id, not an id fragment, which is safer. Also, instead of ugly
bitfield-based options, I've changed the options to use an array of
strings. I fixed all callers in trunk. Out-of-tree callers that were
using Sanitizer::NONE will get correct behavior, while those that were
calling it with no arguments will get slightly changed behavior (an x
will be prepended). I think this is harmless enough that we can skip
back-compat cruft here.
This should cause no visible changes. No parser test regressions.
This is a global search and replace of NS_IMAGE and NS_IMAGE_TALK with NS_FILE and NS_FILE_TALK respectively in all core files, excluding those already updated in step 1 (r44004).
Ths existing link to Whatlinkshere at the end of the list is easily be overseen if not scrolled to the bottom.
Fixes the (cosmetic) bug that the list shows 101 entries instead of 100.
Question: Should we make the hardcoded limit of 100 configurable via DefaultSettings?
* Moved the FlaggedRevs class to its own file
* Removed $wgFlaggedArticle, store an instance inside the Article object instead. Also store a reference in the Title object, since some hooks only have a Title available.
* Modified all hooks which were previously calling $wgFlaggedArticle directly to go via an instance loader function.
* Merged hook functions for ArticleViewHeader and DiffViewHeader
* Changed the way FlaggedRevs sets the right image version in ImagePage, to avoid a function call on startup
* Some coding style changes, such as consistent variable case, consistent indenting style, meaningful variable names, etc.
* Fixed typo in updateAutoPromote.php
* Removed the $wgFlaggedRevsVisible feature, this doesn't seem to be in keeping with our mission so I couldn't see the point in spending a lot of time fixing its bugs. Revert if necessary.
* Use Xml::encodeJsVar() to transfer data from PHP to JS, don't DIY
* Use OutputPage::addHeadItem() instead of an infinite-lifetime variable to ensure that only one copy of the header item is added. OutputPage objects may come and go.
Image deletion was popping up the special image deletion form for the target image, which isn't friendly for redirects. :)
Now checking for redirect state as well as non-localness and non-existence, and pop up the regular page delete form for this.
Doxygen documentation update:
* Changed alls @addtogroup to @ingroup. @addtogroup adds the comment to the group description, but doesn't add the file, class, function, ... to the group like @ingroup does. See for example http://svn.wikimedia.org/doc/group__SpecialPage.html where it's impossible to see related files, classes, ... that should belong to that group.
* Added @file to file description, it seems that it should be explicitely decalred for file descriptions, otherwise doxygen will think that the comment document the first class, variabled, function, ... that is in that file.
* Removed some empty comments
* Removed some ?>
Added following groups:
* ExternalStorage
* JobQueue
* MaintenanceLanguage
One more thing: there are still a lot of warnings when generating the doc.
* linkstoimage
* nolinkstoimage
* redirectstofile
Two of these were previously raw-HTML paragraphs, and had div classes stuck on them on eg English Wikipedia.
r34507 changed them into plaintext, breaking them.
Since image pages are already swathed with little wiki bits (meta table, other various bits), shouldn't be any harm in making these properly flexible wiki messages.
I don't like the UI chhanges here; the file usage links simply disappear from their current location with no warning or explanation, while the in-page TOC at the top suddenly starts linking to a different page, totally unexpectedly.