Projet

Général

Profil

Anomalie #4282

confusion debut_forum et début_forums avec et sans S

Ajouté par jluc - il y a 20 jours. Mis à jour il y a 7 jours.

Statut:
Résolu
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
30/01/2019
Echéance:
% réalisé:

0%

Resolution:
fixed
Navigateur:

Description

Dans les pages de présentation des forums dans le privé de SPIP, l'argument d'url debut_forum est parfois employé pour les accés directs aux forums (avec @) alors que c'est debut_forums (avec un S) qu'il faut employer.

Ça se produit sur toutes les listes de forum. Par exemple https://contrib.spip.net/ecrire/?exec=controler_forum&debut_forums=50#pagination_forums
: c'est la 50eme page de forums.
Si je clique sur "Bravo pour cette amélioration", l'url devient https://contrib.spip.net/ecrire/?exec=controler_forum&debut_forums=50&debut_forum=%40499747#forum499747
Dans l'url il y a à la fois debut_forum et debut_forums avec un s (et l'ancre #forum499747)
Mais l'arg sans le s, qui ici indique le @, ne sert à rien. Il aurait du y avoir un S et écraser l'autre (50)
C'est pas gênant tant qu'on reste sur la même page car l'ancre fait le boulot mais si on revient dans 1 an, l'url ne pointera plus sur la bonne page car il y aura eu plein de forums entre temps

On peut vérifier par l'url sans le debut_forums (correct) mais avec le debut_forum (eronnée et inutile)
https://contrib.spip.net/ecrire/?exec=controler_forum&debut_forum=%40499747#forum499747
Elle amène sur la première page, qui n'a pas le forum demandé puisqu'il est en page 50

Par contre l'url avec debut_forums=@... (avec s) seulement amène direct au forum demandé
donc https://contrib.spip.net/ecrire/?exec=controler_forum&debut_forums=%40499747#forum499747

Idem sur les listes de forum d'un article. Exemple https://contrib.spip.net/ecrire/?exec=controler_forum&objet=article&id_objet=3364&debut_forums=50&debut_forum=%40494097#forum494097

On trouve des occurences de debut_forum
- dans forum/prive/modeles/forum.html
- dans forum/prive/objets/liste/forum.html
- dans forum/urls/generer_url_ecrire_forum.html

diff2988.diff Voir (4,23 ko) jluc -, 04/02/2019 13:09

Historique

#1 Mis à jour par jluc - il y a 15 jours

Autre erreur : en plus d'un S il manque @ dans prive/objets/liste/forums.html ici :


<a href="[(#URL_ECRIRE{controler_forum,debut_forum=#ID_FORUM})]">#ID_FORUM</a>

#2 Mis à jour par jluc - il y a 15 jours

Voici le diff pour tout ça :

#3 Mis à jour par jluc - il y a 7 jours

Suite discussion sur spip-dev, cerdic pointe l'origine du pb :
https://zone.spip.net/trac/spip-zone/changeset/87494/spip-zone
et recommande d'autres manières de résoudre ce problème :
- renommer BOUCLE_forums en BOUCLE_forum
- OU BIEN laisser la boucle telle quelle, mais expliciter le nom de la pagination dans le critère pagination, sans le s donc, pour montrer que le nom est important et ne doit pas bouger et eviter de refaire la même erreur…

#4 Mis à jour par cedric - il y a 7 jours

  • Statut changé de Nouveau à Résolu
  • Version cible mis à 3.1
  • Resolution mis à fixed

Formats disponibles : Atom PDF