Comment mon script pourrait envoyer des données au mauvais format dans l'environnement xoops et au bon format hors xoops ?
Voici mon script de template :
select: function(start, end, allDay) { //< par click dans le calendrier
var title = prompt ("Titre de l'évènement :");
if (title) {
start = $.fullCalendar.moment(start).format('YYYY-MM-DD HH:mm:ss');
end = $.fullCalendar.moment(end).format('YYYY-MM-DD HH:mm:ss');
// ici toutes les valeurs sont bonnes, title existe
$.ajax({
type: "POST",
url: 'http://localhost/monsite/modules/fullcalendar/add_events.php',
data: 'title='+ title+'start='+ start +'end='+ end , // données à envoyer
success: function(json) {
alert('OK'); // le message s'affiche
}
});
calendar.fullCalendar('renderEvent',
{
title: title, // toutes ces valeurs sont bonnes et affichent
start: start, // correctement l'évènement dans le calendrier
end: end, // donc elles sont au bon format pour Fullcalendar
allDay: allDay
},
true // make the event "stick"
);
}
calendar.fullCalendar('unselect');
},
Ce script de template est le même dans Xoops (les datas ne sont pas transmises à add_events.php) et hors Xoops (les datas sont transmises).
Côté PHP (add_events.php) :
<?php
include "header.php";
$myts =& MyTextSanitizer::getInstance(); // MyTextSanitizer object
include_once XOOPS_ROOT_PATH."/class/xoopstree.php";
include XOOPS_ROOT_PATH."/header.php";
if (isset($_POST['title'])) { // marche pas : pas de valeur title
$title = $_POST['title'];
}
if (isset($_POST['start'])) { // pas de valeur start
$start = $_POST['start'];
}
if (isset($_POST['end'])) { // pas de valeur end
$end = $_POST['end'];
}
/* -- données pour tester : si j'enlève le commentaire ça écrit ces valeurs dans la BDD
$title = $xoopsDB->quoteString("tata");
$start = $xoopsDB->quoteString("2014-12-01 00:00:00");
$end = $xoopsDB->quoteString("2014-12-05 00:00:00");
*/
$sql = 'INSERT INTO '.$xoopsDB->prefix('agenda');
$sql.= ' (id,title,start,end,allday) ';
$sql.= " VALUES (NULL,$title,$start,$end,'1')";
$result=$xoopsDB->queryF($sql) or exit("Erreur");
?>
Je regarde aussi sur chrome. Aucune erreur.
add_events.php /portail/modules/fullcalendar POST 200 OK
:/