diff --git a/ecrire/plugins/afficher_plugin.php b/ecrire/plugins/afficher_plugin.php index ca5cb8978541bf2b28abd17bf70cc78247544540..0862e967b9d0c2fac99e7aa96365bece4374be9e 100644 --- a/ecrire/plugins/afficher_plugin.php +++ b/ecrire/plugins/afficher_plugin.php @@ -193,20 +193,29 @@ function affiche_bloc_plugin($plug_file, $info, $dir_plugins=null) { if (isset($info['auteur'])){ if (is_array($info['auteur'])) - $a = implode(', ',$info['auteur']); + $a = formater_credits($info['auteur'], ', '); // pour compat mais ne doit plus arriver else $a = trim($info['auteur']); if ($a) $s .= "<dt class='auteurs'>" . _T('public:par_auteur') ."</dt><dd class='auteurs'>". PtoBR(plugin_propre($a, $dir)) . "</dd>\n"; } + if (isset($info['credit'])){ - if ($a = implode(', ',$info['credit'])) + if ($a = formater_credits($info['credit'], ', ')) $s .= "<dt class='credits'>" . _T('plugin_info_credit') ."</dt><dd class='credits'>". PtoBR(plugin_propre($a, $dir)) . "</dd>\n"; } - if (isset($info['licence'])) - $s .= "<dt class='licence'>" . _T('intitule_licence') ."</dt><dd class='licence'>". PtoBR(plugin_propre($info['licence'], $dir)) . "</dd>\n"; + if (isset($info['licence'])) { + if (is_array($info['licence'])) + $a = formater_credits($info['licence'], ', '); + // pour compat mais ne doit plus arriver + else + $a = trim($info['licence']); + if ($a) + $s .= "<dt class='licence'>" . _T('intitule_licence') ."</dt><dd class='licence'>". PtoBR(plugin_propre($a, $dir)) . "</dd>\n"; + } + $s = "<dl class='description'>$s</dl>"; // @@ -237,4 +246,23 @@ function affiche_bloc_plugin($plug_file, $info, $dir_plugins=null) { return $s; } + +function formater_credits($infos, $sep=', ') { + $texte = ''; + + foreach ($infos as $_credit) { + if ($texte) + $texte .= $sep; + // Si le credit en cours n'est pas un array c'est donc un copyright + $texte .= + (!is_array($_credit)) + ? $_credit + : ($_credit['url'] ? '<a href="' . $_credit['url'] . '">' : '') . + $_credit['nom'] . + ($_credit['url'] ? '</a>' : ''); + } + + return $texte; +} + ?> diff --git a/ecrire/plugins/infos_paquet.php b/ecrire/plugins/infos_paquet.php index 62bf4482d6697677ab2877a64e23e983e83fb402..da27c1ca9277c09f08badd57e468243b12b70886 100644 --- a/ecrire/plugins/infos_paquet.php +++ b/ecrire/plugins/infos_paquet.php @@ -172,9 +172,11 @@ function paquet_finElement($phraseur, $name) { */ function info_paquet_licence($phraseur, $attrs, $texte) { if (isset($attrs['lien'])) - $texte = "<a href='".$attrs['lien']."'>".$texte."</a>"; + $lien = $attrs['lien']; + else + $lien = ''; $n = $phraseur->contenu['compatible']; - $phraseur->versions[$n]['licence'] = $texte; + $phraseur->versions[$n]['licence'][] = array('nom' => $texte, 'url' => $lien); } /** @@ -191,18 +193,18 @@ function info_paquet_auteur($phraseur, $attrs, $texte) { if (isset($attrs['mail'])){ if (strpos($attrs['mail'], '@')) $attrs['mail'] = str_replace('@', ' AT ', $attrs['mail']); - $mail = ' ('.$attrs['mail'].')'; + $mail = $attrs['mail']; } else $mail = ''; if (isset($attrs['lien'])) - $lien = "<a href='".$attrs['lien']."' class='spip_out'>".$texte."</a>"; + $lien = $attrs['lien']; else - $lien = $texte; + $lien = ''; $n = $phraseur->contenu['compatible']; - $phraseur->versions[$n]['auteur'][$texte] = $lien.$mail; + $phraseur->versions[$n]['auteur'][] = array('nom' => $texte, 'url' => $lien, 'mail' => $mail); } /** @@ -216,12 +218,25 @@ function info_paquet_auteur($phraseur, $attrs, $texte) { function info_paquet_credit($phraseur, $attrs, $texte) { if (isset($attrs['lien'])) - $lien = "<a href='".$attrs['lien']."' class='spip_out'>".$texte."</a>"; + $lien = $attrs['lien']; else - $lien = $texte; + $lien = ''; + + $n = $phraseur->contenu['compatible']; + $phraseur->versions[$n]['credit'][] = array('nom' => $texte, 'url' => $lien); +} +/** + * Cas particulier de la balise licence : + * transformer en lien sur url fournie dans l'attribut lien + * + * @param object $phraseur + * @param array $attrs + * @param string $texte + */ +function info_paquet_copyright($phraseur, $attrs, $texte) { $n = $phraseur->contenu['compatible']; - $phraseur->versions[$n]['credit'][$texte] = $lien; + $phraseur->versions[$n]['copyright'][] = $texte; } ?>