Skip to content
Extraits de code Groupes Projets
Valider 29c2e392 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

"installation des plugins qui se declarent gentiment"

parent 070a2307
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -35,6 +35,7 @@ function exec_admin_plugin() {
}
verif_plugin();
installe_plugins();
if (isset($_GET['surligne']))
$surligne = $_GET['surligne'];
......
......@@ -249,6 +249,40 @@ function ordonne_plugin(){
ecrire_plugin_actifs($liste_triee);
ecrire_metas();
}
function installe_un_plugin($plug,$prefix,$install){
// faire les include qui vont bien
foreach($install as $file){
$file = trim($file);
@include_once(_DIR_PLUGINS."$plug/$file");
}
$prefix_install = $prefix."_install";
if (!function_exists($prefix_install))
return false;
// voir si on a besoin de faire l'install
$ok = $prefix_install('test');
if (!$ok) {
$prefix_install('install');
$ok = $prefix_install('test');
}
return $ok; // le plugin est deja installe et ok
}
function installe_plugins(){
$meta_plug_installes = array();
$liste = liste_chemin_plugin_actifs();
foreach($liste as $plug){
$infos = plugin_get_infos($plug);
if (isset($infos['install'])){
$ok = installe_un_plugin($plug,$infos['prefix'],$infos['install']);
// on peut enregistrer le chemin ici car il est mis a jour juste avant l'affichage
// du panneau -> cela suivra si le plugin demenage
if ($ok)
$meta_plug_installes[] = $plug;
}
}
ecrire_meta('plugin_installes',serialize($meta_plug_installes),'non');
ecrire_metas();
}
// lecture du fichier de configuration d'un plugin
// http://doc.spip.org/@plugin_get_infos
......@@ -297,6 +331,8 @@ function plugin_get_infos($plug){
$ret['etat'] = trim(end($arbre['etat']));
if (isset($arbre['options']))
$ret['options'] = $arbre['options'];
if (isset($arbre['install']))
$ret['install'] = $arbre['install'];
if (isset($arbre['fonctions']))
$ret['fonctions'] = $arbre['fonctions'];
$ret['prefix'] = trim(array_pop($arbre['prefix']));
......
......@@ -295,7 +295,7 @@ $spip_version = 1.924;
// (ce qui marche pour yy ne marchera pas forcement sur une version plus ancienne)
// type nouvelles fonctionnalites, deplacement de fonctions ...
$spip_version_affichee = '1.9.2 beta 3';
$spip_version_code = 1.9203;
$spip_version_code = 1.9204;
// ** Securite **
$auteur_session = $connect_statut = $connect_toutes_rubriques = $connect_id_rubrique = $hash_recherche = $hash_recherche_strict = '';
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter