Activité du site

Pages vues depuis Novembre 2002 : 13 994 231

  • Nb. de Membres : 7 436
  • Nb. d'Articles : 670
  • Nb. de Forums : 47
  • Nb. de Sujets : 9
  • Nb. de Critiques : 17

Top 10  Statistiques

Modéré par : Boris 
Index du Forum » » [Archives] Modules en général » » [Agendas et calendriers] [Agendas et calendriers] npds agenda
Auteur[Agendas et calendriers] [Agendas et calendriers] npds agenda
chouettes
77    

chouettes
  Posté : 24-10-2010 18:37

Et bien voila depuis que j ai instaler revol npds agenda ne fonctionne plus il faudrais peut etre penser le mettre a jour merci beaucoup

  Profil  www
lopez
1894       
 Modules Team

lopez
  Posté : 10-11-2010 12:52

Citation : chouettes 

Et bien voila depuis que j ai instaler revol npds agenda ne fonctionne plus il faudrais peut etre penser le mettre a jour merci beaucoup  


salut chouette, c'est bien la version en téléchargement ici que tu as installé?

  Profil  www
Boris
955      
 Modules Team

Boris
  Posté : 22-12-2010 13:39

Bonjour à tous,

J'ai plus d'info concernant le non-fonctionnement de NPDS Agenda.

En effet, celui-ci fonctionne sur la plupart des serveurs, mais pas sur certains. En fait, tant qu'un serveur mysql est configuré en mode "souple" (cas de 95% des serveurs), pas de pb, car MySQL "traduit" automatiquement le type de données qu'on lui donne pour un champ.
Mais si MySQL est en mode Strict, comme c'est le cas sur le serveur de ma société, là, ca plante.

Pour NPDS-Agenda, on a ce problème.
Exemple, ligne 723 du fichier admin/agenda.php
    $result = mysql_query("update agenda_event set event_time1_t='$str T2', event_time2_t='$strT1', event_titre_a='$evttitre', event_desc_a='$evtdesc' , event_longdesc_a='$evtlongdesc', event_date_d='$strDate', event_topic_i='$evt topic', event_lieu_a='$evtlieu', event_group_i='$evtgroupe', event_visible_i='$ evtvisible' WHERE event_id_i=$eid");
La requête envoie des chaines de caractère pour les champs event_time1_t et event_time2_t. Hors, dans la BDD, ce sont des INT(6).
Par conséquent, pour être correctement programmée, la requête doit s'écrire :
    $result = mysql_query("update agenda_event set event_time1_t=$strT 2, event_time2_t=$strT1, event_titre_a='$evttitre', event_desc_a='$evtdesc', ev ent_longdesc_a='$evtlongdesc', event_date_d='$strDate', event_topic_i='$evttopi c', event_lieu_a='$evtlieu', event_group_i='$evtgroupe', event_visible_i='$evtv isible' WHERE event_id_i=$eid");

En effet, même si PHP ignore les types de variable, et mysql aussi dans la plupart des cas, bien programmer, c'est aussi palier au côté laxiste des systèmes utilisés.

Toujours pour le même fichier, c'est aussi le cas ligne 805 :
    $strSQL = "insert into agenda_event (event_date_d, event_titre_a,  event_desc_a, event_longdesc_a, event_topic_i, event_lieu_a, event_time1_t, eve nt_time2_t, event_group_i, event_author_a, event_visible_i) values ('".$strDate ."','".$evttitre."','".$evtdesc."','".$evtlongdesc."','".$evttopic."','".$evtli eu."','".$strT2."','".$strT1."','".$evtgroup."','".$aid."','".$evtvisible."')";
doit s'écrire
    $strSQL = "insert into agenda_event (event_date_d, event_titre_a,  event_desc_a, event_longdesc_a, event_topic_i, event_lieu_a, event_time1_t, eve nt_time2_t, event_group_i, event_author_a, event_visible_i) values ('".$strDate ."','".$evttitre."','".$evtdesc."','".$evtlongdesc."','".$evttopic."','".$evtli eu."',".$strT2.",".$strT1.",'".$evtgroup."','".$aid."','".$evtvisible."')";

Si vous souhaitez un environnement de test en mode strict pour les modules, contactez-moi, je vous ferai un NPDS de démo sur lequel vous pourrez installer tous les modules que vous souhaitez pour ce genre de contrôle.

Boris

Message édité par : Boris / 22-12-2010 13:43


  Profil  E-mail  www
Jireck
2520       
 Modules Team

Jireck
  Posté : 22-12-2010 15:32

salut boris

  Profil  www
Boris
955      
 Modules Team

Boris
  Posté : 23-12-2010 09:02

Yo Jireck! ^^ Comment va? (On va peut-être continuer ailleurs, pour pas troller... )

  Profil  E-mail  www
Sauter à :