From 5b71bde029cf58250c8fce51fb9f56f876923b6b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 18 Aug 2010 13:49:38 +0000 Subject: [PATCH] Fix: Mark pdate as depracated --- htdocs/lib/databases/mssql.lib.php | 13 ------------ htdocs/lib/databases/mysql.lib.php | 12 +++++------ htdocs/lib/databases/mysqli.lib.php | 12 +++++------ htdocs/lib/databases/pgsql.lib.php | 32 ++++++++++++++--------------- 4 files changed, 28 insertions(+), 41 deletions(-) diff --git a/htdocs/lib/databases/mssql.lib.php b/htdocs/lib/databases/mssql.lib.php index 41f4178c1fe..c34cccbdfdb 100644 --- a/htdocs/lib/databases/mssql.lib.php +++ b/htdocs/lib/databases/mssql.lib.php @@ -533,19 +533,6 @@ class DoliDb } - /** - * Formatage (par la base de donnees) d'un champ de la base au format TMS ou Date (YYYY-MM-DD HH:MM:SS) - * afin de retourner une donnee toujours au format universel date TMS unix. - * Fonction a utiliser pour generer les SELECT. - * @param param Nom champ base de type date ou chaine 'YYYY-MM-DD HH:MM:SS' - * @return date Date au format TMS. - * @deprecated Remove unix_timestamp functions so use jdate instead - */ - function pdate($param) - { - return "dbo.unix_timestamp(".$param.")"; - } - /** * \brief Convert (by PHP) a GM Timestamp date into a PHP server TZ to insert into a date field. * Function to use to build INSERT, UPDATE or WHERE predica diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php index 4c8d16d6a28..d2a81726250 100644 --- a/htdocs/lib/databases/mysql.lib.php +++ b/htdocs/lib/databases/mysql.lib.php @@ -527,12 +527,12 @@ class DoliDb /** - * \brief Formatage (par la base de donnees) d'un champ de la base au format TMS ou Date (YYYY-MM-DD HH:MM:SS) - * afin de retourner une donnee toujours au format universel date TMS unix. - * Fonction a utiliser pour generer les SELECT. - * \param param Nom champ base de type date ou chaine 'YYYY-MM-DD HH:MM:SS' - * \return date Date au format TMS. - * \deprecated Remove unix_timestamp functions so use jdate instead + * Formatage (par la base de donnees) d'un champ de la base au format TMS ou Date (YYYY-MM-DD HH:MM:SS) + * afin de retourner une donnee toujours au format universel date TMS unix. + * Fonction a utiliser pour generer les SELECT. + * @param param Nom champ base de type date ou chaine 'YYYY-MM-DD HH:MM:SS' + * @return date Date au format TMS. + * @deprecated Remove unix_timestamp functions so use jdate instead */ function pdate($param) { diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php index be906a4d88d..0093d97785c 100644 --- a/htdocs/lib/databases/mysqli.lib.php +++ b/htdocs/lib/databases/mysqli.lib.php @@ -541,12 +541,12 @@ class DoliDb /** - * \brief Formatage (par la base de donnees) d'un champ de la base au format TMS ou Date (YYYY-MM-DD HH:MM:SS) - * afin de retourner une donnee toujours au format universel date TMS unix. - * Fonction a utiliser pour generer les SELECT. - * \param param Nom champ base de type date ou chaine 'YYYY-MM-DD HH:MM:SS' - * \return date Date au format TMS. - * \deprecated Remove unix_timestamp functions so use jdate instead + * Formatage (par la base de donnees) d'un champ de la base au format TMS ou Date (YYYY-MM-DD HH:MM:SS) + * afin de retourner une donnee toujours au format universel date TMS unix. + * Fonction a utiliser pour generer les SELECT. + * @param param Nom champ base de type date ou chaine 'YYYY-MM-DD HH:MM:SS' + * @return date Date au format TMS. + * @deprecated Remove unix_timestamp functions so use jdate instead */ function pdate($param) { diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php index ee39748cfaf..53fb3861876 100644 --- a/htdocs/lib/databases/pgsql.lib.php +++ b/htdocs/lib/databases/pgsql.lib.php @@ -54,6 +54,9 @@ class DoliDb var $lastquery; var $lastqueryerror; // Ajout d'une variable en cas d'erreur + var $unescapeslashquot=0; // By default we do not force the unescape of \'. This is used only to process sql with mysql escaped data. + var $standard_conforming_strings=1; // Database has option standard_conforming_strings to on + var $ok; var $error; var $lasterror; @@ -271,8 +274,18 @@ class DoliDb $line=preg_replace('/FROM\s*\(([a-z_]+\s+as\s+[a-z_]+)\s*,\s*([a-z_]+\s+as\s+[a-z_]+\s*),\s*([a-z_]+\s+as\s+[a-z_]+\s*)\)/i','FROM \\1, \\2, \\3',$line); //print $line."\n"; - // Replace espacing \' by '' - $line=preg_replace("/\\\'/","''",$line); + // Replace espacing \' by ''. + // By default we do not (should be already done by db->escape function if required) + if (! empty($this->unescapeslashquot)) + { + // Except for sql insert in data file that + // are mysql escaped so we removed them to be compatible with standard_conforming_strings=on + // that considers \ as ordinary character). + if ($this->standard_conforming_strings) + { + $line=preg_replace("/\\\'/","''",$line); + } + } //print $line."\n"; } @@ -639,20 +652,7 @@ class DoliDb return pg_escape_string($stringtoencode); } - - /** - * \brief Formatage (par la base de donnees) d'un champ de la base au format tms ou Date (YYYY-MM-DD HH:MM:SS) - * afin de retourner une donnee toujours au format universel date tms unix. - * Fonction a utiliser pour generer les SELECT. - * \param param Date au format text a convertir - * \return date Date au format tms. - */ - function pdate($param) - { - return "unix_timestamp(".$param.")"; - } - - /** + /** * \brief Convert (by PHP) a GM Timestamp date into a GM string date to insert into a date field. * Function to use to build INSERT, UPDATE or WHERE predica * \param param Date TMS to convert