[spip-dev] pb de agenda..

Je viens de installer le agenda comme proposer sur contrib.
Je tombe sur une erreur de code que je n'arrive pas a resoudre
http://www.az-moto.com/agenda.php3?id_rubrique=8

Parse error: parse error, expecting `')'' in
/var/www/www.az-moto.com/html/CACHE/f/agenda-8.53f03f.NEW on line 28

Merci pour un coup de pouce de kelkun!!!

Hugo

Et il y a quoi à la ligne 28 de CACHE/f/agenda-8.53f03f.NEW ?

À+, Pif.

C'est bizarre .. je ne trouve pas de trace du fichier agenda-8.53f03f.NEW
dans le repetoire f de mon cache ....?
Hugo

"Christian Lefebvre" <christian.lefebvre@atosorigin.com> a écrit dans le
message de news: 1079602770.28173.356.camel@pmd-pc38.dev.atos.fr...

Et m... comme il y a une erreur, spip le dégage pour pas l'utiliser
par erreur.
  C'est désactivable en dégageant la ligne 112 de inc_cache.php3 :
        @unlink($fichier_new);

  Après ça, tu devrait pouvoir voir ce qui est généré.

À+, Pif.

Alors ça me donne :

Warning: unlink(CACHE/f/agenda-8.53f03f.NEW): No such file or directory in
/var/www/www.az-moto.com/html/inc-cache.php3 on line 112

Parse error: parse error, expecting `')'' in
/var/www/www.az-moto.com/html/CACHE/f/agenda-8.53f03f.NEW on line 28

Donc un pb de+
LOL
Merci d'avance

"Christian Lefebvre" <christian.lefebvre@atosorigin.com> a écrit dans le
message de news: 1079604552.28176.373.camel@pmd-pc38.dev.atos.fr...

Revise le code php de ton agenda. A priori tu as oublié de fermer une parenthese quelque part.

F.

Hugoboss wrote:

Jai bien regardé avec un college, nous avons rien trouvé dans le code comme fourni sur CONTRIB.
Mon college utulise la même code sans pb…
Hugo

Tu peux pas envoyer ton code… plusieurs yeux valent mieux que deux… Hugoboss wrote:

