[SPIP] v3.2.1-->v3.2.2
[lhc/web/www.git] / www / ecrire / plugins / afficher_nom_plugin.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) {
14 return;
15 }
16 include_spip('inc/charsets');
17 include_spip('inc/texte');
18 include_spip('plugins/afficher_plugin');
19
20 // http://code.spip.net/@ligne_plug
21 function plugins_afficher_nom_plugin_dist(
22 $url_page,
23 $plug_file,
24 $checked,
25 $actif,
26 $expose = false,
27 $class_li = "item",
28 $dir_plugins = _DIR_PLUGINS
29 ) {
30 static $id_input = 0;
31 static $versions = array();
32
33 $erreur = false;
34 $s = "";
35
36 $get_infos = charger_fonction('get_infos', 'plugins');
37 $info = $get_infos($plug_file, false, $dir_plugins);
38
39 // numerotons les occurences d'un meme prefix
40 $versions[$info['prefix']] = isset($versions[$info['prefix']]) ? $versions[$info['prefix']] + 1 : '';
41 $id = $info['prefix'] . $versions[$info['prefix']];
42
43 $class = $class_li;
44 $class .= $actif ? " actif" : "";
45 $class .= $expose ? " on" : "";
46 $erreur = isset($info['erreur']);
47 if ($erreur) {
48 $class .= " error";
49 }
50 $s .= "<li id='$id' class='$class'>";
51
52 // Cartouche Resume
53 $s .= "<div class='resume'>";
54
55 $prefix = $info['prefix'];
56 $dir = "$dir_plugins$plug_file/lang/$prefix";
57 $desc = plugin_propre($info['description'], $dir);
58 $url_stat = parametre_url($url_page, "plugin", $dir_plugins . $plug_file);
59
60 $s .= "<strong class='nom'>" . typo($info['nom']) . "</strong>";
61 $s .= " <span class='version'>" . $info['version'] . "</span>";
62 $s .= " <span class='etat'> - " . plugin_etat_en_clair($info['etat']) . "</span>";
63 $s .= "</div>";
64
65 if ($erreur) {
66 $s .= "<div class='erreur'>" . join('<br >', $info['erreur']) . "</div>";
67 }
68
69 $s .= "</li>";
70
71 return $s;
72 }