[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / outils / type_urls_config.php
1 <?php
2
3 #-----------------------------------------------------#
4 # Plugin : Couteau Suisse - Licence : GPL #
5 # Auteur : Patrice Vanneufville, 2006 #
6 # Contact : patrice¡.!vanneufville¡@!laposte¡.!net #
7 # Infos : http://www.spip-contrib.net/?article2166 #
8 #-----------------------------------------------------#
9 if (!defined("_ECRIRE_INC_VERSION")) return;
10
11 # Fichier de configuration pris en compte par config_outils.php et specialement dedie a la configuration des URLs
12 # ---------------------------------------------------------------------------------------------------------------
13
14 # TODO : implementer les constantes _url_propres_sep_id, _URLS_ARBO_MIN, etc. !!
15
16 function outils_type_urls_config_dist() {
17
18 // Ajout de l'outil 'type_urls'
19 add_outil(array(
20 'id' => 'type_urls',
21 'code:spip_options' => "%%radio_type_urls3%%%%spip_script%%
22 switch(\$GLOBALS['type_urls']) {
23 case 'page':%%terminaison_urls_page%%%%separateur_urls_page%%break;
24 case 'propres':%%url_max_propres%%%%debut_urls_propres%%%%terminaison_urls_propres%%%%marqueurs_urls_propres%%break;
25 case 'propres2':%%url_max_propres2%%%%debut_urls_propres2%%%%marqueurs_urls_propres2%%break;
26 case 'libres':%%url_max_libres%%%%debut_urls_libres%%%%terminaison_urls_libres%%break;
27 case 'arbo':%%url_max_arbo%%%%url_arbo_minuscules%%%%url_arbo_sep_id%%%%terminaison_urls_arbo%%%%urls_arbo_sans_type%%break;
28 case 'propres_qs':%%url_max_propres_qs%%%%terminaison_urls_propres_qs%%%%marqueurs_urls_propres_qs%%break;
29 case 'propres-qs':%%url_max_propres_qs%%%%terminaison_urls_propres_qs%%break;
30 }",
31 'categorie' => 'admin',
32 // TODO : Dependance du plugin "Urls Etendues" sous SPIP 2.1
33 'description' => '<:type_urls::>'
34 // Tronc commun sous SPIP 2.0
35 .(defined('_SPIP19300')?'<radio_type_urls3 valeur="propres/propres2/libres/arbo/propres_qs"><:type_urls:1:>[[%urls_avec_id%]][[->%urls_avec_id2%]][[->%urls_id_3_chiffres%]][[->%urls_id_sauf_rubriques%]][[->%urls_id_sauf_liste%]]</radio_type_urls3>':''),
36 defined('_SPIP20100')
37 ?'pipelinecode:arbo_creer_chaine_url, pipelinecode:propres_creer_chaine_url'
38 :'pipelinecode:creer_chaine_url'
39 => "\$id = \$flux['objet']['id_objet']; \$ok = true;
40 if(%%urls_id_sauf_rubriques%%) {\$ok = strpos(':%%urls_id_sauf_liste%%:',':'.\$flux['objet']['type'].':')===false;}
41 if(%%urls_id_3_chiffres%%) {\$id = sprintf('%03d', \$id);}
42 if(%%urls_avec_id2%%) {@define('_CS_URL_SEP','-'); if(\$ok) \$flux['data']=\$id._CS_URL_SEP.\$flux['data'];}
43 if(%%urls_avec_id%%) {@define('_CS_URL_SEP',','); if(\$ok) \$flux['data'].=_CS_URL_SEP.\$id;}
44 if(%%urls_minuscules%%) {\$flux['data']=strtolower(\$flux['data']);}",
45 ));
46
47 // Ajout des variables utilisees ci-dessus
48 add_variables(
49
50 // ici on a besoin de boutons radio : 'page', 'html', 'propres', 'propres2, 'arbo', 'libres', 'standard' et 'propres-qs'
51 array(
52 'nom' => 'radio_type_urls3',
53 'format' => _format_CHAINE,
54 'radio' => defined('_SPIP19300')
55 // a partir de SPIP 2.0
56 ?array('page' => 'couteauprive:url_page',
57 'html' => 'couteauprive:url_html',
58 'propres' => 'couteauprive:url_propres',
59 'propres2' => 'couteauprive:url_propres2',
60 'libres'=> 'couteauprive:url_libres',
61 'arbo'=> 'couteauprive:url_arbo',
62 'standard' => 'couteauprive:url_standard',
63 'propres_qs' => 'couteauprive:url_propres_qs')
64 // max SPIP 1.92
65 :array('page' => 'couteauprive:url_page',
66 'html' => 'couteauprive:url_html',
67 'propres' => 'couteauprive:url_propres',
68 'propres2' => 'couteauprive:url_propres2',
69 'standard' => 'couteauprive:url_standard',
70 'propres-qs' => 'couteauprive:url_propres-qs'),
71 'radio/ligne' => 4,
72 'defaut' => "'page'",
73 'code' => "\$GLOBALS['type_urls']=%s;\n",
74 ),
75
76 # Utilise par 'page' (toutes les URLs) et 'propre' 'propre2' 'libres' et 'arbo' pour les objets non reconnus
77 # fonction d'appel dans inc/utils.php : get_spip_script()
78
79 array(
80 'nom' => 'spip_script',
81 'format' => _format_CHAINE,
82 'defaut' => "'spip.php'",
83 'code' => "define('_SPIP_SCRIPT', %s);\n",
84 ),
85
86 /////////// define('URLS_PAGE_EXEMPLE', 'spip.php?article12'); /////////////////
87
88 #######
89 # on peut indiquer '.html' pour faire joli
90 #define ('_terminaison_urls_page', '');
91 # ci-dessous, ce qu'on veut ou presque (de preference pas de '/')
92 # attention toutefois seuls '' et '=' figurent dans les modes de compatibilite
93 #define ('_separateur_urls_page', '');
94 # on peut indiquer '' si on a installe le .htaccess
95 #define ('_debut_urls_page', get_spip_script('./').'?');
96 #######
97
98 array(
99 'nom' => 'terminaison_urls_page',
100 'format' => _format_CHAINE,
101 'defaut' => "''",
102 'code:strlen(%s)' => "define('_terminaison_urls_page', %s);",
103 ), array(
104 'nom' => 'separateur_urls_page',
105 'format' => _format_CHAINE,
106 'defaut' => "''",
107 'code:strlen(%s)' => "define('_separateur_urls_page', %s);",
108 ),
109
110 /////////// define('URLS_ARBO_EXEMPLE', '/article/Titre'); /////////////////
111
112 array(
113 'nom' => 'url_arbo_minuscules',
114 'format' => _format_NOMBRE,
115 'radio' => array(0 => 'item_oui', 1 => 'item_non'),
116 'defaut' => 1,
117 'code:!%s' => "define('_url_arbo_minuscules', %s);",
118 ), array(
119 'nom' => 'urls_arbo_sans_type',
120 'format' => _format_NOMBRE,
121 'radio' => array(0 => 'item_oui', 1 => 'item_non'),
122 'defaut' => 1,
123 'code:%s' => "\n\$GLOBALS['url_arbo_types']=array('rubrique'=>'','article'=>'','breve'=>'','mot'=>'','auteur'=>'','site'=>'');",
124 ), array(
125 'nom' => 'url_arbo_sep_id',
126 'format' => _format_CHAINE,
127 'defaut' => "'-'",
128 'code' => "define('_url_arbo_sep_id', %s);",
129 ), array(
130 'nom' => 'url_max_arbo',
131 'format' => _format_NOMBRE,
132 'defaut' => 35,
133 'label' => '<:label:url_max_propres:>',
134 'code' => "define('_URLS_ARBO_MAX', %s);",
135 ), array(
136 'nom' => 'terminaison_urls_arbo',
137 'format' => _format_CHAINE,
138 'defaut' => "'.html'",
139 'label' => '<:label:terminaison_urls_page:>',
140 'code' => "define('_terminaison_urls_arbo', %s);",
141 ),
142
143 /////////// define('URLS_PROPRES_EXEMPLE', 'Titre-de-l-article -Rubrique-'); /////////////////
144
145 array(
146 'nom' => 'terminaison_urls_propres',
147 'format' => _format_CHAINE,
148 'defaut' => "''",
149 'label' => '<:label:terminaison_urls_page:>',
150 'code:strlen(%s)' => "define('_terminaison_urls_propres', %s);",
151 ), array(
152 'nom' => 'url_max_propres',
153 'format' => _format_NOMBRE,
154 'defaut' => 35,
155 'code' => "define('_URLS_PROPRES_MAX', %s);",
156 ), array(
157 'nom' => 'debut_urls_propres',
158 'format' => _format_CHAINE,
159 'defaut' => "''",
160 'code:strlen(%s)' => "define('_debut_urls_propres', %s);",
161 ), array(
162 'nom' => 'marqueurs_urls_propres',
163 'format' => _format_NOMBRE,
164 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
165 'defaut' => 1,
166 'code:!%s' => "define('_MARQUEUR_URL', false);"
167 ), array(
168 'nom' => 'url_max_propres2',
169 'format' => _format_NOMBRE,
170 'defaut' => 35,
171 'label' => '<:label:url_max_propres:>',
172 'code' => "define('_URLS_PROPRES_MAX', %s);",
173 ), array(
174 'nom' => 'debut_urls_propres2',
175 'format' => _format_CHAINE,
176 'defaut' => "''",
177 'label' => '<:label:debut_urls_propres:>',
178 'code:strlen(%s)' => "define('_debut_urls_propres', %s);",
179 ), array(
180 'nom' => 'marqueurs_urls_propres2',
181 'format' => _format_NOMBRE,
182 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
183 'defaut' => 1,
184 'label' => '<:label:marqueurs_urls_propres:>',
185 'code:!%s' => "define('_MARQUEUR_URL', false);"
186 ), array(
187 'nom' => 'terminaison_urls_libres',
188 'format' => _format_CHAINE,
189 'defaut' => "''",
190 'label' => '<:label:terminaison_urls_page:>',
191 'code:strlen(%s)' => "define('_terminaison_urls_propres', %s);",
192 ), array(
193 'nom' => 'url_max_libres',
194 'format' => _format_NOMBRE,
195 'defaut' => 35,
196 'label' => '<:label:url_max_propres:>',
197 'code' => "define('_URLS_PROPRES_MAX', %s);",
198 ), array(
199 'nom' => 'debut_urls_libres',
200 'format' => _format_CHAINE,
201 'defaut' => "''",
202 'label' => '<:label:debut_urls_propres:>',
203 'code:strlen(%s)' => "define('_debut_urls_propres', %s);",
204 ), array(
205 'nom' => 'terminaison_urls_propres_qs',
206 'format' => _format_CHAINE,
207 'defaut' => "''",
208 'label' => '<:label:terminaison_urls_page:>',
209 'code:strlen(%s)' => "define('_terminaison_urls_propres', %s);",
210 ), array(
211 'nom' => 'url_max_propres_qs',
212 'format' => _format_NOMBRE,
213 'defaut' => 35,
214 'label' => '<:label:url_max_propres:>',
215 'code' => "define('_URLS_PROPRES_MAX', %s);",
216 ), array(
217 'nom' => 'marqueurs_urls_propres_qs',
218 'format' => _format_NOMBRE,
219 'radio' => array(1 => 'item_oui', 0 => 'item_non'),
220 'defaut' => 1,
221 'label' => '<:label:marqueurs_urls_propres:>',
222 'code:!%s' => "define('_MARQUEUR_URL', false);",
223 ),
224
225 array(
226 'nom' => 'urls_minuscules',
227 'check' => 'couteauprive:urls_minuscules',
228 'label' => '@_CS_CHOIX@',
229 'defaut' => 0,
230 ), array(
231 'nom' => 'urls_avec_id',
232 'check' => 'couteauprive:urls_avec_id',
233 'defaut' => 0,
234 ), array(
235 'nom' => 'urls_avec_id2',
236 'check' => 'couteauprive:urls_avec_id2',
237 'defaut' => 0,
238 ), array(
239 'nom' => 'urls_id_3_chiffres',
240 'check' => 'couteauprive:urls_3_chiffres',
241 'defaut' => 0,
242 ), array(
243 'nom' => 'urls_id_sauf_rubriques',
244 'check' => 'couteauprive:urls_id_sauf_rubriques',
245 'defaut' => 0,
246 ), array(
247 'nom' => 'urls_id_sauf_liste',
248 'format' => _format_CHAINE,
249 'defaut' => "'rubrique:auteur'",
250 ));}
251
252 ?>