wiki:CHANGELOGCopix310

Liste des changements apportés sur le trunk et intégré dans la version 3.1.0. Ne sont listés ici que les modification sur le trunk et non reportés dans la branche. Cf. CHANGELOGCopix305 pour les modifications apportés sur la branche.

Modifications critiques de Copix

Modifications qui concernent la compatibilité de Copix avec la branche 3.0.x.

  • [2302] Création d'une constante COPIX_THEMES_PATH, définie dans project.path.inc.php (par défaut dans /project/ sur le trunk, et inclu via index.php et resource.php). Elle permet de ne plus dépendre de COPIX_PROJECT_PATH. Compatibilité avec les anciens COPIX_PROJECT_PATH/themes invalide.
  • [2306] Le retour de CopixClassesFactory::fileInclude (et donc _classInclude son raccourci) est modifié : si la classe $pClassId n'est pas inclue, le retour devient false au lieu du nom de la classe. Si la classe a été inclue, pas de changement, le nom de la classe est retourné.
  • Modifications sur CopixSession :
    • [2445] CopixSession::destroy supprime maintenant le cookie, $_COOKIE[session_name ()] et définit $_SESSION à array (). Retourne le retour de session_destroy (ne retournait rien avant)
    • [2445] destroyNamespace supprime vraiment le namespace (avec unset), au lieu de le définir à array () (ce qui le laisse existant en session)
    • [2445] Si on supprime une variable, ou qu'on la définit à null, et que c'est la dernière variable d'un namespace, ce namespace est supprimé
  • [2799] La mise aux normes de développement de CopixEMail change la propriété protégée $message en $_message
  • [2799] La mise aux normes de développement de CopixHTMLEMail change la propriété protégée $textEquivalent en $_textEquivalent
  • [2804] Déplacement des surcharges de templates dans le thème dans un répertoire monTheme/templates/module/ au lieu de monTheme/module/
  • [4146] [4150] Modification de l'interface ICopixLogStrategy

Modifications n'impliquant pas de problèmes de compatibilité

  • Ajout d'un répertoire www/ à chaque thème dans COPIX_THEMES_PATH/nomTheme/, qui permet de gérer les resources (css, images, js, etc) en un seul point. L'ancien répertoire /www/themes/monTheme est encore disponible. Un appel à _resource vérifiera d'abord l'existance de la ressource dans ce nouveau répertoire, et si elle existe, l'url sera de la forme resource.php/theme/monTheme/lang_COUNTRY/chemin/deMa/resource.png.
  • Modification des thèmes fournis avec Copix pour utiliser le nouveau répertoire COPIX_THEMES_PATH/monTheme/www/. Les images du thème "default" n'ont pas été déplacées, pour des raisons de performance (beaucoup d'appels aux resources de ce thème, et l'appel direct est plus rapide qu'un appel à resource.php pour aller chercher la resource dans le www du thème)
  • [2265] Ajout d'un répertoire resources dans COPIX_THEMES_PATH/monTheme, qui permet au thème de gérer ses propres resources (notamment les clefs i18n spécifiques au thème). Les clefs i18n du thème courant sont accessibles via _i18n ('theme:monFichier.maClef').
  • [2306] Ajout de CopixClassesFactory::fileRequire (et _classRequire comme raccourci), qui lève une exception si la classe n'a pu être inclue, sinon retourne le nom de la classe.
  • [2442] Ajout de méthodes dans CopixSession : exists, getNamespaces, getVariables et namespaceExists
  • [2553] La gestion des exceptions se fait désormais entièrement dans CopixController?, et index.php ne gère plus que la création du controller et l'appel à process
  • [2848] Les exceptions générées par CopixI18N et CopixI18NBundle sont maintenant des CopixI18NException, qui indiquent la langue et le pays en plus du message
  • Modifications sur le i18n :
    • [2887] Ajout des paramètres $pLang et $pCountry à getDateFormat
    • [2889] Ajout des paramètres $pTimeSeparator, $pLang et $pCountry à getDateTimeFormat et getDateTimeMask
    • [2889] Création d'un système de configuration des langues par fichier XML (avant c'était en dur dans les méthodes, donc ajout d'une langue impossible sans modification du PHP) : séparateur de date par défaut, séparateur d'heure par défaut, format de retour de getDateFormat, format de retour de getDateTimeFormat, format de retour de getDateTimeMask
  • [2894] Ajout d'une méthode glob à CopixFile, qui effectue un readdir si la fonction glob PHP n'est pas autorisée (peut arriver sur certains hébergements)
  • [3135] Ajout d'une méthode getPath à CopixTpl?, qui permet d'avoir le chemin physique d'un thème (pas le répertoire dans www, le répertoire du thème qui contient le theme.xml)
  • [3134] [3135] CopixTpl::getThemeInformations retourne un CopixThemeDescription? au lieu d'un stdClass, ce qui permet d'avoir plus de méthodes utiles. L'utilisation normale de CopixThemeDescription? doit passer par ses méthodes, mais l'accès aux propriétés en lecture est conservé pour la compatibilité avec Copix 3.0.x
  • [3134] La méthode getImage de CopixThemeDescription? retourne un _resource de l'image indiquée dans theme.xml, donc cette image doit se trouver dans le répertoire www du thème. L'ancien accès par la propriété image retourne la même chose qu'avant, à savoir le contenu de la node image du theme.xml.
  • Modifications sur les logs :
    • [4146] Les méthodes getLog et deleteProfile sont passées en dépréciées, utiliser get et delete
    • [4147] Création d'une classe CopixLogStrategy?, qui facilite l'implémentation de ICopixLogStrategy
    • [4148] Création d'une classe CopixLogData?, utilisée pour stocker les infos d'un log (notamment dans le retour d'un CopixLog::get par exemple)