/** * Filtre pour afficher l'img icone d'un objet * * @param string $objet * @param int $taille * @return string */ function objet_icone($objet, $taille = 24) { $icone = objet_info($objet, 'icone_objet') . "-" . $taille . ".png"; $icone = chemin_image($icone); $balise_img = charger_filtre('balise_img'); return $icone ? $balise_img($icone, _T(objet_info($objet, 'texte_objet'))) : ''; }
/** * Calcule la vignette d'une extension (l'image du type de fichier) * * Utile dans une boucle DOCUMENTS pour afficher une vignette du type * du document (balise `#EXTENSION`) alors que ce document a déjà une vignette * personnalisée (affichable par `#LOGO_DOCUMENT`). * * @example * `[(#EXTENSION|vignette)]` produit une balise `<img ... />` * `[(#EXTENSION|vignette{true})]` retourne le chemin de l'image * * @param string $extension * L'extension du fichier, exemple : png ou pdf * @param bool $get_chemin * false pour obtenir une balise img de l'image, * true pour obtenir seulement le chemin du fichier * @return string * Balise HTML <img...> ou chemin du fichier **/ function filtre_vignette_dist($extension = 'defaut', $get_chemin = false) { static $vignette = false; static $balise_img = false; if (!$vignette) { $vignette = charger_fonction('vignette', 'inc'); $balise_img = charger_filtre('balise_img'); } $fichier = $vignette($extension, false); // retourne simplement le chemin du fichier if ($get_chemin) { return $fichier; } // retourne une balise <img ... /> return $balise_img($fichier); }
/** * Massicoter un logo * * Traitement automatique sur les balises #LOGO_* * * @param string $fichier : Le logo * * @return string : Un logo massicoté */ function massicoter_logo($logo, $objet_type = null, $id_objet = null, $role = null, $env = null) { include_spip('inc/filtres'); if (!$logo) { return $logo; } $src = extraire_attribut($logo, 'src'); $alt = extraire_attribut($logo, 'alt'); $classes = extraire_attribut($logo, 'class'); $onmouseover = extraire_attribut($logo, 'onmouseover'); $onmouseout = extraire_attribut($logo, 'onmouseout'); /* S'il n'y a pas d'id_objet, on essaie de le deviner avec le nom du fichier, c'est toujours mieux que rien. Sinon on abandonne… */ if (is_null($id_objet)) { $objet = massicot_trouver_objet_logo($src); /* Si le plugin roles_documents est activé, l'objet n'est pas forcément * devinable via le nom de fichier (notamment avec la balise * LOGO_ARTICLE_RUBRIQUE). Dans ce cas on essaie de bidouiller un truc * avec l'environnement. */ if (test_plugin_actif('roles_documents') and $env) { if (isset($env['id_article'])) { $objet = array('objet' => 'article', 'id_objet' => $env['id_article']); } elseif (isset($env['id_rubrique'])) { $objet = array('objet' => 'rubrique', 'id_objet' => $env['id_rubrique']); } } if (is_null($objet)) { return $logo; } $objet_type = $objet['objet']; $id_objet = $objet['id_objet']; } $parametres = massicot_get_parametres($objet_type, $id_objet, $role); $fichier = massicoter_fichier($src, $parametres); if ($onmouseout) { $onmouseout = str_replace($src, $fichier, $onmouseout); } if ($onmouseover) { $src_off = preg_replace('/^.*[\']([^\']+)[\']/', '$1', $onmouseover); $parametres_off = massicot_get_parametres($objet_type, $id_objet, 'logo_survol'); $fichier_off = massicoter_fichier($src_off, $parametres_off); $onmouseover = str_replace($src_off, $fichier_off, $onmouseover); } $balise_img = charger_filtre('balise_img'); $balise = $balise_img($fichier, $alt, $classes); $balise = inserer_attribut($balise, 'onmouseover', $onmouseover); $balise = inserer_attribut($balise, 'onmouseout', $onmouseout); return $balise; }
/** * Initialiser la page pour l'affichage des progres de l'upgrade * uniquement si la page n'a pas deja ete initilalisee * * @param string $installee * @param string $meta * @param string $table * @return */ function maj_debut_page($installee, $meta, $table) { static $done = false; if ($done) { return; } include_spip('inc/minipres'); @ini_set("zlib.output_compression", "0"); // pour permettre l'affichage au fur et a mesure $timeout = _UPGRADE_TIME_OUT * 2; $titre = _T('titre_page_upgrade'); $balise_img = charger_filtre('balise_img'); $titre .= $balise_img(chemin_image('searching.gif')); echo install_debut_html($titre); // script de rechargement auto sur timeout $redirect = generer_url_ecrire('upgrade', "reinstall={$installee}&meta={$meta}&table={$table}", true); echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . $timeout * 1000 . ")"); echo "<div style='text-align: left'>\n"; ob_flush(); flush(); $done = true; }