function exec_info_plugin_distant_dist() { if (!autoriser('configurer', 'plugins')) { include_spip('inc/minipres'); echo minipres(); } else { $plug = _request('plugin'); include_spip('inc/charger_plugin'); include_spip('inc/texte'); $liste = liste_plugins_distants($plug); $item = $liste[$plug][2]; $afficher_plugin_distant = charger_fonction("afficher_plugin_distant","plugins"); ajax_retour(affiche_bloc_plugin_distant($plug, $liste[$plug][2])); } }
function plugins_afficher_plugin_distant_dist($url_page, $zip_file, $info, $expose=false, $class_li="item"){ static $id_input=0; static $versions = array(); static $charger_plugin = null; $erreur = false; $s = ""; $titre = $info[0]; $url_doc = $info[1]; $info = $info[2]; // recuperer le tableau $titre = typo('<multi>'.$titre.'</multi>'); // recuperer les blocs multi du flux de la zone (temporaire?) $nick = strtolower(basename($zip_file, '.zip')); $info['prefix'] = $nick; $plug_file = $zip_file; // numerotons les occurences d'un meme prefix $versions[$info['prefix']] = isset($versions[$info['prefix']]) ? $versions[$info['prefix']] + 1 : ''; $id = $info['prefix'] . $versions[$info['prefix']]; $class = $class_li; $class .= $actif?" actif":""; $class .= $expose?" on":""; $erreur = isset($info['erreur']); if ($erreur) $class .= " erreur"; $s .= "<li id='$id' class='$class'>"; // checkbox pour activer ou desactiver // si $actif vaut -1, c'est actif, et ce n'est pas desactivable (extension) /* if (!$erreur AND $actif>=0){ $id_input++; $check = "\n<input type='radio' name='url_zip_plugin' id='label_$id_input' value='O'"; $check .= $actif?" checked='checked'":""; $check .= " class='checkbox' />"; $check .= "<label for='label_$id_input'>".$titre."</label>"; $s .= "<div class='check'>$check</div>"; }*/ if (!$erreur){ // bouton de telechargement if (!$charger_plugin) $charger_plugin = generer_action_auteur('charger_plugin',"charger_zip","./"); $balise_img = chercher_filtre('balise_img'); $action = parametre_url($charger_plugin,'url_zip_plugin',$plug_file); $s .= "<div class='download'>". "<a href='$action' title='"._T('plugin_charger')."'>" . $balise_img(find_in_path("images/telecharger-16.png"),_T('plugin_charger')) ."</a></div>" ; } // Cartouche Resume $s .= "<div class='resume'>"; $desc = $info['descriptif']; $url_stat = parametre_url($url_page, "plugin",$plug_file); $s .= "<h3 class='nom'><a href='$url_stat' rel='info'>".$titre."</a></h3>"; $s .= "<div class='short'>".couper($desc,60)."</div>"; if (isset($info['icon']) and $info['icon']) { include_spip("inc/filtres_images_mini"); $s.= "<div class='icon'><a href='$url_stat' rel='info'><img src='".$info['icon']."' width='32' height='auto' /></a></div>"; } $s .= "</div>"; if ($erreur){ $s .= "<div class='erreur'>"; foreach($info['erreur'] as $err) $s .= "$err <br/>"; $s .= "</div>"; } // afficher les details d'un plug en secours ; la div sert pour l'ajax $s .= "<div class='details'>"; if ($expose) $s .= affiche_bloc_plugin_distant($plug_file, $info); $s .= "</div>"; $s .= "</li>"; return $s; }