diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php index efbd24a4c3b..15b0dae5b9c 100644 --- a/htdocs/install/etape1.php +++ b/htdocs/install/etape1.php @@ -201,7 +201,7 @@ if ($_POST["action"] == "set") } } } - + // Force https $_POST["main_force_https"] = ((isset($_POST["main_force_https"]) && $_POST["main_force_https"] == "on")?'1':'0'); @@ -356,7 +356,7 @@ if ($_POST["action"] == "set") print $langs->trans("DatabaseCreation").' : '; print $dolibarr_main_db_name; print ''; - print ''.$langs->trans("Error").' '.$db->lasterrno().''; + print ''.$langs->trans("Error").' '.$db->lasterrno().'
'.$db->lasterror().''; // Affiche aide diagnostique print '
'; @@ -365,7 +365,7 @@ if ($_POST["action"] == "set") print '
'; print ''; - dolibarr_install_syslog('etape1: Failed to create database '.$dolibarr_main_db_name.' '.$db->lasterrno(), LOG_ERR); + dolibarr_install_syslog('etape1: Failed to create database '.$dolibarr_main_db_name.' '.$db->lasterrno().' '.$db->lasterror(), LOG_ERR); $error++; } $db->close(); @@ -562,7 +562,7 @@ function write_conf_file($conffile) /* Authentication */ fputs($fp, '$dolibarr_main_authentication=\'dolibarr\';'); fputs($fp,"\n"); - + fputs($fp, '$dolibarr_main_force_https=\''.$_POST["main_force_https"].'\';'); fputs($fp,"\n"); diff --git a/htdocs/install/etape2.php b/htdocs/install/etape2.php index 83392bfe2cd..f0775cb2902 100644 --- a/htdocs/install/etape2.php +++ b/htdocs/install/etape2.php @@ -388,14 +388,14 @@ if ($_POST["action"] == "set") $buf = fgets($fp, 4096); if (substr($buf, 0, 2) <> '--') { - $buffer .= $buf; + $buffer .= $buf."§"; } } fclose($fp); } + //$buffer=preg_replace('/;\';/',";'§",$buffer); - // Si plusieurs requetes, on boucle sur chaque - $buffer=preg_replace('/;\';/',";'§",$buffer); + // If several requests, we loop on each of them $listesql=explode('§',$buffer); foreach ($listesql as $buffer) { @@ -403,6 +403,7 @@ if ($_POST["action"] == "set") if ($buffer) { dolibarr_install_syslog("Request: ".$buffer,LOG_DEBUG); + print "\n"; $resql=$db->query($buffer); if ($resql) { @@ -411,14 +412,15 @@ if ($_POST["action"] == "set") } else { - if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') + if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS' + || $db->errno() == 'DB_ERROR_KEY_NAME_ALREADY_EXISTS') { - // print "Insertion ligne : $buffer + //print "Insert line : ".$buffer."
\n"; } else { $ok = 0; - print $langs->trans("ErrorSQL")." : ".$db->errno()." - '$buffer' - ".$db->lastqueryerror()."
"; + print $langs->trans("ErrorSQL")." : ".$db->errno()." - '".$buffer."'
\n"; } } } diff --git a/htdocs/install/pgsql/functions/functions.sql b/htdocs/install/pgsql/functions/functions.sql index a44d6f7de3e..47c4a2540dc 100644 --- a/htdocs/install/pgsql/functions/functions.sql +++ b/htdocs/install/pgsql/functions/functions.sql @@ -1,5 +1,6 @@ -- ============================================================================ --- Copyright (C) 2004 Benoit Mortier +-- Copyright (C) 2004 Benoit Mortier +-- Copyright (C) 2010 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -18,6 +19,9 @@ -- $Id$ -- ============================================================================ +CREATE LANGUAGE plpgsql; + + CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(TIMESTAMP WITHOUT TIME ZONE) RETURNS BIGINT LANGUAGE SQL IMMUTABLE STRICT AS 'SELECT EXTRACT(EPOCH FROM $1)::bigint;'; CREATE OR REPLACE FUNCTION UNIX_TIMESTAMP(TIMESTAMP WITH TIME ZONE) RETURNS BIGINT LANGUAGE SQL IMMUTABLE STRICT AS 'SELECT EXTRACT(EPOCH FROM $1)::bigint;'; @@ -33,6 +37,7 @@ CREATE OR REPLACE FUNCTION MONTH(TIMESTAMP WITH TIME ZONE) RETURNS INTEGER AS $$ CREATE OR REPLACE FUNCTION MONTH(DATE) RETURNS INTEGER AS $$ SELECT EXTRACT(MONTH FROM $1)::INTEGER; $$ LANGUAGE SQL IMMUTABLE; + CREATE OR REPLACE FUNCTION DAY(TIMESTAMP without TIME ZONE) RETURNS INTEGER AS $$ SELECT EXTRACT(DAY FROM $1)::INTEGER; $$ LANGUAGE SQL IMMUTABLE; CREATE OR REPLACE FUNCTION DAY(TIMESTAMP WITH TIME ZONE) RETURNS INTEGER AS $$ SELECT EXTRACT(DAY FROM $1)::INTEGER; $$ LANGUAGE SQL STABLE;