Page MenuHomePhabricator

Hard deprecate BaseTemplate::getFooterIcons
Open, Needs TriagePublic

Description

Soft deprecated in 1.35. Should be hard deprecated in 1.36

Acceptance criteria

  • Patch Monobook
  • Patch Timeless
  • Hard deprecate

Event Timeline

Jdlrobson created this task.Fri, Nov 6, 9:56 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptFri, Nov 6, 9:56 PM
Ammarpad updated the task description. (Show Details)
Isarra added a subscriber: Isarra.Sat, Nov 21, 3:58 AM

What about all the other skins that use it? Namely, er, nearly all of them?

Isarra added a subscriber: ashley.Sat, Nov 21, 3:59 AM
Jdlrobson added a comment.EditedSat, Nov 21, 8:42 PM

BaseTemplate::getFooterIcons is being hard deprecated NOT SkinTemplate::getFooterIcons, which is the subject of this task.

Confusingly class SkinTemplate extends Skin and class TimelessTemplate extends BaseTemplate so any skin making use of BaseTemplate::getFooterIcons needs to transition to SkinTemplate::getFooterIconsor $this->get('footericons')

Note the point of these changes is to get away from this confusion. In future BaseTemplate / QuickTemplate will only be concerned with outputting data, not constructing data themselves. Hope this clears up confusion.

BaseTemplate::getFooterIcons is being hard deprecated NOT SkinTemplate::getFooterIcons, which is the subject of this task.

SkinnameTemplate extending BaseTemplate has been standard since skins were broken out of core and reimplemented as standardised extensions. Thus, unless they're using BaseTemplate::getFooter instead (unlikely as A, it took me way too long to get that added after the fact, and B, I put the wrong one in there so it's borderline unusable anyway) or the skin in question either doesn't have it or really went out of their way to reinvent the wheel and isn't following any of the usual practices, it's going to have this.

Confusingly class SkinTemplate extends Skin and class TimelessTemplate extends BaseTemplate so any skin making use of BaseTemplate::getFooterIcons needs to transition to SkinTemplate::getFooterIconsor `$this->get('footericons')

So, pretty much all of them?

Note the point of these changes is to get away from this confusion. In future BaseTemplate / QuickTemplate will only be concerned with outputting data, not constructing data themselves. Hope this clears up confusion.

BaseTemplate::getFooterIcons is basically just a helper function to BaseTemplate::getFooter (or whatever version thereof the skin actually implements) to add the footer icons. Are you saying it should be doing so by calling SkinTemplate::getFooterIcons to get the data itself? And if so, why? What possible other purpose could it have besides for rendering BaseTemplate::execute output?