~maj v3.0.19-->v3.0.21
[ptitvelo/web/www.git] / www / ecrire / inc / plugin.php
index 0aa1d99..1510889 100644 (file)
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2012                                                *
+ *  Copyright (c) 2001-2014                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -500,7 +500,12 @@ function ecrire_plugin_actifs($plugin,$pipe_recherche=false,$operation='raz') {
        ecrire_meta('plugin',serialize($plugin_valides));
        $liste = array_diff_key($liste,$plugin_valides);
        ecrire_meta('plugin_attente',serialize($liste));
-       ecrire_meta('plugin_header',substr(strtolower(implode(",",$header)),0,900));
+       $header = strtolower(implode(",",$header));
+       ecrire_meta('plugin_header',substr($header,0,900));
+       if (!isset($GLOBALS['spip_header_silencieux']) OR !$GLOBALS['spip_header_silencieux'])
+               ecrire_fichier(_DIR_VAR."config.txt", (defined('_HEADER_COMPOSED_BY') ? _HEADER_COMPOSED_BY:"Composed-By: SPIP") . ' '. $GLOBALS['spip_version_affichee'] . " @ www.spip.net + " . $header);
+       else
+               @unlink(_DIR_VAR."config.txt");
        // generer charger_plugins_chemin.php
        plugins_precompile_chemin($plugin_valides, $ordre);
        // generer les fichiers
@@ -513,9 +518,14 @@ function ecrire_plugin_actifs($plugin,$pipe_recherche=false,$operation='raz') {
        // generer le fichier _CACHE_PIPELINE
        pipeline_precompile();
 
-       // lancer et initialiser les nouveaux crons !
-       include_spip('inc/genie');
-       genie_queue_watch_dist();
+       // attendre eventuellement l'invalidation du cache opcode
+       spip_attend_invalidation_opcode_cache();
+
+       if (spip_connect()) {
+               // lancer et initialiser les nouveaux crons !
+               include_spip('inc/genie');
+               genie_queue_watch_dist();
+       }
 
        return ($GLOBALS['meta']['plugin'] != $actifs_avant);
 }
@@ -781,4 +791,4 @@ function ecrire_fichier_php($nom, $contenu, $comment='')
        ecrire_fichier($nom, 
                       '<'.'?php' . "\n" . $comment ."\nif (defined('_ECRIRE_INC_VERSION')) {\n". $contenu . "}\n?".'>');
 }
-?>
+