When we introduce a SkinMustache class ideally it would subclass Skin rather than SkinTemplate but to make its introduction easier we made it extend SkinTemplate. After seeing how this class has grown, the class inheritance is correct but SkinTemplate carries a lot of QuickTemplate specific code that should be factored out.
# Acceptance criteria
[x] Skin::getFooterLinks is promoted from SkinTemplate.php to Skin.php. The hook SkinAddFooterLinks is not impacted by this move as it already uses the skin and currently only lives in that class for compatibility reasons.
[x] All SkinMustache data functions are promoted up to SkinTemplate
[] A new class SkinBaseTemplate has been added, and use of SkinTemplate is soft deprecated (too many skins use it to hard deprecate)
- [] All Base QuickTemplate specific calls e.g.::setAll method is added to allow passing of data in the form of an array, `$tpl->set` have been abstracted away to theto the set methods in QuickTemplate class
--- [] A Quickll BaseTemplate::load method is added to allow passing of data in the form of an array, specific calls e.g. to the set methods in`$tpl->set` have been abstracted away to the QuickTemplate class
-- [] SkinTemplate::getTemplateData and SkinTemplate::getLegacyTemplateData are defined
-- [] The data inside SkinTemplate::getLegacyTemplateData goes through the deprecation process
-- [] SkinTemplate::getLegacyTemplateData is deprecated and removed.
- [] SkinMustache methods are promoted to SkinTemplate: getFooterTemplateData, getLogoData, buildSearchProps, getPortletsTemplateData, getPortletData, getPortletLabel
- [] SkinMustache::tailElement is generalized and moved to OutputPage T257704