X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fxdb.php;h=098a4ec86c3fb374774dbe9213aaa02e77d8f205;hb=12ccfec732e22546728674652a0a4caeeec08f60;hp=5bb1fefa3f4439b86d677b886a71b3779bd1e983;hpb=d0327f6de73e81c4bcc656471ca4161e4f1e1e1b;p=platal.git diff --git a/classes/xdb.php b/classes/xdb.php index 5bb1fef..098a4ec 100644 --- a/classes/xdb.php +++ b/classes/xdb.php @@ -76,7 +76,9 @@ class XDB global $globals; if (!XDB::$mysqli && !XDB::connect()) { - return false; + header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error'); + Platal::page()->kill('Impossible de se connecter à la base de données.'); + exit; } if ($globals->debug & DEBUG_BT) { @@ -100,6 +102,17 @@ class XDB XDB::$mysqli->error, $explain); } + + if ($res === false) { + header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error'); + if (strpos($query, 'INSERT') === false && strpos($query, 'UPDATE') === false + && strpos($query, 'REPLACE') === false && strpos($query, 'DELETE') === false) { + Platal::page()->kill('Erreur lors de l\'interrogation de la base de données'); + } else { + Platal::page()->kill('Erreur lors de l\'écriture dans la base de données'); + } + exit; + } return $res; } @@ -166,6 +179,9 @@ class XDB return 'NULL'; case 'object': + if ($var instanceof PlFlagSet) { + return "'" . addslashes($var->flags()) . "'"; + } case 'array': return "'".addslashes(serialize($var))."'";