<?php $months = array('', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'); $days = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'); if(isset($GLOBALS['var_nav_month'])) { $cal_day = mktime(0, 0, 0, $GLOBALS['var_nav_month'], 1, $GLOBALS['var_nav_year']); } else { $cal_day = time(); } $D = intval(date('d', $cal_day)); $M = intval(date('m', $cal_day)); $Y = intval(date('Y', $cal_day)); $events = array(); if (in_array(#ID_RUBRIQUE, $branche)) { $dateEvt = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC'); if (!isset($events[$dateEvt])) { $events[$dateEvt] = array(); } $events[$dateEvt][] = array('rub' => #ID_RUBRIQUE, 'link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => ''); } ?> <?php for($i = 1; $i < 8; $i++) { echo ''; } $TempD = 1; if(date('w', mktime(0, 0, 0, $M, 1, $Y)) != 1) { echo ''; $tmp = ''; while(date('w', mktime(0, 0, 0, $M, $TempD, $Y)) != 1) { $TempD--; $case = ''; $tmp = $case.$tmp; } echo $tmp; } $TempD = 1; while((date('m', mktime(0, 0, 0, $M, $TempD, $Y)) == $M) || (date('w', mktime(0, 0, 0, $M, $TempD, $Y)) != 1)) { if(date('w', mktime(0, 0, 0, $M, $TempD, $Y)) == 1) { echo ''; } echo ''; $TempD++; } ?>
var_nav_month=<?php echo ($M - 1); ?>&var_nav_year=<?php echo $Y; ?>"><<     <?php echo ''; for($i = 1; $i < 13; $i++) { echo ''.$months[$i].''; } echo ''; echo ' '; for($i = 1995; $i < 2011; $i++) { echo ''.$i.''; } echo ' '; ?>     var_nav_month=<?php echo ($M + 1); ?>&var_nav_year=<?php echo $Y; ?>">>>
'.$days[$i%7].'
'; $case .= date('j', mktime(0, 0, 0, $M, $TempD, $Y)); $date = date('Ymd', mktime(0, 0, 0, $M, $TempD, $Y)); if (isset($events[$date])) { while (list(, $event) = each($events[$date])) { $case .= '
'.$event['logo'].''.$event['title'].''; } } $case .= '
'; echo date('j', mktime(0, 0, 0, $M, $TempD, $Y)); $date = date('Ymd', mktime(0, 0, 0, $M, $TempD, $Y)); if (isset($events[$date])) { while (list(, $event) = each($events[$date])) { echo '
'.$event['logo'].''.$event['title'].''; } } echo '

Et si tu mets tout ça dans un .php que du execute directemement
après avoir enlevé les balises de boucles, ça fait quoi ?

À+, Pif.

Parse error: parse error in /var/www/www.az-moto.com/html/agendatest.php on
line 19

@+
Hugo
"Christian Lefebvre" <christian.lefebvre@atosorigin.com> a écrit dans le
message de news: 1079620612.28173.429.camel@pmd-pc38.dev.atos.fr...

Bon, j’ai copié ton code chez moi et il fonctionne sans erreurs.
Donc le problème est sans doute pas directement dans le code, mais surement dans tes données (qui génèrent ensuite une erreur).
En effet, je déconseille fortement d’utiliser les variables spip (par ex #URL_RUBRIQUE et encore pire #TITRE)
directement dans le code php. Si l’une de ces variables contient des apostrophes, des parenthèses ou autres joyeusetés
de ce genre, ça risque de foutre la merde. Je suggère d’essayer de mettre tes var spip dans des var php et ensuite d’utiliser ces
dernières:
ex:
$rubr=#ID_RUBRIQUE;
et utilises $rubr ensuite:
if (in_array($rubr, $branche)) {
etc…

Autre piste, je me souviens que j’avais eu des pb avec les dates en php (en particulier si tu initialises avec des dates inférieures
à 1970 ça merde… du coup j’avais fait un truc du genre:
$months = array(’’, ‘January’, ‘February’, ‘March’, ‘April’, ‘May’, ‘June’, ‘July’, ‘August’, ‘September’, ‘October’, ‘November’, ‘December’);
$days = array(‘Sunday’, ‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’, ‘Saturday’);
if (!isset($date) || $date == ‘’) $date = date(‘Y-m-d’);
ereg("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", $date, $regs);
$cal_day = mktime(0, 0, 0, $regs[2], $regs[3], $regs[1]);
//$D = date(‘d’, $cal_day);
$D=“01”;
$M = date(‘m’, $cal_day);
$Y = date(‘Y’, $cal_day);

et

$date_deb=’[(#EXTRA|extra{“date_deb”})]’;
$date_fin=’[(#EXTRA|extra{“date_fin”})]’;
if ($date_deb=="") $date_deb=“1971-01-01”;
if ($date_fin=="") $date_fin=“1971-01-01”;

Mais c’est un peu différent car j’utilise des champs extra pour définir le début et la fin d’un événement (et ces champs peuvent être vides).

Hugoboss wrote:

À vue de nez, c'est celle là ...
  $dateEvt = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
Est-ce que DATE_REDAC pourrait contenir des caractères foireux ???

À+, Pif.

Merci de votre effort … je comprend ja conclusion … je vais voir dans la base au niveau des dates enrigistrées.
Par contre ça me donne pas de solution pour integrer un calandrier qui montre les dates de plusiers rubriques, regroupées dans une truc visuel …:frowning:
J’avais pris la code de spip contrib mais apperement ça suffit pas Hélas
Un GRANDE merci a vous tout
Hugo!