\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 debut_cadre_trait_couleur('plugin-24.gif',true,'',_T('plugins_liste'), 'plugins'); if ($quoi!=='actifs'){ if ($lpf) echo "

"._T('texte_presente_plugin')."

"; else { if (!@is_dir(_DIR_PLUGINS)) echo "

"._T('plugin_info_automatique_ftp',array('rep'=>joli_repertoire(_DIR_PLUGINS))) . " — "._T('plugin_info_automatique_creer')."

"; } } if ($quoi=='actifs' OR $lpf) echo "

".sinon( singulier_ou_pluriel(count($lcpa), 'plugins_actif_un', 'plugins_actifs', 'count'), _T('plugins_actif_aucun') )."

"; $sub = "\n"; $no_button = false; // la liste if ($quoi=='actifs'){ $aff = affiche_les_plugins($lcpa, $lcpa, $format); $no_button = !strlen($aff); $corps = $aff; } elseif ($quoi=='tous') $corps = affiche_les_plugins($lpf, $lcpa, $format); else { $dir_auto = substr(_DIR_PLUGINS_AUTO, strlen(_DIR_PLUGINS)); $lcpaffiche = array(); foreach ($lpf as $f) if (!strpos($f, '/') OR ($dir_auto AND substr($f, 0, strlen($dir_auto)) == $dir_auto) OR in_array($f, $lcpa) OR in_array($f, $plugins_interessants)) $lcpaffiche[] = $f; $corps = affiche_les_plugins($lcpaffiche, $lcpa, $format); } if (!$no_button) $corps .= "\n
" . $sub; echo redirige_action_post('activer_plugins','activer','admin_plugin','', $corps); echo fin_cadre_trait_couleur(true); if ($quoi=='actifs') echo affiche_les_extensions(liste_chemin_plugin_actifs(_DIR_EXTENSIONS)); echo "
"; echo http_script(" jQuery(function(){ 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; } ?>