[SPIP Zone] [Spip-zone-commit] r26331 - in /_plugins_/_core_/forum: forum_pipelines.php lang/forum_fr.php

C'est pas bon :
tu as pas le droit de compter les breves dans le plugin forum, car tu ne sais pas si elles existent ou non... Idem pour les sites syndiqués.
Le texte de la chaine de langue est par consequent erroné.
Il faut trouver mieux, quitte à revoir le pipeline en le transformant en array('args'=>...,'data'=>$texte) pour y passer des arguments.

Cédric

Le 1 févr. 09 à 01:54, prigent.yohann@gmail.com a écrit :

Author: prigent.yohann@gmail.com
Date: Sun Feb 1 01:54:41 2009
New Revision: 26331

Log:
Correction d'un bug qui faisait que le pipeline pour les objets en cours de validation d'affichait toujours même s'il n'y avait rien à valider. Ajout d'une chaine dans le fichier de langue pour faire suite au bug http://trac.rezo.net/trac/spip/ticket/1622 mais il faut l'insérer dans le core et non dans le plugin sinon la chaine ne s'affiche pas :p'

quit

Modified:
   _plugins_/_core_/forum/forum_pipelines.php
   _plugins_/_core_/forum/lang/forum_fr.php

Modified: _plugins_/_core_/forum/forum_pipelines.php

