Ok, so when I'm lost I try to find my way...
I followed the idea that it was with the htmlentities function that something was wrong... I was right (I think)
So I changed in: exdata.classes.php some things:
Code: Select all
function exdfix($string){
$html_str = htmlentities($string, ENT_QUOTES);
return $html_str;
}
I added the ENT_QUOTES (it takes care of the ' and " )
My problem was that doing that I ended up with & and so on all over the place...
So, I edited more things, tried with the try/error/begin_again/nope/nice_try/code_again_please method... (which also means I don't remember all the cut/copy/paste I did)

and ended up with a valid (at least functionnal for me) exdata.classes.php
Edited: ok, I think I was lazzy not to compare the original file and the modified, so I did my homework.
Anyway, enough blabla, here it is if someone has the same problem:
line 5 find
Code: Select all
$html_str = htmlentities($string);
replace with (added ENT_QUOTES)
Code: Select all
$html_str = htmlentities($string, ENT_QUOTES);
line 82 find
Code: Select all
$i=0;
while ($row = mysql_fetch_array($result)) {
$i++;
$row = array_map("stripslashes", $row);
$row = array_map("htmlspecialchars", $row);
$row = array_map("exdfix", $row);
replace with (deleted htmlspecialchars)
Code: Select all
$i=0;
while ($row = mysql_fetch_array($result)) {
$i++;
$row = array_map("stripslashes", $row);
$row = array_map("exdfix", $row);
line 116 find
replace with (added html_entity_decode)
Code: Select all
$xml .= $events;
$xml = html_entity_decode($xml);
return $xml;
line 137 find
Code: Select all
$row = array_map("stripslashes", $row);
$row = array_map("htmlspecialchars", $row);
$row = array_map("exdfix", $row);
replace with (delete or comment those lines)
Code: Select all
//$row = array_map("stripslashes", $row);
//$row = array_map("htmlspecialchars", $row);
//$row = array_map("exdfix", $row);
line 237 find
Code: Select all
function insert_entry($values) {
$values["id"] = $this->get_next_setid();
replace with (added array_map for stripslashes and exdifx)
Code: Select all
function insert_entry($values) {
$values = array_map("stripslashes", $values);
$values = array_map("exdfix", $values);
$values["id"] = $this->get_next_setid();
line 287 find
Code: Select all
function update_entry($values) {
//$values = array_map("addslashes", $values);
$setid = $this->get_next_setid();
replace with (added array_map for stripslashes and exdifx)
Code: Select all
function update_entry($values) {
$values = array_map("stripslashes", $values);
$values = array_map("exdfix", $values);
$setid = $this->get_next_setid();
That's it, I'm not a php coder but some google search (and php.net extensive reading) did it

So, if I did something wrong or really crappy don't hesitate to correct, at least the code works.
I will try the same thing with the calendar mode, see if it fixes the problem as well.
Cheers