actionner.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. /**
  3. * Gestion de l'action actionner
  4. *
  5. * @plugin SVP pour SPIP
  6. * @license GPL
  7. * @package SPIP\SVP\Actions
  8. */
  9. if (!defined("_ECRIRE_INC_VERSION")) return;
  10. /**
  11. * Action effectuant 1 action dans la liste des actions à réaliser
  12. * sur les plugins.
  13. *
  14. * Cette action sera relancée tant qu'il reste des actions à faire
  15. */
  16. function action_actionner_dist() {
  17. // droits
  18. include_spip('inc/autoriser');
  19. if (!autoriser('configurer', '_plugins')) {
  20. include_spip('inc/minipres');
  21. echo minipres();
  22. exit;
  23. }
  24. include_spip('inc/svp_actionner');
  25. include_spip('inc/headers');
  26. $actionneur = new Actionneur();
  27. $actionneur->get_actions();
  28. if ($actionneur->one_action()) {
  29. // si SVP a été enlevé des actifs, on redirige sur la fin...
  30. // sinon cette page d'action/actionner devient introuvable.
  31. // dans ce cas précis, les autres actions prévues venant après la desactivation de SVP
  32. // ne pourront être traitees... SVP n'étant plus là !
  33. if ($actionneur->tester_si_svp_desactive()) {
  34. $url = _request('redirect');
  35. } else {
  36. $url = generer_action_auteur('actionner', '', _request('redirect'));
  37. }
  38. // en mode pas à pas, on affiche un bilan entre chaque action
  39. // et on demande a l'utilistateur de cliquer pour realiser
  40. // l'action suivante.
  41. include_spip('inc/config');
  42. if (lire_config('svp/mode_pas_a_pas') == 'oui') {
  43. include_spip('inc/minipres');
  44. $pres = $actionneur->presenter_actions();
  45. $btn = "<a href='$url'>[ Action Suivante ]</a>";
  46. $styles = "
  47. <style type='text/css'>
  48. #minipres #actionner .fail {color:#c30000;}
  49. #minipres #actionner ul {margin-left: 0.5em;}
  50. #minipres #actionner li {list-style-type:square; margin-left: 0.5em;}
  51. </style>";
  52. echo minipres( _T('svp:installation_en_cours'), $pres . '<br /><br />' . $btn . $styles);
  53. die();
  54. }
  55. redirige_par_entete(str_replace('&amp;','&', $url));
  56. }
  57. include_spip('inc/svp_depoter_local');
  58. svp_actualiser_paquets_locaux();
  59. if (!_request('redirect'))
  60. $GLOBALS['redirect'] = generer_url_ecrire('admin_plugin');
  61. else
  62. $GLOBALS['redirect'] = str_replace('&amp;','&', _request('redirect'));
  63. }
  64. ?>