--- _plugins_/_core_/forum/forum_pipelines.php (original)
+++ _plugins_/_core_/forum/forum_pipelines.php Sun Feb 1 01:54:41 2009
@@ -20,6 +20,9 @@
function forum_accueil_encours($texte){
  // Les forums en attente de moderation
  $cpt = sql_countsel("spip_forum", "statut='prop'");
+ $cpt1 = sql_countsel("spip_articles", "statut='prop'");
+ $cpt2 = sql_countsel("spip_breves", "statut='prop'");
+ $cpt3 = sql_countsel("spip_syndic", "statut='prop'");
  if ($cpt) {
    if ($cpt>1)
      $lien = _T('info_liens_syndiques_3')." "._T('info_liens_syndiques_4');
@@ -30,7 +33,7 @@
      $lien = "<a href='" . generer_url_ecrire("controle_forum","statut=prop") . "' style='color: black;'>". $lien . ".</a>";
    $texte .= "\n<br />" . $lien;
  }
- if ($GLOBALS['meta']['forum_prive_objets'] != 'non')
+ if ($GLOBALS['meta']['forum_prive_objets'] != 'non' AND $cpt1 OR $cpt2 OR $cpt3)
    $texte = _T('texte_en_cours_validation_forum') . $texte;

  return $texte;

Modified: _plugins_/_core_/forum/lang/forum_fr.php

--- _plugins_/_core_/forum/lang/forum_fr.php (original)
+++ _plugins_/_core_/forum/lang/forum_fr.php Sun Feb 1 01:54:41 2009
@@ -19,6 +19,7 @@
'messages_meme_auteur' => 'Tous les messages de cet auteur',
'messages_meme_email' => 'Tous les messages de cet email',
'messages_meme_ip' => 'Tous les messages de cette IP',
+'texte_en_cours_validation'=> 'Les articles, br&egrave;ves, forums ci dessous sont propos&eacute;s &agrave; la publication.',

// statuts
'messages_tous' => 'Tous',

_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit

mais là le problème est que ça affichait directement l’encart de validation alors que rien n’est à valider…
il doit y avoir un problème avec la liaison du pipeline du core et celui de forum pour que ca ne s’affiche pas correctement, donc le seul hack que j’ai trouvetr est de compter si y’a des objets à valider alors que normalement ca n’a rien à faire là :stuck_out_tongue:

Le 1 février 2009 12:24, cedric.morin@yterium.com <cedric.morin@yterium.com> a écrit :

C’est pas bon :
tu as pas le droit de compter les breves dans le plugin forum, car tu ne sais pas si elles existent ou non… Idem pour les sites syndiqués.
Le texte de la chaine de langue est par consequent erroné.
Il faut trouver mieux, quitte à revoir le pipeline en le transformant en array(‹ args ›=>…,‹ data ›=>$texte) pour y passer des arguments.

Cédric

Le 1 févr. 09 à 01:54, prigent.yohann@gmail.com a écrit :

Author: prigent.yohann@gmail.com
Date: Sun Feb 1 01:54:41 2009
New Revision: 26331

Log:
Correction d’un bug qui faisait que le pipeline pour les objets en cours de validation d’affichait toujours même s’il n’y avait rien à valider. Ajout d’une chaine dans le fichier de langue pour faire suite au bug http://trac.rezo.net/trac/spip/ticket/1622 mais il faut l’insérer dans le core et non dans le plugin sinon la chaine ne s’affiche pas :p’

quit

Modified:
plugins/core/forum/forum_pipelines.php
plugins/core/forum/lang/forum_fr.php

Modified: plugins/core/forum/forum_pipelines.php

plugins/core/forum/forum_pipelines.php (original)
+++ plugins/core/forum/forum_pipelines.php Sun Feb 1 01:54:41 2009
@@ -20,6 +20,9 @@
function forum_accueil_encours($texte){
// Les forums en attente de moderation
$cpt = sql_countsel(« spip_forum », « statut=‹ prop › »);

  • $cpt1 = sql_countsel(« spip_articles », « statut=‹ prop › »);
  • $cpt2 = sql_countsel(« spip_breves », « statut=‹ prop › »);
  • $cpt3 = sql_countsel(« spip_syndic », « statut=‹ prop › »);
    if ($cpt) {
    if ($cpt>1)
    $lien = _T(‹ info_liens_syndiques_3 ›)." "._T(‹ info_liens_syndiques_4 ›);
    @@ -30,7 +33,7 @@
    $lien = «  ». $lien . « . »;
    $texte .= « \n
     » . $lien;
    }
  • if ($GLOBALS[‹ meta ›][‹ forum_prive_objets ›] != ‹ non ›)
  • if ($GLOBALS[‹ meta ›][‹ forum_prive_objets ›] != ‹ non › AND $cpt1 OR $cpt2 OR $cpt3)
    $texte = _T(‹ texte_en_cours_validation_forum ›) . $texte;

return $texte;

Modified: plugins/core/forum/lang/forum_fr.php

plugins/core/forum/lang/forum_fr.php (original)
+++ plugins/core/forum/lang/forum_fr.php Sun Feb 1 01:54:41 2009
@@ -19,6 +19,7 @@
‹ messages_meme_auteur › => ‹ Tous les messages de cet auteur ›,
‹ messages_meme_email › => ‹ Tous les messages de cet email ›,
‹ messages_meme_ip › => ‹ Tous les messages de cette IP ›,
+‹ texte_en_cours_validation ›=> ‹ Les articles, brèves, forums ci dessous sont proposés à la publication. ›,

// statuts
‹ messages_tous › => ‹ Tous ›,


Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit

PRIGENT Yohann

C'est pas bon :
tu as pas le droit de compter les breves dans le plugin forum, car tu ne
sais pas si elles existent ou non... Idem pour les sites syndiqués.

Je ne comprends pas l'argument. Si la table n'existe pas le $cpt
correspondant donnera 0. Le bug par contre c'est ... AND $cpt1 OR
$cpt2 OR $cpt3 auquel il manque des parenthèses

-- Fil

Exact :slight_smile: et je crois que cette solution est meilleure car elle ne donne pas un bug que j'ai signalé à la suite du commit de cedric...

Le 1 févr. 09 à 20:36, Fil <fil@rezo.net> a écrit :

C'est pas bon :
tu as pas le droit de compter les breves dans le plugin forum, car tu ne
sais pas si elles existent ou non... Idem pour les sites syndiqués.

Je ne comprends pas l'argument. Si la table n'existe pas le $cpt
correspondant donnera 0. Le bug par contre c'est ... AND $cpt1 OR
$cpt2 OR $cpt3 auquel il manque des parenthèses

-- Fil

Le 1 févr. 09 à 20:36, Fil a écrit :

C'est pas bon :
tu as pas le droit de compter les breves dans le plugin forum, car tu ne
sais pas si elles existent ou non... Idem pour les sites syndiqués.

Je ne comprends pas l'argument. Si la table n'existe pas le $cpt
correspondant donnera 0. Le bug par contre c'est ... AND $cpt1 OR
$cpt2 OR $cpt3 auquel il manque des parenthèses

c'est pas bon car non extensible (on ne va pas s'amuser a compter tous les objets possibles dans le plugin forum, etant entendu que l'on n'est sur que de la presence de article, a terme), et ça generera une erreur sql lorsque le plugin breves sera absent.

Cédric

-- Fil
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Encore un exemple du pourquoi une table spip_objets (ou spip_xxxx) serait utile :slight_smile:

Le 1 févr. 09 à 21:31, "cedric.morin@yterium.com" <cedric.morin@yterium.com> a écrit :

Le 1 févr. 09 à 20:36, Fil a écrit :

C'est pas bon :
tu as pas le droit de compter les breves dans le plugin forum, car tu ne
sais pas si elles existent ou non... Idem pour les sites syndiqués.

Je ne comprends pas l'argument. Si la table n'existe pas le $cpt
correspondant donnera 0. Le bug par contre c'est ... AND $cpt1 OR
$cpt2 OR $cpt3 auquel il manque des parenthèses

c'est pas bon car non extensible (on ne va pas s'amuser a compter tous les objets possibles dans le plugin forum, etant entendu que l'on n'est sur que de la presence de article, a terme), et ça generera une erreur sql lorsque le plugin breves sera absent.

