Refactorisation du noyau

Un article de OviWiki.


Sommaire

Divers

Suppression de config.html

  • Modifier index.php pour que si config.html n'existe pas, on n'en tienne pas compte. Dans ce cas, les templates ne devront pas inclure { babCss } mais une balise LINK avec { babCssPath }. De même pour { babMeta }, { babsectionpuce }, { babsectionbullet }, { babLogoLT }, { babLogoRT }, { babLogoLB }, { babLogoRB } et { babBanner }.
  • Ajouter un getNextCss() et getNextJavascript() dans le template de printBody.
  • getNextCss vide $babBody->styleSheet de manière à ce que utilit.php::printout n'en tienne pas compte (dans le hack pour inclure les css dans le BODY).

Code utilisé dans le noyau uniquement

Syntaxe à remplacer Commentaire Proposition État d'avancement
$babBody->topman liste de thèmes, il faut la calculer que lorsque nécessaire Fait
$babBody->topsub liste de thèmes, il faut la calculer que lorsque nécessaire Fait
$babBody->topcom liste de thèmes, il faut la calculer que lorsque nécessaire Fait
$babBody->topmod liste de thèmes, il faut la calculer que lorsque nécessaire Fait
$babBody->topview liste de thèmes, il faut la calculer que lorsque nécessaire A faire
$babBody->icalendars objet icalendars, il faut le créer que lorsque nécessaire remplacé par la fonction bab_getICalendars() Fait
$babBody->ocids liste des organigrammes, il faut la calculer que lorsque nécessaire A faire
$babBody->ocids liste des organigrammes, il faut la calculer que lorsque nécessaire A faire
$babBody->get_topcats() méthode à enlever de $babBody A faire
$babBody->get_topcatview() méthode à enlever de $babBody A faire
$babBody->get_newarticles() méthode à enlever de $babBody A faire
$babBody->get_newcomments() méthode à enlever de $babBody A faire
$babBody->get_forums() méthode à enlever de $babBody A faire
$babBody->get_newposts() méthode à enlever de $babBody A faire
$babBody->get_newfiles() méthode à enlever de $babBody A faire
$babBody->nameorder méthode à enlever de $babBody Créer un objet/des fonctions pour accéder à la configuration du site (Voir bab_updateSiteSettings) A faire

Code utilisé dans quelques modules (qui peuvent être facilement mis à jour)

Syntaxe à remplacer Commentaire Proposition État d'avancement
$GLOBALS['babAddonUploadPath'] Il faudrait une API pour gérer le répertoire d'upload d'un addon et ne pas utiliser de variable globale A faire plus tard


Code utilisé abondamment dans les modules

Syntaxe à remplacer Commentaire Proposition État d'avancement
$babBody->msgerror Il faut encoder le message d'erreur en html $babBody->addError() Opérationnel
$babBody->title Il faut encoder le message d'erreur en html $babBody->setTitle() Opérationnel
Les variables du contexte d'un addon le contexte des modules complique les choses de le cadre des événements, il faudrait utiliser une méthode alternative pour obtenir les différentes variables : API bab_getAddonInfosInstance() Fait

Module de compatibilité

Il serait intéressant de créer un module fournissant une couche de compatibilité pour les modules.


Délégations

Voir l'article spécialisé : Délégations