Bonjour,
Il y a 3 mois j'ai cherché une solution pour que les admins ne jouent
pas à modifier les urls sur un site (pas de rewrite rules => erreurs 404
systématiques, plantage serveur à l'occasion...). J'ai donc cherché à
forcer les urls "page" en mes_options.php mais sur la branche 3.0...
1. en inc/utils.php on a:
$type = ($GLOBALS['type_urls'] === 'page'
AND $GLOBALS['meta']['type_urls'])
? $GLOBALS['meta']['type_urls']
: $GLOBALS['type_urls']; // pour SPIP <2
2. en urls_etendues/formulaires/configurer_urls.php le test bloquant
l'accès au form de config des urls est:
if ($GLOBALS['type_urls'] != 'page') ...
Cela se conçoit vu qu'on a en inc_version.php:
$type_urls = "page";
Donc, le plugin-dist url_etendues prend la main du moment qu'il est
configuré malgré la déclaration $type_urls="page" en mes_options. Cela
m'a paru être un héritage du passé devenu inutile vu qu'en l'absence de
configuration des urls étendues le core renvoie vers les urls de type
page (en inc/utils.php)
$f = charger_fonction($type, 'urls', true);
// se rabattre sur les urls page si les urls perso non dispo
if (!$f) $f = charger_fonction('page', 'urls', true);
Du coup j'ai fait des modifications dans SPIP et j'ai crû bon de les
reporter en 3.1-dev.
http://core.spip.org/projects/spip/repository/revisions/21405
http://zone.spip.org/trac/spip-zone/changeset/83062
Après la mise à jour en 3.0.17 j'ai remodifié mes fichiers perso d'une
manière que je crois plus propre. Je ne vois pas de régression.
Si vous pensez que c'est ok, je commite ça et cette fois je le reporte
en 3.0 pour que le peuple spipien puisse librement désormais "forcer"
les urls de type page :-p
Gogogo (ou je revert ?)
Merci pour votre patience anyway,