Changeset 115264 in spip-zone
- Timestamp:
- May 7, 2019, 11:01:00 AM (22 months ago)
- Location:
- _plugins_/z-core/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/z-core/trunk/paquet.xml
r115039 r115264 2 2 prefix="Zcore" 3 3 categorie="outil" 4 version="2. 7.2"4 version="2.8.0" 5 5 etat="stable" 6 6 compatibilite="[3.0.0;3.2.*]" -
_plugins_/z-core/trunk/zcore_options.php
r115039 r115264 132 132 133 133 /** 134 * utiliser une icone standard du sprite par defaut : 134 135 * #ICON{search,icon-sm,Rechercher} 136 * 137 * utiliser une icone #search definie dans un svg inline de la page 138 * #ICON{#search,icon-sm,Rechercher} 139 * 140 * utiliser une l'icone #search definie dans un svg externe (qui sera resolu via #CHEMIN) 141 * #ICON{img/sprite.svg#search,icon-sm,Rechercher} 142 * 135 143 * @param $p 136 144 * @return mixed … … 160 168 161 169 function afficher_icone_svg($name, $class = '', $alt = '') { 162 static $sprite_file; 163 if (is_null($sprite_file)) { 164 if (!defined('_ICON_SPRITE_SVG_FILE')) { 165 define('_ICON_SPRITE_SVG_FILE', "css/bytesize/bytesize-symbols.min.svg"); 166 } 167 $sprite_file = timestamp(find_in_path(_ICON_SPRITE_SVG_FILE)); 168 } 170 $icone_href_class_from_name = chercher_filtre("icone_href_class_from_name"); 171 list($href, $class_base) = $icone_href_class_from_name($name); 169 172 if (!$name) { 170 return $ sprite_file;171 } 172 if ($sprite_file) { 173 $name = preg_replace(",[^\w\-],", "", $name);173 return $href; 174 } 175 176 if ($href) { 174 177 /* 175 178 <svg aria-labelledby="my-icon-title" role="img"> … … 184 187 $svg = "<svg role=\"img\" width=\"0\" height=\"0\""; 185 188 if ($alt) { 186 $id = "icon-title-" . substr(md5("$name:$alt:$ sprite_file"),0,4);189 $id = "icon-title-" . substr(md5("$name:$alt:$href"),0,4); 187 190 $svg .= " aria-labelledby=\"$id\"><title id=\"$id\">" . entites_html($alt)."</title>"; 188 191 } … … 190 193 $svg .= ">"; 191 194 } 192 $icone_ancre_from_name = chercher_filtre("icone_ancre_from_name"); 193 $ancre = $icone_ancre_from_name($name); 194 $svg .= "<use xlink:href=\"$sprite_file#$ancre\"></use>"; 195 $svg .= "<use xlink:href=\"$href\"></use>"; 195 196 $svg .= "</svg>"; 196 197 198 if ($class_base = trim($class_base)) { 199 $class_base = ' icon-' . $class_base; 200 } 197 201 if ($class = trim($class)) { 198 202 $class = preg_replace(",[^\w\s\-],", "", $class); 199 203 } 200 return "<i class=\"icon icon-$name" . ($class ? " $class" : "") . "\">$svg</i> ";204 return "<i class=\"icon{$class_base}" . ($class ? " $class" : "") . "\">$svg</i> "; 201 205 } 202 206 return ""; 203 207 } 204 208 205 function filtre_icone_ancre_from_name_dist($name) { 209 function filtre_icone_href_class_from_name_dist($name) { 210 static $sprite_files = array(); 211 212 if (strpos($name,'#') !== false or strpos($name,'/') !== false or strpos($name,'.svg') !== false) { 213 // l'ancre est fournie explicitement (sprite inline) 214 // voire le nom du fichier sprite svg 215 list($filename, $anchor) = explode('#', trim($name), 2); 216 // sanitizer l'ancre pour la class 217 $class = preg_replace(",[^\w\-],", "", $anchor); 218 219 if ($filename) { 220 if (!isset($sprite_files[$filename])) { 221 $sprite_files[$filename] = timestamp(find_in_path($filename)); 222 } 223 $filename = $sprite_files[$filename]; 224 return array($filename . ($anchor ? '#' . $anchor : ''), $class); 225 } 226 else { 227 return array($name, $class); 228 } 229 } 230 else { 231 // c'est le sprite par defaut avec un name qui correspond a l'ancre abregee 232 // et la gestion de quelques historiques de nommage/renommage 233 if (!isset($sprite_files[''])) { 234 if (!defined('_ICON_SPRITE_SVG_FILE')) { 235 define('_ICON_SPRITE_SVG_FILE', "css/bytesize/bytesize-symbols.min.svg"); 236 } 237 $sprite_files[''] = timestamp(find_in_path(_ICON_SPRITE_SVG_FILE)); 238 } 239 // sanitizer l'ancre pour la class 240 $class = preg_replace(",[^\w\-],", "", $name); 241 if (!$name) { 242 return array($sprite_files[''], $class); 243 } 244 $icone_anchor_from_name = chercher_filtre("icone_anchor_from_name"); 245 $anchor = $icone_anchor_from_name($name); 246 return array($sprite_files[''] . '#' . $anchor, $class); 247 } 248 } 249 250 function filtre_icone_anchor_from_name_dist($name) { 206 251 switch ($name) { 207 252 case "comment":
Note: See TracChangeset
for help on using the changeset viewer.