You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.3 KiB
62 lines
2.3 KiB
<?php
|
|
|
|
// Construit le contenu multi des balises nom, slogan et description a partir des items de langue
|
|
// contenus dans les fichiers paquet-prefixe_langue.php
|
|
function empaqueteur_paquet_multi($dir_source) {
|
|
$multis = '';
|
|
|
|
if ($fichier_fr = glob($dir_source . '/lang/paquet-*_fr.php')) {
|
|
// Determination du nom du module, du prefixe et des items de langue
|
|
$nom_fr = basename($fichier_fr[0], '.php');
|
|
$prefixe = substr($nom_fr, 7, strlen($nom_fr)-3-7);
|
|
$module = "paquet-$prefixe";
|
|
$item_nom = $prefixe . "_nom";
|
|
$item_slogan = $prefixe . "_slogan";
|
|
$item_description = $prefixe . "_description";
|
|
|
|
// On cherche tous les fichiers de langue destines a la traduction du paquet.xml
|
|
if ($fichiers_langue = glob($dir_source . "/lang/{$module}_*.php")) {
|
|
$nom = $slogan = $description = '';
|
|
foreach ($fichiers_langue as $_fichier_langue) {
|
|
$nom_fichier = basename($_fichier_langue, '.php');
|
|
$langue = substr($nom_fichier, strlen($module) + 1 - strlen($nom_fichier));
|
|
// Si la langue est reconnue, on traite la liste des items de langue
|
|
if (isset($GLOBALS['codes_langues'][$langue])) {
|
|
$GLOBALS['idx_lang'] = $langue;
|
|
include($_fichier_langue);
|
|
foreach ($GLOBALS[$langue] as $_item => $_traduction) {
|
|
if ($_item == $item_nom)
|
|
$nom .= "\n[$langue]$_traduction";
|
|
if ($_item == $item_slogan)
|
|
$slogan .= "\n[$langue]$_traduction";
|
|
if ($_item == $item_description)
|
|
$description .= "\n[$langue]$_traduction";
|
|
}
|
|
}
|
|
}
|
|
|
|
// Finaliser la construction des balises multi
|
|
if ($nom) $multis .= "<nom>\n<multi>$nom\n</multi>\n</nom>\n";
|
|
if ($slogan) $multis .= "<slogan>\n<multi>$slogan\n</multi>\n</slogan>\n";
|
|
if ($description) $multis .= "<description>\n<multi>$description\n</multi>\n</description>\n";
|
|
}
|
|
}
|
|
|
|
return ($multis ? "<multis>\n$multis</multis>" : '');
|
|
}
|
|
|
|
|
|
// Renvoie le path complet du logo a partir de la balise icon de plugin.xml et de la racine des sources
|
|
function empaqueteur_paquet_logo($xml, $dir_source) {
|
|
if (preg_match('#logo\s*=\s*[\'"](.+)[\'"]#i', $xml, $matches)) {
|
|
$logo = $dir_source . '/' . trim($matches[1]);
|
|
|
|
$logo_svg = preg_replace(",-\d+\.png$,", "-xx.svg", $logo);
|
|
if ($logo_svg !== $logo and file_exists($logo_svg)) {
|
|
return $logo_svg;
|
|
}
|
|
|
|
return $logo;
|
|
}
|
|
return '';
|
|
}
|