83 lines
No EOL
2.3 KiB
PHP
83 lines
No EOL
2.3 KiB
PHP
<?php
|
|
/**
|
|
* Fonctions utiles au plugin balint
|
|
*
|
|
* @plugin balint
|
|
* @copyright 2020
|
|
* @author Gamuza[informatique]
|
|
* @licence GNU/GPL
|
|
* @package SPIP\Fip\Fonctions
|
|
*/
|
|
|
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* function qui permet d'afficher une image svg inline en y ajoutant un id et 2 balises : title et alt
|
|
* La fonction supprime tout ce qui se trouve au dessus de la balise <svg>
|
|
* ex : [(#CHEMIN{IMG/rubon#ID_RUBRIQUE.svg}|afficher_svg{#ID_RUBRIQUE,#GET{class},#GET{titre},#GET{titre}})]
|
|
*
|
|
*
|
|
* @param $url_relative de l'image
|
|
* @param $id = numero de l'id
|
|
* @param $class
|
|
* @param $title
|
|
* @param $alt
|
|
*
|
|
* @return $svg (le code svg)
|
|
* @author tofulm
|
|
**/
|
|
function afficher_svg($url_relative, $id=0, $class = '', $title='', $alt=''){
|
|
// nettoyer $url_relative des ?timestamp et vérifier que le ficher existe
|
|
$url_relative = explode('?', $url_relative)[0];
|
|
if (!file_exists($url_relative)) {
|
|
return;
|
|
}
|
|
$svg = file_get_contents($url_relative);
|
|
if ($id) {
|
|
$id = "id_$id";
|
|
$class = ' class="'.$class.'" ';
|
|
$pattern = '/(.+?<svg)(.+?id=")(.+?)(".+?)(<\/svg>)/s';
|
|
$replace = '<svg'.$class.'${2}'.$id.'${4}';
|
|
if ($title) {
|
|
$title = "<title>$title</title>";
|
|
$replace .= $title;
|
|
}
|
|
if ($alt) {
|
|
$alt = "<alt>$alt</alt>";
|
|
$replace .= $alt;
|
|
}
|
|
$replace .= '${5}';
|
|
$svg = preg_replace($pattern,$replace,$svg,1);
|
|
}
|
|
|
|
return $svg;
|
|
}
|
|
|
|
|
|
if (!function_exists('array_column')) {
|
|
function array_column($array, $columnKey, $indexKey = null)
|
|
{
|
|
$result = array();
|
|
foreach ($array as $subArray) {
|
|
if (is_null($indexKey) && array_key_exists($columnKey, $subArray)) {
|
|
$result[] = is_object($subArray)?$subArray->$columnKey: $subArray[$columnKey];
|
|
} elseif (array_key_exists($indexKey, $subArray)) {
|
|
if (is_null($columnKey)) {
|
|
$index = is_object($subArray)?$subArray->$indexKey: $subArray[$indexKey];
|
|
$result[$index] = $subArray;
|
|
} elseif (array_key_exists($columnKey, $subArray)) {
|
|
$index = is_object($subArray)?$subArray->$indexKey: $subArray[$indexKey];
|
|
$result[$index] = is_object($subArray)?$subArray->$columnKey: $subArray[$columnKey];
|
|
}
|
|
}
|
|
}
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
function info_param($arg){
|
|
list($objet,$id_objet,$param)=explode('/',$arg);
|
|
return sql_getfetsel($param,'spip_' .$objet. 's',"id_$objet=$id_objet");
|
|
} |