organiseur_administrations.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. /***************************************************************************\
  3. * SPIP, Systeme de publication pour l'internet *
  4. * *
  5. * Copyright (c) 2001-2014 *
  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. if (!defined('_ECRIRE_INC_VERSION')) return;
  12. /**
  13. * Installation/maj des tables messagerie
  14. *
  15. * @param string $nom_meta_base_version
  16. * @param string $version_cible
  17. */
  18. function organiseur_upgrade($nom_meta_base_version,$version_cible){
  19. // cas particulier :
  20. // si plugin pas installe mais que la table existe
  21. // considerer que c'est un upgrade depuis v 1.0.0
  22. // pour gerer l'historique des installations SPIP <=2.1
  23. if (!isset($GLOBALS['meta'][$nom_meta_base_version])){
  24. $trouver_table = charger_fonction('trouver_table','base');
  25. if ($desc = $trouver_table('spip_messages')
  26. AND isset($desc['exist']) AND $desc['exist']){
  27. ecrire_meta($nom_meta_base_version,'1.0.0');
  28. }
  29. // si pas de table en base, on fera une simple creation de base
  30. }
  31. $maj = array();
  32. $maj['create'] = array(
  33. array('maj_tables', array('spip_messages', 'spip_auteurs')),
  34. );
  35. $maj['1.1.0'] = array(
  36. array('sql_updateq',"spip_messages",array('statut'=>'prepa'),"statut='redac'"),
  37. array('maj_tables', array('spip_messages')), // champ destinataires
  38. );
  39. $maj['1.1.1'] = array(
  40. array('sql_alter',"TABLE spip_messages CHANGE id_auteur id_auteur bigint(21) DEFAULT 0 NOT NULL"),
  41. );
  42. $maj['1.1.2'] = array(
  43. array('maj_tables', array('spip_auteurs')) // champs messagerie & imessage (parfois absents)
  44. );
  45. include_spip('base/upgrade');
  46. maj_plugin($nom_meta_base_version, $version_cible, $maj);
  47. }
  48. /**
  49. * Desinstallation/suppression des tables mots et groupes de mots
  50. *
  51. * @param string $nom_meta_base_version
  52. */
  53. function organiseur_vider_tables($nom_meta_base_version) {
  54. sql_drop_table("spip_messages");
  55. sql_alter("TABLE spip_auteurs DROP imessage");
  56. sql_alter("TABLE spip_auteurs DROP messagerie");
  57. effacer_meta('messagerie_agenda');
  58. effacer_meta($nom_meta_base_version);
  59. }
  60. ?>