source: spip-zone/_plugins_/coordonnees/trunk/coordonnees_fonctions.php @ 70504

Last change on this file since 70504 was 70504, checked in by tcharlss@…, 7 years ago
  • Langues : un fichier de langue par objet éditorial + formattage des chaînes de langue pour SPIP 3. Mise à jour des chaînes de langue dans les fichiers afférents.
  • Commentaires façon "la fabrique" dans les fichiers php
File size: 2.9 KB
Line 
1<?php
2/**
3 * Plugin Coordonnees
4 * Licence GPL (c) 2010 Matthieu Marcillaud
5**/
6
7if (!defined('_ECRIRE_INC_VERSION')) return;
8
9/*
10 * Fonction privee mutualisee utilisee par les filtres logo_type_xx
11 * Renvoit soit une balise <img> si elle est trouvee, soit une balise <abbr>
12 *
13 * @param string $id    adr, tel, email, mel
14 * @param string $val   le type de coordonnee (dom, home, work etc.)
15 * @return string       balise <img> ou <abbr>   
16**/ 
17function logo_type_($id='', $val='') {
18        include_spip('inc/utils');
19        global $formats_logos;
20        switch ($id) {
21                case "adr"; $prefix_lang = "adresse"; break;
22                case "tel"; $prefix_lang = "numero"; break;
23                case "email"; $prefix_lang = "email"; break;
24                case "mel"; $prefix_lang = "email"; break;
25        } 
26        $type = strtolower($val);
27        $lang = _T( ($id ? ($prefix_lang.':type_'. $id) : 'perso:type' )  . '_'.$type ); // les types libres sont traites par le fichier de langue perso
28        foreach ($formats_logos as $format) { // inspiration source: ecrire/inc/chercher_logo.php
29                $fichier = 'type'. ($id ? ('_' . $id) : '') . ($type ? ('_' . $type) : '') . '.' . $format;
30                if ( $chemin = chemin_image($fichier) )
31                        $im = $chemin;
32        }
33        if ($im)
34                return '<img class="type" src="' . $im . '" alt="' . $type . '" title="' . $lang . '" />';
35        elseif ($type)
36                return '<abbr class="type" title="' . $type . '">' . $lang . '</abbr>';
37        else
38                return '';
39}
40
41/*
42 * filtre renvoyant une balise <img> ou <abbr> d'apres le type d'une adresse
43 *
44 * @param string $type_adresse    RFC2426/CCITT.X520 : dom home intl parcel postal pref work
45 * @return string                 balise <img> ou <abbr>
46**/ 
47function filtre_logo_type_adr($type_adresse) {
48        return logo_type_('adr', $type_adresse);
49}
50
51/*
52 * filtre renvoyant une balise <img> ou <abbr> d'apres le type d'un numero de tel
53 *
54 * @param string $type_tel    RFC2426/CCITT.X500 : bbs car cell fax home isdn modem msg pager pcs pref video voice work
55 *                            RFC6350/CCITT.X520.1988 : cell fax pager text textphone video voice x-... (iana-token)
56 *                            + : dsl
57 * @return string             balise <img> ou <abbr>
58**/ 
59function filtre_logo_type_tel($type_numero) {
60        return logo_type_('tel', $type_numero);
61}
62
63/*
64 * filtre renvoyant une balise <img> ou <abbr> d'apres le type d'un email
65 *
66 * @param string $type_adresse    RFC2426/IANA : internet pref x400
67 *                                RFC6350/CCITT.X520+RFC5322 : home intl work
68 * @return string                 balise <img> ou <abbr>
69**/ 
70function filtre_logo_type_email($type_email) {
71        return logo_type_('email', $type_email);
72}
73
74/*
75 * filtre renvoyant une balise <img> ou <abbr> d'apres le type d'un mel (email)
76 *
77 * @param string $type_adresse    RFC6350/CCITT.X520+RFC5322 readapte : perso pro
78 * @return string                 balise <img> ou <abbr>
79**/ 
80function filtre_logo_type_mel($type_email) {
81        return logo_type_('mel', $type_email);
82}
83
84?>
Note: See TracBrowser for help on using the repository browser.