aboutsummaryrefslogtreecommitdiffstats
path: root/includes/Skin.php
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add PLURAL support to youhavenewmessages*"jenkins-bot2013-12-071-2/+2
|\
| * Add PLURAL support to youhavenewmessages*Alex Ivanov2013-12-051-2/+2
| | | | | | | | | | | | | | | | Add PLURAL support on the number of talkpage messages received in system messages youhavenewmessagesfromusers and youhavenewmessages. Bug: 53897 Change-Id: Ic08c51f651fe4101ed0b6fcdaea4b4ae74331f70
* | Removed "Disable search suggestions" from Mediawiki Preferencetonythomas012013-12-051-3/+1
|/ | | | | | | | It's rarely used and provide more interface clutter and code complexity than any benefit it provides. Bug: 52812 Change-Id: I4b1d243b1b1a9da484147c4a682f44aa08a22803
* Change the syntax and non-one count fake values for {{PLURAL: in newmessages*Alex Ivanov2013-11-221-2/+2
| | | | | | | Change the newmessageslinkplural and newmessagesdifflinkplural syntax and non-one count fake values to 999. Bug: 42497 Change-Id: I2a4b739314e524c3e70184766bb047cf54707c63
* Don't even mention $wgTitleChad Horohoe2013-11-151-1/+1
| | | | Change-Id: Icdef53a498505945d03fb60fe53251b3bea2bee0
* Correctly update wl_notificationtimestamp when viewing old revisionsBartosz Dziewoński2013-10-271-51/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | == Prelude == wl_notificationtimestamp controls sending the user e-mail notifications about changes to pages, as well as showing the "updated since last visit" markers on history pages, recent changes and watchlist. == The bug == Previously, on every view of a page, the notification timestamp was cleared, regardless of whether the user as actually viewing the latest revision. When viewing a diff, however, the timestamp was cleared only if one of the revisions being compared was the latest one of its page. The same behavior applied to talk page message indicators (which are actually stored sepately to cater to anonymous users). This was inconsistent and surprising when one was attempting to, say, go through the 50 new posts to a discussion page in a peacemeal fashion. == The fix == If the revision being viewed is the latest (or can't be determined), the timestamp is cleared as previously, as this is necessary to reenable e-mail notifications for given user and page. If the revision isn't the latest, the timestamp is updated to revision's timestamp plus one second. This uses up to two simple (selectField) indexed queries per page view, only fired when we do not already know we're looking at the latest version. Talk page indicator is updated to point at the next revision after the one being viewed, or cleared if viewing the latest revision. The UserClearNewTalkNotification hook gained $oldid as the second argument (a backwards-compatible change). In Skin, we no longer ignore the indicator being present if we're viewing the talk page, as it might still be valid. == The bonus == Comments and formatting was updated in a few places, including tables.sql and Wiki.php. The following functions gained a second, optional $oldid parameter (holy indirection, Batman!): * WikiPage#doViewUpdates() * User#clearNotification() * WatchedItem#resetNotificationTimestamp() DifferenceEngine gained a public method mapDiffPrevNext() used to parse the ids from URL parameters like oldid=12345&diff=prev, factored out of loadRevisionIds(). A bug where the NewDifferenceEngine hook would not be called in some cases, dating back to its introduction in r45518, was fixed in the process. Bug: 41759 Change-Id: I4144ba1987b8d7a7e8b24f4f067eedac2ae44459
* Remove 'mediawiki.legacy.wikiprintable' moduleMatmaRex2013-09-161-4/+9
| | | | | | | | | | | | | | It's a relic of simpler times, no longer used by any core skin. The 'mediawiki.legacy.commonPrint' module can be used instead. (SkinTemplate-based skins do it automatically.) * The 'mediawiki.legacy.wikiprintable' module has been removed. * The skins/common/wikiprintable.css file has been deleted. * Skin#commonPrintStylesheet has been deprecated; its return value is ignored. Dependency: I96e66ff8905416bea906d40cdd72ba646399191b Change-Id: Icbcebc8f539f7786d037b717d262684e9931aca6
* doc: Remove repetitive "Give grep a chance" phrase from commentsTimo Tijhof2013-08-291-2/+1
| | | | | | | | * Follows-up b2e2b2e016. * Minor clean up of surrounding documentation comments. * Fixed missing keys for messages in WebInstallerPage Change-Id: Iaa692064262f3c0e10cfa5e4b1ec8c86e5d02362
* Give grep a chance to find the usagesshirayuki2013-08-161-0/+2
| | | | Change-Id: I18846326539b814fa7fa93ca54117dac3572e4b0
* Make brackets in section edit links accessible to CSSMatmaRex2013-07-021-3/+5
| | | | | | | | | | Each is now wrapped in <span class="mw-editsection-bracket" />. The 'editsection-brackets' optional message, a hack added back in 2007 (43b05c00 / r23645), was removed and hardcoded again to facilitate this. Bug: 48256 Change-Id: Id27555c6dee250eafeefa97ae8927438fd65b8d7
* Remove the EditSectionLink hookMatmaRex2013-06-271-22/+1
| | | | | | Deprecated since 1.14. Not used by any extensions in gerrit. Change-Id: I5f4b381496d1e005add9bbcd9e86d4390491e0d0
* Check if API enabled before loading dependent JS modulesKevin Israel2013-05-281-6/+10
| | | | | | | | | | | | | | | | Affects whether these modules are loaded: * mediawiki.searchSuggest ($wgEnableAPI only) * mediawiki.page.watch.ajax ($wgEnableAPI, $wgEnableWriteAPI, 'writeapi' right) * mediawiki.page.patrol.ajax (same as above) Checking of $wgUseAjax has not been removed where it was already present, in case some users have set the variable to false to disable these specific features. Bug: 30213 Change-Id: If2ec219cfbb94e7c9718c58b9b54a508d0e0c656
* Give skin more control of OutputPage modulesjrobson2013-05-281-0/+58
| | | | | | | | | | Remove addDefaultModules from OutputPage Instead only enforce mediawiki.page.startup Add a method getDefaultModules which groups modules by type allowing a skin to tweak Change-Id: I89d529f0378d90af0fe0a5adea5d5dbdca83a86e
* Rename $usableSkins to $allowedSkinsWaldir Pimenta2013-05-251-5/+5
| | | | | | | | | | | | | | This change is entirely in local scope. The function is still called getUsableSkins() so this change won't break anything. But the variable name and the updated documentation comment make it clearer what the purpose of this function is, for anyone reading the code or reading the autogenerated docs. This change also includes minor changes to documentation in skin-related files (typos and small edits for clarity). Change-Id: I4220408f4d3b64cf87be4ad1af4b72d3a4524922
* phpcs: Fix WhiteSpace.LanguageConstructSpacing warningsTimo Tijhof2013-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Squiz.WhiteSpace.LanguageConstructSpacing: Language constructs must be followed by a single space; expected "require_once expression" but found "require_once(expression)" It is a keyword (e.g. like `new`, `return` and `print`). As such the parentheses don't make sense. Per our code conventions, we use a space after keywords like these. We appeared to have an unwritten exception for `require` that doesn't make sense. About 60% of require/include usage was missing the space and/or had superfluous parentheses. It is as silly as print("foo") or return("foo"), it works because keywords have no significance for whitespace between it and the expression that follows, and since experessions can be wrapped in parentheses for clarity (e.g. when doing string concatenation or mathematical operations) the parenthesis before and after basiclaly just ignored. Change-Id: I2df2f80b8123714bea7e0771bf94b51ad5bb4b87
* Remove hphpc support and deprecate related functionsTim Starling2013-05-091-8/+4
| | | | | | | | | | | | | | | | | hphpc has been superseded by hhvm, so support for hphpc is no longer needed. * Continue to use Preprocessor_Hash under HipHop since it is still faster under hhvm * Keep $wgCompiledFiles for now, so that wikihiero doesn't give an error before Ic9d1e795 is merged * Migrate the run-server script and associated configuration file to hhvm. Enable EnableStaticContentFromDisk since it doesn't seem ridiculously inefficient at first glance. Run from $IP rather than $IP/.. since hhvm is apparently not picky about sourcing files from outside of the current directory. Change-Id: Ic3e769f1fbad4f7ad26dd819406796fee48c6b45
* Adding GetNewMessagesAlert hook and wgUserNewMsgRevisionId JS globalkaldari2013-05-041-12/+21
| | | | | | | | | | | | | | | | This hook allows extensions to disable or modify the new messages alert ('orange bar of doom') while still allowing the user_newtalk table to be updated. The wgUserNewMsgRevisionId JS global allows gadgets and extensions to create their own new message alerts on the client side. I also threw in a few comment updates for good measure! See also Echo change I3f35a56b which utilizes this. Bug: 47962 Change-Id: I2105bdd2bcd5b27f6f36ec8d8fa7fa99d60a2d82
* (bug 41729) Move section edit links to after the headingsMatmaRex2013-04-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires minor changes in various parts of MediaWiki, and being extra careful about cached rendered pages' HTML. Fun fact: editsection links are not made in Parser. They're made in Linker, in Skin *and* in ParserOutput. Client-side code and screen-scrapers will have to be adjusted to handle both cases (old HTML will still be visible on cached page renders until they are purged); extensions using the DoEditSectionLink or EditSectionLink hooks might need adjustments as well. * Linker: Change the HTML of pages to move the link itself from the beginning of the heading (before <span class="mw-headline">) to the end of the heading (after the span). * Skin: Change the class from .editsection to .mw-editsection; we use this opportunity to clean up old cruft, and this makes it much easier to handle cached renders (by just detecting the old class). * ParserOutput: Implement a horrible hack to support cached parser outputs with the old order of items. * Ensure everything that should support both classes supports both classes (this includes print stylesheets and some scripts). * Implement styles for the new look for all the skins (did this in shared.css; the styles are non-intrusive and can be overridden easily, and all of the skins were using the same look before). Change-Id: I6a6c12a90de3604012420b20c1f520e0ece170ab
* Fixed spacing in files direct in includes folderumherirrender2013-04-211-9/+9
| | | | | | | Added spaces before if, foreach Added some braces for one line statements Change-Id: Ibb8dd102db045522d12ff939075ba7420d95ab6b
* Remove several ancient skinsChad Horohoe2013-04-011-1/+0
| | | | | | | Standard, Simple, Chick and MySkin have all been removed. Nostalgia has been moved to an extension for posterity. Change-Id: Ia6d73c2deb9428d214b7d69b29235094de75c52e
* Start outputting deprecation warnings when legacy linker methods are called ↵Daniel Friesen2013-03-281-0/+1
| | | | | | on skins. Change-Id: I97b046739428176540ddd80e72a80d5feefe3fc9
* Check return value of dir() in Skin.phpumherirrender2013-03-271-9/+11
| | | | | | | | | | | This avoids a fatal, when something is wrong with $wgStyleDirectory or the directory referred there. PHP Fatal error: Call to a member function read() on a non-object in Skin.php bug: 42167 Change-Id: I3d63cb984bc2aa0f85ade04607862c639ba51fdb
* fix some spacingumherirrender2013-03-251-1/+1
| | | | | | | | | | | * Removed spaces around array index * Removed double spaces or added spaces to begin or end of function calls, method signature, conditions or foreachs * Added braces to one-line ifs * Changed multi line conditions to one line conditions * Realigned some arrays Change-Id: Ia04d2a99d663b07101013c2d53b3b2e872fd9cc3
* Spellchecked /includes directoryYuri Astrakhan2013-03-131-4/+4
| | | | | | | | | * Ran spell-checker over code comments in /includes/ * A few spellchecking fixes for wfDebug() calls Found one very strange (NOOP?) line in Linker.php - see "TODO: BUG?" Change-Id: Ibb86b51073b980eda9ecce2cf0b8dd33f058adbf
* Fixed @param tags to conform with Doxygen format.Tyler Anthony Romeo2013-03-111-15/+15
| | | | | | | | | | | Doxygen expects parameter types to come before the parameter name in @param tags. Used a quick regex to switch everything around where possible. This only fixes cases where a primitve variable (or a primitive followed by other types) is the variable type. Other cases will need to be fixed manually. Change-Id: Ic59fd20856eb0489d70f3469a56ebce0efb3db13
* fix some spacingumherirrender2013-03-071-1/+0
| | | | | | | | Added/removed spaces around logical/arithmetic operator Reduced multiple empty lines to one empty line Removed wrong tabs before comments at end of line Removed too many spaces in assigments Change-Id: I2bba4e72f9b5f88c53324d7b70e6042f1aad8f6b
* fix some spacingumherirrender2013-02-041-6/+6
| | | | Change-Id: I8f976013f33c5818e4402604fe8610aa3f43b0c6
* Merge "(bug 1) document Skin::buildSidebar per own experience"TheDJ2012-10-271-1/+17
|\
| * (bug 1) document Skin::buildSidebar per own experienceMatmaRex2012-10-261-1/+17
| | | | | | | | | | | | Lessons learned from CologneBlue rewrite and bug 40857. Change-Id: If56df0a7ce20bc8f7a73252d06baf97264793069
* | Fix indentation whitespace errorsumherirrender2012-10-261-1/+1
|/ | | | Change-Id: Ie268bee2098c589c050e1b5b0e93fe1b3feca86f
* Update docs for return and exception infoSiebrand Mazeland2012-10-091-0/+1
| | | | | | | * Removed some inline tabs in the process. * IDE fixed some incorrect leading spaces, too. Change-Id: Ic9303eff6db4424ac3f1fa2816839692b43e6190
* Use hasSubjectNamespace in Skin.php instead of namespace tests.Daniel Friesen2012-10-011-2/+2
| | | | Change-Id: I11c5657de868a99429d400e0edb05707ec6069fb
* (bug 34939) Handle mixed-case URL protocols in wikitextFran McCrory2012-09-041-2/+2
| | | | | | | | | This patch marks the regex matching url protocol as being case insensitive. We will from now render links like [HTTP://ww]. Tests added. Change-Id: I706acb7a0ae194b50d2318763beae4e5e83671f3
* Merge "Reduced some master queries via Revision::READ_NORMAL."Catrope2012-08-281-6/+7
|\
| * Reduced some master queries via Revision::READ_NORMAL.Aaron2012-08-271-6/+7
| | | | | | | | | | | | | | * Also normalized 0 => false for the rev ID parameter in some places. * Broke some long lines and shorted a variable name in Skin.php. Change-Id: I6645315699ec7670ae22aa1dbf787d75d6e6b7ec
* | Merge "(bug 39680) Convert valign to CSS vertical-align"Krinkle2012-08-281-1/+1
|\ \
| * | (bug 39680) Convert valign to CSS vertical-alignAlex Monk2012-08-271-1/+1
| |/ | | | | | | | | | | Also convert align to CSS text-align/float Change-Id: Ia7da2b51b7fdeee443def8cb06c63a422d89f6f1
* | Merge "Use the MWDebug class to display debug log back in the request."Nikerabbit2012-08-281-65/+1
|\ \
| * | Use the MWDebug class to display debug log back in the request.Alexandre Emsenhuber2012-08-271-65/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - This removes the duplication of MWDebug::$debug and OutputPage::$mDebugtext, so there's no need to store two times the same text - Removed OutputPage::debug() since it's no longer used - Had to keep OutputPage::$mDebugtext because it's still referenced by SemanticPageMaker extension - Moved Skin::formatDebugHTML() to MWDebug::GetHTMLDebugLog() and replaced the call in Skin::generateDebugHTML() to use it - Also check $logonly before sending entries to the debug toolbar in wfDebug(), for consistency - Changed MWDebug::getDebugHTML() to also return the debug log in an HTML comment if $wgDebugComments is set to true and changed the location of this call to BaseTemplate::printTrail() so that its result is the latest possible. This also includes the debug toolbar. - Removed MockOutputPage and related test cases since they are no longer accurate Change-Id: Ie0f389f8566457b1c938c627ed930040741ac9d9
* / Use numParams() where possible.Siebrand Mazeland2012-08-281-2/+2
|/ | | | Change-Id: I2ba4fb7dad599ccd04fe69ab033ff72c1bacfe3e
* Replace deprecated wfMsg* calls with Message class calls.Siebrand Mazeland2012-08-221-9/+16
| | | | | | | Doing this in steps of roughly 100 changes per commit, so that it remains reviewable. Change-Id: Ie349afa5c809c887c787c7c04c49c9dd3478ccac
* (bug 31040) Fixed $wgSecureLogin effect on returnto.Tyler Romeo2012-08-131-4/+14
| | | | | | | | | | | | | | | | | Added parameter to Title::getFullURL to allow specification of a protocol rather than assuming PROTO_RELATIVE. Also added an accompanying parameter to Skin::makeSpecialUrl to make a link for a specific protocol. Cleaned up the creation of personal URLs in SkinTemplate.php so that when $wgSecureLogin is enabled, the returnto query is not lost in the process. Note: This will only work if $wgServer is set to a protocol relative URL. Change-Id: Iba48eb3620fb3a721220364185f7abfd902412d0 Signed-off-by: Tyler Romeo <tylerromeo@gmail.com>
* Merge "(bug 12701) Use diff of all unseen revisions in the "new messages" bar."Aaron Schulz2012-08-091-11/+40
|\
| * (bug 12701) Use diff of all unseen revisions in the "new messages" bar.lupo2012-06-181-11/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also pluralize properly. "You have a new message from another user (last change)" if only one unseen revision, or "You have new messages [from another user|from N users|] (last changes)" if there are several unseen revisions. Contains a fix in Title::countAuthorsBetween() adding options to include (one or both of) the delimiting revisions in the count. Change-Id: I8870111802085d0bd188cb508c4f4b852985634d
* | converts '@fixme' to '@todo FIXME'Antoine Musso2012-07-101-1/+1
| | | | | | | | | | | | | | @fixme is simply not recognized by doxygen whereas @todo is used to generate a nice ... todo list!! Change-Id: If956c0a164373126ce48b791d45c56962034eecd
* | escape tags and entity in doxygen commentsAntoine Musso2012-07-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | When inserting XML elements inline <such as this one>, doxygen chokes about it not being known. Simply enclosing the tag in double quotes prevents doxygen from emitting a warning. Also enclosed a few invalid functions calls such as \. and double quoted the HTML entities such as &foobar; Change-Id: I4019637145e683c2bec3d17b2fd98b0c50a932f1
* | Revert "Deprecate no longer used Skin::getCommonStylePath."Daniel Friesen2012-06-141-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 79dcf7686d857e1dcbc3f1127a106d847de10d9e. getCommonStylePath and getSkinStylePath are a pair of methods for use in 3rd party skins (NOT core). They cut down on the boilerplate for including skin urls into skins for things like <img> tags. Without these methods skin authors will be forced to revert to unintuitive boilerplate to add style paths and style versions into their code. Most won't even bother to include the style version. And ResourceLoader is a tangent to the whole topic because no matter what the advantages to CSS are developers writing custom skins for a single site from scratch will not care and they will choose CSS or <img> based on situations on hand in their own markup that make one or the other harder to handle. This addition was part of the effort to fix the longstanding issue that our our skin system does not properly account for 3rd party skin developers. Change-Id: I98f4fd83c93aba7681306d0a1edb58f798057543
* | Deprecate no longer used Skin::getCommonStylePath.Timo Tijhof2012-06-091-0/+5
|/ | | | | | | * All use has been removed in core. Marking for deprecation, to be removed later. Change-Id: Ib247991edd29ea810919a19b34ffc06430f42fc2
* Merge "Change of Title->exists() to Title->isKnown() for subpage links"Aaron Schulz2012-06-061-1/+1
|\
| * Change of Title->exists() to Title->isKnown() for subpage linksrobin2012-05-301-1/+1
| | | | | | | | | | | | isKnown() calls both exists() and isAlwaysKnown(), so subpage links below the page title are also added for pages that "always exist", as can be changed through a hook Change-Id: I345bb8e6e611afd53afbc7b2d92910e360f598ee