Cédric

-- Fil
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

c'est pas bon car non extensible (on ne va pas s'amuser a compter tous les
objets possibles dans le plugin forum, etant entendu que l'on n'est sur que
de la presence de article, a terme), et ça generera une erreur sql lorsque
le plugin breves sera absent.

Pour éviter l'erreur SQL (si on y tient) il suffit de vérifier
l'existence de la table demandée. Pour le reste en effet il faut un
mécanisme. Mais en attendant ce mécanisme je trouve dommage de pêter
le truc.

-- Fil

Fil, tu peux pas changer la chaîne de langue dans le core ???

Le 1 févr. 09 à 22:30, Fil <fil@rezo.net> a écrit :

c'est pas bon car non extensible (on ne va pas s'amuser a compter tous les
objets possibles dans le plugin forum, etant entendu que l'on n'est sur que
de la presence de article, a terme), et ça generera une erreur sql lorsque
le plugin breves sera absent.

Pour éviter l'erreur SQL (si on y tient) il suffit de vérifier
l'existence de la table demandée. Pour le reste en effet il faut un
mécanisme. Mais en attendant ce mécanisme je trouve dommage de pêter
le truc.

-- Fil
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Fil, tu peux pas changer la chaîne de langue dans le core ???

Désormais c'est la chaîne de langue d'un plugin :slight_smile:

-- Fil

Mais dans le plugin elle fonctionne pas...
Au moins mettre dans le core : "Les objets suivants sont proposés à la publication" ou "Les élements çi-dessous sont en attente de validation" car le pipeline lui reste dans le core...

Le 1 févr. 09 à 22:47, Fil <fil@rezo.net> a écrit :

Fil, tu peux pas changer la chaîne de langue dans le core ???

Désormais c'est la chaîne de langue d'un plugin :slight_smile:

-- Fil

Le 1 févr. 09 à 22:30, Fil a écrit :

c'est pas bon car non extensible (on ne va pas s'amuser a compter tous les
objets possibles dans le plugin forum, etant entendu que l'on n'est sur que
de la presence de article, a terme), et ça generera une erreur sql lorsque
le plugin breves sera absent.

Pour éviter l'erreur SQL (si on y tient) il suffit de vérifier
l'existence de la table demandée. Pour le reste en effet il faut un
mécanisme. Mais en attendant ce mécanisme je trouve dommage de pêter
le truc.

Rien n'est pêté : ça fonctionnait *exactement* comme avant, c'est à dire de manière un peu bancale ;
en l'absence de articles/breves/sites à valider, mais avec uniquement des forum a valider, le message était un peu "à côté de la plaque" :

"Les articles et br&egrave;ves ci-dessous sont propos&eacute;s &agrave; la publication. N\'h&eacute;sitez pas &agrave; donner votre avis gr&acirc;ce aux forums qui leur sont attach&eacute;s."

Donc la question n'est pas de savoir si faire un vilain hack ou pas pour éviter une régression fonctionnelle (j'ai été obligé de le faire à quelques endroits en sortant les forums), mais pour amener une amélioration fonctionnelle.

Et c'est avec ce dernier point que je suis en désaccord, car je sais très bien que le provisoire dure. On a vécu avec ce défaut fonctionnel depuis des années, on peut prendre le temps de faire une correction propre plutôt qu'un vilain truc en 30 secondes, pas générique ni extensible.

Cédric

bien que le provisoire dure. On a vécu avec ce défaut fonctionnel depuis des
années, on peut prendre le temps de faire une correction propre plutôt qu'un
vilain truc en 30 secondes, pas générique ni extensible.

Ah ok. Ben oui on peut ajouter une nouvelle chaîne de langue, pas de problème.

-- Fil

Alors rajoutez au core :slight_smile:

Le 2 févr. 09 à 11:05, Fil <fil@rezo.net> a écrit :

bien que le provisoire dure. On a vécu avec ce défaut fonctionnel depuis des
années, on peut prendre le temps de faire une correction propre plutôt qu'un
vilain truc en 30 secondes, pas générique ni extensible.

Ah ok. Ben oui on peut ajouter une nouvelle chaîne de langue, pas de problème.

-- Fil
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone