diff --git a/html/admin/sql/patch/upgrade4.sql b/html/admin/sql/patch/upgrade4.sql
index 54ac357d1..d794f828d 100644
--- a/html/admin/sql/patch/upgrade4.sql
+++ b/html/admin/sql/patch/upgrade4.sql
@@ -42,3 +42,6 @@ delete from centralized;
create sequence s_internal;
select setval('s_centralized',1,false);
update jrnx set j_centralized='f';
+alter table parm_periode add p_central bool;
+alter table parm_periode alter p_central set default false;
+update parm_periode set p_central ='f';
diff --git a/include/central_inc.php b/include/central_inc.php
index 7f28620d3..eb03bcba0 100644
--- a/include/central_inc.php
+++ b/include/central_inc.php
@@ -1,6 +1,4 @@
-
-
/*
* This file is part of PhpCompta.
*
@@ -136,7 +134,9 @@ $sql="insert into centralized( c_j_id,
if ($Res2==false) { rollback($p_cn); EndSql($p_cn); return ERROR;}
}
-
+ if ( ExecSql($p_cn,"update parm_periode set p_central=true where p_id=$p_periode") == false)
+ { rollback($p_cn); EndSql($p_cn); return ERROR;}
+
diff --git a/include/preference.php b/include/preference.php
index 22dccbed8..6b0768ea7 100644
--- a/include/preference.php
+++ b/include/preference.php
@@ -72,31 +72,24 @@ function FormPeriodeMult($p_cn)
*/
function FormPeriode($p_cn,$l_default=0,$p_type=OPEN,$p_suff="")
{
-
- if ($p_type==CLOSED) {
- $sql_closed="p_closed=true";
- $sql="select p_id,to_char(p_start,'DD.MM.YYYY') as p_start,
- to_char(p_end,'DD.MM.YYYY') as p_end
- from parm_periode where
- $sql_closed order by p_exercice,p_start";
-
- }
- if ($p_type==OPEN) {
+ switch ($p_type) {
+ case CLOSED:
+ $sql_closed="p_closed=true and p_central = false ";
+ break;
+ case OPEN:
$sql_closed="p_closed=false";
- $sql="select p_id,to_char(p_start,'DD.MM.YYYY') as p_start,
- to_char(p_end,'DD.MM.YYYY') as p_end
- from parm_periode where
- $sql_closed order by p_exercice,p_start";
-
+ break;
+ case NOTCENTRALIZED:
+ $sql_closed="p_closed=true and p_central = false ";
+ break;
+ default:
+ error("invalide p_type in __FILE__#__LINE__");
}
- if ($p_type==NOTCENTRALIZED) {
$sql="select p_id,to_char(p_start,'DD.MM.YYYY') as p_start,
to_char(p_end,'DD.MM.YYYY') as p_end
from parm_periode where
- p_closed=true and p_id not in (
- select c_periode from centralized)
+ $sql_closed
order by p_exercice,p_start";
- }
$Res=ExecSql($p_cn,$sql);
$Max=pg_NumRows($Res);
if ( $Max == 0 ) return null;