\n";
echo "
\n";
$quoi = _request('voir');
$quoi = $quoi ? $quoi : 'actifs';
echo gros_titre(_T('icone_admin_plugin'),'',false);
echo barre_onglets("plugins", $quoi=='actifs'?"plugins_actifs":"admin_plugin");
echo debut_gauche('plugin',true);
echo debut_boite_info(true);
$s = "";
$s .= _T('info_gauche_admin_tech');
echo $s;
echo fin_boite_info(true);
// la valeur de retour de la fonction ci-dessus n'est pas compatible
// avec ce que fait actualise_plugins_actifs, il faut recalculer. A revoir.
$lcpa = liste_chemin_plugin_actifs();
echo pipeline('affiche_gauche',
array(
'args'=>array('exec'=>'admin_plugin'),
'data'=>afficher_librairies()
)
);
echo debut_droite('plugin', true);
// message d'erreur au retour d'un operation
if (_request('erreur')){
echo "
" . _T(_request('erreur')) . "
";
}
if ($erreur_activation){
echo "" . $erreur_activation . "
";
effacer_meta('plugin_erreur_activation');
}
// on fait l'installation ici,
// cela permet aux scripts d'install de faire des affichages (moches...)
installe_plugins();
$lpf = liste_plugin_files();
$plugins_interessants = @array_keys(unserialize($GLOBALS['meta']['plugins_interessants']));
if (!is_array($plugins_interessants))
$plugins_interessants = array();
echo "";
echo http_script("
jQuery(function(){
jQuery('#plugins .boutons').hide();
jQuery('.plugins li.item a[rel=info]').click(function(){
var li = jQuery(this).parents('li').eq(0);
var prefix = li.find('input.checkbox').attr('name');
if (!jQuery('div.details',li).html()) {
jQuery('div.details',li).prepend(ajax_image_searching).load(
jQuery(this).attr('href').replace(/admin_plugin|plugins/, 'info_plugin'), function(){
li.addClass('on');
}
);
}
else {
if (jQuery('div.details',li).toggle().is(':visible'))
li.addClass('on');
else
li.removeClass('on');
}
return false;
});
jQuery('.plugins li.item input.checkbox').change(function(){
jQuery(this).parents('form').eq(0).find('.boutons').slideDown();
});
});
");
echo pipeline('affiche_milieu',
array(
'args'=>array('exec'=>'admin_plugin'),
'data'=>''
)
);
echo fin_gauche(), fin_page();
}
}
function affiche_les_extensions($liste_plugins_actifs){
$res = "";
if ($liste_extensions = liste_plugin_files(_DIR_EXTENSIONS)) {
$res .= "";
$res .= debut_cadre_trait_couleur('',true,'',_T('plugins_liste_extensions'),
'liste_extensions');
$res .= "
"
._T('plugin_info_extension_1', array('extensions' => joli_repertoire(_DIR_EXTENSIONS)))
. '
'. _T('plugin_info_extension_2')
."
";
$format = 'liste';
$afficher = charger_fonction("afficher_$format",'plugins');
$res .= $afficher(self(), $liste_extensions,$liste_plugins_actifs, _DIR_EXTENSIONS);
$res .= fin_cadre_trait_couleur(true);
$res .= "
\n";
}
return $res;
}
// http://doc.spip.org/@affiche_les_plugins
function affiche_les_plugins($liste_plugins, $liste_plugins_actifs, $format='liste'){
if (!$format)
$format = 'liste';
if (!in_array($format,array('liste','repertoires')))
$format = 'repertoires';
$afficher = charger_fonction("afficher_$format",'plugins');
$res = $afficher(self(), $liste_plugins,$liste_plugins_actifs);
if (!$res) return "";
# var_dump(spip_timer('cachexml'));
return $res;
}
/**
* Afficher la liste des librairies presentes
*
* @return
*/
function afficher_librairies(){
$res = "";
// Lister les librairies disponibles
if ($libs = plugins_liste_librairies()) {
$res .= debut_cadre_enfonce('', true, '', _T('plugin_librairies_installees'));
ksort($libs);
$res .= '';
foreach ($libs as $lib => $rep)
$res .= "- $lib
- ".joli_repertoire($rep)."
";
$res .= '
';
$res .= fin_cadre_enfonce(true);
}
return $res;
}
?>