Développement d'un programme de mise à jour
Sommaire
Programme de mise à jour du noyau
Lors de chaque mise à jour, la fonction ovidentia_upgrade($version_base,$version_ini) est appelée, il faut qu'elle renvoie TRUE pour que la mise à jour soit acceptée.
La fonction se trouve dans le fichier upgrade.php.
Programme de mise à jour d'un module
Le principe est identique pour les modules, la fonction doit être dans le fichier init.php et s'appeller addon_upgrade($version_base,$version_ini) où addon est le nom du module.
Outils à utiliser dans le programme de reprise
Paramètres
- $version_base : le numéro de version stockée dans la base de données
- $version_ini : le numéro de version stockée dans les fichiers (fichier ini)
lors de la mise à jour, le numéro de version $version_ini est généralement supérieur à $version_base
$babBody->addError($message)
Les messages d'erreur doivent être enregistrés avec la fonction $babBody->addError, il faut ensuite renvoyer FALSE pour que la mise à jour ne soit pas acceptée.
bab_isTable($table)
Teste l'existence d'une table.
bab_isTableField($table, $field)
Teste l'existence d'un champ de table.
bab_setUpgradeLogMsg($addon_name, $message, $uid = '')
Permet d'enregistrer un message personnalisé dans le log de mise à jour (table bab_upgrade_messages)
dans le cas du noyau $addon_name doit être renseigné avec la constante BAB_ADDON_CORE_NAME.
$uid est un identifiant unique optionnel en chaîne de caractère qui peut être renseigné pour identifier un message.
bab_getUpgradeLogMsg($addon_name, $uid)
Permet de récupérer un message enregistré au préalable avec la fonction bab_setUpgradeLogMsg.
Cette fonction permet de vérifier si une tâche à été effectuée ou non.