diff --git a/ecrire/configuration/type_urls.php b/ecrire/configuration/type_urls.php index f82d20baa07c238cdaae31b24114dbbfbc50e25c..217c438309bede3fcae3cb3647d8c094b1be1ebd 100644 --- a/ecrire/configuration/type_urls.php +++ b/ecrire/configuration/type_urls.php @@ -12,49 +12,38 @@ if (!defined("_ECRIRE_INC_VERSION")) return; +// Choix du type d'url + include_spip('inc/presentation'); include_spip('inc/config'); function configuration_type_urls_dist() { - global $spip_lang_right; - - $res = ''; - - // Choix du type d'url if ($GLOBALS['type_urls'] != 'page') // fixe par mes_options return ''; - $types_dispo = array( - 'page' => '<em>page</em> — <tt>spip.php?article12</tt>', - 'html' => '<em>html</em> — <tt>article12.html</tt>', - 'arbo' => '<em>arbo</em> — <tt>/article/Titre</tt>', - 'standard' => '<em>standard</em> — <tt>article.php3?id_article=12</tt>', - 'propres' => '<em>propres</em> — <tt>Titre-de-l-article</tt>, <tt>-Rubrique-</tt>', - 'libres' => '<em>libres</em> — <tt>Titre-de-l-article</tt>, <tt>Rubrique</tt>', - 'propres2' => '<em>propres2</em> — <tt>Titre-de-l-article.html</tt>, <tt>-Rubrique-.html</tt>', - 'propres_qs' => '<em>propres_qs</em> — <tt>?Titre-de-l-article</tt>' - ); - - $res .= "<p class='verdana2'>" + $dispo = array(); + foreach (find_all_in_path('', 'urls/\w+\.php$', array()) as $f) { + $r = basename($f, '.php'); + if ($r == 'index') continue; + include $f; + $exemple = 'URLS_' . strtoupper($r) . '_EXEMPLE'; + $exemple = defined($exemple) ? constant($exemple) : '?'; + $dispo[$r] = "<em>$r</em> — <tt>" . $exemple . '</tt>'; + } + + $res = "<p class='verdana2'>" . _T('texte_type_urls') - . " " . "</p>" - . "<div class='verdana2'>" - . afficher_choix('type_urls', - $GLOBALS['meta']['type_urls'], - $types_dispo - ) + . afficher_choix('type_urls', $GLOBALS['meta']['type_urls'], $dispo) . "</div>" - - . "<p><em>"._T('texte_type_urls_attention', array('htaccess' => '<tt>.htaccess</tt>'))."</em></p>"; - - + . "<p><em>" + . _T('texte_type_urls_attention', array('htaccess' => '<tt>.htaccess</tt>')) + . "</em></p>"; - $res = '<br />'.debut_cadre_trait_couleur("", true, "", - _T('titre_type_urls')) + $res = '<br />'.debut_cadre_trait_couleur("", true, "", _T('titre_type_urls')) . ajax_action_post('configurer', 'type_urls', 'config_fonctions', '', $res) . fin_cadre_trait_couleur(true); diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 7c4eca8c2ad1325a13ef34f7e0fb6d2e81310211..b0400799b0020178bc8591b159db19e776290e01 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -692,14 +692,15 @@ function find_in_path ($file, $dirname='', $include=false) { // http://doc.spip.org/@find_all_in_path -function find_all_in_path($dir,$pattern){ +function find_all_in_path($dir,$pattern, $recurs=false){ $liste_fichiers=array(); $maxfiles = 10000; // Parcourir le chemin - foreach (creer_chemin() as $d) - if (@is_dir($f = $d.$dir)){ - $liste = preg_files($d.$dir,$pattern,$maxfiles-count($liste_fichiers),false); + foreach (creer_chemin() as $d) { + $f = $d.$dir; + if (@is_dir($f)){ + $liste = preg_files($f,$pattern,$maxfiles-count($liste_fichiers),$recurs); foreach($liste as $chemin){ $nom = basename($chemin); // ne prendre que les fichiers pas deja trouves @@ -709,7 +710,7 @@ function find_all_in_path($dir,$pattern){ $liste_fichiers[$nom] = $chemin; } } - + } return $liste_fichiers; } @@ -766,7 +767,7 @@ function generer_url_entite($id='', $entite='', $args='', $ancre='', $public=NUL include_spip('inc/lien'); if (!function_exists($f = 'generer_url_' . $entite)) { if (!function_exists($f .= '_dist')) $f = ''; - } + } if ($f) return $f($id, $args, $ancre); // On a ete gentil mais la .... spip_log("generer_url_entite: entite $entite ($f) inconnue $type"); diff --git a/ecrire/urls/arbo.php b/ecrire/urls/arbo.php index a1981de7909fd02c45422afa85d7d4de730327f5..ba738492c0729018d87375a436033ffe0baf342a 100644 --- a/ecrire/urls/arbo.php +++ b/ecrire/urls/arbo.php @@ -12,6 +12,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // securiser +define('URLS_ARBO_EXEMPLE', '/article/Titre'); // TODO: une interface permettant de verifier qu'on veut effectivment modifier // une adresse existante diff --git a/ecrire/urls/html.php b/ecrire/urls/html.php index d13104867255fb0c32b075c4a4cf82aab45ab578..d941c0ad417ea6188ae5d8e9e65b60ad26b9c1a4 100644 --- a/ecrire/urls/html.php +++ b/ecrire/urls/html.php @@ -33,6 +33,8 @@ pouvez l'editer pour ne conserver que la partie concernant les URLS 'html'. if (!defined("_ECRIRE_INC_VERSION")) return; // securiser +define('URLS_HTML_EXEMPLE', 'article12.html'); + // http://doc.spip.org/@_generer_url_html function _generer_url_html($type, $id, $args='', $ancre='') { diff --git a/ecrire/urls/libres.php b/ecrire/urls/libres.php index 4ac6fb948afb20b6d03b2bfbc511ac969bf48823..d38620f5d7862bc77006718e978626e6f29d96c4 100644 --- a/ecrire/urls/libres.php +++ b/ecrire/urls/libres.php @@ -1,6 +1,5 @@ <?php - /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * @@ -11,14 +10,14 @@ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ +if (!defined("_ECRIRE_INC_VERSION")) return; // securiser /* - Ce jeu d'URLs est une variation de inc-urls-propres mais les urls de differents types ne sont PAS distinguees par des marqueurs (_,-,+, etc.) ; - */ -if (!defined("_ECRIRE_INC_VERSION")) return; // securiser + +define('URLS_LIBRES_EXEMPLE', 'Titre-de-l-article Rubrique'); if (!defined('_MARQUEUR_URL')) define('_MARQUEUR_URL', false); diff --git a/ecrire/urls/page.php b/ecrire/urls/page.php index 554bb92bbd2b62caec55c562e405c950542373c6..07ffbe767daef8acbeded1d06c29cb33d1927c2a 100644 --- a/ecrire/urls/page.php +++ b/ecrire/urls/page.php @@ -12,6 +12,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // securiser +define('URLS_PAGE_EXEMPLE', 'spip.php?article12'); + ####### modifications possibles dans ecrire/mes_options # on peut indiquer '.html' pour faire joli define ('_terminaison_urls_page', ''); diff --git a/ecrire/urls/propres.php b/ecrire/urls/propres.php index 676cc04c7d80b80795f2c94a9fc34af47976928f..eedd990f37c96b8db6f25f38384df57840b60834 100644 --- a/ecrire/urls/propres.php +++ b/ecrire/urls/propres.php @@ -12,6 +12,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // securiser +define('URLS_PROPRES_EXEMPLE', 'Titre-de-l-article -Rubrique-'); + // TODO: une interface permettant de verifier qu'on veut effectivment modifier // une adresse existante define('CONFIRMER_MODIFIER_URL', false); diff --git a/ecrire/urls/propres2.php b/ecrire/urls/propres2.php index 2358a803c6346c88f9e27db41c2e3cc18c4c48ee..8128431845f57e3f1989f96b2bcaef0dd7c4961c 100644 --- a/ecrire/urls/propres2.php +++ b/ecrire/urls/propres2.php @@ -1,6 +1,5 @@ <?php - /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * @@ -11,14 +10,14 @@ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ +if (!defined("_ECRIRE_INC_VERSION")) return; // securiser /* - Ce jeu d'URLs est une variation de inc-urls-propres, qui ajoute le suffixe '.html' aux adresses ; - */ -if (!defined("_ECRIRE_INC_VERSION")) return; // securiser + +define('URLS_PROPRES2_EXEMPLE', 'Titre-de-l-article.html -Rubrique-.html'); if (!defined('_terminaison_urls_propres')) define ('_terminaison_urls_propres', '.html'); diff --git a/ecrire/urls/propres_qs.php b/ecrire/urls/propres_qs.php index ccd1c80d4bb77394827a24155bc428079e70cd07..dbcfd45117ee5a88f2dd5c544a1037ecbc95f8a1 100644 --- a/ecrire/urls/propres_qs.php +++ b/ecrire/urls/propres_qs.php @@ -1,6 +1,5 @@ <?php - /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * @@ -11,9 +10,9 @@ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ +if (!defined("_ECRIRE_INC_VERSION")) return; // securiser /* - Ce jeu d'URLs est une variante de inc-urls-propres, qui ajoute le prefixe './?' aux adresses, ce qui permet de l'utiliser en mode "Query-String", sans .htaccess ; @@ -23,9 +22,10 @@ mode "Query-String", sans .htaccess ; Attention : le mode 'propres_qs' est moins fonctionnel que le mode 'propres' ou 'propres2'. Si vous pouvez utiliser le .htaccess, ces deux derniers modes sont preferables au mode 'propres_qs'. - */ -if (!defined("_ECRIRE_INC_VERSION")) return; // securiser + +define('URLS_PROPRES_QS_EXEMPLE', '?Titre-de-l-article'); + if (!defined('_terminaison_urls_propres')) define ('_terminaison_urls_propres', ''); diff --git a/ecrire/urls/standard.php b/ecrire/urls/standard.php index 81181bdfd09dbeece1f11ce28f43086c944b1deb..210fe25d24bb8c28553ad2e4e7c79d7d128727b2 100644 --- a/ecrire/urls/standard.php +++ b/ecrire/urls/standard.php @@ -14,6 +14,9 @@ ## type d'URLs obsolete if (!defined("_ECRIRE_INC_VERSION")) return; // securiser + +define('URLS_STANDARD_EXEMPLE', 'article.php3?id_article=12'); + if (!function_exists('generer_url_article')) { // si la place n'est pas prise // http://doc.spip.org/@generer_url_article