/***************************************************************************\
* 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. *
}
foreach($subdirs as $d){
- $fichiers = array_merge($fichiers,fast_find_plugin_dirs("$d/",--$max_prof));
+ $fichiers = array_merge($fichiers,fast_find_plugin_dirs("$d/",$max_prof-1));
}
return $fichiers;
}
else $plugin = $plugin_valides;
}
$actifs_avant = $GLOBALS['meta']['plugin'];
+
+ // si une fonction de gestion de dependances existe, l'appeler ici
+ if ($ajouter_dependances = charger_fonction("ajouter_dependances","plugins",true)){
+ $plugin = $ajouter_dependances($plugin);
+ }
+
// recharger le xml des plugins a activer
// on forcer le reload ici, meme si le fichier xml n'a pas change
// pour ne pas rater l'ajout ou la suppression d'un fichier fonctions/options/administrations
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
// 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);
}
.boite_ouvrir(_T('plugin_titre_installation', array('plugin' => typo($infos['nom']))), ($ok ? 'success' : 'error'))
.$trace
."<div class='result'>"
- .($ok ? _T("plugin_info_install_ok") : _T("avis_operation_echec"))
+ .($ok ? ((isset($infos['upgrade']) && $infos['upgrade']) ? _T("plugin_info_upgrade_ok") : _T("plugin_info_install_ok")) : _T("avis_operation_echec"))
."</div>"
.boite_fermer()
."</div>";
ecrire_fichier($nom,
'<'.'?php' . "\n" . $comment ."\nif (defined('_ECRIRE_INC_VERSION')) {\n". $contenu . "}\n?".'>');
}
-?>
+