You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bootstrap4/bootstrap4_options.php

130 lines
4.1 KiB
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
$GLOBALS['marqueur_skel'] = (isset($GLOBALS['marqueur_skel']) ? $GLOBALS['marqueur_skel'] : '').":bootstrap4";
// la puce sans image si jamais on est pas encore en SPIP 3.3+
$GLOBALS['puce'] = '<span class="spip-puce ltr"><b></b></span>';
$GLOBALS['puce_rtl'] = '<span class="spip-puce rtl"><b></b></span>';
// les icones BS4
// un fichier qui contient toutes les icones, utilise pour la page de demo uniquement
define('_ICON_SPRITE_SVG_FILE', "img/bi-all-symbols.svg");
// 2 sprites : celui de base + celui avec les variantes fill
define('_ICON_SPRITE_SVG_NOFILL_FILE', "img/bi-symbols.svg");
define('_ICON_SPRITE_SVG_FILL_FILE', "img/bi-fill-symbols.svg");
// 1 sprite mini : juste pour les icones de z/spipr
define('_ICON_SPRITE_SVG_MIN_FILE', "img/bi-min-symbols.svg");
define('_ICON_SPRITE_SVG_ID_PREFIX', "bi-");
function filtre_icone_href_class_from_name($name) {
static $sprite_files = [];
if (strpos($name,'#') !== false or strpos($name,'/') !== false or strpos($name,'.svg') !== false){
return filtre_icone_href_class_from_name_dist($name);
}
else {
if (!$name) {
return array(find_in_path(_ICON_SPRITE_SVG_FILE), '');
}
$icone_anchor_from_name = chercher_filtre("icone_anchor_from_name");
$anchor = $icone_anchor_from_name($name);
// on a un petit sprite dedie aux icones utilisees par defaut par Z-core et spipr-xx pour ne pas charger la mule
// c'est un sprite maintenu a la main, lister ici les icones qu'il contient
if (in_array($anchor,['bi-person','bi-calendar','bi-chevron-left','bi-chevron-right','bi-chat','bi-tag','bi-check-box','bi-skip-start','bi-skip-end'])) {
if (!isset($sprite_files['min'])){
$sprite_files['min'] = timestamp(find_in_path(_ICON_SPRITE_SVG_MIN_FILE));
}
$file = $sprite_files['min'];
}
// c'est le sprite par defaut avec un name qui correspond a l'ancre abregee
// et la gestion de quelques historiques de nommage/renommage
elseif (strpos($name, '-fill') !== false){
if (!isset($sprite_files['fill'])){
$sprite_files['fill'] = timestamp(find_in_path(_ICON_SPRITE_SVG_FILL_FILE));
}
$file = $sprite_files['fill'];
}
else {
if (!isset($sprite_files['nofill'])){
$sprite_files['nofill'] = timestamp(find_in_path(_ICON_SPRITE_SVG_NOFILL_FILE));
}
$file = $sprite_files['nofill'];
}
// sanitizer l'ancre pour la class
$class = preg_replace(",[^\w\-],", "", $name);
if (_ICON_SPRITE_SVG_ID_PREFIX) {
$class .= " " . _ICON_SPRITE_SVG_ID_PREFIX . "icon";
}
return array($file . '#' . $anchor, $class);
}
}
function filtre_icone_anchor_from_name($name) {
if (_ICON_SPRITE_SVG_ID_PREFIX) {
if (strpos($name, _ICON_SPRITE_SVG_ID_PREFIX) === 0) {
$name = substr($name, strlen(_ICON_SPRITE_SVG_ID_PREFIX));
}
}
switch ($name) {
case "comment":
case "msg":
$ancre = 'chat';
break;
case "ok-circle":
$ancre = 'check-box';
break;
case "user":
$ancre = 'person';
break;
case "end":
case "start":
$ancre = 'skip-' . $name;
break;
case "close":
$ancre = 'x';
break;
case "chevron-top":
$ancre = 'chevron-up';
break;
case "chevron-bottom":
$ancre = 'chevron-down';
break;
case "caret-top":
$ancre = 'caret-up';
break;
case "caret-bottom":
$ancre = 'caret-down';
break;
default:
$ancre = $name;
break;
}
return _ICON_SPRITE_SVG_ID_PREFIX . $ancre;
}
function bootstrap4_affichage_final($flux){
if (
$GLOBALS['html']
AND isset($GLOBALS['visiteur_session']['statut'])
AND $GLOBALS['visiteur_session']['statut']=='0minirezo'
AND $GLOBALS['visiteur_session']['webmestre']=='oui'
AND strpos($flux,"<!-- insert_head -->")!==false
AND $p=stripos($flux,"</body>")
) {
if ($f = find_in_path("js/hashgrid.js")){
$flux = substr_replace($flux,'<script type="text/javascript" src="'.$f.'"></script>',$p,0);
}
if ((_VAR_MODE === 'debug' || _request('var_profile'))
AND $p=stripos($flux,"</head>")){
$file_css = direction_css(scss_select_css('css/spip.admin.css'));
$css = file_get_contents($file_css);
$css = "<style type='text/css'>$css</style>";
$flux = substr_replace($flux,$css,$p,0);
}
}
return $flux;
}