You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.3 KiB

  1. <?php
  2. /***************************************************************************\
  3. * SPIP, Systeme de publication pour l'internet *
  4. * *
  5. * Copyright (c) 2001-2020 *
  6. * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
  7. * *
  8. * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
  9. * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
  10. \***************************************************************************/
  11. /**
  12. * Fichier gérant l'installation et désinstallation du plugin
  13. *
  14. * @package SPIP\Breves\Installation
  15. **/
  16. if (!defined('_ECRIRE_INC_VERSION')) {
  17. return;
  18. }
  19. /**
  20. * Installation/maj des tables de brèves
  21. *
  22. * Crée les tables SQL du plugin (spip_breves)
  23. *
  24. * @param string $nom_meta_base_version
  25. * Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
  26. * @param string $version_cible
  27. * Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
  28. */
  29. function breves_upgrade($nom_meta_base_version, $version_cible) {
  30. // cas particulier :
  31. // si plugin pas installe mais que la table existe
  32. // considerer que c'est un upgrade depuis v 1.0.0
  33. // pour gerer l'historique des installations SPIP <=2.1
  34. if (!isset($GLOBALS['meta'][$nom_meta_base_version])) {
  35. $trouver_table = charger_fonction('trouver_table', 'base');
  36. if ($desc = $trouver_table('spip_breves')
  37. and isset($desc['exist']) and $desc['exist']
  38. ) {
  39. ecrire_meta($nom_meta_base_version, '1.0.0');
  40. }
  41. // si pas de table en base, on fera une simple creation de base
  42. }
  43. $maj = array();
  44. $maj['create'] = array(
  45. array('maj_tables', array('spip_breves')),
  46. );
  47. include_spip('base/upgrade');
  48. maj_plugin($nom_meta_base_version, $version_cible, $maj);
  49. }
  50. /**
  51. * Désinstallation du plugin
  52. *
  53. * Supprime les tables SQL du plugin (spip_breves)
  54. *
  55. * @param string $nom_meta_base_version
  56. * Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
  57. **/
  58. function breves_vider_tables($nom_meta_base_version) {
  59. sql_drop_table("spip_breves");
  60. effacer_meta("activer_breves");
  61. effacer_meta($nom_meta_base_version);
  62. }