From f20dd8019426c164af8d210692445c830aca28c4 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 11:20:36 +0100 Subject: [PATCH 001/130] FIX: better thirparty support --- htdocs/don/card.php | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 6a63074166c..d2a43b41813 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -4,7 +4,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2015-2016 Alexandre Spangaro - * Copyright (C) 2018 Thibault FOUCART + * Copyright (C) 2018-2019 Thibault FOUCART * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -107,8 +107,8 @@ if ($action == 'update') $object->amount = price2num(GETPOST("amount",'alpha')); $object->town = GETPOST("town",'alpha'); $object->zip = GETPOST("zipcode",'alpha'); - $object->country_id = GETPOST('country_id', 'int'); - $object->email = GETPOST("email",'alpha'); + $object->country_id = GETPOST('country_id', 'int'); + $object->email = GETPOST("email",'alpha'); $object->date = $donation_date; $object->public = GETPOST("public",'alpha'); $object->fk_project = GETPOST("fk_project",'alpha'); @@ -154,6 +154,7 @@ if ($action == 'add') if (! $error) { + $object->fk_soc = GETPOST("fk_soc",'int'); $object->firstname = GETPOST("firstname",'alpha'); $object->lastname = GETPOST("lastname",'alpha'); $object->societe = GETPOST("societe",'alpha'); @@ -161,8 +162,8 @@ if ($action == 'add') $object->amount = price2num(GETPOST("amount",'alpha')); $object->zip = GETPOST("zipcode",'alpha'); $object->town = GETPOST("town",'alpha'); - $object->country_id = GETPOST('country_id', 'int'); - $object->email = GETPOST("email",'alpha'); + $object->country_id = GETPOST('country_id', 'int'); + $object->email = GETPOST("email",'alpha'); $object->date = $donation_date; $object->note_private= GETPOST("note_private",'none'); $object->note_public = GETPOST("note_public",'none'); @@ -516,7 +517,7 @@ if (! empty($id) && $action == 'edit') // Amount if ($object->statut == 0) { - print "".''.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).''; + print "".''.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).''; } else { @@ -530,6 +531,14 @@ if (! empty($id) && $action == 'edit') print ""; print "\n"; +if ( $object->fk_soc && ! empty($conf->societe->enabled) && ! empty($conf->global->DONATION_USE_THIRDPARTIES) ) { + + $company=new Societe($db); + $result=$company->fetch($object->fk_soc); + + print ''.$langs->trans("LinkedToDolibarrThirdParty").''.$company->getNomUrl(1).''; + +} else { $langs->load("companies"); print ''.$langs->trans("Company").''; print ''.$langs->trans("Lastname").''; @@ -537,10 +546,10 @@ if (! empty($id) && $action == 'edit') print ''.$langs->trans("Address").''; print ''; - // Zip / Town - print ''.$langs->trans("Zip").' / '.$langs->trans("Town").''; + // Zip / Town + print ''.$langs->trans("Zip").' / '.$langs->trans("Town").''; print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6); - print ' '; + print ' '; print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','state_id')); print ''; @@ -551,7 +560,7 @@ if (! empty($id) && $action == 'edit') print ''; print "".''.$langs->trans("EMail").''; - +} // Payment mode print "".$langs->trans("PaymentMode")."\n"; if ($object->modepaymentid) $selected = $object->modepaymentid; @@ -683,11 +692,22 @@ if (! empty($id) && $action != 'edit') print ''.$langs->trans("PublicDonation").''; print yn($object->public); print ''; + +if ($object->fk_soc) { + + $company=new Societe($db); + $result=$company->fetch($object->fk_soc); + + print ''.$langs->trans("LinkedToDolibarrThirdParty").''.$company->getNomUrl(1).''; + +} else { print ''.$langs->trans("Company").''.$object->societe.''; print ''.$langs->trans("Lastname").''.$object->lastname.''; print ''.$langs->trans("Firstname").''.$object->firstname.''; +} + // Payment mode print "".$langs->trans("PaymentMode").""; $form->form_modes_reglement(null, $object->modepaymentid,'none'); From c7bedbe7dc8eca76a73e2d0681eb1ca7a573baa8 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 11:22:33 +0100 Subject: [PATCH 002/130] Update for thirdparty support --- htdocs/don/class/don.class.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index c3941059e64..7c8feaa8a15 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -1,10 +1,11 @@ - * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2009 Regis Houssin * Copyright (C) 2014 Florian Henry * Copyright (C) 2015-2017 Alexandre Spangaro * Copyright (C) 2016 Juanjo Menent + * Copyright (C) 2019 Thibault FOUCART * * 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 @@ -366,6 +367,7 @@ class Don extends CommonObject $sql.= ", entity"; $sql.= ", amount"; $sql.= ", fk_payment"; + $sql.= ", fk_soc"; $sql.= ", firstname"; $sql.= ", lastname"; $sql.= ", societe"; @@ -388,6 +390,7 @@ class Don extends CommonObject $sql.= ", ".$conf->entity; $sql.= ", ".price2num($this->amount); $sql.= ", ".($this->modepaymentid?$this->modepaymentid:"null"); + $sql.= ", '".$this->fk_soc."'"; $sql.= ", '".$this->db->escape($this->firstname)."'"; $sql.= ", '".$this->db->escape($this->lastname)."'"; $sql.= ", '".$this->db->escape($this->societe)."'"; @@ -489,7 +492,7 @@ class Don extends CommonObject $sql .= ",address='".$this->db->escape($this->address)."'"; $sql .= ",zip='".$this->db->escape($this->zip)."'"; $sql .= ",town='".$this->db->escape($this->town)."'"; - $sql .= ",fk_country = ".$this->country_id; + $sql .= ",fk_country = ".($this->country_id > 0 ? $this->country_id : '0'); $sql .= ",public=".$this->public; $sql .= ",fk_projet=".($this->fk_project>0?$this->fk_project:'null'); $sql .= ",note_private=".(!empty($this->note_private)?("'".$this->db->escape($this->note_private)."'"):"NULL"); @@ -636,7 +639,7 @@ class Don extends CommonObject global $conf; $sql = "SELECT d.rowid, d.datec, d.date_valid, d.tms as datem, d.datedon,"; - $sql.= " d.firstname, d.lastname, d.societe, d.amount, d.fk_statut, d.address, d.zip, d.town, "; + $sql.= " d.fk_soc,d.firstname, d.lastname, d.societe, d.amount, d.fk_statut, d.address, d.zip, d.town, "; $sql.= " d.fk_country, d.country as country_olddata, d.public, d.amount, d.fk_payment, d.paid, d.note_private, d.note_public, d.email, d.phone, "; $sql.= " d.phone_mobile, d.fk_projet as fk_project, d.model_pdf,"; $sql.= " p.ref as project_ref,"; @@ -670,6 +673,7 @@ class Don extends CommonObject $this->date_valid = $this->db->jdate($obj->date_valid); $this->datem = $this->db->jdate($obj->datem); $this->date = $this->db->jdate($obj->datedon); + $this->fk_soc = $obj->fk_soc; $this->firstname = $obj->firstname; $this->lastname = $obj->lastname; $this->societe = $obj->societe; @@ -682,7 +686,7 @@ class Don extends CommonObject $this->country_code = $obj->country_code; $this->country = $obj->country; $this->country_olddata= $obj->country_olddata; // deprecated - $this->email = $obj->email; + $this->email = $obj->email; $this->phone = $obj->phone; $this->phone_mobile = $obj->phone_mobile; $this->project = $obj->project_ref; @@ -692,7 +696,7 @@ class Don extends CommonObject $this->modepaymentid = $obj->fk_payment; $this->modepaymentcode = $obj->payment_code; $this->modepayment = $obj->payment_label; - $this->paid = $obj->paid; + $this->paid = $obj->paid; $this->amount = $obj->amount; $this->note_private = $obj->note_private; $this->note_public = $obj->note_public; From 754714abf7d177720b9e26ef7c179a7151262b86 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 11:23:59 +0100 Subject: [PATCH 003/130] Update llx_don.sql --- htdocs/install/mysql/tables/llx_don.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/install/mysql/tables/llx_don.sql b/htdocs/install/mysql/tables/llx_don.sql index 82728861fc6..4cb081045ee 100644 --- a/htdocs/install/mysql/tables/llx_don.sql +++ b/htdocs/install/mysql/tables/llx_don.sql @@ -31,6 +31,7 @@ create table llx_don amount double(24,8) DEFAULT 0, fk_payment integer, -- Id of payment mode paid smallint default 0 NOT NULL, + fk_soc integer NULL, firstname varchar(50), lastname varchar(50), societe varchar(50), @@ -38,7 +39,7 @@ create table llx_don zip varchar(30), town varchar(50), country varchar(50), -- Deprecated - Replace with fk_country - fk_country integer NOT NULL, + fk_country integer NOT NULL, email varchar(255), phone varchar(24), phone_mobile varchar(24), From 5232024de94e08672bd572094aba801e161f6750 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 11:26:12 +0100 Subject: [PATCH 004/130] ADD thirdparty support --- htdocs/don/list.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/don/list.php b/htdocs/don/list.php index 47408fe4bb5..3203d1fd47f 100644 --- a/htdocs/don/list.php +++ b/htdocs/don/list.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2018 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2019 Thibault FOUCART * * 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 @@ -85,7 +86,7 @@ llxHeader('',$langs->trans("Donations"),'EN:Module_Donations|FR:Module_Dons|ES:M $donationstatic=new Don($db); // Genere requete de liste des dons -$sql = "SELECT d.rowid, d.datedon, d.firstname, d.lastname, d.societe,"; +$sql = "SELECT d.rowid, d.datedon, d.fk_soc, d.firstname, d.lastname, d.societe,"; $sql.= " d.amount, d.fk_statut as statut, "; $sql.= " p.rowid as pid, p.ref, p.title, p.public"; $sql.= " FROM ".MAIN_DB_PREFIX."don as d LEFT JOIN ".MAIN_DB_PREFIX."projet AS p"; From af03f108a12883c8273adcdc0550ca865b220075 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 11:28:09 +0100 Subject: [PATCH 005/130] Update card.php --- htdocs/don/card.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index d2a43b41813..034e045bb46 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -107,8 +107,8 @@ if ($action == 'update') $object->amount = price2num(GETPOST("amount",'alpha')); $object->town = GETPOST("town",'alpha'); $object->zip = GETPOST("zipcode",'alpha'); - $object->country_id = GETPOST('country_id', 'int'); - $object->email = GETPOST("email",'alpha'); + $object->country_id = GETPOST('country_id', 'int'); + $object->email = GETPOST("email",'alpha'); $object->date = $donation_date; $object->public = GETPOST("public",'alpha'); $object->fk_project = GETPOST("fk_project",'alpha'); @@ -117,7 +117,7 @@ if ($action == 'update') $object->modepaymentid = GETPOST('modepayment','int'); // Fill array 'array_options' with data from add form - $ret = $extrafields->setOptionalsFromPost($extralabels,$object); + $ret = $extrafields->setOptionalsFromPost($extralabels,$object); if ($ret < 0) $error++; if ($object->update($user) > 0) @@ -162,9 +162,9 @@ if ($action == 'add') $object->amount = price2num(GETPOST("amount",'alpha')); $object->zip = GETPOST("zipcode",'alpha'); $object->town = GETPOST("town",'alpha'); - $object->country_id = GETPOST('country_id', 'int'); - $object->email = GETPOST("email",'alpha'); - $object->date = $donation_date; + $object->country_id = GETPOST('country_id', 'int'); + $object->email = GETPOST('email', 'int'); + $object->date = $donation_date; $object->note_private= GETPOST("note_private",'none'); $object->note_public = GETPOST("note_public",'none'); $object->public = GETPOST("public",'alpha'); From 09567ebaafca3175126e86401728cd5faf8a33f6 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 11:28:29 +0100 Subject: [PATCH 006/130] Update card.php --- htdocs/don/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 034e045bb46..a55ebe5e2e8 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -154,7 +154,7 @@ if ($action == 'add') if (! $error) { - $object->fk_soc = GETPOST("fk_soc",'int'); + $object->fk_soc = GETPOST("fk_soc",'int'); $object->firstname = GETPOST("firstname",'alpha'); $object->lastname = GETPOST("lastname",'alpha'); $object->societe = GETPOST("societe",'alpha'); From 4b447d779916b87877d2230947f003d7d420b94f Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 14:13:55 +0100 Subject: [PATCH 007/130] Update card.php --- htdocs/don/card.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index a55ebe5e2e8..9e7fd3e5c9e 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -537,7 +537,7 @@ if ( $object->fk_soc && ! empty($conf->societe->enabled) && ! empty($conf->globa $result=$company->fetch($object->fk_soc); print ''.$langs->trans("LinkedToDolibarrThirdParty").''.$company->getNomUrl(1).''; - + } else { $langs->load("companies"); print ''.$langs->trans("Company").''; @@ -699,7 +699,7 @@ if ($object->fk_soc) { $result=$company->fetch($object->fk_soc); print ''.$langs->trans("LinkedToDolibarrThirdParty").''.$company->getNomUrl(1).''; - + } else { print ''.$langs->trans("Company").''.$object->societe.''; From 89e348515a11eb8dce1f4b4c5388b5ecf4a7545e Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 14:14:38 +0100 Subject: [PATCH 008/130] Update don.class.php --- htdocs/don/class/don.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 7c8feaa8a15..1d649b1bd76 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -367,7 +367,7 @@ class Don extends CommonObject $sql.= ", entity"; $sql.= ", amount"; $sql.= ", fk_payment"; - $sql.= ", fk_soc"; + $sql.= ", fk_soc"; $sql.= ", firstname"; $sql.= ", lastname"; $sql.= ", societe"; @@ -390,7 +390,7 @@ class Don extends CommonObject $sql.= ", ".$conf->entity; $sql.= ", ".price2num($this->amount); $sql.= ", ".($this->modepaymentid?$this->modepaymentid:"null"); - $sql.= ", '".$this->fk_soc."'"; + $sql.= ", '".$this->fk_soc."'"; $sql.= ", '".$this->db->escape($this->firstname)."'"; $sql.= ", '".$this->db->escape($this->lastname)."'"; $sql.= ", '".$this->db->escape($this->societe)."'"; @@ -673,7 +673,7 @@ class Don extends CommonObject $this->date_valid = $this->db->jdate($obj->date_valid); $this->datem = $this->db->jdate($obj->datem); $this->date = $this->db->jdate($obj->datedon); - $this->fk_soc = $obj->fk_soc; + $this->fk_soc = $obj->fk_soc; $this->firstname = $obj->firstname; $this->lastname = $obj->lastname; $this->societe = $obj->societe; From 8fcdb3bb6d2a0d05be6ca13a31bc2f904a975344 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 16:30:28 +0100 Subject: [PATCH 009/130] Update card.php --- htdocs/don/card.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 9e7fd3e5c9e..146c8efaa6b 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -539,6 +539,7 @@ if ( $object->fk_soc && ! empty($conf->societe->enabled) && ! empty($conf->globa print ''.$langs->trans("LinkedToDolibarrThirdParty").''.$company->getNomUrl(1).''; } else { + $langs->load("companies"); print ''.$langs->trans("Company").''; print ''.$langs->trans("Lastname").''; From d961ae3225161196334514a5852a4a2efd15bf52 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 16:31:26 +0100 Subject: [PATCH 010/130] Update card.php --- htdocs/don/card.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 146c8efaa6b..e71574acc23 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -537,7 +537,6 @@ if ( $object->fk_soc && ! empty($conf->societe->enabled) && ! empty($conf->globa $result=$company->fetch($object->fk_soc); print ''.$langs->trans("LinkedToDolibarrThirdParty").''.$company->getNomUrl(1).''; - } else { $langs->load("companies"); @@ -700,13 +699,11 @@ if ($object->fk_soc) { $result=$company->fetch($object->fk_soc); print ''.$langs->trans("LinkedToDolibarrThirdParty").''.$company->getNomUrl(1).''; - } else { print ''.$langs->trans("Company").''.$object->societe.''; print ''.$langs->trans("Lastname").''.$object->lastname.''; print ''.$langs->trans("Firstname").''.$object->firstname.''; - } // Payment mode From c2c238ec248af07f552a25d092c40c1fed6bf686 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 16:32:13 +0100 Subject: [PATCH 011/130] Update don.class.php --- htdocs/don/class/don.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 1d649b1bd76..2f720281b4f 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -367,7 +367,7 @@ class Don extends CommonObject $sql.= ", entity"; $sql.= ", amount"; $sql.= ", fk_payment"; - $sql.= ", fk_soc"; + $sql.= ", fk_soc"; $sql.= ", firstname"; $sql.= ", lastname"; $sql.= ", societe"; @@ -673,7 +673,7 @@ class Don extends CommonObject $this->date_valid = $this->db->jdate($obj->date_valid); $this->datem = $this->db->jdate($obj->datem); $this->date = $this->db->jdate($obj->datedon); - $this->fk_soc = $obj->fk_soc; + $this->fk_soc = $obj->fk_soc; $this->firstname = $obj->firstname; $this->lastname = $obj->lastname; $this->societe = $obj->societe; From e74bccca211951fcaab650c34a67cb2f980a1e3a Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Fri, 18 Jan 2019 17:51:42 +0100 Subject: [PATCH 012/130] Update don.class.php --- htdocs/don/class/don.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 2f720281b4f..0f3a1879638 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -390,7 +390,7 @@ class Don extends CommonObject $sql.= ", ".$conf->entity; $sql.= ", ".price2num($this->amount); $sql.= ", ".($this->modepaymentid?$this->modepaymentid:"null"); - $sql.= ", '".$this->fk_soc."'"; + $sql.= ", '".$this->db->escape($this->fk_soc)."'"; $sql.= ", '".$this->db->escape($this->firstname)."'"; $sql.= ", '".$this->db->escape($this->lastname)."'"; $sql.= ", '".$this->db->escape($this->societe)."'"; From a3153889b8e416b64c1a716276e652d61aee6a2f Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Sat, 19 Jan 2019 11:31:40 +0100 Subject: [PATCH 013/130] fix --- htdocs/don/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index e71574acc23..f412eac3e63 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -163,7 +163,7 @@ if ($action == 'add') $object->zip = GETPOST("zipcode",'alpha'); $object->town = GETPOST("town",'alpha'); $object->country_id = GETPOST('country_id', 'int'); - $object->email = GETPOST('email', 'int'); + $object->email = GETPOST('email', 'alpha'); $object->date = $donation_date; $object->note_private= GETPOST("note_private",'none'); $object->note_public = GETPOST("note_public",'none'); From 406f26b9d2a8c27904ac36be4c4b4ba2edd0b9be Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 21 Jan 2019 16:48:14 +0100 Subject: [PATCH 014/130] FIX JSON.parse not needeed and missing simple quote escaping --- htdocs/takepos/takepos.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 44da2914fe8..145e560940a 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -58,7 +58,7 @@ top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); $categorie = new Categorie($db); $categories = $categorie->get_full_arbo('product'); ?> -var categories = JSON.parse( '' ); +var categories = ; var currentcat; var pageproducts=0; var pagecategories=0; From 0a36a487c461878f5f167aaf89bee39004568375 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 21 Jan 2019 18:43:12 +0100 Subject: [PATCH 015/130] FIX remove unused option --- htdocs/takepos/takepos.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 145e560940a..c8033351913 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -58,7 +58,7 @@ top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); $categorie = new Categorie($db); $categories = $categorie->get_full_arbo('product'); ?> -var categories = ; +var categories = ; var currentcat; var pageproducts=0; var pagecategories=0; From 4d2231a6a2fb6f1c52f520181e0b3e2d9d3a1dfe Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Mon, 21 Jan 2019 23:53:17 +0100 Subject: [PATCH 016/130] Fix double < --- htdocs/don/class/don.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 0f3a1879638..248c2c29aba 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -1,4 +1,4 @@ -< * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2009 Regis Houssin From e5d1466ec58dd1c418b170a931afa0f0bbf03d3f Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Tue, 22 Jan 2019 18:44:28 +0100 Subject: [PATCH 017/130] Update card.php --- htdocs/don/card.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index f412eac3e63..d7512e95799 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -107,7 +107,7 @@ if ($action == 'update') $object->amount = price2num(GETPOST("amount",'alpha')); $object->town = GETPOST("town",'alpha'); $object->zip = GETPOST("zipcode",'alpha'); - $object->country_id = GETPOST('country_id', 'int'); + $object->country_id = GETPOST('country_id','int'); $object->email = GETPOST("email",'alpha'); $object->date = $donation_date; $object->public = GETPOST("public",'alpha'); @@ -162,7 +162,7 @@ if ($action == 'add') $object->amount = price2num(GETPOST("amount",'alpha')); $object->zip = GETPOST("zipcode",'alpha'); $object->town = GETPOST("town",'alpha'); - $object->country_id = GETPOST('country_id', 'int'); + $object->country_id = GETPOST('country_id','int'); $object->email = GETPOST('email', 'alpha'); $object->date = $donation_date; $object->note_private= GETPOST("note_private",'none'); From b3dfbaf38ca1f1ff2bf4e51a884ff8668a46217e Mon Sep 17 00:00:00 2001 From: jfefe Date: Wed, 23 Jan 2019 02:44:34 +0100 Subject: [PATCH 018/130] FIX: wrong permission test for inventory creation --- htdocs/product/inventory/card.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/product/inventory/card.php b/htdocs/product/inventory/card.php index 24848ad26c5..a9cff0e79c7 100644 --- a/htdocs/product/inventory/card.php +++ b/htdocs/product/inventory/card.php @@ -78,12 +78,12 @@ include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be inclu if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { - $permissiontoadd = $user->rights->stock->write; - $permissiontodelete = $user->rights->stock->write; + $permissiontoadd = $user->rights->stock->creer; + $permissiontodelete = $user->rights->stock->supprimer; } else { - $permissiontoadd = $user->rights->stock->inventory_advance->create; + $permissiontoadd = $user->rights->stock->inventory_advance->write; $permissiontodelete = $user->rights->stock->inventory_advance->write; } From 84e1f92acd2eddc186c0d06b0e909863d0c0bd78 Mon Sep 17 00:00:00 2001 From: gauthier Date: Wed, 23 Jan 2019 15:09:57 +0100 Subject: [PATCH 019/130] FIX : when we add a payment on an invoice which already has payments with credit note or deposit amount, and then we get an excess received, discount amount must be $total_paiements + $total_creditnote_and_deposit - $object->total_ttc; --- htdocs/compta/facture/card.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 8541581fb49..5e736df5855 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -725,20 +725,31 @@ if (empty($reshook)) { // If we're on a standard invoice, we have to get excess received to create a discount in TTC without VAT + // Total payments $sql = 'SELECT SUM(pf.amount) as total_paiements'; $sql.= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf, '.MAIN_DB_PREFIX.'paiement as p'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as c ON p.fk_paiement = c.id'; $sql.= ' WHERE pf.fk_facture = '.$object->id; $sql.= ' AND pf.fk_paiement = p.rowid'; $sql.= ' AND p.entity IN (' . getEntity('facture').')'; - $resql = $db->query($sql); if (! $resql) dol_print_error($db); $res = $db->fetch_object($resql); $total_paiements = $res->total_paiements; - $discount->amount_ht = $discount->amount_ttc = $total_paiements - $object->total_ttc; + // Total credit note and deposit + $total_creditnote_and_deposit = 0; + $sql = "SELECT re.rowid, re.amount_ht, re.amount_tva, re.amount_ttc,"; + $sql .= " re.description, re.fk_facture_source"; + $sql .= " FROM " . MAIN_DB_PREFIX . "societe_remise_except as re"; + $sql .= " WHERE fk_facture = " . $object->id; + $resql = $db->query($sql); + if (!empty($resql)) { + while ($obj = $db->fetch_object($resql)) $total_creditnote_and_deposit += $obj->amount_ttc; + } else dol_print_error($db); + + $discount->amount_ht = $discount->amount_ttc = $total_paiements + $total_creditnote_and_deposit - $object->total_ttc; $discount->amount_tva = 0; $discount->tva_tx = 0; From 1c51716997f2c3cb09ffa2b7feea4c770289c41f Mon Sep 17 00:00:00 2001 From: John BOTELLA Date: Wed, 23 Jan 2019 17:02:20 +0100 Subject: [PATCH 020/130] Fix missing trigger --- .../sociales/class/chargesociales.class.php | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 61728562d2e..3a69cdca4f7 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -282,6 +282,7 @@ class ChargeSociales extends CommonObject */ function update($user) { + $error=0; $this->db->begin(); $sql = "UPDATE ".MAIN_DB_PREFIX."chargesociales"; @@ -295,17 +296,40 @@ class ChargeSociales extends CommonObject dol_syslog(get_class($this)."::update", LOG_DEBUG); $resql=$this->db->query($sql); - if ($resql) + + if (! $resql) { + $error++; $this->errors[]="Error ".$this->db->lasterror(); + } + + if (! $error) + { + if (! $notrigger) + { + // Call trigger + $result=$this->call_trigger('SOCIALCHARGES_MODIFY',$user); + if ($result < 0) $error++; + // End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else { $this->db->commit(); return 1; } - else - { - $this->error=$this->db->error(); - $this->db->rollback(); - return -1; - } + + } /** From 624d17c96a52d99c5c35bf40811571ae254f5ed1 Mon Sep 17 00:00:00 2001 From: John BOTELLA Date: Wed, 23 Jan 2019 17:32:49 +0100 Subject: [PATCH 021/130] Fix missing no trigger arg --- htdocs/compta/sociales/class/chargesociales.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 3a69cdca4f7..da8f7c8f250 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -280,7 +280,7 @@ class ChargeSociales extends CommonObject * @param User $user Utilisateur qui modifie * @return int <0 si erreur, >0 si ok */ - function update($user) + function update($user, $notrigger=0) { $error=0; $this->db->begin(); From 9ff848210f30c400323e83ed8b3dd55276d64b19 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Wed, 23 Jan 2019 22:14:13 +0100 Subject: [PATCH 022/130] NEW: Automatically binding for intra/export accountancy code --- htdocs/accountancy/customer/list.php | 22 ++++++++++++++++++---- htdocs/product/card.php | 25 +++++++++++-------------- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/htdocs/accountancy/customer/list.php b/htdocs/accountancy/customer/list.php index 9f95c6857b0..332cf49bf04 100644 --- a/htdocs/accountancy/customer/list.php +++ b/htdocs/accountancy/customer/list.php @@ -1,6 +1,6 @@ - * Copyright (C) 2013-2016 Alexandre Spangaro + * Copyright (C) 2013-2019 Alexandre Spangaro * Copyright (C) 2014-2015 Ari Elbaz (elarifr) * Copyright (C) 2013-2014 Florian Henry * Copyright (C) 2014 Juanjo Menent @@ -212,7 +212,8 @@ if (empty($chartaccountcode)) $sql = "SELECT f.rowid as facid, f.ref as ref, f.datef, f.type as ftype,"; $sql.= " l.rowid, l.fk_product, l.description, l.total_ht, l.fk_code_ventilation, l.product_type as type_l, l.tva_tx as tva_tx_line, l.vat_src_code,"; $sql.= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.fk_product_type as type, p.accountancy_code_sell as code_sell, p.tva_tx as tva_tx_prod,"; -$sql.= " aa.rowid as aarowid,"; +$sql.= " p.accountancy_code_sell_intra as code_sell_intra, p.accountancy_code_sell_export as code_sell_export,"; +$sql.= " aa.rowid as aarowid, aa2.rowid as aarowid_intra, aa3.rowid as aarowid_export,"; $sql.= " co.code as country_code, co.label as country,"; $sql.= " s.tva_intra"; $parameters=array(); @@ -437,7 +438,9 @@ if ($result) { $code_sell_p_notset = ''; $objp->aarowid_suggest = $objp->aarowid; - if ($objp->type_l == 1) { + $isinEEC = isInEEC($objp->country_code); + + if ($objp->type_l == 1) { $objp->code_sell_l = (! empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT) ? $conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT : ''); if ($objp->aarowid == '') { $objp->aarowid_suggest = $aarowid_s; @@ -450,8 +453,19 @@ if ($result) { } if ($objp->code_sell_l == -1) $objp->code_sell_l=''; + if ($objp->country_sell == '1') { + $objp->code_sell_p = $objp->code_sell; + $objp->aarowid_suggest = $objp->aarowid; + } elseif ($isinEEC == true) { + $objp->code_sell_p = $objp->code_sell_intra; + $objp->aarowid_suggest = $objp->aarowid_intra; + } else { + $objp->code_sell_p = $objp->code_sell_export; + $objp->aarowid_suggest = $objp->aarowid_export; + } + if (! empty($objp->code_sell)) { - $objp->code_sell_p = $objp->code_sell; // Code on product + //$objp->code_sell_p = $objp->code_sell; // Code on product } else { $code_sell_p_notset = 'color:orange'; } diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 698d65795f1..4640701a6dd 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -8,7 +8,7 @@ * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2013-2016 Marcos García * Copyright (C) 2012-2013 Cédric Salvador - * Copyright (C) 2011-2017 Alexandre Spangaro + * Copyright (C) 2011-2019 Alexandre Spangaro * Copyright (C) 2014 Cédric Gross * Copyright (C) 2014-2015 Ferran Marcet * Copyright (C) 2015 Jean-François Ferry @@ -1179,24 +1179,21 @@ else print $formaccounting->select_account(GETPOST('accountancy_code_sell'), 'accountancy_code_sell', 1, null, 1, 1, ''); print ''; - if ($conf->global->MAIN_FEATURES_LEVEL) + // Accountancy_code_sell_intra + if ($mysoc->isInEEC()) { - // Accountancy_code_sell_intra - if ($mysoc->isInEEC()) - { - print ''.$langs->trans("ProductAccountancySellIntraCode").''; - print ''; - print $formaccounting->select_account(GETPOST('accountancy_code_sell_intra'), 'accountancy_code_sell_intra', 1, null, 1, 1, ''); - print ''; - } - - // Accountancy_code_sell_export - print ''.$langs->trans("ProductAccountancySellExportCode").''; + print ''.$langs->trans("ProductAccountancySellIntraCode").''; print ''; - print $formaccounting->select_account(GETPOST('accountancy_code_sell_export'), 'accountancy_code_sell_export', 1, null, 1, 1, ''); + print $formaccounting->select_account(GETPOST('accountancy_code_sell_intra'), 'accountancy_code_sell_intra', 1, null, 1, 1, ''); print ''; } + // Accountancy_code_sell_export + print ''.$langs->trans("ProductAccountancySellExportCode").''; + print ''; + print $formaccounting->select_account(GETPOST('accountancy_code_sell_export'), 'accountancy_code_sell_export', 1, null, 1, 1, ''); + print ''; + // Accountancy_code_buy print ''.$langs->trans("ProductAccountancyBuyCode").''; print ''; From 4c70c05e200099e16034de8f579735423dd25dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 23 Jan 2019 23:35:57 +0100 Subject: [PATCH 023/130] fix travis --- htdocs/website/index.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 31fc81280c2..f67160bf6d8 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -1858,7 +1858,6 @@ if (! GETPOST('hide_websitemenu')) } print $form->textwithpicto($linktotestonwebserver, $htmltext, 1, 'none', 'valignmiddle', 0, 2, 'helpvirtualhost'); print ''; - } if (in_array($action, array('editcss','editmenu','file_manager'))) From 822706000f3ea4ed847822f67d32a671488ce0c1 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 24 Jan 2019 18:01:40 +0100 Subject: [PATCH 024/130] fix broken link into contact tpl --- htdocs/core/tpl/contacts.tpl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/tpl/contacts.tpl.php b/htdocs/core/tpl/contacts.tpl.php index f1dfdf3d7a8..a603f0f9bbe 100644 --- a/htdocs/core/tpl/contacts.tpl.php +++ b/htdocs/core/tpl/contacts.tpl.php @@ -207,7 +207,7 @@ if ($permission) { if ($tab[$i]['source']=='external') { $contactstatic->fetch($tab[$i]['id']); - echo $contactstatic->getNomUrl(1, '', 0, 0, 0, 0, '', 'valignmiddle'); + echo $contactstatic->getNomUrl(1, '', 0, '', 0, 0, '', 'valignmiddle'); } ?> From 97cc414b298b461f5c0e27e79851d6d1e31d7ff8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 26 Jan 2019 12:35:02 +0100 Subject: [PATCH 025/130] Update doliwamp --- build/exe/doliwamp/Languages/MyEnglish.isl | 2 +- build/exe/doliwamp/Languages/MyFrench.isl | 54 +++++++++++----------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/build/exe/doliwamp/Languages/MyEnglish.isl b/build/exe/doliwamp/Languages/MyEnglish.isl index c46827f889e..8a8ced59ddb 100644 --- a/build/exe/doliwamp/Languages/MyEnglish.isl +++ b/build/exe/doliwamp/Languages/MyEnglish.isl @@ -32,7 +32,7 @@ PortAlreadyInUse=Port %1 seems to be already in use. You should cancel to go bac FirefoxDetected=Firefox has been detected on your computer. Would you like to use it as the default browser for Dolibarr ? ChromeDetected=Chrome has been detected on your computer. Would you like to use it as the default browser for Dolibarr ? -ChooseDefaultBrowser=Please choose your default browser. If you are not sure, just click Open : +ChooseDefaultBrowser=Please choose your default browser (iexplore.exe, firefox.exe, chrome.exe, MicrosoftEdge.exe...). If you are not sure, just click Open : LaunchNow=Launch Dolibarr now diff --git a/build/exe/doliwamp/Languages/MyFrench.isl b/build/exe/doliwamp/Languages/MyFrench.isl index f3966334247..c3a91cdfdc1 100644 --- a/build/exe/doliwamp/Languages/MyFrench.isl +++ b/build/exe/doliwamp/Languages/MyFrench.isl @@ -2,47 +2,47 @@ [CustomMessages] NameAndVersion=%1 version %2 -Additionalcons=Ic�nes suppl�mentaires : -CreateDesktopIcon=Cr�er une ic�ne sur le &Bureau -CreateQuickLaunchIcon=Cr�er une ic�ne dans la barre de &Lancement rapide +AdditionalIcons=Icônes supplémentaires : +CreateDesktopIcon=Créer une icône sur le &Bureau +CreateQuickLaunchIcon=Créer une icône dans la barre de &Lancement rapide ProgramOnTheWeb=Page d'accueil de %1 -UninstallProgram=D�sinstaller %1 -LaunchProgram=Ex�cuter %1 +UninstallProgram=Désinstaller %1 +LaunchProgram=Exécuter %1 AssocFileExtension=&Associer %1 avec l'extension de fichier %2 AssocingFileExtension=Associe %1 avec l'extension de fichier %2... -YouWillInstallDoliWamp=Vous allez installer ou mettre � jour DoliWamp (Apache+Mysql+PHP+Dolibarr) sur votre ordinateur. -ThisAssistantInstallOrUpgrade=Cet assistant installe ou met � jour Dolibarr ERP-CRM et tous ses composants pr�requis (Apache, Mysql et PHP) optimis�s pour une utilisation de Dolibarr. -IfYouHaveTechnicalKnowledge=Si vous cherchez un h�bergement dans le Cloud, aller voir sur https://saas.dolibarr.org. Si vous avez des comp�tences techniques et voulez g�rer vous m�me Apache, Mysql et PHP, vous ne devriez pas utiliser cet assistant mais faire plut�t une installation manuelle de Dolibarr sur votre socle Apache, Mysql et PHP existant. -ButIfYouLook=Mais si vous recherchez une installation automatis�e locale sur votre ordinateur, cl� en main, vous �tes sur la bonne voie... -DoYouWantToStart=Voulez-vous d�marrer le processus d'installation/mise � jour ? +YouWillInstallDoliWamp=Vous allez installer ou mettre à jour DoliWamp (Apache+Mysql+PHP+Dolibarr) sur votre ordinateur. +ThisAssistantInstallOrUpgrade=Cet assistant installe ou met à jour Dolibarr ERP-CRM et tous ses composants prérequis (Apache, Mysql et PHP) optimisés pour une utilisation de Dolibarr. +IfYouHaveTechnicalKnowledge=Si vous avez des compétences techniques et envisagez de partager votre Apache, Mysql et PHP avec d'autres applications que Dolibarr, vous ne devriez pas utiliser cet assistant mais faire plutôt une installation manuelle de Dolibarr sur un socle Apache, Mysql et PHP existant. +ButIfYouLook=Mais si vous recherchez une installation clé en main automatisée, vous êtes sur la bonne voie... +DoYouWantToStart=Voulez-vous démarrer le processus d'installation/mise à jour ? -TechnicalParameters=Param�tres techniques -IfFirstInstall=S'il s'agit de la premi�re installation, merci de sp�cifier ces quelques param�tres techniques. Si vous ne les comprennez pas, �tes non s�r, ou proc�dez � une mise � jour, laissez les champs avec les valeurs propos�es par d�faut. +TechnicalParameters=Paramètres techniques +IfFirstInstall=S'il s'agit de la première installation, merci de spécifier ces quelques paramètres techniques. Si vous ne les comprennez pas, êtes non sûr, ou procédez à une mise à jour, laissez les champs avec les valeurs proposées par défaut. ; WARNING !!! STRINGS FOR THIS 4 STRINGS MUST BE LOWER THAN 70 CHARACTERS -SMTPServer=Serveur SMTP (le votre ou de votre FAI, premi�re installation uniquement): -ApachePort=Port Apache (premi�re installation uniquement, le choix standard est 80): -MySqlPort=Port Mysql (premi�re installation uniquement, le choix standard est 3306): -MySqlPassword=Mot de passe serveur+base MySql de root (premi�re installation uniquement): +SMTPServer=Serveur SMTP (le votre ou de votre FAI, première installation uniquement): +ApachePort=Port Apache (première installation uniquement, le choix standard est 80): +MySqlPort=Port Mysql (première installation uniquement, le choix standard est 3306): +MySqlPassword=Mot de passe serveur+base MySql de root (première installation uniquement): -FailedToDeleteLock=Echec de la suppression du fichier %1/www/dolibarr/install.lock. Vous pouvez ignorer l'avertissement mais il est possible que vous deviez le supprimer manuellement plus tard. Dans ce cas, cela vous sera signal�. Cliquez sur OK pour continuer... +FailedToDeleteLock=Echec de la suppression du fichier %1/www/dolibarr/install.lock. Vous pouvez ignorer l'avertissement mais il est possible que vous deviez le supprimer manuellement plus tard. Dans ce cas, cela vous sera signalé. Cliquez sur OK pour continuer... -PortAlreadyInUse=Le port %1 semble d�j� utilis�. Il est recommand� d'annuler pour revenir en arri�re et sp�cifier une autre valeur pour le port %2. Annuler le choix et choisir une autre valeur ? +PortAlreadyInUse=Le port %1 semble déjà utilisé. Il est recommandé d'annuler pour revenir en arrière et spécifier une autre valeur pour le port %2. Annuler le choix et choisir une autre valeur ? -FirefoxDetected=Firefox a �t� d�tect� sur votre ordinateur. Voulez-vous en faire votre navigateur par d�faut pour Dolibarr ? -ChromeDetected=Chrome a �t� d�tect� sur votre ordinateur. Voulez-vous en faire votre navigateur par d�faut pour Dolibarr ? -ChooseDefaultBrowser=Merci de choisir votre navigateur par d�faut. Si vous n'�tes pas s�r, cliquez simplement sur Ouvrir : +FirefoxDetected=Firefox a été détecté sur votre ordinateur. Voulez-vous en faire votre navigateur par défaut pour Dolibarr ? +ChromeDetected=Chrome a été détecté sur votre ordinateur. Voulez-vous en faire votre navigateur par défaut pour Dolibarr ? +ChooseDefaultBrowser=Merci de choisir votre navigateur par défaut (iexplore.exe, firefox.exe, chrome.exe, MicrosoftEdge.exe...). Si vous n'êtes pas sûr, cliquez simplement sur Ouvrir : LaunchNow=Lancer Dolibarr maintenant -ProgramHasBeenRemoved=Les fichiers du programme Dolibarr ont �t� supprim�s. Toutefois, tous vos fichiers de donn�es sont toujours dans le r�pertoire %1. Vous devez supprimer ce r�pertoire manuellement pour avoir une d�sinstallation compl�te. +ProgramHasBeenRemoved=Les fichiers du programme Dolibarr ont été supprimés. Toutefois, tous vos fichiers de données sont toujours dans le répertoire %1. Vous devez supprimer ce répertoire manuellement pour avoir une désinstallation complète. -DoliWampWillStartApacheMysql=L'installeur DoliWamp va maintenant d�marrer ou red�marrer Apache et Mysql, ceci peut durer de quelques secondes � une minute apr�s cette confirmation. D�marrer l'installation ou mise � jour du serveur web et base de donn�es requis par Dolibarr ? +DoliWampWillStartApacheMysql=L'installeur DoliWamp va maintenant démarrer ou redémarrer Apache et Mysql, ceci peut durer de quelques secondes à une minute après cette confirmation. Démarrer l'installation ou mise à jour du serveur web et base de données requis par Dolibarr ? -OldVersionFoundAndMoveInNew=Une ancienne version de base a �t� trouv�e et d�plac�e pour fonctionner avec la nouvelle version de Dolibarr. -OldVersionFoundButFailedToMoveInNew=Une ancienne version de base a �t� trouv�e mais ne peut �tre d�plac�e pour �tre utilis�e avec la nouvelle version de Dolibarr. +OldVersionFoundAndMoveInNew=Une ancienne version de base a été trouvée et déplacée pour fonctionner avec la nouvelle version de Dolibarr. +OldVersionFoundButFailedToMoveInNew=Une ancienne version de base a été trouvée mais ne peut être déplacée pour être utilisée avec la nouvelle version de Dolibarr. -DLLMissing=L'installation de votre Windows est incompl�te. Il manque le composant "Micrsoft Visual C++ Redistributable for Visual Studio 2012". Installer la version 32-bit version (vcredist_x86.exe) d'abord (vous pourrez le trouver � https://www.microsoft.com/en-us/download/) puis relancer l'installation de DoliWamp après. -ContinueAnyway=Continuer malgr� tout (le process d'installaton échouera) +DLLMissing=L'installation de votre Windows est incomplète. Il manque le composant "Micrsoft Visual C++ Redistributable for Visual Studio 2012". Installer la version 32-bit version (vcredist_x86.exe) d'abord (vous pourrez le trouver à https://www.microsoft.com/fr-fr/download/) puis relancer l'installation de DoliWamp après. +ContinueAnyway=Continuer malgré tout (le process d'installaton échouera) From 43694f9384c981899ed755fb035fa7e5b93d73c6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 26 Jan 2019 13:32:36 +0100 Subject: [PATCH 026/130] FIX Compatibility with windows 10 --- build/exe/doliwamp/rundoliadmin.bat.install | 2 +- build/exe/doliwamp/rundolihelp.bat.install | 2 +- build/exe/doliwamp/rundoliwamp.bat.install | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/exe/doliwamp/rundoliadmin.bat.install b/build/exe/doliwamp/rundoliadmin.bat.install index aa882b2335c..dcd113f4ab5 100644 --- a/build/exe/doliwamp/rundoliadmin.bat.install +++ b/build/exe/doliwamp/rundoliadmin.bat.install @@ -3,4 +3,4 @@ REM Launch Dolibarr Admin center REM ---------------------------- REM Go to admin center page -start "DoliWamp admin" "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/ +start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/ diff --git a/build/exe/doliwamp/rundolihelp.bat.install b/build/exe/doliwamp/rundolihelp.bat.install index d0adbe3b4d7..eed5346de9f 100644 --- a/build/exe/doliwamp/rundolihelp.bat.install +++ b/build/exe/doliwamp/rundolihelp.bat.install @@ -4,4 +4,4 @@ REM --------------------------- REM Go to help center page echo Please wait... -start "Dolibarr Help center" "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/support/ +start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/support/ diff --git a/build/exe/doliwamp/rundoliwamp.bat.install b/build/exe/doliwamp/rundoliwamp.bat.install index cbda6c86aba..c576c5d240b 100644 --- a/build/exe/doliwamp/rundoliwamp.bat.install +++ b/build/exe/doliwamp/rundoliwamp.bat.install @@ -3,7 +3,7 @@ REM Launch Dolibarr REM --------------- REM If no lock file, we call install process -IF NOT EXIST dolibarr_documents\install.lock start "Dolibarr" "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/install/ +IF NOT EXIST dolibarr_documents\install.lock start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/install/ REM If lock file exists, we call home page -IF EXIST dolibarr_documents\install.lock start "Dolibarr" "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/ +IF EXIST dolibarr_documents\install.lock start "WAMPBROWSER" http://localhost:WAMPAPACHEPORT/dolibarr/ From 6867a8a88a0ba8b68a3d3f5a0455b3cb8175a68e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 26 Jan 2019 13:46:59 +0100 Subject: [PATCH 027/130] Typo --- build/exe/doliwamp/Languages/MyFrench.isl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/exe/doliwamp/Languages/MyFrench.isl b/build/exe/doliwamp/Languages/MyFrench.isl index c3a91cdfdc1..1caaf25b693 100644 --- a/build/exe/doliwamp/Languages/MyFrench.isl +++ b/build/exe/doliwamp/Languages/MyFrench.isl @@ -44,5 +44,5 @@ DoliWampWillStartApacheMysql=L'installeur DoliWamp va maintenant d OldVersionFoundAndMoveInNew=Une ancienne version de base a été trouvée et déplacée pour fonctionner avec la nouvelle version de Dolibarr. OldVersionFoundButFailedToMoveInNew=Une ancienne version de base a été trouvée mais ne peut être déplacée pour être utilisée avec la nouvelle version de Dolibarr. -DLLMissing=L'installation de votre Windows est incomplète. Il manque le composant "Micrsoft Visual C++ Redistributable for Visual Studio 2012". Installer la version 32-bit version (vcredist_x86.exe) d'abord (vous pourrez le trouver à https://www.microsoft.com/fr-fr/download/) puis relancer l'installation de DoliWamp après. +DLLMissing=L'installation de votre Windows est incomplète. Il manque le composant "Micrsoft Visual C++ Redistributable for Visual Studio 2012". Installer la version 32-bit (vcredist_x86.exe) d'abord (vous pourrez le trouver à https://www.microsoft.com/fr-fr/download/) puis relancer l'installation de DoliWamp après. ContinueAnyway=Continuer malgré tout (le process d'installaton échouera) From 46b6d162109a49765b2d1787f45bb8889ba6fc34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sun, 27 Jan 2019 09:17:01 +0100 Subject: [PATCH 028/130] correct menu --- htdocs/core/menus/standard/eldy.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 215ce25e398..e441fbce582 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -805,7 +805,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/fichinter/index.php?leftmenu=ficheinter", $langs->trans("Interventions"), 0, $user->rights->ficheinter->lire, '', $mainmenu, 'ficheinter', 2200); $newmenu->add("/fichinter/card.php?action=create&leftmenu=ficheinter", $langs->trans("NewIntervention"), 1, $user->rights->ficheinter->creer, '', '', '', 201); $newmenu->add("/fichinter/list.php?leftmenu=ficheinter", $langs->trans("List"), 1, $user->rights->ficheinter->lire, '', '', '', 202); - $newmenu->add("/fichinter/card-red.php?leftmenu=ficheinter", $langs->trans("ModelList"), 1, $user->rights->ficheinter->lire, '', '', '', 203); + $newmenu->add("/fichinter/card-rec.php?leftmenu=ficheinter", $langs->trans("ModelList"), 1, $user->rights->ficheinter->lire, '', '', '', 203); $newmenu->add("/fichinter/stats/index.php?leftmenu=ficheinter", $langs->trans("Statistics"), 1, $user->rights->fournisseur->commande->lire); } } From 6e91b3cefcd28a410f59b224071704b932501f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sun, 27 Jan 2019 10:49:34 +0100 Subject: [PATCH 029/130] PSR2 usage of else if is discouraged --- dev/examples/code/create_user.php | 2 +- dev/setup/codesniffer/ruleset.xml | 3 +- dev/translation/autotranslator.class.php | 4 +- dev/translation/sanity_check_en_langfiles.php | 4 +- dev/translation/strip_language_file.php | 2 +- htdocs/accountancy/admin/account.php | 2 +- htdocs/accountancy/admin/accountmodel.php | 14 +-- htdocs/accountancy/admin/card.php | 6 +- htdocs/accountancy/admin/categories_list.php | 16 +-- htdocs/accountancy/admin/fiscalyear_card.php | 6 +- htdocs/accountancy/admin/journals_list.php | 12 +-- htdocs/accountancy/bookkeeping/card.php | 6 +- htdocs/accountancy/customer/lines.php | 4 +- htdocs/accountancy/customer/list.php | 4 +- htdocs/accountancy/expensereport/lines.php | 4 +- htdocs/accountancy/expensereport/list.php | 4 +- htdocs/accountancy/journal/bankjournal.php | 50 +++++----- htdocs/accountancy/supplier/lines.php | 4 +- htdocs/accountancy/supplier/list.php | 4 +- htdocs/adherents/class/adherent.class.php | 4 +- htdocs/adherents/class/api_members.class.php | 2 +- htdocs/adherents/stats/geo.php | 6 +- htdocs/adherents/subscription.php | 4 +- htdocs/adherents/type.php | 10 +- htdocs/admin/agenda_other.php | 8 +- htdocs/admin/agenda_reminder.php | 8 +- htdocs/admin/bank.php | 4 +- htdocs/admin/boxes.php | 6 +- htdocs/admin/commande.php | 20 ++-- htdocs/admin/company.php | 12 +-- htdocs/admin/confexped.php | 2 +- htdocs/admin/const.php | 2 +- htdocs/admin/contract.php | 12 +-- htdocs/admin/dict.php | 80 +++++++-------- htdocs/admin/dolistore/ajax/image.php | 2 +- .../admin/dolistore/class/dolistore.class.php | 2 +- htdocs/admin/ecm.php | 2 +- htdocs/admin/expedition.php | 12 +-- htdocs/admin/expensereport.php | 12 +-- htdocs/admin/facture.php | 8 +- htdocs/admin/fckeditor.php | 2 +- htdocs/admin/fichinter.php | 14 +-- htdocs/admin/holiday.php | 12 +-- htdocs/admin/ihm.php | 2 +- htdocs/admin/mails.php | 4 +- htdocs/admin/mails_templates.php | 4 +- htdocs/admin/menus/other.php | 2 +- htdocs/admin/modules.php | 8 +- htdocs/admin/notification.php | 2 +- htdocs/admin/pdf.php | 2 +- htdocs/admin/prelevement.php | 4 +- htdocs/admin/propal.php | 6 +- htdocs/admin/reception_setup.php | 12 +-- htdocs/admin/security.php | 6 +- htdocs/admin/security_file.php | 2 +- htdocs/admin/security_other.php | 4 +- htdocs/admin/supplier_invoice.php | 8 +- htdocs/admin/supplier_order.php | 16 +-- htdocs/admin/supplier_payment.php | 10 +- htdocs/admin/supplier_proposal.php | 6 +- htdocs/admin/syslog.php | 2 +- htdocs/admin/system/constall.php | 2 +- htdocs/admin/system/database-tables.php | 6 +- htdocs/admin/system/dbtable.php | 2 +- htdocs/admin/system/dolibarr.php | 4 +- htdocs/admin/tools/dolibarr_export.php | 2 +- htdocs/admin/tools/dolibarr_import.php | 4 +- htdocs/admin/tools/eaccelerator.php | 12 +-- htdocs/admin/tools/listsessions.php | 2 +- htdocs/admin/translation.php | 2 +- htdocs/api/class/api.class.php | 2 +- htdocs/api/class/api_setup.class.php | 2 +- htdocs/blockedlog/admin/blockedlog_list.php | 2 +- htdocs/blockedlog/class/authority.class.php | 2 +- htdocs/blockedlog/class/blockedlog.class.php | 24 ++--- htdocs/cashdesk/class/Facturation.class.php | 30 +++--- htdocs/cashdesk/facturation.php | 2 +- htdocs/cashdesk/facturation_verif.php | 4 +- htdocs/categories/card.php | 24 ++--- htdocs/categories/class/categorie.class.php | 6 +- htdocs/categories/traduction.php | 2 +- htdocs/categories/viewcat.php | 12 +-- htdocs/comm/action/card.php | 4 +- htdocs/comm/action/class/actioncomm.class.php | 2 +- htdocs/comm/action/index.php | 10 +- htdocs/comm/action/pertype.php | 8 +- htdocs/comm/action/peruser.php | 8 +- htdocs/comm/address.php | 8 +- htdocs/comm/index.php | 6 +- htdocs/comm/mailing/card.php | 22 ++--- htdocs/comm/mailing/cibles.php | 6 +- .../mailing/class/advtargetemailing.class.php | 8 +- htdocs/comm/propal/card.php | 66 ++++++------- htdocs/comm/propal/class/propal.class.php | 2 +- htdocs/comm/propal/contact.php | 6 +- htdocs/comm/propal/index.php | 2 +- htdocs/comm/propal/list.php | 2 +- htdocs/commande/card.php | 64 ++++++------ htdocs/commande/class/api_orders.class.php | 2 +- htdocs/commande/class/commande.class.php | 2 +- htdocs/commande/contact.php | 4 +- htdocs/compta/bank/card.php | 8 +- htdocs/compta/bank/class/account.class.php | 4 +- htdocs/compta/bank/ligne.php | 26 ++--- htdocs/compta/deplacement/card.php | 16 +-- .../class/deplacementstats.class.php | 2 +- htdocs/compta/facture/card.php | 64 ++++++------ .../facture/class/facture-rec.class.php | 4 +- htdocs/compta/facture/class/facture.class.php | 12 +-- htdocs/compta/facture/contact.php | 4 +- htdocs/compta/facture/fiche-rec.php | 4 +- .../compta/facture/invoicetemplate_list.php | 8 +- htdocs/compta/facture/list.php | 4 +- htdocs/compta/localtax/clients.php | 8 +- htdocs/compta/localtax/quadri_detail.php | 4 +- htdocs/compta/paiement/cheque/card.php | 2 +- .../cheque/class/remisecheque.class.php | 4 +- htdocs/compta/paiement/cheque/list.php | 4 +- .../compta/paiement/class/paiement.class.php | 10 +- htdocs/compta/resultat/index.php | 28 +++--- .../salaries/class/salariesstats.class.php | 2 +- htdocs/compta/stats/byratecountry.php | 6 +- htdocs/compta/stats/cabyprodserv.php | 10 +- htdocs/compta/stats/cabyuser.php | 6 +- htdocs/compta/stats/casoc.php | 14 +-- htdocs/compta/stats/index.php | 8 +- htdocs/compta/tva/clients.php | 6 +- htdocs/compta/tva/list.php | 2 +- htdocs/compta/tva/quadri_detail.php | 6 +- htdocs/contact/class/contact.class.php | 4 +- htdocs/contact/list.php | 12 +-- htdocs/contact/perso.php | 2 +- htdocs/contrat/card.php | 28 +++--- htdocs/contrat/class/contrat.class.php | 2 +- htdocs/contrat/list.php | 6 +- htdocs/core/actions_builddoc.inc.php | 2 +- htdocs/core/actions_sendmails.inc.php | 6 +- htdocs/core/actions_setnotes.inc.php | 2 +- htdocs/core/ajax/ajaxdirpreview.php | 30 +++--- htdocs/core/ajax/constantonoff.php | 2 +- htdocs/core/ajax/extraparams.php | 16 +-- htdocs/core/ajax/loadinplace.php | 12 +-- htdocs/core/ajax/price.php | 2 +- htdocs/core/ajax/saveinplace.php | 16 +-- .../boxes/box_graph_product_distribution.php | 6 +- htdocs/core/class/CMailFile.class.php | 8 +- htdocs/core/class/CSMSFile.class.php | 2 +- .../core/class/commondocgenerator.class.php | 10 +- htdocs/core/class/commonobject.class.php | 90 ++++++++--------- htdocs/core/class/conf.class.php | 10 +- htdocs/core/class/coreobject.class.php | 6 +- htdocs/core/class/discount.class.php | 4 +- htdocs/core/class/dolgeoip.class.php | 2 +- htdocs/core/class/dolgraph.class.php | 2 +- htdocs/core/class/extrafields.class.php | 14 +-- htdocs/core/class/fileupload.class.php | 4 +- htdocs/core/class/html.form.class.php | 98 +++++++++---------- htdocs/core/class/html.formadmin.class.php | 4 +- htdocs/core/class/html.formcompany.class.php | 14 +-- htdocs/core/class/html.formcontract.class.php | 2 +- htdocs/core/class/html.formfile.class.php | 48 ++++----- htdocs/core/class/html.formmail.class.php | 6 +- htdocs/core/class/html.formprojet.class.php | 10 +- htdocs/core/class/html.formsms.class.php | 2 +- htdocs/core/class/interfaces.class.php | 4 +- htdocs/core/class/menubase.class.php | 2 +- htdocs/core/class/rssparser.class.php | 4 +- htdocs/core/class/smtps.class.php | 10 +- htdocs/core/class/translate.class.php | 8 +- htdocs/core/db/mssql.class.php | 8 +- htdocs/core/db/mysqli.class.php | 4 +- htdocs/core/db/pgsql.class.php | 12 +-- htdocs/core/db/sqlite3.class.php | 16 +-- .../connectors/php/commands.php | 2 +- htdocs/core/lib/bank.lib.php | 2 +- htdocs/core/lib/barcode.lib.php | 8 +- htdocs/core/lib/company.lib.php | 10 +- htdocs/core/lib/date.lib.php | 18 ++-- htdocs/core/lib/files.lib.php | 98 +++++++++---------- htdocs/core/lib/functions.lib.php | 98 +++++++++---------- htdocs/core/lib/functions2.lib.php | 34 +++---- htdocs/core/lib/geturl.lib.php | 8 +- htdocs/core/lib/ldap.lib.php | 6 +- htdocs/core/lib/memory.lib.php | 8 +- htdocs/core/lib/modulebuilder.lib.php | 6 +- htdocs/core/lib/pdf.lib.php | 16 +-- htdocs/core/lib/product.lib.php | 6 +- htdocs/core/lib/project.lib.php | 4 +- htdocs/core/lib/security.lib.php | 92 ++++++++--------- htdocs/core/lib/security2.lib.php | 2 +- htdocs/core/lib/tax.lib.php | 20 ++-- htdocs/core/lib/ws.lib.php | 2 +- htdocs/core/login/functions_openid.php | 4 +- htdocs/core/menus/standard/auguria.lib.php | 8 +- htdocs/core/menus/standard/auguria_menu.php | 2 +- htdocs/core/menus/standard/eldy.lib.php | 8 +- htdocs/core/menus/standard/eldy_menu.php | 2 +- htdocs/core/menus/standard/empty.php | 2 +- htdocs/core/modules/DolibarrModules.class.php | 2 +- .../barcode/doc/tcpdfbarcode.modules.php | 2 +- .../barcode/mod_barcode_product_standard.php | 2 +- .../modules/contract/mod_contract_olive.php | 2 +- .../modules/dons/html_cerfafr.modules.php | 30 +++--- .../doc/pdf_standard.modules.php | 2 +- .../modules/facture/doc/pdf_crabe.modules.php | 8 +- .../core/modules/facture/mod_facture_mars.php | 6 +- .../modules/facture/mod_facture_mercure.php | 4 +- .../modules/facture/mod_facture_terre.php | 4 +- .../modules/import/import_csv.modules.php | 6 +- .../modules/import/import_xlsx.modules.php | 6 +- .../modules/mailings/xinputfile.modules.php | 2 +- .../modules/member/doc/pdf_standard.class.php | 12 +-- .../doc/pdf_standardlabel.class.php | 12 +-- .../printsheet/doc/pdf_tcpdflabel.class.php | 16 +-- .../product/mod_codeproduct_elephant.php | 6 +- .../product/mod_codeproduct_leopard.php | 2 +- .../societe/mod_codeclient_elephant.php | 4 +- .../societe/mod_codeclient_leopard.php | 2 +- .../modules/societe/mod_codeclient_monkey.php | 2 +- .../societe/mod_codecompta_aquarium.php | 6 +- .../stock/doc/pdf_stdmovement.modules.php | 2 +- .../mod_facture_fournisseur_cactus.php | 4 +- .../mod_facture_fournisseur_tulip.php | 4 +- htdocs/core/photos_resize.php | 16 +-- htdocs/core/tpl/card_presend.tpl.php | 2 +- htdocs/core/tpl/login.tpl.php | 2 +- htdocs/core/tpl/objectline_create.tpl.php | 6 +- htdocs/core/tpl/passwordforgotten.tpl.php | 2 +- htdocs/cron/card.php | 2 +- htdocs/don/admin/donation.php | 6 +- htdocs/don/card.php | 2 +- htdocs/don/class/don.class.php | 2 +- htdocs/ecm/class/ecmdirectory.class.php | 4 +- htdocs/ecm/dir_add_card.php | 2 +- htdocs/ecm/dir_card.php | 2 +- htdocs/expedition/card.php | 32 +++--- htdocs/expedition/class/expedition.class.php | 2 +- htdocs/expedition/contact.php | 4 +- htdocs/expedition/shipment.php | 2 +- htdocs/expensereport/card.php | 2 +- htdocs/exports/export.php | 2 +- htdocs/externalsite/frames.php | 2 +- htdocs/fichinter/card-rec.php | 4 +- htdocs/fichinter/card.php | 36 +++---- htdocs/fichinter/contact.php | 4 +- htdocs/filefunc.inc.php | 2 +- .../fourn/class/fournisseur.facture.class.php | 2 +- htdocs/fourn/class/paiementfourn.class.php | 8 +- htdocs/fourn/commande/card.php | 40 ++++---- htdocs/fourn/commande/contact.php | 4 +- htdocs/fourn/commande/dispatch.php | 2 +- htdocs/fourn/facture/card.php | 22 ++--- htdocs/fourn/facture/contact.php | 4 +- htdocs/fourn/facture/paiement.php | 4 +- htdocs/ftp/index.php | 10 +- htdocs/holiday/card.php | 8 +- htdocs/hrm/establishment/card.php | 4 +- htdocs/install/check.php | 2 +- htdocs/install/inc.php | 16 +-- htdocs/install/lib/repair.lib.php | 8 +- htdocs/install/repair.php | 14 +-- htdocs/install/step1.php | 4 +- htdocs/install/upgrade.php | 2 +- htdocs/install/upgrade2.php | 2 +- htdocs/livraison/card.php | 2 +- htdocs/loan/card.php | 2 +- htdocs/main.inc.php | 2 +- htdocs/master.inc.php | 6 +- htdocs/opensurvey/exportcsv.php | 2 +- htdocs/opensurvey/results.php | 12 +-- htdocs/product/admin/product.php | 2 +- htdocs/product/admin/product_extrafields.php | 2 +- .../product/actions_card_product.class.php | 10 +- .../service/actions_card_service.class.php | 2 +- htdocs/product/card.php | 10 +- .../product/class/html.formproduct.class.php | 8 +- htdocs/product/class/product.class.php | 14 +-- htdocs/product/composition/card.php | 2 +- .../class/price_parser.class.php | 6 +- htdocs/product/dynamic_price/editor.php | 6 +- htdocs/product/fournisseurs.php | 2 +- htdocs/product/index.php | 4 +- htdocs/product/list.php | 6 +- htdocs/product/popuprop.php | 2 +- htdocs/product/price.php | 2 +- htdocs/product/stats/card.php | 2 +- .../stock/class/mouvementstock.class.php | 6 +- .../product/stock/lib/replenishment.lib.php | 2 +- htdocs/product/stock/movement_list.php | 2 +- htdocs/product/stock/replenishorders.php | 4 +- htdocs/product/traduction.php | 2 +- htdocs/projet/activity/perday.php | 2 +- htdocs/projet/admin/project.php | 20 ++-- htdocs/projet/class/project.class.php | 6 +- htdocs/projet/element.php | 26 ++--- htdocs/projet/list.php | 10 +- htdocs/projet/tasks.php | 16 +-- htdocs/projet/tasks/list.php | 8 +- htdocs/projet/tasks/time.php | 6 +- htdocs/public/members/new.php | 8 +- htdocs/public/onlinesign/newonlinesign.php | 2 +- htdocs/public/opensurvey/studs.php | 12 +-- htdocs/public/payment/newpayment.php | 4 +- htdocs/public/payment/paymentko.php | 2 +- htdocs/public/payment/paymentok.php | 6 +- htdocs/reception/card.php | 22 ++--- htdocs/reception/class/reception.class.php | 2 +- htdocs/reception/contact.php | 4 +- htdocs/resource/contact.php | 4 +- htdocs/societe/admin/societe.php | 2 +- .../canvas/actions_card_common.class.php | 2 +- htdocs/societe/card.php | 8 +- htdocs/societe/class/societe.class.php | 12 +-- htdocs/societe/consumption.php | 4 +- htdocs/societe/societecontact.php | 4 +- htdocs/supplier_proposal/card.php | 50 +++++----- .../class/supplier_proposal.class.php | 2 +- htdocs/supplier_proposal/contact.php | 4 +- htdocs/supplier_proposal/index.php | 2 +- htdocs/takepos/customers.php | 4 +- htdocs/takepos/genimg/index.php | 2 +- htdocs/takepos/invoice.php | 11 +-- htdocs/takepos/takepos.php | 4 +- htdocs/user/card.php | 10 +- htdocs/user/class/user.class.php | 6 +- htdocs/user/class/usergroup.class.php | 2 +- htdocs/user/group/card.php | 2 +- htdocs/user/hierarchy.php | 2 +- htdocs/user/home.php | 2 +- htdocs/user/list.php | 6 +- htdocs/user/perms.php | 4 +- .../webservices/server_productorservice.php | 2 +- htdocs/website/index.php | 2 +- scripts/user/sync_groups_ldap2dolibarr.php | 2 +- scripts/user/sync_users_ldap2dolibarr.php | 2 +- 335 files changed, 1524 insertions(+), 1526 deletions(-) diff --git a/dev/examples/code/create_user.php b/dev/examples/code/create_user.php index f8e0ba23011..4e6669de03c 100755 --- a/dev/examples/code/create_user.php +++ b/dev/examples/code/create_user.php @@ -80,7 +80,7 @@ if ($idobject > 0) dol_print_error($db,$obj->error); } } -else if ($obj->error == 'ErrorLoginAlreadyExists') +elseif ($obj->error == 'ErrorLoginAlreadyExists') { print "User with login ".$obj->login." already exists\n"; } diff --git a/dev/setup/codesniffer/ruleset.xml b/dev/setup/codesniffer/ruleset.xml index 879d791b8e9..525797429b5 100644 --- a/dev/setup/codesniffer/ruleset.xml +++ b/dev/setup/codesniffer/ruleset.xml @@ -65,7 +65,7 @@ 0 - + diff --git a/dev/translation/autotranslator.class.php b/dev/translation/autotranslator.class.php index 123b7f6157d..fbab36c0120 100644 --- a/dev/translation/autotranslator.class.php +++ b/dev/translation/autotranslator.class.php @@ -221,8 +221,8 @@ class autoTranslator } if ($key == 'CHARSET') $val=$this->_outputpagecode; - else if (preg_match('/^Format/',$key)) $val=$value; - else if ($value=='-') $val=$value; + elseif (preg_match('/^Format/',$key)) $val=$value; + elseif ($value=='-') $val=$value; else { // If not translated then translate diff --git a/dev/translation/sanity_check_en_langfiles.php b/dev/translation/sanity_check_en_langfiles.php index 0e3b2c7513f..cfc51e210f4 100755 --- a/dev/translation/sanity_check_en_langfiles.php +++ b/dev/translation/sanity_check_en_langfiles.php @@ -215,8 +215,8 @@ foreach ($dups as $string => $pages) $s.="\n"; if ($duplicateinsamefile) $sduplicateinsamefile .= $s; - else if ($inmain) $sinmainandother .= $s; - else if ($inadmin) $sininstallandadmin .= $s; + elseif ($inmain) $sinmainandother .= $s; + elseif ($inadmin) $sininstallandadmin .= $s; else $sother .= $s; } diff --git a/dev/translation/strip_language_file.php b/dev/translation/strip_language_file.php index 92233d71b98..685626d6c11 100755 --- a/dev/translation/strip_language_file.php +++ b/dev/translation/strip_language_file.php @@ -310,7 +310,7 @@ foreach($filesToProcess as $fileToProcess) { //print "Key $key is a key we always want to see into secondary file (line: $cnt).\n"; } - else if ( ! array_key_exists($key, $aSecondary)) + elseif ( ! array_key_exists($key, $aSecondary)) { //print "Key $key does NOT exist in secondary language (line: $cnt).\n"; continue; diff --git a/htdocs/accountancy/admin/account.php b/htdocs/accountancy/admin/account.php index c9b72d9cc4c..45ecb5cd6e6 100644 --- a/htdocs/accountancy/admin/account.php +++ b/htdocs/accountancy/admin/account.php @@ -162,7 +162,7 @@ if (empty($reshook)) if ($result < 0) { setEventMessages($accounting->error, $accounting->errors, 'errors'); } - } else if ($action == 'enable') { + } elseif ($action == 'enable') { if ($accounting->fetch($id)) { $result = $accounting->account_activate($id); } diff --git a/htdocs/accountancy/admin/accountmodel.php b/htdocs/accountancy/admin/accountmodel.php index e5f1d211f3b..809132b3719 100644 --- a/htdocs/accountancy/admin/accountmodel.php +++ b/htdocs/accountancy/admin/accountmodel.php @@ -270,7 +270,7 @@ if (GETPOST('actionadd','alpha') || GETPOST('actionmodify','alpha')) if ($value == 'price' || preg_match('/^amount/i',$value) || $value == 'taux') { $_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU'); } - else if ($value == 'entity') { + elseif ($value == 'entity') { $_POST[$listfieldvalue[$i]] = $conf->entity; } if ($i) $sql.=","; @@ -318,7 +318,7 @@ if (GETPOST('actionadd','alpha') || GETPOST('actionmodify','alpha')) if ($field == 'price' || preg_match('/^amount/i',$field) || $field == 'taux') { $_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU'); } - else if ($field == 'entity') { + elseif ($field == 'entity') { $_POST[$listfieldvalue[$i]] = $conf->entity; } if ($i) $sql.=","; @@ -535,7 +535,7 @@ if ($id) { print ''; if (! empty($tabhelp[$id][$value]) && preg_match('/^http(s*):/i',$tabhelp[$id][$value])) print ''.$valuetoshow.' '.img_help(1,$valuetoshow).''; - else if (! empty($tabhelp[$id][$value])) print $form->textwithpicto($valuetoshow,$tabhelp[$id][$value]); + elseif (! empty($tabhelp[$id][$value])) print $form->textwithpicto($valuetoshow,$tabhelp[$id][$value]); else print $valuetoshow; print ''; } @@ -729,14 +729,14 @@ if ($id) { $valuetoshow = isset($elementList[$valuetoshow])?$elementList[$valuetoshow]:$valuetoshow; } - else if ($value == 'source') + elseif ($value == 'source') { $valuetoshow = isset($sourceList[$valuetoshow])?$sourceList[$valuetoshow]:$valuetoshow; } - else if ($valuetoshow=='all') { + elseif ($valuetoshow=='all') { $valuetoshow=$langs->trans('All'); } - else if ($fieldlist[$field]=='country') { + elseif ($fieldlist[$field]=='country') { if (empty($obj->country_code)) { $valuetoshow='-'; @@ -747,7 +747,7 @@ if ($id) $valuetoshow=($key != "Country".strtoupper($obj->country_code)?$obj->country_code." - ".$key:$obj->country); } } - else if ($fieldlist[$field]=='country_id') { + elseif ($fieldlist[$field]=='country_id') { $showfield=0; } diff --git a/htdocs/accountancy/admin/card.php b/htdocs/accountancy/admin/card.php index a2ec757b212..b8e6945b632 100644 --- a/htdocs/accountancy/admin/card.php +++ b/htdocs/accountancy/admin/card.php @@ -124,7 +124,7 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount) exit; } } -} else if ($action == 'edit' && $user->rights->accounting->chartofaccount) { +} elseif ($action == 'edit' && $user->rights->accounting->chartofaccount) { if (! $cancel) { $result = $object->fetch($id); @@ -177,7 +177,7 @@ if ($action == 'add' && $user->rights->accounting->chartofaccount) header("Location: " . $urltogo); exit(); } -} else if ($action == 'delete' && $user->rights->accounting->chartofaccount) { +} elseif ($action == 'delete' && $user->rights->accounting->chartofaccount) { $result = $object->fetch($id); if (! empty($object->id)) { @@ -272,7 +272,7 @@ if ($action == 'create') { print ''; } -else if ($id > 0 || $ref) { +elseif ($id > 0 || $ref) { $result = $object->fetch($id, $ref, 1); diff --git a/htdocs/accountancy/admin/categories_list.php b/htdocs/accountancy/admin/categories_list.php index 1f10403f798..1f4748266b1 100644 --- a/htdocs/accountancy/admin/categories_list.php +++ b/htdocs/accountancy/admin/categories_list.php @@ -268,7 +268,7 @@ if (GETPOST('actionadd','alpha') || GETPOST('actionmodify','alpha')) if ($field == 'fk_country' && $_POST['country'] > 0) { $_POST[$listfieldvalue[$i]] = $_POST['country']; } - else if ($field == 'entity') { + elseif ($field == 'entity') { $_POST[$listfieldvalue[$i]] = $conf->entity; } if ($i) $sql.=","; @@ -492,7 +492,7 @@ if ($id) { print ''; if (! empty($tabhelp[$id][$value]) && preg_match('/^http(s*):/i',$tabhelp[$id][$value])) print ''.$valuetoshow.' '.img_help(1,$valuetoshow).''; - else if (! empty($tabhelp[$id][$value])) print $form->textwithpicto($valuetoshow,$tabhelp[$id][$value]); + elseif (! empty($tabhelp[$id][$value])) print $form->textwithpicto($valuetoshow,$tabhelp[$id][$value]); else print $valuetoshow; print ''; } @@ -699,10 +699,10 @@ if ($id) { $valuetoshow = yn($valuetoshow); } - else if ($valuetoshow=='all') { + elseif ($valuetoshow=='all') { $valuetoshow=$langs->trans('All'); } - else if ($fieldlist[$field]=='country') { + elseif ($fieldlist[$field]=='country') { if (empty($obj->country_code)) { $valuetoshow='-'; @@ -713,20 +713,20 @@ if ($id) $valuetoshow=($key != "Country".strtoupper($obj->country_code)?$obj->country_code." - ".$key:$obj->country); } } - else if ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_country') { + elseif ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_country') { $key=$langs->trans("Country".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "Country".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_availability') { + elseif ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_availability') { $langs->loadLangs(array("propal")); $key=$langs->trans("AvailabilityType".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "AvailabilityType".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_actioncomm') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_actioncomm') { $key=$langs->trans("Action".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "Action".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='country_id') { + elseif ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='country_id') { $showfield=0; } diff --git a/htdocs/accountancy/admin/fiscalyear_card.php b/htdocs/accountancy/admin/fiscalyear_card.php index 297a3026b02..42a6710c3c1 100644 --- a/htdocs/accountancy/admin/fiscalyear_card.php +++ b/htdocs/accountancy/admin/fiscalyear_card.php @@ -73,7 +73,7 @@ if ($action == 'confirm_delete' && $confirm == "yes") { } } -else if ($action == 'add') { +elseif ($action == 'add') { if (! GETPOST('cancel', 'alpha')) { $error = 0; @@ -118,7 +118,7 @@ else if ($action == 'add') { } // Update record -else if ($action == 'update') { +elseif ($action == 'update') { if (! GETPOST('cancel', 'alpha')) { $result = $object->fetch($id); @@ -198,7 +198,7 @@ if ($action == 'create') print ''; print ''; -} else if ($id) { +} elseif ($id) { $result = $object->fetch($id); if ($result > 0) { $head = fiscalyear_prepare_head($object); diff --git a/htdocs/accountancy/admin/journals_list.php b/htdocs/accountancy/admin/journals_list.php index 49745676eb3..111a707d51d 100644 --- a/htdocs/accountancy/admin/journals_list.php +++ b/htdocs/accountancy/admin/journals_list.php @@ -270,7 +270,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha')) if ($field == 'price' || preg_match('/^amount/i',$field) || $field == 'taux') { $_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU'); } - else if ($field == 'entity') { + elseif ($field == 'entity') { $_POST[$listfieldvalue[$i]] = $conf->entity; } if ($i) $sql.=","; @@ -441,7 +441,7 @@ if ($id) { print ''; if (! empty($tabhelp[$id][$value]) && preg_match('/^http(s*):/i',$tabhelp[$id][$value])) print ''.$valuetoshow.' '.img_help(1,$valuetoshow).''; - else if (! empty($tabhelp[$id][$value])) print $form->textwithpicto($valuetoshow,$tabhelp[$id][$value]); + elseif (! empty($tabhelp[$id][$value])) print $form->textwithpicto($valuetoshow,$tabhelp[$id][$value]); else print $valuetoshow; print ''; } @@ -611,11 +611,11 @@ if ($id) if ($valuetoshow=='all') { $valuetoshow=$langs->trans('All'); } - else if ($fieldlist[$field]=='nature' && $tabname[$id]==MAIN_DB_PREFIX.'accounting_journal') { + elseif ($fieldlist[$field]=='nature' && $tabname[$id]==MAIN_DB_PREFIX.'accounting_journal') { $key=$langs->trans("AccountingJournalType".strtoupper($obj->nature)); $valuetoshow=($obj->nature && $key != "AccountingJournalType".strtoupper($langs->trans($obj->nature))?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'accounting_journal') { + elseif ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'accounting_journal') { $valuetoshow=$langs->trans($obj->label); } @@ -630,8 +630,8 @@ if ($id) if (isset($obj->code) && $id != 10) { if (($obj->code == '0' || $obj->code == '' || preg_match('/unknown/i',$obj->code))) { $iserasable = 0; $canbedisabled = 0; } - else if ($obj->code == 'RECEP') { $iserasable = 0; $canbedisabled = 0; } - else if ($obj->code == 'EF0') { $iserasable = 0; $canbedisabled = 0; } + elseif ($obj->code == 'RECEP') { $iserasable = 0; $canbedisabled = 0; } + elseif ($obj->code == 'EF0') { $iserasable = 0; $canbedisabled = 0; } } $canbemodified=$iserasable; diff --git a/htdocs/accountancy/bookkeeping/card.php b/htdocs/accountancy/bookkeeping/card.php index 36ed261f20f..4cc03f7a529 100644 --- a/htdocs/accountancy/bookkeeping/card.php +++ b/htdocs/accountancy/bookkeeping/card.php @@ -140,7 +140,7 @@ if ($action == "confirm_update") { } } -else if ($action == "add") { +elseif ($action == "add") { $error = 0; if ((floatval($debit) != 0.0) && (floatval($credit) != 0.0)) @@ -201,7 +201,7 @@ else if ($action == "add") { } } -else if ($action == "confirm_delete") { +elseif ($action == "confirm_delete") { $object = new BookKeeping($db); $result = $object->fetch($id, null, $mode); @@ -218,7 +218,7 @@ else if ($action == "confirm_delete") { $action = ''; } -else if ($action == "confirm_create") { +elseif ($action == "confirm_create") { $error = 0; $object = new BookKeeping($db); diff --git a/htdocs/accountancy/customer/lines.php b/htdocs/accountancy/customer/lines.php index 46ebb8b4bc8..4a4cfa928ac 100644 --- a/htdocs/accountancy/customer/lines.php +++ b/htdocs/accountancy/customer/lines.php @@ -219,12 +219,12 @@ if ($search_month > 0) { if ($search_year > 0 && empty($search_day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($search_year,$search_month,false))."' AND '".$db->idate(dol_get_last_day($search_year,$search_month,false))."'"; - else if ($search_year > 0 && ! empty($search_day)) + elseif ($search_year > 0 && ! empty($search_day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month, $search_day, $search_year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month, $search_day, $search_year))."'"; else $sql.= " AND date_format(f.datef, '%m') = '".$db->escape($search_month)."'"; } -else if ($search_year > 0) +elseif ($search_year > 0) { $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($search_year,1,false))."' AND '".$db->idate(dol_get_last_day($search_year,12,false))."'"; } diff --git a/htdocs/accountancy/customer/list.php b/htdocs/accountancy/customer/list.php index c6c12a26f31..79ff0d07ae6 100644 --- a/htdocs/accountancy/customer/list.php +++ b/htdocs/accountancy/customer/list.php @@ -257,12 +257,12 @@ if ($search_month > 0) { if ($search_year > 0 && empty($search_day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($search_year,$search_month,false))."' AND '".$db->idate(dol_get_last_day($search_year,$search_month,false))."'"; - else if ($search_year > 0 && ! empty($search_day)) + elseif ($search_year > 0 && ! empty($search_day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month, $search_day, $search_year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month, $search_day, $search_year))."'"; else $sql.= " AND date_format(f.datef, '%m') = '".$db->escape($search_month)."'"; } -else if ($search_year > 0) +elseif ($search_year > 0) { $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($search_year,1,false))."' AND '".$db->idate(dol_get_last_day($search_year,12,false))."'"; } diff --git a/htdocs/accountancy/expensereport/lines.php b/htdocs/accountancy/expensereport/lines.php index c617f984af3..c6fa1202171 100644 --- a/htdocs/accountancy/expensereport/lines.php +++ b/htdocs/accountancy/expensereport/lines.php @@ -190,12 +190,12 @@ if ($search_month > 0) { if ($search_year > 0 && empty($search_day)) $sql.= " AND erd.date BETWEEN '".$db->idate(dol_get_first_day($search_year,$search_month,false))."' AND '".$db->idate(dol_get_last_day($search_year,$search_month,false))."'"; - else if ($search_year > 0 && ! empty($search_day)) + elseif ($search_year > 0 && ! empty($search_day)) $sql.= " AND erd.date BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month, $search_day, $search_year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month, $search_day, $search_year))."'"; else $sql.= " AND date_format(erd.date, '%m') = '".$db->escape($search_month)."'"; } -else if ($search_year > 0) +elseif ($search_year > 0) { $sql.= " AND erd.date BETWEEN '".$db->idate(dol_get_first_day($search_year,1,false))."' AND '".$db->idate(dol_get_last_day($search_year,12,false))."'"; } diff --git a/htdocs/accountancy/expensereport/list.php b/htdocs/accountancy/expensereport/list.php index 6977d76845d..078a91bc96e 100644 --- a/htdocs/accountancy/expensereport/list.php +++ b/htdocs/accountancy/expensereport/list.php @@ -219,12 +219,12 @@ if ($search_month > 0) { if ($search_year > 0 && empty($search_day)) $sql.= " AND erd.date BETWEEN '".$db->idate(dol_get_first_day($search_year,$search_month,false))."' AND '".$db->idate(dol_get_last_day($search_year,$search_month,false))."'"; - else if ($search_year > 0 && ! empty($search_day)) + elseif ($search_year > 0 && ! empty($search_day)) $sql.= " AND erd.date BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month, $search_day, $search_year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month, $search_day, $search_year))."'"; else $sql.= " AND date_format(erd.date, '%m') = '".$db->escape($search_month)."'"; } -else if ($search_year > 0) +elseif ($search_year > 0) { $sql.= " AND erd.date BETWEEN '".$db->idate(dol_get_first_day($search_year,1,false))."' AND '".$db->idate(dol_get_last_day($search_year,12,false))."'"; } diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index 24bf2097b67..b6b5137fe34 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -290,18 +290,18 @@ if ($result) { $paymentstatic->ref = $links[$key]['url_id']; $tabpay[$obj->rowid]["lib"] .= ' ' . $paymentstatic->getNomUrl(2, '', ''); // TODO Do not include list of invoice in tooltip, the dol_string_nohtmltag is ko with this $tabpay[$obj->rowid]["paymentid"] = $paymentstatic->id; - } else if ($links[$key]['type'] == 'payment_supplier') { + } elseif ($links[$key]['type'] == 'payment_supplier') { $paymentsupplierstatic->id = $links[$key]['url_id']; $paymentsupplierstatic->ref = $links[$key]['url_id']; $tabpay[$obj->rowid]["lib"] .= ' ' . $paymentsupplierstatic->getNomUrl(2); $tabpay[$obj->rowid]["paymentsupplierid"] = $paymentsupplierstatic->id; - } else if ($links[$key]['type'] == 'company') { + } elseif ($links[$key]['type'] == 'company') { $societestatic->id = $links[$key]['url_id']; $societestatic->name = $links[$key]['label']; $societestatic->email = $tabcompany[$obj->rowid]['email']; $tabpay[$obj->rowid]["soclib"] = $societestatic->getNomUrl(1, '', 30); if ($compta_soc) $tabtp[$obj->rowid][$compta_soc] += $obj->amount; - } else if ($links[$key]['type'] == 'user') { + } elseif ($links[$key]['type'] == 'user') { $userstatic->id = $links[$key]['url_id']; $userstatic->name = $links[$key]['label']; $userstatic->email = $tabuser[$obj->rowid]['email']; @@ -310,7 +310,7 @@ if ($result) { if ($userstatic->id > 0) $tabpay[$obj->rowid]["soclib"] = $userstatic->getNomUrl(1, '', 30); else $tabpay[$obj->rowid]["soclib"] = '???'; // Should not happen, but happens with old data when id of user was not saved on expense report payment. if ($compta_user) $tabtp[$obj->rowid][$compta_user] += $obj->amount; - } else if ($links[$key]['type'] == 'sc') { + } elseif ($links[$key]['type'] == 'sc') { $chargestatic->id = $links[$key]['url_id']; $chargestatic->ref = $links[$key]['url_id']; @@ -339,14 +339,14 @@ if ($result) { $objmid = $db->fetch_object($resultmid); $tabtp[$obj->rowid][$objmid->accountancy_code] += $obj->amount; } - } else if ($links[$key]['type'] == 'payment_donation') { + } elseif ($links[$key]['type'] == 'payment_donation') { $paymentdonstatic->id = $links[$key]['url_id']; $paymentdonstatic->ref = $links[$key]['url_id']; $paymentdonstatic->fk_donation = $links[$key]['url_id']; $tabpay[$obj->rowid]["lib"] .= ' ' . $paymentdonstatic->getNomUrl(2); $tabpay[$obj->rowid]["paymentdonationid"] = $paymentdonstatic->id; $tabtp[$obj->rowid][$account_pay_donation] += $obj->amount; - } else if ($links[$key]['type'] == 'member') { + } elseif ($links[$key]['type'] == 'member') { $paymentsubscriptionstatic->id = $links[$key]['url_id']; $paymentsubscriptionstatic->ref = $links[$key]['url_id']; $paymentsubscriptionstatic->label = $links[$key]['label']; @@ -354,24 +354,24 @@ if ($result) { $tabpay[$obj->rowid]["paymentsubscriptionid"] = $paymentsubscriptionstatic->id; $paymentsubscriptionstatic->fetch($paymentsubscriptionstatic->id); $tabtp[$obj->rowid][$account_pay_subscription] += $obj->amount; - } else if ($links[$key]['type'] == 'payment_vat') { // Payment VAT + } elseif ($links[$key]['type'] == 'payment_vat') { // Payment VAT $paymentvatstatic->id = $links[$key]['url_id']; $paymentvatstatic->ref = $links[$key]['url_id']; $paymentvatstatic->label = $links[$key]['label']; $tabpay[$obj->rowid]["lib"] .= ' ' . $paymentvatstatic->getNomUrl(2); $tabpay[$obj->rowid]["paymentvatid"] = $paymentvatstatic->id; $tabtp[$obj->rowid][$account_pay_vat] += $obj->amount; - } else if ($links[$key]['type'] == 'payment_salary') { + } elseif ($links[$key]['type'] == 'payment_salary') { $paymentsalstatic->id = $links[$key]['url_id']; $paymentsalstatic->ref = $links[$key]['url_id']; $paymentsalstatic->label = $links[$key]['label']; $tabpay[$obj->rowid]["lib"] .= ' ' . $paymentsalstatic->getNomUrl(2); $tabpay[$obj->rowid]["paymentsalid"] = $paymentsalstatic->id; - } else if ($links[$key]['type'] == 'payment_expensereport') { + } elseif ($links[$key]['type'] == 'payment_expensereport') { $paymentexpensereportstatic->id = $links[$key]['url_id']; $tabpay[$obj->rowid]["lib"] .= $paymentexpensereportstatic->getNomUrl(2); $tabpay[$obj->rowid]["paymentexpensereport"] = $paymentexpensereportstatic->id; - } else if ($links[$key]['type'] == 'payment_various') { + } elseif ($links[$key]['type'] == 'payment_various') { $paymentvariousstatic->id = $links[$key]['url_id']; $paymentvariousstatic->ref = $links[$key]['url_id']; $paymentvariousstatic->label = $links[$key]['label']; @@ -380,7 +380,7 @@ if ($result) { $paymentvariousstatic->fetch($paymentvariousstatic->id); $account_various = (! empty($paymentvariousstatic->accountancy_code) ? $paymentvariousstatic->accountancy_code : 'NotDefined'); // NotDefined is a reserved word $tabtp[$obj->rowid][$account_various] += $obj->amount; - } else if ($links[$key]['type'] == 'payment_loan') { + } elseif ($links[$key]['type'] == 'payment_loan') { $paymentloanstatic->id = $links[$key]['url_id']; $paymentloanstatic->ref = $links[$key]['url_id']; $paymentloanstatic->fk_loan = $links[$key]['url_id']; @@ -399,7 +399,7 @@ if ($result) { $tabtp[$obj->rowid][$objmid->accountancy_account_insurance] -= $objmid->amount_insurance; $tabtp[$obj->rowid][$objmid->accountancy_account_interest] -= $objmid->amount_interest; } - } else if ($links[$key]['type'] == 'banktransfert') { + } elseif ($links[$key]['type'] == 'banktransfert') { $accountLinestatic->fetch($links[$key]['url_id']); $tabpay[$obj->rowid]["lib"] .= ' '.$langs->trans("BankTransfer").'- ' .$accountLinestatic ->getNomUrl(1); $tabtp[$obj->rowid][$account_transfer] += $obj->amount; @@ -567,68 +567,68 @@ if (! $error && $action == 'writebookkeeping') { $accountingaccount->fetch(null, $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if ($tabtype[$key] == 'payment_supplier') { // If payment is payment of supplier invoice, we get ref of invoice + } elseif ($tabtype[$key] == 'payment_supplier') { // If payment is payment of supplier invoice, we get ref of invoice $bookkeeping->subledger_account = $tabcompany[$key]['code_compta']; $bookkeeping->subledger_label = $tabcompany[$key]['name']; $bookkeeping->numero_compte = $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER; $accountingaccount->fetch(null, $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if ($tabtype[$key] == 'payment_expensereport') { + } elseif ($tabtype[$key] == 'payment_expensereport') { $bookkeeping->subledger_account = $tabuser[$key]['accountancy_code']; $bookkeeping->subledger_label = $tabuser[$key]['name']; $bookkeeping->numero_compte = $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT; $accountingaccount->fetch(null, $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if ($tabtype[$key] == 'payment_salary') { + } elseif ($tabtype[$key] == 'payment_salary') { $bookkeeping->subledger_account = $tabuser[$key]['accountancy_code']; $bookkeeping->subledger_label = $tabuser[$key]['name']; $bookkeeping->numero_compte = $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT; $accountingaccount->fetch(null, $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if (in_array($tabtype[$key], array('sc', 'payment_sc'))) { // If payment is payment of social contribution + } elseif (in_array($tabtype[$key], array('sc', 'payment_sc'))) { // If payment is payment of social contribution $bookkeeping->subledger_account = ''; $bookkeeping->subledger_label = ''; $bookkeeping->numero_compte = $k; $bookkeeping->label_compte = $objmid->labelc; - } else if ($tabtype[$key] == 'payment_vat') { + } elseif ($tabtype[$key] == 'payment_vat') { $bookkeeping->subledger_account = ''; $bookkeeping->subledger_label = ''; $bookkeeping->numero_compte = $k; $accountingaccount->fetch(null, $k, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if ($tabtype[$key] == 'payment_donation') { + } elseif ($tabtype[$key] == 'payment_donation') { $bookkeeping->subledger_account = ''; $bookkeeping->subledger_label = ''; $bookkeeping->numero_compte = $k; $accountingaccount->fetch(null, $k, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if ($tabtype[$key] == 'member') { + } elseif ($tabtype[$key] == 'member') { $bookkeeping->subledger_account = ''; $bookkeeping->subledger_label = ''; $bookkeeping->numero_compte = $k; $accountingaccount->fetch(null, $k, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if ($tabtype[$key] == 'payment_loan') { + } elseif ($tabtype[$key] == 'payment_loan') { $bookkeeping->subledger_account = ''; $bookkeeping->subledger_label = ''; $bookkeeping->numero_compte = $k; $accountingaccount->fetch(null, $k, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if ($tabtype[$key] == 'payment_various') { + } elseif ($tabtype[$key] == 'payment_various') { $bookkeeping->subledger_account = ''; $bookkeeping->subledger_label = ''; $bookkeeping->numero_compte = $k; $accountingaccount->fetch(null, $k, true); $bookkeeping->label_compte = $accountingaccount->label; - } else if ($tabtype[$key] == 'banktransfert') { + } elseif ($tabtype[$key] == 'banktransfert') { $bookkeeping->subledger_account = ''; $bookkeeping->subledger_label = ''; $bookkeeping->numero_compte = $k; @@ -845,11 +845,11 @@ if ($action == 'exportcsv') { // ISO and not UTF8 ! print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep; if ($tabtype[$key] == 'payment_supplier') { print '"' . $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER . '"' . $sep; - } else if($tabtype[$key] == 'payment') { + } elseif($tabtype[$key] == 'payment') { print '"' . $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER . '"' . $sep; - } else if($tabtype[$key] == 'payment_expensereport') { + } elseif($tabtype[$key] == 'payment_expensereport') { print '"' . $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT . '"' . $sep; - } else if($tabtype[$key] == 'payment_salary') { + } elseif($tabtype[$key] == 'payment_salary') { print '"' . $conf->global->SALARIES_ACCOUNTING_ACCOUNT_PAYMENT . '"' . $sep; } else { print '"' . length_accounta(html_entity_decode($k)) . '"' . $sep; diff --git a/htdocs/accountancy/supplier/lines.php b/htdocs/accountancy/supplier/lines.php index 051562c656e..585c8400680 100644 --- a/htdocs/accountancy/supplier/lines.php +++ b/htdocs/accountancy/supplier/lines.php @@ -214,12 +214,12 @@ if ($search_month > 0) { if ($search_year > 0 && empty($search_day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($search_year,$search_month,false))."' AND '".$db->idate(dol_get_last_day($search_year,$search_month,false))."'"; - else if ($search_year > 0 && ! empty($search_day)) + elseif ($search_year > 0 && ! empty($search_day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month, $search_day, $search_year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month, $search_day, $search_year))."'"; else $sql.= " AND date_format(f.datef, '%m') = '".$db->escape($search_month)."'"; } -else if ($search_year > 0) +elseif ($search_year > 0) { $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($search_year,1,false))."' AND '".$db->idate(dol_get_last_day($search_year,12,false))."'"; } diff --git a/htdocs/accountancy/supplier/list.php b/htdocs/accountancy/supplier/list.php index 4ca53d4bcab..1a315897f02 100644 --- a/htdocs/accountancy/supplier/list.php +++ b/htdocs/accountancy/supplier/list.php @@ -256,12 +256,12 @@ if ($search_month > 0) { if ($search_year > 0 && empty($search_day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($search_year,$search_month,false))."' AND '".$db->idate(dol_get_last_day($search_year,$search_month,false))."'"; - else if ($search_year > 0 && ! empty($search_day)) + elseif ($search_year > 0 && ! empty($search_day)) $sql.= " AND f.datef BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month, $search_day, $search_year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month, $search_day, $search_year))."'"; else $sql.= " AND date_format(f.datef, '%m') = '".$db->escape($search_month)."'"; } -else if ($search_year > 0) +elseif ($search_year > 0) { $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($search_year,1,false))."' AND '".$db->idate(dol_get_last_day($search_year,12,false))."'"; } diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 3a698c6b042..826e1ddef1d 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -2487,7 +2487,7 @@ class Adherent extends CommonObject if (! empty($conf->global->LDAP_MEMBER_FIELD_PASSWORD_CRYPTED)) $info[$conf->global->LDAP_MEMBER_FIELD_PASSWORD_CRYPTED] = dol_hash($this->pass, 4); // Create OpenLDAP MD5 password (TODO add type of encryption) } // Set LDAP password if possible - else if ($conf->global->LDAP_SERVER_PROTOCOLVERSION !== '3') // If ldap key is modified and LDAPv3 we use ldap_rename function for avoid lose encrypt password + elseif ($conf->global->LDAP_SERVER_PROTOCOLVERSION !== '3') // If ldap key is modified and LDAPv3 we use ldap_rename function for avoid lose encrypt password { if (! empty($conf->global->DATABASE_PWD_ENCRYPTED)) { @@ -2502,7 +2502,7 @@ class Adherent extends CommonObject } } // Use $this->pass_indatabase value if exists - else if (! empty($this->pass_indatabase)) + elseif (! empty($this->pass_indatabase)) { if (! empty($conf->global->LDAP_MEMBER_FIELD_PASSWORD)) $info[$conf->global->LDAP_MEMBER_FIELD_PASSWORD] = $this->pass_indatabase; // $this->pass_indatabase = mot de passe non crypte if (! empty($conf->global->LDAP_MEMBER_FIELD_PASSWORD_CRYPTED)) $info[$conf->global->LDAP_MEMBER_FIELD_PASSWORD_CRYPTED] = dol_hash($this->pass_indatabase, 4); // md5 for OpenLdap TODO add type of encryption diff --git a/htdocs/adherents/class/api_members.class.php b/htdocs/adherents/class/api_members.class.php index 2da35df7e2c..7db60a11003 100644 --- a/htdocs/adherents/class/api_members.class.php +++ b/htdocs/adherents/class/api_members.class.php @@ -213,7 +213,7 @@ class Members extends DolibarrApi if ($result < 0) { throw new RestException(500, 'Error when resiliating member: '.$member->error); } - } else if ($value == '1') { + } elseif ($value == '1') { $result = $member->validate(DolibarrApiAccess::$user); if ($result < 0) { throw new RestException(500, 'Error when validating member: '.$member->error); diff --git a/htdocs/adherents/stats/geo.php b/htdocs/adherents/stats/geo.php index 8da764179a4..1a52c9226f5 100644 --- a/htdocs/adherents/stats/geo.php +++ b/htdocs/adherents/stats/geo.php @@ -210,9 +210,9 @@ if ($mode && ! count($data)) else { if ($mode == 'memberbycountry') print $langs->trans("MembersByCountryDesc").'
'; - else if ($mode == 'memberbystate') print $langs->trans("MembersByStateDesc").'
'; - else if ($mode == 'memberbytown') print $langs->trans("MembersByTownDesc").'
'; - else if ($mode == 'memberbyregion') print $langs->trans("MembersByRegion").'
';//+ + elseif ($mode == 'memberbystate') print $langs->trans("MembersByStateDesc").'
'; + elseif ($mode == 'memberbytown') print $langs->trans("MembersByTownDesc").'
'; + elseif ($mode == 'memberbyregion') print $langs->trans("MembersByRegion").'
';//+ else { print $langs->trans("MembersStatisticsDesc").'
'; diff --git a/htdocs/adherents/subscription.php b/htdocs/adherents/subscription.php index e476492fdfa..86c31e6cd04 100644 --- a/htdocs/adherents/subscription.php +++ b/htdocs/adherents/subscription.php @@ -793,8 +793,8 @@ if ($rowid > 0) else { if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankviainvoice' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $bankviainvoice=1; - else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankdirect' && ! empty($conf->banque->enabled)) $bankdirect=1; - else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'invoiceonly' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $invoiceonly=1; + elseif (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankdirect' && ! empty($conf->banque->enabled)) $bankdirect=1; + elseif (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'invoiceonly' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $invoiceonly=1; } print "\n\n\n"; diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index c1ce5c2c294..86b149fe2b9 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -538,11 +538,11 @@ if ($rowid > 0) if ($status != '') { if ($status == '-1,1') { $titre=$langs->trans("MembersListQualified"); } - else if ($status == '-1') { $titre=$langs->trans("MembersListToValid"); } - else if ($status == '1' && ! $filter) { $titre=$langs->trans("MembersListValid"); } - else if ($status == '1' && $filter=='uptodate') { $titre=$langs->trans("MembersListUpToDate"); } - else if ($status == '1' && $filter=='outofdate') { $titre=$langs->trans("MembersListNotUpToDate"); } - else if ($status == '0') { $titre=$langs->trans("MembersListResiliated"); } + elseif ($status == '-1') { $titre=$langs->trans("MembersListToValid"); } + elseif ($status == '1' && ! $filter) { $titre=$langs->trans("MembersListValid"); } + elseif ($status == '1' && $filter=='uptodate') { $titre=$langs->trans("MembersListUpToDate"); } + elseif ($status == '1' && $filter=='outofdate') { $titre=$langs->trans("MembersListNotUpToDate"); } + elseif ($status == '0') { $titre=$langs->trans("MembersListResiliated"); } } elseif ($action == 'search') { diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index 72097057149..f16226c812b 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -86,7 +86,7 @@ if ($action == 'set') dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_STATUS', GETPOST('AGENDA_DEFAULT_FILTER_STATUS'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_VIEW', GETPOST('AGENDA_DEFAULT_VIEW'), 'chaine', 0, '', $conf->entity); } -else if ($action == 'specimen') // For orders +elseif ($action == 'specimen') // For orders { $modele=GETPOST('module','alpha'); @@ -133,13 +133,13 @@ else if ($action == 'specimen') // For orders } // Activate a model -else if ($action == 'setmodel') +elseif ($action == 'setmodel') { //print "sssd".$value; $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -149,7 +149,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "ACTION_EVENT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { diff --git a/htdocs/admin/agenda_reminder.php b/htdocs/admin/agenda_reminder.php index 856d6f19668..10d716a1af6 100644 --- a/htdocs/admin/agenda_reminder.php +++ b/htdocs/admin/agenda_reminder.php @@ -81,7 +81,7 @@ if ($action == 'set') dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_STATUS', GETPOST('AGENDA_DEFAULT_FILTER_STATUS'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_VIEW', GETPOST('AGENDA_DEFAULT_VIEW'), 'chaine', 0, '', $conf->entity); } -else if ($action == 'specimen') // For orders +elseif ($action == 'specimen') // For orders { $modele=GETPOST('module','alpha'); @@ -128,13 +128,13 @@ else if ($action == 'specimen') // For orders } // Activate a model -else if ($action == 'setmodel') +elseif ($action == 'setmodel') { //print "sssd".$value; $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -144,7 +144,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "ACTION_EVENT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { diff --git a/htdocs/admin/bank.php b/htdocs/admin/bank.php index 031e4200268..34becb49ada 100644 --- a/htdocs/admin/bank.php +++ b/htdocs/admin/bank.php @@ -133,7 +133,7 @@ if ($action == 'specimen') { if ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') { +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) { if ($conf->global->BANKADDON_PDF == "$value") @@ -141,7 +141,7 @@ else if ($action == 'del') { } } // Set default model -else if ($action == 'setdoc') { +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "BANKADDON_PDF", $value, 'chaine', 0, '', $conf->entity)) { // The constant that was read before the new set diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index c0480bb7e50..c5bc3f596b4 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -289,14 +289,14 @@ if ($resql) $sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'"; $resql = $db->query($sql); } - else if (preg_match("/[02468]{1}/",substr($record['box_order'],-1))) + elseif (preg_match("/[02468]{1}/",substr($record['box_order'],-1))) { $box_order = "B0".$record['box_order']; $sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'"; $resql = $db->query($sql); } } - else if (dol_strlen($record['box_order']) == 2) + elseif (dol_strlen($record['box_order']) == 2) { if (preg_match("/[13579]{1}/",substr($record['box_order'],-1))) { @@ -304,7 +304,7 @@ if ($resql) $sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'"; $resql = $db->query($sql); } - else if (preg_match("/[02468]{1}/",substr($record['box_order'],-1))) + elseif (preg_match("/[02468]{1}/",substr($record['box_order'],-1))) { $box_order = "B".$record['box_order']; $sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'"; diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index 2360c1f7b6e..42ea60d0f9f 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -73,7 +73,7 @@ if ($action == 'updateMask') } } -else if ($action == 'specimen') +elseif ($action == 'specimen') { $modele=GETPOST('module','alpha'); @@ -119,12 +119,12 @@ else if ($action == 'specimen') } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -134,7 +134,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "COMMANDE_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -151,7 +151,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Check if numbering module chosen can be activated // by calling method canBeActivated @@ -159,7 +159,7 @@ else if ($action == 'setmod') dolibarr_set_const($db, "COMMANDE_ADDON",$value,'chaine',0,'',$conf->entity); } -else if ($action == 'set_COMMANDE_DRAFT_WATERMARK') +elseif ($action == 'set_COMMANDE_DRAFT_WATERMARK') { $draft = GETPOST("COMMANDE_DRAFT_WATERMARK"); $res = dolibarr_set_const($db, "COMMANDE_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity); @@ -176,7 +176,7 @@ else if ($action == 'set_COMMANDE_DRAFT_WATERMARK') } } -else if ($action == 'set_ORDER_FREE_TEXT') +elseif ($action == 'set_ORDER_FREE_TEXT') { $freetext = GETPOST("ORDER_FREE_TEXT",'none'); // No alpha here, we want exact string @@ -195,7 +195,7 @@ else if ($action == 'set_ORDER_FREE_TEXT') } // Activate Set Shippable Icon In List -else if ($action=="setshippableiconinlist") { +elseif ($action=="setshippableiconinlist") { $setshippableiconinlist = GETPOST('value','int'); $res = dolibarr_set_const($db, "SHIPPABLE_ORDER_ICON_IN_LIST", $setshippableiconinlist,'yesno',0,'',$conf->entity); if (! $res > 0) $error++; @@ -207,7 +207,7 @@ else if ($action=="setshippableiconinlist") { } // Activate ask for payment bank -else if ($action == 'set_BANK_ASK_PAYMENT_BANK_DURING_ORDER') +elseif ($action == 'set_BANK_ASK_PAYMENT_BANK_DURING_ORDER') { $res = dolibarr_set_const($db, "BANK_ASK_PAYMENT_BANK_DURING_ORDER",$value,'chaine',0,'',$conf->entity); @@ -224,7 +224,7 @@ else if ($action == 'set_BANK_ASK_PAYMENT_BANK_DURING_ORDER') } // Activate ask for warehouse -else if ($action == 'set_WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER') +elseif ($action == 'set_WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER') { $res = dolibarr_set_const($db, "WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER",$value,'chaine',0,'',$conf->entity); diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index f0a0cde4c92..41786c2c55b 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -137,7 +137,7 @@ if ( ($action == 'update' && ! GETPOST("cancel",'alpha')) } else dol_syslog("ErrorImageFormatNotSupported",LOG_WARNING); } - else if (preg_match('/^ErrorFileIsInfectedWithAVirus/',$result)) + elseif (preg_match('/^ErrorFileIsInfectedWithAVirus/',$result)) { $error++; $langs->load("errors"); @@ -821,7 +821,7 @@ else { print '  '; } - else if ($mysoc->logo_mini && is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) + elseif ($mysoc->logo_mini && is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) { print ''; } @@ -1097,11 +1097,11 @@ else { print $langs->trans("CalcLocaltax1").' - '.$langs->trans("CalcLocaltax1Desc"); } - else if($conf->global->MAIN_INFO_LOCALTAX_CALC1==1) + elseif($conf->global->MAIN_INFO_LOCALTAX_CALC1==1) { print $langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc"); } - else if($conf->global->MAIN_INFO_LOCALTAX_CALC1==2){ + elseif($conf->global->MAIN_INFO_LOCALTAX_CALC1==2){ print $langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc"); } @@ -1151,11 +1151,11 @@ else { print $langs->trans("CalcLocaltax1").' - '.$langs->trans("CalcLocaltax1Desc"); } - else if($conf->global->MAIN_INFO_LOCALTAX_CALC2==1) + elseif($conf->global->MAIN_INFO_LOCALTAX_CALC2==1) { print $langs->trans("CalcLocaltax2").' - '.$langs->trans("CalcLocaltax2Desc"); } - else if($conf->global->MAIN_INFO_LOCALTAX_CALC2==2) + elseif($conf->global->MAIN_INFO_LOCALTAX_CALC2==2) { print $langs->trans("CalcLocaltax3").' - '.$langs->trans("CalcLocaltax3Desc"); } diff --git a/htdocs/admin/confexped.php b/htdocs/admin/confexped.php index 660f7c7c500..a54e1eb7aeb 100644 --- a/htdocs/admin/confexped.php +++ b/htdocs/admin/confexped.php @@ -71,7 +71,7 @@ if ($action == 'activate_delivery') header("Location: confexped.php"); exit; } -else if ($action == 'disable_delivery') +elseif ($action == 'disable_delivery') { dolibarr_del_const($db, "MAIN_SUBMODULE_LIVRAISON",$conf->entity); header("Location: confexped.php"); diff --git a/htdocs/admin/const.php b/htdocs/admin/const.php index cfda870e9da..fedccb49642 100644 --- a/htdocs/admin/const.php +++ b/htdocs/admin/const.php @@ -233,7 +233,7 @@ $sql.= ", entity"; $sql.= " FROM ".MAIN_DB_PREFIX."const"; $sql.= " WHERE entity IN (".$user->entity.",".$conf->entity.")"; if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin to debug -else if (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits +elseif (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits if (GETPOST('name')) $sql.=natural_search("name", GETPOST('name')); $sql.= " ORDER BY entity, name ASC"; diff --git a/htdocs/admin/contract.php b/htdocs/admin/contract.php index 60be9e062ba..0a704ce5ee8 100644 --- a/htdocs/admin/contract.php +++ b/htdocs/admin/contract.php @@ -69,7 +69,7 @@ if ($action == 'updateMask') } } -else if ($action == 'specimen') // For contract +elseif ($action == 'specimen') // For contract { $modele= GETPOST('module','alpha'); @@ -115,12 +115,12 @@ else if ($action == 'specimen') // For contract } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -130,7 +130,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "CONTRACT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -147,7 +147,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated @@ -155,7 +155,7 @@ else if ($action == 'setmod') dolibarr_set_const($db, "CONTRACT_ADDON",$value,'chaine',0,'',$conf->entity); } -else if ($action == 'set_other') +elseif ($action == 'set_other') { $freetext= GETPOST('CONTRACT_FREE_TEXT','none'); // No alpha here, we want exact string $res1 = dolibarr_set_const($db, "CONTRACT_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index fc3b8f15f39..a77583b44b8 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -728,7 +728,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) if ($value == 'price' || preg_match('/^amount/i',$value) || $value == 'taux') { $_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU'); } - else if ($value == 'entity') { + elseif ($value == 'entity') { $_POST[$listfieldvalue[$i]] = getEntity($tabname[$id]); } if ($i) $sql.=","; @@ -780,7 +780,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) if ($field == 'price' || preg_match('/^amount/i',$field) || $field == 'taux') { $_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU'); } - else if ($field == 'entity') { + elseif ($field == 'entity') { $_POST[$listfieldvalue[$i]] = getEntity($tabname[$id]); } if ($i) $sql.=","; @@ -1125,7 +1125,7 @@ if ($id) { print ''; if (! empty($tabhelp[$id][$value]) && preg_match('/^http(s*):/i',$tabhelp[$id][$value])) print ''.$valuetoshow.' '.img_help(1,$valuetoshow).''; - else if (! empty($tabhelp[$id][$value])) print $form->textwithpicto($valuetoshow,$tabhelp[$id][$value]); + elseif (! empty($tabhelp[$id][$value])) print $form->textwithpicto($valuetoshow,$tabhelp[$id][$value]); else print $valuetoshow; print ''; } @@ -1409,14 +1409,14 @@ if ($id) { $valuetoshow = isset($elementList[$valuetoshow])?$elementList[$valuetoshow]:$valuetoshow; } - else if ($value == 'source') + elseif ($value == 'source') { $valuetoshow = isset($sourceList[$valuetoshow])?$sourceList[$valuetoshow]:$valuetoshow; } - else if ($valuetoshow=='all') { + elseif ($valuetoshow=='all') { $valuetoshow=$langs->trans('All'); } - else if ($fieldlist[$field]=='country') { + elseif ($fieldlist[$field]=='country') { if (empty($obj->country_code)) { $valuetoshow='-'; @@ -1427,143 +1427,143 @@ if ($id) $valuetoshow=($key != "Country".strtoupper($obj->country_code)?$obj->country_code." - ".$key:$obj->country); } } - else if ($fieldlist[$field]=='recuperableonly' || $fieldlist[$field] == 'deductible' || $fieldlist[$field] == 'category_type') { + elseif ($fieldlist[$field]=='recuperableonly' || $fieldlist[$field] == 'deductible' || $fieldlist[$field] == 'category_type') { $valuetoshow=yn($valuetoshow); $align="center"; } - else if ($fieldlist[$field]=='type_cdr') { + elseif ($fieldlist[$field]=='type_cdr') { if(empty($valuetoshow)) $valuetoshow = $langs->trans('None'); elseif($valuetoshow == 1) $valuetoshow = $langs->trans('AtEndOfMonth'); elseif($valuetoshow == 2) $valuetoshow = $langs->trans('CurrentNext'); $align="center"; } - else if ($fieldlist[$field]=='price' || preg_match('/^amount/i',$fieldlist[$field])) { + elseif ($fieldlist[$field]=='price' || preg_match('/^amount/i',$fieldlist[$field])) { $valuetoshow=price($valuetoshow); } if ($value == 'private') { $valuetoshow = yn($elementList[$valuetoshow]); } - else if ($fieldlist[$field]=='libelle_facture') { + elseif ($fieldlist[$field]=='libelle_facture') { $langs->load("bills"); $key=$langs->trans("PaymentCondition".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "PaymentCondition".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); $valuetoshow=nl2br($valuetoshow); } - else if ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_country') { + elseif ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_country') { $key=$langs->trans("Country".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "Country".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_availability') { + elseif ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_availability') { $langs->load("propal"); $key=$langs->trans("AvailabilityType".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "AvailabilityType".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_actioncomm') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_actioncomm') { $key=$langs->trans("Action".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "Action".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if (! empty($obj->code_iso) && $fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_currencies') { + elseif (! empty($obj->code_iso) && $fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_currencies') { $key=$langs->trans("Currency".strtoupper($obj->code_iso)); $valuetoshow=($obj->code_iso && $key != "Currency".strtoupper($obj->code_iso)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_typent') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_typent') { $key=$langs->trans(strtoupper($obj->code)); $valuetoshow=($key != strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_prospectlevel') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_prospectlevel') { $key=$langs->trans(strtoupper($obj->code)); $valuetoshow=($key != strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_civility') { + elseif ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_civility') { $key=$langs->trans("Civility".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "Civility".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_type_contact') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_type_contact') { $langs->load('agenda'); $key=$langs->trans("TypeContact_".$obj->element."_".$obj->source."_".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "TypeContact_".$obj->element."_".$obj->source."_".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_payment_term') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_payment_term') { $langs->load("bills"); $key=$langs->trans("PaymentConditionShort".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "PaymentConditionShort".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_paiement') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_paiement') { $langs->load("bills"); $key=$langs->trans("PaymentType".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "PaymentType".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_input_reason') { + elseif ($fieldlist[$field]=='label' && $tabname[$id]==MAIN_DB_PREFIX.'c_input_reason') { $key=$langs->trans("DemandReasonType".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "DemandReasonType".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_input_method') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_input_method') { $langs->load("orders"); $key=$langs->trans($obj->code); $valuetoshow=($obj->code && $key != $obj->code)?$key:$obj->{$fieldlist[$field]}; } - else if ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_shipment_mode') { + elseif ($fieldlist[$field]=='libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_shipment_mode') { $langs->load("sendings"); $key=$langs->trans("SendingMethod".strtoupper($obj->code)); $valuetoshow=($obj->code && $key != "SendingMethod".strtoupper($obj->code)?$key:$obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field] == 'libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_paper_format') + elseif ($fieldlist[$field] == 'libelle' && $tabname[$id]==MAIN_DB_PREFIX.'c_paper_format') { $key = $langs->trans('PaperFormat'.strtoupper($obj->code)); $valuetoshow = ($obj->code && $key != 'PaperFormat'.strtoupper($obj->code) ? $key : $obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field] == 'label' && $tabname[$id] == MAIN_DB_PREFIX.'c_type_fees') + elseif ($fieldlist[$field] == 'label' && $tabname[$id] == MAIN_DB_PREFIX.'c_type_fees') { $langs->load('trips'); $key = $langs->trans(strtoupper($obj->code)); $valuetoshow = ($obj->code && $key != strtoupper($obj->code) ? $key : $obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='country_id') { + elseif ($fieldlist[$field]=='region_id' || $fieldlist[$field]=='country_id') { $showfield=0; } - else if ($fieldlist[$field]=='unicode') { + elseif ($fieldlist[$field]=='unicode') { $valuetoshow = $langs->getCurrencySymbol($obj->code,1); } - else if ($fieldlist[$field]=='label' && $tabname[$_GET["id"]]==MAIN_DB_PREFIX.'c_units') { + elseif ($fieldlist[$field]=='label' && $tabname[$_GET["id"]]==MAIN_DB_PREFIX.'c_units') { $langs->load("products"); $valuetoshow=$langs->trans($obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='short_label' && $tabname[$_GET["id"]]==MAIN_DB_PREFIX.'c_units') { + elseif ($fieldlist[$field]=='short_label' && $tabname[$_GET["id"]]==MAIN_DB_PREFIX.'c_units') { $langs->load("products"); $valuetoshow = $langs->trans($obj->{$fieldlist[$field]}); } - else if (($fieldlist[$field] == 'unit') && ($tabname[$id] == MAIN_DB_PREFIX.'c_paper_format')) + elseif (($fieldlist[$field] == 'unit') && ($tabname[$id] == MAIN_DB_PREFIX.'c_paper_format')) { $key = $langs->trans('SizeUnit'.strtolower($obj->unit)); $valuetoshow = ($obj->code && $key != 'SizeUnit'.strtolower($obj->unit) ? $key : $obj->{$fieldlist[$field]}); } - else if ($fieldlist[$field]=='localtax1' || $fieldlist[$field]=='localtax2') { + elseif ($fieldlist[$field]=='localtax1' || $fieldlist[$field]=='localtax2') { $align="center"; } - else if ($fieldlist[$field]=='localtax1_type') { + elseif ($fieldlist[$field]=='localtax1_type') { if ($obj->localtax1 != 0) $valuetoshow=$localtax_typeList[$valuetoshow]; else $valuetoshow = ''; $align="center"; } - else if ($fieldlist[$field]=='localtax2_type') { + elseif ($fieldlist[$field]=='localtax2_type') { if ($obj->localtax2 != 0) $valuetoshow=$localtax_typeList[$valuetoshow]; else $valuetoshow = ''; $align="center"; } - else if ($fieldlist[$field]=='taux') { + elseif ($fieldlist[$field]=='taux') { $valuetoshow = price($valuetoshow, 0, $langs, 0, 0); $align="center"; } - else if (in_array($fieldlist[$field],array('recuperableonly'))) + elseif (in_array($fieldlist[$field],array('recuperableonly'))) { $align="center"; } - else if ($fieldlist[$field]=='accountancy_code' || $fieldlist[$field]=='accountancy_code_sell' || $fieldlist[$field]=='accountancy_code_buy') { + elseif ($fieldlist[$field]=='accountancy_code' || $fieldlist[$field]=='accountancy_code_sell' || $fieldlist[$field]=='accountancy_code_buy') { $valuetoshow = length_accountg($valuetoshow); } elseif ($fieldlist[$field] == 'fk_tva') @@ -1604,8 +1604,8 @@ if ($id) if (isset($obj->code) && $id != 10) { if (($obj->code == '0' || $obj->code == '' || preg_match('/unknown/i',$obj->code))) { $iserasable = 0; $canbedisabled = 0; } - else if ($obj->code == 'RECEP') { $iserasable = 0; $canbedisabled = 0; } - else if ($obj->code == 'EF0') { $iserasable = 0; $canbedisabled = 0; } + elseif ($obj->code == 'RECEP') { $iserasable = 0; $canbedisabled = 0; } + elseif ($obj->code == 'EF0') { $iserasable = 0; $canbedisabled = 0; } } if (isset($obj->type) && in_array($obj->type, array('system', 'systemauto'))) { $iserasable=0; } @@ -1639,8 +1639,8 @@ if ($id) else { if (in_array($obj->code, array('AC_OTH','AC_OTH_AUTO'))) print $langs->trans("AlwaysActive"); - else if (isset($obj->type) && in_array($obj->type, array('systemauto')) && empty($obj->active)) print $langs->trans("Deprecated"); - else if (isset($obj->type) && in_array($obj->type, array('system')) && ! empty($obj->active) && $obj->code != 'AC_OTH') print $langs->trans("UsedOnlyWithTypeOption"); + elseif (isset($obj->type) && in_array($obj->type, array('systemauto')) && empty($obj->active)) print $langs->trans("Deprecated"); + elseif (isset($obj->type) && in_array($obj->type, array('system')) && ! empty($obj->active) && $obj->code != 'AC_OTH') print $langs->trans("UsedOnlyWithTypeOption"); else print $langs->trans("AlwaysActive"); } print ""; diff --git a/htdocs/admin/dolistore/ajax/image.php b/htdocs/admin/dolistore/ajax/image.php index c1bb4e997dc..1fac509705c 100644 --- a/htdocs/admin/dolistore/ajax/image.php +++ b/htdocs/admin/dolistore/ajax/image.php @@ -53,6 +53,6 @@ try { // Here we are dealing with errors $trace = $e->getTrace(); if ($trace[0]['args'][0] == 404) die('Bad ID'); - else if ($trace[0]['args'][0] == 401) die('Bad auth key'); + elseif ($trace[0]['args'][0] == 401) die('Bad auth key'); else die('Can not access to '.$conf->global->MAIN_MODULE_DOLISTORE_API_SRV); } diff --git a/htdocs/admin/dolistore/class/dolistore.class.php b/htdocs/admin/dolistore/class/dolistore.class.php index 553ce2e54e0..92f776b9ea9 100644 --- a/htdocs/admin/dolistore/class/dolistore.class.php +++ b/htdocs/admin/dolistore/class/dolistore.class.php @@ -154,7 +154,7 @@ class Dolistore // Here we are dealing with errors $trace = $e->getTrace(); if ($trace[0]['args'][0] == 404) die('Bad ID'); - else if ($trace[0]['args'][0] == 401) die('Bad auth key'); + elseif ($trace[0]['args'][0] == 401) die('Bad auth key'); else { print 'Can not access to '.$conf->global->MAIN_MODULE_DOLISTORE_API_SRV.'
'; diff --git a/htdocs/admin/ecm.php b/htdocs/admin/ecm.php index 3126f432938..e058778155a 100644 --- a/htdocs/admin/ecm.php +++ b/htdocs/admin/ecm.php @@ -100,7 +100,7 @@ else { print ''.img_picto($langs->trans("Disabled"),'off').''; } - else if(! empty($conf->global->USER_MAIL_REQUIRED)) + elseif(! empty($conf->global->USER_MAIL_REQUIRED)) { print ''.img_picto($langs->trans("Enabled"),'on').''; } diff --git a/htdocs/admin/expedition.php b/htdocs/admin/expedition.php index 2ae3a7cad99..2dec14f0a24 100644 --- a/htdocs/admin/expedition.php +++ b/htdocs/admin/expedition.php @@ -74,7 +74,7 @@ if ($action == 'updateMask') } } -else if ($action == 'set_param') +elseif ($action == 'set_param') { $freetext=GETPOST('SHIPPING_FREE_TEXT','none'); // No alpha here, we want exact string $res = dolibarr_set_const($db, "SHIPPING_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); @@ -98,7 +98,7 @@ else if ($action == 'set_param') } } -else if ($action == 'specimen') +elseif ($action == 'specimen') { $modele=GETPOST('module','alpha'); @@ -144,12 +144,12 @@ else if ($action == 'specimen') } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -159,7 +159,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "EXPEDITION_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -176,7 +176,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmodel') +elseif ($action == 'setmodel') { dolibarr_set_const($db, "EXPEDITION_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity); } diff --git a/htdocs/admin/expensereport.php b/htdocs/admin/expensereport.php index f8429069611..23d2571b256 100644 --- a/htdocs/admin/expensereport.php +++ b/htdocs/admin/expensereport.php @@ -70,7 +70,7 @@ if ($action == 'updateMask') } } -else if ($action == 'specimen') // For fiche inter +elseif ($action == 'specimen') // For fiche inter { $modele= GETPOST('module','alpha'); @@ -118,7 +118,7 @@ else if ($action == 'specimen') // For fiche inter } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); if ($ret > 0 && empty($conf->global->EXPENSEREPORT_ADDON_PDF)) @@ -127,7 +127,7 @@ else if ($action == 'set') } } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -137,7 +137,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "EXPENSEREPORT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -154,7 +154,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated @@ -162,7 +162,7 @@ else if ($action == 'setmod') dolibarr_set_const($db, "EXPENSEREPORT_ADDON",$value,'chaine',0,'',$conf->entity); } -else if ($action == 'setoptions') +elseif ($action == 'setoptions') { $db->begin(); diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index fe78e5aa5b6..6e9ccf792b0 100644 --- a/htdocs/admin/facture.php +++ b/htdocs/admin/facture.php @@ -124,12 +124,12 @@ if ($action == 'specimen') } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -139,7 +139,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "FACTURE_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -156,7 +156,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated diff --git a/htdocs/admin/fckeditor.php b/htdocs/admin/fckeditor.php index 8751d906918..e975a2f0ff8 100644 --- a/htdocs/admin/fckeditor.php +++ b/htdocs/admin/fckeditor.php @@ -167,7 +167,7 @@ else { print ''.img_picto($langs->trans("Disabled"),'switch_off').''; } - else if ($value == 1) + elseif ($value == 1) { print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } diff --git a/htdocs/admin/fichinter.php b/htdocs/admin/fichinter.php index 9a259fd3c0d..7e263a5e285 100644 --- a/htdocs/admin/fichinter.php +++ b/htdocs/admin/fichinter.php @@ -70,7 +70,7 @@ if ($action == 'updateMask') } } -else if ($action == 'specimen') // For fiche inter +elseif ($action == 'specimen') // For fiche inter { $modele= GETPOST('module','alpha'); @@ -116,12 +116,12 @@ else if ($action == 'specimen') // For fiche inter } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -131,7 +131,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "FICHEINTER_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -148,7 +148,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated @@ -156,7 +156,7 @@ else if ($action == 'setmod') dolibarr_set_const($db, "FICHEINTER_ADDON",$value,'chaine',0,'',$conf->entity); } -else if ($action == 'set_FICHINTER_FREE_TEXT') +elseif ($action == 'set_FICHINTER_FREE_TEXT') { $freetext= GETPOST('FICHINTER_FREE_TEXT','none'); // No alpha here, we want exact string $res = dolibarr_set_const($db, "FICHINTER_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); @@ -173,7 +173,7 @@ else if ($action == 'set_FICHINTER_FREE_TEXT') } } -else if ($action == 'set_FICHINTER_DRAFT_WATERMARK') +elseif ($action == 'set_FICHINTER_DRAFT_WATERMARK') { $draft= GETPOST('FICHINTER_DRAFT_WATERMARK','alpha'); $res = dolibarr_set_const($db, "FICHINTER_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity); diff --git a/htdocs/admin/holiday.php b/htdocs/admin/holiday.php index c687a6fbc2d..62fe6631a60 100644 --- a/htdocs/admin/holiday.php +++ b/htdocs/admin/holiday.php @@ -71,7 +71,7 @@ if ($action == 'updateMask') } } -else if ($action == 'specimen') // For contract +elseif ($action == 'specimen') // For contract { $modele= GETPOST('module','alpha'); @@ -117,12 +117,12 @@ else if ($action == 'specimen') // For contract } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -132,7 +132,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "HOLIDAY_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -149,7 +149,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated @@ -157,7 +157,7 @@ else if ($action == 'setmod') dolibarr_set_const($db, "HOLIDAY_ADDON",$value,'chaine',0,'',$conf->entity); } -else if ($action == 'set_other') +elseif ($action == 'set_other') { $freetext= GETPOST('HOLIDAY_FREE_TEXT','none'); // No alpha here, we want exact string $res1 = dolibarr_set_const($db, "HOLIDAY_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index e2168ec2d76..84ce38f9757 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -173,7 +173,7 @@ if ($action == 'update') { dolibarr_set_const($db, "MAIN_LOGIN_BACKGROUND",$original_file,'chaine',0,'',$conf->entity); } - else if (preg_match('/^ErrorFileIsInfectedWithAVirus/',$result)) + elseif (preg_match('/^ErrorFileIsInfectedWithAVirus/',$result)) { $error++; $langs->load("errors"); diff --git a/htdocs/admin/mails.php b/htdocs/admin/mails.php index 33b6d83e0da..d7eb804fa4d 100644 --- a/htdocs/admin/mails.php +++ b/htdocs/admin/mails.php @@ -673,11 +673,11 @@ else { print $langs->trans('RobotEmail'); } - else if ($conf->global->MAIN_MAIL_DEFAULT_FROMTYPE === 'user') + elseif ($conf->global->MAIN_MAIL_DEFAULT_FROMTYPE === 'user') { print $langs->trans('UserEmail'); } - else if ($conf->global->MAIN_MAIL_DEFAULT_FROMTYPE === 'company') + elseif ($conf->global->MAIN_MAIL_DEFAULT_FROMTYPE === 'company') { print $langs->trans('CompanyEmail').' '.dol_escape_htmltag('<'.$mysoc->email.'>'); } diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index da31a794374..afda116772c 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -479,7 +479,7 @@ foreach ($fieldlist as $field => $value) { print ''; if (! empty($tabhelp[$id][$value]) && preg_match('/^http(s*):/i',$tabhelp[$id][$value])) print ''.$valuetoshow.' '.img_help(1,$valuetoshow).''; - else if (! empty($tabhelp[$id][$value])) + elseif (! empty($tabhelp[$id][$value])) { if (in_array($value, array('topic'))) print $form->textwithpicto($valuetoshow, $tabhelp[$id][$value], 1, 'help', '', 0, 2, $value); // Tooltip on click else print $form->textwithpicto($valuetoshow, $tabhelp[$id][$value], 1, 'help', '', 0, 2); // Tooltip on hover @@ -552,7 +552,7 @@ foreach ($fieldsforcontent as $tmpfieldlist) if ($tmpfieldlist == 'topic') { print ''; } - else if ($tmpfieldlist == 'joinfiles') { + elseif ($tmpfieldlist == 'joinfiles') { print ''; } else diff --git a/htdocs/admin/menus/other.php b/htdocs/admin/menus/other.php index 6e5f0d77b4b..d85218dbd5a 100644 --- a/htdocs/admin/menus/other.php +++ b/htdocs/admin/menus/other.php @@ -42,7 +42,7 @@ if ($action == 'activate_hidemenu') header("Location: ".$_SERVER["PHP_SELF"]); exit; } -else if ($action == 'disable_hidemenu') +elseif ($action == 'disable_hidemenu') { dolibarr_del_const($db, "MAIN_MENU_HIDE_UNAUTHORIZED",$conf->entity); header("Location: ".$_SERVER["PHP_SELF"]); diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 4694021c233..4f24862e34c 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -244,7 +244,7 @@ if ($action == 'set' && $user->admin) header("Location: ".$_SERVER["PHP_SELF"]."?mode=".$mode.$param.($page_y?'&page_y='.$page_y:'')); exit; } -else if ($action == 'reset' && $user->admin && GETPOST('confirm') == 'yes') +elseif ($action == 'reset' && $user->admin && GETPOST('confirm') == 'yes') { $result=unActivateModule($value); if ($result) setEventMessages($result, null, 'errors'); @@ -698,7 +698,7 @@ if ($mode == 'common') { print $langs->trans("Disabled"); } - else if (! empty($objMod->always_enabled) || ((! empty($conf->multicompany->enabled) && $objMod->core_enabled) && ($user->entity || $conf->entity!=1))) + elseif (! empty($objMod->always_enabled) || ((! empty($conf->multicompany->enabled) && $objMod->core_enabled) && ($user->entity || $conf->entity!=1))) { if (method_exists($objMod, 'alreadyUsed') && $objMod->alreadyUsed()) print $langs->trans("Used"); else { @@ -761,7 +761,7 @@ if ($mode == 'common') } print "\n"; } - else if (preg_match('/^([^@]+)@([^@]+)$/i',$objMod->config_page_url,$regs)) + elseif (preg_match('/^([^@]+)@([^@]+)$/i',$objMod->config_page_url,$regs)) { print ''.img_picto($langs->trans("Setup"),"setup",'style="padding-right: 6px"').''; } @@ -783,7 +783,7 @@ if ($mode == 'common') { // Should never happened } - else if (! empty($objMod->disabled)) + elseif (! empty($objMod->disabled)) { print $langs->trans("Disabled"); } diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index af2aed5a744..4a4e07d35f9 100644 --- a/htdocs/admin/notification.php +++ b/htdocs/admin/notification.php @@ -71,7 +71,7 @@ if ($action == 'setvalue' && $user->admin) $newval=GETPOST($shortkey.'_key'); //print $newkey.' - '.$newval.'
'; } - else if (preg_match('/^NOTIF_(.*)_new_key/',$key,$reg)) + elseif (preg_match('/^NOTIF_(.*)_new_key/',$key,$reg)) { // Add a new entry $newkey='NOTIFICATION_FIXEDEMAIL_'.$reg[1].'_THRESHOLD_HIGHER_'.((int) GETPOST($shortkey.'_amount')); diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index 37c836043a0..3d9a6984f88 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -86,7 +86,7 @@ if ($action == 'activate_pdfsecurity') header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup"); exit; } -else if ($action == 'disable_pdfsecurity') +elseif ($action == 'disable_pdfsecurity') { dolibarr_del_const($db, "PDF_SECURITY_ENCRYPTION",$conf->entity); header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup"); diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index e0caadc9677..a6c5c54a40f 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -96,9 +96,7 @@ if ($action == "set") { $res = dolibarr_set_const($db, "PRELEVEMENT_ADDDAYS", GETPOST("PRELEVEMENT_ADDDAYS"),'chaine',0,'',$conf->entity); if (! $res > 0) $error++; - } else - - if (! $error) + } elseif (! $error) { $db->commit(); setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); diff --git a/htdocs/admin/propal.php b/htdocs/admin/propal.php index beb63b8eb0c..b9fe6bca9d0 100644 --- a/htdocs/admin/propal.php +++ b/htdocs/admin/propal.php @@ -188,7 +188,7 @@ if ($action == 'set') $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -197,7 +197,7 @@ else if ($action == 'del') } } -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "PROPALE_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -212,7 +212,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated diff --git a/htdocs/admin/reception_setup.php b/htdocs/admin/reception_setup.php index 4aa362932af..07781551eb6 100644 --- a/htdocs/admin/reception_setup.php +++ b/htdocs/admin/reception_setup.php @@ -80,7 +80,7 @@ if ($action == 'updateMask') } } -else if ($action == 'set_param') +elseif ($action == 'set_param') { $freetext=GETPOST('RECEPTION_FREE_TEXT','none'); // No alpha here, we want exact string $res = dolibarr_set_const($db, "RECEPTION_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); @@ -104,7 +104,7 @@ else if ($action == 'set_param') } } -else if ($action == 'specimen') +elseif ($action == 'specimen') { $modele=GETPOST('module','alpha'); @@ -150,12 +150,12 @@ else if ($action == 'specimen') } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -165,7 +165,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "RECEPTION_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -182,7 +182,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmodel') +elseif ($action == 'setmodel') { dolibarr_set_const($db, "RECEPTION_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity); } diff --git a/htdocs/admin/security.php b/htdocs/admin/security.php index 26dcdc85b8d..7a4581ac8ec 100644 --- a/htdocs/admin/security.php +++ b/htdocs/admin/security.php @@ -108,7 +108,7 @@ if ($action == 'activate_encrypt') dol_print_error($db,''); } } -else if ($action == 'disable_encrypt') +elseif ($action == 'disable_encrypt') { //On n'autorise pas l'annulation de l'encryption car les mots de passe ne peuvent pas etre decodes //Do not allow "disable encryption" as passwords cannot be decrypted @@ -137,7 +137,7 @@ if ($action == 'activate_encryptdbpassconf') setEventMessages($langs->trans('InstrucToEncodePass',dol_encode($dolibarr_main_db_pass)), null, 'warnings'); } } -else if ($action == 'disable_encryptdbpassconf') +elseif ($action == 'disable_encryptdbpassconf') { $result = encodedecode_dbpassconf(0); if ($result > 0) @@ -161,7 +161,7 @@ if ($action == 'activate_MAIN_SECURITY_DISABLEFORGETPASSLINK') header("Location: security.php"); exit; } -else if ($action == 'disable_MAIN_SECURITY_DISABLEFORGETPASSLINK') +elseif ($action == 'disable_MAIN_SECURITY_DISABLEFORGETPASSLINK') { dolibarr_del_const($db, "MAIN_SECURITY_DISABLEFORGETPASSLINK",$conf->entity); header("Location: security.php"); diff --git a/htdocs/admin/security_file.php b/htdocs/admin/security_file.php index f551aafaaff..f3449e12885 100644 --- a/htdocs/admin/security_file.php +++ b/htdocs/admin/security_file.php @@ -67,7 +67,7 @@ if ($action == 'updateform') // Delete file -else if ($action == 'delete') +elseif ($action == 'delete') { $langs->load("other"); $file = $conf->admin->dir_temp . '/' . GETPOST('urlfile','alpha'); // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP). diff --git a/htdocs/admin/security_other.php b/htdocs/admin/security_other.php index e26fcf900be..99684305cec 100644 --- a/htdocs/admin/security_other.php +++ b/htdocs/admin/security_other.php @@ -57,7 +57,7 @@ if (preg_match('/set_([a-z0-9_\-]+)/i',$action,$reg)) } } -else if (preg_match('/del_([a-z0-9_\-]+)/i',$action,$reg)) +elseif (preg_match('/del_([a-z0-9_\-]+)/i',$action,$reg)) { $code=$reg[1]; if (dolibarr_del_const($db, $code, $conf->entity) > 0) @@ -71,7 +71,7 @@ else if (preg_match('/del_([a-z0-9_\-]+)/i',$action,$reg)) } } -else if ($action == 'updateform') +elseif ($action == 'updateform') { $res1=dolibarr_set_const($db, "MAIN_APPLICATION_TITLE", $_POST["MAIN_APPLICATION_TITLE"],'chaine',0,'',$conf->entity); $res2=dolibarr_set_const($db, "MAIN_SESSION_TIMEOUT", $_POST["MAIN_SESSION_TIMEOUT"],'chaine',0,'',$conf->entity); diff --git a/htdocs/admin/supplier_invoice.php b/htdocs/admin/supplier_invoice.php index c3c25c9e4e6..a4446f1f8fb 100644 --- a/htdocs/admin/supplier_invoice.php +++ b/htdocs/admin/supplier_invoice.php @@ -122,12 +122,12 @@ if ($action == 'specimen') // For invoices } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -137,7 +137,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "INVOICE_SUPPLIER_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -153,7 +153,7 @@ else if ($action == 'setdoc') $ret = addDocumentModel($value, $type, $label, $scandir); } } -else if ($action == 'unsetdoc') +elseif ($action == 'unsetdoc') { dolibarr_del_const($db, "INVOICE_SUPPLIER_ADDON_PDF", $conf->entity); } diff --git a/htdocs/admin/supplier_order.php b/htdocs/admin/supplier_order.php index b23e821b31e..69d582ff90a 100644 --- a/htdocs/admin/supplier_order.php +++ b/htdocs/admin/supplier_order.php @@ -73,7 +73,7 @@ if ($action == 'updateMask') } } -else if ($action == 'specimen') // For orders +elseif ($action == 'specimen') // For orders { $modele=GETPOST('module','alpha'); @@ -120,12 +120,12 @@ else if ($action == 'specimen') // For orders } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -135,7 +135,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "COMMANDE_SUPPLIER_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -152,7 +152,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated @@ -160,13 +160,13 @@ else if ($action == 'setmod') dolibarr_set_const($db, "COMMANDE_SUPPLIER_ADDON_NUMBER",$value,'chaine',0,'',$conf->entity); } -else if ($action == 'addcat') +elseif ($action == 'addcat') { $fourn = new Fournisseur($db); $fourn->CreateCategory($user,$_POST["cat"]); } -else if ($action == 'set_SUPPLIER_ORDER_OTHER') +elseif ($action == 'set_SUPPLIER_ORDER_OTHER') { $freetext = GETPOST('SUPPLIER_ORDER_FREE_TEXT','none'); // No alpha here, we want exact string $doubleapproval = GETPOST('SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED','alpha'); @@ -206,7 +206,7 @@ else if ($action == 'set_SUPPLIER_ORDER_OTHER') } // Activate ask for payment bank -else if ($action == 'set_BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER') +elseif ($action == 'set_BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER') { $res = dolibarr_set_const($db, "BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER",$value,'chaine',0,'',$conf->entity); diff --git a/htdocs/admin/supplier_payment.php b/htdocs/admin/supplier_payment.php index 77f2a95070e..ecb7b455657 100644 --- a/htdocs/admin/supplier_payment.php +++ b/htdocs/admin/supplier_payment.php @@ -61,18 +61,18 @@ if ($action == 'updateMask') { setEventMessages($langs->trans("Error"), null, 'errors'); } -}else if ($action == 'setmod') +}elseif ($action == 'setmod') { dolibarr_set_const($db, "SUPPLIER_PAYMENT_ADDON", $value, 'chaine', 0, '', $conf->entity); } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -82,7 +82,7 @@ else if ($action == 'del') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "SUPPLIER_PAYMENT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -99,7 +99,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'specimen') +elseif ($action == 'specimen') { $modele=GETPOST('module','alpha'); diff --git a/htdocs/admin/supplier_proposal.php b/htdocs/admin/supplier_proposal.php index 1756974379c..7c18a1b8e19 100644 --- a/htdocs/admin/supplier_proposal.php +++ b/htdocs/admin/supplier_proposal.php @@ -169,7 +169,7 @@ if ($action == 'set') $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -178,7 +178,7 @@ else if ($action == 'del') } } -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "SUPPLIER_PROPOSAL_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -193,7 +193,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated diff --git a/htdocs/admin/syslog.php b/htdocs/admin/syslog.php index 0eaa7161d5e..9c857964a3c 100644 --- a/htdocs/admin/syslog.php +++ b/htdocs/admin/syslog.php @@ -230,7 +230,7 @@ foreach ($syslogModules as $moduleName) if (! empty($tmpoption)) { if (isset($_POST[$tmpoption])) $value=$_POST[$tmpoption]; - else if (! empty($conf->global->$tmpoption)) $value = $conf->global->$tmpoption; + elseif (! empty($conf->global->$tmpoption)) $value = $conf->global->$tmpoption; } else $value = (isset($option['default']) ? $option['default'] : ''); diff --git a/htdocs/admin/system/constall.php b/htdocs/admin/system/constall.php index fef49bd5c12..645abf36ce8 100644 --- a/htdocs/admin/system/constall.php +++ b/htdocs/admin/system/constall.php @@ -183,7 +183,7 @@ foreach($configfileparameters as $key) // Value print ""; if ($newkey == 'dolibarr_main_db_pass') print preg_replace('/./i','*',${$newkey}); - else if ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/',${$newkey})) print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT'); + elseif ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/',${$newkey})) print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT'); else print ${$newkey}; if ($newkey == 'dolibarr_main_url_root' && ${$newkey} != DOL_MAIN_URL_ROOT) print ' (currently overwritten by autodetected value: '.DOL_MAIN_URL_ROOT.')'; print ""; diff --git a/htdocs/admin/system/database-tables.php b/htdocs/admin/system/database-tables.php index c19c7075784..2436807b584 100644 --- a/htdocs/admin/system/database-tables.php +++ b/htdocs/admin/system/database-tables.php @@ -56,17 +56,17 @@ if (preg_match('/mysql/i',$conf->db->type)) $sql = "SHOW TABLE STATUS"; $base=1; } -else if ($conf->db->type == 'pgsql') +elseif ($conf->db->type == 'pgsql') { $sql = "SELECT conname, contype FROM pg_constraint;"; $base=2; } -else if ($conf->db->type == 'mssql') +elseif ($conf->db->type == 'mssql') { //$sqls[0] = ""; //$base=3; } -else if ($conf->db->type == 'sqlite' || $conf->db->type == 'sqlite3') +elseif ($conf->db->type == 'sqlite' || $conf->db->type == 'sqlite3') { //$sql = "SELECT name, type FROM sqlite_master"; $base = 4; diff --git a/htdocs/admin/system/dbtable.php b/htdocs/admin/system/dbtable.php index 2cf249c0f74..9f9cc63505d 100644 --- a/htdocs/admin/system/dbtable.php +++ b/htdocs/admin/system/dbtable.php @@ -50,7 +50,7 @@ if (preg_match('/mysql/i',$conf->db->type)) $sql = "SHOW TABLE STATUS LIKE '".$db->escape($table)."'"; $base=1; } -else if ($conf->db->type == 'pgsql') +elseif ($conf->db->type == 'pgsql') { $sql = "SELECT conname,contype FROM pg_constraint"; $base=2; diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index f81053e1631..a8b5b2da401 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -374,8 +374,8 @@ foreach($configfileparameters as $key => $value) // Value print ""; if ($newkey == 'dolibarr_main_db_pass') print preg_replace('/./i','*',${$newkey}); - else if ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/',${$newkey})) print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT'); - else if ($newkey == 'dolibarr_main_document_root_alt') + elseif ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/',${$newkey})) print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT'); + elseif ($newkey == 'dolibarr_main_document_root_alt') { $tmparray=explode(',',${$newkey}); $i=0; diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index 55be556afb9..d74afcc90bc 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -166,7 +166,7 @@ print '';
diff --git a/htdocs/admin/tools/dolibarr_import.php b/htdocs/admin/tools/dolibarr_import.php index 90220f1bb23..e1357a39fb5 100644 --- a/htdocs/admin/tools/dolibarr_import.php +++ b/htdocs/admin/tools/dolibarr_import.php @@ -106,7 +106,7 @@ print $langs->trans("RestoreDesc3",$dolibarr_main_db_name).'

';
@@ -164,7 +164,7 @@ if (in_array($type, array('mysql', 'mysqli')))
diff --git a/htdocs/admin/tools/eaccelerator.php b/htdocs/admin/tools/eaccelerator.php index 0dc6b16b8e7..353cd6b6b98 100644 --- a/htdocs/admin/tools/eaccelerator.php +++ b/htdocs/admin/tools/eaccelerator.php @@ -48,17 +48,17 @@ if (isset($_POST['caching'])) { } else { eaccelerator_caching(true); } -} else if (isset($_POST['optimizer']) && function_exists('eaccelerator_optimizer')) { +} elseif (isset($_POST['optimizer']) && function_exists('eaccelerator_optimizer')) { if ($info['optimizer']) { eaccelerator_optimizer(false); } else { eaccelerator_optimizer(true); } -} else if (isset($_POST['clear'])) { +} elseif (isset($_POST['clear'])) { eaccelerator_clear(); -} else if (isset($_POST['clean'])) { +} elseif (isset($_POST['clean'])) { eaccelerator_clean(); -} else if (isset($_POST['purge'])) { +} elseif (isset($_POST['purge'])) { eaccelerator_purge(); } $info = eaccelerator_info(); @@ -81,7 +81,7 @@ function compare($x, $y) if ( $x[$sortby] == $y[$sortby] ) { return 0; - } else if ($x[$sortby] < $y[$sortby]) { + } elseif ($x[$sortby] < $y[$sortby]) { return -1; } else { return 1; @@ -101,7 +101,7 @@ function revcompare($x, $y) if ($x[$sortby] == $y[$sortby]) { return 0; - } else if ($x[$sortby] < $y[$sortby]) { + } elseif ($x[$sortby] < $y[$sortby]) { return 1; } else { return -1; diff --git a/htdocs/admin/tools/listsessions.php b/htdocs/admin/tools/listsessions.php index 7cbb82fbe6e..759bf1dfc48 100644 --- a/htdocs/admin/tools/listsessions.php +++ b/htdocs/admin/tools/listsessions.php @@ -115,7 +115,7 @@ if ($action == 'purge') $formquestion=array(); print $form->formconfirm($_SERVER["PHP_SELF"].'?noparam=noparam', $langs->trans('PurgeSessions'), $langs->trans('ConfirmPurgeSessions'),'confirm_purge',$formquestion,'no',2); } -else if ($action == 'lock') +elseif ($action == 'lock') { $formquestion=array(); print $form->formconfirm($_SERVER["PHP_SELF"].'?noparam=noparam', $langs->trans('LockNewSessions'), $langs->trans('ConfirmLockNewSessions',$user->login),'confirm_lock',$formquestion,'no',1); diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index 37b6bb5cc52..f857ab7ed11 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -543,7 +543,7 @@ if ($mode == 'searchkey') $htmltext = $langs->trans("OriginalValueWas", $newlangfileonly->tab_translate[$key]); print $form->textwithpicto('', $htmltext, 1, 'info'); } - else if (!empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION)) + elseif (!empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION)) { //print $key.'-'.$val; print '' . img_edit_add($langs->trans("Overwrite")) . ''; diff --git a/htdocs/api/class/api.class.php b/htdocs/api/class/api.class.php index 6d6ef4578cd..816992a80e9 100644 --- a/htdocs/api/class/api.class.php +++ b/htdocs/api/class/api.class.php @@ -230,7 +230,7 @@ class DolibarrApi if (preg_match('/&/', $resource)) { $featuresarray = explode("&", $resource); } - else if (preg_match('/\|/', $resource)) { + elseif (preg_match('/\|/', $resource)) { $featuresarray = explode("|", $resource); } diff --git a/htdocs/api/class/api_setup.class.php b/htdocs/api/class/api_setup.class.php index 498abb61a7b..e9d69728979 100644 --- a/htdocs/api/class/api_setup.class.php +++ b/htdocs/api/class/api_setup.class.php @@ -202,7 +202,7 @@ class Setup extends DolibarrApi if ($country->fetch($id) < 0) { throw new RestException(503, 'Error when retrieving country : '.$country->error); } - else if ($country->fetch($id) == 0) { + elseif ($country->fetch($id) == 0) { throw new RestException(404, 'country not found'); } diff --git a/htdocs/blockedlog/admin/blockedlog_list.php b/htdocs/blockedlog/admin/blockedlog_list.php index 7ce4ef04303..c899e9d78c2 100644 --- a/htdocs/blockedlog/admin/blockedlog_list.php +++ b/htdocs/blockedlog/admin/blockedlog_list.php @@ -105,7 +105,7 @@ if ($action === 'downloadblockchain') { exit; } -else if (GETPOST('downloadcsv','alpha')) +elseif (GETPOST('downloadcsv','alpha')) { $error = 0; diff --git a/htdocs/blockedlog/class/authority.class.php b/htdocs/blockedlog/class/authority.class.php index 0d0fc183b6c..e08daf0b9b2 100644 --- a/htdocs/blockedlog/class/authority.class.php +++ b/htdocs/blockedlog/class/authority.class.php @@ -161,7 +161,7 @@ class BlockedLogAuthority $sql.= " FROM ".MAIN_DB_PREFIX."blockedlog_authority as b"; if ($id) $sql.= " WHERE b.rowid = ". $id; - else if($signature)$sql.= " WHERE b.signature = '". $this->db->escape( $signature ) ."'" ; + elseif($signature)$sql.= " WHERE b.signature = '". $this->db->escape( $signature ) ."'" ; $resql=$this->db->query($sql); if ($resql) diff --git a/htdocs/blockedlog/class/blockedlog.class.php b/htdocs/blockedlog/class/blockedlog.class.php index bc65c72260d..17931e14457 100644 --- a/htdocs/blockedlog/class/blockedlog.class.php +++ b/htdocs/blockedlog/class/blockedlog.class.php @@ -208,7 +208,7 @@ class BlockedLog $this->error++; } } - else if($this->element === 'payment') { + elseif($this->element === 'payment') { require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; $object = new Paiement($this->db); @@ -219,7 +219,7 @@ class BlockedLog $this->error++; } } - else if($this->element === 'payment_supplier') { + elseif($this->element === 'payment_supplier') { require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; $object = new PaiementFourn($this->db); @@ -230,7 +230,7 @@ class BlockedLog $this->error++; } } - else if($this->element === 'payment_donation') { + elseif($this->element === 'payment_donation') { require_once DOL_DOCUMENT_ROOT.'/don/class/paymentdonation.class.php'; $object = new PaymentDonation($this->db); @@ -241,7 +241,7 @@ class BlockedLog $this->error++; } } - else if($this->element === 'payment_various') { + elseif($this->element === 'payment_various') { require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php'; $object = new PaymentVarious($this->db); @@ -252,7 +252,7 @@ class BlockedLog $this->error++; } } - else if($this->element === 'don' || $this->element === 'donation') { + elseif($this->element === 'don' || $this->element === 'donation') { require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; $object = new Don($this->db); @@ -263,7 +263,7 @@ class BlockedLog $this->error++; } } - else if($this->element === 'subscription') { + elseif($this->element === 'subscription') { require_once DOL_DOCUMENT_ROOT.'/adherents/class/subscription.class.php'; $object = new Subscription($this->db); @@ -274,7 +274,7 @@ class BlockedLog $this->error++; } } - else if($this->element === 'cashcontrol') { + elseif($this->element === 'cashcontrol') { require_once DOL_DOCUMENT_ROOT.'/compta/cashcontrol/class/cashcontrol.class.php'; $object = new CashControl($this->db); @@ -285,11 +285,11 @@ class BlockedLog $this->error++; } } - else if ($this->action == 'MODULE_SET') + elseif ($this->action == 'MODULE_SET') { return 'System to track events into unalterable logs were enabled'; } - else if ($this->action == 'MODULE_RESET') + elseif ($this->action == 'MODULE_RESET') { if ($this->signature == '0000000000') { @@ -469,7 +469,7 @@ class BlockedLog } } } - else if (!is_object($value)) $this->object_data->{$key} = $value; + elseif (!is_object($value)) $this->object_data->{$key} = $value; } if (! empty($object->newref)) $this->object_data->ref = $object->newref; @@ -984,11 +984,11 @@ class BlockedLog $sql="SELECT rowid FROM ".MAIN_DB_PREFIX."blockedlog WHERE entity=".$conf->entity; } - else if ($element=='not_certified') { + elseif ($element=='not_certified') { $sql="SELECT rowid FROM ".MAIN_DB_PREFIX."blockedlog WHERE entity=".$conf->entity." AND certified = 0"; } - else if ($element=='just_certified') { + elseif ($element=='just_certified') { $sql="SELECT rowid FROM ".MAIN_DB_PREFIX."blockedlog WHERE entity=".$conf->entity." AND certified = 1"; } diff --git a/htdocs/cashdesk/class/Facturation.class.php b/htdocs/cashdesk/class/Facturation.class.php index ea6ac7a47bd..436f8135efc 100644 --- a/htdocs/cashdesk/class/Facturation.class.php +++ b/htdocs/cashdesk/class/Facturation.class.php @@ -290,7 +290,7 @@ class Facturation { return $this->id; } - else if ( $aId == 'RESET' ) + elseif ( $aId == 'RESET' ) { $this->id = null; @@ -315,7 +315,7 @@ class Facturation { return $this->ref; } - else if ( $aRef == 'RESET' ) + elseif ( $aRef == 'RESET' ) { $this->ref = null; } @@ -337,7 +337,7 @@ class Facturation { return $this->qte; } - else if ( $aQte == 'RESET' ) + elseif ( $aQte == 'RESET' ) { $this->qte = null; @@ -361,7 +361,7 @@ class Facturation { return $this->stock; } - else if ( $aStock == 'RESET' ) + elseif ( $aStock == 'RESET' ) { $this->stock = null; } @@ -384,7 +384,7 @@ class Facturation { return $this->remise_percent; } - else if ($aRemisePercent == 'RESET') + elseif ($aRemisePercent == 'RESET') { $this->remise_percent = null; } @@ -406,7 +406,7 @@ class Facturation if (is_null($aMontantRemise)) { return $this->montant_remise; - } else if ( $aMontantRemise == 'RESET' ) { + } elseif ( $aMontantRemise == 'RESET' ) { $this->montant_remise = null; } else { @@ -427,7 +427,7 @@ class Facturation if (is_null($aPrix)) { return $this->prix; - } else if ( $aPrix == 'RESET' ) { + } elseif ( $aPrix == 'RESET' ) { $this->prix = null; } else { @@ -447,7 +447,7 @@ class Facturation if (is_null($aTva)) { return $this->tva; - } else if ( $aTva == 'RESET' ) { + } elseif ( $aTva == 'RESET' ) { $this->tva = null; } else { @@ -467,7 +467,7 @@ class Facturation if (is_null($aNumFacture)) { return $this->num_facture; - } else if ( $aNumFacture == 'RESET' ) { + } elseif ( $aNumFacture == 'RESET' ) { $this->num_facture = null; } else { @@ -488,7 +488,7 @@ class Facturation if (is_null($aModeReglement)) { return $this->mode_reglement; - } else if ( $aModeReglement == 'RESET' ) { + } elseif ( $aModeReglement == 'RESET' ) { $this->mode_reglement = null; } else { @@ -509,7 +509,7 @@ class Facturation if (is_null($aMontantEncaisse)) { return $this->montant_encaisse; - } else if ( $aMontantEncaisse == 'RESET' ) { + } elseif ( $aMontantEncaisse == 'RESET' ) { $this->montant_encaisse = null; } else { @@ -530,7 +530,7 @@ class Facturation if (is_null($aMontantRendu)) { return $this->montant_rendu; - } else if ( $aMontantRendu == 'RESET' ) { + } elseif ( $aMontantRendu == 'RESET' ) { $this->montant_rendu = null; } else { @@ -550,7 +550,7 @@ class Facturation if (is_null($aPaiementLe)) { return $this->paiement_le; - } else if ( $aPaiementLe == 'RESET' ) { + } elseif ( $aPaiementLe == 'RESET' ) { $this->paiement_le = null; } else { @@ -570,7 +570,7 @@ class Facturation if (is_null($aTotalHt)) { return $this->prix_total_ht; - } else if ( $aTotalHt == 'RESET' ) { + } elseif ( $aTotalHt == 'RESET' ) { $this->prix_total_ht = null; } else { @@ -590,7 +590,7 @@ class Facturation if (is_null($aMontantTva)) { return $this->montant_tva; - } else if ( $aMontantTva == 'RESET' ) { + } elseif ( $aMontantTva == 'RESET' ) { $this->montant_tva = null; } else { diff --git a/htdocs/cashdesk/facturation.php b/htdocs/cashdesk/facturation.php index 4ca8a562659..ac78883bc4f 100644 --- a/htdocs/cashdesk/facturation.php +++ b/htdocs/cashdesk/facturation.php @@ -138,7 +138,7 @@ if ( $nbr_enreg > 1 ) $top_liste_produits = '----- '.$nbr_enreg.' '.$langs->transnoentitiesnoconv("CashDeskProducts").' '.$langs->trans("CashDeskOn").' '.$nbr_enreg.' -----'; } } -else if ( $nbr_enreg == 1 ) +elseif ( $nbr_enreg == 1 ) { $top_liste_produits = '----- 1 '.$langs->transnoentitiesnoconv("ProductFound"). ' -----'; } diff --git a/htdocs/cashdesk/facturation_verif.php b/htdocs/cashdesk/facturation_verif.php index 6aa81d991df..960ddddb18a 100644 --- a/htdocs/cashdesk/facturation_verif.php +++ b/htdocs/cashdesk/facturation_verif.php @@ -51,7 +51,7 @@ switch($action) { $sql.= " AND p.rowid = ".$_POST['selProduit']; } - else if ( $_POST['hdnSource'] == 'REF' ) + elseif ( $_POST['hdnSource'] == 'REF' ) { $sql.= " AND p.ref = '".$_POST['txtRef']."'"; } @@ -163,7 +163,7 @@ switch($action) { $filtre = $ret['ref']; } - else if ( $_POST['hdnSource'] == 'REF' ) + elseif ( $_POST['hdnSource'] == 'REF' ) { $filtre = $_POST['txtRef']; } diff --git a/htdocs/categories/card.php b/htdocs/categories/card.php index e69ec4a852d..1cc510ee27f 100644 --- a/htdocs/categories/card.php +++ b/htdocs/categories/card.php @@ -89,32 +89,32 @@ if ($action == 'add' && $user->rights->categorie->creer) header("Location: ".$urlfrom); exit; } - else if ($idProdOrigin) + elseif ($idProdOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProdOrigin.'&type='.$type); exit; } - else if ($idCompanyOrigin) + elseif ($idCompanyOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idCompanyOrigin.'&type='.$type); exit; } - else if ($idSupplierOrigin) + elseif ($idSupplierOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idSupplierOrigin.'&type='.$type); exit; } - else if ($idMemberOrigin) + elseif ($idMemberOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idMemberOrigin.'&type='.$type); exit; } - else if ($idContactOrigin) + elseif ($idContactOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idContactOrigin.'&type='.$type); exit; } - else if ($idProjectOrigin) + elseif ($idProjectOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProjectOrigin.'&type='.$type); exit; @@ -179,32 +179,32 @@ if (($action == 'add' || $action == 'confirmed') && $user->rights->categorie->cr header("Location: ".$backtopage); exit; } - else if ($idProdOrigin) + elseif ($idProdOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProdOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } - else if ($idCompanyOrigin) + elseif ($idCompanyOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idCompanyOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } - else if ($idSupplierOrigin) + elseif ($idSupplierOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idSupplierOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } - else if ($idMemberOrigin) + elseif ($idMemberOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idMemberOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } - else if ($idContactOrigin) + elseif ($idContactOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idContactOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } - else if ($idProjectOrigin) + elseif ($idProjectOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProjectOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index e4d95d490ed..da6c7c20a5c 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -1397,7 +1397,7 @@ class Categorie extends CommonObject { if ($mode == 'id') { $cats[] = $obj->rowid; - } else if ($mode == 'label') { + } elseif ($mode == 'label') { $cats[] = $obj->label; } else { $cat = new Categorie($this->db); @@ -1427,7 +1427,7 @@ class Categorie extends CommonObject { if ($mode == 'id') { $cats[] = $obj->rowid; - } else if ($mode == 'label') { + } elseif ($mode == 'label') { $cats[] = $obj->label; } else { $cat = new Categorie($this->db); @@ -1747,7 +1747,7 @@ class Categorie extends CommonObject return -1; } } - else if (isset($this->multilangs["$key"])) + elseif (isset($this->multilangs["$key"])) { if ($this->db->num_rows($result)) // si aucune ligne dans la base { diff --git a/htdocs/categories/traduction.php b/htdocs/categories/traduction.php index 6783b565b99..f683a791e72 100644 --- a/htdocs/categories/traduction.php +++ b/htdocs/categories/traduction.php @@ -270,7 +270,7 @@ if ($action == 'edit') print ''; } -else if ($action != 'add') +elseif ($action != 'add') { if ($cnt_trans) print '
'; diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index 37bf6ed60a3..c2b94fcc473 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -86,40 +86,40 @@ if ($id > 0 && $removeelem > 0) $result = $tmpobject->fetch($removeelem); $elementtype = 'product'; } - else if ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) + elseif ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) { $tmpobject = new Societe($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'supplier'; } - else if ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) + elseif ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) { $tmpobject = new Societe($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'customer'; } - else if ($type == Categorie::TYPE_MEMBER && $user->rights->adherent->creer) + elseif ($type == Categorie::TYPE_MEMBER && $user->rights->adherent->creer) { require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $tmpobject = new Adherent($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'member'; } - else if ($type == Categorie::TYPE_CONTACT && $user->rights->societe->creer) { + elseif ($type == Categorie::TYPE_CONTACT && $user->rights->societe->creer) { require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; $tmpobject = new Contact($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'contact'; } - else if ($type == Categorie::TYPE_ACCOUNT && $user->rights->banque->configurer) + elseif ($type == Categorie::TYPE_ACCOUNT && $user->rights->banque->configurer) { require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $tmpobject = new Account($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'account'; } - else if ($type == Categorie::TYPE_PROJECT && $user->rights->projet->creer) + elseif ($type == Categorie::TYPE_PROJECT && $user->rights->projet->creer) { require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; $tmpobject = new Project($db); diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index d087655a9bd..0c2bbb2e10f 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -791,11 +791,11 @@ if ($action == 'create') print ''; $percent=-1; if (isset($_GET['status']) || isset($_POST['status'])) $percent=GETPOST('status'); - else if (isset($_GET['percentage']) || isset($_POST['percentage'])) $percent=GETPOST('percentage'); + elseif (isset($_GET['percentage']) || isset($_POST['percentage'])) $percent=GETPOST('percentage'); else { if (GETPOST('complete') == '0' || GETPOST("afaire") == 1) $percent='0'; - else if (GETPOST('complete') == 100 || GETPOST("afaire") == 2) $percent=100; + elseif (GETPOST('complete') == 100 || GETPOST("afaire") == 2) $percent=100; } $formactions->form_select_status_action('formaction', $percent, 1, 'complete', 0, 0, 'maxwidth200'); print ''; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 05d5fa43c86..0e9463cd43c 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -293,7 +293,7 @@ class ActionComm extends CommonObject $this->type_id=$cactioncomm->id; $this->type_code=$cactioncomm->code; } - else if ($result == 0) + elseif ($result == 0) { $this->error='Failed to get record with id '.$this->type_id.' code '.$this->type_code.' from dictionary "type of events"'; return -1; diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index a73731699f2..5eaf2c5a6a5 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -779,7 +779,7 @@ if (count($listofextcals)) $datecurstart=dol_stringtotime($icalevent['DTSTART;VALUE=DATE'],1); $datecurend=dol_stringtotime($icalevent['DTEND;VALUE=DATE'],1)-1; // We remove one second to get last second of day } - else if (is_array($icalevent['DTSTART']) && ! empty($icalevent['DTSTART']['unixtime'])) + elseif (is_array($icalevent['DTSTART']) && ! empty($icalevent['DTSTART']['unixtime'])) { $datecurstart=$icalevent['DTSTART']['unixtime']; $datecurend=$icalevent['DTEND']['unixtime']; @@ -1365,7 +1365,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa // We decide to choose color of owner of event (event->userownerid is user id of owner, event->userassigned contains all users assigned to event) if (! empty($cacheusers[$event->userownerid]->color)) $color=$cacheusers[$event->userownerid]->color; } - else if ($event->type_code == 'ICALEVENT') // Event come from external ical file + elseif ($event->type_code == 'ICALEVENT') // Event come from external ical file { $numical++; if (! empty($event->icalname)) { @@ -1378,7 +1378,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa $color=($event->icalcolor?$event->icalcolor:-1); $cssclass=(! empty($event->icalname)?'family_ext'.md5($event->icalname):'family_other'); } - else if ($event->type_code == 'BIRTHDAY') + elseif ($event->type_code == 'BIRTHDAY') { $numbirthday++; $colorindex=2; $cssclass='family_birthday unmovable'; $color=sprintf("%02x%02x%02x",$theme_datacolor[$colorindex][0],$theme_datacolor[$colorindex][1],$theme_datacolor[$colorindex][2]); } @@ -1425,11 +1425,11 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa { $cssclass.= " unmovable"; } - else if ($event->type_code == 'ICALEVENT') + elseif ($event->type_code == 'ICALEVENT') { $cssclass.= " unmovable"; } - else if ($event->date_end_in_calendar && date('Ymd',$event->date_start_in_calendar) != date('Ymd',$event->date_end_in_calendar)) + elseif ($event->date_end_in_calendar && date('Ymd',$event->date_start_in_calendar) != date('Ymd',$event->date_end_in_calendar)) { $tmpyearend = date('Y',$event->date_end_in_calendar); $tmpmonthend = date('m',$event->date_end_in_calendar); diff --git a/htdocs/comm/action/pertype.php b/htdocs/comm/action/pertype.php index 67a4534ca14..789ef82daa3 100644 --- a/htdocs/comm/action/pertype.php +++ b/htdocs/comm/action/pertype.php @@ -809,7 +809,7 @@ function show_day_events_pertype($username, $day, $month, $year, $monthshown, $s $nummytasks++; $cssclass='family_mytasks'; if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) $color=$event->type_color; } - else if ($event->type_code == 'ICALEVENT') + elseif ($event->type_code == 'ICALEVENT') { $numical++; if (! empty($event->icalname)) @@ -823,7 +823,7 @@ function show_day_events_pertype($username, $day, $month, $year, $monthshown, $s $color=$event->icalcolor; $cssclass=(! empty($event->icalname)?'family_ext'.md5($event->icalname):'family_other unsortable'); } - else if ($event->type_code == 'BIRTHDAY') + elseif ($event->type_code == 'BIRTHDAY') { $numbirthday++; $colorindex=2; $cssclass='family_birthday unsortable'; $color=sprintf("%02x%02x%02x",$theme_datacolor[$colorindex][0],$theme_datacolor[$colorindex][1],$theme_datacolor[$colorindex][2]); } @@ -1026,7 +1026,7 @@ function show_day_events_pertype($username, $day, $month, $year, $monthshown, $s if ($output[0]['string']) $title1.=($title1?' - ':'').$output[0]['string']; if ($output[0]['color']) $color1 = $output[0]['color']; } - else if (count($cases1[$h]) > 1) + elseif (count($cases1[$h]) > 1) { $title1=$langs->trans("Ref").' '.$ids1.($title1?' - '.$title1:''); $color1='222222'; @@ -1039,7 +1039,7 @@ function show_day_events_pertype($username, $day, $month, $year, $monthshown, $s if ($output[0]['string']) $title2.=($title2?' - ':'').$output[0]['string']; if ($output[0]['color']) $color2 = $output[0]['color']; } - else if (count($cases2[$h]) > 1) + elseif (count($cases2[$h]) > 1) { $title2=$langs->trans("Ref").' '.$ids2.($title2?' - '.$title2:''); $color2='222222'; diff --git a/htdocs/comm/action/peruser.php b/htdocs/comm/action/peruser.php index 9e2a7278a27..075e5997fbd 100644 --- a/htdocs/comm/action/peruser.php +++ b/htdocs/comm/action/peruser.php @@ -970,7 +970,7 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, & if (! empty($conf->global->AGENDA_USE_COLOR_PER_EVENT_TYPE)) $color=$event->type_color; } - else if ($event->type_code == 'ICALEVENT') + elseif ($event->type_code == 'ICALEVENT') { $numical++; if (! empty($event->icalname)) @@ -984,7 +984,7 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, & $color=$event->icalcolor; $cssclass=(! empty($event->icalname)?'family_ext'.md5($event->icalname):'family_other unsortable'); } - else if ($event->type_code == 'BIRTHDAY') + elseif ($event->type_code == 'BIRTHDAY') { $numbirthday++; $colorindex=2; $cssclass='family_birthday unsortable'; $color=sprintf("%02x%02x%02x",$theme_datacolor[$colorindex][0],$theme_datacolor[$colorindex][1],$theme_datacolor[$colorindex][2]); } @@ -1201,7 +1201,7 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, & if ($output[0]['string']) $title1.=($title1?' - ':'').$output[0]['string']; if ($output[0]['color']) $color1 = $output[0]['color']; } - else if (count($cases1[$h]) > 1) + elseif (count($cases1[$h]) > 1) { $title1=$langs->trans("Ref").' '.$ids1.($title1?' - '.$title1:''); $color1='222222'; @@ -1214,7 +1214,7 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, & if ($output[0]['string']) $title2.=($title2?' - ':'').$output[0]['string']; if ($output[0]['color']) $color2 = $output[0]['color']; } - else if (count($cases2[$h]) > 1) + elseif (count($cases2[$h]) > 1) { $title2=$langs->trans("Ref").' '.$ids2.($title2?' - '.$title2:''); $color2='222222'; diff --git a/htdocs/comm/address.php b/htdocs/comm/address.php index f9cf7dc5bf1..04b7cd3ad63 100644 --- a/htdocs/comm/address.php +++ b/htdocs/comm/address.php @@ -83,7 +83,7 @@ if ($action == 'add' || $action == 'update') header("Location: ".$backtopage); exit; } - else if ($origin == 'commande') + elseif ($origin == 'commande') { header("Location: ../commande/contact.php?action=editdelivery_adress&socid=".$socid."&id=".$originid); exit; @@ -112,7 +112,7 @@ if ($action == 'add' || $action == 'update') } // Update address - else if ($action == 'update') + elseif ($action == 'update') { $result = $object->update($id, $socid, $user); @@ -123,7 +123,7 @@ if ($action == 'add' || $action == 'update') header("Location: ".$backtopage); exit; } - else if ($origin == 'commande') + elseif ($origin == 'commande') { header("Location: ../commande/contact.php?id=".$originid); exit; @@ -153,7 +153,7 @@ if ($action == 'add' || $action == 'update') } } -else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->societe->supprimer) +elseif ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->societe->supprimer) { $result = $object->delete($id, $socid); diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index e0b60a87753..bee64fb41d1 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -496,7 +496,7 @@ if (! empty($conf->societe->enabled) && $user->rights->societe->lire) print ''; print ''; if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print $langs->trans("BoxTitleLastCustomersOrProspects",$max); - else if (! empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print $langs->trans("BoxTitleLastModifiedProspects",$max); + elseif (! empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print $langs->trans("BoxTitleLastModifiedProspects",$max); else print $langs->trans("BoxTitleLastModifiedCustomers",$max); print ''; print ''.$langs->trans("FullList").''; @@ -759,7 +759,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) { print ''.$langs->trans("XMoreLines", ($num - $nbofloop)).""; } - else if ($total>0) + elseif ($total>0) { print ''.$langs->trans("Total")."".price($total)." "; } @@ -863,7 +863,7 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire) { print ''.$langs->trans("XMoreLines", ($num - $nbofloop)).""; } - else if ($total>0) + elseif ($total>0) { print ''.$langs->trans("Total")."".price($total)." "; } diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php index 233f32d26be..5ce2b5c2f61 100644 --- a/htdocs/comm/mailing/card.php +++ b/htdocs/comm/mailing/card.php @@ -122,7 +122,7 @@ if (empty($reshook)) setEventMessages($langs->trans("MailingNeedCommand2"), null, 'warnings'); $action=''; } - else if ($conf->global->MAILING_LIMIT_SENDBYWEB < 0) + elseif ($conf->global->MAILING_LIMIT_SENDBYWEB < 0) { setEventMessages($langs->trans("NotEnoughPermissions"), null, 'warnings'); $action=''; @@ -525,13 +525,13 @@ if (empty($reshook)) $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1,$object,'mailing'); if ($action == 'settitre') $object->titre = trim(GETPOST('titre','alpha')); - else if ($action == 'setemail_from') $object->email_from = trim(GETPOST('email_from','alpha')); - else if ($action == 'setemail_replyto') $object->email_replyto = trim(GETPOST('email_replyto','alpha')); - else if ($action == 'setemail_errorsto') $object->email_errorsto = trim(GETPOST('email_errorsto','alpha')); - else if ($action == 'settitre' && empty($object->titre)) { + elseif ($action == 'setemail_from') $object->email_from = trim(GETPOST('email_from','alpha')); + elseif ($action == 'setemail_replyto') $object->email_replyto = trim(GETPOST('email_replyto','alpha')); + elseif ($action == 'setemail_errorsto') $object->email_errorsto = trim(GETPOST('email_errorsto','alpha')); + elseif ($action == 'settitre' && empty($object->titre)) { $mesg = $langs->trans("ErrorFieldRequired",$langs->transnoentities("MailTitle")); } - else if ($action == 'setfrom' && empty($object->email_from)) { + elseif ($action == 'setfrom' && empty($object->email_from)) { $mesg = $langs->trans("ErrorFieldRequired",$langs->transnoentities("MailFrom")); } @@ -803,12 +803,12 @@ else print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id,$langs->trans("ValidMailing"),$langs->trans("ConfirmValidMailing"),"confirm_valid",'','',1); } // Confirm reset - else if ($action == 'reset') + elseif ($action == 'reset') { print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id,$langs->trans("ResetMailing"),$langs->trans("ConfirmResetMailing",$object->ref),"confirm_reset",'','',2); } // Confirm delete - else if ($action == 'delete') + elseif ($action == 'delete') { print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id.(! empty($urlfrom) ? '&urlfrom='.urlencode($urlfrom) : ''),$langs->trans("DeleteAMailing"),$langs->trans("ConfirmDeleteMailing"),"confirm_delete",'','',1); } @@ -842,7 +842,7 @@ else if (! empty($conf->global->MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS)) setEventMessages($langs->trans("MailSendSetupIs3", $conf->global->MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS), null, 'warnings'); $_GET["action"]=''; } - else if ($conf->global->MAILING_LIMIT_SENDBYWEB < 0) + elseif ($conf->global->MAILING_LIMIT_SENDBYWEB < 0) { if (! empty($conf->global->MAILING_LIMIT_WARNING_PHPMAIL) && $sendingmode == 'mail') setEventMessages($langs->transnoentitiesnoconv($conf->global->MAILING_LIMIT_WARNING_PHPMAIL), null, 'warnings'); if (! empty($conf->global->MAILING_LIMIT_WARNING_NOPHPMAIL) && $sendingmode != 'mail') setEventMessages($langs->transnoentitiesnoconv($conf->global->MAILING_LIMIT_WARNING_NOPHPMAIL), null, 'warnings'); @@ -1008,7 +1008,7 @@ else { print ''.$langs->trans("ValidMailing").''; } - else if (empty($user->rights->mailing->valider)) + elseif (empty($user->rights->mailing->valider)) { print ''.$langs->trans("ValidMailing").''; } @@ -1024,7 +1024,7 @@ else { print ''.$langs->trans("SendMailing").''; } - else if (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! $user->rights->mailing->mailing_advance->send) + elseif (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! $user->rights->mailing->mailing_advance->send) { print ''.$langs->trans("SendMailing").''; } diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php index ac23177652f..0cb414be421 100644 --- a/htdocs/comm/mailing/cibles.php +++ b/htdocs/comm/mailing/cibles.php @@ -557,7 +557,7 @@ if ($object->fetch($id) >= 0) $objectstatic->fetch($obj->source_id); print $objectstatic->getNomUrl(1); } - else if ($obj->source_type == 'user') + elseif ($obj->source_type == 'user') { include_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; $objectstatic=new User($db); @@ -565,14 +565,14 @@ if ($object->fetch($id) >= 0) $objectstatic->id=$obj->source_id; print $objectstatic->getNomUrl(1); } - else if ($obj->source_type == 'thirdparty') + elseif ($obj->source_type == 'thirdparty') { include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; $objectstatic=new Societe($db); $objectstatic->fetch($obj->source_id); print $objectstatic->getNomUrl(1); } - else if ($obj->source_type == 'contact') + elseif ($obj->source_type == 'contact') { include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; $objectstatic=new Contact($db); diff --git a/htdocs/comm/mailing/class/advtargetemailing.class.php b/htdocs/comm/mailing/class/advtargetemailing.class.php index 83833304d44..84d20180f20 100644 --- a/htdocs/comm/mailing/class/advtargetemailing.class.php +++ b/htdocs/comm/mailing/class/advtargetemailing.class.php @@ -785,12 +785,12 @@ class AdvanceTargetingMailing extends CommonObject if (!empty($arrayquery['options_'.$key.'_max'.'_cnct'])) { $sqlwhere[]= " (te.".$key." >= ".$arrayquery['options_'.$key.'_max'.'_cnct']." AND te.".$key." <= ".$arrayquery['options_'.$key.'_min'.'_cnct'].")"; } - } else if (($extrafields->attribute_type[$key] == 'date') || + } elseif (($extrafields->attribute_type[$key] == 'date') || ($extrafields->attribute_type[$key] == 'datetime')) { if (!empty($arrayquery['options_'.$key.'_end_dt'.'_cnct'])){ $sqlwhere[]= " (te.".$key." >= '".$this->db->idate($arrayquery['options_'.$key.'_st_dt'.'_cnct'])."' AND te.".$key." <= '".$this->db->idate($arrayquery['options_'.$key.'_end_dt'.'_cnct'])."')"; } - }else if ($extrafields->attribute_type[$key] == 'boolean') { + }elseif ($extrafields->attribute_type[$key] == 'boolean') { if ($arrayquery['options_'.$key.'_cnct']!=''){ if ($arrayquery['options_'.$key.'_cnct']==0) { $sqlwhere[]= " (te.".$key." = ".$arrayquery['options_'.$key.'_cnct']." OR ((te.".$key." IS NULL) AND (te.fk_object IS NOT NULL)))"; @@ -885,12 +885,12 @@ class AdvanceTargetingMailing extends CommonObject if (!empty($arrayquery['options_'.$key.'_max'])) { $sqlwhere[]= " (tse.".$key." >= ".$arrayquery['options_'.$key.'_max']." AND tse.".$key." <= ".$arrayquery['options_'.$key.'_min'].")"; } - } else if (($extrafields->attribute_type[$key] == 'date') || + } elseif (($extrafields->attribute_type[$key] == 'date') || ($extrafields->attribute_type[$key] == 'datetime')) { if (!empty($arrayquery['options_'.$key.'_end_dt'])){ $sqlwhere[]= " (tse.".$key." >= '".$this->db->idate($arrayquery['options_'.$key.'_st_dt'])."' AND tse.".$key." <= '".$this->db->idate($arrayquery['options_'.$key.'_end_dt'])."')"; } - }else if ($extrafields->attribute_type[$key] == 'boolean') { + }elseif ($extrafields->attribute_type[$key] == 'boolean') { if ($arrayquery['options_'.$key]!=''){ $sqlwhere[]= " (tse.".$key." = ".$arrayquery['options_'.$key].")"; } diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index c6ba6781423..93511ce0513 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -205,7 +205,7 @@ if (empty($reshook)) } // Delete proposal - else if ($action == 'confirm_delete' && $confirm == 'yes' && $usercandelete) + elseif ($action == 'confirm_delete' && $confirm == 'yes' && $usercandelete) { $result = $object->delete($user); if ($result > 0) { @@ -218,7 +218,7 @@ if (empty($reshook)) } // Remove line - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $usercancreate) + elseif ($action == 'confirm_deleteline' && $confirm == 'yes' && $usercancreate) { $result = $object->deleteline($lineid); // reorder lines @@ -242,7 +242,7 @@ if (empty($reshook)) } // Validation - else if ($action == 'confirm_validate' && $confirm == 'yes' && $usercanvalidate) + elseif ($action == 'confirm_validate' && $confirm == 'yes' && $usercanvalidate) { $result = $object->valid($user); if ($result >= 0) @@ -269,7 +269,7 @@ if (empty($reshook)) } } - else if ($action == 'setdate' && $usercancreate) + elseif ($action == 'setdate' && $usercancreate) { $datep = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); @@ -284,13 +284,13 @@ if (empty($reshook)) dol_print_error($db, $object->error); } } - else if ($action == 'setecheance' && $usercancreate) + elseif ($action == 'setecheance' && $usercancreate) { $result = $object->set_echeance($user, dol_mktime(12, 0, 0, $_POST['echmonth'], $_POST['echday'], $_POST['echyear'])); if ($result < 0) dol_print_error($db, $object->error); } - else if ($action == 'setdate_livraison' && $usercancreate) + elseif ($action == 'setdate_livraison' && $usercancreate) { $result = $object->set_date_livraison($user, dol_mktime(12, 0, 0, $_POST['date_livraisonmonth'], $_POST['date_livraisonday'], $_POST['date_livraisonyear'])); if ($result < 0) @@ -298,7 +298,7 @@ if (empty($reshook)) } // Positionne ref client - else if ($action == 'setref_client' && $usercancreate) + elseif ($action == 'setref_client' && $usercancreate) { $result = $object->set_ref_client($user, GETPOST('ref_client')); if ($result < 0) @@ -314,7 +314,7 @@ if (empty($reshook)) } // Create proposal - else if ($action == 'add' && $usercancreate) + elseif ($action == 'add' && $usercancreate) { $object->socid = $socid; $object->fetch_thirdparty(); @@ -619,7 +619,7 @@ if (empty($reshook)) } // Classify billed - else if ($action == 'classifybilled' && $usercanclose) + elseif ($action == 'classifybilled' && $usercanclose) { $db->begin(); @@ -641,7 +641,7 @@ if (empty($reshook)) } // Close proposal - else if ($action == 'setstatut' && $usercanclose && ! GETPOST('cancel','alpha')) + elseif ($action == 'setstatut' && $usercanclose && ! GETPOST('cancel','alpha')) { if (! (GETPOST('statut','int') > 0)) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("CloseAs")), null, 'errors'); @@ -672,7 +672,7 @@ if (empty($reshook)) } // Reopen proposal - else if ($action == 'confirm_reopen' && $usercanclose && ! GETPOST('cancel','alpha')) + elseif ($action == 'confirm_reopen' && $usercanclose && ! GETPOST('cancel','alpha')) { // prevent browser refresh from reopening proposal several times if ($object->statut == Propal::STATUS_SIGNED || $object->statut == Propal::STATUS_NOTSIGNED || $object->statut == Propal::STATUS_BILLED) @@ -808,7 +808,7 @@ if (empty($reshook)) } } - else if ($action == "setabsolutediscount" && $usercancreate) { + elseif ($action == "setabsolutediscount" && $usercancreate) { if ($_POST["remise_id"]) { if ($object->id > 0) { $result = $object->insert_discount($_POST["remise_id"]); @@ -820,7 +820,7 @@ if (empty($reshook)) } // Add line - else if ($action == 'addline' && $usercancreate) { + elseif ($action == 'addline' && $usercancreate) { // Set if we used free entry or predefined product $predef=''; @@ -1184,7 +1184,7 @@ if (empty($reshook)) } // Update a line within proposal - else if ($action == 'updateline' && $usercancreate && GETPOST('save')) + elseif ($action == 'updateline' && $usercancreate && GETPOST('save')) { // Define info_bits $info_bits = 0; @@ -1320,66 +1320,66 @@ if (empty($reshook)) } } - else if ($action == 'updateline' && $usercancreate && GETPOST('cancel','alpha')) + elseif ($action == 'updateline' && $usercancreate && GETPOST('cancel','alpha')) { header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition exit(); } // Set project - else if ($action == 'classin' && $usercancreate) { + elseif ($action == 'classin' && $usercancreate) { $object->setProject(GETPOST('projectid','int')); } // Delai de livraison - else if ($action == 'setavailability' && $usercancreate) { + elseif ($action == 'setavailability' && $usercancreate) { $result = $object->set_availability($user, GETPOST('availability_id','int')); } // Origine de la propale - else if ($action == 'setdemandreason' && $usercancreate) { + elseif ($action == 'setdemandreason' && $usercancreate) { $result = $object->set_demand_reason($user, GETPOST('demand_reason_id','int')); } // Conditions de reglement - else if ($action == 'setconditions' && $usercancreate) { + elseif ($action == 'setconditions' && $usercancreate) { $result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); } - else if ($action == 'setremisepercent' && $usercancreate) { + elseif ($action == 'setremisepercent' && $usercancreate) { $result = $object->set_remise_percent($user, $_POST['remise_percent']); } - else if ($action == 'setremiseabsolue' && $usercancreate) { + elseif ($action == 'setremiseabsolue' && $usercancreate) { $result = $object->set_remise_absolue($user, $_POST['remise_absolue']); } // Mode de reglement - else if ($action == 'setmode' && $usercancreate) { + elseif ($action == 'setmode' && $usercancreate) { $result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int')); } // Multicurrency Code - else if ($action == 'setmulticurrencycode' && $usercancreate) { + elseif ($action == 'setmulticurrencycode' && $usercancreate) { $result = $object->setMulticurrencyCode(GETPOST('multicurrency_code', 'alpha')); } // Multicurrency rate - else if ($action == 'setmulticurrencyrate' && $usercancreate) { + elseif ($action == 'setmulticurrencyrate' && $usercancreate) { $result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx'))); } // bank account - else if ($action == 'setbankaccount' && $usercancreate) { + elseif ($action == 'setbankaccount' && $usercancreate) { $result=$object->setBankAccount(GETPOST('fk_account', 'int')); } // shipping method - else if ($action == 'setshippingmethod' && $usercancreate) { + elseif ($action == 'setshippingmethod' && $usercancreate) { $result=$object->setShippingMethod(GETPOST('shipping_method_id', 'int')); } - else if ($action == 'update_extras') { + elseif ($action == 'update_extras') { $object->oldcopy = dol_clone($object); // Fill array 'array_options' with data from update form @@ -1421,7 +1421,7 @@ if (empty($reshook)) } // Bascule du statut d'un contact - else if ($action == 'swapstatut') { + elseif ($action == 'swapstatut') { if ($object->fetch($id) > 0) { $result = $object->swapContactStatus(GETPOST('ligne')); } else { @@ -1430,7 +1430,7 @@ if (empty($reshook)) } // Efface un contact - else if ($action == 'deletecontact') { + elseif ($action == 'deletecontact') { $object->fetch($id); $result = $object->delete_contact($lineid); @@ -1909,22 +1909,22 @@ if ($action == 'create') } // Confirm delete - else if ($action == 'delete') { + elseif ($action == 'delete') { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp', $object->ref), 'confirm_delete', '', 0, 1); } // Confirm reopen - else if ($action == 'reopen') { + elseif ($action == 'reopen') { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenProp', $object->ref), 'confirm_reopen', '', 0, 1); } // Confirmation delete product/service line - else if ($action == 'ask_deleteline') { + elseif ($action == 'ask_deleteline') { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1); } // Confirm validate proposal - else if ($action == 'validate') { + elseif ($action == 'validate') { $error = 0; // We verifie whether the object is provisionally numbering diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 55dd950abf2..12de0610ad4 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -2706,7 +2706,7 @@ class Propal extends CommonObject { $ga[$obj->propalid] = $obj->ref; } - else if ($shortlist == 2) + elseif ($shortlist == 2) { $ga[$obj->propalid] = $obj->ref.' ('.$obj->name.')'; } diff --git a/htdocs/comm/propal/contact.php b/htdocs/comm/propal/contact.php index 7fc556a3b12..dc14324c293 100644 --- a/htdocs/comm/propal/contact.php +++ b/htdocs/comm/propal/contact.php @@ -56,7 +56,7 @@ if ($id > 0 || ! empty($ref)) setEventMessages($langs->trans('ErrorRecordNotFound'), null, 'errors'); $error++; } - else if ($ret < 0) + elseif ($ret < 0) { setEventMessages($object->error, $object->errors, 'errors'); $error++; @@ -105,7 +105,7 @@ if ($action == 'addcontact' && $user->rights->propale->creer) } // Toggle the status of a contact -else if ($action == 'swapstatut' && $user->rights->propale->creer) +elseif ($action == 'swapstatut' && $user->rights->propale->creer) { if ($object->id > 0) { @@ -114,7 +114,7 @@ else if ($action == 'swapstatut' && $user->rights->propale->creer) } // Deletes a contact -else if ($action == 'deletecontact' && $user->rights->propale->creer) +elseif ($action == 'deletecontact' && $user->rights->propale->creer) { $result = $object->delete_contact($lineid); diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php index b96a95d8e64..e708e0dac15 100644 --- a/htdocs/comm/propal/index.php +++ b/htdocs/comm/propal/index.php @@ -367,7 +367,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propale->lire) { print ''.$langs->trans("XMoreLines", ($num - $nbofloop)).""; } - else if ($total>0) + elseif ($total>0) { print ''.$langs->trans("Total")."".price($total)." "; } diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 61fa1d548d7..193859cdd70 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -940,7 +940,7 @@ if ($resql) print $nbofsalesrepresentative; print ''; } - else if ($nbofsalesrepresentative > 0) + elseif ($nbofsalesrepresentative > 0) { $userstatic=new User($db); $j=0; diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 36dac7431af..08da5786589 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -159,7 +159,7 @@ if (empty($reshook)) } // Reopen a closed order - else if ($action == 'reopen' && $user->rights->commande->creer) + elseif ($action == 'reopen' && $user->rights->commande->creer) { if ($object->statut == Commande::STATUS_CANCELED || $object->statut == Commande::STATUS_CLOSED) { @@ -176,7 +176,7 @@ if (empty($reshook)) } // Remove order - else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->commande->supprimer) + elseif ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->commande->supprimer) { $result = $object->delete($user); if ($result > 0) @@ -191,7 +191,7 @@ if (empty($reshook)) } // Remove a product line - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->commande->creer) + elseif ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->commande->creer) { $result = $object->deleteline($user, $lineid); if ($result > 0) @@ -222,13 +222,13 @@ if (empty($reshook)) } // Link to a project - else if ($action == 'classin' && $user->rights->commande->creer) + elseif ($action == 'classin' && $user->rights->commande->creer) { $object->setProject(GETPOST('projectid','int')); } // Add order - else if ($action == 'add' && $user->rights->commande->creer) + elseif ($action == 'add' && $user->rights->commande->creer) { $datecommande = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); $datelivraison = dol_mktime(12, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year')); @@ -481,7 +481,7 @@ if (empty($reshook)) } } - else if ($action == 'classifybilled' && $user->rights->commande->creer) + elseif ($action == 'classifybilled' && $user->rights->commande->creer) { $ret=$object->classifyBilled($user); @@ -489,7 +489,7 @@ if (empty($reshook)) setEventMessages($object->error, $object->errors, 'errors'); } } - else if ($action == 'classifyunbilled' && $user->rights->commande->creer) + elseif ($action == 'classifyunbilled' && $user->rights->commande->creer) { $ret=$object->classifyUnBilled(); if ($ret < 0) { @@ -498,7 +498,7 @@ if (empty($reshook)) } // Positionne ref commande client - else if ($action == 'setref_client' && $user->rights->commande->creer) { + elseif ($action == 'setref_client' && $user->rights->commande->creer) { $result = $object->set_ref_client($user, GETPOST('ref_client')); if ($result < 0) { @@ -506,7 +506,7 @@ if (empty($reshook)) } } - else if ($action == 'setremise' && $user->rights->commande->creer) { + elseif ($action == 'setremise' && $user->rights->commande->creer) { $result = $object->set_remise($user, GETPOST('remise')); if ($result < 0) { @@ -514,7 +514,7 @@ if (empty($reshook)) } } - else if ($action == 'setabsolutediscount' && $user->rights->commande->creer) { + elseif ($action == 'setabsolutediscount' && $user->rights->commande->creer) { if (GETPOST('remise_id')) { if ($object->id > 0) { $object->insert_discount(GETPOST('remise_id')); @@ -524,7 +524,7 @@ if (empty($reshook)) } } - else if ($action == 'setdate' && $user->rights->commande->creer) { + elseif ($action == 'setdate' && $user->rights->commande->creer) { // print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year']; $date = dol_mktime(0, 0, 0, GETPOST('order_month'), GETPOST('order_day'), GETPOST('order_year')); @@ -534,7 +534,7 @@ if (empty($reshook)) } } - else if ($action == 'setdate_livraison' && $user->rights->commande->creer) { + elseif ($action == 'setdate_livraison' && $user->rights->commande->creer) { // print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year']; $datelivraison = dol_mktime(0, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year')); @@ -544,35 +544,35 @@ if (empty($reshook)) } } - else if ($action == 'setmode' && $user->rights->commande->creer) { + elseif ($action == 'setmode' && $user->rights->commande->creer) { $result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int')); if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } // Multicurrency Code - else if ($action == 'setmulticurrencycode' && $user->rights->commande->creer) { + elseif ($action == 'setmulticurrencycode' && $user->rights->commande->creer) { $result = $object->setMulticurrencyCode(GETPOST('multicurrency_code', 'alpha')); } // Multicurrency rate - else if ($action == 'setmulticurrencyrate' && $user->rights->commande->creer) { + elseif ($action == 'setmulticurrencyrate' && $user->rights->commande->creer) { $result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx'))); } - else if ($action == 'setavailability' && $user->rights->commande->creer) { + elseif ($action == 'setavailability' && $user->rights->commande->creer) { $result = $object->availability(GETPOST('availability_id')); if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } - else if ($action == 'setdemandreason' && $user->rights->commande->creer) { + elseif ($action == 'setdemandreason' && $user->rights->commande->creer) { $result = $object->demand_reason(GETPOST('demand_reason_id')); if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } - else if ($action == 'setconditions' && $user->rights->commande->creer) { + elseif ($action == 'setconditions' && $user->rights->commande->creer) { $result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); if ($result < 0) { dol_print_error($db, $object->error); @@ -604,7 +604,7 @@ if (empty($reshook)) } // bank account - else if ($action == 'setbankaccount' && $user->rights->commande->creer) { + elseif ($action == 'setbankaccount' && $user->rights->commande->creer) { $result=$object->setBankAccount(GETPOST('fk_account', 'int')); if ($result < 0) { setEventMessages($object->error, $object->errors, 'errors'); @@ -612,7 +612,7 @@ if (empty($reshook)) } // shipping method - else if ($action == 'setshippingmethod' && $user->rights->commande->creer) { + elseif ($action == 'setshippingmethod' && $user->rights->commande->creer) { $result = $object->setShippingMethod(GETPOST('shipping_method_id', 'int')); if ($result < 0) { setEventMessages($object->error, $object->errors, 'errors'); @@ -620,23 +620,23 @@ if (empty($reshook)) } // warehouse - else if ($action == 'setwarehouse' && $user->rights->commande->creer) { + elseif ($action == 'setwarehouse' && $user->rights->commande->creer) { $result = $object->setWarehouse(GETPOST('warehouse_id', 'int')); if ($result < 0) { setEventMessages($object->error, $object->errors, 'errors'); } } - else if ($action == 'setremisepercent' && $user->rights->commande->creer) { + elseif ($action == 'setremisepercent' && $user->rights->commande->creer) { $result = $object->set_remise($user, GETPOST('remise_percent')); } - else if ($action == 'setremiseabsolue' && $user->rights->commande->creer) { + elseif ($action == 'setremiseabsolue' && $user->rights->commande->creer) { $result = $object->set_remise_absolue($user, GETPOST('remise_absolue')); } // Add a new line - else if ($action == 'addline' && $user->rights->commande->creer) + elseif ($action == 'addline' && $user->rights->commande->creer) { $langs->load('errors'); $error = 0; @@ -998,7 +998,7 @@ if (empty($reshook)) /* * Update a line */ - else if ($action == 'updateline' && $user->rights->commande->creer && GETPOST('save')) + elseif ($action == 'updateline' && $user->rights->commande->creer && GETPOST('save')) { // Clean parameters $date_start=''; @@ -1134,12 +1134,12 @@ if (empty($reshook)) } } - else if ($action == 'updateline' && $user->rights->commande->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { + elseif ($action == 'updateline' && $user->rights->commande->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition exit(); } - else if ($action == 'confirm_validate' && $confirm == 'yes' && + elseif ($action == 'confirm_validate' && $confirm == 'yes' && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->creer)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->validate))) ) @@ -1196,7 +1196,7 @@ if (empty($reshook)) } // Go back to draft status - else if ($action == 'confirm_modif' && $user->rights->commande->creer) { + elseif ($action == 'confirm_modif' && $user->rights->commande->creer) { $idwarehouse = GETPOST('idwarehouse'); $qualified_for_stock_change=0; @@ -1244,14 +1244,14 @@ if (empty($reshook)) } } - else if ($action == 'confirm_shipped' && $confirm == 'yes' && $user->rights->commande->cloturer) { + elseif ($action == 'confirm_shipped' && $confirm == 'yes' && $user->rights->commande->cloturer) { $result = $object->cloture($user); if ($result < 0) { setEventMessages($object->error, $object->errors, 'errors'); } } - else if ($action == 'confirm_cancel' && $confirm == 'yes' && + elseif ($action == 'confirm_cancel' && $confirm == 'yes' && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->creer)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->validate))) ) @@ -1441,7 +1441,7 @@ if (empty($reshook)) } // bascule du statut d'un contact - else if ($action == 'swapstatut') + elseif ($action == 'swapstatut') { if ($object->id > 0) { $result = $object->swapContactStatus(GETPOST('ligne')); @@ -1451,7 +1451,7 @@ if (empty($reshook)) } // Efface un contact - else if ($action == 'deletecontact') + elseif ($action == 'deletecontact') { $result = $object->delete_contact($lineid); diff --git a/htdocs/commande/class/api_orders.class.php b/htdocs/commande/class/api_orders.class.php index 1135a5c2502..7005f495481 100644 --- a/htdocs/commande/class/api_orders.class.php +++ b/htdocs/commande/class/api_orders.class.php @@ -565,7 +565,7 @@ class Orders extends DolibarrApi $result = $this->commande->set_reopen(DolibarrApiAccess::$user); if( $result < 0) { throw new RestException(405, $this->commande->error); - }else if( $result == 0) { + }elseif( $result == 0) { throw new RestException(304); } diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 8934e293973..1ec2f5d8ef8 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -2533,7 +2533,7 @@ class Commande extends CommonOrder { $ga[$obj->cid] = $obj->ref; } - else if ($shortlist == 2) + elseif ($shortlist == 2) { $ga[$obj->cid] = $obj->ref.' ('.$obj->name.')'; } diff --git a/htdocs/commande/contact.php b/htdocs/commande/contact.php index b40a284e728..9c5c1c183b0 100644 --- a/htdocs/commande/contact.php +++ b/htdocs/commande/contact.php @@ -79,7 +79,7 @@ if ($action == 'addcontact' && $user->rights->commande->creer) } // bascule du statut d'un contact -else if ($action == 'swapstatut' && $user->rights->commande->creer) +elseif ($action == 'swapstatut' && $user->rights->commande->creer) { if ($object->fetch($id)) { @@ -92,7 +92,7 @@ else if ($action == 'swapstatut' && $user->rights->commande->creer) } // Efface un contact -else if ($action == 'deletecontact' && $user->rights->commande->creer) +elseif ($action == 'deletecontact' && $user->rights->commande->creer) { $object->fetch($id); $result = $object->delete_contact($_GET["lineid"]); diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index 4e33a8c0aae..b63136c8581 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -364,7 +364,7 @@ if ($action == 'create') { $selectedcode=$_POST["account_country_id"]?$_POST["account_country_id"]:$object->country_code; } - else if (empty($selectedcode)) $selectedcode=$mysoc->country_code; + elseif (empty($selectedcode)) $selectedcode=$mysoc->country_code; $object->country_code = getCountry($selectedcode, 2); // Force country code on account to have following field on bank fields matching country rules print ''.$langs->trans("BankAccountCountry").''; @@ -610,7 +610,7 @@ else print ''; $conciliate=$object->canBeConciliated(); if ($conciliate == -2) print $langs->trans("No").' ('.$langs->trans("CashAccount").')'; - else if ($conciliate == -3) print $langs->trans("No").' ('.$langs->trans("Closed").')'; + elseif ($conciliate == -3) print $langs->trans("No").' ('.$langs->trans("Closed").')'; else print ($object->rappro==1 ? $langs->trans("Yes") : ($langs->trans("No").' ('.$langs->trans("ConciliationDisabled").')')); print ''; @@ -846,7 +846,7 @@ else $object->country_id=$object->country_id?$object->country_id:$mysoc->country_id; $selectedcode=$object->country_code; if (isset($_POST["account_country_id"])) $selectedcode=$_POST["account_country_id"]; - else if (empty($selectedcode)) $selectedcode=$mysoc->country_code; + elseif (empty($selectedcode)) $selectedcode=$mysoc->country_code; $object->country_code = getCountry($selectedcode, 2); // Force country code on account to have following field on bank fields matching country rules print ''.$langs->trans("Country").''; @@ -872,7 +872,7 @@ else print ''; $conciliate=$object->canBeConciliated(); if ($conciliate == -2) print $langs->trans("No").' ('.$langs->trans("CashAccount").')'; - else if ($conciliate == -3) print $langs->trans("No").' ('.$langs->trans("Closed").')'; + elseif ($conciliate == -3) print $langs->trans("No").' ('.$langs->trans("Closed").')'; else print ' 0)?'':' checked="checked"').'"> '.$langs->trans("DisableConciliation"); print ''; diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 80a0c6f819b..6d34c965871 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -1358,7 +1358,7 @@ class Account extends CommonObject { $url = DOL_URL_ROOT.'/compta/bank/bankentries_list.php?id='.$this->id; } - else if ($mode == 'receipts') + elseif ($mode == 'receipts') { $url = DOL_URL_ROOT.'/compta/bank/releve.php?account='.$this->id; } @@ -1783,7 +1783,7 @@ class AccountLine extends CommonObject $sql.= " WHERE b.fk_account = ba.rowid"; $sql.= " AND ba.entity IN (".getEntity('bank_account').")"; if ($num) $sql.= " AND b.num_chq='".$this->db->escape($num)."'"; - else if ($ref) $sql.= " AND b.rowid='".$this->db->escape($ref)."'"; + elseif ($ref) $sql.= " AND b.rowid='".$this->db->escape($ref)."'"; else $sql.= " AND b.rowid=".$rowid; dol_syslog(get_class($this)."::fetch", LOG_DEBUG); diff --git a/htdocs/compta/bank/ligne.php b/htdocs/compta/bank/ligne.php index d98db0ea998..d359a5c814f 100644 --- a/htdocs/compta/bank/ligne.php +++ b/htdocs/compta/bank/ligne.php @@ -351,7 +351,7 @@ if ($result) print '';*/ print $paymenttmp->getNomUrl(1); } - else if ($links[$key]['type']=='payment_supplier') { + elseif ($links[$key]['type']=='payment_supplier') { require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; $paymenttmp=new PaiementFourn($db); $paymenttmp->fetch($links[$key]['url_id']); @@ -362,72 +362,72 @@ if ($result) print '';*/ print $paymenttmp->getNomUrl(1); } - else if ($links[$key]['type']=='company') { + elseif ($links[$key]['type']=='company') { $societe=new Societe($db); $societe->fetch($links[$key]['url_id']); print $societe->getNomUrl(1); } - else if ($links[$key]['type']=='sc') { + elseif ($links[$key]['type']=='sc') { print ''; print img_object($langs->trans('ShowSocialContribution'),'bill').' '; print $langs->trans("SocialContribution").($links[$key]['label']?' - '.$links[$key]['label']:''); print ''; } - else if ($links[$key]['type']=='payment_sc') { + elseif ($links[$key]['type']=='payment_sc') { print ''; print img_object($langs->trans('ShowPayment'),'payment').' '; print $langs->trans("SocialContributionPayment"); print ''; } - else if ($links[$key]['type']=='payment_vat') { + elseif ($links[$key]['type']=='payment_vat') { print ''; print img_object($langs->trans('ShowVAT'),'payment').' '; print $langs->trans("VATPayment"); print ''; } - else if ($links[$key]['type']=='payment_salary') { + elseif ($links[$key]['type']=='payment_salary') { print ''; print img_object($langs->trans('ShowPaymentSalary'),'payment').' '; print $langs->trans("SalaryPayment"); print ''; } - else if ($links[$key]['type']=='payment_loan') { + elseif ($links[$key]['type']=='payment_loan') { print ''; print img_object($langs->trans('ShowLoanPayment'),'payment').' '; print $langs->trans("PaymentLoan"); print ''; } - else if ($links[$key]['type']=='loan') { + elseif ($links[$key]['type']=='loan') { print ''; print img_object($langs->trans('ShowLoan'),'bill').' '; print $langs->trans("Loan"); print ''; } - else if ($links[$key]['type']=='member') { + elseif ($links[$key]['type']=='member') { print ''; print img_object($langs->trans('ShowMember'),'user').' '; print $links[$key]['label']; print ''; } - else if ($links[$key]['type']=='payment_donation') { + elseif ($links[$key]['type']=='payment_donation') { print ''; print img_object($langs->trans('ShowDonation'),'payment').' '; print $langs->trans("DonationPayment"); print ''; } - else if ($links[$key]['type']=='banktransfert') { + elseif ($links[$key]['type']=='banktransfert') { print ''; print img_object($langs->trans('ShowTransaction'),'payment').' '; print $langs->trans("TransactionOnTheOtherAccount"); print ''; } - else if ($links[$key]['type']=='user') { + elseif ($links[$key]['type']=='user') { print ''; print img_object($langs->trans('ShowUser'),'user').' '; print $langs->trans("User"); print ''; } - else if ($links[$key]['type']=='payment_various') { + elseif ($links[$key]['type']=='payment_various') { print ''; print img_object($langs->trans('ShowVariousPayment'),'payment').' '; print $langs->trans("VariousPayment"); diff --git a/htdocs/compta/deplacement/card.php b/htdocs/compta/deplacement/card.php index 922df54c147..94f66f2552e 100644 --- a/htdocs/compta/deplacement/card.php +++ b/htdocs/compta/deplacement/card.php @@ -78,7 +78,7 @@ if ($action == 'validate' && $user->rights->deplacement->creer) } } -else if ($action == 'classifyrefunded' && $user->rights->deplacement->creer) +elseif ($action == 'classifyrefunded' && $user->rights->deplacement->creer) { $object->fetch($id); if ($object->statut == 1) @@ -96,7 +96,7 @@ else if ($action == 'classifyrefunded' && $user->rights->deplacement->creer) } } -else if ($action == 'confirm_delete' && $confirm == "yes" && $user->rights->deplacement->supprimer) +elseif ($action == 'confirm_delete' && $confirm == "yes" && $user->rights->deplacement->supprimer) { $result=$object->delete($id); if ($result >= 0) @@ -110,7 +110,7 @@ else if ($action == 'confirm_delete' && $confirm == "yes" && $user->rights->depl } } -else if ($action == 'add' && $user->rights->deplacement->creer) +elseif ($action == 'add' && $user->rights->deplacement->creer) { if (! GETPOST('cancel','alpha')) { @@ -169,7 +169,7 @@ else if ($action == 'add' && $user->rights->deplacement->creer) } // Update record -else if ($action == 'update' && $user->rights->deplacement->creer) +elseif ($action == 'update' && $user->rights->deplacement->creer) { if (! GETPOST('cancel','alpha')) { @@ -203,7 +203,7 @@ else if ($action == 'update' && $user->rights->deplacement->creer) } // Set into a project -else if ($action == 'classin' && $user->rights->deplacement->creer) +elseif ($action == 'classin' && $user->rights->deplacement->creer) { $object->fetch($id); $result=$object->setProject(GETPOST('projectid','int')); @@ -211,14 +211,14 @@ else if ($action == 'classin' && $user->rights->deplacement->creer) } // Set fields -else if ($action == 'setdated' && $user->rights->deplacement->creer) +elseif ($action == 'setdated' && $user->rights->deplacement->creer) { $dated=dol_mktime(GETPOST('datedhour','int'), GETPOST('datedmin','int'), GETPOST('datedsec','int'), GETPOST('datedmonth','int'), GETPOST('datedday','int'), GETPOST('datedyear','int')); $object->fetch($id); $result=$object->setValueFrom('dated', $dated, '', '', 'date', '', $user, 'DEPLACEMENT_MODIFY'); if ($result < 0) dol_print_error($db, $object->error); } -else if ($action == 'setkm' && $user->rights->deplacement->creer) +elseif ($action == 'setkm' && $user->rights->deplacement->creer) { $object->fetch($id); $result=$object->setValueFrom('km', GETPOST('km','int'), '', null, 'text', '', $user, 'DEPLACEMENT_MODIFY'); @@ -314,7 +314,7 @@ if ($action == 'create') print ''; } -else if ($id) +elseif ($id) { $result = $object->fetch($id); if ($result > 0) diff --git a/htdocs/compta/deplacement/class/deplacementstats.class.php b/htdocs/compta/deplacement/class/deplacementstats.class.php index ae93eb094d9..5baea1c866a 100644 --- a/htdocs/compta/deplacement/class/deplacementstats.class.php +++ b/htdocs/compta/deplacement/class/deplacementstats.class.php @@ -69,7 +69,7 @@ class DeplacementStats extends Stats $this->where.=" AND fk_soc = ".$this->socid; } if (is_array($this->userid) && count($this->userid) > 0) $this->where.=' AND fk_user IN ('.join(',',$this->userid).')'; - else if ($this->userid > 0) $this->where.=' AND fk_user = '.$this->userid; + elseif ($this->userid > 0) $this->where.=' AND fk_user = '.$this->userid; } diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 1fd2906c26f..92d8cf629c7 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -178,7 +178,7 @@ if (empty($reshook)) } // Change status of invoice - else if ($action == 'reopen' && $usercancreate) { + elseif ($action == 'reopen' && $usercancreate) { $result = $object->fetch($id); if ($object->statut == 2 || ($object->statut == 3 && $object->close_code != 'replaced') || ($object->statut == 1 && $object->paye == 1)) { // ($object->statut == 1 && $object->paye == 1) should not happened but can be found when data are corrupted $result = $object->set_unpaid($user); @@ -192,7 +192,7 @@ if (empty($reshook)) } // Delete invoice - else if ($action == 'confirm_delete' && $confirm == 'yes') { + elseif ($action == 'confirm_delete' && $confirm == 'yes') { $result = $object->fetch($id); $object->fetch_thirdparty(); @@ -222,7 +222,7 @@ if (empty($reshook)) } // Delete line - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $usercancreate) + elseif ($action == 'confirm_deleteline' && $confirm == 'yes' && $usercancreate) { $object->fetch($id); $object->fetch_thirdparty(); @@ -256,7 +256,7 @@ if (empty($reshook)) } // Delete link of credit note to invoice - else if ($action == 'unlinkdiscount' && $usercancreate) + elseif ($action == 'unlinkdiscount' && $usercancreate) { $discount = new DiscountAbsolute($db); $result = $discount->fetch(GETPOST("discountid")); @@ -264,7 +264,7 @@ if (empty($reshook)) } // Validation - else if ($action == 'valid' && $usercancreate) + elseif ($action == 'valid' && $usercancreate) { $object->fetch($id); @@ -284,7 +284,7 @@ if (empty($reshook)) } } - else if ($action == 'set_thirdparty' && $usercancreate) + elseif ($action == 'set_thirdparty' && $usercancreate) { $object->fetch($id); $object->setValueFrom('fk_soc', $socid, '', null, 'int', '', $user, 'BILL_MODIFY'); @@ -293,13 +293,13 @@ if (empty($reshook)) exit(); } - else if ($action == 'classin' && $usercancreate) + elseif ($action == 'classin' && $usercancreate) { $object->fetch($id); $object->setProject($_POST['projectid']); } - else if ($action == 'setmode' && $usercancreate) + elseif ($action == 'setmode' && $usercancreate) { $object->fetch($id); $result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int')); @@ -308,16 +308,16 @@ if (empty($reshook)) } // Multicurrency Code - else if ($action == 'setmulticurrencycode' && $usercancreate) { + elseif ($action == 'setmulticurrencycode' && $usercancreate) { $result = $object->setMulticurrencyCode(GETPOST('multicurrency_code', 'alpha')); } // Multicurrency rate - else if ($action == 'setmulticurrencyrate' && $usercancreate) { + elseif ($action == 'setmulticurrencyrate' && $usercancreate) { $result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx')), GETPOST('calculation_mode', 'int')); } - else if ($action == 'setinvoicedate' && $usercancreate) + elseif ($action == 'setinvoicedate' && $usercancreate) { $object->fetch($id); $old_date_lim_reglement = $object->date_lim_reglement; @@ -336,7 +336,7 @@ if (empty($reshook)) if ($result < 0) dol_print_error($db, $object->error); } - else if ($action == 'setdate_pointoftax' && $usercancreate) + elseif ($action == 'setdate_pointoftax' && $usercancreate) { $object->fetch($id); $date_pointoftax = dol_mktime(12, 0, 0, $_POST['date_pointoftaxmonth'], $_POST['date_pointoftaxday'], $_POST['date_pointoftaxyear']); @@ -345,7 +345,7 @@ if (empty($reshook)) if ($result < 0) dol_print_error($db, $object->error); } - else if ($action == 'setconditions' && $usercancreate) + elseif ($action == 'setconditions' && $usercancreate) { $object->fetch($id); $object->cond_reglement_code = 0; // To clean property @@ -361,7 +361,7 @@ if (empty($reshook)) if ($result < 0) dol_print_error($db, $object->error); } - else if ($action == 'setpaymentterm' && $usercancreate) + elseif ($action == 'setpaymentterm' && $usercancreate) { $object->fetch($id); $object->date_lim_reglement = dol_mktime(12, 0, 0, $_POST['paymenttermmonth'], $_POST['paymenttermday'], $_POST['paymenttermyear']); @@ -374,7 +374,7 @@ if (empty($reshook)) dol_print_error($db, $object->error); } - else if ($action == 'setrevenuestamp' && $usercancreate) + elseif ($action == 'setrevenuestamp' && $usercancreate) { $object->fetch($id); $object->revenuestamp = GETPOST('revenuestamp'); @@ -391,18 +391,18 @@ if (empty($reshook)) } // bank account - else if ($action == 'setbankaccount' && $usercancreate) + elseif ($action == 'setbankaccount' && $usercancreate) { $result=$object->setBankAccount(GETPOST('fk_account', 'int')); } - else if ($action == 'setremisepercent' && $usercancreate) + elseif ($action == 'setremisepercent' && $usercancreate) { $object->fetch($id); $result = $object->set_remise($user, $_POST['remise_percent']); } - else if ($action == "setabsolutediscount" && $usercancreate) + elseif ($action == "setabsolutediscount" && $usercancreate) { // POST[remise_id] or POST[remise_id_for_payment] @@ -460,14 +460,14 @@ if (empty($reshook)) } } - else if ($action == 'setref_client' && $usercancreate) + elseif ($action == 'setref_client' && $usercancreate) { $object->fetch($id); $object->set_ref_client(GETPOST('ref_client')); } // Classify to validated - else if ($action == 'confirm_valid' && $confirm == 'yes' && $usercanvalidate) + elseif ($action == 'confirm_valid' && $confirm == 'yes' && $usercanvalidate) { $idwarehouse = GETPOST('idwarehouse','int'); @@ -567,7 +567,7 @@ if (empty($reshook)) } // Go back to draft status (unvalidate) - else if ($action == 'confirm_modif' && $usercanunvalidate) + elseif ($action == 'confirm_modif' && $usercanunvalidate) { $idwarehouse = GETPOST('idwarehouse','int'); @@ -647,13 +647,13 @@ if (empty($reshook)) } // Classify "paid" - else if ($action == 'confirm_paid' && $confirm == 'yes' && $usercanissuepayment) + elseif ($action == 'confirm_paid' && $confirm == 'yes' && $usercanissuepayment) { $object->fetch($id); $result = $object->set_paid($user); if ($result<0) setEventMessages($object->error, $object->errors, 'errors'); } // Classif "paid partialy" - else if ($action == 'confirm_paid_partially' && $confirm == 'yes' && $usercanissuepayment) + elseif ($action == 'confirm_paid_partially' && $confirm == 'yes' && $usercanissuepayment) { $object->fetch($id); $close_code = GETPOST("close_code",'none'); @@ -665,7 +665,7 @@ if (empty($reshook)) setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Reason")), null, 'errors'); } } // Classify "abandoned" - else if ($action == 'confirm_canceled' && $confirm == 'yes') { + elseif ($action == 'confirm_canceled' && $confirm == 'yes') { $object->fetch($id); $close_code = GETPOST("close_code",'none'); $close_note = GETPOST("close_note",'none'); @@ -678,7 +678,7 @@ if (empty($reshook)) } // Convertir en reduc - else if ($action == 'confirm_converttoreduc' && $confirm == 'yes' && $usercancreate) + elseif ($action == 'confirm_converttoreduc' && $confirm == 'yes' && $usercancreate) { $object->fetch($id); $object->fetch_thirdparty(); @@ -824,7 +824,7 @@ if (empty($reshook)) /* * Insert new invoice in database */ - else if ($action == 'add' && $usercancreate) + elseif ($action == 'add' && $usercancreate) { if ($socid > 0) $object->socid = GETPOST('socid', 'int'); @@ -1648,7 +1648,7 @@ if (empty($reshook)) } // Add a new line - else if ($action == 'addline' && $usercancreate) + elseif ($action == 'addline' && $usercancreate) { $langs->load('errors'); $error = 0; @@ -2172,7 +2172,7 @@ if (empty($reshook)) } } - else if ($action == 'updatealllines' && $usercancreate && $_POST['all_percent'] == $langs->trans('Modifier')) + elseif ($action == 'updatealllines' && $usercancreate && $_POST['all_percent'] == $langs->trans('Modifier')) { if (!$object->fetch($id) > 0) dol_print_error($db); if (!is_null(GETPOST('all_progress')) && GETPOST('all_progress') != "") @@ -2189,7 +2189,7 @@ if (empty($reshook)) } } - else if ($action == 'updateline' && $usercancreate && $_POST['cancel'] == $langs->trans('Cancel')) { + elseif ($action == 'updateline' && $usercancreate && $_POST['cancel'] == $langs->trans('Cancel')) { header('Location: ' . $_SERVER["PHP_SELF"] . '?facid=' . $id); // Pour reaffichage de la fiche en cours d'edition exit(); } @@ -3283,7 +3283,7 @@ if ($action == 'create') print '
'; } -else if ($id > 0 || ! empty($ref)) +elseif ($id > 0 || ! empty($ref)) { /* * Show object in view mode @@ -4540,7 +4540,7 @@ else if ($id > 0 || ! empty($ref)) } else { print '
' . $langs->trans('Modify') . '
'; } - } else if (!$object->is_last_in_cycle()) { + } elseif (!$object->is_last_in_cycle()) { print '
' . $langs->trans('Modify') . '
'; } else { print '
' . $langs->trans('Modify') . '
'; @@ -4758,7 +4758,7 @@ else if ($id > 0 || ! empty($ref)) if ($usercancreate && ($object->type == 5) && ($object->statut == 1 || $object->statut == 2)) { if ($object->is_last_in_cycle() && $object->situation_final != 1) { print '
'; - } else if (!$object->is_last_in_cycle()) { + } elseif (!$object->is_last_in_cycle()) { print ''; } else { print ''; diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index 5090132632e..bc0e4289289 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -1398,7 +1398,7 @@ class FactureRec extends CommonInvoice $line->total_ttc=-119.6; $line->total_tva=-19.6; } - else if ($xnbp == 2) // UP is negative (free line) + elseif ($xnbp == 2) // UP is negative (free line) { $line->subprice=-100; $line->total_ht=-100; @@ -1406,7 +1406,7 @@ class FactureRec extends CommonInvoice $line->total_tva=-19.6; $line->remise_percent=0; } - else if ($xnbp == 3) // Discount is 50% (product line) + elseif ($xnbp == 3) // Discount is 50% (product line) { $prodid = mt_rand(1, $num_prods); $line->fk_product=$prodids[$prodid]; diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 3e4335774c9..dd90b466d30 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -2313,7 +2313,7 @@ class Facture extends CommonInvoice { $num = $force_number; } - else if (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref)) // empty should not happened, but when it occurs, the test save life + elseif (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref)) // empty should not happened, but when it occurs, the test save life { if (! empty($conf->global->FAC_FORCE_DATE_VALIDATION)) // If option enabled, we force invoice date { @@ -3337,8 +3337,8 @@ class Facture extends CommonInvoice // Clean parameters (if not defined or using deprecated value) if (empty($conf->global->FACTURE_ADDON)) $conf->global->FACTURE_ADDON='mod_facture_terre'; - else if ($conf->global->FACTURE_ADDON=='terre') $conf->global->FACTURE_ADDON='mod_facture_terre'; - else if ($conf->global->FACTURE_ADDON=='mercure') $conf->global->FACTURE_ADDON='mod_facture_mercure'; + elseif ($conf->global->FACTURE_ADDON=='terre') $conf->global->FACTURE_ADDON='mod_facture_terre'; + elseif ($conf->global->FACTURE_ADDON=='mercure') $conf->global->FACTURE_ADDON='mod_facture_mercure'; if (! empty($conf->global->FACTURE_ADDON)) { @@ -3511,7 +3511,7 @@ class Facture extends CommonInvoice { $ga[$obj->fid] = $obj->ref; } - else if ($shortlist == 2) + elseif ($shortlist == 2) { $ga[$obj->fid] = $obj->ref.' ('.$obj->name.')'; } @@ -3971,7 +3971,7 @@ class Facture extends CommonInvoice $line->multicurrency_total_ttc=-239.2; $line->multicurrency_total_tva=-39.2; } - else if ($xnbp == 2) // UP is negative (free line) + elseif ($xnbp == 2) // UP is negative (free line) { $line->subprice=-100; $line->total_ht=-100; @@ -3982,7 +3982,7 @@ class Facture extends CommonInvoice $line->multicurrency_total_ttc=-239.2; $line->multicurrency_total_tva=-39.2; } - else if ($xnbp == 3) // Discount is 50% (product line) + elseif ($xnbp == 3) // Discount is 50% (product line) { $prodid = mt_rand(1, $num_prods); $line->fk_product=$prodids[$prodid]; diff --git a/htdocs/compta/facture/contact.php b/htdocs/compta/facture/contact.php index 80277e14741..4e0c52589de 100644 --- a/htdocs/compta/facture/contact.php +++ b/htdocs/compta/facture/contact.php @@ -85,7 +85,7 @@ if ($action == 'addcontact' && $user->rights->facture->creer) } // Toggle the status of a contact -else if ($action == 'swapstatut' && $user->rights->facture->creer) +elseif ($action == 'swapstatut' && $user->rights->facture->creer) { if ($object->fetch($id)) { @@ -98,7 +98,7 @@ else if ($action == 'swapstatut' && $user->rights->facture->creer) } // Deletes a contact -else if ($action == 'deletecontact' && $user->rights->facture->creer) +elseif ($action == 'deletecontact' && $user->rights->facture->creer) { $object->fetch($id); $result = $object->delete_contact($lineid); diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index c048737b156..7cc63b10e72 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -405,7 +405,7 @@ if (empty($reshook)) setEventMessages($line->error, $line->errors, 'errors'); } } - else if ($action == 'update_extras') + elseif ($action == 'update_extras') { $object->oldcopy = dol_clone($object); @@ -1145,7 +1145,7 @@ if ($action == 'create') $title = $langs->trans("ProductsAndServices"); if (empty($conf->service->enabled)) $title = $langs->trans("Products"); - else if (empty($conf->product->enabled)) + elseif (empty($conf->product->enabled)) $title = $langs->trans("Services"); print load_fiche_titre($title, '', ''); diff --git a/htdocs/compta/facture/invoicetemplate_list.php b/htdocs/compta/facture/invoicetemplate_list.php index be372e8a570..1b70c50c8f4 100644 --- a/htdocs/compta/facture/invoicetemplate_list.php +++ b/htdocs/compta/facture/invoicetemplate_list.php @@ -247,12 +247,12 @@ if ($search_month > 0) { if ($search_year > 0 && empty($search_day)) $sql.= " AND f.date_last_gen BETWEEN '".$db->idate(dol_get_first_day($search_year,$search_month,false))."' AND '".$db->idate(dol_get_last_day($search_year,$search_month,false))."'"; - else if ($search_year > 0 && ! empty($search_day)) + elseif ($search_year > 0 && ! empty($search_day)) $sql.= " AND f.date_last_gen BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month, $search_day, $search_year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month, $search_day, $search_year))."'"; else $sql.= " AND date_format(f.date_last_gen, '%m') = '".$db->escape($search_month)."'"; } -else if ($search_year > 0) +elseif ($search_year > 0) { $sql.= " AND f.date_last_gen BETWEEN '".$db->idate(dol_get_first_day($search_year,1,false))."' AND '".$db->idate(dol_get_last_day($search_year,12,false))."'"; } @@ -260,12 +260,12 @@ if ($search_month_date_when > 0) { if ($search_year_date_when > 0 && empty($search_day_date_when)) $sql.= " AND f.date_when BETWEEN '".$db->idate(dol_get_first_day($search_year_date_when,$search_month_date_when,false))."' AND '".$db->idate(dol_get_last_day($search_year_date_when,$search_month_date_when,false))."'"; - else if ($search_year_date_when > 0 && ! empty($search_day_date_when)) + elseif ($search_year_date_when > 0 && ! empty($search_day_date_when)) $sql.= " AND f.date_date_when_reglement BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month_date_when, $search_day_date_when, $search_year_date_when))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month_date_when, $search_day_date_when, $search_year_date_when))."'"; else $sql.= " AND date_format(f.date_when, '%m') = '".$db->escape($search_month_date_when)."'"; } -else if ($search_year_date_when > 0) +elseif ($search_year_date_when > 0) { $sql.= " AND f.date_when BETWEEN '".$db->idate(dol_get_first_day($search_year_date_when,1,false))."' AND '".$db->idate(dol_get_last_day($search_year_date_when,12,false))."'"; } diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 7a06e6f66df..c3aeb8f6608 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -273,7 +273,7 @@ if ($massaction == 'withdrawrequest') if($objecttmp->paye || $objecttmp->resteapayer==0){ $error++; setEventMessages($objecttmp->ref.' '.$langs->trans("AlreadyPaid"), $objecttmp->errors, 'errors'); - } else if($objecttmp->resteapayer<0){ + } elseif($objecttmp->resteapayer<0){ $error++; setEventMessages($objecttmp->ref.' '.$langs->trans("AmountMustBePositive"), $objecttmp->errors, 'errors'); } @@ -303,7 +303,7 @@ if ($massaction == 'withdrawrequest') $error++; setEventMessages($objecttmp->ref.' '.$langs->trans("RequestAlreadyDone"), $objecttmp->errors, 'warnings'); } - else if (!empty($objecttmp->mode_reglement_code ) && $objecttmp->mode_reglement_code != 'PRE'){ + elseif (!empty($objecttmp->mode_reglement_code ) && $objecttmp->mode_reglement_code != 'PRE'){ $error++; setEventMessages($objecttmp->ref.' '.$langs->trans("BadPaymentMethod"), $objecttmp->errors, 'errors'); } diff --git a/htdocs/compta/localtax/clients.php b/htdocs/compta/localtax/clients.php index 574c7103c61..924c6bf3a09 100644 --- a/htdocs/compta/localtax/clients.php +++ b/htdocs/compta/localtax/clients.php @@ -58,8 +58,8 @@ if (empty($date_start) || empty($date_end)) // We define date_start and date_end { $date_start=dol_get_first_day($year_start,empty($conf->global->SOCIETE_FISCAL_MONTH_START)?1:$conf->global->SOCIETE_FISCAL_MONTH_START,false); if (empty($conf->global->MAIN_INFO_VAT_RETURN) || $conf->global->MAIN_INFO_VAT_RETURN == 2) $date_end=dol_time_plus_duree($date_start, 3, 'm') - 1; - else if ($conf->global->MAIN_INFO_VAT_RETURN == 3) $date_end=dol_time_plus_duree($date_start, 1, 'y') - 1; - else if ($conf->global->MAIN_INFO_VAT_RETURN == 1) $date_end=dol_time_plus_duree($date_start, 1, 'm') - 1; + elseif ($conf->global->MAIN_INFO_VAT_RETURN == 3) $date_end=dol_time_plus_duree($date_start, 1, 'y') - 1; + elseif ($conf->global->MAIN_INFO_VAT_RETURN == 1) $date_end=dol_time_plus_duree($date_start, 1, 'm') - 1; } } else @@ -229,7 +229,7 @@ if($calc ==0 || $calc == 2) $langs->load("errors"); if ($coll_list == -1) print ''.$langs->trans("ErrorNoAccountancyModuleLoaded").''; - else if ($coll_list == -2) + elseif ($coll_list == -2) print ''.$langs->trans("FeatureNotYetAvailable").''; else print ''.$langs->trans("Error").''; @@ -305,7 +305,7 @@ if($calc ==0 || $calc == 1){ $langs->load("errors"); if ($coll_list == -1) print ''.$langs->trans("ErrorNoAccountancyModuleLoaded").''; - else if ($coll_list == -2) + elseif ($coll_list == -2) print ''.$langs->trans("FeatureNotYetAvailable").''; else print ''.$langs->trans("Error").''; diff --git a/htdocs/compta/localtax/quadri_detail.php b/htdocs/compta/localtax/quadri_detail.php index 73a9f77341a..6875083901b 100644 --- a/htdocs/compta/localtax/quadri_detail.php +++ b/htdocs/compta/localtax/quadri_detail.php @@ -68,8 +68,8 @@ if (empty($date_start) || empty($date_end)) // We define date_start and date_end { $date_start=dol_get_first_day($year_start,empty($conf->global->SOCIETE_FISCAL_MONTH_START)?1:$conf->global->SOCIETE_FISCAL_MONTH_START,false); if (empty($conf->global->MAIN_INFO_VAT_RETURN) || $conf->global->MAIN_INFO_VAT_RETURN == 2) $date_end=dol_time_plus_duree($date_start, 3, 'm') - 1; - else if ($conf->global->MAIN_INFO_VAT_RETURN == 3) $date_end=dol_time_plus_duree($date_start, 1, 'y') - 1; - else if ($conf->global->MAIN_INFO_VAT_RETURN == 1) $date_end=dol_time_plus_duree($date_start, 1, 'm') - 1; + elseif ($conf->global->MAIN_INFO_VAT_RETURN == 3) $date_end=dol_time_plus_duree($date_start, 1, 'y') - 1; + elseif ($conf->global->MAIN_INFO_VAT_RETURN == 1) $date_end=dol_time_plus_duree($date_start, 1, 'm') - 1; } } else diff --git a/htdocs/compta/paiement/cheque/card.php b/htdocs/compta/paiement/cheque/card.php index c19d51b5891..e186dfce4cd 100644 --- a/htdocs/compta/paiement/cheque/card.php +++ b/htdocs/compta/paiement/cheque/card.php @@ -270,7 +270,7 @@ if ($action == 'builddoc' && $user->rights->banque->cheque) } // Remove file in doc form -else if ($action == 'remove_file' && $user->rights->banque->cheque) +elseif ($action == 'remove_file' && $user->rights->banque->cheque) { if ($object->fetch($id) > 0) { diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 28973d3c4e2..b69b1788eda 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -423,8 +423,8 @@ class RemiseCheque extends CommonObject // Clean parameters (if not defined or using deprecated value) if (empty($conf->global->CHEQUERECEIPTS_ADDON)) $conf->global->CHEQUERECEIPTS_ADDON='mod_chequereceipt_mint'; - else if ($conf->global->CHEQUERECEIPTS_ADDON=='thyme') $conf->global->CHEQUERECEIPTS_ADDON='mod_chequereceipt_thyme'; - else if ($conf->global->CHEQUERECEIPTS_ADDON=='mint') $conf->global->CHEQUERECEIPTS_ADDON='mod_chequereceipt_mint'; + elseif ($conf->global->CHEQUERECEIPTS_ADDON=='thyme') $conf->global->CHEQUERECEIPTS_ADDON='mod_chequereceipt_thyme'; + elseif ($conf->global->CHEQUERECEIPTS_ADDON=='mint') $conf->global->CHEQUERECEIPTS_ADDON='mod_chequereceipt_mint'; if (! empty($conf->global->CHEQUERECEIPTS_ADDON)) { diff --git a/htdocs/compta/paiement/cheque/list.php b/htdocs/compta/paiement/cheque/list.php index d9ac1ab11eb..d84b26f78b2 100644 --- a/htdocs/compta/paiement/cheque/list.php +++ b/htdocs/compta/paiement/cheque/list.php @@ -100,12 +100,12 @@ if ($month > 0) { if ($year > 0 && empty($day)) $sql.= " AND bc.date_bordereau BETWEEN '".$db->idate(dol_get_first_day($year,$month,false))."' AND '".$db->idate(dol_get_last_day($year,$month,false))."'"; - else if ($year > 0 && ! empty($day)) + elseif ($year > 0 && ! empty($day)) $sql.= " AND bc.date_bordereau BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."'"; else $sql.= " AND date_format(bc.date_bordereau, '%m') = '".$month."'"; } -else if ($year > 0) +elseif ($year > 0) { $sql.= " AND bc.date_bordereau BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index c4cb529d895..657a29cebbe 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -168,9 +168,9 @@ class Paiement extends CommonObject $sql.= ' WHERE p.entity IN (' . getEntity('invoice').')'; if ($id > 0) $sql.= ' AND p.rowid = '.$id; - else if ($ref) + elseif ($ref) $sql.= " AND p.ref = '".$ref."'"; - else if ($fk_bank) + elseif ($fk_bank) $sql.= ' AND p.fk_bank = '.$fk_bank; $resql = $this->db->query($sql); @@ -357,7 +357,7 @@ class Paiement extends CommonObject ); if (!in_array($invoice->type, $affected_types)) dol_syslog("Invoice ".$facid." is not a standard, nor replacement invoice, nor credit note, nor deposit invoice, nor situation invoice. We do nothing more."); - else if ($remaintopay) dol_syslog("Remain to pay for invoice ".$facid." not null. We do nothing more."); + elseif ($remaintopay) dol_syslog("Remain to pay for invoice ".$facid." not null. We do nothing more."); //else if ($mustwait) dol_syslog("There is ".$mustwait." differed payment to process, we do nothing more."); else { @@ -1034,8 +1034,8 @@ class Paiement extends CommonObject // Clean parameters (if not defined or using deprecated value) if (empty($conf->global->PAYMENT_ADDON)) $conf->global->PAYMENT_ADDON='mod_payment_cicada'; - else if ($conf->global->PAYMENT_ADDON=='ant') $conf->global->PAYMENT_ADDON='mod_payment_ant'; - else if ($conf->global->PAYMENT_ADDON=='cicada') $conf->global->PAYMENT_ADDON='mod_payment_cicada'; + elseif ($conf->global->PAYMENT_ADDON=='ant') $conf->global->PAYMENT_ADDON='mod_payment_ant'; + elseif ($conf->global->PAYMENT_ADDON=='cicada') $conf->global->PAYMENT_ADDON='mod_payment_cicada'; if (! empty($conf->global->PAYMENT_ADDON)) { diff --git a/htdocs/compta/resultat/index.php b/htdocs/compta/resultat/index.php index 3a3ba57cb18..38888110d79 100644 --- a/htdocs/compta/resultat/index.php +++ b/htdocs/compta/resultat/index.php @@ -134,7 +134,7 @@ if ($modecompta == 'CREANCES-DETTES') $builddate=dol_now(); //$exportlink=$langs->trans("NotYetAvailable"); } -else if ($modecompta=="RECETTES-DEPENSES") { +elseif ($modecompta=="RECETTES-DEPENSES") { $name = $langs->trans("ReportInOut").', '.$langs->trans("ByYear"); $calcmode=$langs->trans("CalcModeEngagement"); $calcmode.='
('.$langs->trans("SeeReportInDueDebtMode",'','').')'; @@ -146,7 +146,7 @@ else if ($modecompta=="RECETTES-DEPENSES") { $builddate=dol_now(); //$exportlink=$langs->trans("NotYetAvailable"); } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { $name = $langs->trans("ReportInOut").', '.$langs->trans("ByYear"); $calcmode=$langs->trans("CalcModeBookkeeping"); @@ -191,7 +191,7 @@ if (! empty($conf->facture->enabled) && ($modecompta == 'CREANCES-DETTES' || $mo if (! empty($date_start) && ! empty($date_end)) $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; } - else if ($modecompta=="RECETTES-DEPENSES") + elseif ($modecompta=="RECETTES-DEPENSES") { /* * Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les @@ -232,7 +232,7 @@ if (! empty($conf->facture->enabled) && ($modecompta == 'CREANCES-DETTES' || $mo dol_print_error($db); } } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { // Nothing from this table } @@ -278,12 +278,12 @@ if (! empty($conf->facture->enabled) && ($modecompta == 'CREANCES-DETTES' || $mo dol_print_error($db); } } - else if ($modecompta=="RECETTES-DEPENSES") + elseif ($modecompta=="RECETTES-DEPENSES") { // Nothing from this table } } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { // Nothing from this table } @@ -307,7 +307,7 @@ if (! empty($conf->facture->enabled) && ($modecompta == 'CREANCES-DETTES' || $mo if (! empty($date_start) && ! empty($date_end)) $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; } - else if ($modecompta=="RECETTES-DEPENSES") + elseif ($modecompta=="RECETTES-DEPENSES") { $sql = "SELECT sum(pf.amount) as amount_ttc, date_format(p.datep,'%Y-%m') as dm"; $sql.= " FROM ".MAIN_DB_PREFIX."paiementfourn as p"; @@ -347,7 +347,7 @@ if (! empty($conf->facture->enabled) && ($modecompta == 'CREANCES-DETTES' || $mo dol_print_error($db); } } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { // Nothing from this table } @@ -429,7 +429,7 @@ if (! empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modeco dol_print_error($db); } } - else if ($modecompta=="RECETTES-DEPENSES") + elseif ($modecompta=="RECETTES-DEPENSES") { // TVA reellement deja payee $sql = "SELECT sum(t.amount) as amount, date_format(t.datev,'%Y-%m') as dm"; @@ -493,7 +493,7 @@ if (! empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modeco } } } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { // Nothing from this table } @@ -516,7 +516,7 @@ if (! empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modeco if (! empty($date_start) && ! empty($date_end)) $sql.= " AND cs.date_ech >= '".$db->idate($date_start)."' AND cs.date_ech <= '".$db->idate($date_end)."'"; } - else if ($modecompta=="RECETTES-DEPENSES") + elseif ($modecompta=="RECETTES-DEPENSES") { $sql = "SELECT c.libelle as nom, date_format(p.datep,'%Y-%m') as dm, sum(p.amount) as amount"; $sql.= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c"; @@ -554,7 +554,7 @@ if (! empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modeco dol_print_error($db); } } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { // Nothing from this table } @@ -578,7 +578,7 @@ if (! empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modeco if (! empty($date_start) && ! empty($date_end)) $sql.= " AND cs.date_ech >= '".$db->idate($date_start)."' AND cs.date_ech <= '".$db->idate($date_end)."'"; } - else if ($modecompta=="RECETTES-DEPENSES") + elseif ($modecompta=="RECETTES-DEPENSES") { $sql = "SELECT c.libelle as nom, date_format(p.datep,'%Y-%m') as dm, sum(p.amount) as amount"; $sql.= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c"; @@ -616,7 +616,7 @@ if (! empty($conf->tax->enabled) && ($modecompta == 'CREANCES-DETTES' || $modeco dol_print_error($db); } } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { // Nothing from this table } diff --git a/htdocs/compta/salaries/class/salariesstats.class.php b/htdocs/compta/salaries/class/salariesstats.class.php index 82a8d094148..eaf5ff362ae 100644 --- a/htdocs/compta/salaries/class/salariesstats.class.php +++ b/htdocs/compta/salaries/class/salariesstats.class.php @@ -67,7 +67,7 @@ class SalariesStats extends Stats $this->where.=" AND fk_soc = ".$this->socid; } if (is_array($this->userid) && count($this->userid) > 0) $this->where.=' AND fk_user IN ('.join(',',$this->userid).')'; - else if ($this->userid > 0) $this->where.=' AND fk_user = '.$this->userid; + elseif ($this->userid > 0) $this->where.=' AND fk_user = '.$this->userid; } diff --git a/htdocs/compta/stats/byratecountry.php b/htdocs/compta/stats/byratecountry.php index df199d2e23e..4e1e429f0e5 100644 --- a/htdocs/compta/stats/byratecountry.php +++ b/htdocs/compta/stats/byratecountry.php @@ -210,7 +210,7 @@ if ($modecompta=="CREANCES-DETTES") { $builddate=dol_now(); } -else if ($modecompta=="RECETTES-DEPENSES") +elseif ($modecompta=="RECETTES-DEPENSES") { $name=$langs->trans("TurnoverCollected").', '.$langs->trans("ByVatRate"); $calcmode=$langs->trans("CalcModeEngagement"); @@ -221,12 +221,12 @@ else if ($modecompta=="RECETTES-DEPENSES") $builddate=dol_now(); } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { } -else if ($modecompta=="BOOKKEEPINGCOLLECTED") +elseif ($modecompta=="BOOKKEEPINGCOLLECTED") { diff --git a/htdocs/compta/stats/cabyprodserv.php b/htdocs/compta/stats/cabyprodserv.php index 701fe86f10e..388ae43eb1e 100644 --- a/htdocs/compta/stats/cabyprodserv.php +++ b/htdocs/compta/stats/cabyprodserv.php @@ -178,7 +178,7 @@ if ($modecompta=="CREANCES-DETTES") { $builddate=dol_now(); } -else if ($modecompta=="RECETTES-DEPENSES") +elseif ($modecompta=="RECETTES-DEPENSES") { $name=$langs->trans("TurnoverCollected").', '.$langs->trans("ByProductsAndServices"); $calcmode=$langs->trans("CalcModeEngagement"); @@ -189,12 +189,12 @@ else if ($modecompta=="RECETTES-DEPENSES") $builddate=dol_now(); } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { } -else if ($modecompta=="BOOKKEEPINGCOLLECTED") +elseif ($modecompta=="BOOKKEEPINGCOLLECTED") { @@ -231,7 +231,7 @@ if ($modecompta == 'CREANCES-DETTES') { $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product"; } - else if ($selected_cat) // Into a specific category + elseif ($selected_cat) // Into a specific category { $sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_product as cp"; } @@ -253,7 +253,7 @@ if ($modecompta == 'CREANCES-DETTES') { $sql.=" AND cp.fk_product is null"; } - else if ($selected_cat) { // Into a specific category + elseif ($selected_cat) { // Into a specific category $sql.= " AND (c.rowid = ".$selected_cat; if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat; $sql.= ")"; diff --git a/htdocs/compta/stats/cabyuser.php b/htdocs/compta/stats/cabyuser.php index ba9556dd2ac..397538d2ac1 100644 --- a/htdocs/compta/stats/cabyuser.php +++ b/htdocs/compta/stats/cabyuser.php @@ -158,7 +158,7 @@ if ($modecompta=="CREANCES-DETTES") { $builddate=dol_now(); //$exportlink=$langs->trans("NotYetAvailable"); } -else if ($modecompta=="RECETTES-DEPENSES") +elseif ($modecompta=="RECETTES-DEPENSES") { $name=$langs->trans("TurnoverCollected").', '.$langs->trans("ByUserAuthorOfInvoice"); $calcmode=$langs->trans("CalcModeEngagement"); @@ -168,12 +168,12 @@ else if ($modecompta=="RECETTES-DEPENSES") $builddate=dol_now(); //$exportlink=$langs->trans("NotYetAvailable"); } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { } -else if ($modecompta=="BOOKKEEPINGCOLLECTED") +elseif ($modecompta=="BOOKKEEPINGCOLLECTED") { diff --git a/htdocs/compta/stats/casoc.php b/htdocs/compta/stats/casoc.php index eec3bbcfbac..727f65a8b68 100644 --- a/htdocs/compta/stats/casoc.php +++ b/htdocs/compta/stats/casoc.php @@ -184,7 +184,7 @@ if ($modecompta=="CREANCES-DETTES") $builddate=dol_now(); //$exportlink=$langs->trans("NotYetAvailable"); } -else if ($modecompta=="RECETTES-DEPENSES") +elseif ($modecompta=="RECETTES-DEPENSES") { $name=$langs->trans("TurnoverCollected").', '.$langs->trans("ByThirdParties"); $calcmode=$langs->trans("CalcModeEngagement"); @@ -194,12 +194,12 @@ else if ($modecompta=="RECETTES-DEPENSES") $builddate=dol_now(); //$exportlink=$langs->trans("NotYetAvailable"); } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { } -else if ($modecompta=="BOOKKEEPINGCOLLECTED") +elseif ($modecompta=="BOOKKEEPINGCOLLECTED") { @@ -228,7 +228,7 @@ if ($modecompta == 'CREANCES-DETTES') { { $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_soc"; } - else if ($selected_cat) // Into a specific category + elseif ($selected_cat) // Into a specific category { $sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_societe as cs"; } @@ -246,7 +246,7 @@ if ($modecompta == 'CREANCES-DETTES') { { $sql.=" AND cs.fk_soc is null"; } - else if ($selected_cat) { // Into a specific category + elseif ($selected_cat) { // Into a specific category $sql.= " AND (c.rowid = ".$db->escape($selected_cat); if ($subcat) $sql.=" OR c.fk_parent = " . $db->escape($selected_cat); $sql.= ")"; @@ -266,7 +266,7 @@ if ($modecompta == 'CREANCES-DETTES') { { $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_soc"; } - else if ($selected_cat) // Into a specific category + elseif ($selected_cat) // Into a specific category { $sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_societe as cs"; } @@ -280,7 +280,7 @@ if ($modecompta == 'CREANCES-DETTES') { { $sql.=" AND cs.fk_soc is null"; } - else if ($selected_cat) { // Into a specific category + elseif ($selected_cat) { // Into a specific category $sql.= " AND (c.rowid = ".$selected_cat; if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat; $sql.= ")"; diff --git a/htdocs/compta/stats/index.php b/htdocs/compta/stats/index.php index 79ff8ff5df5..b700905183c 100644 --- a/htdocs/compta/stats/index.php +++ b/htdocs/compta/stats/index.php @@ -128,7 +128,7 @@ if ($modecompta=="CREANCES-DETTES") $builddate=dol_now(); //$exportlink=$langs->trans("NotYetAvailable"); } -else if ($modecompta=="RECETTES-DEPENSES") +elseif ($modecompta=="RECETTES-DEPENSES") { $name=$langs->trans("TurnoverCollected"); $calcmode=$langs->trans("CalcModeEngagement"); @@ -141,7 +141,7 @@ else if ($modecompta=="RECETTES-DEPENSES") $builddate=dol_now(); //$exportlink=$langs->trans("NotYetAvailable"); } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { $name=$langs->trans("Turnover"); $calcmode=$langs->trans("CalcModeBookkeeping"); @@ -174,7 +174,7 @@ if ($modecompta == 'CREANCES-DETTES') $sql.= " AND f.entity IN (".getEntity('invoice').")"; if ($socid) $sql.= " AND f.fk_soc = ".$socid; } -else if ($modecompta=="RECETTES-DEPENSES") +elseif ($modecompta=="RECETTES-DEPENSES") { /* * Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les @@ -189,7 +189,7 @@ else if ($modecompta=="RECETTES-DEPENSES") $sql.= " AND f.entity IN (".getEntity('invoice').")"; if ($socid) $sql.= " AND f.fk_soc = ".$socid; } -else if ($modecompta=="BOOKKEEPING") +elseif ($modecompta=="BOOKKEEPING") { $sql = "SELECT date_format(b.doc_date,'%Y-%m') as dm, sum(b.credit) as amount_ttc"; $sql.= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping as b, ".MAIN_DB_PREFIX."accounting_journal as aj"; diff --git a/htdocs/compta/tva/clients.php b/htdocs/compta/tva/clients.php index 45b93692e3a..172b66c170c 100644 --- a/htdocs/compta/tva/clients.php +++ b/htdocs/compta/tva/clients.php @@ -66,8 +66,8 @@ if (empty($date_start) || empty($date_end)) // We define date_start and date_end { $date_start=dol_get_first_day($year_start,empty($conf->global->SOCIETE_FISCAL_MONTH_START)?1:$conf->global->SOCIETE_FISCAL_MONTH_START,false); if (empty($conf->global->MAIN_INFO_VAT_RETURN) || $conf->global->MAIN_INFO_VAT_RETURN == 2) $date_end=dol_time_plus_duree($date_start, 3, 'm') - 1; - else if ($conf->global->MAIN_INFO_VAT_RETURN == 3) $date_end=dol_time_plus_duree($date_start, 1, 'y') - 1; - else if ($conf->global->MAIN_INFO_VAT_RETURN == 1) $date_end=dol_time_plus_duree($date_start, 1, 'm') - 1; + elseif ($conf->global->MAIN_INFO_VAT_RETURN == 3) $date_end=dol_time_plus_duree($date_start, 1, 'y') - 1; + elseif ($conf->global->MAIN_INFO_VAT_RETURN == 1) $date_end=dol_time_plus_duree($date_start, 1, 'm') - 1; } } else @@ -217,7 +217,7 @@ if (! is_array($x_coll) || ! is_array($x_paye)) $langs->load("errors"); if ($x_coll == -1) { print '' . $langs->trans("ErrorNoAccountancyModuleLoaded") . ''; - } else if ($x_coll == -2) { + } elseif ($x_coll == -2) { print '' . $langs->trans("FeatureNotYetAvailable") . ''; } else { print '' . $langs->trans("Error") . ''; diff --git a/htdocs/compta/tva/list.php b/htdocs/compta/tva/list.php index f0bb433c65c..0d3b7ec135d 100644 --- a/htdocs/compta/tva/list.php +++ b/htdocs/compta/tva/list.php @@ -115,7 +115,7 @@ if ($month > 0) else $sql.= " AND date_format(t.datev, '%m') = '$month'"; } -else if ($year > 0) +elseif ($year > 0) { $sql.= " AND t.datev BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } diff --git a/htdocs/compta/tva/quadri_detail.php b/htdocs/compta/tva/quadri_detail.php index a8e22815ea4..b98b3791c8b 100644 --- a/htdocs/compta/tva/quadri_detail.php +++ b/htdocs/compta/tva/quadri_detail.php @@ -66,8 +66,8 @@ if (empty($date_start) || empty($date_end)) // We define date_start and date_end { $date_start=dol_get_first_day($year_start,empty($conf->global->SOCIETE_FISCAL_MONTH_START)?1:$conf->global->SOCIETE_FISCAL_MONTH_START,false); if (empty($conf->global->MAIN_INFO_VAT_RETURN) || $conf->global->MAIN_INFO_VAT_RETURN == 2) $date_end=dol_time_plus_duree($date_start, 3, 'm') - 1; - else if ($conf->global->MAIN_INFO_VAT_RETURN == 3) $date_end=dol_time_plus_duree($date_start, 1, 'y') - 1; - else if ($conf->global->MAIN_INFO_VAT_RETURN == 1) $date_end=dol_time_plus_duree($date_start, 1, 'm') - 1; + elseif ($conf->global->MAIN_INFO_VAT_RETURN == 3) $date_end=dol_time_plus_duree($date_start, 1, 'y') - 1; + elseif ($conf->global->MAIN_INFO_VAT_RETURN == 1) $date_end=dol_time_plus_duree($date_start, 1, 'm') - 1; } } else @@ -209,7 +209,7 @@ if (! is_array($x_coll) || ! is_array($x_paye)) $langs->load("errors"); if ($x_coll == -1) { print '' . $langs->trans("ErrorNoAccountancyModuleLoaded") . ''; - } else if ($x_coll == -2) { + } elseif ($x_coll == -2) { print '' . $langs->trans("FeatureNotYetAvailable") . ''; } else { print '' . $langs->trans("Error") . ''; diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index a5297750386..b8e82e78632 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -344,7 +344,7 @@ class Contact extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET "; if ($this->socid > 0) $sql .= " fk_soc='".$this->db->escape($this->socid)."',"; - else if ($this->socid == -1) $sql .= " fk_soc=null,"; + elseif ($this->socid == -1) $sql .= " fk_soc=null,"; $sql .= " civility='".$this->db->escape($this->civility_id)."'"; $sql .= ", lastname='".$this->db->escape($this->lastname)."'"; $sql .= ", firstname='".$this->db->escape($this->firstname)."'"; @@ -874,7 +874,7 @@ class Contact extends CommonObject unset($this->gender); if (in_array($this->civility_id, array('MR'))) { $this->gender = 'man'; - } else if(in_array($this->civility_id, array('MME','MLE'))) { + } elseif(in_array($this->civility_id, array('MME','MLE'))) { $this->gender = 'woman'; } } diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php index af15d873acb..087db5ddea6 100644 --- a/htdocs/contact/list.php +++ b/htdocs/contact/list.php @@ -113,13 +113,13 @@ if ($type == "c") $titre.=' ('.$langs->trans("ThirdPartyCustomers").')'; $urlfiche="card.php"; } -else if ($type == "f") +elseif ($type == "f") { if (empty($contextpage) || $contextpage == 'contactlist') $contextpage='contactsupplierlist'; $titre.=' ('.$langs->trans("ThirdPartySuppliers").')'; $urlfiche="card.php"; } -else if ($type == "o") +elseif ($type == "o") { if (empty($contextpage) || $contextpage == 'contactlist') $contextpage='contactotherlist'; $titre.=' ('.$langs->trans("OthersNotLinkedToThirdParty").')'; @@ -330,15 +330,15 @@ if ($type == "o") // filtre sur type { $sql .= " AND p.fk_soc IS NULL"; } -else if ($type == "f") // filtre sur type +elseif ($type == "f") // filtre sur type { $sql .= " AND s.fournisseur = 1"; } -else if ($type == "c") // filtre sur type +elseif ($type == "c") // filtre sur type { $sql .= " AND s.client IN (1, 3)"; } -else if ($type == "p") // filtre sur type +elseif ($type == "p") // filtre sur type { $sql .= " AND s.client IN (2, 3)"; } @@ -487,7 +487,7 @@ if (! empty($conf->categorie->enabled)) { $moreforfilter.='
'; if ($type == 'c') $moreforfilter.=$langs->trans('CustomersCategoriesShort'). ': '; - else if ($type == 'p') $moreforfilter.=$langs->trans('ProspectsCategoriesShort'). ': '; + elseif ($type == 'p') $moreforfilter.=$langs->trans('ProspectsCategoriesShort'). ': '; else $moreforfilter.=$langs->trans('CustomersProspectsCategoriesShort'). ': '; $moreforfilter.=$formother->select_categories(Categorie::TYPE_CUSTOMER,$search_categ_thirdparty,'search_categ_thirdparty',1); $moreforfilter.='
'; diff --git a/htdocs/contact/perso.php b/htdocs/contact/perso.php index 8e74c33cd14..da5a8d4eaa8 100644 --- a/htdocs/contact/perso.php +++ b/htdocs/contact/perso.php @@ -293,7 +293,7 @@ else $ageyear=convertSecondToTime($now-$object->birthday,'year')-1970; $agemonth=convertSecondToTime($now-$object->birthday,'month')-1; if ($ageyear >= 2) print '('.$ageyear.' '.$langs->trans("DurationYears").')'; - else if ($agemonth >= 2) print '('.$agemonth.' '.$langs->trans("DurationMonths").')'; + elseif ($agemonth >= 2) print '('.$agemonth.' '.$langs->trans("DurationMonths").')'; else print '('.$agemonth.' '.$langs->trans("DurationMonth").')'; diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 844cd4321a4..d0e928ff7cd 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -119,7 +119,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_closeline' && $confirm == 'yes' && $user->rights->contrat->activer) + elseif ($action == 'confirm_closeline' && $confirm == 'yes' && $user->rights->contrat->activer) { if (! GETPOST('dateend')) { @@ -408,13 +408,13 @@ if (empty($reshook)) } } - else if ($action == 'classin' && $user->rights->contrat->creer) + elseif ($action == 'classin' && $user->rights->contrat->creer) { $object->setProject(GETPOST('projectid')); } // Add a new line - else if ($action == 'addline' && $user->rights->contrat->creer) + elseif ($action == 'addline' && $user->rights->contrat->creer) { // Set if we used free entry or predefined product $predef=''; @@ -653,7 +653,7 @@ if (empty($reshook)) } } - else if ($action == 'updateline' && $user->rights->contrat->creer && ! GETPOST('cancel','alpha')) + elseif ($action == 'updateline' && $user->rights->contrat->creer && ! GETPOST('cancel','alpha')) { $error = 0; @@ -761,7 +761,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->contrat->creer) + elseif ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->contrat->creer) { $result = $object->deleteline(GETPOST('lineid'),$user); @@ -776,7 +776,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->contrat->creer) + elseif ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->contrat->creer) { $result = $object->validate($user); @@ -805,7 +805,7 @@ if (empty($reshook)) } } - else if ($action == 'reopen' && $user->rights->contrat->creer) + elseif ($action == 'reopen' && $user->rights->contrat->creer) { $result = $object->reopen($user); if ($result < 0) @@ -815,7 +815,7 @@ if (empty($reshook)) } // Close all lines - else if ($action == 'confirm_close' && $confirm == 'yes' && $user->rights->contrat->creer) + elseif ($action == 'confirm_close' && $confirm == 'yes' && $user->rights->contrat->creer) { $result = $object->closeAll($user); if ($result < 0) @@ -825,7 +825,7 @@ if (empty($reshook)) } // Close all lines - else if ($action == 'confirm_activate' && $confirm == 'yes' && $user->rights->contrat->creer) + elseif ($action == 'confirm_activate' && $confirm == 'yes' && $user->rights->contrat->creer) { $result = $object->activateAll($user); if ($result < 0) @@ -834,7 +834,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->contrat->supprimer) + elseif ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->contrat->supprimer) { $result=$object->delete($user); if ($result >= 0) @@ -848,7 +848,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_move' && $confirm == 'yes' && $user->rights->contrat->creer) + elseif ($action == 'confirm_move' && $confirm == 'yes' && $user->rights->contrat->creer) { if (GETPOST('newcid') > 0) { @@ -871,7 +871,7 @@ if (empty($reshook)) setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("RefNewContract")), null, 'errors'); } } - else if ($action == 'update_extras') + elseif ($action == 'update_extras') { $object->oldcopy = dol_clone($object); @@ -1042,13 +1042,13 @@ if (empty($reshook)) } // bascule du statut d'un contact - else if ($action == 'swapstatut') + elseif ($action == 'swapstatut') { $result=$object->swapContactStatus(GETPOST('ligne')); } // Efface un contact - else if ($action == 'deletecontact') + elseif ($action == 'deletecontact') { $result = $object->delete_contact(GETPOST('lineid')); diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 5929ec034d1..635d7c5851e 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -445,7 +445,7 @@ class Contrat extends CommonObject { $num = $force_number; } - else if (! $error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) // empty should not happened, but when it occurs, the test save life + elseif (! $error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) // empty should not happened, but when it occurs, the test save life { $num = $this->getNextNumRef($this->thirdparty); } diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php index c1d21426f83..3272d7ed908 100644 --- a/htdocs/contrat/list.php +++ b/htdocs/contrat/list.php @@ -241,12 +241,12 @@ if ($month > 0) { if ($year > 0 && empty($day)) $sql.= " AND c.date_contrat BETWEEN '".$db->idate(dol_get_first_day($year,$month,false))."' AND '".$db->idate(dol_get_last_day($year,$month,false))."'"; - else if ($year > 0 && ! empty($day)) + elseif ($year > 0 && ! empty($day)) $sql.= " AND c.date_contrat BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."'"; else $sql.= " AND date_format(c.date_contrat, '%m') = '".$month."'"; } -else if ($year > 0) +elseif ($year > 0) { $sql.= " AND c.date_contrat BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } @@ -711,7 +711,7 @@ while ($i < min($num,$limit)) print $nbofsalesrepresentative; print ''; } - else if ($nbofsalesrepresentative > 0) + elseif ($nbofsalesrepresentative > 0) { $userstatic=new User($db); $j=0; diff --git a/htdocs/core/actions_builddoc.inc.php b/htdocs/core/actions_builddoc.inc.php index 9d33def496c..d585ace7cd2 100644 --- a/htdocs/core/actions_builddoc.inc.php +++ b/htdocs/core/actions_builddoc.inc.php @@ -60,7 +60,7 @@ if ($action == 'builddoc' && $permissioncreate) //{ if (GETPOST('fk_bank','int')) { // this field may come from an external module $object->fk_bank = GETPOST('fk_bank','int'); - } else if (! empty($object->fk_account)) { + } elseif (! empty($object->fk_account)) { $object->fk_bank = $object->fk_account; } //} diff --git a/htdocs/core/actions_sendmails.inc.php b/htdocs/core/actions_sendmails.inc.php index 183585d986b..655c3e62efd 100644 --- a/htdocs/core/actions_sendmails.inc.php +++ b/htdocs/core/actions_sendmails.inc.php @@ -121,17 +121,17 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO $thirdparty=$object->thirdparty; $sendtosocid=$thirdparty->id; } - else if ($object->element == 'member' || $object->element == 'user') + elseif ($object->element == 'member' || $object->element == 'user') { $thirdparty=$object; if ($thirdparty->id > 0) $sendtosocid=$thirdparty->id; } - else if ($object->element == 'societe') + elseif ($object->element == 'societe') { $thirdparty=$object; if ($thirdparty->id > 0) $sendtosocid=$thirdparty->id; } - else if ($object->element == 'contact') + elseif ($object->element == 'contact') { $contact=$object; if ($contact->id > 0) $sendtosocid=$contact->fetch_thirdparty()->id; diff --git a/htdocs/core/actions_setnotes.inc.php b/htdocs/core/actions_setnotes.inc.php index ec253d5ef4a..511adbf9e3e 100644 --- a/htdocs/core/actions_setnotes.inc.php +++ b/htdocs/core/actions_setnotes.inc.php @@ -61,7 +61,7 @@ if ($action == 'setnote_public' && ! empty($permissionnote) && ! GETPOST('cancel } } // Set public note -else if ($action == 'setnote_private' && ! empty($permissionnote) && ! GETPOST('cancel','alpha')) +elseif ($action == 'setnote_private' && ! empty($permissionnote) && ! GETPOST('cancel','alpha')) { if (empty($action) || ! is_object($object) || empty($id)) dol_print_error('','Include of actions_setnotes.inc.php was done but required variable was not set before'); if (empty($object->id)) $object->fetch($id); // Fetch may not be already done diff --git a/htdocs/core/ajax/ajaxdirpreview.php b/htdocs/core/ajax/ajaxdirpreview.php index bfbf35b019c..4164b2e41de 100644 --- a/htdocs/core/ajax/ajaxdirpreview.php +++ b/htdocs/core/ajax/ajaxdirpreview.php @@ -185,33 +185,33 @@ if ($type == 'directory') // Auto area for suppliers invoices if ($module == 'company') $upload_dir = $conf->societe->dir_output; // Auto area for suppliers invoices - else if ($module == 'invoice') $upload_dir = $conf->facture->dir_output; + elseif ($module == 'invoice') $upload_dir = $conf->facture->dir_output; // Auto area for suppliers invoices - else if ($module == 'invoice_supplier') $upload_dir = $conf->fournisseur->facture->dir_output; + elseif ($module == 'invoice_supplier') $upload_dir = $conf->fournisseur->facture->dir_output; // Auto area for customers proposal - else if ($module == 'propal') $upload_dir = $conf->propal->dir_output; + elseif ($module == 'propal') $upload_dir = $conf->propal->dir_output; // Auto area for suppliers proposal - else if ($module == 'supplier_proposal') $upload_dir = $conf->supplier_proposal->dir_output; + elseif ($module == 'supplier_proposal') $upload_dir = $conf->supplier_proposal->dir_output; // Auto area for customers orders - else if ($module == 'order') $upload_dir = $conf->commande->dir_output; + elseif ($module == 'order') $upload_dir = $conf->commande->dir_output; // Auto area for suppliers orders - else if ($module == 'order_supplier') $upload_dir = $conf->fournisseur->commande->dir_output; + elseif ($module == 'order_supplier') $upload_dir = $conf->fournisseur->commande->dir_output; // Auto area for suppliers invoices - else if ($module == 'contract') $upload_dir = $conf->contrat->dir_output; + elseif ($module == 'contract') $upload_dir = $conf->contrat->dir_output; // Auto area for products - else if ($module == 'product') $upload_dir = $conf->product->dir_output; + elseif ($module == 'product') $upload_dir = $conf->product->dir_output; // Auto area for suppliers invoices - else if ($module == 'tax') $upload_dir = $conf->tax->dir_output; + elseif ($module == 'tax') $upload_dir = $conf->tax->dir_output; // Auto area for projects - else if ($module == 'project') $upload_dir = $conf->projet->dir_output; + elseif ($module == 'project') $upload_dir = $conf->projet->dir_output; // Auto area for interventions - else if ($module == 'fichinter') $upload_dir = $conf->ficheinter->dir_output; + elseif ($module == 'fichinter') $upload_dir = $conf->ficheinter->dir_output; // Auto area for users - else if ($module == 'user') $upload_dir = $conf->user->dir_output; + elseif ($module == 'user') $upload_dir = $conf->user->dir_output; // Auto area for expense report - else if ($module == 'expensereport') $upload_dir = $conf->expensereport->dir_output; + elseif ($module == 'expensereport') $upload_dir = $conf->expensereport->dir_output; // Auto area for holiday - else if ($module == 'holiday') $upload_dir = $conf->holiday->dir_output; + elseif ($module == 'holiday') $upload_dir = $conf->holiday->dir_output; // Automatic list if (in_array($module, $automodules)) @@ -280,7 +280,7 @@ if ($type == 'directory') $textifempty = $langs->trans('NoFileFound'); } - else if ($section === '0') + elseif ($section === '0') { if ($module == 'ecm') $textifempty='
'.$langs->trans("DirNotSynchronizedSyncFirst").'

'; else $textifempty = $langs->trans('NoFileFound'); diff --git a/htdocs/core/ajax/constantonoff.php b/htdocs/core/ajax/constantonoff.php index 0f733f4df5c..4977b526cc2 100644 --- a/htdocs/core/ajax/constantonoff.php +++ b/htdocs/core/ajax/constantonoff.php @@ -58,7 +58,7 @@ if (! empty($action) && ! empty($name)) { dolibarr_set_const($db, $name, $value, 'chaine', 0, '', $entity); } - else if ($action == 'del') + elseif ($action == 'del') { dolibarr_del_const($db, $name, $entity); } diff --git a/htdocs/core/ajax/extraparams.php b/htdocs/core/ajax/extraparams.php index e5972d29d70..5d06bb338ef 100644 --- a/htdocs/core/ajax/extraparams.php +++ b/htdocs/core/ajax/extraparams.php @@ -52,18 +52,18 @@ if(! empty($id) && ! empty($element) && ! empty($htmlelement) && ! empty($type)) // For compatibility if ($element == 'order' || $element == 'commande') { $classpath = $subelement = 'commande'; } - else if ($element == 'propal') { $classpath = 'comm/propal'; $subelement = 'propal'; } - else if ($element == 'facture') { $classpath = 'compta/facture'; $subelement = 'facture'; } - else if ($element == 'contract') { $classpath = $subelement = 'contrat'; } - else if ($element == 'shipping') { $classpath = $subelement = 'expedition'; } - else if ($element == 'deplacement') { $classpath = 'compta/deplacement'; $subelement = 'deplacement'; } - else if ($element == 'order_supplier') { $classpath = 'fourn'; $subelement = 'fournisseur.commande'; } - else if ($element == 'invoice_supplier') { $classpath = 'fourn'; $subelement = 'fournisseur.facture'; } + elseif ($element == 'propal') { $classpath = 'comm/propal'; $subelement = 'propal'; } + elseif ($element == 'facture') { $classpath = 'compta/facture'; $subelement = 'facture'; } + elseif ($element == 'contract') { $classpath = $subelement = 'contrat'; } + elseif ($element == 'shipping') { $classpath = $subelement = 'expedition'; } + elseif ($element == 'deplacement') { $classpath = 'compta/deplacement'; $subelement = 'deplacement'; } + elseif ($element == 'order_supplier') { $classpath = 'fourn'; $subelement = 'fournisseur.commande'; } + elseif ($element == 'invoice_supplier') { $classpath = 'fourn'; $subelement = 'fournisseur.facture'; } dol_include_once('/'.$classpath.'/class/'.$subelement.'.class.php'); if ($element == 'order_supplier') { $classname = 'CommandeFournisseur'; } - else if ($element == 'invoice_supplier') { $classname = 'FactureFournisseur'; } + elseif ($element == 'invoice_supplier') { $classname = 'FactureFournisseur'; } else $classname = ucfirst($subelement); $object = new $classname($db); diff --git a/htdocs/core/ajax/loadinplace.php b/htdocs/core/ajax/loadinplace.php index abf3efba7db..918d1920759 100644 --- a/htdocs/core/ajax/loadinplace.php +++ b/htdocs/core/ajax/loadinplace.php @@ -56,14 +56,14 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($ } if ($element == 'propal') $element = 'propale'; - else if ($element == 'fichinter') $element = 'ficheinter'; - else if ($element == 'product') $element = 'produit'; - else if ($element == 'member') $element = 'adherent'; - else if ($element == 'order_supplier') { + elseif ($element == 'fichinter') $element = 'ficheinter'; + elseif ($element == 'product') $element = 'produit'; + elseif ($element == 'member') $element = 'adherent'; + elseif ($element == 'order_supplier') { $element = 'fournisseur'; $subelement = 'commande'; } - else if ($element == 'invoice_supplier') { + elseif ($element == 'invoice_supplier') { $element = 'fournisseur'; $subelement = 'facture'; } @@ -84,7 +84,7 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($ $ret = $form->$methodname(); if ($ret > 0) echo json_encode($form->$cachename); } - else if (! empty($ext_element)) + elseif (! empty($ext_element)) { $module = $subelement = $ext_element; if (preg_match('/^([^_]+)_([^_]+)/i',$ext_element,$regs)) diff --git a/htdocs/core/ajax/price.php b/htdocs/core/ajax/price.php index 3eab18216d1..3b5585837d6 100644 --- a/htdocs/core/ajax/price.php +++ b/htdocs/core/ajax/price.php @@ -53,7 +53,7 @@ if (! empty($output) && isset($amount) && isset($tva_tx)) $return['price_ht'] = $amount; $return['price_ttc'] = (isset($price) && $price != '' ? price($price) : ''); } - else if ($output == 'price_ht') { + elseif ($output == 'price_ht') { $price = price2num($amount / (1 + ($tva_tx/100)), 'MU'); $return['price_ht'] = (isset($price) && $price != '' ? price($price) : ''); diff --git a/htdocs/core/ajax/saveinplace.php b/htdocs/core/ajax/saveinplace.php index 188dcbb29da..8715997d778 100644 --- a/htdocs/core/ajax/saveinplace.php +++ b/htdocs/core/ajax/saveinplace.php @@ -79,14 +79,14 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($ } if ($element == 'propal') $newelement = 'propale'; - else if ($element == 'fichinter') $newelement = 'ficheinter'; - else if ($element == 'product') $newelement = 'produit'; - else if ($element == 'member') $newelement = 'adherent'; - else if ($element == 'order_supplier') { + elseif ($element == 'fichinter') $newelement = 'ficheinter'; + elseif ($element == 'product') $newelement = 'produit'; + elseif ($element == 'member') $newelement = 'adherent'; + elseif ($element == 'order_supplier') { $newelement = 'fournisseur'; $subelement = 'commande'; } - else if ($element == 'invoice_supplier') { + elseif ($element == 'invoice_supplier') { $newelement = 'fournisseur'; $subelement = 'facture'; } @@ -131,13 +131,13 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($ $return['error'] = $langs->trans('ErrorBadValue'); } } - else if ($type == 'datepicker') + elseif ($type == 'datepicker') { $timestamp = GETPOST('timestamp','int',2); $format = 'date'; $newvalue = ($timestamp / 1000); } - else if ($type == 'select') + elseif ($type == 'select') { $loadmethodname = 'load_cache_'.$loadmethod; $loadcachename = 'cache_'.$loadmethod; @@ -211,7 +211,7 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($ if ($ret > 0) { if ($type == 'numeric') $value = price($newvalue); - else if ($type == 'textarea') $value = dol_nl2br($newvalue); + elseif ($type == 'textarea') $value = dol_nl2br($newvalue); $return['value'] = $value; $return['view'] = (! empty($view) ? $view : $value); diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index 9dc4c162e0f..5eff8a7405d 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -368,17 +368,17 @@ class box_graph_product_distribution extends ModeleBoxes if ($nbofgraph == 1) { if ($showinvoicenb) $stringtoshow.=$px1->show(); - else if ($showpropalnb) $stringtoshow.=$px2->show(); + elseif ($showpropalnb) $stringtoshow.=$px2->show(); else $stringtoshow.=$px3->show(); } if ($nbofgraph == 2) { $stringtoshow.='
'; if ($showinvoicenb) $stringtoshow.=$px1->show(); - else if ($showpropalnb) $stringtoshow.=$px2->show(); + elseif ($showpropalnb) $stringtoshow.=$px2->show(); $stringtoshow.='
'; if ($showordernb) $stringtoshow.=$px3->show(); - else if ($showpropalnb) $stringtoshow.=$px2->show(); + elseif ($showpropalnb) $stringtoshow.=$px2->show(); $stringtoshow.='
'; } if ($nbofgraph == 3) diff --git a/htdocs/core/class/CMailFile.class.php b/htdocs/core/class/CMailFile.class.php index 52d98790dcc..868d9b27039 100644 --- a/htdocs/core/class/CMailFile.class.php +++ b/htdocs/core/class/CMailFile.class.php @@ -294,7 +294,7 @@ class CMailFile $this->message.= $text_body . $files_encoded; $this->message.= "--" . $this->mixed_boundary . "--" . $this->eol; } - else if ($this->sendmode == 'smtps') + elseif ($this->sendmode == 'smtps') { // Use SMTPS library // ------------------------------------------ @@ -349,7 +349,7 @@ class CMailFile $this->smtps=$smtps; } - else if ($this->sendmode == 'swiftmailer') + elseif ($this->sendmode == 'swiftmailer') { // Use Swift Mailer library // ------------------------------------------ @@ -670,7 +670,7 @@ class CMailFile if (! empty($conf->global->$keyforsmtpserver)) ini_restore('SMTP'); if (! empty($conf->global->$keyforsmtpport)) ini_restore('smtp_port'); } - else if ($this->sendmode == 'smtps') + elseif ($this->sendmode == 'smtps') { if (! is_object($this->smtps)) { @@ -750,7 +750,7 @@ class CMailFile } } } - else if ($this->sendmode == 'swiftmailer') + elseif ($this->sendmode == 'swiftmailer') { // Use Swift Mailer library // ------------------------------------------ diff --git a/htdocs/core/class/CSMSFile.class.php b/htdocs/core/class/CSMSFile.class.php index 86ffed48551..c3aa2e23417 100644 --- a/htdocs/core/class/CSMSFile.class.php +++ b/htdocs/core/class/CSMSFile.class.php @@ -139,7 +139,7 @@ class CSMSFile if (! empty($conf->global->MAIN_SMS_DEBUG)) $this->dump_sms_result($res); } } - else if (! empty($conf->global->MAIN_SMS_SENDMODE)) // $conf->global->MAIN_SMS_SENDMODE looks like a value 'class@module' + elseif (! empty($conf->global->MAIN_SMS_SENDMODE)) // $conf->global->MAIN_SMS_SENDMODE looks like a value 'class@module' { $tmp=explode('@',$conf->global->MAIN_SMS_SENDMODE); $classfile=$tmp[0]; $module=(empty($tmp[1])?$tmp[0]:$tmp[1]); diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 726e95214cb..d6a0e5845eb 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -230,7 +230,7 @@ abstract class CommonDocGenerator { $object->array_options['options_'.$key] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency); } - else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox') + elseif($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox') { $object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]]; } @@ -760,11 +760,11 @@ abstract class CommonDocGenerator //Add value to store price with currency $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_currency' => $object->array_options['options_'.$key.'_currency'])); } - else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox') + elseif($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox') { $object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]]; } - else if($extrafields->attribute_type[$key] == 'date') + elseif($extrafields->attribute_type[$key] == 'date') { if (strlen($object->array_options['options_'.$key])>0) { @@ -782,7 +782,7 @@ abstract class CommonDocGenerator $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale'])); $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc'])); } - else if($extrafields->attribute_type[$key] == 'datetime') + elseif($extrafields->attribute_type[$key] == 'datetime') { $datetime = $object->array_options['options_'.$key]; $object->array_options['options_'.$key] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhour'):''); // using company output language @@ -791,7 +791,7 @@ abstract class CommonDocGenerator $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale'])); $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc'])); } - else if($extrafields->attribute_type[$key] == 'link') + elseif($extrafields->attribute_type[$key] == 'link') { $id = $object->array_options['options_'.$key]; if ($id != "") diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 945d257b8eb..f9fd88513c8 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -426,8 +426,8 @@ abstract class CommonObject $sql.= " WHERE entity IN (".getEntity($element).")" ; if ($id > 0) $sql.= " AND rowid = ".$db->escape($id); - else if ($ref) $sql.= " AND ref = '".$db->escape($ref)."'"; - else if ($ref_ext) $sql.= " AND ref_ext = '".$db->escape($ref_ext)."'"; + elseif ($ref) $sql.= " AND ref = '".$db->escape($ref)."'"; + elseif ($ref_ext) $sql.= " AND ref_ext = '".$db->escape($ref_ext)."'"; else { $error='ErrorWrongParameters'; dol_print_error(get_class()."::isExistingObject ".$error, LOG_ERR); @@ -1207,7 +1207,7 @@ abstract class CommonObject if($this->element=='shipping' && $this->origin_id != 0) { $id=$this->origin_id; $element='commande'; - } else if($this->element=='reception' && $this->origin_id != 0) { + } elseif($this->element=='reception' && $this->origin_id != 0) { $id=$this->origin_id; $element='order_supplier'; } else { @@ -1353,7 +1353,7 @@ abstract class CommonObject if (empty($idtype) && $idtype != '0') // If type of barcode no set, we try to guess. If set to '0' it means we forced to have type remain not defined { if ($this->element == 'product') $idtype = $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE; - else if ($this->element == 'societe') $idtype = $conf->global->GENBARCODE_BARCODETYPE_THIRDPARTY; + elseif ($this->element == 'societe') $idtype = $conf->global->GENBARCODE_BARCODETYPE_THIRDPARTY; else dol_syslog('Call fetch_barcode with barcode_type not defined and cant be guessed', LOG_WARNING); } @@ -1562,8 +1562,8 @@ abstract class CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX.$table." SET "; if ($format == 'text') $sql.= $field." = '".$this->db->escape($value)."'"; - else if ($format == 'int') $sql.= $field." = ".$this->db->escape($value); - else if ($format == 'date') $sql.= $field." = ".($value ? "'".$this->db->idate($value)."'" : "null"); + elseif ($format == 'int') $sql.= $field." = ".$this->db->escape($value); + elseif ($format == 'date') $sql.= $field." = ".($value ? "'".$this->db->idate($value)."'" : "null"); if ($fk_user_field) { @@ -1648,8 +1648,8 @@ abstract class CommonObject $sql.= ",".MAIN_DB_PREFIX."usergroup_user as ug"; } if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 2) $sql.= ", ".MAIN_DB_PREFIX."societe as s"; // If we need to link to societe to limit select to entity - else if ($this->restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe as s"; // If we need to link to societe to limit select to socid - else if ($this->restrictiononfksoc == 2 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON te.fk_soc = s.rowid"; // If we need to link to societe to limit select to socid + elseif ($this->restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe as s"; // If we need to link to societe to limit select to socid + elseif ($this->restrictiononfksoc == 2 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON te.fk_soc = s.rowid"; // If we need to link to societe to limit select to socid if ($this->restrictiononfksoc && !$user->rights->societe->client->voir && !$socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON ".$alias.".rowid = sc.fk_soc"; $sql.= " WHERE te.".$fieldid." < '".$this->db->escape($this->ref)."'"; // ->ref must always be defined (set to id if field does not exists) if ($this->restrictiononfksoc == 1 && !$user->rights->societe->client->voir && !$socid) $sql.= " AND sc.fk_user = " .$user->id; @@ -1660,7 +1660,7 @@ abstract class CommonObject $sql.=$filter; } if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 2) $sql.= ' AND te.fk_soc = s.rowid'; // If we need to link to societe to limit select to entity - else if ($this->restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= ' AND te.fk_soc = s.rowid'; // If we need to link to societe to limit select to socid + elseif ($this->restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= ' AND te.fk_soc = s.rowid'; // If we need to link to societe to limit select to socid if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { if ($this->element == 'user' && ! empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE)) { if (! empty($user->admin) && empty($user->entity) && $conf->entity == 1) { @@ -1694,8 +1694,8 @@ abstract class CommonObject $sql.= ",".MAIN_DB_PREFIX."usergroup_user as ug"; } if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 2) $sql.= ", ".MAIN_DB_PREFIX."societe as s"; // If we need to link to societe to limit select to entity - else if ($this->restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe as s"; // If we need to link to societe to limit select to socid - else if ($this->restrictiononfksoc == 2 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON te.fk_soc = s.rowid"; // If we need to link to societe to limit select to socid + elseif ($this->restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe as s"; // If we need to link to societe to limit select to socid + elseif ($this->restrictiononfksoc == 2 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON te.fk_soc = s.rowid"; // If we need to link to societe to limit select to socid if ($this->restrictiononfksoc && !$user->rights->societe->client->voir && !$socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON ".$alias.".rowid = sc.fk_soc"; $sql.= " WHERE te.".$fieldid." > '".$this->db->escape($this->ref)."'"; // ->ref must always be defined (set to id if field does not exists) if ($this->restrictiononfksoc == 1 && !$user->rights->societe->client->voir && !$socid) $sql.= " AND sc.fk_user = " .$user->id; @@ -1706,7 +1706,7 @@ abstract class CommonObject $sql.=$filter; } if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 2) $sql.= ' AND te.fk_soc = s.rowid'; // If we need to link to societe to limit select to entity - else if ($this->restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= ' AND te.fk_soc = s.rowid'; // If we need to link to societe to limit select to socid + elseif ($this->restrictiononfksoc == 1 && $this->element != 'societe' && !$user->rights->societe->client->voir && !$socid) $sql.= ' AND te.fk_soc = s.rowid'; // If we need to link to societe to limit select to socid if (isset($this->ismultientitymanaged) && $this->ismultientitymanaged == 1) { if ($this->element == 'user' && ! empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE)) { if (! empty($user->admin) && empty($user->entity) && $conf->entity == 1) { @@ -2675,7 +2675,7 @@ abstract class CommonObject if ($this->db->query($sql)) { if ($suffix == '_public') $this->note_public = $note; - else if ($suffix == '_private') $this->note_private = $note; + elseif ($suffix == '_private') $this->note_private = $note; else { $this->note = $note; // deprecated @@ -3059,7 +3059,7 @@ abstract class CommonObject $sql.= "fk_source = ".$sourceid." AND sourcetype = '".$sourcetype."'"; if ($withtargettype) $sql.= " AND targettype = '".$targettype."'"; } - else if ($justtarget) + elseif ($justtarget) { $sql.= "fk_target = ".$targetid." AND targettype = '".$targettype."'"; if ($withsourcetype) $sql.= " AND sourcetype = '".$sourcetype."'"; @@ -3087,7 +3087,7 @@ abstract class CommonObject { $this->linkedObjectsIds[$obj->targettype][$obj->rowid]=$obj->fk_target; } - else if ($justtarget) + elseif ($justtarget) { $this->linkedObjectsIds[$obj->sourcetype][$obj->rowid]=$obj->fk_source; } @@ -3125,28 +3125,28 @@ abstract class CommonObject if ($objecttype == 'facture') { $classpath = 'compta/facture/class'; } - else if ($objecttype == 'facturerec') { + elseif ($objecttype == 'facturerec') { $classpath = 'compta/facture/class'; $module = 'facture'; } - else if ($objecttype == 'propal') { + elseif ($objecttype == 'propal') { $classpath = 'comm/propal/class'; } - else if ($objecttype == 'supplier_proposal') { + elseif ($objecttype == 'supplier_proposal') { $classpath = 'supplier_proposal/class'; } - else if ($objecttype == 'shipping') { + elseif ($objecttype == 'shipping') { $classpath = 'expedition/class'; $subelement = 'expedition'; $module = 'expedition_bon'; } - else if ($objecttype == 'delivery') { + elseif ($objecttype == 'delivery') { $classpath = 'livraison/class'; $subelement = 'livraison'; $module = 'livraison_bon'; } - else if ($objecttype == 'invoice_supplier' || $objecttype == 'order_supplier') { + elseif ($objecttype == 'invoice_supplier' || $objecttype == 'order_supplier') { $classpath = 'fourn/class'; $module = 'fournisseur'; } - else if ($objecttype == 'fichinter') { + elseif ($objecttype == 'fichinter') { $classpath = 'fichinter/class'; $subelement = 'fichinter'; $module = 'ficheinter'; } - else if ($objecttype == 'subscription') { + elseif ($objecttype == 'subscription') { $classpath = 'adherents/class'; $module = 'adherent'; } @@ -3156,19 +3156,19 @@ abstract class CommonObject if ($objecttype == 'order') { $classfile = 'commande'; $classname = 'Commande'; } - else if ($objecttype == 'invoice_supplier') { + elseif ($objecttype == 'invoice_supplier') { $classfile = 'fournisseur.facture'; $classname = 'FactureFournisseur'; } - else if ($objecttype == 'order_supplier') { + elseif ($objecttype == 'order_supplier') { $classfile = 'fournisseur.commande'; $classname = 'CommandeFournisseur'; } - else if ($objecttype == 'supplier_proposal') { + elseif ($objecttype == 'supplier_proposal') { $classfile = 'supplier_proposal'; $classname = 'SupplierProposal'; } - else if ($objecttype == 'facturerec') { + elseif ($objecttype == 'facturerec') { $classfile = 'facture-rec'; $classname = 'FactureRec'; } - else if ($objecttype == 'subscription') { + elseif ($objecttype == 'subscription') { $classfile = 'subscription'; $classname = 'Subscription'; } @@ -3224,7 +3224,7 @@ abstract class CommonObject $updatetarget=false; if (! empty($sourceid) && ! empty($sourcetype) && empty($targetid) && empty($targettype)) $updatesource=true; - else if (empty($sourceid) && empty($sourcetype) && ! empty($targetid) && ! empty($targettype)) $updatetarget=true; + elseif (empty($sourceid) && empty($sourcetype) && ! empty($targetid) && ! empty($targettype)) $updatetarget=true; $sql = "UPDATE ".MAIN_DB_PREFIX."element_element SET "; if ($updatesource) @@ -3234,7 +3234,7 @@ abstract class CommonObject $sql.= " WHERE fk_target = ".$this->id; $sql.= " AND targettype = '".$this->db->escape($this->element)."'"; } - else if ($updatetarget) + elseif ($updatetarget) { $sql.= "fk_target = ".$targetid; $sql.= ", targettype = '".$this->db->escape($targettype)."'"; @@ -3271,7 +3271,7 @@ abstract class CommonObject $deletetarget=false; if (! empty($sourceid) && ! empty($sourcetype) && empty($targetid) && empty($targettype)) $deletesource=true; - else if (empty($sourceid) && empty($sourcetype) && ! empty($targetid) && ! empty($targettype)) $deletetarget=true; + elseif (empty($sourceid) && empty($sourcetype) && ! empty($targetid) && ! empty($targettype)) $deletetarget=true; $sourceid = (! empty($sourceid) ? $sourceid : $this->id); $sourcetype = (! empty($sourcetype) ? $sourcetype : $this->element); @@ -3291,7 +3291,7 @@ abstract class CommonObject $sql.= " fk_source = ".$sourceid." AND sourcetype = '".$this->db->escape($sourcetype)."'"; $sql.= " AND fk_target = ".$this->id." AND targettype = '".$this->db->escape($this->element)."'"; } - else if ($deletetarget) + elseif ($deletetarget) { $sql.= " fk_target = ".$targetid." AND targettype = '".$this->db->escape($targettype)."'"; $sql.= " AND fk_source = ".$this->id." AND sourcetype = '".$this->db->escape($this->element)."'"; @@ -3626,7 +3626,7 @@ abstract class CommonObject { if (empty($totalToShip)) $totalToShip=0; // Avoid warning because $totalToShip is '' $totalToShip+=$line->qty_shipped; // defined for shipment only - }else if ($line->element == 'commandefournisseurdispatch' && isset($line->qty)) + }elseif ($line->element == 'commandefournisseurdispatch' && isset($line->qty)) { if (empty($totalToShip)) $totalToShip=0; $totalToShip+=$line->qty; // defined for reception only @@ -4240,7 +4240,7 @@ abstract class CommonObject $discount->fk_soc = $this->socid; $this->tpl['label'].= $discount->getNomUrl(0,'discount'); } - else if (! empty($line->fk_product)) + elseif (! empty($line->fk_product)) { $productstatic = new Product($this->db); $productstatic->id = $line->fk_product; @@ -5437,7 +5437,7 @@ abstract class CommonObject { $morecss = 'minwidth100'; } - else if (round($size) <= 48) + elseif (round($size) <= 48) { $morecss = 'minwidth200'; } @@ -6035,7 +6035,7 @@ abstract class CommonObject { $showsize = 'minwidth100'; } - else if (round($size) <= 48) + elseif (round($size) <= 48) { $showsize = 'minwidth200'; } @@ -6589,12 +6589,12 @@ abstract class CommonObject { $buyPrice = $product->cost_price; } - else if ($product->pmp > 0) + elseif ($product->pmp > 0) { $buyPrice = $product->pmp; } } - else if (isset($conf->global->MARGIN_TYPE) && $conf->global->MARGIN_TYPE == 'pmp') + elseif (isset($conf->global->MARGIN_TYPE) && $conf->global->MARGIN_TYPE == 'pmp') { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $product = new Product($this->db); @@ -6618,7 +6618,7 @@ abstract class CommonObject { $buyPrice = $productFournisseur->fourn_unitprice; } - else if ($result < 0) + elseif ($result < 0) { $this->errors[] = $productFournisseur->error; return -2; @@ -6740,7 +6740,7 @@ abstract class CommonObject if ($nbphoto % $nbbyrow == 1) $return.= ''; $return.= ''; } - else if ($nbbyrow < 0) $return .= '
'; + elseif ($nbbyrow < 0) $return .= '
'; $return.= "\n"; @@ -6821,7 +6821,7 @@ abstract class CommonObject $return.= ''; if (($nbphoto % $nbbyrow) == 0) $return.= ''; } - else if ($nbbyrow < 0) $return.='
'; + elseif ($nbbyrow < 0) $return.='
'; } if (empty($size)) { // Format origine @@ -7003,7 +7003,7 @@ abstract class CommonObject $queryarray[$field] = $this->db->idate($this->{$field}); } } - else if($this->isArray($info)) + elseif($this->isArray($info)) { if(! empty($this->{$field})) { if(! is_array($this->{$field})) { @@ -7014,7 +7014,7 @@ abstract class CommonObject $queryarray[$field] = null; } } - else if($this->isInt($info)) + elseif($this->isInt($info)) { if ($field == 'entity' && is_null($this->{$field})) $queryarray[$field]=$conf->entity; else @@ -7023,7 +7023,7 @@ abstract class CommonObject if (empty($queryarray[$field])) $queryarray[$field]=0; // May be reset to null later if property 'notnull' is -1 for this field. } } - else if($this->isFloat($info)) + elseif($this->isFloat($info)) { $queryarray[$field] = (double) price2num($this->{$field}); if (empty($queryarray[$field])) $queryarray[$field]=0; @@ -7111,7 +7111,7 @@ abstract class CommonObject protected function quote($value, $fieldsentry) { if (is_null($value)) return 'NULL'; - else if (preg_match('/^(int|double|real)/i', $fieldsentry['type'])) return $this->db->escape("$value"); + elseif (preg_match('/^(int|double|real)/i', $fieldsentry['type'])) return $this->db->escape("$value"); else return "'".$this->db->escape($value)."'"; } diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index de39260e007..d25d3b13f36 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -180,10 +180,10 @@ class Conf if (! isset($this->modules_parts[$partname]) || ! is_array($this->modules_parts[$partname])) { $this->modules_parts[$partname] = array(); } $arrValue = json_decode($value,true); if (is_array($arrValue) && ! empty($arrValue)) $value = $arrValue; - else if (in_array($partname,array('login','menus','substitutions','triggers','tpl'))) $value = '/'.$modulename.'/core/'.$partname.'/'; - else if (in_array($partname,array('models','theme'))) $value = '/'.$modulename.'/'; - else if (in_array($partname,array('sms'))) $value = '/'.$modulename.'/'; - else if ($value == 1) $value = '/'.$modulename.'/core/modules/'.$partname.'/'; // ex: partname = societe + elseif (in_array($partname,array('login','menus','substitutions','triggers','tpl'))) $value = '/'.$modulename.'/core/'.$partname.'/'; + elseif (in_array($partname,array('models','theme'))) $value = '/'.$modulename.'/'; + elseif (in_array($partname,array('sms'))) $value = '/'.$modulename.'/'; + elseif ($value == 1) $value = '/'.$modulename.'/core/modules/'.$partname.'/'; // ex: partname = societe $this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $value)); // $value may be a string or an array } // If this is a module constant (must be at end) @@ -252,7 +252,7 @@ class Conf if (empty($this->global->MAIN_MENUFRONT_SMARTPHONE)) $this->global->MAIN_MENUFRONT_SMARTPHONE="eldy_menu.php"; // Use eldy by default because smartphone does not work on all phones // Clean var use vat for company if (! isset($this->global->FACTURE_TVAOPTION)) $this->global->FACTURE_TVAOPTION=1; - else if (! empty($this->global->FACTURE_TVAOPTION) && ! is_numeric($this->global->FACTURE_TVAOPTION)) + elseif (! empty($this->global->FACTURE_TVAOPTION) && ! is_numeric($this->global->FACTURE_TVAOPTION)) { // Old value of option, we clean to use new value (0 or 1) if ($this->global->FACTURE_TVAOPTION != "franchise") $this->global->FACTURE_TVAOPTION=1; diff --git a/htdocs/core/class/coreobject.class.php b/htdocs/core/class/coreobject.class.php index 5129ac54ece..a77b1cc8793 100644 --- a/htdocs/core/class/coreobject.class.php +++ b/htdocs/core/class/coreobject.class.php @@ -416,15 +416,15 @@ class CoreObject extends CommonObject { $this->setDate($key, $value); } - else if( $this->checkFieldType($key, 'array')) + elseif( $this->checkFieldType($key, 'array')) { $this->{$key} = $value; } - else if( $this->checkFieldType($key, 'float') ) + elseif( $this->checkFieldType($key, 'float') ) { $this->{$key} = (double) price2num($value); } - else if( $this->checkFieldType($key, 'int') ) { + elseif( $this->checkFieldType($key, 'int') ) { $this->{$key} = (int) price2num($value); } else diff --git a/htdocs/core/class/discount.class.php b/htdocs/core/class/discount.class.php index 48c426a830f..bb1e10e7a43 100644 --- a/htdocs/core/class/discount.class.php +++ b/htdocs/core/class/discount.class.php @@ -538,7 +538,7 @@ class DiscountAbsolute $sql.= ' WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = '.$invoice->id; $sql.= ' AND f.type = 3'; } - else if ($invoice->element == 'invoice_supplier') + elseif ($invoice->element == 'invoice_supplier') { $sql = 'SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount'; $sql.= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc, '.MAIN_DB_PREFIX.'facture_fourn as f'; @@ -584,7 +584,7 @@ class DiscountAbsolute $sql.= ' WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = '.$invoice->id; $sql.= ' AND (f.type = 2 OR f.type = 0)'; // Find discount coming from credit note or excess received } - else if ($invoice->element == 'invoice_supplier') + elseif ($invoice->element == 'invoice_supplier') { $sql = 'SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount'; $sql.= ' FROM '.MAIN_DB_PREFIX.'societe_remise_except as rc, '.MAIN_DB_PREFIX.'facture_fourn as f'; diff --git a/htdocs/core/class/dolgeoip.class.php b/htdocs/core/class/dolgeoip.class.php index a57e4e844ec..871951e3df0 100644 --- a/htdocs/core/class/dolgeoip.class.php +++ b/htdocs/core/class/dolgeoip.class.php @@ -48,7 +48,7 @@ class DolGeoIP // geoip may have been already included with PEAR if (! function_exists('geoip_country_code_by_name')) $res=include_once GEOIP_PATH.'geoip.inc'; } - else if ($type == 'city') + elseif ($type == 'city') { // geoip may have been already included with PEAR if (! function_exists('geoip_country_code_by_name')) $res=include_once GEOIP_PATH.'geoipcity.inc'; diff --git a/htdocs/core/class/dolgraph.class.php b/htdocs/core/class/dolgraph.class.php index 42386494a37..29d49c0ff9a 100644 --- a/htdocs/core/class/dolgraph.class.php +++ b/htdocs/core/class/dolgraph.class.php @@ -704,7 +704,7 @@ class DolGraph // Create graph $classname=''; if (! isset($this->type[0]) || $this->type[0] == 'bars') $classname='BarPlot'; // Only one type (first one) is supported by artichow - else if ($this->type[0] == 'lines' || $this->type[0] == 'linesnopoint') $classname='LinePlot'; + elseif ($this->type[0] == 'lines' || $this->type[0] == 'linesnopoint') $classname='LinePlot'; else $classname='TypeUnknown'; include_once ARTICHOW_PATH.$classname.'.class.php'; diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index cc1fae502b3..b09b48e1d3d 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -979,7 +979,7 @@ class ExtraFields { $morecss = 'minwidth100'; } - else if (round($size) <= 48) + elseif (round($size) <= 48) { $morecss = 'minwidth200'; } @@ -1333,7 +1333,7 @@ class ExtraFields // current object id can be use into filter if (strpos($InfoFieldList[4], '$ID$')!==false && !empty($objectid)) { $InfoFieldList[4]=str_replace('$ID$',$objectid,$InfoFieldList[4]); - } else if (preg_match("#^.*list.php$#",$_SERVER["DOCUMENT_URI"])) { + } elseif (preg_match("#^.*list.php$#",$_SERVER["DOCUMENT_URI"])) { // Pattern for word=$ID$ $word = '\b[a-zA-Z0-9-\.-_]+\b=\$ID\$'; @@ -1371,7 +1371,7 @@ class ExtraFields $boolCond =(( $matchCondition[1] == "AND" )?' AND 1 ':' OR 0 '); $InfoFieldList[4]=str_replace($matchCondition[0],$boolCond.$matchCondition[3],$InfoFieldList[4]); } - else if (! empty($matchCondition[3])) { + elseif (! empty($matchCondition[3])) { $boolCond =(( $matchCondition[3] == "AND" )?' 1 AND ':' 0 OR'); $InfoFieldList[4]=str_replace($matchCondition[0],$boolCond,$InfoFieldList[4]); } @@ -1945,7 +1945,7 @@ class ExtraFields // TODO GMT date in memory must be GMT so we should add gm=true in parameters $value_key=dol_mktime($_POST["options_".$key."hour"], $_POST["options_".$key."min"], 0, $_POST["options_".$key."month"], $_POST["options_".$key."day"], $_POST["options_".$key."year"]); } - else if (in_array($key_type,array('checkbox','chkbxlst'))) + elseif (in_array($key_type,array('checkbox','chkbxlst'))) { $value_arr=GETPOST("options_".$key, 'array'); // check if an array if (!empty($value_arr)) { @@ -1954,7 +1954,7 @@ class ExtraFields $value_key=''; } } - else if (in_array($key_type,array('price','double'))) + elseif (in_array($key_type,array('price','double'))) { $value_arr=GETPOST("options_".$key, 'alpha'); $value_key=price2num($value_arr); @@ -2020,14 +2020,14 @@ class ExtraFields // Clean parameters $value_key=dol_mktime($_POST[$keysuffix."options_".$key.$keyprefix."hour"], $_POST[$keysuffix."options_".$key.$keyprefix."min"], 0, $_POST[$keysuffix."options_".$key.$keyprefix."month"], $_POST[$keysuffix."options_".$key.$keyprefix."day"], $_POST[$keysuffix."options_".$key.$keyprefix."year"]); } - else if (in_array($key_type,array('checkbox', 'chkbxlst'))) + elseif (in_array($key_type,array('checkbox', 'chkbxlst'))) { $value_arr=GETPOST($keysuffix."options_".$key.$keyprefix); // Make sure we get an array even if there's only one checkbox $value_arr=(array) $value_arr; $value_key=implode(',', $value_arr); } - else if (in_array($key_type,array('price','double'))) + elseif (in_array($key_type,array('price','double'))) { $value_arr=GETPOST($keysuffix."options_".$key.$keyprefix); $value_key=price2num($value_arr); diff --git a/htdocs/core/class/fileupload.class.php b/htdocs/core/class/fileupload.class.php index 027fdda0514..bf1045aaa35 100644 --- a/htdocs/core/class/fileupload.class.php +++ b/htdocs/core/class/fileupload.class.php @@ -136,7 +136,7 @@ class FileUpload $object_ref = dol_sanitizeFileName($object->ref); if ($element == 'invoice_supplier') { $object_ref = get_exdir($object->id,2,0,0,$object,'invoice_supplier') . $object_ref; - } else if ($element == 'project_task') { + } elseif ($element == 'project_task') { $object_ref = $object->project->ref . '/' . $object_ref; } @@ -456,7 +456,7 @@ class FileUpload } } } - else if ($this->options['discard_aborted_uploads']) + elseif ($this->options['discard_aborted_uploads']) { unlink($file_path); $file->error = 'abort'; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 228c9fa1538..1b9b54f2bc3 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -194,13 +194,13 @@ class Form $tmp=explode(':',$typeofdata); $ret.=''; } - else if (preg_match('/^(numeric|amount)/',$typeofdata)) + elseif (preg_match('/^(numeric|amount)/',$typeofdata)) { $tmp=explode(':',$typeofdata); $valuetoshow=price2num($editvalue?$editvalue:$value); $ret.=''; } - else if (preg_match('/^text/',$typeofdata) || preg_match('/^note/',$typeofdata)) + elseif (preg_match('/^text/',$typeofdata) || preg_match('/^note/',$typeofdata)) { $tmp=explode(':',$typeofdata); $cols=$tmp[2]; @@ -217,15 +217,15 @@ class Form $ret.=dol_string_neverthesehtmltags($valuetoshow, array('textarea')); $ret.=''; } - else if ($typeofdata == 'day' || $typeofdata == 'datepicker') + elseif ($typeofdata == 'day' || $typeofdata == 'datepicker') { $ret.=$this->selectDate($value,$htmlname,0,0,1,'form'.$htmlname,1,0); } - else if ($typeofdata == 'dayhour' || $typeofdata == 'datehourpicker') + elseif ($typeofdata == 'dayhour' || $typeofdata == 'datehourpicker') { $ret.=$this->selectDate($value,$htmlname,1,1,1,'form'.$htmlname,1,0); } - else if (preg_match('/^select;/',$typeofdata)) + elseif (preg_match('/^select;/',$typeofdata)) { $arraydata=explode(',',preg_replace('/^select;/','',$typeofdata)); foreach($arraydata as $val) @@ -235,7 +235,7 @@ class Form } $ret.=$this->selectarray($htmlname,$arraylist,$value); } - else if (preg_match('/^ckeditor/',$typeofdata)) + elseif (preg_match('/^ckeditor/',$typeofdata)) { $tmp=explode(':',$typeofdata); // Example: ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; @@ -261,7 +261,7 @@ class Form elseif (preg_match('/^text/',$typeofdata) || preg_match('/^note/',$typeofdata)) $ret.=dol_htmlentitiesbr($value); elseif ($typeofdata == 'day' || $typeofdata == 'datepicker') $ret.=dol_print_date($value,'day'); elseif ($typeofdata == 'dayhour' || $typeofdata == 'datehourpicker') $ret.=dol_print_date($value,'dayhour'); - else if (preg_match('/^select;/',$typeofdata)) + elseif (preg_match('/^select;/',$typeofdata)) { $arraydata=explode(',',preg_replace('/^select;/','',$typeofdata)); foreach($arraydata as $val) @@ -271,7 +271,7 @@ class Form } $ret.=$arraylist[$value]; } - else if (preg_match('/^ckeditor/',$typeofdata)) + elseif (preg_match('/^ckeditor/',$typeofdata)) { $tmpcontent=dol_htmlentitiesbr($value); if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) @@ -314,8 +314,8 @@ class Form // Check parameters if (preg_match('/^text/',$inputType)) $value = dol_nl2br($value); - else if (preg_match('/^numeric/',$inputType)) $value = price($value); - else if ($inputType == 'day' || $inputType == 'datepicker') $value = dol_print_date($value, 'day'); + elseif (preg_match('/^numeric/',$inputType)) $value = price($value); + elseif ($inputType == 'day' || $inputType == 'datepicker') $value = dol_print_date($value, 'day'); if ($condition) { @@ -348,7 +348,7 @@ class Form if (! empty($tmp[2])) $savemethod=$tmp[2]; $out.= ''."\n"; } - else if ((preg_match('/^day$/',$inputType)) || (preg_match('/^datepicker/',$inputType)) || (preg_match('/^datehourpicker/',$inputType))) + elseif ((preg_match('/^day$/',$inputType)) || (preg_match('/^datepicker/',$inputType)) || (preg_match('/^datehourpicker/',$inputType))) { $tmp=explode(':',$inputType); $inputType=$tmp[0]; @@ -357,21 +357,21 @@ class Form $out.= ''."\n"; // Use for timestamp format } - else if (preg_match('/^(select|autocomplete)/',$inputType)) + elseif (preg_match('/^(select|autocomplete)/',$inputType)) { $tmp=explode(':',$inputType); $inputType=$tmp[0]; $loadmethod=$tmp[1]; if (! empty($tmp[2])) $savemethod=$tmp[2]; if (! empty($tmp[3])) $button_only=true; } - else if (preg_match('/^textarea/',$inputType)) + elseif (preg_match('/^textarea/',$inputType)) { $tmp=explode(':',$inputType); $inputType=$tmp[0]; $rows=(empty($tmp[1])?'8':$tmp[1]); $cols=(empty($tmp[2])?'80':$tmp[2]); } - else if (preg_match('/^ckeditor/',$inputType)) + elseif (preg_match('/^ckeditor/',$inputType)) { $tmp=explode(':',$inputType); $inputType=$tmp[0]; $toolbar=$tmp[1]; @@ -1081,7 +1081,7 @@ class Form $out.= ajax_autocompleter($selected, $htmlname, DOL_URL_ROOT.'/societe/ajax/company.php', $urloption, $conf->global->COMPANY_USE_SEARCH_TO_SELECT, 0, $ajaxoptions); $out.=''; if (empty($hidelabel)) print $langs->trans("RefOrLabel").' : '; - else if ($hidelabel > 1) { + elseif ($hidelabel > 1) { $placeholder=' placeholder="'.$langs->trans("RefOrLabel").'"'; if ($hidelabel == 2) { $out.= img_picto($langs->trans("Search"), 'search'); @@ -1131,7 +1131,7 @@ class Form $outarray=array(); if ($selected === '') $selected = array(); - else if (!is_array($selected)) $selected = array($selected); + elseif (!is_array($selected)) $selected = array($selected); // Clean $filter that may contains sql conditions so sql code if (function_exists('testSqlAndScriptInject')) { @@ -1421,7 +1421,7 @@ class Form if (empty($htmlid)) $htmlid = $htmlname; if ($selected === '') $selected = array(); - else if (!is_array($selected)) $selected = array($selected); + elseif (!is_array($selected)) $selected = array($selected); $out=''; if (! is_object($hookmanager)) @@ -1598,7 +1598,7 @@ class Form if ((is_numeric($selected) && ($selected < -2 || empty($selected))) && empty($conf->global->SOCIETE_DISABLE_DEFAULT_SALESREPRESENTATIVE)) $selected=$user->id; if ($selected === '') $selected = array(); - else if (!is_array($selected)) $selected = array($selected); + elseif (!is_array($selected)) $selected = array($selected); $excludeUsers=null; $includeUsers=null; @@ -1607,12 +1607,12 @@ class Form if (is_array($exclude)) $excludeUsers = implode(",",$exclude); // Permettre l'inclusion d'utilisateurs if (is_array($include)) $includeUsers = implode(",",$include); - else if ($include == 'hierarchy') + elseif ($include == 'hierarchy') { // Build list includeUsers to have only hierarchy $includeUsers = implode(",",$user->getAllChildIds(0)); } - else if ($include == 'hierarchyme') + elseif ($include == 'hierarchyme') { // Build list includeUsers to have only hierarchy and current user $includeUsers = implode(",",$user->getAllChildIds(1)); @@ -1991,7 +1991,7 @@ class Form trans("RefOrLabel").' : '; - else if ($hidelabel > 1) { + elseif ($hidelabel > 1) { $placeholder=' placeholder="'.$langs->trans("RefOrLabel").'"'; if ($hidelabel == 2) { print img_picto($langs->trans("Search"), 'search'); @@ -2367,7 +2367,7 @@ class Form if (! empty($conf->stock->enabled) && $objp->fk_product_type == 0 && isset($objp->stock)) { if ($objp->stock > 0) $opt.= ' class="product_line_stock_ok"'; - else if ($objp->stock <= 0) $opt.= ' class="product_line_stock_too_low"'; + elseif ($objp->stock <= 0) $opt.= ' class="product_line_stock_too_low"'; } $opt.= '>'; $opt.= $objp->ref; @@ -4906,7 +4906,7 @@ class Form $code_country.=",'".$societe_acheteuse->country_code."'"; } } - else if (! $idprod) // We don't know type of product + elseif (! $idprod) // We don't know type of product { $code_country.=",'".$societe_acheteuse->country_code."'"; } @@ -6370,40 +6370,40 @@ class Form $tplpath = 'compta/'.$element; if (empty($conf->facture->enabled)) continue; // Do not show if module disabled } - else if ($objecttype == 'facturerec') { + elseif ($objecttype == 'facturerec') { $tplpath = 'compta/facture'; $tplname = 'linkedobjectblockForRec'; if (empty($conf->facture->enabled)) continue; // Do not show if module disabled } - else if ($objecttype == 'propal') { + elseif ($objecttype == 'propal') { $tplpath = 'comm/'.$element; if (empty($conf->propal->enabled)) continue; // Do not show if module disabled } - else if ($objecttype == 'supplier_proposal') { + elseif ($objecttype == 'supplier_proposal') { if (empty($conf->supplier_proposal->enabled)) continue; // Do not show if module disabled } - else if ($objecttype == 'shipping' || $objecttype == 'shipment') { + elseif ($objecttype == 'shipping' || $objecttype == 'shipment') { $tplpath = 'expedition'; if (empty($conf->expedition->enabled)) continue; // Do not show if module disabled } - else if ($objecttype == 'reception') { + elseif ($objecttype == 'reception') { $tplpath = 'reception'; if (empty($conf->reception->enabled)) continue; // Do not show if module disabled } - else if ($objecttype == 'delivery') { + elseif ($objecttype == 'delivery') { $tplpath = 'livraison'; if (empty($conf->expedition->enabled)) continue; // Do not show if module disabled } - else if ($objecttype == 'invoice_supplier') { + elseif ($objecttype == 'invoice_supplier') { $tplpath = 'fourn/facture'; } - else if ($objecttype == 'order_supplier') { + elseif ($objecttype == 'order_supplier') { $tplpath = 'fourn/commande'; } - else if ($objecttype == 'expensereport') { + elseif ($objecttype == 'expensereport') { $tplpath = 'expensereport'; } - else if ($objecttype == 'subscription') { + elseif ($objecttype == 'subscription') { $tplpath = 'adherents'; } @@ -6509,7 +6509,7 @@ class Form $possiblelinks=array_merge($possiblelinks, $hookmanager->resArray); } } - else if ($reshook > 0) + elseif ($reshook > 0) { if (is_array($hookmanager->resArray) && count($hookmanager->resArray)) { @@ -6832,7 +6832,7 @@ class Form { $ret.=dol_htmlentities($object->name); } - else if ($object->element == 'member') + elseif ($object->element == 'member') { $ret.=$object->ref.'
'; $fullname=$object->getFullName($langs); @@ -6842,23 +6842,23 @@ class Form $ret.= dol_htmlentities($fullname) . ((! empty($object->societe) && $object->societe != $fullname)?' ('.dol_htmlentities($object->societe).')':''); } } - else if (in_array($object->element, array('contact', 'user', 'usergroup'))) + elseif (in_array($object->element, array('contact', 'user', 'usergroup'))) { $ret.=dol_htmlentities($object->getFullName($langs)); } - else if (in_array($object->element, array('action', 'agenda'))) + elseif (in_array($object->element, array('action', 'agenda'))) { $ret.=$object->ref.'
'.$object->label; } - else if (in_array($object->element, array('adherent_type'))) + elseif (in_array($object->element, array('adherent_type'))) { $ret.=$object->label; } - else if ($object->element == 'ecm_directories') + elseif ($object->element == 'ecm_directories') { $ret.=''; } - else if ($fieldref != 'none') $ret.=dol_htmlentities($object->$fieldref); + elseif ($fieldref != 'none') $ret.=dol_htmlentities($object->$fieldref); if ($morehtmlref) @@ -6931,32 +6931,32 @@ class Form if (! empty($object->logo)) { if ((string) $imagesize == 'mini') $file=get_exdir(0, 0, 0, 0, $object, 'thirdparty').'/logos/'.getImageFileNameForSize($object->logo, '_mini'); // getImageFileNameForSize include the thumbs - else if ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'thirdparty').'/logos/'.getImageFileNameForSize($object->logo, '_small'); + elseif ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'thirdparty').'/logos/'.getImageFileNameForSize($object->logo, '_small'); else $file=get_exdir(0, 0, 0, 0, $object, 'thirdparty').'/logos/'.$object->logo; $originalfile=get_exdir(0, 0, 0, 0, $object, 'thirdparty').'/logos/'.$object->logo; } $email=$object->email; } - else if ($modulepart=='contact') + elseif ($modulepart=='contact') { $dir=$conf->societe->multidir_output[$entity].'/contact'; if (! empty($object->photo)) { if ((string) $imagesize == 'mini') $file=get_exdir(0, 0, 0, 0, $object, 'contact').'/photos/'.getImageFileNameForSize($object->photo, '_mini'); - else if ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'contact').'/photos/'.getImageFileNameForSize($object->photo, '_small'); + elseif ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'contact').'/photos/'.getImageFileNameForSize($object->photo, '_small'); else $file=get_exdir(0, 0, 0, 0, $object, 'contact').'/photos/'.$object->photo; $originalfile=get_exdir(0, 0, 0, 0, $object, 'contact').'/photos/'.$object->photo; } $email=$object->email; $capture='user'; } - else if ($modulepart=='userphoto') + elseif ($modulepart=='userphoto') { $dir=$conf->user->dir_output; if (! empty($object->photo)) { if ((string) $imagesize == 'mini') $file=get_exdir(0, 0, 0, 0, $object, 'user').$object->id.'/'.getImageFileNameForSize($object->photo, '_mini'); - else if ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'user').$object->id.'/'.getImageFileNameForSize($object->photo, '_small'); + elseif ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'user').$object->id.'/'.getImageFileNameForSize($object->photo, '_small'); else $file=get_exdir(0, 0, 0, 0, $object, 'user').'/'.$object->id.'/'.$object->photo; $originalfile=get_exdir(0, 0, 0, 0, $object, 'user').'/'.$object->id.'/'.$object->photo; } @@ -6964,13 +6964,13 @@ class Form $email=$object->email; $capture='user'; } - else if ($modulepart=='memberphoto') + elseif ($modulepart=='memberphoto') { $dir=$conf->adherent->dir_output; if (! empty($object->photo)) { if ((string) $imagesize == 'mini') $file=get_exdir(0, 0, 0, 0, $object, 'member').'photos/'.getImageFileNameForSize($object->photo, '_mini'); - else if ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'member').'photos/'.getImageFileNameForSize($object->photo, '_small'); + elseif ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'member').'photos/'.getImageFileNameForSize($object->photo, '_small'); else $file=get_exdir(0, 0, 0, 0, $object, 'member').'photos/'.$object->photo; $originalfile=get_exdir(0, 0, 0, 0, $object, 'member').'photos/'.$object->photo; } @@ -6985,7 +6985,7 @@ class Form if (! empty($object->photo)) { if ((string) $imagesize == 'mini') $file=get_exdir($id, 2, 0, 0, $object, $modulepart).'photos/'.getImageFileNameForSize($object->photo, '_mini'); - else if ((string) $imagesize == 'small') $file=get_exdir($id, 2, 0, 0, $object, $modulepart).'photos/'.getImageFileNameForSize($object->photo, '_small'); + elseif ((string) $imagesize == 'small') $file=get_exdir($id, 2, 0, 0, $object, $modulepart).'photos/'.getImageFileNameForSize($object->photo, '_small'); else $file=get_exdir($id, 2, 0, 0, $object, $modulepart).'photos/'.$object->photo; $originalfile=get_exdir($id, 2, 0, 0, $object, $modulepart).'photos/'.$object->photo; } @@ -7008,7 +7008,7 @@ class Form $ret.='Photo'; if ($addlinktofullsize) $ret.=''; } - else if ($altfile && file_exists($dir."/".$altfile)) + elseif ($altfile && file_exists($dir."/".$altfile)) { if ($addlinktofullsize) { diff --git a/htdocs/core/class/html.formadmin.class.php b/htdocs/core/class/html.formadmin.class.php index 32a421a7b61..350c3c747ee 100644 --- a/htdocs/core/class/html.formadmin.class.php +++ b/htdocs/core/class/html.formadmin.class.php @@ -100,7 +100,7 @@ class FormAdmin $out.= ''; } } - else if ($selected == $key) + elseif ($selected == $key) { $out.= ''; } @@ -167,7 +167,7 @@ class FormAdmin $prefix=''; // 0=Recommanded, 1=Experimental, 2=Developpement, 3=Other if (preg_match('/^eldy/i',$file)) $prefix='0'; - else if (preg_match('/^smartphone/i',$file)) $prefix='2'; + elseif (preg_match('/^smartphone/i',$file)) $prefix='2'; else $prefix='3'; if ($file == $selected) diff --git a/htdocs/core/class/html.formcompany.class.php b/htdocs/core/class/html.formcompany.class.php index 9d0bded74b6..edeab6a5983 100644 --- a/htdocs/core/class/html.formcompany.class.php +++ b/htdocs/core/class/html.formcompany.class.php @@ -816,12 +816,12 @@ class FormCompany { if (isset($idprof)) { if ($idprof==1) $formlength=9; - else if ($idprof==2) $formlength=14; - else if ($idprof==3) $formlength=5; // 4 chiffres et 1 lettre depuis janvier - else if ($idprof==4) $formlength=32; // No maximum as we need to include a town name in this id + elseif ($idprof==2) $formlength=14; + elseif ($idprof==3) $formlength=5; // 4 chiffres et 1 lettre depuis janvier + elseif ($idprof==4) $formlength=32; // No maximum as we need to include a town name in this id } } - else if ($country_code == 'ES') + elseif ($country_code == 'ES') { if ($idprof==1) $formlength=9; //CIF/NIF/NIE 9 digits if ($idprof==2) $formlength=12; //NASS 12 digits without / @@ -833,9 +833,9 @@ class FormCompany $selected=$preselected; if (! $selected && isset($idprof)) { if ($idprof==1 && ! empty($this->idprof1)) $selected=$this->idprof1; - else if ($idprof==2 && ! empty($this->idprof2)) $selected=$this->idprof2; - else if ($idprof==3 && ! empty($this->idprof3)) $selected=$this->idprof3; - else if ($idprof==4 && ! empty($this->idprof4)) $selected=$this->idprof4; + elseif ($idprof==2 && ! empty($this->idprof2)) $selected=$this->idprof2; + elseif ($idprof==3 && ! empty($this->idprof3)) $selected=$this->idprof3; + elseif ($idprof==4 && ! empty($this->idprof4)) $selected=$this->idprof4; } $maxlength=$formlength; diff --git a/htdocs/core/class/html.formcontract.class.php b/htdocs/core/class/html.formcontract.class.php index 5bdb00cfc40..be028b5fe14 100644 --- a/htdocs/core/class/html.formcontract.class.php +++ b/htdocs/core/class/html.formcontract.class.php @@ -78,7 +78,7 @@ class FormContract // CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY is 'all' or a list of ids separated by coma. if (empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY)) $sql.= " AND (c.fk_soc=".$socid." OR c.fk_soc IS NULL)"; - else if ($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all') + elseif ($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all') { $sql.= " AND (c.fk_soc IN (".$socid.", ".$conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY.") "; $sql.= " OR c.fk_soc IS NULL)"; diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index d8af718bb04..5bb922d43ed 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -380,7 +380,7 @@ class FormFile $modellist=ModeleThirdPartyDoc::liste_modeles($this->db); } } - else if ($modulepart == 'propal') + elseif ($modulepart == 'propal') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -389,7 +389,7 @@ class FormFile $modellist=ModelePDFPropales::liste_modeles($this->db); } } - else if ($modulepart == 'supplier_proposal') + elseif ($modulepart == 'supplier_proposal') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -398,7 +398,7 @@ class FormFile $modellist=ModelePDFSupplierProposal::liste_modeles($this->db); } } - else if ($modulepart == 'commande') + elseif ($modulepart == 'commande') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -434,7 +434,7 @@ class FormFile $modellist=ModelePDFDeliveryOrder::liste_modeles($this->db); } } - else if ($modulepart == 'ficheinter') + elseif ($modulepart == 'ficheinter') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -524,7 +524,7 @@ class FormFile $modellist=ModeleExports::liste_modeles($this->db); } } - else if ($modulepart == 'commande_fournisseur' || $modulepart == 'supplier_order') + elseif ($modulepart == 'commande_fournisseur' || $modulepart == 'supplier_order') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -533,7 +533,7 @@ class FormFile $modellist=ModelePDFSuppliersOrders::liste_modeles($this->db); } } - else if ($modulepart == 'facture_fournisseur' || $modulepart == 'supplier_invoice') + elseif ($modulepart == 'facture_fournisseur' || $modulepart == 'supplier_invoice') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -542,7 +542,7 @@ class FormFile $modellist=ModelePDFSuppliersInvoices::liste_modeles($this->db); } } - else if ($modulepart == 'supplier_payment') + elseif ($modulepart == 'supplier_payment') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -551,7 +551,7 @@ class FormFile $modellist=ModelePDFSuppliersPayments::liste_modeles($this->db); } } - else if ($modulepart == 'remisecheque') + elseif ($modulepart == 'remisecheque') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -587,7 +587,7 @@ class FormFile $modellist=ModeleAction::liste_modeles($this->db); } } - else if ($modulepart == 'expensereport') + elseif ($modulepart == 'expensereport') { if (is_array($genallowed)) $modellist=$genallowed; else @@ -596,7 +596,7 @@ class FormFile $modellist=ModeleExpenseReport::liste_modeles($this->db); } } - else if ($modulepart == 'unpaid') + elseif ($modulepart == 'unpaid') { $modellist=''; } @@ -1465,72 +1465,72 @@ class FormFile include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; $object_instance=new Societe($this->db); } - else if ($modulepart == 'invoice') + elseif ($modulepart == 'invoice') { include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; $object_instance=new Facture($this->db); } - else if ($modulepart == 'invoice_supplier') + elseif ($modulepart == 'invoice_supplier') { include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; $object_instance=new FactureFournisseur($this->db); } - else if ($modulepart == 'propal') + elseif ($modulepart == 'propal') { include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; $object_instance=new Propal($this->db); } - else if ($modulepart == 'supplier_proposal') + elseif ($modulepart == 'supplier_proposal') { include_once DOL_DOCUMENT_ROOT.'/supplier_proposal/class/supplier_proposal.class.php'; $object_instance=new SupplierProposal($this->db); } - else if ($modulepart == 'order') + elseif ($modulepart == 'order') { include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; $object_instance=new Commande($this->db); } - else if ($modulepart == 'order_supplier') + elseif ($modulepart == 'order_supplier') { include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; $object_instance=new CommandeFournisseur($this->db); } - else if ($modulepart == 'contract') + elseif ($modulepart == 'contract') { include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; $object_instance=new Contrat($this->db); } - else if ($modulepart == 'product') + elseif ($modulepart == 'product') { include_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $object_instance=new Product($this->db); } - else if ($modulepart == 'tax') + elseif ($modulepart == 'tax') { include_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; $object_instance=new ChargeSociales($this->db); } - else if ($modulepart == 'project') + elseif ($modulepart == 'project') { include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; $object_instance=new Project($this->db); } - else if ($modulepart == 'fichinter') + elseif ($modulepart == 'fichinter') { include_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; $object_instance=new Fichinter($this->db); } - else if ($modulepart == 'user') + elseif ($modulepart == 'user') { include_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; $object_instance=new User($this->db); } - else if ($modulepart == 'expensereport') + elseif ($modulepart == 'expensereport') { include_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; $object_instance=new ExpenseReport($this->db); } - else if ($modulepart == 'holiday') + elseif ($modulepart == 'holiday') { include_once DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php'; $object_instance=new Holiday($this->db); diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php index 2cb10056cc3..4c0f4bd2953 100644 --- a/htdocs/core/class/html.formmail.class.php +++ b/htdocs/core/class/html.formmail.class.php @@ -614,7 +614,7 @@ class FormMail extends Form $soc->fetch($this->toid); $out.= $soc->getNomUrl(1); } - else if ($this->totype == 'contact') + elseif ($this->totype == 'contact') { $contact=new Contact($this->db); $contact->fetch($this->toid); @@ -841,7 +841,7 @@ class FormMail extends Form $out.= '
'; } } - else if (empty($this->withmaindocfile)) // Do not show message if we asked to show the checkbox + elseif (empty($this->withmaindocfile)) // Do not show message if we asked to show the checkbox { $out.= $langs->trans("NoAttachedFiles").'
'; } @@ -924,7 +924,7 @@ class FormMail extends Form // Deal with format differences between message and signature (text / HTML) if (dol_textishtml($defaultmessage) && !dol_textishtml($this->substit['__USER_SIGNATURE__'])) { $this->substit['__USER_SIGNATURE__'] = dol_nl2br($this->substit['__USER_SIGNATURE__']); - } else if(!dol_textishtml($defaultmessage) && dol_textishtml($this->substit['__USER_SIGNATURE__'])) { + } elseif(!dol_textishtml($defaultmessage) && dol_textishtml($this->substit['__USER_SIGNATURE__'])) { $defaultmessage = dol_nl2br($defaultmessage); } diff --git a/htdocs/core/class/html.formprojet.class.php b/htdocs/core/class/html.formprojet.class.php index dea04047405..299de827dca 100644 --- a/htdocs/core/class/html.formprojet.class.php +++ b/htdocs/core/class/html.formprojet.class.php @@ -171,7 +171,7 @@ class FormProjets if ($socid > 0) { if (empty($conf->global->PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY)) $sql.= " AND (p.fk_soc=".$socid." OR p.fk_soc IS NULL)"; - else if ($conf->global->PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all') // PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY is 'all' or a list of ids separated by coma. + elseif ($conf->global->PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all') // PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY is 'all' or a list of ids separated by coma. { $sql.= " AND (p.fk_soc IN (".$socid.", ".$conf->global->PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY.") OR p.fk_soc IS NULL)"; } @@ -233,12 +233,12 @@ class FormProjets $disabled=1; $labeltoshow.=' - '.$langs->trans("Draft"); } - else if ($obj->fk_statut == 2) + elseif ($obj->fk_statut == 2) { if ($discard_closed == 2) $disabled=1; $labeltoshow.=' - '.$langs->trans("Closed"); } - else if ( empty($conf->global->PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY) && $socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid)) + elseif ( empty($conf->global->PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY) && $socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid)) { $disabled=1; $labeltoshow.=' - '.$langs->trans("LinkedToAnotherCompany"); @@ -416,12 +416,12 @@ class FormProjets $disabled=1; $labeltoshow.=' - '.$langs->trans("Draft"); } - else if ($obj->fk_statut == Project::STATUS_CLOSED) + elseif ($obj->fk_statut == Project::STATUS_CLOSED) { if ($discard_closed == 2) $disabled=1; $labeltoshow.=' - '.$langs->trans("Closed"); } - else if ($socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid)) + elseif ($socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid)) { $disabled=1; $labeltoshow.=' - '.$langs->trans("LinkedToAnotherCompany"); diff --git a/htdocs/core/class/html.formsms.class.php b/htdocs/core/class/html.formsms.class.php index 4ef6208723d..cde7d0b61d2 100644 --- a/htdocs/core/class/html.formsms.class.php +++ b/htdocs/core/class/html.formsms.class.php @@ -208,7 +208,7 @@ function limitChars(textarea, limit, infodiv) dol_print_error('','Error to get list of senders: '.$e->getMessage()); } } - else if (!empty($conf->global->MAIN_SMS_SENDMODE)) // $conf->global->MAIN_SMS_SENDMODE looks like a value 'class@module' + elseif (!empty($conf->global->MAIN_SMS_SENDMODE)) // $conf->global->MAIN_SMS_SENDMODE looks like a value 'class@module' { $tmp=explode('@',$conf->global->MAIN_SMS_SENDMODE); $classfile=$tmp[0]; $module=(empty($tmp[1])?$tmp[0]:$tmp[1]); diff --git a/htdocs/core/class/interfaces.class.php b/htdocs/core/class/interfaces.class.php index 6f43643eeb7..7a19546dfb3 100644 --- a/htdocs/core/class/interfaces.class.php +++ b/htdocs/core/class/interfaces.class.php @@ -212,7 +212,7 @@ class Interfaces $nbtotal++; $nbko++; if (! empty($objMod->errors)) $this->errors=array_merge($this->errors,$objMod->errors); - else if (! empty($objMod->error)) $this->errors[]=$objMod->error; + elseif (! empty($objMod->error)) $this->errors[]=$objMod->error; //dol_syslog("Error in trigger ".$action." - Nb of error string returned = ".count($this->errors), LOG_ERR); } } @@ -338,7 +338,7 @@ class Interfaces $module=preg_replace('/^mod/i','',$reg[2]); $constparam='MAIN_MODULE_'.strtoupper($module); if (strtolower($module) == 'all') $disabledbymodule=0; - else if (empty($conf->global->$constparam)) $disabledbymodule=2; + elseif (empty($conf->global->$constparam)) $disabledbymodule=2; $triggers[$j]['module']=strtolower($module); } diff --git a/htdocs/core/class/menubase.class.php b/htdocs/core/class/menubase.class.php index 86b27948389..15c22116d46 100644 --- a/htdocs/core/class/menubase.class.php +++ b/htdocs/core/class/menubase.class.php @@ -634,7 +634,7 @@ class Menubase $tab_titre = explode("/",$menu['titre']); $title = $langs->trans($tab_titre[0])."/".$langs->trans($tab_titre[1]); } - else if (preg_match('/\|\|/',$menu['titre'])) // To manage different translation (Title||AltTitle@ConditionForAltTitle) + elseif (preg_match('/\|\|/',$menu['titre'])) // To manage different translation (Title||AltTitle@ConditionForAltTitle) { $tab_title = explode("||",$menu['titre']); $alt_title = explode("@",$tab_title[1]); diff --git a/htdocs/core/class/rssparser.class.php b/htdocs/core/class/rssparser.class.php index fd37476a26e..454d8281770 100644 --- a/htdocs/core/class/rssparser.class.php +++ b/htdocs/core/class/rssparser.class.php @@ -342,7 +342,7 @@ class RssParser else $items=$rss->items; // With xmlparse //var_dump($items);exit; } - else if ($rss->_format == 'atom') + elseif ($rss->_format == 'atom') { //var_dump($rss); if (! empty($conf->global->EXTERNALRSS_USE_SIMPLEXML)) @@ -410,7 +410,7 @@ class RssParser } } } - else if ($rss->_format == 'atom') + elseif ($rss->_format == 'atom') { if (! empty($conf->global->EXTERNALRSS_USE_SIMPLEXML)) { diff --git a/htdocs/core/class/smtps.class.php b/htdocs/core/class/smtps.class.php index 1ade95098fa..780be1ba441 100644 --- a/htdocs/core/class/smtps.class.php +++ b/htdocs/core/class/smtps.class.php @@ -1413,7 +1413,7 @@ class SMTPs die ("Sorry, no content"); // If we have ONE, we can use the simple format - else if( $keyCount === 1 && empty($conf->global->MAIN_MAIL_USE_MULTI_PART)) + elseif( $keyCount === 1 && empty($conf->global->MAIN_MAIL_USE_MULTI_PART)) { $_msgData = $this->_msgContent; $_msgData = $_msgData[$_types[0]]; @@ -1431,7 +1431,7 @@ class SMTPs } // If we have more than ONE, we use the multi-part format - else if( $keyCount >= 1 || ! empty($conf->global->MAIN_MAIL_USE_MULTI_PART)) + elseif( $keyCount >= 1 || ! empty($conf->global->MAIN_MAIL_USE_MULTI_PART)) { // Since this is an actual multi-part message // We need to define a content message Boundary @@ -1479,7 +1479,7 @@ class SMTPs } } // @CHANGE LDR - else if ( $type == 'image' ) + elseif ( $type == 'image' ) { // loop through all images foreach ( $_content as $_image => $_data ) @@ -1751,8 +1751,8 @@ class SMTPs function _getBoundary($type='mixed') { if ($type == 'mixed') return $this->_smtpsBoundary; - else if ($type == 'related') return $this->_smtpsRelatedBoundary; - else if ($type == 'alternative') return $this->_smtpsAlternativeBoundary; + elseif ($type == 'related') return $this->_smtpsRelatedBoundary; + elseif ($type == 'alternative') return $this->_smtpsAlternativeBoundary; } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php index a8d22b61257..2c1683fd68c 100644 --- a/htdocs/core/class/translate.class.php +++ b/htdocs/core/class/translate.class.php @@ -105,7 +105,7 @@ class Translate $longforshort=array('ar'=>'ar_SA'); $longforshortexcep=array('ar_EG'); if (isset($longforshort[strtolower($langpart[0])]) && ! in_array($codetouse, $longforshortexcep)) $srclang=$longforshort[strtolower($langpart[0])]; - else if (! is_numeric($langpart[1])) { // Second part YY may be a numeric with some Chrome browser + elseif (! is_numeric($langpart[1])) { // Second part YY may be a numeric with some Chrome browser $srclang=strtolower($langpart[0])."_".strtoupper($langpart[1]); $longforlong=array('no_nb'=>'nb_NO'); if (isset($longforlong[strtolower($srclang)])) $srclang=$longforlong[strtolower($srclang)]; @@ -116,7 +116,7 @@ class Translate // Array to convert short lang code into long code. $longforshort=array('ar'=>'ar_SA', 'el'=>'el_GR', 'ca'=>'ca_ES', 'en'=>'en_US', 'nb'=>'nb_NO', 'no'=>'nb_NO'); if (isset($longforshort[strtolower($langpart[0])])) $srclang=$longforshort[strtolower($langpart[0])]; - else if (! empty($langpart[0])) $srclang=strtolower($langpart[0])."_".strtoupper($langpart[0]); + elseif (! empty($langpart[0])) $srclang=strtolower($langpart[0])."_".strtoupper($langpart[0]); else $srclang='en_US'; } @@ -247,7 +247,7 @@ class Translate $usecachekey=$newdomain.'_'.$langofdir.'_'.md5($file_lang); // Should not contains special chars } // Using cache with shmop. Speed gain: 40ms - Memory overusage: 200ko (Size of session cache file) - else if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) + elseif (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) { $usecachekey=$newdomain; } @@ -441,7 +441,7 @@ class Translate $usecachekey=$newdomain.'_'.$langofdir; // Should not contains special chars } // Using cache with shmop. Speed gain: 40ms - Memory overusage: 200ko (Size of session cache file) - else if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) + elseif (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) { $usecachekey=$newdomain; } diff --git a/htdocs/core/db/mssql.class.php b/htdocs/core/db/mssql.class.php index f9e982961c9..0f2ca55c0e8 100644 --- a/htdocs/core/db/mssql.class.php +++ b/htdocs/core/db/mssql.class.php @@ -832,19 +832,19 @@ class DoliDBMssql extends DoliDB $sqlfields[$i] .= $field_desc['type']; if( preg_match("/^[^\s]/i",$field_desc['value'])) $sqlfields[$i] .= "(".$field_desc['value'].")"; - else if( preg_match("/^[^\s]/i",$field_desc['attribute'])) + elseif( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sqlfields[$i] .= " ".$field_desc['attribute']; - else if( preg_match("/^[^\s]/i",$field_desc['default'])) + elseif( preg_match("/^[^\s]/i",$field_desc['default'])) { if(preg_match("/null/i",$field_desc['default'])) $sqlfields[$i] .= " default ".$field_desc['default']; else $sqlfields[$i] .= " default '".$field_desc['default']."'"; } - else if( preg_match("/^[^\s]/i",$field_desc['null'])) + elseif( preg_match("/^[^\s]/i",$field_desc['null'])) $sqlfields[$i] .= " ".$field_desc['null']; - else if( preg_match("/^[^\s]/i",$field_desc['extra'])) + elseif( preg_match("/^[^\s]/i",$field_desc['extra'])) $sqlfields[$i] .= " ".$field_desc['extra']; $i++; } diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index 185ebe1a56f..07d915f8c0d 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -509,7 +509,7 @@ class DoliDBMysqli extends DoliDB { $return = 'AES_ENCRYPT('.$return.',\''.$cryptKey.'\')'; } - else if ($cryptType == 1) + elseif ($cryptType == 1) { $return = 'DES_ENCRYPT('.$return.',\''.$cryptKey.'\')'; } @@ -542,7 +542,7 @@ class DoliDBMysqli extends DoliDB { $return = 'AES_DECRYPT('.$value.',\''.$cryptKey.'\')'; } - else if ($cryptType == 1) + elseif ($cryptType == 1) { $return = 'DES_DECRYPT('.$value.',\''.$cryptKey.'\')'; } diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 85abdf2b004..c5cac435b08 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -173,8 +173,8 @@ class DoliDBPgsql extends DoliDB if ($type == 'auto') { if (preg_match('/ALTER TABLE/i',$line)) $type='dml'; - else if (preg_match('/CREATE TABLE/i',$line)) $type='dml'; - else if (preg_match('/DROP TABLE/i',$line)) $type='dml'; + elseif (preg_match('/CREATE TABLE/i',$line)) $type='dml'; + elseif (preg_match('/DROP TABLE/i',$line)) $type='dml'; } $line=preg_replace('/ as signed\)/i',' as integer)',$line); @@ -973,19 +973,19 @@ class DoliDBPgsql extends DoliDB $sqlfields[$i] .= $field_desc['type']; if( preg_match("/^[^\s]/i",$field_desc['value'])) $sqlfields[$i] .= "(".$field_desc['value'].")"; - else if( preg_match("/^[^\s]/i",$field_desc['attribute'])) + elseif( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sqlfields[$i] .= " ".$field_desc['attribute']; - else if( preg_match("/^[^\s]/i",$field_desc['default'])) + elseif( preg_match("/^[^\s]/i",$field_desc['default'])) { if(preg_match("/null/i",$field_desc['default'])) $sqlfields[$i] .= " default ".$field_desc['default']; else $sqlfields[$i] .= " default '".$field_desc['default']."'"; } - else if( preg_match("/^[^\s]/i",$field_desc['null'])) + elseif( preg_match("/^[^\s]/i",$field_desc['null'])) $sqlfields[$i] .= " ".$field_desc['null']; - else if( preg_match("/^[^\s]/i",$field_desc['extra'])) + elseif( preg_match("/^[^\s]/i",$field_desc['extra'])) $sqlfields[$i] .= " ".$field_desc['extra']; $i++; } diff --git a/htdocs/core/db/sqlite3.class.php b/htdocs/core/db/sqlite3.class.php index bbd5853f95f..6a4b11317e5 100644 --- a/htdocs/core/db/sqlite3.class.php +++ b/htdocs/core/db/sqlite3.class.php @@ -150,8 +150,8 @@ class DoliDBSqlite3 extends DoliDB if ($type == 'auto') { if (preg_match('/ALTER TABLE/i',$line)) $type='dml'; - else if (preg_match('/CREATE TABLE/i',$line)) $type='dml'; - else if (preg_match('/DROP TABLE/i',$line)) $type='dml'; + elseif (preg_match('/CREATE TABLE/i',$line)) $type='dml'; + elseif (preg_match('/DROP TABLE/i',$line)) $type='dml'; } if ($type == 'dml') @@ -742,7 +742,7 @@ class DoliDBSqlite3 extends DoliDB { $return = 'AES_ENCRYPT('.$return.',\''.$cryptKey.'\')'; } - else if ($cryptType == 1) + elseif ($cryptType == 1) { $return = 'DES_ENCRYPT('.$return.',\''.$cryptKey.'\')'; } @@ -775,7 +775,7 @@ class DoliDBSqlite3 extends DoliDB { $return = 'AES_DECRYPT('.$value.',\''.$cryptKey.'\')'; } - else if ($cryptType == 1) + elseif ($cryptType == 1) { $return = 'DES_DECRYPT('.$value.',\''.$cryptKey.'\')'; } @@ -915,19 +915,19 @@ class DoliDBSqlite3 extends DoliDB $sqlfields[$i] .= $field_desc['type']; if( preg_match("/^[^\s]/i",$field_desc['value'])) $sqlfields[$i] .= "(".$field_desc['value'].")"; - else if( preg_match("/^[^\s]/i",$field_desc['attribute'])) + elseif( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sqlfields[$i] .= " ".$field_desc['attribute']; - else if( preg_match("/^[^\s]/i",$field_desc['default'])) + elseif( preg_match("/^[^\s]/i",$field_desc['default'])) { if(preg_match("/null/i",$field_desc['default'])) $sqlfields[$i] .= " default ".$field_desc['default']; else $sqlfields[$i] .= " default '".$field_desc['default']."'"; } - else if( preg_match("/^[^\s]/i",$field_desc['null'])) + elseif( preg_match("/^[^\s]/i",$field_desc['null'])) $sqlfields[$i] .= " ".$field_desc['null']; - else if( preg_match("/^[^\s]/i",$field_desc['extra'])) + elseif( preg_match("/^[^\s]/i",$field_desc['extra'])) $sqlfields[$i] .= " ".$field_desc['extra']; $i++; } diff --git a/htdocs/core/filemanagerdol/connectors/php/commands.php b/htdocs/core/filemanagerdol/connectors/php/commands.php index 34e32fa5f99..e35d8d328ab 100644 --- a/htdocs/core/filemanagerdol/connectors/php/commands.php +++ b/htdocs/core/filemanagerdol/connectors/php/commands.php @@ -290,7 +290,7 @@ function FileUpload($resourceType, $currentFolder, $sCommand, $CKEcallback = '') @unlink($sFilePath); $sErrorNumber = '202' ; } - else if ( isset( $detectHtml ) && $detectHtml === -1 && DetectHtml($sFilePath) === true ) + elseif ( isset( $detectHtml ) && $detectHtml === -1 && DetectHtml($sFilePath) === true ) { @unlink($sFilePath); $sErrorNumber = '202' ; diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index 28845122f0d..c03cd09ff16 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -292,7 +292,7 @@ function checkBanForAccount($account) if ($country_code == 'AU') { // Australian if (strlen($account->code_banque) > 7) return false; // Sould be 6 but can be 123-456 - else if (strlen($account->code_banque) < 6) + elseif (strlen($account->code_banque) < 6) return false; // Sould be 6 else return true; diff --git a/htdocs/core/lib/barcode.lib.php b/htdocs/core/lib/barcode.lib.php index efd245209d2..ebd87e5bcde 100644 --- a/htdocs/core/lib/barcode.lib.php +++ b/htdocs/core/lib/barcode.lib.php @@ -128,7 +128,7 @@ function barcode_encode($code,$encoding) dol_syslog("barcode.lib.php::barcode_encode Use barcode_encode_ean"); $bars=barcode_encode_ean($code, $encoding); } - else if (file_exists($genbarcode_loc)) // For example C39 + elseif (file_exists($genbarcode_loc)) // For example C39 { /* use genbarcode */ dol_syslog("barcode.lib.php::barcode_encode Use genbarcode ".$genbarcode_loc." code=".$code." encoding=".$encoding); @@ -219,7 +219,7 @@ function barcode_encode_ean($ean, $encoding = "EAN-13") if ($a>0) $text.=" "; $text.="$pos:12:{$ean[$a]}"; if ($a==0) $pos+=12; - else if ($a==6) $pos+=12; + elseif ($a==6) $pos+=12; else $pos+=7; } @@ -397,12 +397,12 @@ function barcode_outimage($text, $bars, $scale = 1, $mode = "png", $total_y = 0, header("Content-Type: image/jpeg; name=\"barcode.jpg\""); imagejpeg($im); } - else if ($mode=='gif') + elseif ($mode=='gif') { header("Content-Type: image/gif; name=\"barcode.gif\""); imagegif($im); } - else if (! empty($filebarcode)) // To wxrite into afile onto disk + elseif (! empty($filebarcode)) // To wxrite into afile onto disk { imagepng($im,$filebarcode); } diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 41b0f1af3ef..f05a8a3f58b 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -459,9 +459,9 @@ function getCountry($searchkey, $withcode='', $dbtouse=0, $outputlangs='', $entc else $label=($obj->code && ($outputlangs->transnoentitiesnoconv("Country".$obj->code)!="Country".$obj->code))?$outputlangs->transnoentitiesnoconv("Country".$obj->code):$label; } if ($withcode == 1) $result=$label?"$obj->code - $label":"$obj->code"; - else if ($withcode == 2) $result=$obj->code; - else if ($withcode == 3) $result=$obj->rowid; - else if ($withcode === 'all') $result=array('id'=>$obj->rowid,'code'=>$obj->code,'label'=>$label); + elseif ($withcode == 2) $result=$obj->code; + elseif ($withcode == 3) $result=$obj->rowid; + elseif ($withcode === 'all') $result=array('id'=>$obj->rowid,'code'=>$obj->code,'label'=>$label); else $result=$label; } else @@ -525,7 +525,7 @@ function getState($id,$withcode='',$dbtouse=0,$withregion=0,$outputlangs='',$ent return $label = $obj->code . ' - ' . ($langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):($obj->name!='-'?$obj->name:'')); } } - else if ($withcode == 2) { + elseif ($withcode == 2) { if ($withregion == 1) { return $label = $obj->region_name . ' - ' . ($langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):($obj->name!='-'?$obj->name:'')); } @@ -533,7 +533,7 @@ function getState($id,$withcode='',$dbtouse=0,$withregion=0,$outputlangs='',$ent return $label = ($langs->trans($obj->code)!=$obj->code?$langs->trans($obj->code):($obj->name!='-'?$obj->name:'')); } } - else if ($withcode === 'all') { + elseif ($withcode === 'all') { if ($withregion == 1) { return array('id'=>$obj->id,'code'=>$obj->code,'label'=>$label,'region_code'=>$obj->region_code,'region'=>$obj->region_name); } diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index 0f84f46497e..19d3b3fb7ae 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -246,11 +246,11 @@ function convertSecondToTime($iSecond, $format='all', $lengthOfDay=86400, $lengt return sprintf("%02d",($sWeek*$lengthOfWeek*24 + $sDay*24 + (int) floor($iSecond/3600))); } } - else if ($format == 'hour') // only hour part + elseif ($format == 'hour') // only hour part { $sTime=dol_print_date($iSecond,'%H',true); } - else if ($format == 'fullhour') + elseif ($format == 'fullhour') { if (!empty($iSecond)) { $iSecond=$iSecond/3600; @@ -260,19 +260,19 @@ function convertSecondToTime($iSecond, $format='all', $lengthOfDay=86400, $lengt } $sTime=$iSecond; } - else if ($format == 'min') // only min part + elseif ($format == 'min') // only min part { $sTime=dol_print_date($iSecond,'%M',true); } - else if ($format == 'sec') // only sec part + elseif ($format == 'sec') // only sec part { $sTime=dol_print_date($iSecond,'%S',true); } - else if ($format == 'month') // only month part + elseif ($format == 'month') // only month part { $sTime=dol_print_date($iSecond,'%m',true); } - else if ($format == 'year') // only year part + elseif ($format == 'year') // only year part { $sTime=dol_print_date($iSecond,'%Y',true); } @@ -297,12 +297,12 @@ function dolSqlDateFilter($datefield, $day_date, $month_date, $year_date) if ($year_date > 0 && empty($day_date)) { $sqldate.= " AND ".$datefield." BETWEEN '".$db->idate(dol_get_first_day($year_date, $month_date, false)); $sqldate.= "' AND '".$db->idate(dol_get_last_day($year_date, $month_date, false))."'"; - } else if ($year_date > 0 && ! empty($day_date)) { + } elseif ($year_date > 0 && ! empty($day_date)) { $sqldate.= " AND ".$datefield." BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month_date, $day_date, $year_date)); $sqldate.= "' AND '".$db->idate(dol_mktime(23, 59, 59, $month_date, $day_date, $year_date))."'"; } else $sqldate.= " AND date_format( ".$datefield.", '%m') = '".$db->escape($month_date)."'"; - } else if ($year_date > 0){ + } elseif ($year_date > 0){ $sqldate.= " AND ".$datefield." BETWEEN '".$db->idate(dol_get_first_day($year_date, 1, false)); $sqldate.= "' AND '".$db->idate(dol_get_last_day($year_date, 12, false))."'"; } @@ -345,7 +345,7 @@ function dol_stringtotime($string, $gm=1) if ($syear >= 50 && $syear < 100) $syear+=2000; $string=sprintf("%04d%02d%02d%02d%02d%02d",$syear,$smonth,$sday,$shour,$smin,$ssec); } - else if ( + elseif ( preg_match('/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})Z$/i',$string,$reg) // Convert date with format YYYY-MM-DDTHH:MM:SSZ (RFC3339) || preg_match('/^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})$/i',$string,$reg) // Convert date with format YYYY-MM-DD HH:MM:SS || preg_match('/^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z$/i',$string,$reg) // Convert date with format YYYYMMDDTHHMMSSZ diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index ae80d371e33..9985c537809 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -118,7 +118,7 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil { $excludefilterarray=array_merge($excludefilterarray,$excludefilter); } - else if ($excludefilter) $excludefilterarray[]=$excludefilter; + elseif ($excludefilter) $excludefilterarray[]=$excludefilter; // Check if file is qualified foreach($excludefilterarray as $filt) { @@ -167,7 +167,7 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil } } } - else if (! $isdir && (($types == "files") || ($types == "all"))) + elseif (! $isdir && (($types == "files") || ($types == "all"))) { // Add file into file_list array if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file); @@ -1608,7 +1608,7 @@ function dol_add_file_process($upload_dir, $allowoverwrite=0, $donotupdatesessio { setEventMessages($langs->trans("ErrorFileNotUploaded"), null, 'errors'); } - else if (preg_match('/ErrorFileIsInfectedWithAVirus/',$resupload)) // Files infected by a virus + elseif (preg_match('/ErrorFileIsInfectedWithAVirus/',$resupload)) // Files infected by a virus { setEventMessages($langs->trans("ErrorFileIsInfectedWithAVirus"), null, 'errors'); } @@ -2358,7 +2358,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for users - else if ($modulepart == 'user' && !empty($conf->user->dir_output)) + elseif ($modulepart == 'user' && !empty($conf->user->dir_output)) { $canreaduser=(! empty($fuser->admin) || $fuser->rights->user->user->{$lire}); if ($fuser->id == (int) $refname) { $canreaduser=1; } // A user can always read its own card @@ -2370,7 +2370,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for third parties - else if (($modulepart == 'company' || $modulepart == 'societe') && !empty($conf->societe->dir_output)) + elseif (($modulepart == 'company' || $modulepart == 'societe') && !empty($conf->societe->dir_output)) { if (empty($entity) || empty($conf->societe->multidir_output[$entity])) return array('accessallowed'=>0, 'error'=>'Value entity must be provided'); if ($fuser->rights->societe->{$lire} || preg_match('/^specimen/i',$original_file)) @@ -2382,7 +2382,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for contact - else if ($modulepart == 'contact' && !empty($conf->societe->dir_output)) + elseif ($modulepart == 'contact' && !empty($conf->societe->dir_output)) { if (empty($entity) || empty($conf->societe->multidir_output[$entity])) return array('accessallowed'=>0, 'error'=>'Value entity must be provided'); if ($fuser->rights->societe->{$lire}) @@ -2393,7 +2393,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for invoices - else if (($modulepart == 'facture' || $modulepart == 'invoice') && !empty($conf->facture->dir_output)) + elseif (($modulepart == 'facture' || $modulepart == 'invoice') && !empty($conf->facture->dir_output)) { if ($fuser->rights->facture->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2403,7 +2403,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."facture WHERE ref='".$db->escape($refname)."' AND entity=".$conf->entity; } // Wrapping for mass actions - else if ($modulepart == 'massfilesarea_proposals' && !empty($conf->propal->multidir_output[$entity])) + elseif ($modulepart == 'massfilesarea_proposals' && !empty($conf->propal->multidir_output[$entity])) { if ($fuser->rights->propal->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2411,7 +2411,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } $original_file=$conf->propal->multidir_output[$entity].'/temp/massgeneration/'.$user->id.'/'.$original_file; } - else if ($modulepart == 'massfilesarea_orders') + elseif ($modulepart == 'massfilesarea_orders') { if ($fuser->rights->commande->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2419,7 +2419,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } $original_file=$conf->commande->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; } - else if ($modulepart == 'massfilesarea_invoices') + elseif ($modulepart == 'massfilesarea_invoices') { if ($fuser->rights->facture->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2427,7 +2427,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } $original_file=$conf->facture->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; } - else if ($modulepart == 'massfilesarea_expensereport') + elseif ($modulepart == 'massfilesarea_expensereport') { if ($fuser->rights->facture->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2435,7 +2435,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } $original_file=$conf->expensereport->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; } - else if ($modulepart == 'massfilesarea_interventions') + elseif ($modulepart == 'massfilesarea_interventions') { if ($fuser->rights->ficheinter->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2443,7 +2443,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } $original_file=$conf->ficheinter->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; } - else if ($modulepart == 'massfilesarea_supplier_proposal' && !empty($conf->supplier_proposal->dir_output)) + elseif ($modulepart == 'massfilesarea_supplier_proposal' && !empty($conf->supplier_proposal->dir_output)) { if ($fuser->rights->supplier_proposal->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2451,7 +2451,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } $original_file=$conf->supplier_proposal->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; } - else if ($modulepart == 'massfilesarea_supplier_order') + elseif ($modulepart == 'massfilesarea_supplier_order') { if ($fuser->rights->fournisseur->commande->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2459,7 +2459,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } $original_file=$conf->fournisseur->commande->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; } - else if ($modulepart == 'massfilesarea_supplier_invoice') + elseif ($modulepart == 'massfilesarea_supplier_invoice') { if ($fuser->rights->fournisseur->facture->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2467,7 +2467,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } $original_file=$conf->fournisseur->facture->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; } - else if ($modulepart == 'massfilesarea_contract' && !empty($conf->contrat->dir_output)) + elseif ($modulepart == 'massfilesarea_contract' && !empty($conf->contrat->dir_output)) { if ($fuser->rights->contrat->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2477,7 +2477,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for interventions - else if (($modulepart == 'fichinter' || $modulepart == 'ficheinter') && !empty($conf->ficheinter->dir_output)) + elseif (($modulepart == 'fichinter' || $modulepart == 'ficheinter') && !empty($conf->ficheinter->dir_output)) { if ($fuser->rights->ficheinter->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2488,7 +2488,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les deplacements et notes de frais - else if ($modulepart == 'deplacement' && !empty($conf->deplacement->dir_output)) + elseif ($modulepart == 'deplacement' && !empty($conf->deplacement->dir_output)) { if ($fuser->rights->deplacement->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2498,7 +2498,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, //$sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."fichinter WHERE ref='".$db->escape($refname)."' AND entity=".$conf->entity; } // Wrapping pour les propales - else if (($modulepart == 'propal' || $modulepart == 'propale') && !empty($conf->propal->multidir_output[$entity])) + elseif (($modulepart == 'propal' || $modulepart == 'propale') && !empty($conf->propal->multidir_output[$entity])) { if ($fuser->rights->propale->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2509,7 +2509,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les commandes - else if (($modulepart == 'commande' || $modulepart == 'order') && !empty($conf->commande->dir_output)) + elseif (($modulepart == 'commande' || $modulepart == 'order') && !empty($conf->commande->dir_output)) { if ($fuser->rights->commande->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2520,7 +2520,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les projets - else if ($modulepart == 'project' && !empty($conf->projet->dir_output)) + elseif ($modulepart == 'project' && !empty($conf->projet->dir_output)) { if ($fuser->rights->projet->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2529,7 +2529,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $original_file=$conf->projet->dir_output.'/'.$original_file; $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."projet WHERE ref='".$db->escape($refname)."' AND entity IN (".getEntity('project').")"; } - else if ($modulepart == 'project_task' && !empty($conf->projet->dir_output)) + elseif ($modulepart == 'project_task' && !empty($conf->projet->dir_output)) { if ($fuser->rights->projet->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2540,7 +2540,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les commandes fournisseurs - else if (($modulepart == 'commande_fournisseur' || $modulepart == 'order_supplier') && !empty($conf->fournisseur->commande->dir_output)) + elseif (($modulepart == 'commande_fournisseur' || $modulepart == 'order_supplier') && !empty($conf->fournisseur->commande->dir_output)) { if ($fuser->rights->fournisseur->commande->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2551,7 +2551,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les factures fournisseurs - else if (($modulepart == 'facture_fournisseur' || $modulepart == 'invoice_supplier') && !empty($conf->fournisseur->facture->dir_output)) + elseif (($modulepart == 'facture_fournisseur' || $modulepart == 'invoice_supplier') && !empty($conf->fournisseur->facture->dir_output)) { if ($fuser->rights->fournisseur->facture->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2561,7 +2561,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."facture_fourn WHERE facnumber='".$db->escape($refname)."' AND entity=".$conf->entity; } // Wrapping pour les rapport de paiements - else if ($modulepart == 'supplier_payment') + elseif ($modulepart == 'supplier_payment') { if ($fuser->rights->fournisseur->facture->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2572,7 +2572,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les rapport de paiements - else if ($modulepart == 'facture_paiement' && !empty($conf->facture->dir_output)) + elseif ($modulepart == 'facture_paiement' && !empty($conf->facture->dir_output)) { if ($fuser->rights->facture->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2583,7 +2583,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for accounting exports - else if ($modulepart == 'export_compta' && !empty($conf->accounting->dir_output)) + elseif ($modulepart == 'export_compta' && !empty($conf->accounting->dir_output)) { if ($fuser->rights->accounting->bind->write || preg_match('/^specimen/i',$original_file)) { @@ -2593,7 +2593,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les expedition - else if ($modulepart == 'expedition' && !empty($conf->expedition->dir_output)) + elseif ($modulepart == 'expedition' && !empty($conf->expedition->dir_output)) { if ($fuser->rights->expedition->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2602,7 +2602,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $original_file=$conf->expedition->dir_output."/sending/".$original_file; } // Wrapping pour les bons de livraison - else if ($modulepart == 'livraison' && !empty($conf->expedition->dir_output)) + elseif ($modulepart == 'livraison' && !empty($conf->expedition->dir_output)) { if ($fuser->rights->expedition->livraison->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2612,7 +2612,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les actions - else if ($modulepart == 'actions' && !empty($conf->agenda->dir_output)) + elseif ($modulepart == 'actions' && !empty($conf->agenda->dir_output)) { if ($fuser->rights->agenda->myactions->{$read} || preg_match('/^specimen/i',$original_file)) { @@ -2622,7 +2622,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les actions - else if ($modulepart == 'actionsreport' && !empty($conf->agenda->dir_temp)) + elseif ($modulepart == 'actionsreport' && !empty($conf->agenda->dir_temp)) { if ($fuser->rights->agenda->allactions->{$read} || preg_match('/^specimen/i',$original_file)) { @@ -2632,7 +2632,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les produits et services - else if ($modulepart == 'product' || $modulepart == 'produit' || $modulepart == 'service' || $modulepart == 'produit|service') + elseif ($modulepart == 'product' || $modulepart == 'produit' || $modulepart == 'service' || $modulepart == 'produit|service') { if (empty($entity) || (empty($conf->product->multidir_output[$entity]) && empty($conf->service->multidir_output[$entity]))) return array('accessallowed'=>0, 'error'=>'Value entity must be provided'); if (($fuser->rights->produit->{$lire} || $fuser->rights->service->{$lire}) || preg_match('/^specimen/i',$original_file)) @@ -2644,7 +2644,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les lots produits - else if ($modulepart == 'product_batch' || $modulepart == 'produitlot') + elseif ($modulepart == 'product_batch' || $modulepart == 'produitlot') { if (empty($entity) || (empty($conf->productbatch->multidir_output[$entity]))) return array('accessallowed'=>0, 'error'=>'Value entity must be provided'); if (($fuser->rights->produit->{$lire} ) || preg_match('/^specimen/i',$original_file)) @@ -2655,7 +2655,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les contrats - else if ($modulepart == 'contract' && !empty($conf->contrat->dir_output)) + elseif ($modulepart == 'contract' && !empty($conf->contrat->dir_output)) { if ($fuser->rights->contrat->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2666,7 +2666,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les dons - else if ($modulepart == 'donation' && !empty($conf->don->dir_output)) + elseif ($modulepart == 'donation' && !empty($conf->don->dir_output)) { if ($fuser->rights->don->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2676,7 +2676,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les dons - else if ($modulepart == 'dolresource' && !empty($conf->resource->dir_output)) + elseif ($modulepart == 'dolresource' && !empty($conf->resource->dir_output)) { if ($fuser->rights->resource->{$read} || preg_match('/^specimen/i',$original_file)) { @@ -2686,7 +2686,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour les remises de cheques - else if ($modulepart == 'remisecheque' && !empty($conf->banque->dir_output)) + elseif ($modulepart == 'remisecheque' && !empty($conf->banque->dir_output)) { if ($fuser->rights->banque->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2697,7 +2697,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for bank - else if ($modulepart == 'bank' && !empty($conf->bank->dir_output)) + elseif ($modulepart == 'bank' && !empty($conf->bank->dir_output)) { if ($fuser->rights->banque->{$lire}) { @@ -2707,7 +2707,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for export module - else if ($modulepart == 'export' && !empty($conf->export->dir_temp)) + elseif ($modulepart == 'export' && !empty($conf->export->dir_temp)) { // Aucun test necessaire car on force le rep de download sur // le rep export qui est propre a l'utilisateur @@ -2716,35 +2716,35 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for import module - else if ($modulepart == 'import' && !empty($conf->import->dir_temp)) + elseif ($modulepart == 'import' && !empty($conf->import->dir_temp)) { $accessallowed=1; $original_file=$conf->import->dir_temp.'/'.$original_file; } // Wrapping pour l'editeur wysiwyg - else if ($modulepart == 'editor' && !empty($conf->fckeditor->dir_output)) + elseif ($modulepart == 'editor' && !empty($conf->fckeditor->dir_output)) { $accessallowed=1; $original_file=$conf->fckeditor->dir_output.'/'.$original_file; } // Wrapping for backups - else if ($modulepart == 'systemtools' && !empty($conf->admin->dir_output)) + elseif ($modulepart == 'systemtools' && !empty($conf->admin->dir_output)) { if ($fuser->admin) $accessallowed=1; $original_file=$conf->admin->dir_output.'/'.$original_file; } // Wrapping for upload file test - else if ($modulepart == 'admin_temp' && !empty($conf->admin->dir_temp)) + elseif ($modulepart == 'admin_temp' && !empty($conf->admin->dir_temp)) { if ($fuser->admin) $accessallowed=1; $original_file=$conf->admin->dir_temp.'/'.$original_file; } // Wrapping pour BitTorrent - else if ($modulepart == 'bittorrent' && !empty($conf->bittorrent->dir_output)) + elseif ($modulepart == 'bittorrent' && !empty($conf->bittorrent->dir_output)) { $accessallowed=1; $dir='files'; @@ -2753,7 +2753,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping pour Foundation module - else if ($modulepart == 'member' && !empty($conf->adherent->dir_output)) + elseif ($modulepart == 'member' && !empty($conf->adherent->dir_output)) { if ($fuser->rights->adherent->{$lire} || preg_match('/^specimen/i',$original_file)) { @@ -2763,7 +2763,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, } // Wrapping for Scanner - else if ($modulepart == 'scanner_user_temp' && !empty($conf->scanner->dir_temp)) + elseif ($modulepart == 'scanner_user_temp' && !empty($conf->scanner->dir_temp)) { $accessallowed=1; $original_file=$conf->scanner->dir_temp.'/'.$fuser->id.'/'.$original_file; @@ -2790,7 +2790,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, if ($fuser->rights->{$reg[1]}->{$lire} || $fuser->rights->{$reg[1]}->{$read} || ($fuser->rights->{$reg[1]}->{$download})) $accessallowed=1; $original_file=$conf->{$reg[1]}->dir_temp.'/'.$fuser->id.'/'.$original_file; } - else if (preg_match('/^([a-z]+)_temp$/i',$modulepart,$reg)) + elseif (preg_match('/^([a-z]+)_temp$/i',$modulepart,$reg)) { if (empty($conf->{$reg[1]}->dir_temp)) // modulepart not supported { @@ -2800,7 +2800,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, if ($fuser->rights->{$reg[1]}->{$lire} || $fuser->rights->{$reg[1]}->{$read} || ($fuser->rights->{$reg[1]}->{$download})) $accessallowed=1; $original_file=$conf->{$reg[1]}->dir_temp.'/'.$original_file; } - else if (preg_match('/^([a-z]+)_user$/i',$modulepart,$reg)) + elseif (preg_match('/^([a-z]+)_user$/i',$modulepart,$reg)) { if (empty($conf->{$reg[1]}->dir_output)) // modulepart not supported { @@ -2810,7 +2810,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, if ($fuser->rights->{$reg[1]}->{$lire} || $fuser->rights->{$reg[1]}->{$read} || ($fuser->rights->{$reg[1]}->{$download})) $accessallowed=1; $original_file=$conf->{$reg[1]}->dir_output.'/'.$fuser->id.'/'.$original_file; } - else if (preg_match('/^massfilesarea_([a-z]+)$/i', $modulepart, $reg)) + elseif (preg_match('/^massfilesarea_([a-z]+)$/i', $modulepart, $reg)) { if (empty($conf->{$reg[1]}->dir_output)) // modulepart not supported { diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 690a3ff5152..a68e83f09cd 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -496,7 +496,7 @@ function GETPOST($paramname, $check='none', $method=0, $filter=null, $options=nu // '"' is dangerous because param in url can close the href= or src= and add javascript functions. // '../' is dangerous because it allows dir transversals if (preg_match('/"/',$out)) $out=''; - else if (preg_match('/\.\.\//',$out)) $out=''; + elseif (preg_match('/\.\.\//',$out)) $out=''; } break; case 'san_alpha': @@ -536,7 +536,7 @@ function GETPOST($paramname, $check='none', $method=0, $filter=null, $options=nu // '"' is dangerous because param in url can close the href= or src= and add javascript functions. // '../' is dangerous because it allows dir transversals if (preg_match('/"/',$out)) $out=''; - else if (preg_match('/\.\.\//',$out)) $out=''; + elseif (preg_match('/\.\.\//',$out)) $out=''; $out=dol_string_nohtmltag($out); } break; @@ -590,7 +590,7 @@ if (! function_exists('dol_getprefix')) if (! empty($conf->global->MAIL_PREFIX_FOR_EMAIL_ID)) // If MAIL_PREFIX_FOR_EMAIL_ID is set (a value initialized with a random value is recommended) { if ($conf->global->MAIL_PREFIX_FOR_EMAIL_ID != 'SERVER_NAME') return $conf->global->MAIL_PREFIX_FOR_EMAIL_ID; - else if (isset($_SERVER["SERVER_NAME"])) return $_SERVER["SERVER_NAME"]; + elseif (isset($_SERVER["SERVER_NAME"])) return $_SERVER["SERVER_NAME"]; } return dol_hash(DOL_DOCUMENT_ROOT.DOL_URL_ROOT, '3'); } @@ -911,9 +911,9 @@ function dol_escape_js($stringtoescape, $mode=0, $noescapebackslashn=0) //$substitjs[''.$_SERVER['REMOTE_ADDR']); // This is when server run normally on a server - else if (! empty($_SERVER["REMOTE_ADDR"])) $data['ip'] = $_SERVER['REMOTE_ADDR']; + elseif (! empty($_SERVER["REMOTE_ADDR"])) $data['ip'] = $_SERVER['REMOTE_ADDR']; // This is when PHP session is ran inside a web server but not inside a client request (example: init code of apache) - else if (! empty($_SERVER['SERVER_ADDR'])) $data['ip'] = $_SERVER['SERVER_ADDR']; + elseif (! empty($_SERVER['SERVER_ADDR'])) $data['ip'] = $_SERVER['SERVER_ADDR']; // This is when PHP session is ran outside a web server, like from Windows command line (Not always defined, but useful if OS defined it). - else if (! empty($_SERVER['COMPUTERNAME'])) $data['ip'] = $_SERVER['COMPUTERNAME'].(empty($_SERVER['USERNAME'])?'':'@'.$_SERVER['USERNAME']); + elseif (! empty($_SERVER['COMPUTERNAME'])) $data['ip'] = $_SERVER['COMPUTERNAME'].(empty($_SERVER['USERNAME'])?'':'@'.$_SERVER['USERNAME']); // This is when PHP session is ran outside a web server, like from Linux command line (Not always defined, but usefull if OS defined it). - else if (! empty($_SERVER['LOGNAME'])) $data['ip'] = '???@'.$_SERVER['LOGNAME']; + elseif (! empty($_SERVER['LOGNAME'])) $data['ip'] = '???@'.$_SERVER['LOGNAME']; // Loop on each log handler and send output foreach ($conf->loghandlers as $loghandlerinstance) { @@ -1162,7 +1162,7 @@ function dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $pi $out.=''.$links[$i][1].''."\n"; } } - else if (! empty($links[$i][1])) + elseif (! empty($links[$i][1])) { //print "x $i $active ".$links[$i][2]." z"; if ($isactive) @@ -1196,7 +1196,7 @@ function dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $pi else $outmore.=''.$links[$i][1].''."\n"; } - else if (! empty($links[$i][1])) + elseif (! empty($links[$i][1])) { $outmore.=''; $outmore.=preg_replace('/([a-z])\/([a-z])/i', '\\1 / \\2', $links[$i][1]); // Replace x/y with x / y to allow wrap on long composed texts. @@ -1425,7 +1425,7 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r } } } - else if (! $phototoshow) + elseif (! $phototoshow) { $phototoshow = $form->showphoto($modulepart,$object,0,0,0,'photoref','small',1,0,$maxvisiblephotos); } @@ -1627,7 +1627,7 @@ function dol_format_address($object, $withcountry=0, $sep="\n", $outputlangs='', } if ($object->zip) $ret .= ($ret?", ":'').$object->zip; } - else if (in_array($object->country_code,array('GB','UK'))) // UK: title firstname name \n address lines \n town state \n zip \n country + elseif (in_array($object->country_code,array('GB','UK'))) // UK: title firstname name \n address lines \n town state \n zip \n country { $ret .= ($ret ? $sep : '' ).$object->town; if ($object->state) @@ -1636,7 +1636,7 @@ function dol_format_address($object, $withcountry=0, $sep="\n", $outputlangs='', } if ($object->zip) $ret .= ($ret ? $sep : '' ).$object->zip; } - else if (in_array($object->country_code,array('ES','TR'))) // ES: title firstname name \n address lines \n zip town \n state \n country + elseif (in_array($object->country_code,array('ES','TR'))) // ES: title firstname name \n address lines \n zip town \n state \n country { $ret .= ($ret ? $sep : '' ).$object->zip; $ret .= ($object->town?(($object->zip?' ':'').$object->town):''); @@ -1645,7 +1645,7 @@ function dol_format_address($object, $withcountry=0, $sep="\n", $outputlangs='', $ret.="\n".$object->state; } } - else if (in_array($object->country_code,array('IT'))) // IT: tile firstname name\n address lines \n zip (Code Departement) \n country + elseif (in_array($object->country_code,array('IT'))) // IT: tile firstname name\n address lines \n zip (Code Departement) \n country { $ret .= ($ret ? $sep : '' ).$object->zip; $ret .= ($object->town?(($object->zip?' ':'').$object->town):''); @@ -1746,22 +1746,22 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e // Change predefined format into computer format. If found translation in lang file we use it, otherwise we use default. // TODO Add format daysmallyear and dayhoursmallyear if ($format == 'day') $format=($outputlangs->trans("FormatDateShort")!="FormatDateShort"?$outputlangs->trans("FormatDateShort"):$conf->format_date_short); - else if ($format == 'hour') $format=($outputlangs->trans("FormatHourShort")!="FormatHourShort"?$outputlangs->trans("FormatHourShort"):$conf->format_hour_short); - else if ($format == 'hourduration') $format=($outputlangs->trans("FormatHourShortDuration")!="FormatHourShortDuration"?$outputlangs->trans("FormatHourShortDuration"):$conf->format_hour_short_duration); - else if ($format == 'daytext') $format=($outputlangs->trans("FormatDateText")!="FormatDateText"?$outputlangs->trans("FormatDateText"):$conf->format_date_text); - else if ($format == 'daytextshort') $format=($outputlangs->trans("FormatDateTextShort")!="FormatDateTextShort"?$outputlangs->trans("FormatDateTextShort"):$conf->format_date_text_short); - else if ($format == 'dayhour') $format=($outputlangs->trans("FormatDateHourShort")!="FormatDateHourShort"?$outputlangs->trans("FormatDateHourShort"):$conf->format_date_hour_short); - else if ($format == 'dayhoursec') $format=($outputlangs->trans("FormatDateHourSecShort")!="FormatDateHourSecShort"?$outputlangs->trans("FormatDateHourSecShort"):$conf->format_date_hour_sec_short); - else if ($format == 'dayhourtext') $format=($outputlangs->trans("FormatDateHourText")!="FormatDateHourText"?$outputlangs->trans("FormatDateHourText"):$conf->format_date_hour_text); - else if ($format == 'dayhourtextshort') $format=($outputlangs->trans("FormatDateHourTextShort")!="FormatDateHourTextShort"?$outputlangs->trans("FormatDateHourTextShort"):$conf->format_date_hour_text_short); + elseif ($format == 'hour') $format=($outputlangs->trans("FormatHourShort")!="FormatHourShort"?$outputlangs->trans("FormatHourShort"):$conf->format_hour_short); + elseif ($format == 'hourduration') $format=($outputlangs->trans("FormatHourShortDuration")!="FormatHourShortDuration"?$outputlangs->trans("FormatHourShortDuration"):$conf->format_hour_short_duration); + elseif ($format == 'daytext') $format=($outputlangs->trans("FormatDateText")!="FormatDateText"?$outputlangs->trans("FormatDateText"):$conf->format_date_text); + elseif ($format == 'daytextshort') $format=($outputlangs->trans("FormatDateTextShort")!="FormatDateTextShort"?$outputlangs->trans("FormatDateTextShort"):$conf->format_date_text_short); + elseif ($format == 'dayhour') $format=($outputlangs->trans("FormatDateHourShort")!="FormatDateHourShort"?$outputlangs->trans("FormatDateHourShort"):$conf->format_date_hour_short); + elseif ($format == 'dayhoursec') $format=($outputlangs->trans("FormatDateHourSecShort")!="FormatDateHourSecShort"?$outputlangs->trans("FormatDateHourSecShort"):$conf->format_date_hour_sec_short); + elseif ($format == 'dayhourtext') $format=($outputlangs->trans("FormatDateHourText")!="FormatDateHourText"?$outputlangs->trans("FormatDateHourText"):$conf->format_date_hour_text); + elseif ($format == 'dayhourtextshort') $format=($outputlangs->trans("FormatDateHourTextShort")!="FormatDateHourTextShort"?$outputlangs->trans("FormatDateHourTextShort"):$conf->format_date_hour_text_short); // Format not sensitive to language - else if ($format == 'dayhourlog') $format='%Y%m%d%H%M%S'; - else if ($format == 'dayhourldap') $format='%Y%m%d%H%M%SZ'; - else if ($format == 'dayhourxcard') $format='%Y%m%dT%H%M%SZ'; - else if ($format == 'dayxcard') $format='%Y%m%d'; - else if ($format == 'dayrfc') $format='%Y-%m-%d'; // DATE_RFC3339 - else if ($format == 'dayhourrfc') $format='%Y-%m-%dT%H:%M:%SZ'; // DATETIME RFC3339 - else if ($format == 'standard') $format='%Y-%m-%d %H:%M:%S'; + elseif ($format == 'dayhourlog') $format='%Y%m%d%H%M%S'; + elseif ($format == 'dayhourldap') $format='%Y%m%d%H%M%SZ'; + elseif ($format == 'dayhourxcard') $format='%Y%m%dT%H%M%SZ'; + elseif ($format == 'dayxcard') $format='%Y%m%d'; + elseif ($format == 'dayrfc') $format='%Y-%m-%d'; // DATE_RFC3339 + elseif ($format == 'dayhourrfc') $format='%Y-%m-%dT%H:%M:%SZ'; // DATETIME RFC3339 + elseif ($format == 'standard') $format='%Y-%m-%d %H:%M:%S'; if ($reduceformat) { @@ -1953,7 +1953,7 @@ function dol_mktime($hour,$minute,$second,$month,$day,$year,$gm=false,$check=1) $default_timezone=@date_default_timezone_get(); // Example 'Europe/Berlin' $localtz = new DateTimeZone($default_timezone); } - else if ($gm === 'user') + elseif ($gm === 'user') { // We use dol_tz_string first because it is more reliable. $default_timezone=(empty($_SESSION["dol_tz_string"])?@date_default_timezone_get():$_SESSION["dol_tz_string"]); // Example 'Europe/Berlin' @@ -1966,7 +1966,7 @@ function dol_mktime($hour,$minute,$second,$month,$day,$year,$gm=false,$check=1) $default_timezone=@date_default_timezone_get(); } } - else if (strrpos($gm, "tz,") !== false) + elseif (strrpos($gm, "tz,") !== false) { $timezone=str_replace("tz,", "", $gm); // Example 'tz,Europe/Berlin' try @@ -2015,7 +2015,7 @@ function dol_now($mode='gmt') // Note that gmmktime and mktime return same value (GMT) when used without parameters //if ($mode == 'gmt') $ret=gmmktime(); // Strict Standards: gmmktime(): You should be using the time() function instead if ($mode == 'gmt') $ret=time(); // Time for now at greenwich. - else if ($mode == 'tzserver') // Time for now with PHP server timezone added + elseif ($mode == 'tzserver') // Time for now with PHP server timezone added { require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; $tzsecond=getServerTimeZoneInt('now'); // Contains tz+dayling saving time @@ -2027,7 +2027,7 @@ function dol_now($mode='gmt') $tzsecond=getParentCompanyTimeZoneInt(); // Contains tz+dayling saving time $ret=dol_now('gmt')+($tzsecond*3600); }*/ - else if ($mode == 'tzuser') // Time for now with user timezone added + elseif ($mode == 'tzuser') // Time for now with user timezone added { //print 'time: '.time().'-'.mktime().'-'.gmmktime(); $offsettz=(empty($_SESSION['dol_tz'])?0:$_SESSION['dol_tz'])*60*60; @@ -2527,7 +2527,7 @@ function dol_print_phone($phone,$countrycode='',$cid=0,$socid=0,$addlink='',$sep $newphone =''; } - else if (! empty($conf->clicktodial->enabled) && $addlink == 'AC_TEL') // If click to dial, we use click to dial url + elseif (! empty($conf->clicktodial->enabled) && $addlink == 'AC_TEL') // If click to dial, we use click to dial url { if (empty($user->clicktodial_loaded)) $user->fetch_clicktodial(); @@ -3101,10 +3101,10 @@ function img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath = false, $sr if (! empty($conf->global->MAIN_OVERWRITE_THEME_PATH)) { $path = $conf->global->MAIN_OVERWRITE_THEME_PATH.'/theme/'.$theme; // If the theme does not have the same name as the module } - else if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { + elseif (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path = $conf->global->MAIN_OVERWRITE_THEME_RES.'/theme/'.$conf->global->MAIN_OVERWRITE_THEME_RES; // To allow an external module to overwrite image resources whatever is activated theme } - else if (! empty($conf->modules_parts['theme']) && array_key_exists($theme, $conf->modules_parts['theme'])) { + elseif (! empty($conf->modules_parts['theme']) && array_key_exists($theme, $conf->modules_parts['theme'])) { $path = $theme.'/theme/'.$theme; // If the theme have the same name as the module } @@ -4137,7 +4137,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so { $pagelist.= 'dol_use_jmobile != 4)?' class="pagination"':'').'>1'; if ($cpt > 2) $pagelist.='dol_use_jmobile != 4)?' class="pagination"':'').'>dol_use_jmobile != 4)?'class="inactive"':'').'>...'; - else if ($cpt == 2) $pagelist.='dol_use_jmobile != 4)?' class="pagination"':'').'>2'; + elseif ($cpt == 2) $pagelist.='dol_use_jmobile != 4)?' class="pagination"':'').'>2'; } do @@ -4157,7 +4157,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so if ($cpt<$nbpages) { if ($cpt<$nbpages-2) $pagelist.= 'dol_use_jmobile != 4)?' class="pagination"':'').'>dol_use_jmobile != 4)?'class="inactive"':'').'>...'; - else if ($cpt == $nbpages-2) $pagelist.= 'dol_use_jmobile != 4)?' class="pagination"':'').'>'.($nbpages - 1).''; + elseif ($cpt == $nbpages-2) $pagelist.= 'dol_use_jmobile != 4)?' class="pagination"':'').'>'.($nbpages - 1).''; $pagelist.= 'dol_use_jmobile != 4)?' class="pagination"':'').'>'.$nbpages.''; } } @@ -4341,7 +4341,7 @@ function price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerou if ($outlangs->transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") $dec=$outlangs->transnoentitiesnoconv("SeparatorDecimal"); if ($outlangs->transnoentitiesnoconv("SeparatorThousand")!= "SeparatorThousand") $thousand=$outlangs->transnoentitiesnoconv("SeparatorThousand"); if ($thousand == 'None') $thousand=''; - else if ($thousand == 'Space') $thousand=' '; + elseif ($thousand == 'Space') $thousand=' '; //print "outlangs=".$outlangs->defaultlang." amount=".$amount." html=".$form." trunc=".$trunc." nbdecimal=".$nbdecimal." dec='".$dec."' thousand='".$thousand."'
"; //print "amount=".$amount."-"; @@ -6294,7 +6294,7 @@ function dolGetFirstLastname($firstname,$lastname,$nameorder=-1) if ($firstname && $lastname) $ret.=' '; $ret.=$lastname; } - else if ($nameorder == 2 || $nameorder == 3) + elseif ($nameorder == 2 || $nameorder == 3) { $ret.=$firstname; if (empty($ret) && $nameorder == 3) @@ -6518,8 +6518,8 @@ function dol_htmloutput_mesg($mesgstring = '',$mesgarray = array(), $style = 'ok if ($val && preg_match('/class="warning"/i',$val)) { $iswarning++; break; } } } - else if ($mesgstring && preg_match('/class="error"/i',$mesgstring)) $iserror++; - else if ($mesgstring && preg_match('/class="warning"/i',$mesgstring)) $iswarning++; + elseif ($mesgstring && preg_match('/class="error"/i',$mesgstring)) $iserror++; + elseif ($mesgstring && preg_match('/class="warning"/i',$mesgstring)) $iswarning++; if ($style=='error') $iserror++; if ($style=='warning') $iswarning++; @@ -7082,7 +7082,7 @@ function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode= $h++; } } - else if (count($values) == 5) // deprecated + elseif (count($values) == 5) // deprecated { dol_syslog('Passing 5 values in tabs module_parts is deprecated. Please update to 6 with permissions.', LOG_WARNING); @@ -7102,7 +7102,7 @@ function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode= $h++; } } - else if ($mode == 'remove' && preg_match('/^\-/',$values[1])) + elseif ($mode == 'remove' && preg_match('/^\-/',$values[1])) { if ($values[0] != $type) continue; $tabname=str_replace('-','',$values[1]); @@ -7459,12 +7459,12 @@ function natural_search($fields, $value, $mode=0, $nofirstand=0) $i2++; // a criteria was added to string } } - else if ($mode == 2) + elseif ($mode == 2) { $newres .= ($i2 > 0 ? ' OR ' : '') . $field . " IN (" . $db->escape(trim($crit)) . ")"; $i2++; // a criteria was added to string } - else if ($mode == 3) + elseif ($mode == 3) { $tmparray=explode(',',trim($crit)); if (count($tmparray)) @@ -7482,7 +7482,7 @@ function natural_search($fields, $value, $mode=0, $nofirstand=0) $i2++; // a criteria was added to string } } - else if ($mode == 4) + elseif ($mode == 4) { $tmparray=explode(',',trim($crit)); if (count($tmparray)) diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index aae70adfb62..d94477579dc 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -717,7 +717,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m global $conf,$user; if (! is_object($objsoc)) $valueforccc=$objsoc; - else if ($table == "commande_fournisseur" || $table == "facture_fourn" ) $valueforccc=$objsoc->code_fournisseur; + elseif ($table == "commande_fournisseur" || $table == "facture_fourn" ) $valueforccc=$objsoc->code_fournisseur; else $valueforccc=$objsoc->code_client; $sharetable = $table; @@ -859,7 +859,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m //print "yearoffset=".$yearoffset." yearoffsettype=".$yearoffsettype; if (is_numeric($yearoffsettype) && $yearoffsettype >= 1) $maskraz=$yearoffsettype; // For backward compatibility - else if ($yearoffsettype === '0' || (! empty($yearoffsettype) && ! is_numeric($yearoffsettype) && $conf->global->SOCIETE_FISCAL_MONTH_START > 1)) + elseif ($yearoffsettype === '0' || (! empty($yearoffsettype) && ! is_numeric($yearoffsettype) && $conf->global->SOCIETE_FISCAL_MONTH_START > 1)) $maskraz = $conf->global->SOCIETE_FISCAL_MONTH_START; //print "maskraz=".$maskraz; // -1=no reset @@ -882,8 +882,8 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m else // if reset is for a specific month in year, we need year { if (preg_match('/^(.*)\{(m+)\}\{(y+)\}/i',$maskwithonlyymcode,$reg)) { $posy=3; $posm=2; } - else if (preg_match('/^(.*)\{(y+)\}\{(m+)\}/i',$maskwithonlyymcode,$reg)) { $posy=2; $posm=3; } - else if (preg_match('/^(.*)\{(y+)\}/i',$maskwithonlyymcode,$reg)) { $posy=2; $posm=0; } + elseif (preg_match('/^(.*)\{(y+)\}\{(m+)\}/i',$maskwithonlyymcode,$reg)) { $posy=2; $posm=3; } + elseif (preg_match('/^(.*)\{(y+)\}/i',$maskwithonlyymcode,$reg)) { $posy=2; $posm=0; } else return 'ErrorCantUseRazIfNoYearInMask'; } // Define length @@ -917,10 +917,10 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m if ($date < $nextnewyeardate && $yearoffsettype == '+') $yearoffset=1; } // If after or equal of current new year date - else if ($date >= $newyeardate && $yearoffsettype == '-') $yearoffset=-1; + elseif ($date >= $newyeardate && $yearoffsettype == '-') $yearoffset=-1; } // For backward compatibility - else if (date("m",$date) < $maskraz && empty($resetEveryMonth)) { $yearoffset=-1; } // If current month lower that month of return to zero, year is previous year + elseif (date("m",$date) < $maskraz && empty($resetEveryMonth)) { $yearoffset=-1; } // If current month lower that month of return to zero, year is previous year if ($yearlen == 4) $yearcomp=sprintf("%04d",date("Y",$date)+$yearoffset); elseif ($yearlen == 2) $yearcomp=sprintf("%02d",date("y",$date)+$yearoffset); @@ -938,7 +938,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m $sqlwhere.=" AND SUBSTRING(".$field.", ".$monthpos.", ".$monthlen.") < '".str_pad($monthcomp, $monthlen, '0', STR_PAD_LEFT)."') "; $sqlwhere.=')'; } - else if ($resetEveryMonth) + elseif ($resetEveryMonth) { $sqlwhere.="(SUBSTRING(".$field.", ".$yearpos.", ".$yearlen.") = '".$yearcomp."'"; $sqlwhere.=" AND SUBSTRING(".$field.", ".$monthpos.", ".$monthlen.") = '".str_pad($monthcomp, $monthlen, '0', STR_PAD_LEFT)."')"; @@ -989,7 +989,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m $sql.= " AND ".$field." NOT LIKE '(PROV%)'"; if ($bentityon) // only if entity enable $sql.= " AND entity IN (".getEntity($sharetable).")"; - else if (! empty($forceentity)) + elseif (! empty($forceentity)) $sql.= " AND entity IN (".$forceentity.")"; if ($where) $sql.=$where; if ($sqlwhere) $sql.=' AND '.$sqlwhere; @@ -1006,12 +1006,12 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m // Check if we must force counter to maskoffset if (empty($counter)) $counter=$maskoffset; - else if (preg_match('/[^0-9]/i',$counter)) + elseif (preg_match('/[^0-9]/i',$counter)) { $counter=0; dol_syslog("Error, the last counter found is '".$counter."' so is not a numeric value. We will restart to 1.", LOG_ERR); } - else if ($counter < $maskoffset && empty($conf->global->MAIN_NUMBERING_OFFSET_ONLY_FOR_FIRST)) $counter=$maskoffset; + elseif ($counter < $maskoffset && empty($conf->global->MAIN_NUMBERING_OFFSET_ONLY_FOR_FIRST)) $counter=$maskoffset; if ($mode == 'last') // We found value for counter = last counter value. Now need to get corresponding ref of invoice. { @@ -1038,7 +1038,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m $sql.= " AND ".$field." NOT LIKE '%PROV%'"; if ($bentityon) // only if entity enable $sql.= " AND entity IN (".getEntity($sharetable).")"; - else if (! empty($forceentity)) + elseif (! empty($forceentity)) $sql.= " AND entity IN (".$forceentity.")"; if ($where) $sql.=$where; if ($sqlwhere) $sql.=' AND '.$sqlwhere; @@ -1054,7 +1054,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m $numFinal=$ref; } - else if ($mode == 'next') + elseif ($mode == 'next') { $counter++; @@ -1094,7 +1094,7 @@ function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$m $maskrefclient_sql.= " WHERE ".$field." LIKE '".$maskrefclient_maskLike."'"; if ($bentityon) // only if entity enable $maskrefclient_sql.= " AND entity IN (".getEntity($sharetable).")"; - else if (! empty($forceentity)) + elseif (! empty($forceentity)) $sql.= " AND entity IN (".$forceentity.")"; if ($where) $maskrefclient_sql.=$where; //use the same optional where as general mask if ($sqlwhere) $maskrefclient_sql.=' AND '.$sqlwhere; //use the same sqlwhere as general mask @@ -1357,9 +1357,9 @@ function numero_semaine($time) // Definition du Jeudi de la semaine if (date("w",mktime(12,0,0,$mois,$jour,$annee))==0) // Dimanche $jeudiSemaine = mktime(12,0,0,$mois,$jour,$annee)-3*24*60*60; - else if (date("w",mktime(12,0,0,$mois,$jour,$annee))<4) // du Lundi au Mercredi + elseif (date("w",mktime(12,0,0,$mois,$jour,$annee))<4) // du Lundi au Mercredi $jeudiSemaine = mktime(12,0,0,$mois,$jour,$annee)+(4-date("w",mktime(12,0,0,$mois,$jour,$annee)))*24*60*60; - else if (date("w",mktime(12,0,0,$mois,$jour,$annee))>4) // du Vendredi au Samedi + elseif (date("w",mktime(12,0,0,$mois,$jour,$annee))>4) // du Vendredi au Samedi $jeudiSemaine = mktime(12,0,0,$mois,$jour,$annee)-(date("w",mktime(12,0,0,$mois,$jour,$annee))-4)*24*60*60; else // Jeudi $jeudiSemaine = mktime(12,0,0,$mois,$jour,$annee); @@ -1369,11 +1369,11 @@ function numero_semaine($time) { $premierJeudiAnnee = mktime(12,0,0,1,1,date("Y",$jeudiSemaine))+4*24*60*60; } - else if (date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine)))<4) // du Lundi au Mercredi + elseif (date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine)))<4) // du Lundi au Mercredi { $premierJeudiAnnee = mktime(12,0,0,1,1,date("Y",$jeudiSemaine))+(4-date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine))))*24*60*60; } - else if (date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine)))>4) // du Vendredi au Samedi + elseif (date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine)))>4) // du Vendredi au Samedi { $premierJeudiAnnee = mktime(12,0,0,1,1,date("Y",$jeudiSemaine))+(7-(date("w",mktime(12,0,0,1,1,date("Y",$jeudiSemaine)))-4))*24*60*60; } diff --git a/htdocs/core/lib/geturl.lib.php b/htdocs/core/lib/geturl.lib.php index 418cc1418b5..cbbfaaf89ef 100644 --- a/htdocs/core/lib/geturl.lib.php +++ b/htdocs/core/lib/geturl.lib.php @@ -78,7 +78,7 @@ function getURLContent($url,$postorget='GET',$param='',$followlocation=1,$addhea curl_setopt($ch, CURLOPT_POST, 1); // POST curl_setopt($ch, CURLOPT_POSTFIELDS, $param); // Setting param x=a&y=z as POST fields } - else if ($postorget == 'PUT') + elseif ($postorget == 'PUT') { curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); // HTTP request is 'PUT' if (! is_array($param)) parse_str($param, $array_param); @@ -89,17 +89,17 @@ function getURLContent($url,$postorget='GET',$param='',$followlocation=1,$addhea } curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($array_param)); // Setting param x=a&y=z as PUT fields } - else if ($postorget == 'PUTALREADYFORMATED') + elseif ($postorget == 'PUTALREADYFORMATED') { curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); // HTTP request is 'PUT' curl_setopt($ch, CURLOPT_POSTFIELDS, $param); // param = content of post, like a xml string } - else if ($postorget == 'HEAD') + elseif ($postorget == 'HEAD') { curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'HEAD'); // HTTP request is 'HEAD' curl_setopt($ch, CURLOPT_NOBODY, true); } - else if ($postorget == 'DELETE') + elseif ($postorget == 'DELETE') { curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); // POST } diff --git a/htdocs/core/lib/ldap.lib.php b/htdocs/core/lib/ldap.lib.php index 9f2e55153d0..d54bdd6ac0f 100644 --- a/htdocs/core/lib/ldap.lib.php +++ b/htdocs/core/lib/ldap.lib.php @@ -113,11 +113,11 @@ function show_ldap_test_button($butlabel,$testlabel,$key,$dn,$objectclass) { print ''.$butlabel.''; } - else if (empty($conf->global->LDAP_SERVER_HOST)) + elseif (empty($conf->global->LDAP_SERVER_HOST)) { print ''.$butlabel.''; } - else if (empty($key) || empty($dn) || empty($objectclass)) + elseif (empty($key) || empty($dn) || empty($objectclass)) { $langs->load("errors"); print ''.$butlabel.''; @@ -172,7 +172,7 @@ function show_ldap_content($result,$level,$count,$var,$hide=0,$subcount=0) } show_ldap_content($val,$level+1,$count,$var,$hide,$val["count"]); } - else if ($subcount) + elseif ($subcount) { $subcount--; $newstring=dol_htmlentitiesbr($val); diff --git a/htdocs/core/lib/memory.lib.php b/htdocs/core/lib/memory.lib.php index 69c127f915c..ca21ed606f3 100644 --- a/htdocs/core/lib/memory.lib.php +++ b/htdocs/core/lib/memory.lib.php @@ -69,7 +69,7 @@ function dol_setcache($memoryid,$data) return -$rescode; } } - else if (! empty($conf->memcached->enabled) && class_exists('Memcache')) + elseif (! empty($conf->memcached->enabled) && class_exists('Memcache')) { global $dolmemcache; if (empty($dolmemcache) || ! is_object($dolmemcache)) @@ -93,7 +93,7 @@ function dol_setcache($memoryid,$data) } } // Using shmop - else if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) + elseif (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) { $result=dol_setshmop($memoryid,$data); } @@ -139,7 +139,7 @@ function dol_getcache($memoryid) return -$rescode; } } - else if (! empty($conf->memcached->enabled) && class_exists('Memcache')) + elseif (! empty($conf->memcached->enabled) && class_exists('Memcache')) { global $m; if (empty($m) || ! is_object($m)) @@ -165,7 +165,7 @@ function dol_getcache($memoryid) } } // Using shmop - else if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) + elseif (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) { $data=dol_getshmop($memoryid); return $data; diff --git a/htdocs/core/lib/modulebuilder.lib.php b/htdocs/core/lib/modulebuilder.lib.php index 4981e0fffd0..34cccd6bb91 100644 --- a/htdocs/core/lib/modulebuilder.lib.php +++ b/htdocs/core/lib/modulebuilder.lib.php @@ -263,8 +263,8 @@ function rebuildObjectSql($destdir, $module, $objectname, $newmask, $readdir='', $type = preg_replace('/:.*$/', '', $type); // For case type = 'integer:Societe:societe/class/societe.class.php' if ($type == 'html') $type = 'text'; // html modulebuilder type is a text type in database - else if ($type == 'price') $type = 'double'; // html modulebuilder type is a text type in database - else if ($type == 'link' || $type == 'sellist') $type = 'integer'; + elseif ($type == 'price') $type = 'double'; // html modulebuilder type is a text type in database + elseif ($type == 'link' || $type == 'sellist') $type = 'integer'; $texttoinsert.= "\t".$key." ".$type; if ($key == 'rowid') $texttoinsert.= ' AUTO_INCREMENT PRIMARY KEY'; if ($key == 'entity') $texttoinsert.= ' DEFAULT 1'; @@ -273,7 +273,7 @@ function rebuildObjectSql($destdir, $module, $objectname, $newmask, $readdir='', if ($val['default'] != '') { if (preg_match('/^null$/i', $val['default'])) $texttoinsert.= " DEFAULT NULL"; - else if (preg_match('/varchar/', $type )) $texttoinsert.= " DEFAULT '".$db->escape($val['default'])."'"; + elseif (preg_match('/varchar/', $type )) $texttoinsert.= " DEFAULT '".$db->escape($val['default'])."'"; else $texttoinsert.= (($val['default'] > 0)?' DEFAULT '.$val['default']:''); } } diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 056796032d4..f2e82bb066a 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -461,7 +461,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target if (!empty($targetcontact->country_code) && $targetcontact->country_code != $sourcecompany->country_code) { $stringaddress.= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$targetcontact->country_code)); } - else if (empty($targetcontact->country_code) && !empty($targetcompany->country_code) && ($targetcompany->country_code != $sourcecompany->country_code)) { + elseif (empty($targetcontact->country_code) && !empty($targetcompany->country_code) && ($targetcompany->country_code != $sourcecompany->country_code)) { $stringaddress.= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$targetcompany->country_code)); } @@ -820,7 +820,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $cur+=1; } - else if (! $usedetailedbban) $cury+=1; + elseif (! $usedetailedbban) $cury+=1; // Use correct name of bank id according to country $ibankey = FormBank::getIBANLabel($account); @@ -2030,7 +2030,7 @@ function pdf_getTotalQty($object,$type,$outputlangs) { $total += $object->lines[$i]->qty; } - else if ($type==9 && is_object($hookmanager) && (($object->lines[$i]->product_type == 9 && ! empty($object->lines[$i]->special_code)) || ! empty($object->lines[$i]->fk_parent_line))) + elseif ($type==9 && is_object($hookmanager) && (($object->lines[$i]->product_type == 9 && ! empty($object->lines[$i]->special_code)) || ! empty($object->lines[$i]->fk_parent_line))) { $special_code = $object->lines[$i]->special_code; if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); @@ -2039,11 +2039,11 @@ function pdf_getTotalQty($object,$type,$outputlangs) $reshook = $hookmanager->executeHooks('pdf_getTotalQty',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks return $hookmanager->resPrint; } - else if ($type==0 && $object->lines[$i]->product_type == 0) + elseif ($type==0 && $object->lines[$i]->product_type == 0) { $total += $object->lines[$i]->qty; } - else if ($type==1 && $object->lines[$i]->product_type == 1) + elseif ($type==1 && $object->lines[$i]->product_type == 1) { $total += $object->lines[$i]->qty; } @@ -2087,7 +2087,7 @@ function pdf_getLinkedObjects($object,$outputlangs) $linkedobjects[$objecttype]['date_value'] = dol_print_date($elementobject->date,'day','',$outputlangs); } } - else if ($objecttype == 'commande' || $objecttype == 'supplier_order') + elseif ($objecttype == 'commande' || $objecttype == 'supplier_order') { $outputlangs->load('orders'); foreach($objects as $elementobject) @@ -2098,7 +2098,7 @@ function pdf_getLinkedObjects($object,$outputlangs) $linkedobjects[$objecttype]['date_value'] = dol_print_date($elementobject->date,'day','',$outputlangs); } } - else if ($objecttype == 'contrat') + elseif ($objecttype == 'contrat') { $outputlangs->load('contracts'); foreach($objects as $elementobject) @@ -2109,7 +2109,7 @@ function pdf_getLinkedObjects($object,$outputlangs) $linkedobjects[$objecttype]['date_value'] = dol_print_date($elementobject->date_contrat,'day','',$outputlangs); } } - else if ($objecttype == 'shipping') + elseif ($objecttype == 'shipping') { $outputlangs->loadLangs(array("orders", "sendings")); diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index 68e78a29d76..0e702e89e39 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -484,7 +484,7 @@ function measuring_units_string($unit,$measuring_style='') $measuring_units[98] = $langs->transnoentitiesnoconv("WeightUnitounce"); $measuring_units[99] = $langs->transnoentitiesnoconv("WeightUnitpound"); } - else if ($measuring_style == 'size') + elseif ($measuring_style == 'size') { $measuring_units[0] = $langs->transnoentitiesnoconv("SizeUnitm"); $measuring_units[-1] = $langs->transnoentitiesnoconv("SizeUnitdm"); @@ -493,7 +493,7 @@ function measuring_units_string($unit,$measuring_style='') $measuring_units[98] = $langs->transnoentitiesnoconv("SizeUnitfoot"); $measuring_units[99] = $langs->transnoentitiesnoconv("SizeUnitinch"); } - else if ($measuring_style == 'surface') + elseif ($measuring_style == 'surface') { $measuring_units[0] = $langs->transnoentitiesnoconv("SurfaceUnitm2"); $measuring_units[-2] = $langs->transnoentitiesnoconv("SurfaceUnitdm2"); @@ -502,7 +502,7 @@ function measuring_units_string($unit,$measuring_style='') $measuring_units[98] = $langs->transnoentitiesnoconv("SurfaceUnitfoot2"); $measuring_units[99] = $langs->transnoentitiesnoconv("SurfaceUnitinch2"); } - else if ($measuring_style == 'volume') + elseif ($measuring_style == 'volume') { $measuring_units[0] = $langs->transnoentitiesnoconv("VolumeUnitm3"); $measuring_units[-3] = $langs->transnoentitiesnoconv("VolumeUnitdm3"); diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 8b6ca6a5ca3..837c8bc2cca 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -1105,7 +1105,7 @@ function projectLinesPerDay(&$inc, $parent, $fuser, $lines, &$level, &$projectsr // Warning print ''; if ((! $lines[$i]->public) && $disabledproject) print $form->textwithpicto('',$langs->trans("UserIsNotContactOfProject")); - else if ($disabledtask) + elseif ($disabledtask) { $titleassigntask = $langs->trans("AssignTaskToMe"); if ($fuser->id != $user->id) $titleassigntask = $langs->trans("AssignTaskToUser", '...'); @@ -1383,7 +1383,7 @@ function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$ // Warning print ''; if ((! $lines[$i]->public) && $disabledproject) print $form->textwithpicto('',$langs->trans("UserIsNotContactOfProject")); - else if ($disabledtask) + elseif ($disabledtask) { $titleassigntask = $langs->trans("AssignTaskToMe"); if ($fuser->id != $user->id) $titleassigntask = $langs->trans("AssignTaskToUser", '...'); diff --git a/htdocs/core/lib/security.lib.php b/htdocs/core/lib/security.lib.php index c7d59db13da..a54ed1af8c1 100644 --- a/htdocs/core/lib/security.lib.php +++ b/htdocs/core/lib/security.lib.php @@ -125,12 +125,12 @@ function dol_hash($chain, $type='0') if (! empty($conf->global->MAIN_SECURITY_SALT)) $chain=$conf->global->MAIN_SECURITY_SALT.$chain; if ($type == '1' || $type == 'sha1') return sha1($chain); - else if ($type == '2' || $type == 'sha1md5') return sha1(md5($chain)); - else if ($type == '3' || $type == 'md5') return md5($chain); - else if ($type == '4' || $type == 'md5openldap') return '{md5}'.base64_encode(mhash(MHASH_MD5,$chain)); // For OpenLdap with md5 (based on an unencrypted password in base) - else if ($type == '5') return hash('sha256',$chain); - else if (! empty($conf->global->MAIN_SECURITY_HASH_ALGO) && $conf->global->MAIN_SECURITY_HASH_ALGO == 'sha1') return sha1($chain); - else if (! empty($conf->global->MAIN_SECURITY_HASH_ALGO) && $conf->global->MAIN_SECURITY_HASH_ALGO == 'sha1md5') return sha1(md5($chain)); + elseif ($type == '2' || $type == 'sha1md5') return sha1(md5($chain)); + elseif ($type == '3' || $type == 'md5') return md5($chain); + elseif ($type == '4' || $type == 'md5openldap') return '{md5}'.base64_encode(mhash(MHASH_MD5,$chain)); // For OpenLdap with md5 (based on an unencrypted password in base) + elseif ($type == '5') return hash('sha256',$chain); + elseif (! empty($conf->global->MAIN_SECURITY_HASH_ALGO) && $conf->global->MAIN_SECURITY_HASH_ALGO == 'sha1') return sha1($chain); + elseif (! empty($conf->global->MAIN_SECURITY_HASH_ALGO) && $conf->global->MAIN_SECURITY_HASH_ALGO == 'sha1md5') return sha1(md5($chain)); // No particular encoding defined, use default return md5($chain); @@ -153,8 +153,8 @@ function dol_verifyHash($chain, $hash, $type='0') if ($type == '0' && ! empty($conf->global->MAIN_SECURITY_HASH_ALGO) && $conf->global->MAIN_SECURITY_HASH_ALGO == 'password_hash' && function_exists('password_verify')) { if ($hash[0] == '$') return password_verify($chain, $hash); - else if(strlen($hash) == 32) return dol_verifyHash($chain, $hash, '3'); // md5 - else if(strlen($hash) == 40) return dol_verifyHash($chain, $hash, '2'); // sha1md5 + elseif(strlen($hash) == 32) return dol_verifyHash($chain, $hash, '3'); // md5 + elseif(strlen($hash) == 40) return dol_verifyHash($chain, $hash, '2'); // sha1md5 return false; } @@ -199,7 +199,7 @@ function restrictedArea($user, $features, $objectid=0, $tableandshare='', $featu // Features/modules to check $featuresarray = array($features); if (preg_match('/&/', $features)) $featuresarray = explode("&", $features); - else if (preg_match('/\|/', $features)) $featuresarray = explode("|", $features); + elseif (preg_match('/\|/', $features)) $featuresarray = explode("|", $features); // More subfeatures to check if (! empty($feature2)) $feature2 = explode("|", $feature2); @@ -227,34 +227,34 @@ function restrictedArea($user, $features, $objectid=0, $tableandshare='', $featu { if (! $user->rights->societe->lire && ! $user->rights->fournisseur->lire) { $readok=0; $nbko++; } } - else if ($feature == 'contact') + elseif ($feature == 'contact') { if (! $user->rights->societe->contact->lire) { $readok=0; $nbko++; } } - else if ($feature == 'produit|service') + elseif ($feature == 'produit|service') { if (! $user->rights->produit->lire && ! $user->rights->service->lire) { $readok=0; $nbko++; } } - else if ($feature == 'prelevement') + elseif ($feature == 'prelevement') { if (! $user->rights->prelevement->bons->lire) { $readok=0; $nbko++; } } - else if ($feature == 'cheque') + elseif ($feature == 'cheque') { if (! $user->rights->banque->cheque) { $readok=0; $nbko++; } } - else if ($feature == 'projet') + elseif ($feature == 'projet') { if (! $user->rights->projet->lire && ! $user->rights->projet->all->lire) { $readok=0; $nbko++; } } - else if (! empty($feature2)) // This should be used for future changes + elseif (! empty($feature2)) // This should be used for future changes { $tmpreadok=1; foreach($feature2 as $subfeature) { if ($subfeature == 'user' && $user->id == $objectid) continue; // A user can always read its own card if (! empty($subfeature) && empty($user->rights->$feature->$subfeature->lire) && empty($user->rights->$feature->$subfeature->read)) { $tmpreadok=0; } - else if (empty($subfeature) && empty($user->rights->$feature->lire) && empty($user->rights->$feature->read)) { $tmpreadok=0; } + elseif (empty($subfeature) && empty($user->rights->$feature->lire) && empty($user->rights->$feature->read)) { $tmpreadok=0; } else { $tmpreadok=1; break; } // Break is to bypass second test if the first is ok } if (! $tmpreadok) // We found a test on feature that is ko @@ -263,7 +263,7 @@ function restrictedArea($user, $features, $objectid=0, $tableandshare='', $featu $nbko++; } } - else if (! empty($feature) && ($feature!='user' && $feature!='usergroup')) // This is for old permissions + elseif (! empty($feature) && ($feature!='user' && $feature!='usergroup')) // This is for old permissions { if (empty($user->rights->$feature->lire) && empty($user->rights->$feature->read) @@ -287,27 +287,27 @@ function restrictedArea($user, $features, $objectid=0, $tableandshare='', $featu { if (! $user->rights->societe->contact->creer) { $createok=0; $nbko++; } } - else if ($feature == 'produit|service') + elseif ($feature == 'produit|service') { if (! $user->rights->produit->creer && ! $user->rights->service->creer) { $createok=0; $nbko++; } } - else if ($feature == 'prelevement') + elseif ($feature == 'prelevement') { if (! $user->rights->prelevement->bons->creer) { $createok=0; $nbko++; } } - else if ($feature == 'commande_fournisseur') + elseif ($feature == 'commande_fournisseur') { if (! $user->rights->fournisseur->commande->creer) { $createok=0; $nbko++; } } - else if ($feature == 'banque') + elseif ($feature == 'banque') { if (! $user->rights->banque->modifier) { $createok=0; $nbko++; } } - else if ($feature == 'cheque') + elseif ($feature == 'cheque') { if (! $user->rights->banque->cheque) { $createok=0; $nbko++; } } - else if (! empty($feature2)) // This should be used + elseif (! empty($feature2)) // This should be used { foreach($feature2 as $subfeature) { @@ -317,7 +317,7 @@ function restrictedArea($user, $features, $objectid=0, $tableandshare='', $featu else { $createok=1; break; } // Break to bypass second test if the first is ok } } - else if (! empty($feature)) // This is for old permissions ('creer' or 'write') + elseif (! empty($feature)) // This is for old permissions ('creer' or 'write') { //print '
feature='.$feature.' creer='.$user->rights->$feature->creer.' write='.$user->rights->$feature->write; if (empty($user->rights->$feature->creer) @@ -353,38 +353,38 @@ function restrictedArea($user, $features, $objectid=0, $tableandshare='', $featu { if (! $user->rights->societe->contact->supprimer) $deleteok=0; } - else if ($feature == 'produit|service') + elseif ($feature == 'produit|service') { if (! $user->rights->produit->supprimer && ! $user->rights->service->supprimer) $deleteok=0; } - else if ($feature == 'commande_fournisseur') + elseif ($feature == 'commande_fournisseur') { if (! $user->rights->fournisseur->commande->supprimer) $deleteok=0; } - else if ($feature == 'banque') + elseif ($feature == 'banque') { if (! $user->rights->banque->modifier) $deleteok=0; } - else if ($feature == 'cheque') + elseif ($feature == 'cheque') { if (! $user->rights->banque->cheque) $deleteok=0; } - else if ($feature == 'ecm') + elseif ($feature == 'ecm') { if (! $user->rights->ecm->upload) $deleteok=0; } - else if ($feature == 'ftp') + elseif ($feature == 'ftp') { if (! $user->rights->ftp->write) $deleteok=0; - }else if ($feature == 'salaries') + }elseif ($feature == 'salaries') { if (! $user->rights->salaries->delete) $deleteok=0; } - else if ($feature == 'salaries') + elseif ($feature == 'salaries') { if (! $user->rights->salaries->delete) $deleteok=0; } - else if (! empty($feature2)) // This should be used for permissions on 2 levels + elseif (! empty($feature2)) // This should be used for permissions on 2 levels { foreach($feature2 as $subfeature) { @@ -392,7 +392,7 @@ function restrictedArea($user, $features, $objectid=0, $tableandshare='', $featu else { $deleteok=1; break; } // For bypass the second test if the first is ok } } - else if (! empty($feature)) // This is used for permissions on 1 level + elseif (! empty($feature)) // This is used for permissions on 1 level { //print '
feature='.$feature.' creer='.$user->rights->$feature->supprimer.' write='.$user->rights->$feature->delete; if (empty($user->rights->$feature->supprimer) @@ -500,7 +500,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND dbt.entity IN (".getEntity($sharedelement, 1).")"; } } - else if (in_array($feature,$checksoc)) // We check feature = checksoc + elseif (in_array($feature,$checksoc)) // We check feature = checksoc { // If external user: Check permission for external users if ($user->socid > 0) @@ -508,7 +508,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh if ($user->socid <> $objectid) return false; } // If internal user: Check permission for internal users that are restricted on their objects - else if (! empty($conf->societe->enabled) && ($user->rights->societe->lire && ! $user->rights->societe->client->voir)) + elseif (! empty($conf->societe->enabled) && ($user->rights->societe->lire && ! $user->rights->societe->client->voir)) { $sql = "SELECT COUNT(sc.fk_soc) as nb"; $sql.= " FROM (".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -519,7 +519,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND s.entity IN (".getEntity($sharedelement, 1).")"; } // If multicompany and internal users with all permissions, check user is in correct entity - else if (! empty($conf->multicompany->enabled)) + elseif (! empty($conf->multicompany->enabled)) { $sql = "SELECT COUNT(s.rowid) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; @@ -527,7 +527,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND s.entity IN (".getEntity($sharedelement, 1).")"; } } - else if (in_array($feature,$checkother)) // Test on entity and link to societe. Allowed if link is empty (Ex: contacts...). + elseif (in_array($feature,$checkother)) // Test on entity and link to societe. Allowed if link is empty (Ex: contacts...). { // If external user: Check permission for external users if ($user->socid > 0) @@ -538,7 +538,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND dbt.fk_soc = ".$user->socid; } // If internal user: Check permission for internal users that are restricted on their objects - else if (! empty($conf->societe->enabled) && ($user->rights->societe->lire && ! $user->rights->societe->client->voir)) + elseif (! empty($conf->societe->enabled) && ($user->rights->societe->lire && ! $user->rights->societe->client->voir)) { $sql = "SELECT COUNT(dbt.".$dbt_select.") as nb"; $sql.= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt"; @@ -548,7 +548,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND dbt.entity IN (".getEntity($sharedelement, 1).")"; } // If multicompany and internal users with all permissions, check user is in correct entity - else if (! empty($conf->multicompany->enabled)) + elseif (! empty($conf->multicompany->enabled)) { $sql = "SELECT COUNT(dbt.".$dbt_select.") as nb"; $sql.= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt"; @@ -556,7 +556,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND dbt.entity IN (".getEntity($sharedelement, 1).")"; } } - else if (in_array($feature,$checkproject)) + elseif (in_array($feature,$checkproject)) { if (! empty($conf->projet->enabled) && empty($user->rights->projet->all->lire)) { @@ -574,7 +574,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND dbt.entity IN (".getEntity($sharedelement, 1).")"; } } - else if (in_array($feature,$checktask)) + elseif (in_array($feature,$checktask)) { if (! empty($conf->projet->enabled) && empty($user->rights->projet->all->lire)) { @@ -595,7 +595,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND dbt.entity IN (".getEntity($sharedelement, 1).")"; } } - else if (! in_array($feature,$nocheck)) // By default (case of $checkdefault), we check on object entity + link to third party on field $dbt_keyfield + elseif (! in_array($feature,$nocheck)) // By default (case of $checkdefault), we check on object entity + link to third party on field $dbt_keyfield { // If external user: Check permission for external users if ($user->socid > 0) @@ -607,7 +607,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND dbt.".$dbt_keyfield." = ".$user->socid; } // If internal user: Check permission for internal users that are restricted on their objects - else if (! empty($conf->societe->enabled) && ($user->rights->societe->lire && ! $user->rights->societe->client->voir)) + elseif (! empty($conf->societe->enabled) && ($user->rights->societe->lire && ! $user->rights->societe->client->voir)) { if (empty($dbt_keyfield)) dol_print_error('','Param dbt_keyfield is required but not defined'); $sql = "SELECT COUNT(sc.fk_soc) as nb"; @@ -621,7 +621,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh $sql.= " AND sc.fk_user = ".$user->id; } // If multicompany and internal users with all permissions, check user is in correct entity - else if (! empty($conf->multicompany->enabled)) + elseif (! empty($conf->multicompany->enabled)) { $sql = "SELECT COUNT(dbt.".$dbt_select.") as nb"; $sql.= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt"; @@ -672,7 +672,7 @@ function accessforbidden($message='',$printheader=1,$printfooter=1,$showonlymess if ($printheader) { if (function_exists("llxHeader")) llxHeader(''); - else if (function_exists("llxHeaderVierge")) llxHeaderVierge(''); + elseif (function_exists("llxHeaderVierge")) llxHeaderVierge(''); } print '
'; if (! $message) print $langs->trans("ErrorForbidden"); diff --git a/htdocs/core/lib/security2.lib.php b/htdocs/core/lib/security2.lib.php index c09cd7f78d3..1f47b4df94b 100644 --- a/htdocs/core/lib/security2.lib.php +++ b/htdocs/core/lib/security2.lib.php @@ -498,7 +498,7 @@ function getRandomPassword($generic=false, $replaceambiguouschars=null) $generated_password=str_shuffle($randomCode); } } - else if (! empty($conf->global->USER_PASSWORD_GENERATED)) + elseif (! empty($conf->global->USER_PASSWORD_GENERATED)) { $nomclass="modGeneratePass".ucfirst($conf->global->USER_PASSWORD_GENERATED); $nomfichier=$nomclass.".class.php"; diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index 7927bec0268..40646e07df9 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -163,7 +163,7 @@ function tax_by_thirdparty($type, $db, $y, $date_start, $date_end, $modetax, $di $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -204,7 +204,7 @@ function tax_by_thirdparty($type, $db, $y, $date_start, $date_end, $modetax, $di $sql.= " AND pa.datep >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND pa.datep <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND pa.datep >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND pa.datep <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -311,7 +311,7 @@ function tax_by_thirdparty($type, $db, $y, $date_start, $date_end, $modetax, $di $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -352,7 +352,7 @@ function tax_by_thirdparty($type, $db, $y, $date_start, $date_end, $modetax, $di $sql.= " AND pa.datep >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND pa.datep <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND pa.datep >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND pa.datep <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -456,7 +456,7 @@ function tax_by_thirdparty($type, $db, $y, $date_start, $date_end, $modetax, $di $sql.= " AND p.datep >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND p.datep <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND p.datep >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND p.datep <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -632,7 +632,7 @@ function tax_by_rate($type, $db, $y, $q, $date_start, $date_end, $modetax, $dire $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -673,7 +673,7 @@ function tax_by_rate($type, $db, $y, $q, $date_start, $date_end, $modetax, $dire $sql.= " AND pa.datep >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND pa.datep <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND pa.datep >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND pa.datep <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -780,7 +780,7 @@ function tax_by_rate($type, $db, $y, $q, $date_start, $date_end, $modetax, $dire $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND f.datef >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND f.datef <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -821,7 +821,7 @@ function tax_by_rate($type, $db, $y, $q, $date_start, $date_end, $modetax, $dire $sql.= " AND pa.datep >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND pa.datep <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND pa.datep >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND pa.datep <= '".$db->idate(dol_get_last_day($y,12,false))."'"; @@ -925,7 +925,7 @@ function tax_by_rate($type, $db, $y, $q, $date_start, $date_end, $modetax, $dire $sql.= " AND p.datep >= '".$db->idate(dol_get_first_day($y,$m,false))."'"; $sql.= " AND p.datep <= '".$db->idate(dol_get_last_day($y,$m,false))."'"; } - else if ($y) + elseif ($y) { $sql.= " AND p.datep >= '".$db->idate(dol_get_first_day($y,1,false))."'"; $sql.= " AND p.datep <= '".$db->idate(dol_get_last_day($y,12,false))."'"; diff --git a/htdocs/core/lib/ws.lib.php b/htdocs/core/lib/ws.lib.php index 533a13e1fb6..9758fbe1b8e 100644 --- a/htdocs/core/lib/ws.lib.php +++ b/htdocs/core/lib/ws.lib.php @@ -59,7 +59,7 @@ function check_authentication($authentication,&$error,&$errorcode,&$errorlabel) $error++; $errorcode='ERROR_FETCH_USER'; $errorlabel='A technical error occurred during fetch of user'; } - else if ($result == 0) + elseif ($result == 0) { $error++; $errorcode='BAD_CREDENTIALS'; $errorlabel='Bad value for login or password'; diff --git a/htdocs/core/login/functions_openid.php b/htdocs/core/login/functions_openid.php index bc8d7f45122..e87a07276bb 100644 --- a/htdocs/core/login/functions_openid.php +++ b/htdocs/core/login/functions_openid.php @@ -90,7 +90,7 @@ function check_user_password_openid($usertotest,$passwordtotest,$entitytotest) } } } - else if($openid->IsError() === true) + elseif($openid->IsError() === true) { // ON THE WAY, WE GOT SOME ERROR $error = $openid->GetError(); @@ -103,7 +103,7 @@ function check_user_password_openid($usertotest,$passwordtotest,$entitytotest) return false; } } - else if ($_GET['openid_mode'] == 'cancel') + elseif ($_GET['openid_mode'] == 'cancel') { // User Canceled your Request //echo "USER CANCELED REQUEST"; diff --git a/htdocs/core/menus/standard/auguria.lib.php b/htdocs/core/menus/standard/auguria.lib.php index 1ca94b38106..e925798e36e 100644 --- a/htdocs/core/menus/standard/auguria.lib.php +++ b/htdocs/core/menus/standard/auguria.lib.php @@ -112,10 +112,10 @@ function print_auguria_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$m // Define the class (top menu selected or not) if (! empty($_SESSION['idmenu']) && $newTabMenu[$i]['rowid'] == $_SESSION['idmenu']) $classname='class="tmenusel"'; - else if (! empty($_SESSION["mainmenu"]) && $newTabMenu[$i]['mainmenu'] == $_SESSION["mainmenu"]) $classname='class="tmenusel"'; + elseif (! empty($_SESSION["mainmenu"]) && $newTabMenu[$i]['mainmenu'] == $_SESSION["mainmenu"]) $classname='class="tmenusel"'; else $classname='class="tmenu"'; } - else if ($showmode == 2) $classname='class="tmenu"'; + elseif ($showmode == 2) $classname='class="tmenu"'; $menu->add($shorturl, $newTabMenu[$i]['titre'], 0, $showmode, ($newTabMenu[$i]['target']?$newTabMenu[$i]['target']:$atarget), ($newTabMenu[$i]['mainmenu']?$newTabMenu[$i]['mainmenu']:$newTabMenu[$i]['rowid']), ($newTabMenu[$i]['leftmenu']?$newTabMenu[$i]['leftmenu']:''), $newTabMenu[$i]['position'], $id, $idsel, $classname); } @@ -550,7 +550,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM print '
'."\n"; $lastlevel0='enabled'; } - else if ($showmenu) // Not enabled but visible (so greyed) + elseif ($showmenu) // Not enabled but visible (so greyed) { print ''."\n"; $lastlevel0='greyed'; @@ -583,7 +583,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM if (! strstr($menu_array[$i]['titre'],''; print ''."\n"; } - else if ($showmenu && $lastlevel0 == 'enabled') // Not enabled but visible (so greyed), except if parent was not enabled. + elseif ($showmenu && $lastlevel0 == 'enabled') // Not enabled but visible (so greyed), except if parent was not enabled. { print ''."\n"; } diff --git a/htdocs/core/menus/standard/auguria_menu.php b/htdocs/core/menus/standard/auguria_menu.php index f4cb98d9c4b..93f779bf5a5 100644 --- a/htdocs/core/menus/standard/auguria_menu.php +++ b/htdocs/core/menus/standard/auguria_menu.php @@ -210,7 +210,7 @@ class MenuManager { $lastlevel[0]='enabled'; } - else if ($showmenu) // Not enabled but visible (so greyed) + elseif ($showmenu) // Not enabled but visible (so greyed) { $lastlevel[0]='greyed'; } diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 223cacaf26a..6226be4a145 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -341,10 +341,10 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode // Define the class (top menu selected or not) if (! empty($_SESSION['idmenu']) && $newTabMenu[$i]['rowid'] == $_SESSION['idmenu']) $classname='class="tmenusel"'; - else if (! empty($_SESSION["mainmenu"]) && $newTabMenu[$i]['mainmenu'] == $_SESSION["mainmenu"]) $classname='class="tmenusel"'; + elseif (! empty($_SESSION["mainmenu"]) && $newTabMenu[$i]['mainmenu'] == $_SESSION["mainmenu"]) $classname='class="tmenusel"'; else $classname='class="tmenu"'; } - else if ($showmode == 2) $classname='class="tmenu"'; + elseif ($showmode == 2) $classname='class="tmenu"'; $menu->add($shorturl, $newTabMenu[$i]['titre'], 0, $showmode, ($newTabMenu[$i]['target']?$newTabMenu[$i]['target']:$atarget), ($newTabMenu[$i]['mainmenu']?$newTabMenu[$i]['mainmenu']:$newTabMenu[$i]['rowid']), ($newTabMenu[$i]['leftmenu']?$newTabMenu[$i]['leftmenu']:''), $newTabMenu[$i]['position'], $id, $idsel, $classname); } @@ -1837,7 +1837,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu print ''."\n"; $lastlevel0='enabled'; } - else if ($showmenu) // Not enabled but visible (so greyed) + elseif ($showmenu) // Not enabled but visible (so greyed) { print ''."\n"; $lastlevel0='greyed'; @@ -1870,7 +1870,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (! strstr($menu_array[$i]['titre'],''; print ''."\n"; } - else if ($showmenu && $lastlevel0 == 'enabled') // Not enabled but visible (so greyed), except if parent was not enabled. + elseif ($showmenu && $lastlevel0 == 'enabled') // Not enabled but visible (so greyed), except if parent was not enabled. { print ''."\n"; } diff --git a/htdocs/core/menus/standard/eldy_menu.php b/htdocs/core/menus/standard/eldy_menu.php index 4992fc6d11c..afac9a6a84b 100644 --- a/htdocs/core/menus/standard/eldy_menu.php +++ b/htdocs/core/menus/standard/eldy_menu.php @@ -225,7 +225,7 @@ class MenuManager { $lastlevel[0]='enabled'; } - else if ($showmenu) // Not enabled but visible (so greyed) + elseif ($showmenu) // Not enabled but visible (so greyed) { $lastlevel[0]='greyed'; } diff --git a/htdocs/core/menus/standard/empty.php b/htdocs/core/menus/standard/empty.php index 038167ae512..357bccd5d46 100644 --- a/htdocs/core/menus/standard/empty.php +++ b/htdocs/core/menus/standard/empty.php @@ -225,7 +225,7 @@ class MenuManager { $lastlevel[0]='enabled'; } - else if ($showmenu) // Not enabled but visible (so greyed) + elseif ($showmenu) // Not enabled but visible (so greyed) { $lastlevel[0]='greyed'; } diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index 9e8d5565f67..3a37d89d136 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -2109,7 +2109,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it if (isset($value['entity'])) { $entity = $value['entity']; } } - else if (isset($value['data']) && !is_array($value['data'])) { + elseif (isset($value['data']) && !is_array($value['data'])) { $newvalue = $value['data']; if (isset($value['entity'])) { $entity = $value['entity']; } diff --git a/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php b/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php index ed6a7635164..bcfb6686cad 100644 --- a/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php +++ b/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php @@ -255,7 +255,7 @@ class modTcpdfbarcode extends ModeleBarCode if (array_key_exists($dolEncodingType, $tcpdf1dEncodingTypes)) { $this->is2d = false; return $tcpdf1dEncodingTypes[$dolEncodingType]; - } else if (array_key_exists($dolEncodingType, $tcpdf2dEncodingTypes)) { + } elseif (array_key_exists($dolEncodingType, $tcpdf2dEncodingTypes)) { $this->is2d = true; return $tcpdf2dEncodingTypes[$dolEncodingType]; } else { diff --git a/htdocs/core/modules/barcode/mod_barcode_product_standard.php b/htdocs/core/modules/barcode/mod_barcode_product_standard.php index 97121eebcfd..af1bb03c3c3 100644 --- a/htdocs/core/modules/barcode/mod_barcode_product_standard.php +++ b/htdocs/core/modules/barcode/mod_barcode_product_standard.php @@ -199,7 +199,7 @@ class mod_barcode_product_standard extends ModeleNumRefBarCode { $result=0; } - else if (empty($code) && (! $this->code_null || ! empty($conf->global->BARCODE_STANDARD_PRODUCT_MASK)) ) + elseif (empty($code) && (! $this->code_null || ! empty($conf->global->BARCODE_STANDARD_PRODUCT_MASK)) ) { $result=-2; } diff --git a/htdocs/core/modules/contract/mod_contract_olive.php b/htdocs/core/modules/contract/mod_contract_olive.php index 993f4bf9bfb..cc629b3ff34 100644 --- a/htdocs/core/modules/contract/mod_contract_olive.php +++ b/htdocs/core/modules/contract/mod_contract_olive.php @@ -112,7 +112,7 @@ class mod_contract_olive extends ModelNumRefContracts { $result=0; } - else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_CONTARCT_CODE_ALWAYS_REQUIRED)) ) + elseif (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_CONTARCT_CODE_ALWAYS_REQUIRED)) ) { $result=-2; } diff --git a/htdocs/core/modules/dons/html_cerfafr.modules.php b/htdocs/core/modules/dons/html_cerfafr.modules.php index cac7329cf5b..92c775bf4e5 100644 --- a/htdocs/core/modules/dons/html_cerfafr.modules.php +++ b/htdocs/core/modules/dons/html_cerfafr.modules.php @@ -136,10 +136,10 @@ class html_cerfafr extends ModeleDon if ($don->modepaymentcode=='CHQ'){ $ModePaiement = ' Remise d\'espèces Chèque Virement, prélèvement, carte bancaire'; } - else if ($don->modepaymentcode=='LIQ'){ + elseif ($don->modepaymentcode=='LIQ'){ $ModePaiement = ' Remise d\'espèces Chèque Virement, prélèvement, carte bancaire'; } - else if ($don->modepaymentcode=='VIR' || $don->modepaymentcode=='PRE' || $don->modepaymentcode=='CB'){ + elseif ($don->modepaymentcode=='VIR' || $don->modepaymentcode=='PRE' || $don->modepaymentcode=='CB'){ $ModePaiement = ' Remise d\'espèces Chèque Virement, prélèvement, carte bancaire'; } else @@ -316,11 +316,11 @@ class html_cerfafr extends ModeleDon $secon[$i]=''; $prim[$i]=$chif[$unite[$i]]; } - else if($dix[$i]==1){ + elseif($dix[$i]==1){ $secon[$i]=''; $prim[$i]=$chif[($unite[$i]+10)]; } - else if($dix[$i]==2){ + elseif($dix[$i]==2){ if($unite[$i]==1){ $secon[$i]='vingt et'; $prim[$i]=$chif[$unite[$i]]; @@ -330,7 +330,7 @@ class html_cerfafr extends ModeleDon $prim[$i]=$chif[$unite[$i]]; } } - else if($dix[$i]==3){ + elseif($dix[$i]==3){ if($unite[$i]==1){ $secon[$i]='trente et'; $prim[$i]=$chif[$unite[$i]]; @@ -340,7 +340,7 @@ class html_cerfafr extends ModeleDon $prim[$i]=$chif[$unite[$i]]; } } - else if($dix[$i]==4){ + elseif($dix[$i]==4){ if($unite[$i]==1){ $secon[$i]='quarante et'; $prim[$i]=$chif[$unite[$i]]; @@ -350,7 +350,7 @@ class html_cerfafr extends ModeleDon $prim[$i]=$chif[$unite[$i]]; } } - else if($dix[$i]==5){ + elseif($dix[$i]==5){ if($unite[$i]==1){ $secon[$i]='cinquante et'; $prim[$i]=$chif[$unite[$i]]; @@ -360,7 +360,7 @@ class html_cerfafr extends ModeleDon $prim[$i]=$chif[$unite[$i]]; } } - else if($dix[$i]==6){ + elseif($dix[$i]==6){ if($unite[$i]==1){ $secon[$i]='soixante et'; $prim[$i]=$chif[$unite[$i]]; @@ -370,7 +370,7 @@ class html_cerfafr extends ModeleDon $prim[$i]=$chif[$unite[$i]]; } } - else if($dix[$i]==7){ + elseif($dix[$i]==7){ if($unite[$i]==1){ $secon[$i]='soixante et'; $prim[$i]=$chif[$unite[$i]+10]; @@ -380,7 +380,7 @@ class html_cerfafr extends ModeleDon $prim[$i]=$chif[$unite[$i]+10]; } } - else if($dix[$i]==8){ + elseif($dix[$i]==8){ if($unite[$i]==1){ $secon[$i]='quatre-vingts et'; $prim[$i]=$chif[$unite[$i]]; @@ -390,7 +390,7 @@ class html_cerfafr extends ModeleDon $prim[$i]=$chif[$unite[$i]]; } } - else if($dix[$i]==9){ + elseif($dix[$i]==9){ if($unite[$i]==1){ $secon[$i]='quatre-vingts et'; $prim[$i]=$chif[$unite[$i]+10]; @@ -401,25 +401,25 @@ class html_cerfafr extends ModeleDon } } if($cent[$i]==1) $trio[$i]='cent'; - else if($cent[$i]!=0 || $cent[$i]!='') $trio[$i]=$chif[$cent[$i]] .' cents'; + elseif($cent[$i]!=0 || $cent[$i]!='') $trio[$i]=$chif[$cent[$i]] .' cents'; } $chif2=array('', 'dix', 'vingt', 'trente', 'quarante', 'cinquante', 'soixante', 'soixante-dix', 'quatre-vingts', 'quatre-vingts dix'); $secon_c=$chif2[$dix_c]; if($cent_c==1) $trio_c='cent'; - else if($cent_c!=0 || $cent_c!='') $trio_c=$chif[$cent_c] .' cents'; + elseif($cent_c!=0 || $cent_c!='') $trio_c=$chif[$cent_c] .' cents'; if(($cent[3]==0 || $cent[3]=='') && ($dix[3]==0 || $dix[3]=='') && ($unite[3]==1)) $somme = $trio[3]. ' ' .$secon[3]. ' ' . $prim[3]. ' million '; - else if(($cent[3]!=0 && $cent[3]!='') || ($dix[3]!=0 && $dix[3]!='') || ($unite[3]!=0 && $unite[3]!='')) + elseif(($cent[3]!=0 && $cent[3]!='') || ($dix[3]!=0 && $dix[3]!='') || ($unite[3]!=0 && $unite[3]!='')) $somme = $trio[3]. ' ' .$secon[3]. ' ' . $prim[3]. ' millions '; else $somme = $trio[3]. ' ' .$secon[3]. ' ' . $prim[3]; if(($cent[2]==0 || $cent[2]=='') && ($dix[2]==0 || $dix[2]=='') && ($unite[2]==1)) $somme = $somme.' mille '; - else if(($cent[2]!=0 && $cent[2]!='') || ($dix[2]!=0 && $dix[2]!='') || ($unite[2]!=0 && $unite[2]!='')) + elseif(($cent[2]!=0 && $cent[2]!='') || ($dix[2]!=0 && $dix[2]!='') || ($unite[2]!=0 && $unite[2]!='')) $somme = $somme. $trio[2]. ' ' .$secon[2]. ' ' . $prim[2]. ' milles '; else $somme = $somme. $trio[2]. ' ' .$secon[2]. ' ' . $prim[2]; diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index 9851e1781e2..99980e081fe 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -780,7 +780,7 @@ class pdf_standard extends ModeleExpenseReport $pdf->MultiCell(96,4,$outputlangs->transnoentities("DATE_REFUS")." : ".dol_print_date($object->date_refuse,"day",false,$outputlangs),0,'L'); } } - else if($object->fk_statut==4) + elseif($object->fk_statut==4) { if ($object->fk_user_cancel > 0) { $userfee=new User($this->db); diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index ab2ffb3bd2a..ee0e2adfb4c 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -572,7 +572,7 @@ class pdf_crabe extends ModelePDFFactures { $pdf->MultiCell($this->posxprogress-$this->posxqty-0.8, 4, $qty, 0, 'R'); } - else if($conf->global->PRODUCT_USE_UNITS) + elseif($conf->global->PRODUCT_USE_UNITS) { $pdf->MultiCell($this->posxunit-$this->posxqty-0.8, 4, $qty, 0, 'R'); } @@ -590,7 +590,7 @@ class pdf_crabe extends ModelePDFFactures { $pdf->MultiCell($this->posxunit-$this->posxprogress-1, 3, $progress, 0, 'R'); } - else if ($this->atleastonediscount) + elseif ($this->atleastonediscount) { $pdf->MultiCell($this->posxdiscount-$this->posxprogress-1, 3, $progress, 0, 'R'); } @@ -1486,7 +1486,7 @@ class pdf_crabe extends ModelePDFFactures { $pdf->MultiCell($this->posxprogress-$this->posxqty-1,2, $outputlangs->transnoentities("Qty"),'','C'); } - else if($conf->global->PRODUCT_USE_UNITS) + elseif($conf->global->PRODUCT_USE_UNITS) { $pdf->MultiCell($this->posxunit-$this->posxqty-1,2, $outputlangs->transnoentities("Qty"),'','C'); } @@ -1507,7 +1507,7 @@ class pdf_crabe extends ModelePDFFactures { $pdf->MultiCell($this->posxunit-$this->posxprogress,2, $outputlangs->transnoentities("Progress"),'','C'); } - else if ($this->atleastonediscount) + elseif ($this->atleastonediscount) { $pdf->MultiCell($this->posxdiscount-$this->posxprogress,2, $outputlangs->transnoentities("Progress"),'','C'); } diff --git a/htdocs/core/modules/facture/mod_facture_mars.php b/htdocs/core/modules/facture/mod_facture_mars.php index 7057fda20ee..eaab6d1b40e 100644 --- a/htdocs/core/modules/facture/mod_facture_mars.php +++ b/htdocs/core/modules/facture/mod_facture_mars.php @@ -155,8 +155,8 @@ class mod_facture_mars extends ModeleNumRefFactures $prefix=$this->prefixinvoice; if ($invoice->type == 1) $prefix=$this->prefixreplacement; - else if ($invoice->type == 2) $prefix=$this->prefixcreditnote; - else if ($invoice->type == 3) $prefix=$this->prefixdeposit; + elseif ($invoice->type == 2) $prefix=$this->prefixcreditnote; + elseif ($invoice->type == 3) $prefix=$this->prefixdeposit; else $prefix=$this->prefixinvoice; // D'abord on recupere la valeur max @@ -201,7 +201,7 @@ class mod_facture_mars extends ModeleNumRefFactures return $ref; } - else if ($mode == 'next') + elseif ($mode == 'next') { $date=$invoice->date; // This is invoice date (not creation date) $yymm = strftime("%y%m",$date); diff --git a/htdocs/core/modules/facture/mod_facture_mercure.php b/htdocs/core/modules/facture/mod_facture_mercure.php index c454b200004..5b5e01a7c71 100644 --- a/htdocs/core/modules/facture/mod_facture_mercure.php +++ b/htdocs/core/modules/facture/mod_facture_mercure.php @@ -151,8 +151,8 @@ class mod_facture_mercure extends ModeleNumRefFactures $mask=$conf->global->FACTURE_MERCURE_MASK_INVOICE; } } - else if (is_object($invoice) && $invoice->type == 2) $mask=$conf->global->FACTURE_MERCURE_MASK_CREDIT; - else if (is_object($invoice) && $invoice->type == 3) $mask=$conf->global->FACTURE_MERCURE_MASK_DEPOSIT; + elseif (is_object($invoice) && $invoice->type == 2) $mask=$conf->global->FACTURE_MERCURE_MASK_CREDIT; + elseif (is_object($invoice) && $invoice->type == 3) $mask=$conf->global->FACTURE_MERCURE_MASK_DEPOSIT; else $mask=$conf->global->FACTURE_MERCURE_MASK_INVOICE; if (! $mask) { diff --git a/htdocs/core/modules/facture/mod_facture_terre.php b/htdocs/core/modules/facture/mod_facture_terre.php index 454a1588f27..a8e2a2c15bc 100644 --- a/htdocs/core/modules/facture/mod_facture_terre.php +++ b/htdocs/core/modules/facture/mod_facture_terre.php @@ -172,7 +172,7 @@ class mod_facture_terre extends ModeleNumRefFactures global $db; if ($invoice->type == 2) $prefix=$this->prefixcreditnote; - else if ($invoice->type == 3) $prefix=$this->prefixdeposit; + elseif ($invoice->type == 3) $prefix=$this->prefixdeposit; else $prefix=$this->prefixinvoice; // D'abord on recupere la valeur max $posindice=8; @@ -216,7 +216,7 @@ class mod_facture_terre extends ModeleNumRefFactures return $ref; } - else if ($mode == 'next') + elseif ($mode == 'next') { $date=$invoice->date; // This is invoice date (not creation date) $yymm = strftime("%y%m",$date); diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php index 6db495e9f04..19b11fd1d83 100644 --- a/htdocs/core/modules/import/import_csv.modules.php +++ b/htdocs/core/modules/import/import_csv.modules.php @@ -458,7 +458,7 @@ class ImportCsv extends ModeleImports else { if (!empty($objimport->array_import_convertvalue[0][$val]['dict'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldValueNotIn',$key,$newval,'code',$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['dict'])); - else if (!empty($objimport->array_import_convertvalue[0][$val]['element'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldRefNotIn',$key,$newval,$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['element'])); + elseif (!empty($objimport->array_import_convertvalue[0][$val]['element'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldRefNotIn',$key,$newval,$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['element'])); else $this->errors[$error]['lib']='ErrorFieldValueNotIn'; $this->errors[$error]['type']='FOREIGNKEY'; $errorforthistable++; @@ -577,7 +577,7 @@ class ImportCsv extends ModeleImports } } // If test is just a static regex - else if (! preg_match('/'.$objimport->array_import_regex[0][$val].'/i',$newval)) + elseif (! preg_match('/'.$objimport->array_import_regex[0][$val].'/i',$newval)) { //if ($key == 19) print "xxx".$newval."zzz".$objimport->array_import_regex[0][$val]."
"; $this->errors[$error]['lib']=$langs->transnoentitiesnoconv('ErrorWrongValueForField',$key,$newval,$objimport->array_import_regex[0][$val]); @@ -664,7 +664,7 @@ class ImportCsv extends ModeleImports if($resql->num_rows == 1) { $lastinsertid = $res->rowid; $last_insert_id_array[$tablename] = $lastinsertid; - } else if($resql->num_rows > 1) { + } elseif($resql->num_rows > 1) { $this->errors[$error]['lib']=$langs->trans('MultipleRecordFoundWithTheseFilters', implode($filters, ', ')); $this->errors[$error]['type']='SQL'; $error++; diff --git a/htdocs/core/modules/import/import_xlsx.modules.php b/htdocs/core/modules/import/import_xlsx.modules.php index d96dc18104f..fe8808e95ac 100644 --- a/htdocs/core/modules/import/import_xlsx.modules.php +++ b/htdocs/core/modules/import/import_xlsx.modules.php @@ -485,7 +485,7 @@ class ImportXlsx extends ModeleImports else { if (!empty($objimport->array_import_convertvalue[0][$val]['dict'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldValueNotIn',$key,$newval,'code',$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['dict'])); - else if (!empty($objimport->array_import_convertvalue[0][$val]['element'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldRefNotIn',$key,$newval,$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['element'])); + elseif (!empty($objimport->array_import_convertvalue[0][$val]['element'])) $this->errors[$error]['lib']=$langs->trans('ErrorFieldRefNotIn',$key,$newval,$langs->transnoentitiesnoconv($objimport->array_import_convertvalue[0][$val]['element'])); else $this->errors[$error]['lib']='ErrorFieldValueNotIn'; $this->errors[$error]['type']='FOREIGNKEY'; $errorforthistable++; @@ -604,7 +604,7 @@ class ImportXlsx extends ModeleImports } } // If test is just a static regex - else if (! preg_match('/'.$objimport->array_import_regex[0][$val].'/i',$newval)) + elseif (! preg_match('/'.$objimport->array_import_regex[0][$val].'/i',$newval)) { //if ($key == 19) print "xxx".$newval."zzz".$objimport->array_import_regex[0][$val]."
"; $this->errors[$error]['lib']=$langs->transnoentitiesnoconv('ErrorWrongValueForField',$key,$newval,$objimport->array_import_regex[0][$val]); @@ -686,7 +686,7 @@ class ImportXlsx extends ModeleImports if($resql->num_rows == 1) { $lastinsertid = $res->rowid; $last_insert_id_array[$tablename] = $lastinsertid; - } else if($resql->num_rows > 1) { + } elseif($resql->num_rows > 1) { $this->errors[$error]['lib']=$langs->trans('MultipleRecordFoundWithTheseFilters', implode($filters, ', ')); $this->errors[$error]['type']='SQL'; $error++; diff --git a/htdocs/core/modules/mailings/xinputfile.modules.php b/htdocs/core/modules/mailings/xinputfile.modules.php index a4caef12af8..bd05f90198b 100644 --- a/htdocs/core/modules/mailings/xinputfile.modules.php +++ b/htdocs/core/modules/mailings/xinputfile.modules.php @@ -206,7 +206,7 @@ class mailing_xinputfile extends MailingTargets { $this->error = '
'.$langs->trans("ErrorFileNotUploaded").'
'; } - else if (preg_match('/ErrorFileIsInfectedWithAVirus/',$resupload)) // Files infected by a virus + elseif (preg_match('/ErrorFileIsInfectedWithAVirus/',$resupload)) // Files infected by a virus { $this->error = '
'.$langs->trans("ErrorFileIsInfectedWithAVirus").'
'; } diff --git a/htdocs/core/modules/member/doc/pdf_standard.class.php b/htdocs/core/modules/member/doc/pdf_standard.class.php index 524d1446427..5a9da91e9c5 100644 --- a/htdocs/core/modules/member/doc/pdf_standard.class.php +++ b/htdocs/core/modules/member/doc/pdf_standard.class.php @@ -165,26 +165,26 @@ class pdf_standard extends CommonStickerGenerator { // Output left area if ($textleft == '__LOGO__' && $logo) $pdf->Image($logo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); - else if ($textleft == '__PHOTO__' && $photo) $pdf->Image($photo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); + elseif ($textleft == '__PHOTO__' && $photo) $pdf->Image($photo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); else { $pdf->SetXY($_PosX+$xleft, $_PosY+$ytop); $pdf->MultiCell($this->_Width, $this->_Line_Height, $outputlangs->convToOutputCharset($textleft),0,'L'); } } - else if ($textleft!='' && $textright!='') // + elseif ($textleft!='' && $textright!='') // { if ($textleft == '__LOGO__' || $textleft == '__PHOTO__') { if ($textleft == '__LOGO__' && $logo) $pdf->Image($logo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); - else if ($textleft == '__PHOTO__' && $photo) $pdf->Image($photo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); + elseif ($textleft == '__PHOTO__' && $photo) $pdf->Image($photo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); $pdf->SetXY($_PosX+$xleft+$widthtouse+1, $_PosY+$ytop); $pdf->MultiCell($this->_Width-$xleft-$xleft-$widthtouse-1, $this->_Line_Height, $outputlangs->convToOutputCharset($textright),0,'R'); } - else if ($textright == '__LOGO__' || $textright == '__PHOTO__') + elseif ($textright == '__LOGO__' || $textright == '__PHOTO__') { if ($textright == '__LOGO__' && $logo) $pdf->Image($logo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); - else if ($textright == '__PHOTO__' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); + elseif ($textright == '__PHOTO__' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); $pdf->SetXY($_PosX+$xleft, $_PosY+$ytop); $pdf->MultiCell($this->_Width-$widthtouse-$xleft-$xleft-1, $this->_Line_Height, $outputlangs->convToOutputCharset($textleft),0,'L'); } @@ -200,7 +200,7 @@ class pdf_standard extends CommonStickerGenerator { // Output right area if ($textright == '__LOGO__' && $logo) $pdf->Image($logo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); - else if ($textright == '__PHOTO__' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); + elseif ($textright == '__PHOTO__' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); else { $pdf->SetXY($_PosX+$xleft, $_PosY+$ytop); diff --git a/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php b/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php index 0047dda7669..28ed3f344a6 100644 --- a/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php +++ b/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php @@ -152,26 +152,26 @@ class pdf_standardlabel extends CommonStickerGenerator { // Output left area if ($textleft == '%LOGO%' && $logo) $pdf->Image($logo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); - else if ($textleft == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); + elseif ($textleft == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); else { $pdf->SetXY($_PosX+$xleft, $_PosY+$ytop); $pdf->MultiCell($this->_Width, $this->_Line_Height, $outputlangs->convToOutputCharset($textleft),0,'L'); } } - else if ($textleft!='' && $textright!='') // + elseif ($textleft!='' && $textright!='') // { if ($textleft == '%LOGO%' || $textleft == '%PHOTO%') { if ($textleft == '%LOGO%' && $logo) $pdf->Image($logo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); - else if ($textleft == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); + elseif ($textleft == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); $pdf->SetXY($_PosX+$xleft+$widthtouse+1, $_PosY+$ytop); $pdf->MultiCell($this->_Width-$xleft-$xleft-$widthtouse-1, $this->_Line_Height, $outputlangs->convToOutputCharset($textright),0,'R'); } - else if ($textright == '%LOGO%' || $textright == '%PHOTO%') + elseif ($textright == '%LOGO%' || $textright == '%PHOTO%') { if ($textright == '%LOGO%' && $logo) $pdf->Image($logo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); - else if ($textright == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); + elseif ($textright == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); $pdf->SetXY($_PosX+$xleft, $_PosY+$ytop); $pdf->MultiCell($this->_Width-$widthtouse-$xleft-$xleft-1, $this->_Line_Height, $outputlangs->convToOutputCharset($textleft),0,'L'); } @@ -187,7 +187,7 @@ class pdf_standardlabel extends CommonStickerGenerator { // Output right area if ($textright == '%LOGO%' && $logo) $pdf->Image($logo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); - else if ($textright == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); + elseif ($textright == '%PHOTO%' && $photo) $pdf->Image($photo,$_PosX+$this->_Width-$widthtouse-$xleft,$_PosY+$ytop,$widthtouse,$heighttouse); else { $pdf->SetXY($_PosX+$xleft, $_PosY+$ytop); diff --git a/htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php b/htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php index de1aa1b5d5e..5826a1f2a49 100644 --- a/htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php +++ b/htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php @@ -163,7 +163,7 @@ class pdf_tcpdflabel extends CommonStickerGenerator { // Output left area if ($textleft == '%LOGO%' && $logo) $pdf->Image($logo, $_PosX+$xleft, $_PosY+$ytop, 0, $logoHeight); - else if ($code && !empty($encoding)) + elseif ($code && !empty($encoding)) { $this->writeBarcode($pdf, $code, $encoding, $is2d, $_PosX+$xleft, $_PosY+$ytop, $widthtouse, $heighttouse); } @@ -173,29 +173,29 @@ class pdf_tcpdflabel extends CommonStickerGenerator $pdf->MultiCell($this->_Width, $this->_Line_Height, $outputlangs->convToOutputCharset($textleft),0,'L'); } } - else if ($textleft!='' && $textright!='') // left and right part + elseif ($textleft!='' && $textright!='') // left and right part { if (($textleft == '%LOGO%' || $textleft == '%PHOTO%' || $textleft == '%BARCODE%') && !strstr($textright, '%') ) // left part logo/barcode right part text { if ($textleft == '%LOGO%' && $logo) $pdf->Image($logo, $_PosX+$xleft, $_PosY+$ytop, $widthtouse/2, 0); - else if ($code && !empty($encoding)) + elseif ($code && !empty($encoding)) { $this->writeBarcode($pdf, $code, $encoding, $is2d, $_PosX+$xleft, $_PosY+$ytop, $widthtouse/2, $heighttouse); } $pdf->SetXY($_PosX+($widthtouse/2), $_PosY+$ytop); $pdf->MultiCell($widthtouse/2, $this->_Line_Height, $outputlangs->convToOutputCharset($textright), 0, 'R'); } - else if (($textright == '%LOGO%' || $textright == '%PHOTO%' || $textright == '%BARCODE%') && !strstr($textleft, '%')) // right part logo/barcode left part text + elseif (($textright == '%LOGO%' || $textright == '%PHOTO%' || $textright == '%BARCODE%') && !strstr($textleft, '%')) // right part logo/barcode left part text { if ($textright == '%LOGO%' && $logo) $pdf->Image($logo, $_PosX+($widthtouse/2), $_PosY+$ytop, $widthtouse/2, 0); - else if ($code && !empty($encoding)) + elseif ($code && !empty($encoding)) { $this->writeBarcode($pdf, $code, $encoding, $is2d, $_PosX+($widthtouse/2), $_PosY+$ytop, $widthtouse/2, $heighttouse); } $pdf->SetXY($_PosX+$xleft, $_PosY+$ytop); $pdf->MultiCell($widthtouse/2, $this->_Line_Height, $outputlangs->convToOutputCharset($textleft),0,'L'); } - else if ($textleft == '%LOGO%') // left part logo right part text/barcode + elseif ($textleft == '%LOGO%') // left part logo right part text/barcode { if ($logo) $pdf->Image($logo, $_PosX+$xleft, $_PosY+$ytop, 0, $logoHeight); if ($code && !empty($encoding)) @@ -206,7 +206,7 @@ class pdf_tcpdflabel extends CommonStickerGenerator $pdf->MultiCell($widthtouse-$logoWidth1-1, $this->_Line_Height, $outputlangs->convToOutputCharset($textright),0,'R'); } } - else if ($textright == '%LOGO%') // right part logo left part text/barcode + elseif ($textright == '%LOGO%') // right part logo left part text/barcode { if ($logo) $pdf->Image($logo, $_PosX+$xleft+$widthtouse-$logoWidth+1, $_PosY+$ytop, 0, $logoHeight); if ($code && !empty($encoding)) @@ -229,7 +229,7 @@ class pdf_tcpdflabel extends CommonStickerGenerator { // Output right area if ($textright == '%LOGO%' && $logo) $pdf->Image($logo, $_PosX+$this->_Width-$widthtouse-$xleft, $_PosY+$ytop, 0, $logoHeight); - else if ($code && !empty($encoding)) + elseif ($code && !empty($encoding)) { $this->writeBarcode($pdf, $code, $encoding, $is2d, $_PosX+$this->_Width-$widthtouse-$xleft, $_PosY+$ytop, $widthtouse, $heighttouse); } diff --git a/htdocs/core/modules/product/mod_codeproduct_elephant.php b/htdocs/core/modules/product/mod_codeproduct_elephant.php index 1b455743cb2..c1577efc837 100644 --- a/htdocs/core/modules/product/mod_codeproduct_elephant.php +++ b/htdocs/core/modules/product/mod_codeproduct_elephant.php @@ -189,7 +189,7 @@ class mod_codeproduct_elephant extends ModeleProductCode $mask = ''; if ($type == 0 && ! empty($conf->global->PRODUCT_ELEPHANT_MASK_PRODUCT)) $mask = $conf->global->PRODUCT_ELEPHANT_MASK_PRODUCT; - else if ($type == 1 && ! empty($conf->global->PRODUCT_ELEPHANT_MASK_SERVICE)) + elseif ($type == 1 && ! empty($conf->global->PRODUCT_ELEPHANT_MASK_SERVICE)) $mask = $conf->global->PRODUCT_ELEPHANT_MASK_SERVICE; if (empty($mask)) @@ -204,7 +204,7 @@ class mod_codeproduct_elephant extends ModeleProductCode $field = 'ref'; //$where = ' AND client in (1,2)'; } - else if ($type == 1) + elseif ($type == 1) { $field = 'ref'; //$where = ' AND fournisseur = 1'; @@ -267,7 +267,7 @@ class mod_codeproduct_elephant extends ModeleProductCode { $result=0; } - else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) + elseif (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) { $result=-2; } diff --git a/htdocs/core/modules/product/mod_codeproduct_leopard.php b/htdocs/core/modules/product/mod_codeproduct_leopard.php index 815e383d900..46cffd7aef6 100644 --- a/htdocs/core/modules/product/mod_codeproduct_leopard.php +++ b/htdocs/core/modules/product/mod_codeproduct_leopard.php @@ -131,7 +131,7 @@ class mod_codeproduct_leopard extends ModeleProductCode { $result=0; } - else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) + elseif (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) { $result=-2; } diff --git a/htdocs/core/modules/societe/mod_codeclient_elephant.php b/htdocs/core/modules/societe/mod_codeclient_elephant.php index e0d6a186879..b551b5c8476 100644 --- a/htdocs/core/modules/societe/mod_codeclient_elephant.php +++ b/htdocs/core/modules/societe/mod_codeclient_elephant.php @@ -222,7 +222,7 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode $field = 'code_client'; //$where = ' AND client in (1,2)'; } - else if ($type == 1) + elseif ($type == 1) { $field = 'code_fournisseur'; //$where = ' AND fournisseur = 1'; @@ -285,7 +285,7 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode { $result=0; } - else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) + elseif (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) { $result=-2; } diff --git a/htdocs/core/modules/societe/mod_codeclient_leopard.php b/htdocs/core/modules/societe/mod_codeclient_leopard.php index 9bdd27d5bee..89be9bdb05d 100644 --- a/htdocs/core/modules/societe/mod_codeclient_leopard.php +++ b/htdocs/core/modules/societe/mod_codeclient_leopard.php @@ -130,7 +130,7 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode { $result=0; } - else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) + elseif (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) { $result=-2; } diff --git a/htdocs/core/modules/societe/mod_codeclient_monkey.php b/htdocs/core/modules/societe/mod_codeclient_monkey.php index 77bb7c54a64..c0ace6f074a 100644 --- a/htdocs/core/modules/societe/mod_codeclient_monkey.php +++ b/htdocs/core/modules/societe/mod_codeclient_monkey.php @@ -188,7 +188,7 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode { $result=0; } - else if (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) + elseif (empty($code) && (! $this->code_null || ! empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) ) { $result=-2; } diff --git a/htdocs/core/modules/societe/mod_codecompta_aquarium.php b/htdocs/core/modules/societe/mod_codecompta_aquarium.php index b117c948d69..8af95273d40 100644 --- a/htdocs/core/modules/societe/mod_codecompta_aquarium.php +++ b/htdocs/core/modules/societe/mod_codecompta_aquarium.php @@ -147,7 +147,7 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode $codetouse=(! empty($societe->code_client)?$societe->code_client:'CUSTCODE'); $prefix = $this->prefixcustomeraccountancycode; } - else if ($type == 'supplier') + elseif ($type == 'supplier') { $codetouse=(! empty($societe->code_fournisseur)?$societe->code_fournisseur:'SUPPCODE'); $prefix = $this->prefixsupplieraccountancycode; @@ -200,11 +200,11 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode { $sql = "SELECT "; if ($type == 'customer') $sql.= "code_compta"; - else if ($type == 'supplier') $sql.= "code_compta_fournisseur"; + elseif ($type == 'supplier') $sql.= "code_compta_fournisseur"; $sql.= " FROM ".MAIN_DB_PREFIX."societe"; $sql.= " WHERE "; if ($type == 'customer') $sql.= "code_compta"; - else if ($type == 'supplier') $sql.= "code_compta_fournisseur"; + elseif ($type == 'supplier') $sql.= "code_compta_fournisseur"; $sql.= " = '".$db->escape($code)."'"; if (! empty($societe->id)) $sql.= " AND rowid <> ".$societe->id; diff --git a/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php b/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php index 3ea7e184e35..f55ecc18bb3 100644 --- a/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php @@ -287,7 +287,7 @@ class pdf_stdmovement extends ModelePDFMovement else $sql.= " AND date_format(m.datem, '%m') = '$month'"; } - else if ($year > 0) + elseif ($year > 0) { $sql.= " AND m.datem BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php index 908b3c8ba41..389b845d0a2 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php @@ -175,7 +175,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices global $db,$conf; if ($object->type == 2) $prefix=$this->prefixcreditnote; - else if ($facture->type == 3) $prefix=$this->prefixdeposit; + elseif ($facture->type == 3) $prefix=$this->prefixdeposit; else $prefix=$this->prefixinvoice; // D'abord on recupere la valeur max @@ -220,7 +220,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices return $ref; } - else if ($mode == 'next') + elseif ($mode == 'next') { $date=$object->date; // This is invoice date (not creation date) $yymm = strftime("%y%m",$date); diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php index a3cb291263a..208e2ac0908 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -169,8 +169,8 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices $mask=$conf->global->SUPPLIER_INVOICE_TULIP_MASK; } } - else if (is_object($object) && $object->type == 2) $mask=$conf->global->SUPPLIER_CREDIT_TULIP_MASK; - else if (is_object($object) && $object->type == 3) $mask=$conf->global->SUPPLIER_DEPOSIT_TULIP_MASK; + elseif (is_object($object) && $object->type == 2) $mask=$conf->global->SUPPLIER_CREDIT_TULIP_MASK; + elseif (is_object($object) && $object->type == 3) $mask=$conf->global->SUPPLIER_DEPOSIT_TULIP_MASK; else $mask=$conf->global->SUPPLIER_INVOICE_TULIP_MASK; if (! $mask) { diff --git a/htdocs/core/photos_resize.php b/htdocs/core/photos_resize.php index c8e6d984539..a863d839a0c 100644 --- a/htdocs/core/photos_resize.php +++ b/htdocs/core/photos_resize.php @@ -212,14 +212,14 @@ else { if (empty($backtourl)) { if (in_array($modulepart, array('product','produit','service','produit|service'))) $backtourl=DOL_URL_ROOT."/product/document.php?id=".$id.'&file='.urldecode($_POST["file"]); - else if (in_array($modulepart, array('expensereport'))) $backtourl=DOL_URL_ROOT."/expensereport/document.php?id=".$id.'&file='.urldecode($_POST["file"]); - else if (in_array($modulepart, array('holiday'))) $backtourl=DOL_URL_ROOT."/holiday/document.php?id=".$id.'&file='.urldecode($_POST["file"]); - else if (in_array($modulepart, array('member'))) $backtourl=DOL_URL_ROOT."/adherents/document.php?id=".$id.'&file='.urldecode($_POST["file"]); - else if (in_array($modulepart, array('project'))) $backtourl=DOL_URL_ROOT."/projet/document.php?id=".$id.'&file='.urldecode($_POST["file"]); - else if (in_array($modulepart, array('societe'))) $backtourl=DOL_URL_ROOT."/societe/document.php?id=".$id.'&file='.urldecode($_POST["file"]); - else if (in_array($modulepart, array('tax'))) $backtourl=DOL_URL_ROOT."/compta/sociales/document.php?id=".$id.'&file='.urldecode($_POST["file"]); - else if (in_array($modulepart, array('ticket'))) $backtourl=DOL_URL_ROOT."/ticket/document.php?id=".$id.'&file='.urldecode($_POST["file"]); - else if (in_array($modulepart, array('user'))) $backtourl=DOL_URL_ROOT."/user/document.php?id=".$id.'&file='.urldecode($_POST["file"]); + elseif (in_array($modulepart, array('expensereport'))) $backtourl=DOL_URL_ROOT."/expensereport/document.php?id=".$id.'&file='.urldecode($_POST["file"]); + elseif (in_array($modulepart, array('holiday'))) $backtourl=DOL_URL_ROOT."/holiday/document.php?id=".$id.'&file='.urldecode($_POST["file"]); + elseif (in_array($modulepart, array('member'))) $backtourl=DOL_URL_ROOT."/adherents/document.php?id=".$id.'&file='.urldecode($_POST["file"]); + elseif (in_array($modulepart, array('project'))) $backtourl=DOL_URL_ROOT."/projet/document.php?id=".$id.'&file='.urldecode($_POST["file"]); + elseif (in_array($modulepart, array('societe'))) $backtourl=DOL_URL_ROOT."/societe/document.php?id=".$id.'&file='.urldecode($_POST["file"]); + elseif (in_array($modulepart, array('tax'))) $backtourl=DOL_URL_ROOT."/compta/sociales/document.php?id=".$id.'&file='.urldecode($_POST["file"]); + elseif (in_array($modulepart, array('ticket'))) $backtourl=DOL_URL_ROOT."/ticket/document.php?id=".$id.'&file='.urldecode($_POST["file"]); + elseif (in_array($modulepart, array('user'))) $backtourl=DOL_URL_ROOT."/user/document.php?id=".$id.'&file='.urldecode($_POST["file"]); } diff --git a/htdocs/core/tpl/card_presend.tpl.php b/htdocs/core/tpl/card_presend.tpl.php index db3514d7778..5eb2d629a66 100644 --- a/htdocs/core/tpl/card_presend.tpl.php +++ b/htdocs/core/tpl/card_presend.tpl.php @@ -81,7 +81,7 @@ if ($action == 'presend') $topicmail=''; if (empty($object->ref_client)) { $topicmail = $outputlangs->trans($defaulttopic, '__REF__'); - } else if (! empty($object->ref_client)) { + } elseif (! empty($object->ref_client)) { $topicmail = $outputlangs->trans($defaulttopic, '__REF__ (__REFCLIENT__)'); } diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index 96510b85617..4f50f55b4ba 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -325,7 +325,7 @@ if (! empty($morelogincontent) && is_array($morelogincontent)) { } } } -else if (! empty($moreloginextracontent)) { +elseif (! empty($moreloginextracontent)) { echo ''; echo $moreloginextracontent; } diff --git a/htdocs/core/tpl/objectline_create.tpl.php b/htdocs/core/tpl/objectline_create.tpl.php index ff29f6999a4..2cd38500d8d 100644 --- a/htdocs/core/tpl/objectline_create.tpl.php +++ b/htdocs/core/tpl/objectline_create.tpl.php @@ -186,7 +186,7 @@ else { if ($object->element == 'contrat') { if (empty($conf->product->enabled) && empty($conf->service->enabled) && empty($conf->global->CONTRACT_SUPPORT_PRODUCTS)) $forceall=-1; // With contract, by default, no choice at all, except if CONTRACT_SUPPORT_PRODUCTS is set - else if (empty($conf->global->CONTRACT_SUPPORT_PRODUCTS)) $forceall=3; + elseif (empty($conf->global->CONTRACT_SUPPORT_PRODUCTS)) $forceall=3; } // Free line @@ -231,13 +231,13 @@ else { if (empty($senderissupplier)) { if (! empty($conf->product->enabled) && empty($conf->service->enabled)) echo $langs->trans('PredefinedProductsToSell'); - else if ((empty($conf->product->enabled) && ! empty($conf->service->enabled)) || ($object->element == 'contrat' && empty($conf->global->CONTRACT_SUPPORT_PRODUCTS))) echo $langs->trans('PredefinedServicesToSell'); + elseif ((empty($conf->product->enabled) && ! empty($conf->service->enabled)) || ($object->element == 'contrat' && empty($conf->global->CONTRACT_SUPPORT_PRODUCTS))) echo $langs->trans('PredefinedServicesToSell'); else echo $langs->trans('PredefinedProductsAndServicesToSell'); } else { if (! empty($conf->product->enabled) && empty($conf->service->enabled)) echo $langs->trans('PredefinedProductsToPurchase'); - else if (empty($conf->product->enabled) && ! empty($conf->service->enabled)) echo $langs->trans('PredefinedServicesToPurchase'); + elseif (empty($conf->product->enabled) && ! empty($conf->service->enabled)) echo $langs->trans('PredefinedServicesToPurchase'); else echo $langs->trans('PredefinedProductsAndServicesToPurchase'); } echo ''; diff --git a/htdocs/core/tpl/passwordforgotten.tpl.php b/htdocs/core/tpl/passwordforgotten.tpl.php index 4d5e1ad948b..bf74231eb03 100644 --- a/htdocs/core/tpl/passwordforgotten.tpl.php +++ b/htdocs/core/tpl/passwordforgotten.tpl.php @@ -214,7 +214,7 @@ if (! empty($morelogincontent)) { } } } -else if (! empty($moreloginextracontent)) { +elseif (! empty($moreloginextracontent)) { echo ''; echo $moreloginextracontent; } diff --git a/htdocs/cron/card.php b/htdocs/cron/card.php index 56a02ed5b14..9acdc897d78 100644 --- a/htdocs/cron/card.php +++ b/htdocs/cron/card.php @@ -738,7 +738,7 @@ else { print ''.$langs->trans("CronExecute").''; } - else if (empty($object->status)) + elseif (empty($object->status)) { print ''.$langs->trans("CronExecute").''; } diff --git a/htdocs/don/admin/donation.php b/htdocs/don/admin/donation.php index 69736fdaca9..99a801e9e25 100644 --- a/htdocs/don/admin/donation.php +++ b/htdocs/don/admin/donation.php @@ -85,7 +85,7 @@ if ($action == 'specimen') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { if (dolibarr_set_const($db, "DON_ADDON_MODEL",$value,'chaine',0,'',$conf->entity)) { @@ -103,12 +103,12 @@ else if ($action == 'setdoc') } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 6a63074166c..95438b6bf75 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -239,7 +239,7 @@ if ($action == 'set_paid') setEventMessages($object->error, $object->errors, 'errors'); } } -else if ($action == 'classin' && $user->rights->don->creer) +elseif ($action == 'classin' && $user->rights->don->creer) { $object->fetch($id); $object->setProject($projectid); diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index c3941059e64..9cacf5162fe 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -651,7 +651,7 @@ class Don extends CommonObject { $sql.= " AND d.rowid=".$id; } - else if (! empty($ref)) + elseif (! empty($ref)) { $sql.= " AND d.ref='".$this->db->escape($ref)."'"; } diff --git a/htdocs/ecm/class/ecmdirectory.class.php b/htdocs/ecm/class/ecmdirectory.class.php index 3d1ecac9088..05df1724438 100644 --- a/htdocs/ecm/class/ecmdirectory.class.php +++ b/htdocs/ecm/class/ecmdirectory.class.php @@ -306,8 +306,8 @@ class EcmDirectory // extends CommonObject else { if (preg_match('/[0-9]+/', $value)) $this->cachenbofdoc = (int) $value; - else if ($value == '+') $this->cachenbofdoc++; - else if ($value == '-') $this->cachenbofdoc--; + elseif ($value == '+') $this->cachenbofdoc++; + elseif ($value == '-') $this->cachenbofdoc--; } return 1; diff --git a/htdocs/ecm/dir_add_card.php b/htdocs/ecm/dir_add_card.php index c8e8d79046b..a2c0762321c 100644 --- a/htdocs/ecm/dir_add_card.php +++ b/htdocs/ecm/dir_add_card.php @@ -201,7 +201,7 @@ if ($action == 'add' && $permtoadd) } // Deleting file -else if ($action == 'confirm_deletesection' && $confirm == 'yes') +elseif ($action == 'confirm_deletesection' && $confirm == 'yes') { $result=$ecmdir->delete($user); setEventMessages($langs->trans("ECMSectionWasRemoved", $ecmdir->label), null, 'mesgs'); diff --git a/htdocs/ecm/dir_card.php b/htdocs/ecm/dir_card.php index ac744cc42e1..db6b6abf0f3 100644 --- a/htdocs/ecm/dir_card.php +++ b/htdocs/ecm/dir_card.php @@ -118,7 +118,7 @@ if (GETPOST("sendit") && ! empty($conf->global->MAIN_UPLOAD_DOC)) { setEventMessages($langs->trans("ErrorFileNotUploaded"), null, 'errors'); } - else if (preg_match('/ErrorFileIsInfectedWithAVirus/',$resupload)) // Files infected by a virus + elseif (preg_match('/ErrorFileIsInfectedWithAVirus/',$resupload)) // Files infected by a virus { setEventMessages($langs->trans("ErrorFileIsInfectedWithAVirus"), null, 'errors'); } diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index e99f04415b3..4f08da56365 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -281,7 +281,7 @@ if (empty($reshook)) } } } - else if (isset($_POST[$stockLocation])) + elseif (isset($_POST[$stockLocation])) { //shipment line from multiple stock locations $qty .= '_'.$j; @@ -416,7 +416,7 @@ if (empty($reshook)) /* * Build a receiving receipt */ - else if ($action == 'create_delivery' && $conf->livraison_bon->enabled && $user->rights->expedition->livraison->creer) + elseif ($action == 'create_delivery' && $conf->livraison_bon->enabled && $user->rights->expedition->livraison->creer) { $result = $object->create_delivery($user); if ($result > 0) @@ -430,7 +430,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_valid' && $confirm == 'yes' && + elseif ($action == 'confirm_valid' && $confirm == 'yes' && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->creer)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->shipping_advance->validate))) ) @@ -466,7 +466,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer) + elseif ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer) { $result = $object->delete(); if ($result > 0) @@ -489,7 +489,7 @@ if (empty($reshook)) } }*/ - else if ($action == 'setdate_livraison' && $user->rights->expedition->creer) + elseif ($action == 'setdate_livraison' && $user->rights->expedition->creer) { //print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year']; $datedelivery=dol_mktime(GETPOST('liv_hour','int'), GETPOST('liv_min','int'), 0, GETPOST('liv_month','int'), GETPOST('liv_day','int'), GETPOST('liv_year','int')); @@ -503,7 +503,7 @@ if (empty($reshook)) } // Action update - else if ( + elseif ( ($action == 'settracking_number' || $action == 'settracking_url' || $action == 'settrueWeight' @@ -614,7 +614,7 @@ if (empty($reshook)) /* * Update a line */ - else if ($action == 'updateline' && $user->rights->expedition->creer && GETPOST('save')) + elseif ($action == 'updateline' && $user->rights->expedition->creer && GETPOST('save')) { // Clean parameters $qty=0; @@ -701,7 +701,7 @@ if (empty($reshook)) $lineIdToAddLot = $line_id; } } - else if (count($lines[$i]->details_entrepot) > 1) + elseif (count($lines[$i]->details_entrepot) > 1) { // multi warehouse shipment lines foreach ($lines[$i]->details_entrepot as $detail_entrepot) @@ -776,7 +776,7 @@ if (empty($reshook)) unset($_POST[$stockLocation]); unset($_POST[$qty]); } - else if (count($lines[$i]->details_entrepot) > 1) + elseif (count($lines[$i]->details_entrepot) > 1) { // multi warehouse shipment lines foreach ($lines[$i]->details_entrepot as $detail_entrepot) @@ -844,7 +844,7 @@ if (empty($reshook)) } } - else if ($action == 'updateline' && $user->rights->expedition->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { + elseif ($action == 'updateline' && $user->rights->expedition->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition exit(); } @@ -940,7 +940,7 @@ if ($action == 'create') // Ref client print ''; if ($origin == 'commande') print $langs->trans('RefCustomerOrder'); - else if ($origin == 'propal') print $langs->trans('RefCustomerOrder'); + elseif ($origin == 'propal') print $langs->trans('RefCustomerOrder'); else print $langs->trans('RefCustomer'); print ''; print ''; @@ -1604,7 +1604,7 @@ if ($action == 'create') } } } -else if ($id || $ref) +elseif ($id || $ref) /* *************************************************************************** */ /* */ /* Edit and view mode */ @@ -2253,7 +2253,7 @@ else if ($id || $ref) print '' . $formproduct->selectLotStock('', 'batchl'.$line_id.'_0', '', 1, 0, $lines[$i]->fk_product). ''; print ''; } - else if (! empty($conf->stock->enabled)) + elseif (! empty($conf->stock->enabled)) { if ($lines[$i]->fk_product > 0) { @@ -2269,7 +2269,7 @@ else if ($id || $ref) print ' - ' . $langs->trans("NA") . ''; print ''; } - else if (count($lines[$i]->details_entrepot) > 1) + elseif (count($lines[$i]->details_entrepot) > 1) { print ''; foreach ($lines[$i]->details_entrepot as $detail_entrepot) @@ -2320,7 +2320,7 @@ else if ($id || $ref) $entrepot->fetch($lines[$i]->entrepot_id); print $entrepot->getNomUrl(1); } - else if (count($lines[$i]->details_entrepot) > 1) + elseif (count($lines[$i]->details_entrepot) > 1) { $detail = ''; foreach ($lines[$i]->details_entrepot as $detail_entrepot) @@ -2389,7 +2389,7 @@ else if ($id || $ref) print '
'; print '
'; } - else if ($object->statut == 0) + elseif ($object->statut == 0) { // edit-delete buttons print ''; diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 48e84cf1cc4..3f6cf98bf06 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -2747,7 +2747,7 @@ class ExpeditionLigne extends CommonObjectLine $qty = price2num($this->detail_batch[0]->qty); } } - else if (! empty($this->detail_batch)) + elseif (! empty($this->detail_batch)) { $batch = $this->detail_batch->batch; $batch_id = $this->detail_batch->fk_origin_stock; diff --git a/htdocs/expedition/contact.php b/htdocs/expedition/contact.php index f9ea697e50d..e3d1cc42e68 100644 --- a/htdocs/expedition/contact.php +++ b/htdocs/expedition/contact.php @@ -103,13 +103,13 @@ if ($action == 'addcontact' && $user->rights->expedition->creer) } // bascule du statut d'un contact -else if ($action == 'swapstatut' && $user->rights->expedition->creer) +elseif ($action == 'swapstatut' && $user->rights->expedition->creer) { $result=$objectsrc->swapContactStatus(GETPOST('ligne')); } // Efface un contact -else if ($action == 'deletecontact' && $user->rights->expedition->creer) +elseif ($action == 'deletecontact' && $user->rights->expedition->creer) { $result = $objectsrc->delete_contact(GETPOST("lineid")); diff --git a/htdocs/expedition/shipment.php b/htdocs/expedition/shipment.php index 48bfd1f4ce2..584f420a8dd 100644 --- a/htdocs/expedition/shipment.php +++ b/htdocs/expedition/shipment.php @@ -91,7 +91,7 @@ if (empty($reshook)) } // Positionne ref commande client - else if ($action == 'setref_client' && $user->rights->commande->creer) { + elseif ($action == 'setref_client' && $user->rights->commande->creer) { $result = $object->set_ref_client($user, GETPOST('ref_client')); if ($result < 0) { diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 4646c8779ca..a2713bd836f 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -2417,7 +2417,7 @@ if ($action != 'create' && $action != 'edit') // Delete print ''; } - else if($user->rights->expensereport->supprimer && $object->fk_statut != 6) + elseif($user->rights->expensereport->supprimer && $object->fk_statut != 6) { // Delete print ''; diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index 52ad0486597..71b0df6a8cd 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -186,7 +186,7 @@ if ($action=='selectfield') // Selection of field at step 2 if (is_array($tmp)) $listofdependencies=$tmp; else $listofdependencies=array($tmp); } - else if (! empty($field) && ! empty($fieldsdependenciesarray[$field])) + elseif (! empty($field) && ! empty($fieldsdependenciesarray[$field])) { // We found a dependency on a dedicated field $tmp=$fieldsdependenciesarray[$field]; // $fieldsdependenciesarray=array('fd.fieldx'=>'fd.rowid') or array('fd.fieldx'=>array('fd.rowid','ab.rowid')) diff --git a/htdocs/externalsite/frames.php b/htdocs/externalsite/frames.php index c7f92142381..eb8e06919d3 100644 --- a/htdocs/externalsite/frames.php +++ b/htdocs/externalsite/frames.php @@ -63,7 +63,7 @@ if (! empty($keyforcontent)) $langs->load("errors"); print $langs->trans("ErrorBadSyntaxForParamKeyForContent", 'EXTERNAL_SITE_CONTENT_', 'EXTERNAL_SITE_URL_'); } - else if (empty($conf->global->$keyforcontent)) + elseif (empty($conf->global->$keyforcontent)) { $langs->load("errors"); print $langs->trans("ErrorVariableKeyForContentMustBeSet", 'EXTERNAL_SITE_CONTENT_'.$keyforcontent, 'EXTERNAL_SITE_URL_'.$keyforcontent); diff --git a/htdocs/fichinter/card-rec.php b/htdocs/fichinter/card-rec.php index e896c9682e4..837b77eb3aa 100644 --- a/htdocs/fichinter/card-rec.php +++ b/htdocs/fichinter/card-rec.php @@ -370,7 +370,7 @@ if ($action == 'create') { $title = $langs->trans("ProductsAndServices"); if (empty($conf->service->enabled)) $title = $langs->trans("Products"); - else if (empty($conf->product->enabled)) + elseif (empty($conf->product->enabled)) $title = $langs->trans("Services"); print load_fiche_titre($title, '', ''); @@ -712,7 +712,7 @@ if ($action == 'create') { $title = $langs->trans("ProductsAndServices"); if (empty($conf->service->enabled)) $title = $langs->trans("Products"); - else if (empty($conf->product->enabled)) + elseif (empty($conf->product->enabled)) $title = $langs->trans("Services"); print load_fiche_titre($title); diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index a8ddb343a94..507ce8d01f3 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -180,7 +180,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_modify' && $confirm == 'yes' && $user->rights->ficheinter->creer) + elseif ($action == 'confirm_modify' && $confirm == 'yes' && $user->rights->ficheinter->creer) { $result = $object->setDraft($user); if ($result >= 0) @@ -209,7 +209,7 @@ if (empty($reshook)) } } - else if ($action == 'add' && $user->rights->ficheinter->creer) + elseif ($action == 'add' && $user->rights->ficheinter->creer) { $object->socid = $socid; $object->duration = GETPOST('duration','int'); @@ -432,7 +432,7 @@ if (empty($reshook)) } } - else if ($action == 'update' && $user->rights->ficheinter->creer) + elseif ($action == 'update' && $user->rights->ficheinter->creer) { $object->socid = $socid; $object->fk_project = GETPOST('projectid','int'); @@ -448,20 +448,20 @@ if (empty($reshook)) } // Set into a project - else if ($action == 'classin' && $user->rights->ficheinter->creer) + elseif ($action == 'classin' && $user->rights->ficheinter->creer) { $result=$object->setProject(GETPOST('projectid','int')); if ($result < 0) dol_print_error($db,$object->error); } // Set into a contract - else if ($action == 'setcontract' && $user->rights->contrat->creer) + elseif ($action == 'setcontract' && $user->rights->contrat->creer) { $result=$object->set_contrat($user,GETPOST('contratid','int')); if ($result < 0) dol_print_error($db,$object->error); } - else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->ficheinter->supprimer) + elseif ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->ficheinter->supprimer) { $result=$object->delete($user); if ($result<0) { @@ -472,14 +472,14 @@ if (empty($reshook)) exit; } - else if ($action == 'setdescription' && $user->rights->ficheinter->creer) + elseif ($action == 'setdescription' && $user->rights->ficheinter->creer) { $result=$object->set_description($user,GETPOST('description')); if ($result < 0) dol_print_error($db,$object->error); } // Add line - else if ($action == "addline" && $user->rights->ficheinter->creer) + elseif ($action == "addline" && $user->rights->ficheinter->creer) { if (!GETPOST('np_desc','none') && empty($conf->global->FICHINTER_EMPTY_LINE_DESC) ) { @@ -547,7 +547,7 @@ if (empty($reshook)) } // Classify Billed - else if ($action == 'classifybilled' && $user->rights->ficheinter->creer) + elseif ($action == 'classifybilled' && $user->rights->ficheinter->creer) { $result=$object->setStatut(2); if ($result > 0) @@ -562,7 +562,7 @@ if (empty($reshook)) } // Classify unbilled - else if ($action == 'classifyunbilled' && $user->rights->ficheinter->creer) + elseif ($action == 'classifyunbilled' && $user->rights->ficheinter->creer) { $result=$object->setStatut(1); if ($result > 0) @@ -577,7 +577,7 @@ if (empty($reshook)) } // Classify Done - else if ($action == 'classifydone' && $user->rights->ficheinter->creer) + elseif ($action == 'classifydone' && $user->rights->ficheinter->creer) { $result=$object->setStatut(3); if ($result > 0) @@ -594,7 +594,7 @@ if (empty($reshook)) /* * Mise a jour d'une ligne d'intervention */ - else if ($action == 'updateline' && $user->rights->ficheinter->creer && GETPOST('save','alpha') == $langs->trans("Save")) + elseif ($action == 'updateline' && $user->rights->ficheinter->creer && GETPOST('save','alpha') == $langs->trans("Save")) { $objectline = new FichinterLigne($db); if ($objectline->fetch($lineid) <= 0) @@ -650,7 +650,7 @@ if (empty($reshook)) /* * Supprime une ligne d'intervention AVEC confirmation */ - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->ficheinter->creer) + elseif ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->ficheinter->creer) { $objectline = new FichinterLigne($db); if ($objectline->fetch($lineid) <= 0) @@ -683,7 +683,7 @@ if (empty($reshook)) * Ordonnancement des lignes */ - else if ($action == 'up' && $user->rights->ficheinter->creer) + elseif ($action == 'up' && $user->rights->ficheinter->creer) { $object->line_up($lineid); @@ -703,7 +703,7 @@ if (empty($reshook)) exit; } - else if ($action == 'down' && $user->rights->ficheinter->creer) + elseif ($action == 'down' && $user->rights->ficheinter->creer) { $object->line_down($lineid); @@ -789,13 +789,13 @@ if (empty($reshook)) } // bascule du statut d'un contact - else if ($action == 'swapstatut') + elseif ($action == 'swapstatut') { $result=$object->swapContactStatus(GETPOST('ligne','int')); } // Efface un contact - else if ($action == 'deletecontact') + elseif ($action == 'deletecontact') { $result = $object->delete_contact(GETPOST('lineid','int')); @@ -1099,7 +1099,7 @@ if ($action == 'create') print ''; } } -else if ($id > 0 || ! empty($ref)) +elseif ($id > 0 || ! empty($ref)) { /* * Affichage en mode visu diff --git a/htdocs/fichinter/contact.php b/htdocs/fichinter/contact.php index 54ad6733e69..7da8a8aba44 100644 --- a/htdocs/fichinter/contact.php +++ b/htdocs/fichinter/contact.php @@ -81,13 +81,13 @@ if ($action == 'addcontact' && $user->rights->ficheinter->creer) } // Toggle the status of a contact -else if ($action == 'swapstatut' && $user->rights->ficheinter->creer) +elseif ($action == 'swapstatut' && $user->rights->ficheinter->creer) { $result=$object->swapContactStatus(GETPOST('ligne','int')); } // Deletes a contact -else if ($action == 'deletecontact' && $user->rights->ficheinter->creer) +elseif ($action == 'deletecontact' && $user->rights->ficheinter->creer) { $result = $object->delete_contact(GETPOST('lineid','int')); diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 4edfa3d0623..472af9f14d9 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -80,7 +80,7 @@ if (! $result && ! empty($_SERVER["GATEWAY_INTERFACE"])) // If install not do $path=$_SERVER["CONTEXT_PREFIX"]; // example '/dolibarr/' when using an apache alias. if (! preg_match('/\/$/', $path)) $path.='/'; } - else if (preg_match('/index\.php/', $_SERVER['PHP_SELF'])) + elseif (preg_match('/index\.php/', $_SERVER['PHP_SELF'])) { // When we ask index.php, we MUST BE SURE that $path is '' at the end. This is required to make install process // when using apache alias like '/dolibarr/' that point to htdocs. diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 1dab0e9f82e..efa701712b8 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -1335,7 +1335,7 @@ class FactureFournisseur extends CommonInvoice { $num = $force_number; } - else if (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref)) // empty should not happened, but when it occurs, the test save life + elseif (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref)) // empty should not happened, but when it occurs, the test save life { $num = $this->getNextNumRef($this->thirdparty); } diff --git a/htdocs/fourn/class/paiementfourn.class.php b/htdocs/fourn/class/paiementfourn.class.php index ee92374149b..d939260a01f 100644 --- a/htdocs/fourn/class/paiementfourn.class.php +++ b/htdocs/fourn/class/paiementfourn.class.php @@ -95,9 +95,9 @@ class PaiementFourn extends Paiement $sql.= ' WHERE p.entity IN ('.getEntity('facture_fourn').')'; if ($id > 0) $sql.= ' AND p.rowid = '.$id; - else if ($ref) + elseif ($ref) $sql.= ' AND p.rowid = '.$ref; - else if ($fk_bank) + elseif ($fk_bank) $sql.= ' AND p.fk_bank = '.$fk_bank; //print $sql; @@ -636,8 +636,8 @@ class PaiementFourn extends Paiement // Clean parameters (if not defined or using deprecated value) if (empty($conf->global->SUPPLIER_PAYMENT_ADDON)) $conf->global->SUPPLIER_PAYMENT_ADDON='mod_supplier_payment_bronan'; - else if ($conf->global->SUPPLIER_PAYMENT_ADDON=='brodator') $conf->global->SUPPLIER_PAYMENT_ADDON='mod_supplier_payment_brodator'; - else if ($conf->global->SUPPLIER_PAYMENT_ADDON=='bronan') $conf->global->SUPPLIER_PAYMENT_ADDON='mod_supplier_payment_bronan'; + elseif ($conf->global->SUPPLIER_PAYMENT_ADDON=='brodator') $conf->global->SUPPLIER_PAYMENT_ADDON='mod_supplier_payment_brodator'; + elseif ($conf->global->SUPPLIER_PAYMENT_ADDON=='bronan') $conf->global->SUPPLIER_PAYMENT_ADDON='mod_supplier_payment_bronan'; if (! empty($conf->global->SUPPLIER_PAYMENT_ADDON)) { diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index d8a1c2fa51c..04835089809 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -101,7 +101,7 @@ if ($id > 0 || ! empty($ref)) $ret = $object->fetch_thirdparty(); if ($ret < 0) dol_print_error($db,$object->error); } -else if (! empty($socid) && $socid > 0) +elseif (! empty($socid) && $socid > 0) { $fourn = new Fournisseur($db); $ret=$fourn->fetch($socid); @@ -170,12 +170,12 @@ if (empty($reshook)) } // Multicurrency Code - else if ($action == 'setmulticurrencycode' && $user->rights->fournisseur->commande->creer) { + elseif ($action == 'setmulticurrencycode' && $user->rights->fournisseur->commande->creer) { $result = $object->setMulticurrencyCode(GETPOST('multicurrency_code', 'alpha')); } // Multicurrency rate - else if ($action == 'setmulticurrencyrate' && $user->rights->fournisseur->commande->creer) { + elseif ($action == 'setmulticurrencyrate' && $user->rights->fournisseur->commande->creer) { $result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx'))); } @@ -211,10 +211,10 @@ if (empty($reshook)) if (in_array($object->statut, array(1, 2, 3, 4, 5, 6, 7, 9))) { if ($object->statut == 1) $newstatus=0; // Validated->Draft - else if ($object->statut == 2) $newstatus=0; // Approved->Draft - else if ($object->statut == 3) $newstatus=2; // Ordered->Approved - else if ($object->statut == 4) $newstatus=3; - else if ($object->statut == 5) + elseif ($object->statut == 2) $newstatus=0; // Approved->Draft + elseif ($object->statut == 3) $newstatus=2; // Ordered->Approved + elseif ($object->statut == 4) $newstatus=3; + elseif ($object->statut == 5) { //$newstatus=2; // Ordered // TODO Can we set it to submited ? @@ -222,9 +222,9 @@ if (empty($reshook)) // TODO If there is at least one reception, we can set to Received->Received partially $newstatus=4; // Received partially } - else if ($object->statut == 6) $newstatus=2; // Canceled->Approved - else if ($object->statut == 7) $newstatus=3; // Canceled->Process running - else if ($object->statut == 9) $newstatus=1; // Refused->Validated + elseif ($object->statut == 6) $newstatus=2; // Canceled->Approved + elseif ($object->statut == 7) $newstatus=3; // Canceled->Process running + elseif ($object->statut == 9) $newstatus=1; // Refused->Validated else $newstatus = 2; //print "old status = ".$object->statut.' new status = '.$newstatus; @@ -458,7 +458,7 @@ if (empty($reshook)) setEventMessages($langs->trans("ErrorQtyTooLowForThisSupplier"), null, 'errors'); } } - else if (empty($error)) // $price_ht is already set + elseif (empty($error)) // $price_ht is already set { $pu_ht = price2num($price_ht, 'MU'); $pu_ttc = price2num(GETPOST('price_ttc'), 'MU'); @@ -921,7 +921,7 @@ if (empty($reshook)) setEventMessages($langs->trans("DeliveryStateSaved"), null); $action = ''; } - else if($result == -3) + elseif($result == -3) { setEventMessages($object->error, $object->errors, 'errors'); } @@ -1235,9 +1235,9 @@ if (empty($reshook)) //Is sync supplier web services module activated? and everything filled? if (empty($conf->syncsupplierwebservices->enabled)) { setEventMessages($langs->trans("WarningModuleNotActive",$langs->transnoentities("Module2650Name")), null, 'mesgs'); - } else if (empty($ws_url) || empty($ws_key)) { + } elseif (empty($ws_url) || empty($ws_key)) { setEventMessages($langs->trans("ErrorWebServicesFieldsRequired"), null, 'errors'); - } else if (empty($ws_user) || empty($ws_password) || empty($ws_thirdparty)) { + } elseif (empty($ws_user) || empty($ws_password) || empty($ws_thirdparty)) { setEventMessages($langs->trans("ErrorFieldsRequired"),null, 'errors'); } else @@ -1295,7 +1295,7 @@ if (empty($reshook)) { setEventMessages($langs->trans("SOAPError")." '".$soapclient_order->error_str."'", null, 'errors'); } - else if ($result_order["result"]["result_code"] != "OK") //Something went wrong + elseif ($result_order["result"]["result_code"] != "OK") //Something went wrong { setEventMessages($langs->trans("SOAPError")." '".$result_order["result"]["result_code"]."' - '".$result_order["result"]["result_label"]."'", null, 'errors'); } @@ -1336,13 +1336,13 @@ if (empty($reshook)) } // bascule du statut d'un contact - else if ($action == 'swapstatut' && $object->id > 0) + elseif ($action == 'swapstatut' && $object->id > 0) { $result=$object->swapContactStatus(GETPOST('ligne')); } // Efface un contact - else if ($action == 'deletecontact' && $object->id > 0) + elseif ($action == 'deletecontact' && $object->id > 0) { $result = $object->delete_contact($_GET["lineid"]); @@ -2407,7 +2407,7 @@ elseif (! empty($object->id)) { print ''.$langs->trans("ClassifyBilled").''; } - else if (!empty($object->linkedObjectsIds['invoice_supplier'])) + elseif (!empty($object->linkedObjectsIds['invoice_supplier'])) { if ($user->rights->fournisseur->facture->creer) { @@ -2575,7 +2575,7 @@ elseif (! empty($object->id)) setEventMessages($langs->trans("ErrorWebServicesFieldsRequired"), null, 'errors'); $mode = "init"; $error_occurred = true; //Don't allow to set the user/pass if thirdparty fields are not filled - } else if ($mode != "init" && (empty($ws_user) || empty($ws_password))) { + } elseif ($mode != "init" && (empty($ws_user) || empty($ws_password))) { setEventMessages($langs->trans("ErrorFieldsRequired"), null, 'errors'); $mode = "init"; } @@ -2674,7 +2674,7 @@ elseif (! empty($object->id)) { setEventMessages($langs->trans("SOAPError")." '".$soapclient_order->error_str."'", null, 'errors'); } - else if ($status_code != "OK") //Something went wrong + elseif ($status_code != "OK") //Something went wrong { if ($status_code == "NOT_FOUND") { diff --git a/htdocs/fourn/commande/contact.php b/htdocs/fourn/commande/contact.php index 08e30d04b7f..2ee0890c813 100644 --- a/htdocs/fourn/commande/contact.php +++ b/htdocs/fourn/commande/contact.php @@ -81,7 +81,7 @@ if ($action == 'addcontact' && $user->rights->fournisseur->commande->creer) } // Toggle the status of a contact -else if ($action == 'swapstatut' && $user->rights->fournisseur->commande->creer) +elseif ($action == 'swapstatut' && $user->rights->fournisseur->commande->creer) { if ($object->fetch($id)) { @@ -94,7 +94,7 @@ else if ($action == 'swapstatut' && $user->rights->fournisseur->commande->creer) } // Deleting a contact -else if ($action == 'deletecontact' && $user->rights->fournisseur->commande->creer) +elseif ($action == 'deletecontact' && $user->rights->fournisseur->commande->creer) { $object->fetch($id); $result = $object->delete_contact($_GET["lineid"]); diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 931942debb7..a268619c84f 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -886,7 +886,7 @@ if ($id > 0 || ! empty($ref)) { } } print ''; - }else if(!empty($conf->reception->enabled)){ + }elseif(!empty($conf->reception->enabled)){ print ''; if(!empty($reception->id)){ print $reception->getLibStatut(5); diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 7129821ab56..5c616a70b0e 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -245,7 +245,7 @@ if (empty($reshook)) } // Remove a product line - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->fournisseur->facture->creer) + elseif ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->fournisseur->facture->creer) { $result = $object->deleteline($lineid); if ($result > 0) @@ -278,7 +278,7 @@ if (empty($reshook)) } // Delete link of credit note to invoice - else if ($action == 'unlinkdiscount' && $user->rights->fournisseur->facture->creer) + elseif ($action == 'unlinkdiscount' && $user->rights->fournisseur->facture->creer) { $discount = new DiscountAbsolute($db); $result = $discount->fetch(GETPOST("discountid")); @@ -336,23 +336,23 @@ if (empty($reshook)) } // payment mode - else if ($action == 'setmode' && $user->rights->fournisseur->facture->creer) + elseif ($action == 'setmode' && $user->rights->fournisseur->facture->creer) { $result = $object->setPaymentMethods(GETPOST('mode_reglement_id','int')); } // Multicurrency Code - else if ($action == 'setmulticurrencycode' && $user->rights->fournisseur->facture->creer) { + elseif ($action == 'setmulticurrencycode' && $user->rights->fournisseur->facture->creer) { $result = $object->setMulticurrencyCode(GETPOST('multicurrency_code', 'alpha')); } // Multicurrency rate - else if ($action == 'setmulticurrencyrate' && $user->rights->fournisseur->facture->creer) { + elseif ($action == 'setmulticurrencyrate' && $user->rights->fournisseur->facture->creer) { $result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx', 'alpha'))); } // bank account - else if ($action == 'setbankaccount' && $user->rights->fournisseur->facture->creer) { + elseif ($action == 'setbankaccount' && $user->rights->fournisseur->facture->creer) { $result=$object->setBankAccount(GETPOST('fk_account', 'int')); } @@ -459,7 +459,7 @@ if (empty($reshook)) } } // Convertir en reduc - else if ($action == 'confirm_converttoreduc' && $confirm == 'yes' && $user->rights->fournisseur->facture->creer) + elseif ($action == 'confirm_converttoreduc' && $confirm == 'yes' && $user->rights->fournisseur->facture->creer) { $object->fetch($id); $object->fetch_thirdparty(); @@ -972,7 +972,7 @@ if (empty($reshook)) $error++; } } - else if (! $error) + elseif (! $error) { $id = $object->create($user); if ($id < 0) @@ -1301,7 +1301,7 @@ if (empty($reshook)) setEventMessages($langs->trans("ErrorQtyTooLowForThisSupplier"), null, 'errors'); } } - else if (empty($error)) // $price_ht is already set + elseif (empty($error)) // $price_ht is already set { $tva_npr = (preg_match('/\*/', $tva_tx) ? 1 : 0); $tva_tx = str_replace('*', '', $tva_tx); @@ -1576,7 +1576,7 @@ if (empty($reshook)) } // bascule du statut d'un contact - else if ($action == 'swapstatut') + elseif ($action == 'swapstatut') { if ($object->fetch($id)) { @@ -1589,7 +1589,7 @@ if (empty($reshook)) } // Efface un contact - else if ($action == 'deletecontact') + elseif ($action == 'deletecontact') { $object->fetch($id); $result = $object->delete_contact($_GET["lineid"]); diff --git a/htdocs/fourn/facture/contact.php b/htdocs/fourn/facture/contact.php index ffd3cb00d7b..e9ec9bf95e1 100644 --- a/htdocs/fourn/facture/contact.php +++ b/htdocs/fourn/facture/contact.php @@ -81,7 +81,7 @@ if ($action == 'addcontact' && $user->rights->fournisseur->facture->creer) } // bascule du statut d'un contact -else if ($action == 'swapstatut' && $user->rights->fournisseur->facture->creer) +elseif ($action == 'swapstatut' && $user->rights->fournisseur->facture->creer) { if ($object->fetch($id)) { @@ -94,7 +94,7 @@ else if ($action == 'swapstatut' && $user->rights->fournisseur->facture->creer) } // Efface un contact -else if ($action == 'deletecontact' && $user->rights->fournisseur->facture->creer) +elseif ($action == 'deletecontact' && $user->rights->fournisseur->facture->creer) { $object->fetch($id); $result = $object->delete_contact($_GET["lineid"]); diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index 4a1b004fed7..c5194aa7344 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -774,12 +774,12 @@ if (empty($action)) { if ($year > 0 && empty($day)) $sql.= " AND p.datep BETWEEN '".$db->idate(dol_get_first_day($year,$month,false))."' AND '".$db->idate(dol_get_last_day($year,$month,false))."'"; - else if ($year > 0 && ! empty($day)) + elseif ($year > 0 && ! empty($day)) $sql.= " AND p.datep BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."'"; else $sql.= " AND date_format(p.datep, '%m') = '".$month."'"; } - else if ($year > 0) + elseif ($year > 0) { $sql.= " AND p.datep BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } diff --git a/htdocs/ftp/index.php b/htdocs/ftp/index.php index fd2e5e80772..99ee657f650 100644 --- a/htdocs/ftp/index.php +++ b/htdocs/ftp/index.php @@ -107,7 +107,7 @@ if (GETPOST("sendit") && ! empty($conf->global->MAIN_UPLOAD_DOC)) { setEventMessages($langs->trans("ErrorFileNotUploaded"), null, 'errors'); } - else if (preg_match('/ErrorFileIsInfectedWithAVirus/',$resupload)) // Files infected by a virus + elseif (preg_match('/ErrorFileIsInfectedWithAVirus/',$resupload)) // Files infected by a virus { setEventMessages($langs->trans("ErrorFileIsInfectedWithAVirus"), null, 'errors'); } @@ -529,7 +529,7 @@ else // Is it a directory ? $is_directory=0; if ($file == '..') $is_directory=1; - else if (! $rawlisthasfailed) + elseif (! $rawlisthasfailed) { if (preg_match('/^d/',$vals[0])) $is_directory=1; if (preg_match('/^l/',$vals[0])) $is_link=1; @@ -586,7 +586,7 @@ else if ($file != '..') print ''.img_delete().''; else print ' '; } - else if ($is_link) + elseif ($is_link) { $newfile=$file; $newfile=preg_replace('/ ->.*/','',$newfile); @@ -671,7 +671,7 @@ if ($conn_id) { } - else if (! empty($conf->global->FTP_CONNECT_WITH_SSL)) + elseif (! empty($conf->global->FTP_CONNECT_WITH_SSL)) { ftp_close($conn_id); } @@ -719,7 +719,7 @@ function dol_ftp_connect($ftp_server, $ftp_port, $ftp_user, $ftp_password, $sect dol_syslog('Try to connect with ssh2_ftp'); $tmp_conn_id = ssh2_connect($ftp_server, $ftp_port); } - else if (! empty($conf->global->FTP_CONNECT_WITH_SSL)) + elseif (! empty($conf->global->FTP_CONNECT_WITH_SSL)) { dol_syslog('Try to connect with ftp_ssl_connect'); $conn_id = ftp_ssl_connect($ftp_server, $ftp_port, $connecttimeout); diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index 0f22e07245b..f6b6586a9ec 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -95,8 +95,8 @@ if ($action == 'create') $type=GETPOST('type'); $halfday=0; if ($starthalfday == 'afternoon' && $endhalfday == 'morning') $halfday=2; - else if ($starthalfday == 'afternoon') $halfday=-1; - else if ($endhalfday == 'morning') $halfday=1; + elseif ($starthalfday == 'afternoon') $halfday=-1; + elseif ($endhalfday == 'morning') $halfday=1; $valideur = GETPOST('valideur'); $description = trim(GETPOST('description')); @@ -201,8 +201,8 @@ if ($action == 'update') $endhalfday=GETPOST('endhalfday'); $halfday=0; if ($starthalfday == 'afternoon' && $endhalfday == 'morning') $halfday=2; - else if ($starthalfday == 'afternoon') $halfday=-1; - else if ($endhalfday == 'morning') $halfday=1; + elseif ($starthalfday == 'afternoon') $halfday=-1; + elseif ($endhalfday == 'morning') $halfday=1; // If no right to modify a request if (! $user->rights->holiday->write) diff --git a/htdocs/hrm/establishment/card.php b/htdocs/hrm/establishment/card.php index 77126100068..4343e3a2c50 100644 --- a/htdocs/hrm/establishment/card.php +++ b/htdocs/hrm/establishment/card.php @@ -70,7 +70,7 @@ if ($action == 'confirm_delete' && $confirm == "yes") } } -else if ($action == 'add') +elseif ($action == 'add') { if (! $cancel) { @@ -120,7 +120,7 @@ else if ($action == 'add') } // Update record -else if ($action == 'update') +elseif ($action == 'update') { $error = 0; diff --git a/htdocs/install/check.php b/htdocs/install/check.php index 7eb0bce2dde..145992c0902 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -83,7 +83,7 @@ if (versioncompare(versionphparray(),$arrayphpminversionerror) < 0) // Mi print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionerror)); $checksok=0; // 0=error, 1=warning } -else if (versioncompare(versionphparray(),$arrayphpminversionwarning) < 0) // Minimum supported (warning if lower) +elseif (versioncompare(versionphparray(),$arrayphpminversionwarning) < 0) // Minimum supported (warning if lower) { print 'Error '.$langs->trans("ErrorPHPVersionTooLow",versiontostring($arrayphpminversionwarning)); $checksok=0; // 0=error, 1=warning diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index 54b34b89e8c..eed1cc9a48f 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -225,10 +225,10 @@ if (! defined('SYSLOG_HANDLERS')) define('SYSLOG_HANDLERS','["mod_syslog_file"]' if (! defined('SYSLOG_FILE')) // To avoid warning on systems with constant already defined { if (@is_writable('/tmp')) define('SYSLOG_FILE','/tmp/dolibarr_install.log'); - else if (! empty($_ENV["TMP"]) && @is_writable($_ENV["TMP"])) define('SYSLOG_FILE',$_ENV["TMP"].'/dolibarr_install.log'); - else if (! empty($_ENV["TEMP"]) && @is_writable($_ENV["TEMP"])) define('SYSLOG_FILE',$_ENV["TEMP"].'/dolibarr_install.log'); - else if (@is_writable('../../../../') && @file_exists('../../../../startdoliwamp.bat')) define('SYSLOG_FILE','../../../../dolibarr_install.log'); // For DoliWamp - else if (@is_writable('../../')) define('SYSLOG_FILE','../../dolibarr_install.log'); // For others + elseif (! empty($_ENV["TMP"]) && @is_writable($_ENV["TMP"])) define('SYSLOG_FILE',$_ENV["TMP"].'/dolibarr_install.log'); + elseif (! empty($_ENV["TEMP"]) && @is_writable($_ENV["TEMP"])) define('SYSLOG_FILE',$_ENV["TEMP"].'/dolibarr_install.log'); + elseif (@is_writable('../../../../') && @file_exists('../../../../startdoliwamp.bat')) define('SYSLOG_FILE','../../../../dolibarr_install.log'); // For DoliWamp + elseif (@is_writable('../../')) define('SYSLOG_FILE','../../dolibarr_install.log'); // For others //print 'SYSLOG_FILE='.SYSLOG_FILE;exit; } if (defined('SYSLOG_FILE')) $conf->global->SYSLOG_FILE=constant('SYSLOG_FILE'); @@ -331,10 +331,10 @@ function conf($dolibarr_main_document_root) if (! defined('SYSLOG_FILE')) // To avoid warning on systems with constant already defined { if (@is_writable('/tmp')) define('SYSLOG_FILE','/tmp/dolibarr_install.log'); - else if (! empty($_ENV["TMP"]) && @is_writable($_ENV["TMP"])) define('SYSLOG_FILE',$_ENV["TMP"].'/dolibarr_install.log'); - else if (! empty($_ENV["TEMP"]) && @is_writable($_ENV["TEMP"])) define('SYSLOG_FILE',$_ENV["TEMP"].'/dolibarr_install.log'); - else if (@is_writable('../../../../') && @file_exists('../../../../startdoliwamp.bat')) define('SYSLOG_FILE','../../../../dolibarr_install.log'); // For DoliWamp - else if (@is_writable('../../')) define('SYSLOG_FILE','../../dolibarr_install.log'); // For others + elseif (! empty($_ENV["TMP"]) && @is_writable($_ENV["TMP"])) define('SYSLOG_FILE',$_ENV["TMP"].'/dolibarr_install.log'); + elseif (! empty($_ENV["TEMP"]) && @is_writable($_ENV["TEMP"])) define('SYSLOG_FILE',$_ENV["TEMP"].'/dolibarr_install.log'); + elseif (@is_writable('../../../../') && @file_exists('../../../../startdoliwamp.bat')) define('SYSLOG_FILE','../../../../dolibarr_install.log'); // For DoliWamp + elseif (@is_writable('../../')) define('SYSLOG_FILE','../../dolibarr_install.log'); // For others //print 'SYSLOG_FILE='.SYSLOG_FILE;exit; } if (defined('SYSLOG_FILE')) $conf->global->SYSLOG_FILE=constant('SYSLOG_FILE'); diff --git a/htdocs/install/lib/repair.lib.php b/htdocs/install/lib/repair.lib.php index 43a6d2bce27..eb4a87ee8c2 100644 --- a/htdocs/install/lib/repair.lib.php +++ b/htdocs/install/lib/repair.lib.php @@ -62,13 +62,13 @@ function checkLinkedElements($sourcetype, $targettype) $targettable=$targettype; if ($sourcetype == 'shipping') $sourcetable = 'expedition'; - else if ($targettype == 'shipping') $targettable = 'expedition'; + elseif ($targettype == 'shipping') $targettable = 'expedition'; if ($sourcetype == 'delivery') $sourcetable = 'livraison'; - else if ($targettype == 'delivery') $targettable = 'livraison'; + elseif ($targettype == 'delivery') $targettable = 'livraison'; if ($sourcetype == 'order_supplier') $sourcetable = 'commande_fournisseur'; - else if ($targettype == 'order_supplier') $targettable = 'commande_fournisseur'; + elseif ($targettype == 'order_supplier') $targettable = 'commande_fournisseur'; if ($sourcetype == 'invoice_supplier') $sourcetable = 'facture_fourn'; - else if ($targettype == 'invoice_supplier') $targettable = 'facture_fourn'; + elseif ($targettype == 'invoice_supplier') $targettable = 'facture_fourn'; $out = $langs->trans('SourceType').': '.$sourcetype.' => '.$langs->trans('TargetType').': '.$targettype.' '; diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index 888daa4abe2..0994fcedd2f 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -617,32 +617,32 @@ if ($ok && GETPOST('clean_orphelin_dir','alpha')) include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; $object_instance=new Facture($db); } - else if ($modulepart == 'invoice_supplier') + elseif ($modulepart == 'invoice_supplier') { include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; $object_instance=new FactureFournisseur($db); } - else if ($modulepart == 'propal') + elseif ($modulepart == 'propal') { include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; $object_instance=new Propal($db); } - else if ($modulepart == 'order') + elseif ($modulepart == 'order') { include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; $object_instance=new Commande($db); } - else if ($modulepart == 'order_supplier') + elseif ($modulepart == 'order_supplier') { include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; $object_instance=new CommandeFournisseur($db); } - else if ($modulepart == 'contract') + elseif ($modulepart == 'contract') { include_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; $object_instance=new Contrat($db); } - else if ($modulepart == 'tax') + elseif ($modulepart == 'tax') { include_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; $object_instance=new ChargeSociales($db); @@ -702,7 +702,7 @@ if ($ok && GETPOST('clean_orphelin_dir','alpha')) } print ""; } - else if ($result < 0) print 'Error in '.get_class($object_instance).'.fetch of id'.$id.' ref='.$ref.', result='.$result.'
'; + elseif ($result < 0) print 'Error in '.get_class($object_instance).'.fetch of id'.$id.' ref='.$ref.', result='.$result.'
'; } } } diff --git a/htdocs/install/step1.php b/htdocs/install/step1.php index 48fdb15b655..7a1946bf495 100644 --- a/htdocs/install/step1.php +++ b/htdocs/install/step1.php @@ -546,11 +546,11 @@ if (! $error && $db->connected && $action == "set") { $databasefortest='mysql'; } - else if ($conf->db->type == 'pgsql') + elseif ($conf->db->type == 'pgsql') { $databasefortest='postgres'; } - else if ($conf->db->type == 'mssql') + elseif ($conf->db->type == 'mssql') { $databasefortest='master'; } diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 14856d8b6b7..1b2e6e7e18d 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -347,7 +347,7 @@ if (! GETPOST('action','aZ09') || preg_match('/upgrade/i',GETPOST('action','aZ09 { $filelist[]=$file; } - else if (preg_match('/'.$to.'/i',$file)) // First test may be false if we migrate from x.y.* to x.y.* + elseif (preg_match('/'.$to.'/i',$file)) // First test may be false if we migrate from x.y.* to x.y.* { $filelist[]=$file; } diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index cf6cbf28e45..2b6fe3f3e40 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -4175,7 +4175,7 @@ function migrate_remise_except_entity($db,$langs,$conf) $sqlSelect2.= " FROM ".MAIN_DB_PREFIX."facture as f"; $sqlSelect2.= " WHERE f.rowid = " . $fk_facture; } - else if (!empty($obj->fk_facture_line)) + elseif (!empty($obj->fk_facture_line)) { $sqlSelect2 = "SELECT f.entity"; $sqlSelect2.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."facturedet as fd"; diff --git a/htdocs/livraison/card.php b/htdocs/livraison/card.php index b6e9c904f80..183810b7ab0 100644 --- a/htdocs/livraison/card.php +++ b/htdocs/livraison/card.php @@ -130,7 +130,7 @@ if ($action == 'add') } } -else if ($action == 'confirm_valid' && $confirm == 'yes' && +elseif ($action == 'confirm_valid' && $confirm == 'yes' && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->livraison->creer)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->livraison_advance->validate))) ) diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php index cec094ef04d..3bab5474b08 100644 --- a/htdocs/loan/card.php +++ b/htdocs/loan/card.php @@ -162,7 +162,7 @@ if (empty($reshook)) } // Update record - else if ($action == 'update' && $user->rights->loan->write) + elseif ($action == 'update' && $user->rights->loan->write) { if (! $cancel) { diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index e7bdbe07f67..6253fd86be2 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1226,7 +1226,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs print ''; $titletoshow=''; if ($title && ! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/noapp/',$conf->global->MAIN_HTML_TITLE)) $titletoshow = dol_htmlentities($title); - else if ($title) $titletoshow = dol_htmlentities($appli.' - '.$title); + elseif ($title) $titletoshow = dol_htmlentities($appli.' - '.$title); else $titletoshow = dol_htmlentities($appli); $parameters=array('title'=>$titletoshow); diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 10ff15fbabf..80e9e8c4e2e 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -148,15 +148,15 @@ if (session_id() && ! empty($_SESSION["dol_entity"])) // Entity inside an open { $conf->entity = $_SESSION["dol_entity"]; } -else if (! empty($_ENV["dol_entity"])) // Entity inside a CLI script +elseif (! empty($_ENV["dol_entity"])) // Entity inside a CLI script { $conf->entity = $_ENV["dol_entity"]; } -else if (isset($_POST["loginfunction"]) && GETPOST("entity",'int')) // Just after a login page +elseif (isset($_POST["loginfunction"]) && GETPOST("entity",'int')) // Just after a login page { $conf->entity = GETPOST("entity",'int'); } -else if (defined('DOLENTITY') && is_numeric(DOLENTITY)) // For public page with MultiCompany module +elseif (defined('DOLENTITY') && is_numeric(DOLENTITY)) // For public page with MultiCompany module { $conf->entity = DOLENTITY; } diff --git a/htdocs/opensurvey/exportcsv.php b/htdocs/opensurvey/exportcsv.php index b36a5256059..787aaa3042b 100644 --- a/htdocs/opensurvey/exportcsv.php +++ b/htdocs/opensurvey/exportcsv.php @@ -109,7 +109,7 @@ if ($resql) $input.='OK;'; $somme[$k]++; } - else if ($car == "2") + elseif ($car == "2") { $input.='KO;'; $somme[$k]++; diff --git a/htdocs/opensurvey/results.php b/htdocs/opensurvey/results.php index 34945504943..8720accfe90 100644 --- a/htdocs/opensurvey/results.php +++ b/htdocs/opensurvey/results.php @@ -71,7 +71,7 @@ if (GETPOST("boutonp") || GETPOST("boutonp.x") || GETPOST("boutonp_x")) // bout { $nouveauchoix.="1"; } - else if (isset($_POST["choix$i"]) && $_POST["choix$i"] == '2') + elseif (isset($_POST["choix$i"]) && $_POST["choix$i"] == '2') { $nouveauchoix.="2"; } @@ -136,7 +136,7 @@ if ($testmodifier) { $nouveauchoix.="1"; } - else if (isset($_POST["choix$i"]) && $_POST["choix$i"] == '2') + elseif (isset($_POST["choix$i"]) && $_POST["choix$i"] == '2') { $nouveauchoix.="2"; } @@ -821,7 +821,7 @@ while ($compteur < $num) if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno') { if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("Yes").'</td>'."\n"; - else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("No").'</td>'."\n"; + elseif (((string) $car) == "0") print '<td class="non">'.$langs->trans("No").'</td>'."\n"; else print '<td class="vide"> </td>'."\n"; // Total if (! isset($sumfor[$i])) $sumfor[$i] = 0; @@ -832,7 +832,7 @@ while ($compteur < $num) if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst') { if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n"; - else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; + elseif (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; else print '<td class="vide"> </td>'."\n"; // Total if (! isset($sumfor[$i])) $sumfor[$i] = 0; @@ -886,7 +886,7 @@ while ($compteur < $num) if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno') { if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n"; - else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; + elseif (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; else print '<td class="vide"> </td>'."\n"; // Total if (! isset($sumfor[$i])) $sumfor[$i] = 0; @@ -897,7 +897,7 @@ while ($compteur < $num) if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst') { if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n"; - else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; + elseif (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; else print '<td class="vide"> </td>'."\n"; // Total if (! isset($sumfor[$i])) $sumfor[$i] = 0; diff --git a/htdocs/product/admin/product.php b/htdocs/product/admin/product.php index 334640e87d3..124b7af40ee 100644 --- a/htdocs/product/admin/product.php +++ b/htdocs/product/admin/product.php @@ -277,7 +277,7 @@ if (empty($conf->produit->enabled)) $title = $langs->trans('ServiceSetup'); $tab = $langs->trans('Services'); } -else if (empty($conf->service->enabled)) +elseif (empty($conf->service->enabled)) { $title = $langs->trans('ProductSetup'); $tab = $langs->trans('Products'); diff --git a/htdocs/product/admin/product_extrafields.php b/htdocs/product/admin/product_extrafields.php index 23780df895e..a71bfb9cf42 100644 --- a/htdocs/product/admin/product_extrafields.php +++ b/htdocs/product/admin/product_extrafields.php @@ -66,7 +66,7 @@ if (empty($conf->produit->enabled)) $title = $langs->trans('ServiceSetup'); $textobject = $langs->trans('Services'); } -else if (empty($conf->service->enabled)) +elseif (empty($conf->service->enabled)) { $title = $langs->trans('ProductSetup'); $textobject = $langs->trans('Products'); diff --git a/htdocs/product/canvas/product/actions_card_product.class.php b/htdocs/product/canvas/product/actions_card_product.class.php index cf9fcff98c8..11336d0417f 100644 --- a/htdocs/product/canvas/product/actions_card_product.class.php +++ b/htdocs/product/canvas/product/actions_card_product.class.php @@ -409,16 +409,16 @@ class ActionsCardProduct $this->entity = $obj->entity; $datas[$alias] = $this->getNomUrl(1,'',24); } - else if ($alias == 'stock') + elseif ($alias == 'stock') { $this->load_stock(); if ($this->stock_reel < $obj->seuil_stock_alerte) $datas[$alias] = $this->stock_reel.' '.img_warning($langs->trans("StockTooLow")); else $datas[$alias] = $this->stock_reel; } - else if ($alias == 'label') $datas[$alias] = dol_trunc($obj->$alias,40); - else if (preg_match('/price/i',$alias)) $datas[$alias] = price($obj->$alias); - else if ($alias == 'datem') $datas[$alias] = dol_print_date($this->db->jdate($obj->$alias),'day'); - else if ($alias == 'status') $datas[$alias] = $this->LibStatut($obj->$alias,5); + elseif ($alias == 'label') $datas[$alias] = dol_trunc($obj->$alias,40); + elseif (preg_match('/price/i',$alias)) $datas[$alias] = price($obj->$alias); + elseif ($alias == 'datem') $datas[$alias] = dol_print_date($this->db->jdate($obj->$alias),'day'); + elseif ($alias == 'status') $datas[$alias] = $this->LibStatut($obj->$alias,5); else $datas[$alias] = $obj->$alias; } } diff --git a/htdocs/product/canvas/service/actions_card_service.class.php b/htdocs/product/canvas/service/actions_card_service.class.php index 7ba746af06e..06ab6de21e0 100644 --- a/htdocs/product/canvas/service/actions_card_service.class.php +++ b/htdocs/product/canvas/service/actions_card_service.class.php @@ -206,7 +206,7 @@ class ActionsCardService { $dur=array("h"=>$langs->trans("Hours"),"d"=>$langs->trans("Days"),"w"=>$langs->trans("Weeks"),"m"=>$langs->trans("Months"),"y"=>$langs->trans("Years")); } - else if ($this->object->duration_value > 0) + elseif ($this->object->duration_value > 0) { $dur=array("h"=>$langs->trans("Hour"),"d"=>$langs->trans("Day"),"w"=>$langs->trans("Week"),"m"=>$langs->trans("Month"),"y"=>$langs->trans("Year")); } diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 698d65795f1..d9fc881ce7b 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -175,8 +175,8 @@ if (empty($reshook)) { $langs->load("errors"); if ($result == -1) $errors[] = 'ErrorBadBarCodeSyntax'; - else if ($result == -2) $errors[] = 'ErrorBarCodeRequired'; - else if ($result == -3) $errors[] = 'ErrorBarCodeAlreadyUsed'; + elseif ($result == -2) $errors[] = 'ErrorBarCodeRequired'; + elseif ($result == -3) $errors[] = 'ErrorBarCodeAlreadyUsed'; else $errors[] = 'FailedToValidateBarCode'; $error++; @@ -1248,7 +1248,7 @@ else * Product card */ - else if ($object->id > 0) + elseif ($object->id > 0) { // Fiche en mode edition if ($action == 'edit' && $usercancreate) @@ -1826,7 +1826,7 @@ else { $dur=array("i"=>$langs->trans("Minute"),"h"=>$langs->trans("Hours"),"d"=>$langs->trans("Days"),"w"=>$langs->trans("Weeks"),"m"=>$langs->trans("Months"),"y"=>$langs->trans("Years")); } - else if ($object->duration_value > 0) + elseif ($object->duration_value > 0) { $dur=array("i"=>$langs->trans("Minute"),"h"=>$langs->trans("Hour"),"d"=>$langs->trans("Day"),"w"=>$langs->trans("Week"),"m"=>$langs->trans("Month"),"y"=>$langs->trans("Year")); } @@ -1943,7 +1943,7 @@ else dol_fiche_end(); } } - else if ($action != 'create') + elseif ($action != 'create') { exit; } diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php index 9a22c93d042..025317a288f 100644 --- a/htdocs/product/class/html.formproduct.class.php +++ b/htdocs/product/class/html.formproduct.class.php @@ -104,7 +104,7 @@ class FormProduct $sql.= ", ps.reel as stock"; } } - else if ($sumStock) + elseif ($sumStock) { $sql.= ", sum(ps.reel) as stock"; } @@ -318,9 +318,9 @@ class FormProduct $measuring_units=array(); if ($measuring_style == 'weight') $measuring_units=array(-6=>1,-3=>1,0=>1,3=>1,98=>1,99=>1); - else if ($measuring_style == 'size') $measuring_units=array(-3=>1,-2=>1,-1=>1,0=>1,98=>1,99=>1); - else if ($measuring_style == 'surface') $measuring_units=array(-6=>1,-4=>1,-2=>1,0=>1,98=>1,99=>1); - else if ($measuring_style == 'volume') $measuring_units=array(-9=>1,-6=>1,-3=>1,0=>1,88=>1,89=>1,97=>1,99=>1,/* 98=>1 */); // Liter is not used as already available with dm3 + elseif ($measuring_style == 'size') $measuring_units=array(-3=>1,-2=>1,-1=>1,0=>1,98=>1,99=>1); + elseif ($measuring_style == 'surface') $measuring_units=array(-6=>1,-4=>1,-2=>1,0=>1,98=>1,99=>1); + elseif ($measuring_style == 'volume') $measuring_units=array(-9=>1,-6=>1,-3=>1,0=>1,88=>1,89=>1,97=>1,99=>1,/* 98=>1 */); // Liter is not used as already available with dm3 $return.= '<select class="flat" name="'.$name.'">'; if ($adddefault) $return.= '<option value="0">'.$langs->trans("Default").'</option>'; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index e299921488b..583ce3acaa3 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -1269,7 +1269,7 @@ class Product extends CommonObject return -1; } } - else if (isset($this->multilangs[$key])) { + elseif (isset($this->multilangs[$key])) { $sql = "SELECT rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."product_lang"; $sql.= " WHERE fk_product=".$this->id; @@ -2009,8 +2009,8 @@ class Product extends CommonObject { $sql.= " WHERE entity IN (".getEntity($this->element).")"; if ($ref) { $sql.= " AND ref = '".$this->db->escape($ref)."'"; - } else if ($ref_ext) { $sql.= " AND ref_ext = '".$this->db->escape($ref_ext)."'"; - } else if ($barcode) { $sql.= " AND barcode = '".$this->db->escape($barcode)."'"; + } elseif ($ref_ext) { $sql.= " AND ref_ext = '".$this->db->escape($ref_ext)."'"; + } elseif ($barcode) { $sql.= " AND barcode = '".$this->db->escape($barcode)."'"; } } @@ -2178,7 +2178,7 @@ class Product extends CommonObject { // Nothing loaded by default. List may be very long. } - else if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) // prices per quantity + elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) // prices per quantity { $sql = "SELECT price, price_ttc, price_min, price_min_ttc,"; $sql.= " price_base_type, tva_tx, default_vat_code, tosell, price_by_qty, rowid"; @@ -2229,7 +2229,7 @@ class Product extends CommonObject return -1; } } - else if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) // prices per customer and quantity + elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) // prices per customer and quantity { for ($i=1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i++) { @@ -3912,9 +3912,9 @@ class Product extends CommonObject if ($option == 'supplier' || $option == 'category') { $url = DOL_URL_ROOT.'/product/fournisseurs.php?id='.$this->id; - } else if ($option == 'stock') { + } elseif ($option == 'stock') { $url = DOL_URL_ROOT.'/product/stock/product.php?id='.$this->id; - } else if ($option == 'composition') { + } elseif ($option == 'composition') { $url = DOL_URL_ROOT.'/product/composition/card.php?id='.$this->id; } else { $url = DOL_URL_ROOT.'/product/card.php?id='.$this->id; diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index 521b9dfeca7..001efe037f4 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -112,7 +112,7 @@ if ($action == 'add_prod' && ($user->rights->produit->creer || $user->rights->se exit; } } -else if($action==='save_composed_product') +elseif($action==='save_composed_product') { $TProduct = GETPOST('TProduct', 'array'); if (!empty($TProduct)) diff --git a/htdocs/product/dynamic_price/class/price_parser.class.php b/htdocs/product/dynamic_price/class/price_parser.class.php index 3249671d173..dffb8ee0b2c 100644 --- a/htdocs/product/dynamic_price/class/price_parser.class.php +++ b/htdocs/product/dynamic_price/class/price_parser.class.php @@ -104,15 +104,15 @@ class PriceParser { return $langs->trans("ErrorPriceExpression".$code); } - else if (in_array($code, array(1, 2, 3, 4, 5, 8, 10, 11, 17, 21, 22))) //Errors which have 1 arg + elseif (in_array($code, array(1, 2, 3, 4, 5, 8, 10, 11, 17, 21, 22))) //Errors which have 1 arg { return $langs->trans("ErrorPriceExpression".$code, $info); } - else if (in_array($code, array(6, 23))) //Errors which have 2 args + elseif (in_array($code, array(6, 23))) //Errors which have 2 args { return $langs->trans("ErrorPriceExpression".$code, $info[0], $info[1]); } - else if (in_array($code, array(7, 12, 13, 15, 16, 18))) //Internal errors + elseif (in_array($code, array(7, 12, 13, 15, 16, 18))) //Internal errors { return $langs->trans("ErrorPriceExpressionInternal", $code); } diff --git a/htdocs/product/dynamic_price/editor.php b/htdocs/product/dynamic_price/editor.php index 3e4a87fe9f9..84440a3595a 100644 --- a/htdocs/product/dynamic_price/editor.php +++ b/htdocs/product/dynamic_price/editor.php @@ -55,7 +55,7 @@ if (empty($eid)) //This also disables fetch when eid == 0 { $eid = 0; } -else if ($action != 'delete') +elseif ($action != 'delete') { $price_expression->fetch($eid); } @@ -94,7 +94,7 @@ if ($action == 'add') } } } - else if ($result < 0) + elseif ($result < 0) { setEventMessages("add find: ".$price_expression->error, $price_expression->errors, 'errors'); } @@ -134,7 +134,7 @@ if ($action == 'update') } } } - else if ($result < 0) + elseif ($result < 0) { setEventMessages("update find: ".$price_expression->error, $price_expression->errors, 'errors'); } diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 8556160b767..e190e3a55d1 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -235,7 +235,7 @@ if (empty($reshook)) setEventMessages($langs->trans("ReferenceSupplierIsAlreadyAssociatedWithAProduct",$productLink), null, 'errors'); } - else if ($ret < 0) + elseif ($ret < 0) { $error++; setEventMessages($object->error, $object->errors, 'errors'); diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 56519e6f46b..f3e8ce50037 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -36,7 +36,7 @@ if ($type =='' && !$user->rights->service->lire) $type='0'; // Force global page // Security check if ($type=='0') $result=restrictedArea($user,'produit'); -else if ($type=='1') $result=restrictedArea($user,'service'); +elseif ($type=='1') $result=restrictedArea($user,'service'); else $result=restrictedArea($user,'produit|service'); // Load translation files required by the page @@ -174,7 +174,7 @@ if ($type == '0') print $statProducts; $total=round($prodser[0][0])+round($prodser[0][1])+round($prodser[0][2]); } -else if ($type == '1') +elseif ($type == '1') { print $statServices; $total=round($prodser[1][0])+round($prodser[1][1])+round($prodser[1][2]); diff --git a/htdocs/product/list.php b/htdocs/product/list.php index ca3691edd83..491a66f9562 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -115,7 +115,7 @@ if (! empty($canvas)) // Security check if ($search_type=='0') $result=restrictedArea($user,'produit','','','','','',$objcanvas); -else if ($search_type=='1') $result=restrictedArea($user,'service','','','','','',$objcanvas); +elseif ($search_type=='1') $result=restrictedArea($user,'service','','','','','',$objcanvas); else $result=restrictedArea($user,'produit|service','','','','','',$objcanvas); // Define virtualdiffersfromphysical @@ -381,7 +381,7 @@ if ($resql) { $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; } - else if ($search_type == 1) + elseif ($search_type == 1) { $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; } @@ -787,7 +787,7 @@ if ($resql) { $dur=array("i"=>$langs->trans("Minutes"),"h"=>$langs->trans("Hours"),"d"=>$langs->trans("Days"),"w"=>$langs->trans("Weeks"),"m"=>$langs->trans("Months"),"y"=>$langs->trans("Years")); } - else if ((float) $duration_value > 0) + elseif ((float) $duration_value > 0) { $dur=array("i"=>$langs->trans("Minute"),"h"=>$langs->trans("Hour"),"d"=>$langs->trans("Day"),"w"=>$langs->trans("Week"),"m"=>$langs->trans("Month"),"y"=>$langs->trans("Year")); } diff --git a/htdocs/product/popuprop.php b/htdocs/product/popuprop.php index 687054d1cde..1c064922783 100644 --- a/htdocs/product/popuprop.php +++ b/htdocs/product/popuprop.php @@ -63,7 +63,7 @@ if ($type == '0') { $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; } -else if ($type == '1') +elseif ($type == '1') { $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; } diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 5c06bfee335..1c73758c5f2 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -1958,7 +1958,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) print $langs->trans('None'); } } - else if ($action != 'showlog_default_price' && $action != 'edit_price') + elseif ($action != 'showlog_default_price' && $action != 'edit_price') { // List of all prices by customers print '<!-- list of all prices per customer -->'."\n"; diff --git a/htdocs/product/stats/card.php b/htdocs/product/stats/card.php index 40848e6bb81..af6d9336588 100644 --- a/htdocs/product/stats/card.php +++ b/htdocs/product/stats/card.php @@ -90,7 +90,7 @@ if (! $id && empty($ref)) //$title=$langs->trans("StatisticsOfProducts"); $title=$langs->trans("Statistics"); } - else if ($type == '1') + elseif ($type == '1') { $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; //$title=$langs->trans("StatisticsOfServices"); diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index e19df0aaa1a..674d859a0e3 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -433,7 +433,7 @@ class MouvementStock extends CommonObject //print "qty=".$qty." newpmp=".$newpmp; //exit; } - else if ($type == 1 || $type == 2) + elseif ($type == 1 || $type == 2) { // After a stock decrease, we don't change value of PMP for product. $newpmp = $oldpmp; @@ -465,7 +465,7 @@ class MouvementStock extends CommonObject $this->errors[]=$this->db->lasterror(); $error = -3; } - else if (empty($fk_product_stock)) + elseif (empty($fk_product_stock)) { $fk_product_stock = $this->db->last_insert_id(MAIN_DB_PREFIX."product_stock"); } @@ -822,7 +822,7 @@ class MouvementStock extends CommonObject $result = -2; } } - else if (is_array($dluo)) + elseif (is_array($dluo)) { if (isset($dluo['fk_product_stock'])) { diff --git a/htdocs/product/stock/lib/replenishment.lib.php b/htdocs/product/stock/lib/replenishment.lib.php index 486e8373255..86cb1a3d7ba 100644 --- a/htdocs/product/stock/lib/replenishment.lib.php +++ b/htdocs/product/stock/lib/replenishment.lib.php @@ -122,7 +122,7 @@ function ordered($product_id) $sql .= ' ON cfd.fk_commande = cf.rowid WHERE'; if ($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) { $sql .= ' cf.fk_statut < 3'; - } else if ($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER) { + } elseif ($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER) { $sql .= ' cf.fk_statut < 6 AND cf.rowid NOT IN ' . dispatchedOrders(); } else { $sql .= ' cf.fk_statut < 5'; diff --git a/htdocs/product/stock/movement_list.php b/htdocs/product/stock/movement_list.php index f6a694c57fa..68ad4d96789 100644 --- a/htdocs/product/stock/movement_list.php +++ b/htdocs/product/stock/movement_list.php @@ -468,7 +468,7 @@ if ($month > 0) else $sql.= " AND date_format(m.datem, '%m') = '$month'"; } -else if ($year > 0) +elseif ($year > 0) { $sql.= " AND m.datem BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } diff --git a/htdocs/product/stock/replenishorders.php b/htdocs/product/stock/replenishorders.php index c0e2973b4f8..76616bf06bc 100644 --- a/htdocs/product/stock/replenishorders.php +++ b/htdocs/product/stock/replenishorders.php @@ -136,12 +136,12 @@ if ($search_datemonth > 0) { if ($search_dateyear > 0 && empty($search_dateday)) $sql.= " AND cf.date_creation BETWEEN '".$db->idate(dol_get_first_day($search_dateyear,$search_datemonth,false))."' AND '".$db->idate(dol_get_last_day($search_dateyear,$search_datemonth,false))."'"; - else if ($search_dateyear > 0 && ! empty($search_dateday)) + elseif ($search_dateyear > 0 && ! empty($search_dateday)) $sql.= " AND cf.date_creation BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_datemonth, $search_dateday, $search_dateyear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_datemonth, $search_dateday, $search_dateyear))."'"; else $sql.= " AND date_format(cf.date_creation, '%m') = '".$search_datemonth."'"; } -else if ($search_dateyear > 0) +elseif ($search_dateyear > 0) { $sql.= " AND cf.date_creation BETWEEN '".$db->idate(dol_get_first_day($search_dateyear,1,false))."' AND '".$db->idate(dol_get_last_day($search_dateyear,12,false))."'"; } diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index 855675be956..b6c99d23374 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -277,7 +277,7 @@ if ($action == 'edit') print '</form>'; } -else if ($action != 'add') +elseif ($action != 'add') { if (! empty($object->multilangs)) { diff --git a/htdocs/projet/activity/perday.php b/htdocs/projet/activity/perday.php index 5665a2fb505..e00d4ca6730 100644 --- a/htdocs/projet/activity/perday.php +++ b/htdocs/projet/activity/perday.php @@ -81,7 +81,7 @@ $yearofday=GETPOST('addtimeyear'); $daytoparse = $now; if ($yearofday && $monthofday && $dayofday) $daytoparse=dol_mktime(0, 0, 0, $monthofday, $dayofday, $yearofday); // xxxofday is value of day after submit action 'addtime' -else if ($year && $month && $day) $daytoparse=dol_mktime(0, 0, 0, $month, $day, $year); // this are value submited after submit of action 'submitdateselect' +elseif ($year && $month && $day) $daytoparse=dol_mktime(0, 0, 0, $month, $day, $year); // this are value submited after submit of action 'submitdateselect' if (empty($search_usertoprocessid) || $search_usertoprocessid == $user->id) diff --git a/htdocs/projet/admin/project.php b/htdocs/projet/admin/project.php index 71755fbdca3..fd0d78b6a27 100644 --- a/htdocs/projet/admin/project.php +++ b/htdocs/projet/admin/project.php @@ -61,7 +61,7 @@ if ($action == 'setmainoptions') else dolibarr_set_const($db, "PROJECT_HIDE_TASKS",1,'chaine',0,'',$conf->entity); } -else if ($action == 'updateMask') +elseif ($action == 'updateMask') { $maskconstproject=GETPOST('maskconstproject','alpha'); $maskproject=GETPOST('maskproject','alpha'); @@ -99,7 +99,7 @@ if ($action == 'updateMaskTask') } } -else if ($action == 'specimen') +elseif ($action == 'specimen') { $modele=GETPOST('module','alpha'); @@ -144,7 +144,7 @@ else if ($action == 'specimen') } } -else if ($action == 'specimentask') +elseif ($action == 'specimentask') { $modele=GETPOST('module','alpha'); @@ -190,17 +190,17 @@ else if ($action == 'specimentask') } // Activate a model -else if ($action == 'set') +elseif ($action == 'set') { $ret = addDocumentModel($value, $type, $label, $scandir); } // Activate a model for task -else if ($action == 'settask') +elseif ($action == 'settask') { $ret = addDocumentModel($value,'project_task', $label, $scandir); } -else if ($action == 'del') +elseif ($action == 'del') { $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -218,7 +218,7 @@ if ($action == 'deltask') } // Set default model -else if ($action == 'setdoc') +elseif ($action == 'setdoc') { dolibarr_set_const($db, "PROJECT_ADDON_PDF",$value,'chaine',0,'',$conf->entity); @@ -230,7 +230,7 @@ else if ($action == 'setdoc') } } -else if ($action == 'setdoctask') +elseif ($action == 'setdoctask') { if (dolibarr_set_const($db, "PROJECT_TASK_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) { @@ -247,7 +247,7 @@ else if ($action == 'setdoctask') } } -else if ($action == 'setmod') +elseif ($action == 'setmod') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated @@ -255,7 +255,7 @@ else if ($action == 'setmod') dolibarr_set_const($db, "PROJECT_ADDON",$value,'chaine',0,'',$conf->entity); } -else if ($action == 'setmodtask') +elseif ($action == 'setmodtask') { // TODO Verifier si module numerotation choisi peut etre active // par appel methode canBeActivated diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 6cb54cfb572..7dcafcff657 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -445,7 +445,7 @@ class Project extends CommonObject { $sql.= " WHERE rowid=".$id; } - else if (! empty($ref)) + elseif (! empty($ref)) { $sql.= " WHERE ref='".$this->db->escape($ref)."'"; $sql.= " AND entity IN (".getEntity('project').")"; @@ -1039,7 +1039,7 @@ class Project extends CommonObject if (preg_match('/\.php$/',$option)) { $url = dol_buildpath($option,1) . '?id=' . $this->id; } - else if ($option == 'task') + elseif ($option == 'task') { $url = DOL_URL_ROOT . '/projet/tasks.php?id=' . $this->id; } @@ -1155,7 +1155,7 @@ class Project extends CommonObject { $userAccess = 1; } - else if ($this->public && (($mode == 'read' && ! empty($user->rights->projet->lire)) || ($mode == 'write' && ! empty($user->rights->projet->creer)) || ($mode == 'delete' && ! empty($user->rights->projet->supprimer)))) + elseif ($this->public && (($mode == 'read' && ! empty($user->rights->projet->lire)) || ($mode == 'write' && ! empty($user->rights->projet->creer)) || ($mode == 'delete' && ! empty($user->rights->projet->supprimer)))) { $userAccess = 1; } diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index 96b21b09bf9..d4b0e4c8dae 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -604,7 +604,7 @@ foreach ($listofreferent as $key => $value) if ($tablename != 'expensereport_det' && method_exists($element, 'fetch_thirdparty')) $element->fetch_thirdparty(); if ($tablename == 'don' || $tablename == 'chargesociales') $total_ht_by_line=$element->amount; elseif ($tablename == 'stock_mouvement') $total_ht_by_line=$element->price*abs($element->qty); - else if($tablename == 'fichinter') $total_ht_by_line=$element->getAmount(); + elseif($tablename == 'fichinter') $total_ht_by_line=$element->getAmount(); elseif ($tablename == 'projet_task') { if ($idofelementuser) @@ -633,7 +633,7 @@ foreach ($listofreferent as $key => $value) if ($qualifiedfortotal) $total_ht = $total_ht + $total_ht_by_line; if ($tablename == 'don' || $tablename == 'chargesociales') $total_ttc_by_line=$element->amount; - else if($tablename == 'fichinter') $total_ttc_by_line=$element->getAmount(); + elseif($tablename == 'fichinter') $total_ttc_by_line=$element->getAmount(); elseif ($tablename == 'stock_mouvement') $total_ttc_by_line=$element->price*abs($element->qty); elseif ($tablename == 'projet_task') { @@ -911,7 +911,7 @@ foreach ($listofreferent as $key => $value) $element_doc='commande_fournisseur'; $filedir = $conf->fournisseur->commande->multidir_output[$element->entity].'/'.dol_sanitizeFileName($element->ref); } - else if ($element_doc === 'invoice_supplier') { + elseif ($element_doc === 'invoice_supplier') { $element_doc='facture_fournisseur'; $filename = get_exdir($element->id,2,0,0,$element,'product').dol_sanitizeFileName($element->ref); $filedir = $conf->fournisseur->facture->multidir_output[$element->entity].'/'.get_exdir($element->id,2,0,0,$element,'invoice_supplier').dol_sanitizeFileName($element->ref); @@ -956,7 +956,7 @@ foreach ($listofreferent as $key => $value) print dol_print_date($element->datep,'dayhour'); if ($element->datef && $element->datef > $element->datep) print " - ".dol_print_date($element->datef,'dayhour'); } - else if (in_array($tablename, array('projet_task'))) + elseif (in_array($tablename, array('projet_task'))) { $tmpprojtime = $element->getSumOfAmount($elementuser, $dates, $datee); // $element is a task. $elementuser may be empty print '<a href="'.DOL_URL_ROOT.'/projet/tasks/time.php?id='.$idofelement.'&withproject=1">'; @@ -970,19 +970,19 @@ foreach ($listofreferent as $key => $value) // Third party or user print '<td class="left">'; if (is_object($element->thirdparty)) print $element->thirdparty->getNomUrl(1,'',48); - else if ($tablename == 'expensereport_det') + elseif ($tablename == 'expensereport_det') { $tmpuser=new User($db); $tmpuser->fetch($expensereport->fk_user_author); print $tmpuser->getNomUrl(1,'',48); } - else if ($tablename == 'payment_salary') + elseif ($tablename == 'payment_salary') { $tmpuser=new User($db); $tmpuser->fetch($element->fk_user); print $tmpuser->getNomUrl(1,'',48); } - else if ($tablename == 'don' || $tablename == 'stock_mouvement') + elseif ($tablename == 'don' || $tablename == 'stock_mouvement') { if ($element->fk_user_author > 0) { @@ -991,7 +991,7 @@ foreach ($listofreferent as $key => $value) print $tmpuser2->getNomUrl(1,'',48); } } - else if ($tablename == 'projet_task' && $key == 'project_task_time') // if $key == 'project_task', we don't want details per user + elseif ($tablename == 'projet_task' && $key == 'project_task_time') // if $key == 'project_task', we don't want details per user { print $elementuser->getNomUrl(1); } @@ -1004,7 +1004,7 @@ foreach ($listofreferent as $key => $value) $total_ht_by_line=null; $othermessage=''; if ($tablename == 'don' || $tablename == 'chargesociales' || $tablename == 'payment_various' || $tablename == 'payment_salary') $total_ht_by_line=$element->amount; - else if($tablename == 'fichinter') $total_ht_by_line=$element->getAmount(); + elseif($tablename == 'fichinter') $total_ht_by_line=$element->getAmount(); elseif ($tablename == 'stock_mouvement') $total_ht_by_line=$element->price*abs($element->qty); elseif (in_array($tablename, array('projet_task'))) { @@ -1045,7 +1045,7 @@ foreach ($listofreferent as $key => $value) { $total_ttc_by_line=null; if ($tablename == 'don' || $tablename == 'chargesociales' || $tablename == 'payment_various' || $tablename == 'payment_salary') $total_ttc_by_line=$element->amount; - else if($tablename == 'fichinter') $total_ttc_by_line=$element->getAmount(); + elseif($tablename == 'fichinter') $total_ttc_by_line=$element->getAmount(); elseif ($tablename == 'stock_mouvement') $total_ttc_by_line=$element->price*abs($element->qty); elseif ($tablename == 'projet_task') { @@ -1083,19 +1083,19 @@ foreach ($listofreferent as $key => $value) { print $expensereport->getLibStatut(5); } - else if ($element instanceof CommonInvoice) + elseif ($element instanceof CommonInvoice) { //This applies for Facture and FactureFournisseur print $element->getLibStatut(5, $element->getSommePaiement()); } - else if ($element instanceof Task) + elseif ($element instanceof Task) { if ($element->progress != '') { print $element->progress.' %'; } } - else if ($tablename == 'stock_mouvement') + elseif ($tablename == 'stock_mouvement') { print $element->getLibStatut(3); } diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index 252942ced6c..0d944099de3 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -320,12 +320,12 @@ if ($search_smonth > 0) { if ($search_syear > 0 && empty($search_sday)) $sql.= " AND p.dateo BETWEEN '".$db->idate(dol_get_first_day($search_syear,$search_smonth,false))."' AND '".$db->idate(dol_get_last_day($search_syear,$search_smonth,false))."'"; - else if ($search_syear > 0 && ! empty($search_sday)) + elseif ($search_syear > 0 && ! empty($search_sday)) $sql.= " AND p.dateo BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_smonth, $search_sday, $search_syear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_smonth, $search_sday, $search_syear))."'"; else $sql.= " AND date_format(p.dateo, '%m') = '".$search_smonth."'"; } -else if ($search_syear > 0) +elseif ($search_syear > 0) { $sql.= " AND p.dateo BETWEEN '".$db->idate(dol_get_first_day($search_syear,1,false))."' AND '".$db->idate(dol_get_last_day($search_syear,12,false))."'"; } @@ -333,12 +333,12 @@ if ($search_emonth > 0) { if ($search_eyear > 0 && empty($search_eday)) $sql.= " AND p.datee BETWEEN '".$db->idate(dol_get_first_day($search_eyear,$search_emonth,false))."' AND '".$db->idate(dol_get_last_day($search_eyear,$search_emonth,false))."'"; - else if ($search_eyear > 0 && ! empty($search_eday)) + elseif ($search_eyear > 0 && ! empty($search_eday)) $sql.= " AND p.datee BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_emonth, $search_eday, $search_eyear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_emonth, $search_eday, $search_eyear))."'"; else $sql.= " AND date_format(p.datee, '%m') = '".$search_emonth."'"; } -else if ($search_eyear > 0) +elseif ($search_eyear > 0) { $sql.= " AND p.datee BETWEEN '".$db->idate(dol_get_first_day($search_eyear,1,false))."' AND '".$db->idate(dol_get_last_day($search_eyear,12,false))."'"; } @@ -760,7 +760,7 @@ while ($i < min($num,$limit)) print $nbofsalesrepresentative; print '</a>'; } - else if ($nbofsalesrepresentative > 0) + elseif ($nbofsalesrepresentative > 0) { $userstatic=new User($db); $j=0; diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index fb2399175c2..a17c42a3691 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -133,13 +133,13 @@ if ($search_dtstartmonth > 0) { if ($search_dtstartyear > 0 && empty($search_dtstartday)) { $morewherefilterarray[]= " (t.dateo BETWEEN '".$db->idate(dol_get_first_day($search_dtstartyear,$search_dtstartmonth,false))."' AND '".$db->idate(dol_get_last_day($search_dtstartyear,$search_dtstartmonth,false))."')"; - }else if ($search_dtstartyear > 0 && ! empty($search_dtstartday)) { + }elseif ($search_dtstartyear > 0 && ! empty($search_dtstartday)) { $morewherefilterarray[]= " (t.dateo BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_dtstartmonth, $search_dtstartday, $search_dtstartyear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_dtstartmonth, $search_dtstartday, $search_dtstartyear))."')"; }else { $morewherefilterarray[]= " date_format(t.dateo, '%m') = '".$search_dtstartmonth."'"; } } -else if ($search_dtstartyear > 0) +elseif ($search_dtstartyear > 0) { $morewherefilterarray[]= " (t.dateo BETWEEN '".$db->idate(dol_get_first_day($search_dtstartyear,1,false))."' AND '".$db->idate(dol_get_last_day($search_dtstartyear,12,false))."')"; } @@ -148,13 +148,13 @@ if ($search_dtendmonth > 0) { if ($search_dtendyear > 0 && empty($search_dtendday)) { $morewherefilterarray[]= " (t.datee BETWEEN '".$db->idate(dol_get_first_day($search_dtendyear,$search_dtendmonth,false))."' AND '".$db->idate(dol_get_last_day($search_dtendyear,$search_dtendmonth,false))."')"; - }else if ($search_dtendyear > 0 && ! empty($search_dtendday)) { + }elseif ($search_dtendyear > 0 && ! empty($search_dtendday)) { $morewherefilterarray[]= " (t.datee BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_dtendmonth, $search_dtendday, $search_dtendyear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_dtendmonth, $search_dtendday, $search_dtendyear))."')"; }else { $morewherefilterarray[]= " date_format(t.datee, '%m') = '".$search_dtendmonth."'"; } } -else if ($search_dtendyear > 0) +elseif ($search_dtendyear > 0) { $morewherefilterarray[]= " (t.datee BETWEEN '".$db->idate(dol_get_first_day($search_dtendyear,1,false))."' AND '".$db->idate(dol_get_last_day($search_dtendyear,12,false))."')"; } @@ -207,7 +207,7 @@ if ($action == 'createtask' && $user->rights->projet->creer) $action='create'; $error++; } - else if (empty($_POST['task_parent'])) + elseif (empty($_POST['task_parent'])) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("ChildOfProjectTask")), null, 'errors'); $action='create'; @@ -268,7 +268,7 @@ if ($action == 'createtask' && $user->rights->projet->creer) header("Location: ".$backtopage); exit; } - else if (empty($projectid)) + elseif (empty($projectid)) { header("Location: ".DOL_URL_ROOT.'/projet/tasks/list.php'.(empty($mode)?'':'?mode='.$mode)); exit; @@ -283,7 +283,7 @@ if ($action == 'createtask' && $user->rights->projet->creer) header("Location: ".$backtopage); exit; } - else if (empty($id)) + elseif (empty($id)) { // We go back on task list header("Location: ".DOL_URL_ROOT.'/projet/tasks/list.php'.(empty($mode)?'':'?mode='.$mode)); @@ -563,7 +563,7 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third print '</form>'; } } -else if ($id > 0 || ! empty($ref)) +elseif ($id > 0 || ! empty($ref)) { /* * Projet card in view mode diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php index 61ae1ce652e..a152000acaa 100644 --- a/htdocs/projet/tasks/list.php +++ b/htdocs/projet/tasks/list.php @@ -284,12 +284,12 @@ if ($search_smonth > 0) { if ($search_syear > 0 && empty($search_sday)) $sql.= " AND t.dateo BETWEEN '".$db->idate(dol_get_first_day($search_syear,$search_smonth,false))."' AND '".$db->idate(dol_get_last_day($search_syear,$search_smonth,false))."'"; - else if ($search_syear > 0 && ! empty($search_sday)) + elseif ($search_syear > 0 && ! empty($search_sday)) $sql.= " AND t.dateo BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_smonth, $search_sday, $search_syear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_smonth, $search_sday, $search_syear))."'"; else $sql.= " AND date_format(t.dateo, '%m') = '".$search_smonth."'"; } -else if ($search_syear > 0) +elseif ($search_syear > 0) { $sql.= " AND t.dateo BETWEEN '".$db->idate(dol_get_first_day($search_syear,1,false))."' AND '".$db->idate(dol_get_last_day($search_syear,12,false))."'"; } @@ -297,12 +297,12 @@ if ($search_emonth > 0) { if ($search_eyear > 0 && empty($search_eday)) $sql.= " AND t.datee BETWEEN '".$db->idate(dol_get_first_day($search_eyear,$search_emonth,false))."' AND '".$db->idate(dol_get_last_day($search_eyear,$search_emonth,false))."'"; - else if ($search_eyear > 0 && ! empty($search_eday)) + elseif ($search_eyear > 0 && ! empty($search_eday)) $sql.= " AND t.datee BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_emonth, $search_eday, $search_eyear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_emonth, $search_eday, $search_eyear))."'"; else $sql.= " AND date_format(t.datee, '%m') = '".$search_emonth."'"; } -else if ($search_eyear > 0) +elseif ($search_eyear > 0) { $sql.= " AND t.datee BETWEEN '".$db->idate(dol_get_first_day($search_eyear,1,false))."' AND '".$db->idate(dol_get_last_day($search_eyear,12,false))."'"; } diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 9433925d933..e2025812e65 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -837,12 +837,12 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) { if ($search_year > 0 && empty($search_day)) $sql.= " AND t.task_datehour BETWEEN '".$db->idate(dol_get_first_day($search_year,$search_month,false))."' AND '".$db->idate(dol_get_last_day($search_year,$search_month,false))."'"; - else if ($search_year > 0 && ! empty($search_day)) + elseif ($search_year > 0 && ! empty($search_day)) $sql.= " AND t.task_datehour BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $search_month, $search_day, $search_year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $search_month, $search_day, $search_year))."'"; else $sql.= " AND date_format(t.task_datehour, '%m') = '".$db->escape($search_month)."'"; } - else if ($search_year > 0) + elseif ($search_year > 0) { $sql.= " AND t.task_datehour BETWEEN '".$db->idate(dol_get_first_day($search_year,1,false))."' AND '".$db->idate(dol_get_last_day($search_year,12,false))."'"; } @@ -1273,7 +1273,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) print '<br>'; print '<input type="submit" class="button" name="cancel" value="'.$langs->trans('Cancel').'">'; } - else if ($user->rights->projet->lire || $user->rights->projet->all->creer) // Read project and enter time consumed on assigned tasks + elseif ($user->rights->projet->lire || $user->rights->projet->all->creer) // Read project and enter time consumed on assigned tasks { if ($task_time->fk_user == $user->id || in_array($task_time->fk_user, $childids) || $user->rights->projet->all->creer) { diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php index 79485ee9820..c6fbef4c552 100644 --- a/htdocs/public/members/new.php +++ b/htdocs/public/members/new.php @@ -353,7 +353,7 @@ if ($action == 'add') } if (! empty($backtopage)) $urlback=$backtopage; - else if (! empty($conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION)) + elseif (! empty($conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION)) { $urlback=$conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION; // TODO Make replacement of __AMOUNT__, etc... @@ -379,7 +379,7 @@ if ($action == 'add') } } } - else if ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'paybox') + elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'paybox') { $urlback=DOL_MAIN_URL_ROOT.'/public/paybox/newpayment.php?from=membernewform&source=membersubscription&ref='.urlencode($adh->ref); if (price2num(GETPOST('amount','alpha'))) $urlback.='&amount='.price2num(GETPOST('amount','alpha')); @@ -396,7 +396,7 @@ if ($action == 'add') } } } - else if ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'paypal') + elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'paypal') { $urlback=DOL_MAIN_URL_ROOT.'/public/paypal/newpayment.php?from=membernewform&source=membersubscription&ref='.urlencode($adh->ref); if (price2num(GETPOST('amount','alpha'))) $urlback.='&amount='.price2num(GETPOST('amount','alpha')); @@ -413,7 +413,7 @@ if ($action == 'add') } } } - else if ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'stripe') + elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'stripe') { $urlback=DOL_MAIN_URL_ROOT.'/public/stripe/newpayment.php?from=membernewform&source=membersubscription&ref='.$adh->ref; if (price2num(GETPOST('amount','alpha'))) $urlback.='&amount='.price2num(GETPOST('amount','alpha')); diff --git a/htdocs/public/onlinesign/newonlinesign.php b/htdocs/public/onlinesign/newonlinesign.php index b580a508ed0..84ea1571cee 100644 --- a/htdocs/public/onlinesign/newonlinesign.php +++ b/htdocs/public/onlinesign/newonlinesign.php @@ -167,7 +167,7 @@ $logosmall=$mysoc->logo_small; $logo=$mysoc->logo; $paramlogo='ONLINE_SIGN_LOGO_'.$suffix; if (! empty($conf->global->$paramlogo)) $logosmall=$conf->global->$paramlogo; -else if (! empty($conf->global->ONLINE_SIGN_LOGO)) $logosmall=$conf->global->ONLINE_SIGN_LOGO; +elseif (! empty($conf->global->ONLINE_SIGN_LOGO)) $logosmall=$conf->global->ONLINE_SIGN_LOGO; //print '<!-- Show logo (logosmall='.$logosmall.' logo='.$logo.') -->'."\n"; // Define urllogo $urllogo=''; diff --git a/htdocs/public/opensurvey/studs.php b/htdocs/public/opensurvey/studs.php index acf986bb226..dab212b663e 100644 --- a/htdocs/public/opensurvey/studs.php +++ b/htdocs/public/opensurvey/studs.php @@ -109,7 +109,7 @@ if (GETPOST("boutonp") || GETPOST("boutonp.x") || GETPOST("boutonp_x")) // bout { $nouveauchoix.="1"; } - else if (isset($_POST["choix$i"]) && $_POST["choix$i"] == '2') + elseif (isset($_POST["choix$i"]) && $_POST["choix$i"] == '2') { $nouveauchoix.="2"; } @@ -211,7 +211,7 @@ if ($testmodifier) { $nouveauchoix.="1"; } - else if (isset($_POST["choix".$i]) && $_POST["choix".$i] == '2') + elseif (isset($_POST["choix".$i]) && $_POST["choix".$i] == '2') { $nouveauchoix.="2"; } @@ -462,7 +462,7 @@ while ($compteur < $num) if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno') { if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("Yes").'</td>'."\n"; - else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("No").'</td>'."\n"; + elseif (((string) $car) == "0") print '<td class="non">'.$langs->trans("No").'</td>'."\n"; else print '<td class="vide"> </td>'."\n"; // Total if (! isset($sumfor[$i])) $sumfor[$i] = 0; @@ -473,7 +473,7 @@ while ($compteur < $num) if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst') { if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n"; - else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; + elseif (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; else print '<td class="vide"> </td>'."\n"; // Total if (! isset($sumfor[$i])) $sumfor[$i] = 0; @@ -527,7 +527,7 @@ while ($compteur < $num) if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno') { if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n"; - else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; + elseif (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; else print '<td class="vide"> </td>'."\n"; // Total if (! isset($sumfor[$i])) $sumfor[$i] = 0; @@ -538,7 +538,7 @@ while ($compteur < $num) if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'foragainst') { if (((string) $car) == "1") print '<td class="ok">'.$langs->trans("For").'</td>'."\n"; - else if (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; + elseif (((string) $car) == "0") print '<td class="non">'.$langs->trans("Against").'</td>'."\n"; else print '<td class="vide"> </td>'."\n"; // Total if (! isset($sumfor[$i])) $sumfor[$i] = 0; diff --git a/htdocs/public/payment/newpayment.php b/htdocs/public/payment/newpayment.php index 2b5874005f3..910d63e0d0b 100644 --- a/htdocs/public/payment/newpayment.php +++ b/htdocs/public/payment/newpayment.php @@ -255,7 +255,7 @@ $creditor=$mysoc->name; $paramcreditor='ONLINE_PAYMENT_CREDITOR'; $paramcreditorlong='ONLINE_PAYMENT_CREDITOR_'.$suffix; if (! empty($conf->global->$paramcreditorlong)) $creditor=$conf->global->$paramcreditorlong; -else if (! empty($conf->global->$paramcreditor)) $creditor=$conf->global->$paramcreditor; +elseif (! empty($conf->global->$paramcreditor)) $creditor=$conf->global->$paramcreditor; @@ -699,7 +699,7 @@ $logosmall=$mysoc->logo_small; $logo=$mysoc->logo; $paramlogo='ONLINE_PAYMENT_LOGO_'.$suffix; if (! empty($conf->global->$paramlogo)) $logosmall=$conf->global->$paramlogo; -else if (! empty($conf->global->ONLINE_PAYMENT_LOGO)) $logosmall=$conf->global->ONLINE_PAYMENT_LOGO; +elseif (! empty($conf->global->ONLINE_PAYMENT_LOGO)) $logosmall=$conf->global->ONLINE_PAYMENT_LOGO; //print '<!-- Show logo (logosmall='.$logosmall.' logo='.$logo.') -->'."\n"; // Define urllogo $urllogo=''; diff --git a/htdocs/public/payment/paymentko.php b/htdocs/public/payment/paymentko.php index 783493f375c..f9e83b4a5d6 100644 --- a/htdocs/public/payment/paymentko.php +++ b/htdocs/public/payment/paymentko.php @@ -216,7 +216,7 @@ $logosmall=$mysoc->logo_small; $logo=$mysoc->logo; $paramlogo='ONLINE_PAYMENT_LOGO_'.$suffix; if (! empty($conf->global->$paramlogo)) $logosmall=$conf->global->$paramlogo; -else if (! empty($conf->global->ONLINE_PAYMENT_LOGO)) $logosmall=$conf->global->ONLINE_PAYMENT_LOGO; +elseif (! empty($conf->global->ONLINE_PAYMENT_LOGO)) $logosmall=$conf->global->ONLINE_PAYMENT_LOGO; //print '<!-- Show logo (logosmall='.$logosmall.' logo='.$logo.') -->'."\n"; // Define urllogo $urllogo=''; diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php index e48fc014749..2831da07b13 100644 --- a/htdocs/public/payment/paymentok.php +++ b/htdocs/public/payment/paymentok.php @@ -151,7 +151,7 @@ $logosmall=$mysoc->logo_small; $logo=$mysoc->logo; $paramlogo='ONLINE_PAYMENT_LOGO_'.$suffix; if (! empty($conf->global->$paramlogo)) $logosmall=$conf->global->$paramlogo; -else if (! empty($conf->global->ONLINE_PAYMENT_LOGO)) $logosmall=$conf->global->ONLINE_PAYMENT_LOGO; +elseif (! empty($conf->global->ONLINE_PAYMENT_LOGO)) $logosmall=$conf->global->ONLINE_PAYMENT_LOGO; //print '<!-- Show logo (logosmall='.$logosmall.' logo='.$logo.') -->'."\n"; // Define urllogo $urllogo=''; @@ -378,8 +378,8 @@ if ($ispaymentok) // Define default choice for complementary actions $option=''; if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankviainvoice' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $option='bankviainvoice'; - else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankdirect' && ! empty($conf->banque->enabled)) $option='bankdirect'; - else if (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'invoiceonly' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $option='invoiceonly'; + elseif (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'bankdirect' && ! empty($conf->banque->enabled)) $option='bankdirect'; + elseif (! empty($conf->global->ADHERENT_BANK_USE) && $conf->global->ADHERENT_BANK_USE == 'invoiceonly' && ! empty($conf->banque->enabled) && ! empty($conf->societe->enabled) && ! empty($conf->facture->enabled)) $option='invoiceonly'; if (empty($option)) $option='none'; $sendalsoemail = 1; diff --git a/htdocs/reception/card.php b/htdocs/reception/card.php index 90082d638c2..68edf809fea 100644 --- a/htdocs/reception/card.php +++ b/htdocs/reception/card.php @@ -79,7 +79,7 @@ else { $result=restrictedArea($user, 'reception'); if($origin == 'supplierorder'){ if (empty($user->rights->fournisseur->commande->lire) && empty($user->rights->fournisseur->commande->read)) accessforbidden(); - }else if (empty($user->rights->{$origin}->lire) && empty($user->rights->{$origin}->read)) accessforbidden(); + }elseif (empty($user->rights->{$origin}->lire) && empty($user->rights->{$origin}->read)) accessforbidden(); } $action = GETPOST('action','alpha'); @@ -209,7 +209,7 @@ if (empty($reshook)) setEventMessages($object->error, $object->errors, 'errors'); $error++; } - } else if ($reshook < 0) + } elseif ($reshook < 0) $error++; } @@ -388,7 +388,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_valid' && $confirm == 'yes' && + elseif ($action == 'confirm_valid' && $confirm == 'yes' && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->reception->creer)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->reception->reception_advance->validate))) ) @@ -424,7 +424,7 @@ if (empty($reshook)) } } - else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->reception->supprimer) + elseif ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->reception->supprimer) { $result = $object->delete($user); if ($result > 0) @@ -447,7 +447,7 @@ if (empty($reshook)) } }*/ - else if ($action == 'setdate_livraison' && $user->rights->reception->creer) + elseif ($action == 'setdate_livraison' && $user->rights->reception->creer) { //print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year']; $datedelivery=dol_mktime(GETPOST('liv_hour','int'), GETPOST('liv_min','int'), 0, GETPOST('liv_month','int'), GETPOST('liv_day','int'), GETPOST('liv_year','int')); @@ -461,7 +461,7 @@ if (empty($reshook)) } // Action update - else if ($action == 'settracking_number' || $action == 'settracking_url' + elseif ($action == 'settracking_number' || $action == 'settracking_url' || $action == 'settrueWeight' || $action == 'settrueWidth' || $action == 'settrueHeight' @@ -498,7 +498,7 @@ if (empty($reshook)) } // Build document - else if ($action == 'builddoc') // En get ou en post + elseif ($action == 'builddoc') // En get ou en post { // Save last template used to generate document if (GETPOST('model')) $object->setDocModel($user, GETPOST('model','alpha')); @@ -590,7 +590,7 @@ if (empty($reshook)) /* * Update a line */ - else if ($action == 'updateline' && $user->rights->reception->creer && GETPOST('save')) + elseif ($action == 'updateline' && $user->rights->reception->creer && GETPOST('save')) { // Clean parameters $qty = 0; @@ -689,7 +689,7 @@ if (empty($reshook)) } } - else if ($action == 'updateline' && $user->rights->reception->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { + elseif ($action == 'updateline' && $user->rights->reception->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition exit(); } @@ -1218,7 +1218,7 @@ if ($action == 'create') } } } -else if ($id || $ref) +elseif ($id || $ref) /* *************************************************************************** */ /* */ /* Edit and view mode */ @@ -1979,7 +1979,7 @@ else if ($id || $ref) print '<input type="submit" class="button" id="savelinebutton" name="save" value="' . $langs->trans("Save") . '"><br>'; print '<input type="submit" class="button" id="cancellinebutton" name="cancel" value="' . $langs->trans("Cancel") . '"><br>'; } - else if ($object->statut == 0) + elseif ($object->statut == 0) { // edit-delete buttons print '<td class="linecoledit" align="center">'; diff --git a/htdocs/reception/class/reception.class.php b/htdocs/reception/class/reception.class.php index 4cddbb1134e..f97e22c7cfd 100644 --- a/htdocs/reception/class/reception.class.php +++ b/htdocs/reception/class/reception.class.php @@ -297,7 +297,7 @@ class Reception extends CommonObject } } } - else if ($reshook < 0) $error++; + elseif ($reshook < 0) $error++; if (! $error && ! $notrigger) { diff --git a/htdocs/reception/contact.php b/htdocs/reception/contact.php index 7fc1ed889f5..81379fa81ce 100644 --- a/htdocs/reception/contact.php +++ b/htdocs/reception/contact.php @@ -106,13 +106,13 @@ if ($action == 'addcontact' && $user->rights->reception->creer) } // bascule du statut d'un contact -else if ($action == 'swapstatut' && $user->rights->reception->creer) +elseif ($action == 'swapstatut' && $user->rights->reception->creer) { $result=$objectsrc->swapContactStatus(GETPOST('ligne')); } // Efface un contact -else if ($action == 'deletecontact' && $user->rights->reception->creer) +elseif ($action == 'deletecontact' && $user->rights->reception->creer) { $result = $objectsrc->delete_contact(GETPOST("lineid")); diff --git a/htdocs/resource/contact.php b/htdocs/resource/contact.php index e4f588b7f0d..e4791a9970f 100644 --- a/htdocs/resource/contact.php +++ b/htdocs/resource/contact.php @@ -77,13 +77,13 @@ if ($action == 'addcontact' && $user->rights->resource->write) } // Toggle the status of a contact -else if ($action == 'swapstatut' && $user->rights->resource->write) +elseif ($action == 'swapstatut' && $user->rights->resource->write) { $result=$object->swapContactStatus(GETPOST('ligne','int')); } // Erase a contact -else if ($action == 'deletecontact' && $user->rights->resource->write) +elseif ($action == 'deletecontact' && $user->rights->resource->write) { $result = $object->delete_contact(GETPOST('lineid','int')); diff --git a/htdocs/societe/admin/societe.php b/htdocs/societe/admin/societe.php index 4628f241728..74f24c36399 100644 --- a/htdocs/societe/admin/societe.php +++ b/htdocs/societe/admin/societe.php @@ -545,7 +545,7 @@ foreach ($dirsociete as $dirroot) $modulequalified=1; if (! empty($module->version)) { if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified=0; - else if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified=0; + elseif ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified=0; } if ($modulequalified) diff --git a/htdocs/societe/canvas/actions_card_common.class.php b/htdocs/societe/canvas/actions_card_common.class.php index ffcd7c7a00f..2280c83635f 100644 --- a/htdocs/societe/canvas/actions_card_common.class.php +++ b/htdocs/societe/canvas/actions_card_common.class.php @@ -310,7 +310,7 @@ abstract class ActionsCardCommon $this->tpl['sales_representatives'].= $nbofsalesrepresentative; $this->tpl['sales_representatives'].= '</a>'; } - else if ($nbofsalesrepresentative > 0) + elseif ($nbofsalesrepresentative > 0) { $userstatic=new User($this->db); $i=0; diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php index 617e9f9a1f7..dbb7fbcd91b 100644 --- a/htdocs/societe/card.php +++ b/htdocs/societe/card.php @@ -471,7 +471,7 @@ if (empty($reshook)) } if (GETPOST('deletephoto')) $object->logo = ''; - else if (! empty($_FILES['photo']['name'])) $object->logo = dol_sanitizeFileName($_FILES['photo']['name']); + elseif (! empty($_FILES['photo']['name'])) $object->logo = dol_sanitizeFileName($_FILES['photo']['name']); // Check parameters if (! GETPOST('cancel','alpha')) @@ -631,7 +631,7 @@ if (empty($reshook)) { $url=$_SERVER["PHP_SELF"]."?socid=".$object->id; if (($object->client == 1 || $object->client == 3) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) $url=DOL_URL_ROOT."/comm/card.php?socid=".$object->id; - else if ($object->fournisseur == 1) $url=DOL_URL_ROOT."/fourn/card.php?socid=".$object->id; + elseif ($object->fournisseur == 1) $url=DOL_URL_ROOT."/fourn/card.php?socid=".$object->id; header("Location: ".$url); exit; @@ -1786,7 +1786,7 @@ else if (empty($tmpcode) && ! empty($modCodeClient->code_auto)) $tmpcode=$modCodeClient->getNextValue($object,0); print '<input type="text" name="customer_code" id="customer_code" size="16" value="'.dol_escape_htmltag($tmpcode).'" maxlength="15">'; } - else if ($object->codeclient_modifiable()) + elseif ($object->codeclient_modifiable()) { print '<input type="text" name="customer_code" id="customer_code" size="16" value="'.dol_escape_htmltag($object->code_client).'" maxlength="15">'; } @@ -1826,7 +1826,7 @@ else if (empty($tmpcode) && ! empty($modCodeFournisseur->code_auto)) $tmpcode=$modCodeFournisseur->getNextValue($object,1); print '<input type="text" name="supplier_code" id="supplier_code" size="16" value="'.dol_escape_htmltag($tmpcode).'" maxlength="15">'; } - else if ($object->codefournisseur_modifiable()) + elseif ($object->codefournisseur_modifiable()) { print '<input type="text" name="supplier_code" id="supplier_code" size="16" value="'.$object->code_fournisseur.'" maxlength="15">'; } diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 1e152331aff..34a8c0005da 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -2332,7 +2332,7 @@ class Societe extends CommonObject { $obj = $this->db->fetch_object($resql); if ($mode == 'email') $property=$obj->email; - else if ($mode == 'mobile') $property=$obj->phone_mobile; + elseif ($mode == 'mobile') $property=$obj->phone_mobile; else $property=$obj->$mode; // Show all contact. If hidedisabled is 1, showonly contacts with status = 1 @@ -2341,7 +2341,7 @@ class Societe extends CommonObject if (empty($property)) { if ($mode == 'email') $property=$langs->transnoentitiesnoconv("NoEMail"); - else if ($mode == 'mobile') $property=$langs->transnoentitiesnoconv("NoMobilePhone"); + elseif ($mode == 'mobile') $property=$langs->transnoentitiesnoconv("NoMobilePhone"); } if (!empty($obj->poste)) @@ -2465,7 +2465,7 @@ class Societe extends CommonObject $obj = $this->db->fetch_object($resql); if ($mode == 'email') $contact_property = dol_string_nospecial(dolGetFirstLastname($obj->firstname, $obj->lastname), ' ', array(","))." <".$obj->email.">"; - else if ($mode == 'mobile') $contact_property = $obj->phone_mobile; + elseif ($mode == 'mobile') $contact_property = $obj->phone_mobile; } return $contact_property; } @@ -2787,7 +2787,7 @@ class Societe extends CommonObject $result = $mod->get_code($this->db, $this, $type); if ($type == 'customer') $this->code_compta = $mod->code; - else if ($type == 'supplier') $this->code_compta_fournisseur = $mod->code; + elseif ($type == 'supplier') $this->code_compta_fournisseur = $mod->code; return $result; } @@ -2800,7 +2800,7 @@ class Societe extends CommonObject else { if ($type == 'customer') $this->code_compta = ''; - else if ($type == 'supplier') $this->code_compta_fournisseur = ''; + elseif ($type == 'supplier') $this->code_compta_fournisseur = ''; return 0; } @@ -3225,7 +3225,7 @@ class Societe extends CommonObject // Define if third party is treated as company (or not) when nature is unknown $isacompany=empty($conf->global->MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES)?0:1; // 0 by default if (! empty($this->tva_intra)) $isacompany=1; - else if (! empty($this->typent_code) && $this->typent_code != 'TE_UNKNOWN') + elseif (! empty($this->typent_code) && $this->typent_code != 'TE_UNKNOWN') { // TODO Add a field is_a_company into dictionary if (preg_match('/^TE_PRIVATE/', $this->typent_code)) $isacompany=0; diff --git a/htdocs/societe/consumption.php b/htdocs/societe/consumption.php index dd4134bae86..61292d4f4fe 100644 --- a/htdocs/societe/consumption.php +++ b/htdocs/societe/consumption.php @@ -313,7 +313,7 @@ if (!empty($sql_select)) } else { $sql.= " AND date_format(".$dateprint.", '%m') = '".sprintf('%02d',$month)."'"; } - } else if ($year > 0) { + } elseif ($year > 0) { $start = dol_mktime(0, 0, 0, 1, 1, $year); $end = dol_time_plus_duree($start,1,'y') - 1; $sql.= " AND ".$dateprint." BETWEEN '".$db->idate($start)."' AND '".$db->idate($end)."'"; @@ -622,7 +622,7 @@ if ($sql_select) } $db->free($resql); } -else if (empty($type_element) || $type_element == -1) +elseif (empty($type_element) || $type_element == -1) { print_barre_liste($langs->trans('ProductsIntoElements').' '.$typeElementString.' '.$button, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num, '', ''); diff --git a/htdocs/societe/societecontact.php b/htdocs/societe/societecontact.php index 630b8fa4723..2144c11f3ed 100644 --- a/htdocs/societe/societecontact.php +++ b/htdocs/societe/societecontact.php @@ -82,7 +82,7 @@ if ($action == 'addcontact' && $user->rights->societe->creer) } // bascule du statut d'un contact -else if ($action == 'swapstatut' && $user->rights->societe->creer) +elseif ($action == 'swapstatut' && $user->rights->societe->creer) { if ($object->fetch($id)) { @@ -95,7 +95,7 @@ else if ($action == 'swapstatut' && $user->rights->societe->creer) } // Efface un contact -else if ($action == 'deletecontact' && $user->rights->societe->creer) +elseif ($action == 'deletecontact' && $user->rights->societe->creer) { $object->fetch($id); $result = $object->delete_contact($_GET["lineid"]); diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php index 0affce21c93..ab08caa6d9f 100644 --- a/htdocs/supplier_proposal/card.php +++ b/htdocs/supplier_proposal/card.php @@ -151,7 +151,7 @@ if (empty($reshook)) } // Delete askprice - else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->supplier_proposal->supprimer) + elseif ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->supplier_proposal->supprimer) { $result = $object->delete($user); if ($result > 0) { @@ -164,7 +164,7 @@ if (empty($reshook)) } // Remove line - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->supplier_proposal->creer) + elseif ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->supplier_proposal->creer) { $result = $object->deleteline($lineid); // reorder lines @@ -188,7 +188,7 @@ if (empty($reshook)) } // Validation - else if ($action == 'confirm_validate' && $confirm == 'yes' && + elseif ($action == 'confirm_validate' && $confirm == 'yes' && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->supplier_proposal->creer)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->supplier_proposal->validate_advance))) ) @@ -222,7 +222,7 @@ if (empty($reshook)) } } - else if ($action == 'setdate_livraison' && $user->rights->supplier_proposal->creer) + elseif ($action == 'setdate_livraison' && $user->rights->supplier_proposal->creer) { $result = $object->set_date_livraison($user, dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year'])); if ($result < 0) @@ -230,7 +230,7 @@ if (empty($reshook)) } // Create askprice - else if ($action == 'add' && $user->rights->supplier_proposal->creer) + elseif ($action == 'add' && $user->rights->supplier_proposal->creer) { $object->socid = $socid; $object->fetch_thirdparty(); @@ -445,7 +445,7 @@ if (empty($reshook)) } // Reopen proposal - else if ($action == 'confirm_reopen' && $user->rights->supplier_proposal->cloturer && ! GETPOST('cancel','alpha')) { + elseif ($action == 'confirm_reopen' && $user->rights->supplier_proposal->cloturer && ! GETPOST('cancel','alpha')) { // prevent browser refresh from reopening proposal several times if ($object->statut == SupplierProposal::STATUS_SIGNED || $object->statut == SupplierProposal::STATUS_NOTSIGNED || $object->statut == SupplierProposal::STATUS_CLOSE) { $object->reopen($user, SupplierProposal::STATUS_VALIDATED); @@ -453,7 +453,7 @@ if (empty($reshook)) } // Close proposal - else if ($action == 'close' && $user->rights->supplier_proposal->cloturer && ! GETPOST('cancel','alpha')) { + elseif ($action == 'close' && $user->rights->supplier_proposal->cloturer && ! GETPOST('cancel','alpha')) { // prevent browser refresh from reopening proposal several times if ($object->statut == SupplierProposal::STATUS_SIGNED) { $object->setStatut(SupplierProposal::STATUS_CLOSE); @@ -461,7 +461,7 @@ if (empty($reshook)) } // Set accepted/refused - else if ($action == 'setstatut' && $user->rights->supplier_proposal->cloturer && ! GETPOST('cancel','alpha')) { + elseif ($action == 'setstatut' && $user->rights->supplier_proposal->cloturer && ! GETPOST('cancel','alpha')) { if (! GETPOST('statut')) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("CloseAs")), null, 'errors'); $action = 'statut'; @@ -507,7 +507,7 @@ if (empty($reshook)) } } - else if ($action == "setabsolutediscount" && $user->rights->supplier_proposal->creer) { + elseif ($action == "setabsolutediscount" && $user->rights->supplier_proposal->creer) { if ($_POST["remise_id"]) { if ($object->id > 0) { $result = $object->insert_discount($_POST["remise_id"]); @@ -688,7 +688,7 @@ if (empty($reshook)) setEventMessages($langs->trans("ErrorQtyTooLowForThisSupplier"), null, 'errors'); } } - else if((GETPOST('price_ht')!=='' || GETPOST('price_ttc')!=='') && empty($error)) // Free product. // $price_ht is already set + elseif((GETPOST('price_ht')!=='' || GETPOST('price_ttc')!=='') && empty($error)) // Free product. // $price_ht is already set { $pu_ht = price2num($price_ht, 'MU'); $pu_ttc = price2num(GETPOST('price_ttc'), 'MU'); @@ -793,7 +793,7 @@ if (empty($reshook)) } // Mise a jour d'une ligne dans la demande de prix - else if ($action == 'updateline' && $user->rights->supplier_proposal->creer && GETPOST('save') == $langs->trans("Save")) { + elseif ($action == 'updateline' && $user->rights->supplier_proposal->creer && GETPOST('save') == $langs->trans("Save")) { // Define info_bits $info_bits = 0; @@ -919,50 +919,50 @@ if (empty($reshook)) } } - else if ($action == 'updateline' && $user->rights->supplier_proposal->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { + elseif ($action == 'updateline' && $user->rights->supplier_proposal->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition exit(); } // Set project - else if ($action == 'classin' && $user->rights->supplier_proposal->creer) { + elseif ($action == 'classin' && $user->rights->supplier_proposal->creer) { $object->setProject(GETPOST('projectid'),'int'); } // Delai de livraison - else if ($action == 'setavailability' && $user->rights->supplier_proposal->creer) { + elseif ($action == 'setavailability' && $user->rights->supplier_proposal->creer) { $result = $object->availability($_POST['availability_id']); } // Conditions de reglement - else if ($action == 'setconditions' && $user->rights->supplier_proposal->creer) { + elseif ($action == 'setconditions' && $user->rights->supplier_proposal->creer) { $result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); } - else if ($action == 'setremisepercent' && $user->rights->supplier_proposal->creer) { + elseif ($action == 'setremisepercent' && $user->rights->supplier_proposal->creer) { $result = $object->set_remise_percent($user, $_POST['remise_percent']); } - else if ($action == 'setremiseabsolue' && $user->rights->supplier_proposal->creer) { + elseif ($action == 'setremiseabsolue' && $user->rights->supplier_proposal->creer) { $result = $object->set_remise_absolue($user, $_POST['remise_absolue']); } // Mode de reglement - else if ($action == 'setmode' && $user->rights->supplier_proposal->creer) { + elseif ($action == 'setmode' && $user->rights->supplier_proposal->creer) { $result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int')); } // Multicurrency Code - else if ($action == 'setmulticurrencycode' && $user->rights->supplier_proposal->creer) { + elseif ($action == 'setmulticurrencycode' && $user->rights->supplier_proposal->creer) { $result = $object->setMulticurrencyCode(GETPOST('multicurrency_code', 'alpha')); } // Multicurrency rate - else if ($action == 'setmulticurrencyrate' && $user->rights->supplier_proposal->creer) { + elseif ($action == 'setmulticurrencyrate' && $user->rights->supplier_proposal->creer) { $result = $object->setMulticurrencyRate(price2num(GETPOST('multicurrency_tx'))); } - else if ($action == 'update_extras') { + elseif ($action == 'update_extras') { $object->oldcopy = dol_clone($object); // Fill array 'array_options' with data from update form @@ -1329,22 +1329,22 @@ if ($action == 'create') } // Confirm delete - else if ($action == 'delete') { + elseif ($action == 'delete') { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteAsk'), $langs->trans('ConfirmDeleteAsk', $object->ref), 'confirm_delete', '', 0, 1); } // Confirm reopen - else if ($action == 'reopen') { + elseif ($action == 'reopen') { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenAsk', $object->ref), 'confirm_reopen', '', 0, 1); } // Confirmation delete product/service line - else if ($action == 'ask_deleteline') { + elseif ($action == 'ask_deleteline') { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1); } // Confirm validate askprice - else if ($action == 'validate') { + elseif ($action == 'validate') { $error = 0; // on verifie si l'objet est en numerotation provisoire diff --git a/htdocs/supplier_proposal/class/supplier_proposal.class.php b/htdocs/supplier_proposal/class/supplier_proposal.class.php index a32b973d00a..bf81aee86cb 100644 --- a/htdocs/supplier_proposal/class/supplier_proposal.class.php +++ b/htdocs/supplier_proposal/class/supplier_proposal.class.php @@ -1953,7 +1953,7 @@ class SupplierProposal extends CommonObject { $ga[$obj->supplier_proposalid] = $obj->ref; } - else if ($shortlist == 2) + elseif ($shortlist == 2) { $ga[$obj->supplier_proposalid] = $obj->ref.' ('.$obj->name.')'; } diff --git a/htdocs/supplier_proposal/contact.php b/htdocs/supplier_proposal/contact.php index 7e862e7682d..819618530be 100644 --- a/htdocs/supplier_proposal/contact.php +++ b/htdocs/supplier_proposal/contact.php @@ -81,7 +81,7 @@ if ($action == 'addcontact' && $permissiontoedit) } // Toggle the status of a contact -else if ($action == 'swapstatut' && $permissiontoedit) +elseif ($action == 'swapstatut' && $permissiontoedit) { if ($object->fetch($id)) { @@ -94,7 +94,7 @@ else if ($action == 'swapstatut' && $permissiontoedit) } // Deleting a contact -else if ($action == 'deletecontact' && $permissiontoedit) +elseif ($action == 'deletecontact' && $permissiontoedit) { $object->fetch($id); $result = $object->delete_contact(GETPOST("lineid",'int')); diff --git a/htdocs/supplier_proposal/index.php b/htdocs/supplier_proposal/index.php index 82f5ad56416..6a9710a4b37 100644 --- a/htdocs/supplier_proposal/index.php +++ b/htdocs/supplier_proposal/index.php @@ -360,7 +360,7 @@ if (! empty($conf->supplier_proposal->enabled) && $user->rights->supplier_propos { print '<tr class="liste_total"><td colspan="5">'.$langs->trans("XMoreLines", ($num - $nbofloop))."</td></tr>"; } - else if ($total>0) + elseif ($total>0) { print '<tr class="liste_total"><td colspan="3">'.$langs->trans("Total")."</td><td align=\"right\">".price($total)."</td><td> </td></tr>"; } diff --git a/htdocs/takepos/customers.php b/htdocs/takepos/customers.php index 41738861702..e17cce187be 100644 --- a/htdocs/takepos/customers.php +++ b/htdocs/takepos/customers.php @@ -353,7 +353,7 @@ if ($search_level_from != '' && $search_level_to != '') $sortwhere = '(sortorder BETWEEN '.$search_level_from.' AND '.$search_level_to.') AS is_in_range'; } // If only "from" parameter is set, search for everything GREATER THAN it -else if ($search_level_from != '') +elseif ($search_level_from != '') { // Ensure that this parameter is a number $search_level_from = (int) $search_level_from; @@ -362,7 +362,7 @@ else if ($search_level_from != '') $sortwhere = '(sortorder >= '.$search_level_from.') AS is_in_range'; } // If only "to" parameter is set, search for everything LOWER THAN it -else if ($search_level_to != '') +elseif ($search_level_to != '') { // Ensure that this parameter is a number $search_level_to = (int) $search_level_to; diff --git a/htdocs/takepos/genimg/index.php b/htdocs/takepos/genimg/index.php index ff1b368b743..c3e26345a09 100644 --- a/htdocs/takepos/genimg/index.php +++ b/htdocs/takepos/genimg/index.php @@ -83,7 +83,7 @@ if ($query=="cat") // Output imagejpeg($image_p, null, 100); } -else if ($query=="pro") +elseif ($query=="pro") { require_once DOL_DOCUMENT_ROOT."/product/class/product.class.php"; diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php index 1701b82a770..789b2a1cc8a 100644 --- a/htdocs/takepos/invoice.php +++ b/htdocs/takepos/invoice.php @@ -66,8 +66,8 @@ if (!$placeid) { $placeid = 0; // not necesary if ($action == 'valid' && $user->rights->facture->creer) { if ($pay=="cash") $bankaccount=$conf->global->CASHDESK_ID_BANKACCOUNT_CASH; - else if ($pay=="card") $bankaccount=$conf->global->CASHDESK_ID_BANKACCOUNT_CB; - else if ($pay=="cheque") $bankaccount=$conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE; + elseif ($pay=="card") $bankaccount=$conf->global->CASHDESK_ID_BANKACCOUNT_CB; + elseif ($pay=="cheque") $bankaccount=$conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE; $now=dol_now(); $invoice = new Facture($db); $invoice->fetch($placeid); @@ -80,8 +80,8 @@ if ($action == 'valid' && $user->rights->facture->creer) $payment->amounts[$invoice->id]=$invoice->total_ttc; if ($pay=="cash") $payment->paiementid=4; - else if ($pay=="card") $payment->paiementid=6; - else if ($pay=="cheque") $payment->paiementid=7; + elseif ($pay=="card") $payment->paiementid=6; + elseif ($pay=="cheque") $payment->paiementid=7; $payment->num_paiement=$invoice->ref; $payment->create($user); @@ -125,8 +125,7 @@ if ($action == "deleteline") { $invoice->deleteline($idline); $invoice->fetch($placeid); } - else - if ($placeid > 0) { //If exist invoice, but no line selected, proced to delete last line + elseif ($placeid > 0) { //If exist invoice, but no line selected, proced to delete last line $sql = "SELECT rowid FROM " . MAIN_DB_PREFIX . "facturedet where fk_facture='$placeid' order by rowid DESC"; $resql = $db->query($sql); $row = $db->fetch_array($resql); diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 83f21a506ea..40726265b01 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -430,7 +430,7 @@ foreach($menus as $menu) { echo '<button type="button" id="actionnext" class="actionbutton" onclick="MoreActions('.count($menus).');">'.$langs->trans("Next").'</button>'; echo '<button style="display: none;" type="button" id="action'.$i.'" class="actionbutton" onclick="'.$menu['action'].'">'.$menu['title'].'</button>'; } - else if ($i>9) echo '<button style="display: none;" type="button" id="action'.$i.'" class="actionbutton" onclick="'.$menu['action'].'">'.$menu['title'].'</button>'; + elseif ($i>9) echo '<button style="display: none;" type="button" id="action'.$i.'" class="actionbutton" onclick="'.$menu['action'].'">'.$menu['title'].'</button>'; else echo '<button type="button" id="action'.$i.'" class="actionbutton" onclick="'.$menu['action'].'">'.$menu['title'].'</button>'; } ?> @@ -442,7 +442,7 @@ foreach($menus as $menu) { while ($count<16) { ?> - <div class='wrapper' <?php if ($count==14) echo 'onclick="MoreCategories(\'less\');"'; else if ($count==15) echo 'onclick="MoreCategories(\'more\');"'; else echo 'onclick="LoadProducts('.$count.');"';?> id='catdiv<?php echo $count;?>'> + <div class='wrapper' <?php if ($count==14) echo 'onclick="MoreCategories(\'less\');"'; elseif ($count==15) echo 'onclick="MoreCategories(\'more\');"'; else echo 'onclick="LoadProducts('.$count.');"';?> id='catdiv<?php echo $count;?>'> <img class='imgwrapper' <?php if ($count==14) echo 'src="img/arrow-prev-top.png"'; if ($count==15) echo 'src="img/arrow-next-top.png"';?> width="98%" id='catimg<?php echo $count;?>'/> <div class='description'> <div class='description_content' id='catdesc<?php echo $count;?>'></div> diff --git a/htdocs/user/card.php b/htdocs/user/card.php index c5c2e77a4b8..f4799e7b17f 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -390,7 +390,7 @@ if (empty($reshook)) { { $object->entity = 0; } - else if (! empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE)) + elseif (! empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE)) { $object->entity = 1; // all users in master entity } @@ -1404,11 +1404,11 @@ else { $valuetoshow.=($valuetoshow?(' '.$langs->trans("or").' '):'').$langs->trans("LdapUacf_".$statutUACF); } - else if($userChangePassNextLogon) + elseif($userChangePassNextLogon) { $valuetoshow.=($valuetoshow?(' '.$langs->trans("or").' '):'').'<span class="warning">'.$langs->trans("UserMustChangePassNextLogon",$ldap->domainFQDN).'</span>'; } - else if($userDisabled) + elseif($userDisabled) { $valuetoshow.=($valuetoshow?(' '.$langs->trans("or").' '):'').'<span class="warning">'.$langs->trans("LdapUacf_".$statutUACF,$ldap->domainFQDN).'</span>'; } @@ -1460,7 +1460,7 @@ else { print $form->textwithpicto(yn($object->admin),$langs->trans("SuperAdministratorDesc"),1,"superadmin"); } - else if ($object->admin) + elseif ($object->admin) { print $form->textwithpicto(yn($object->admin),$langs->trans("AdministratorDesc"),1,"admin"); } @@ -1774,7 +1774,7 @@ else { print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("UserDisabled")).'">'.$langs->trans("SendNewPassword").'</a></div>'; } - else if (($user->id != $id && $caneditpassword) && $object->login && !$object->ldap_sid && + elseif (($user->id != $id && $caneditpassword) && $object->login && !$object->ldap_sid && ((empty($conf->multicompany->enabled) && $object->entity == $user->entity) || ! $user->entity || ($object->entity == $conf->entity) || ($conf->global->MULTICOMPANY_TRANSVERSE_MODE && $conf->entity == 1))) { if ($object->email) print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&action=passwordsend">'.$langs->trans("SendNewPassword").'</a></div>'; diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index 2c189ad07d1..f560e2413fa 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -279,7 +279,7 @@ class User extends CommonObject { $sql.= " AND (u.ldap_sid = '".$this->db->escape($sid)."' OR u.login = '".$this->db->escape($login)."') LIMIT 1"; } - else if ($login) + elseif ($login) { $sql.= " AND u.login = '".$this->db->escape($login)."'"; } @@ -538,7 +538,7 @@ class User extends CommonObject $whereforadd="id=".$this->db->escape($rid); // Ajout des droits induits if (! empty($subperms)) $whereforadd.=" OR (module='$module' AND perms='$perms' AND (subperms='lire' OR subperms='read'))"; - else if (! empty($perms)) $whereforadd.=" OR (module='$module' AND (perms='lire' OR perms='read') AND subperms IS NULL)"; + elseif (! empty($perms)) $whereforadd.=" OR (module='$module' AND (perms='lire' OR perms='read') AND subperms IS NULL)"; } else { // On a pas demande un droit en particulier mais une liste de droits @@ -3187,7 +3187,7 @@ class User extends CommonObject $obj = $this->db->fetch_object($resql); if ($mode == 'email') $user_property = dolGetFirstLastname($obj->firstname, $obj->lastname)." <".$obj->email.">"; - else if ($mode == 'mobile') $user_property = $obj->user_mobile; + elseif ($mode == 'mobile') $user_property = $obj->user_mobile; } return $user_property; } diff --git a/htdocs/user/class/usergroup.class.php b/htdocs/user/class/usergroup.class.php index f70f61e2ed6..c490aeddb3f 100644 --- a/htdocs/user/class/usergroup.class.php +++ b/htdocs/user/class/usergroup.class.php @@ -326,7 +326,7 @@ class UserGroup extends CommonObject $whereforadd="id=".$this->db->escape($rid); // Ajout des droits induits if ($subperms) $whereforadd.=" OR (module='$module' AND perms='$perms' AND (subperms='lire' OR subperms='read'))"; - else if ($perms) $whereforadd.=" OR (module='$module' AND (perms='lire' OR perms='read') AND subperms IS NULL)"; + elseif ($perms) $whereforadd.=" OR (module='$module' AND (perms='lire' OR perms='read') AND subperms IS NULL)"; // Pour compatibilite, si lowid = 0, on est en mode ajout de tout // TODO A virer quand sera gere par l'appelant diff --git a/htdocs/user/group/card.php b/htdocs/user/group/card.php index 61c817a4c72..b940e6befe6 100644 --- a/htdocs/user/group/card.php +++ b/htdocs/user/group/card.php @@ -473,7 +473,7 @@ else print '<td>'; print $useringroup->getNomUrl(-1, '', 0, 0, 24, 0, 'login'); if ($useringroup->admin && ! $useringroup->entity) print img_picto($langs->trans("SuperAdministrator"),'redstar'); - else if ($useringroup->admin) print img_picto($langs->trans("Administrator"),'star'); + elseif ($useringroup->admin) print img_picto($langs->trans("Administrator"),'star'); print '</td>'; print '<td>'.$useringroup->lastname.'</td>'; print '<td>'.$useringroup->firstname.'</td>'; diff --git a/htdocs/user/hierarchy.php b/htdocs/user/hierarchy.php index 65723b4d65d..f0673966f44 100644 --- a/htdocs/user/hierarchy.php +++ b/htdocs/user/hierarchy.php @@ -121,7 +121,7 @@ foreach($fulltree as $key => $val) { $li.=img_picto($langs->trans("SuperAdministrator"),'redstar'); } - else if ($userstatic->admin) + elseif ($userstatic->admin) { $li.=img_picto($langs->trans("Administrator"),'star'); } diff --git a/htdocs/user/home.php b/htdocs/user/home.php index fb97549e9a1..efb1ba33b78 100644 --- a/htdocs/user/home.php +++ b/htdocs/user/home.php @@ -156,7 +156,7 @@ if ($resql) { print img_picto($langs->trans("SuperAdministrator"),'redstar'); } - else if ($obj->admin) + elseif ($obj->admin) { print img_picto($langs->trans("Administrator"),'star'); } diff --git a/htdocs/user/list.php b/htdocs/user/list.php index dcede3a5576..ea8d340e0ae 100644 --- a/htdocs/user/list.php +++ b/htdocs/user/list.php @@ -504,7 +504,7 @@ while ($i < min($num,$limit)) { print img_picto($langs->trans("SuperAdministrator"), 'redstar', 'class="valignmiddle paddingleft"'); } - else if ($obj->admin) + elseif ($obj->admin) { print img_picto($langs->trans("Administrator"), 'star', 'class="valignmiddle paddingleft"'); } @@ -553,7 +553,7 @@ while ($i < min($num,$limit)) $companystatic->canvas=$obj->canvas; print $companystatic->getNomUrl(1); } - else if ($obj->ldap_sid) + elseif ($obj->ldap_sid) { print $langs->trans("DomainUser"); } @@ -604,7 +604,7 @@ while ($i < min($num,$limit)) { print img_picto($langs->trans("SuperAdministrator"), 'redstar', 'class="valignmiddle paddingleft"'); } - else if ($obj->admin2) + elseif ($obj->admin2) { print img_picto($langs->trans("Administrator"), 'star', 'class="valignmiddle paddingleft"'); } diff --git a/htdocs/user/perms.php b/htdocs/user/perms.php index c74178609aa..495cd3d913d 100644 --- a/htdocs/user/perms.php +++ b/htdocs/user/perms.php @@ -350,7 +350,7 @@ if ($result) print img_picto($langs->trans("Active"),'tick'); print '</td>'; } - else if (in_array($obj->id, $permsuser)) // Permission granted by user + elseif (in_array($obj->id, $permsuser)) // Permission granted by user { if ($caneditperms) { @@ -361,7 +361,7 @@ if ($result) print '</td>'; } - else if (is_array($permsgroupbyentity[$entity])) + elseif (is_array($permsgroupbyentity[$entity])) { if (in_array($obj->id, $permsgroupbyentity[$entity])) // Permission granted by group { diff --git a/htdocs/webservices/server_productorservice.php b/htdocs/webservices/server_productorservice.php index 1e301350063..188ebdf09d2 100644 --- a/htdocs/webservices/server_productorservice.php +++ b/htdocs/webservices/server_productorservice.php @@ -903,7 +903,7 @@ function deleteProductOrService($authentication,$listofidstring) //$objectresp = array('result'=>array('result_code' => $errorcode, 'result_label' => $errorlabel), 'listofid'=>$listofiddeleted); $objectresp = array('result'=>array('result_code' => $errorcode, 'result_label' => $errorlabel), 'nbdeleted'=>0); } - else if (count($listofiddeleted) == 0) + elseif (count($listofiddeleted) == 0) { //$objectresp=array('result'=>array('result_code'=>'NOT_FOUND', 'result_label'=>'No product or service with id '.join(',',$listofid).' found'), 'listofid'=>$listofiddeleted); $objectresp=array('result'=>array('result_code'=>'NOT_FOUND', 'result_label'=>'No product or service with id '.join(',',$listofid).' found'), 'nbdeleted'=>0); diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 1433ae5324c..db253adafbf 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -677,7 +677,7 @@ if ($action == 'addcontainer') $error++; $action='createcontainer'; } - else if (! preg_match('/^[a-z0-9\-\_]+$/i', $objectpage->pageurl)) + elseif (! preg_match('/^[a-z0-9\-\_]+$/i', $objectpage->pageurl)) { $langs->load("errors"); setEventMessages($langs->transnoentities("ErrorFieldCanNotContainSpecialCharacters", $langs->transnoentities('WEBSITE_PAGENAME')), null, 'errors'); diff --git a/scripts/user/sync_groups_ldap2dolibarr.php b/scripts/user/sync_groups_ldap2dolibarr.php index 4063d2f9321..d63f80f459e 100755 --- a/scripts/user/sync_groups_ldap2dolibarr.php +++ b/scripts/user/sync_groups_ldap2dolibarr.php @@ -197,7 +197,7 @@ if ($result >= 0) if($conf->global->LDAP_KEY_USERS == $conf->global->LDAP_FIELD_SID) { $fuser->fetch('','',$userKey[0]); // Chargement du user concerné par le SID - } else if($conf->global->LDAP_KEY_USERS == $conf->global->LDAP_FIELD_LOGIN) { + } elseif($conf->global->LDAP_KEY_USERS == $conf->global->LDAP_FIELD_LOGIN) { $fuser->fetch('',$userKey[0]); // Chargement du user concerné par le login } diff --git a/scripts/user/sync_users_ldap2dolibarr.php b/scripts/user/sync_users_ldap2dolibarr.php index 320a1f495ad..6da28bc58f8 100755 --- a/scripts/user/sync_users_ldap2dolibarr.php +++ b/scripts/user/sync_users_ldap2dolibarr.php @@ -195,7 +195,7 @@ if ($result >= 0) if($conf->global->LDAP_KEY_USERS == $conf->global->LDAP_FIELD_SID) { $fuser->fetch('','',$ldapuser[$conf->global->LDAP_KEY_USERS]); // Chargement du user concerné par le SID - } else if($conf->global->LDAP_KEY_USERS == $conf->global->LDAP_FIELD_LOGIN) { + } elseif($conf->global->LDAP_KEY_USERS == $conf->global->LDAP_FIELD_LOGIN) { $fuser->fetch('',$ldapuser[$conf->global->LDAP_KEY_USERS]); // Chargement du user concerné par le login } From a6c40dc867562a7bc988ba27eae3d4ed36dd105d Mon Sep 17 00:00:00 2001 From: Philippe GRAND <philippe.grand@atoo-net.com> Date: Sun, 27 Jan 2019 11:37:57 +0100 Subject: [PATCH 030/130] fix translations --- .../expensereport/modules_expensereport.php | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/htdocs/core/modules/expensereport/modules_expensereport.php b/htdocs/core/modules/expensereport/modules_expensereport.php index 9ff7f671f9f..89df5dc4855 100644 --- a/htdocs/core/modules/expensereport/modules_expensereport.php +++ b/htdocs/core/modules/expensereport/modules_expensereport.php @@ -31,7 +31,7 @@ abstract class ModeleExpenseReport extends CommonDocGenerator // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps /** - * Return list of active generation modules + * Return list of active models generation * * @param DoliDB $db Database handler * @param integer $maxfilenamelength Max length of value to show @@ -43,12 +43,12 @@ abstract class ModeleExpenseReport extends CommonDocGenerator global $conf; $type='expensereport'; - $liste=array(); + $list=array(); include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; - $liste=getListOfModels($db,$type,$maxfilenamelength); + $list=getListOfModels($db,$type,$maxfilenamelength); - return $liste; + return $list; } } @@ -57,10 +57,10 @@ abstract class ModeleExpenseReport extends CommonDocGenerator * expensereport_pdf_create * * @param DoliDB $db Database handler - * @param ExpenseReport $object Object order + * @param ExpenseReport $object Object ExpenseReport * @param string $message Message - * @param string $modele Force le modele a utiliser ('' to not force) - * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param string $modele Force the model to use ('' to not force) + * @param Translate $outputlangs lang object to use for translation * @param int $hidedetails Hide details of lines * @param int $hidedesc Hide description * @param int $hideref Hide ref @@ -85,9 +85,9 @@ abstract class ModeleNumRefExpenseReport public $error=''; /** - * Return if a module can be used or not + * Return if a model can be used or not * - * @return boolean true if module can be used + * @return boolean true if model can be used */ function isEnabled() { @@ -95,9 +95,9 @@ abstract class ModeleNumRefExpenseReport } /** - * Renvoie la description par defaut du modele de numerotation + * Returns the default description of the numbering model * - * @return string Texte descripif + * @return string Descriptive text */ function info() { @@ -107,7 +107,7 @@ abstract class ModeleNumRefExpenseReport } /** - * Renvoie un exemple de numerotation + * Returns an example of numbering * * @return string Example */ @@ -119,9 +119,9 @@ abstract class ModeleNumRefExpenseReport } /** - * Test si les numeros deja en vigueur dans la base ne provoquent pas de conflits qui empecheraient cette numerotation de fonctionner. + * Test whether the numbers already in force in the base do not cause conflicts that would prevent this numbering from working. * - * @return boolean false si conflit, true si ok + * @return boolean false if conflict, true if ok */ function canBeActivated() { @@ -129,10 +129,10 @@ abstract class ModeleNumRefExpenseReport } /** - * Renvoie prochaine valeur attribuee + * Returns next assigned value * * @param Object $object Object we need next value for - * @return string Valeur + * @return string Value */ function getNextValue($object) { @@ -141,9 +141,9 @@ abstract class ModeleNumRefExpenseReport } /** - * Renvoie version du module numerotation + * Returns the version of the numbering module * - * @return string Valeur + * @return string Value */ function getVersion() { From 95bbb46fdf761cce71ea09d5b7cc3cfab6f771d7 Mon Sep 17 00:00:00 2001 From: Philippe GRAND <philippe.grand@atoo-net.com> Date: Sun, 27 Jan 2019 12:20:24 +0100 Subject: [PATCH 031/130] fix translations --- .../expensereport/mod_expensereport_jade.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/core/modules/expensereport/mod_expensereport_jade.php b/htdocs/core/modules/expensereport/mod_expensereport_jade.php index 385a7558c4c..4690b64e0b5 100644 --- a/htdocs/core/modules/expensereport/mod_expensereport_jade.php +++ b/htdocs/core/modules/expensereport/mod_expensereport_jade.php @@ -19,12 +19,12 @@ /** * \file htdocs/core/modules/expensereport/mod_expensereport_jade.php * \ingroup expensereport - * \brief File of class to manage customer order numbering rules Jade + * \brief File of class to manage expensereport numbering rules Jade */ require_once DOL_DOCUMENT_ROOT .'/core/modules/expensereport/modules_expensereport.php'; /** - * Class to manage customer order numbering rules Jade + * Class to manage expensereport numbering rules Jade */ class mod_expensereport_jade extends ModeleNumRefExpenseReport { @@ -55,7 +55,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport /** - * Return description of numbering module + * Return description of numbering model * * @return string Text with description */ @@ -67,7 +67,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport /** - * Renvoi un exemple de numerotation + * Returns an example of numbering * * @return string Example */ @@ -78,8 +78,8 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport /** - * Test si les numeros deje en vigueur dans la base ne provoquent pas de - * de conflits qui empechera cette numerotation de fonctionner. + * Test whether the numbers already in force in the base do not cause conflicts + * that would prevent this numbering from working. * * @return boolean false si conflit, true si ok */ @@ -174,7 +174,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport return $newref; } - // D'abord on recupere la valeur max + // First we get the max value $posindice=8; $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; $sql.= " FROM ".MAIN_DB_PREFIX."expensereport"; From 88da5f25d845e02f97c7dde2ebde806f02a06bd3 Mon Sep 17 00:00:00 2001 From: tarrsalah <tarrsalah@gmail.com> Date: Sun, 27 Jan 2019 13:18:50 +0100 Subject: [PATCH 032/130] FIX css in the case of not showing topmenu images. --- htdocs/theme/eldy/style.css.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index ea24aaf20b0..819014e3adb 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -1542,7 +1542,7 @@ div#tmenu_tooltip { <?php } ?> } -div.tmenusep { +div.topmenuimage { <?php if ($disableimages) { ?> display: none; <?php } ?> From 94d3f038eb6dbe5794d56a904cf85c8794f6ee79 Mon Sep 17 00:00:00 2001 From: Xebax <xebax@wanadoo.fr> Date: Sun, 27 Jan 2019 13:20:33 +0100 Subject: [PATCH 033/130] FIX 'statut' is ignored when updating a user with the REST API. --- htdocs/user/class/api_users.class.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/htdocs/user/class/api_users.class.php b/htdocs/user/class/api_users.class.php index c30cacd72c0..6c5a15cc3cc 100644 --- a/htdocs/user/class/api_users.class.php +++ b/htdocs/user/class/api_users.class.php @@ -212,11 +212,22 @@ class Users extends DolibarrApi foreach ($request_data as $field => $value) { - if ($field == 'id') continue; - $this->useraccount->$field = $value; + if ($field == 'id') continue; + // The status must be updated using setstatus() because it + // is not handled by the update() method. + if ($field == 'statut') { + $result = $this->useraccount->setstatus($value); + if ($result < 0) { + throw new RestException(500, 'Error when updating status of user: '.$this->useraccount->error); + } + } else { + $this->useraccount->$field = $value; + } } - if ($this->useraccount->update(DolibarrApiAccess::$user) > 0) + // If there is no error, update() returns the number of affected + // rows so if the update is a no op, the return value is zezo. + if ($this->useraccount->update(DolibarrApiAccess::$user) >= 0) { return $this->get($id); } From 0aa98297f516f2c5d90a5e8439f92679589de4b0 Mon Sep 17 00:00:00 2001 From: Xebax <xebax@wanadoo.fr> Date: Sun, 27 Jan 2019 13:52:08 +0100 Subject: [PATCH 034/130] NEW Get the list of groups of a user with the REST API. --- htdocs/user/class/api_users.class.php | 38 ++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/htdocs/user/class/api_users.class.php b/htdocs/user/class/api_users.class.php index 3b7d7ee5b00..3dff0d02f15 100644 --- a/htdocs/user/class/api_users.class.php +++ b/htdocs/user/class/api_users.class.php @@ -17,7 +17,8 @@ use Luracast\Restler\RestException; -//require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; +require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php'; /** * API class for users @@ -231,6 +232,41 @@ class Users extends DolibarrApi } } + + /** + * List the groups of a user + * + * @param int $id Id of user + * @return array Array of group objects + * + * @throws RestException + * + * @url GET {id}/groups + */ + function getGroups($id) + { + $obj_ret = array(); + + if (! DolibarrApiAccess::$user->rights->user->user->lire) { + throw new RestException(401); + } + + $user = new User($this->db); + $result = $user->fetch($id); + if( ! $result ) { + throw new RestException(404, 'user not found'); + } + + $usergroup = new UserGroup($this->db); + $groups = $usergroup->listGroupsForUser($id, false); + $obj_ret = array(); + foreach ($groups as $group) { + $obj_ret[] = $this->_cleanObjectDatas($group); + } + return $obj_ret; + } + + /** * Add a user into a group * From 496fa9b0fb018ce1a894183f7c8da3dce1254f92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= <frederic.france@free.fr> Date: Sun, 27 Jan 2019 14:10:35 +0100 Subject: [PATCH 035/130] PSR2.Files.EndFileNewline.TooMany --- dev/initdata/generate-order.php | 1 - dev/initdata/generate-product.php | 2 -- dev/initdata/generate-thirdparty.php | 2 -- dev/initdata/purge-data.php | 1 - dev/setup/codesniffer/ruleset.xml | 9 +++++---- dev/translation/sanity_check_en_langfiles.php | 1 - htdocs/accountancy/admin/accountmodel.php | 1 - htdocs/accountancy/admin/categories_list.php | 1 - htdocs/accountancy/class/lettering.class.php | 1 - htdocs/admin/dict.php | 1 - htdocs/admin/ldap_contacts.php | 1 - htdocs/admin/livraison.php | 1 - htdocs/admin/mails_templates.php | 1 - htdocs/admin/supplier_proposal.php | 1 - htdocs/admin/tools/export.php | 1 - htdocs/admin/tools/export_files.php | 1 - htdocs/admin/website.php | 1 - htdocs/admin/website_options.php | 1 - htdocs/api/admin/explorer.php | 1 - htdocs/blockedlog/ajax/authority.php | 2 -- htdocs/bookmarks/bookmarks.lib.php | 1 - htdocs/bookmarks/list.php | 2 -- htdocs/cashdesk/class/Auth.class.php | 1 - htdocs/cashdesk/deconnexion.php | 1 - htdocs/cashdesk/facturation_verif.php | 1 - htdocs/cashdesk/include/environnement.php | 1 - htdocs/cashdesk/index_verif.php | 1 - htdocs/cashdesk/validation.php | 1 - htdocs/cashdesk/validation_ok.php | 1 - htdocs/cashdesk/validation_ticket.php | 1 - htdocs/commande/class/commandestats.class.php | 1 - htdocs/commande/customer.php | 1 - .../compta/deplacement/class/deplacementstats.class.php | 1 - htdocs/compta/facture/class/facturestats.class.php | 1 - htdocs/compta/prelevement/stats.php | 1 - htdocs/compta/salaries/class/salariesstats.class.php | 1 - htdocs/core/actions_builddoc.inc.php | 1 - htdocs/core/actions_changeselectedfields.inc.php | 2 -- htdocs/core/actions_dellink.inc.php | 1 - htdocs/core/actions_extrafields.inc.php | 1 - htdocs/core/actions_lineupdown.inc.php | 1 - htdocs/core/actions_massactions.inc.php | 3 --- htdocs/core/actions_setmoduleoptions.inc.php | 1 - htdocs/core/ajax/ajaxdirtree.php | 1 - htdocs/core/ajax/bankconciliate.php | 1 - htdocs/core/ajax/box.php | 1 - htdocs/core/ajax/check_notifications.php | 1 - htdocs/core/ajax/constantonoff.php | 1 - htdocs/core/ajax/contacts.php | 1 - htdocs/core/ajax/extraparams.php | 1 - htdocs/core/ajax/fileupload.php | 1 - htdocs/core/ajax/getaccountcurrency.php | 1 - htdocs/core/ajax/loadinplace.php | 1 - htdocs/core/ajax/price.php | 1 - htdocs/core/ajax/row.php | 1 - htdocs/core/ajax/saveinplace.php | 1 - htdocs/core/ajax/security.php | 1 - htdocs/core/ajax/selectsearchbox.php | 1 - htdocs/core/ajax/vatrates.php | 1 - htdocs/core/ajax/ziptown.php | 1 - htdocs/core/antispamimage.php | 1 - htdocs/core/boxes/box_actions.php | 1 - htdocs/core/boxes/box_bookmarks.php | 1 - htdocs/core/boxes/box_clients.php | 1 - htdocs/core/boxes/box_commandes.php | 1 - htdocs/core/boxes/box_comptes.php | 1 - htdocs/core/boxes/box_contacts.php | 1 - htdocs/core/boxes/box_contracts.php | 1 - htdocs/core/boxes/box_external_rss.php | 1 - htdocs/core/boxes/box_factures_fourn.php | 1 - htdocs/core/boxes/box_factures_fourn_imp.php | 1 - htdocs/core/boxes/box_ficheinter.php | 1 - htdocs/core/boxes/box_fournisseurs.php | 1 - htdocs/core/boxes/box_goodcustomers.php | 1 - htdocs/core/boxes/box_graph_invoices_permonth.php | 1 - .../core/boxes/box_graph_invoices_supplier_permonth.php | 1 - htdocs/core/boxes/box_graph_orders_permonth.php | 1 - htdocs/core/boxes/box_graph_orders_supplier_permonth.php | 1 - htdocs/core/boxes/box_graph_product_distribution.php | 1 - htdocs/core/boxes/box_graph_propales_permonth.php | 1 - htdocs/core/boxes/box_members.php | 1 - htdocs/core/boxes/box_produits.php | 1 - htdocs/core/boxes/box_produits_alerte_stock.php | 1 - htdocs/core/boxes/box_project.php | 1 - htdocs/core/boxes/box_propales.php | 1 - htdocs/core/boxes/box_prospect.php | 1 - htdocs/core/boxes/box_services_contracts.php | 1 - htdocs/core/boxes/box_services_expired.php | 1 - htdocs/core/boxes/box_supplier_orders.php | 1 - htdocs/core/boxes/modules_boxes.php | 2 -- htdocs/core/class/commonorder.class.php | 1 - htdocs/core/class/conf.class.php | 1 - htdocs/core/class/html.formbank.class.php | 1 - htdocs/core/class/html.formmargin.class.php | 1 - htdocs/core/class/html.formorder.class.php | 1 - htdocs/core/class/infobox.class.php | 1 - htdocs/core/class/stats.class.php | 1 - htdocs/core/db/DoliDB.class.php | 1 - htdocs/core/filemanagerdol/connectors/php/config.php | 1 - htdocs/core/filemanagerdol/connectors/php/upload.php | 2 -- htdocs/core/filemanagerdol/connectors/php/util.php | 1 - htdocs/core/lib/accounting.lib.php | 1 - htdocs/core/lib/agenda.lib.php | 1 - htdocs/core/lib/barcode.lib.php | 1 - htdocs/core/lib/categories.lib.php | 2 -- htdocs/core/lib/company.lib.php | 3 --- htdocs/core/lib/contact.lib.php | 1 - htdocs/core/lib/contract.lib.php | 1 - htdocs/core/lib/cron.lib.php | 2 -- htdocs/core/lib/doc.lib.php | 1 - htdocs/core/lib/doleditor.lib.php | 1 - htdocs/core/lib/ecm.lib.php | 1 - htdocs/core/lib/emailing.lib.php | 1 - htdocs/core/lib/expedition.lib.php | 2 -- htdocs/core/lib/files.lib.php | 1 - htdocs/core/lib/format_cards.lib.php | 1 - htdocs/core/lib/fourn.lib.php | 2 -- htdocs/core/lib/geturl.lib.php | 1 - htdocs/core/lib/hrm.lib.php | 1 - htdocs/core/lib/import.lib.php | 1 - htdocs/core/lib/invoice2.lib.php | 1 - htdocs/core/lib/ldap.lib.php | 1 - htdocs/core/lib/mailmanspip.lib.php | 1 - htdocs/core/lib/memory.lib.php | 1 - htdocs/core/lib/order.lib.php | 2 -- htdocs/core/lib/parsemd.lib.php | 1 - htdocs/core/lib/prelevement.lib.php | 1 - htdocs/core/lib/price.lib.php | 1 - htdocs/core/lib/propal.lib.php | 2 -- htdocs/core/lib/receiptprinter.lib.php | 2 -- htdocs/core/lib/reception.lib.php | 2 -- htdocs/core/lib/report.lib.php | 1 - htdocs/core/lib/sendings.lib.php | 1 - htdocs/core/lib/stock.lib.php | 1 - htdocs/core/lib/supplier_proposal.lib.php | 2 -- htdocs/core/lib/tax.lib.php | 1 - htdocs/core/lib/treeview.lib.php | 1 - htdocs/core/lib/ws.lib.php | 1 - htdocs/core/login/functions_ldap.php | 1 - htdocs/core/menus/standard/auguria_menu.php | 1 - htdocs/core/menus/standard/eldy_menu.php | 1 - htdocs/core/menus/standard/empty.php | 1 - htdocs/core/modules/barcode/modules_barcode.class.php | 1 - htdocs/core/modules/contract/mod_contract_olive.php | 1 - .../modules/expensereport/mod_expensereport_sand.php | 1 - htdocs/core/modules/facture/mod_facture_mars.php | 1 - htdocs/core/modules/facture/mod_facture_terre.php | 1 - htdocs/core/modules/fichinter/mod_arctic.php | 1 - htdocs/core/modules/modApi.class.php | 1 - htdocs/core/modules/modECM.class.php | 1 - htdocs/core/modules/modExternalSite.class.php | 1 - htdocs/core/modules/modFTP.class.php | 1 - htdocs/core/modules/modGravatar.class.php | 1 - htdocs/core/modules/modHoliday.class.php | 1 - htdocs/core/modules/modMargin.class.php | 1 - htdocs/core/modules/modMultiCurrency.class.php | 1 - htdocs/core/modules/modOpenSurvey.class.php | 1 - htdocs/core/modules/modPaybox.class.php | 1 - htdocs/core/modules/modPaypal.class.php | 1 - htdocs/core/modules/modProductBatch.class.php | 1 - htdocs/core/modules/modStripe.class.php | 1 - htdocs/core/modules/oauth/github_oauthcallback.php | 1 - htdocs/core/modules/oauth/google_oauthcallback.php | 1 - htdocs/core/modules/oauth/stripetest_oauthcallback.php | 1 - htdocs/core/modules/product/mod_codeproduct_leopard.php | 1 - .../security/generate/modGeneratePassNone.class.php | 1 - .../security/generate/modGeneratePassStandard.class.php | 1 - .../modules/security/generate/modules_genpassword.php | 1 - htdocs/core/modules/societe/mod_codeclient_leopard.php | 1 - .../supplier_invoice/mod_facture_fournisseur_cactus.php | 1 - .../supplier_invoice/mod_facture_fournisseur_tulip.php | 1 - htdocs/core/search.php | 1 - htdocs/core/tpl/card_presend.tpl.php | 1 - htdocs/core/tpl/object_discounts.tpl.php | 1 - htdocs/core/tpl/onlinepaymentlinks.tpl.php | 2 -- htdocs/dav/dav.lib.php | 1 - htdocs/ecm/ajax/ecmdatabase.php | 1 - htdocs/ecm/class/htmlecm.form.class.php | 1 - .../emailcollector/class/emailcollectorfilter.class.php | 1 - htdocs/expedition/class/expeditionstats.class.php | 1 - htdocs/expensereport/class/expensereportstats.class.php | 1 - htdocs/fichinter/class/fichinterstats.class.php | 1 - htdocs/filefunc.inc.php | 1 - htdocs/fourn/ajax/getSupplierPrices.php | 1 - htdocs/holiday/common.inc.php | 1 - htdocs/install/index.php | 1 - htdocs/install/lib/repair.lib.php | 1 - htdocs/install/phpinfo.php | 1 - htdocs/install/step5.php | 1 - htdocs/install/upgrade2.php | 1 - htdocs/loan/note.php | 1 - htdocs/margin/index.php | 1 - htdocs/master.inc.php | 1 - htdocs/modulebuilder/template/admin/setup.php | 1 - htdocs/paybox/lib/paybox.lib.php | 1 - htdocs/paypal/lib/paypal.lib.php | 1 - htdocs/paypal/lib/paypalfunctions.lib.php | 1 - htdocs/product/admin/product.php | 1 - htdocs/product/ajax/products.php | 1 - htdocs/product/index.php | 1 - htdocs/product/note.php | 1 - htdocs/product/stock/lib/replenishment.lib.php | 1 - htdocs/projet/ajax/projects.php | 1 - htdocs/public/agenda/index.php | 1 - htdocs/public/demo/index.php | 1 - htdocs/public/donations/index.php | 1 - htdocs/public/index.php | 1 - htdocs/public/members/index.php | 1 - htdocs/public/members/public_card.php | 1 - htdocs/public/notice.php | 1 - htdocs/public/paybox/index.php | 1 - htdocs/public/payment/index.php | 1 - htdocs/public/paypal/index.php | 1 - htdocs/public/stripe/index.php | 1 - htdocs/public/theme/common/index.php | 1 - htdocs/public/theme/index.php | 1 - htdocs/reception/class/receptionstats.class.php | 1 - htdocs/societe/ajax/company.php | 1 - htdocs/societe/ajaxcountries.php | 1 - htdocs/societe/class/companybankaccount.class.php | 1 - htdocs/societe/note.php | 1 - htdocs/societe/tpl/linesalesrepresentative.tpl.php | 1 - htdocs/stripe/lib/stripe.lib.php | 1 - htdocs/support/inc.php | 1 - htdocs/theme/eldy/graph-color.php | 1 - htdocs/theme/md/graph-color.php | 1 - htdocs/variants/ajax/orderAttribute.php | 1 - htdocs/webservices/index.php | 1 - scripts/contracts/email_expire_services_to_customers.php | 1 - .../email_expire_services_to_representatives.php | 1 - scripts/invoices/email_unpaid_invoices_to_customers.php | 1 - .../email_unpaid_invoices_to_representatives.php | 1 - scripts/members/sync_members_ldap2dolibarr.php | 1 - scripts/members/sync_members_types_ldap2dolibarr.php | 1 - scripts/modulebuilder/initmodule.php | 1 - scripts/user/sync_groups_ldap2dolibarr.php | 1 - scripts/user/sync_users_ldap2dolibarr.php | 1 - 237 files changed, 5 insertions(+), 261 deletions(-) diff --git a/dev/initdata/generate-order.php b/dev/initdata/generate-order.php index 5e53fa752a2..e0adb2a256e 100755 --- a/dev/initdata/generate-order.php +++ b/dev/initdata/generate-order.php @@ -220,4 +220,3 @@ for ($s = 0 ; $s < GEN_NUMBER_COMMANDE ; $s++) dol_print_error($db,$object->error); } } - diff --git a/dev/initdata/generate-product.php b/dev/initdata/generate-product.php index 393d5c5ce3d..f1b6c25e92a 100755 --- a/dev/initdata/generate-product.php +++ b/dev/initdata/generate-product.php @@ -96,5 +96,3 @@ for ($s = 0 ; $s < GEN_NUMBER_PRODUIT ; $s++) if ($ret < 0) print "Error $ret - ".$produit->error."\n"; else print " OK with ref ".$produit->ref."\n"; } - - diff --git a/dev/initdata/generate-thirdparty.php b/dev/initdata/generate-thirdparty.php index 7f2c3e2055d..3744abeae7c 100755 --- a/dev/initdata/generate-thirdparty.php +++ b/dev/initdata/generate-thirdparty.php @@ -127,5 +127,3 @@ for ($s = 0 ; $s < GEN_NUMBER_SOCIETE ; $s++) print "Error: ".$soc->error."\n"; } } - - diff --git a/dev/initdata/purge-data.php b/dev/initdata/purge-data.php index 2bdf200225b..63a10d84bc5 100755 --- a/dev/initdata/purge-data.php +++ b/dev/initdata/purge-data.php @@ -275,4 +275,3 @@ else } $db->close(); - diff --git a/dev/setup/codesniffer/ruleset.xml b/dev/setup/codesniffer/ruleset.xml index 879d791b8e9..15c5c1def7d 100644 --- a/dev/setup/codesniffer/ruleset.xml +++ b/dev/setup/codesniffer/ruleset.xml @@ -65,7 +65,7 @@ <rule ref="Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed"> <severity>0</severity> </rule> - + <rule ref="Generic.CodeAnalysis.UselessOverridingMethod" /> <!-- @@ -390,9 +390,6 @@ </rule> <rule ref="PEAR.NamingConventions.ValidVariableName" /> - <rule ref="PSR2.Classes.ClassDeclaration" /> - <rule ref="PSR2.Methods.FunctionClosingBrace" /> - <!-- This is not in PSR2 --> <rule ref="PEAR.NamingConventions.ValidVariableName.PrivateNoUnderscore"> <severity>0</severity> @@ -419,4 +416,8 @@ <!-- The closing ?> tag MUST be omitted from files containing only PHP. --> <rule ref="Zend.Files.ClosingTag"/> + <rule ref="PSR2.Classes.ClassDeclaration" /> + <rule ref="PSR2.Methods.FunctionClosingBrace" /> + <rule ref="PSR2.Files.EndFileNewline.TooMany" /> + </ruleset> diff --git a/dev/translation/sanity_check_en_langfiles.php b/dev/translation/sanity_check_en_langfiles.php index 0e3b2c7513f..d053aa13bce 100755 --- a/dev/translation/sanity_check_en_langfiles.php +++ b/dev/translation/sanity_check_en_langfiles.php @@ -388,4 +388,3 @@ if ($web) } exit; - diff --git a/htdocs/accountancy/admin/accountmodel.php b/htdocs/accountancy/admin/accountmodel.php index e5f1d211f3b..0e59b0ab902 100644 --- a/htdocs/accountancy/admin/accountmodel.php +++ b/htdocs/accountancy/admin/accountmodel.php @@ -874,4 +874,3 @@ function fieldListAccountModel($fieldlist, $obj='', $tabname='', $context='') } } } - diff --git a/htdocs/accountancy/admin/categories_list.php b/htdocs/accountancy/admin/categories_list.php index 1f10403f798..fad0cee65cd 100644 --- a/htdocs/accountancy/admin/categories_list.php +++ b/htdocs/accountancy/admin/categories_list.php @@ -873,4 +873,3 @@ function fieldListAccountingCategories($fieldlist, $obj='', $tabname='', $contex } } } - diff --git a/htdocs/accountancy/class/lettering.class.php b/htdocs/accountancy/class/lettering.class.php index 1130020b01d..2ba8b697bc9 100644 --- a/htdocs/accountancy/class/lettering.class.php +++ b/htdocs/accountancy/class/lettering.class.php @@ -314,4 +314,3 @@ class Lettering extends BookKeeping } } } - diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index fc3b8f15f39..8e67983b55a 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -1990,4 +1990,3 @@ function fieldList($fieldlist, $obj='', $tabname='', $context='') return $withentity; } - diff --git a/htdocs/admin/ldap_contacts.php b/htdocs/admin/ldap_contacts.php index cb4972e84b3..56866fdaea7 100644 --- a/htdocs/admin/ldap_contacts.php +++ b/htdocs/admin/ldap_contacts.php @@ -321,4 +321,3 @@ if (function_exists("ldap_connect")) // End of page llxFooter(); $db->close(); - diff --git a/htdocs/admin/livraison.php b/htdocs/admin/livraison.php index a7c38a95e1f..e49ef792700 100644 --- a/htdocs/admin/livraison.php +++ b/htdocs/admin/livraison.php @@ -481,4 +481,3 @@ print '</table>'; // End of page llxFooter(); $db->close(); - diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index da31a794374..f82ffc6f3ee 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -1065,4 +1065,3 @@ function fieldList($fieldlist, $obj='', $tabname='', $context='') } } } - diff --git a/htdocs/admin/supplier_proposal.php b/htdocs/admin/supplier_proposal.php index 1756974379c..71ea0a6914b 100644 --- a/htdocs/admin/supplier_proposal.php +++ b/htdocs/admin/supplier_proposal.php @@ -585,4 +585,3 @@ print "</table>\n<br>"; // End of page llxFooter(); $db->close(); - diff --git a/htdocs/admin/tools/export.php b/htdocs/admin/tools/export.php index 6b0ea790ab2..9f3caf91881 100644 --- a/htdocs/admin/tools/export.php +++ b/htdocs/admin/tools/export.php @@ -234,4 +234,3 @@ header("Location: dolibarr_export.php"); $time_end = time(); $db->close(); - diff --git a/htdocs/admin/tools/export_files.php b/htdocs/admin/tools/export_files.php index 809cea3b271..0aae9083565 100644 --- a/htdocs/admin/tools/export_files.php +++ b/htdocs/admin/tools/export_files.php @@ -163,4 +163,3 @@ header("Location: dolibarr_export.php"); $time_end = time(); $db->close(); - diff --git a/htdocs/admin/website.php b/htdocs/admin/website.php index e36b8d59df3..7f7569caf17 100644 --- a/htdocs/admin/website.php +++ b/htdocs/admin/website.php @@ -695,4 +695,3 @@ function fieldListWebsites($fieldlist, $obj='', $tabname='', $context='') } } } - diff --git a/htdocs/admin/website_options.php b/htdocs/admin/website_options.php index 9d724b86390..48c2bdcdd08 100644 --- a/htdocs/admin/website_options.php +++ b/htdocs/admin/website_options.php @@ -147,4 +147,3 @@ dol_fiche_end(); // End of page llxFooter(); $db->close(); - diff --git a/htdocs/api/admin/explorer.php b/htdocs/api/admin/explorer.php index c3b54e36b6c..951e88f63fc 100644 --- a/htdocs/api/admin/explorer.php +++ b/htdocs/api/admin/explorer.php @@ -221,4 +221,3 @@ print $langs->trans("OnlyActiveElementsAreExposed", DOL_URL_ROOT.'/admin/modules llxFooter(); $db->close(); - diff --git a/htdocs/blockedlog/ajax/authority.php b/htdocs/blockedlog/ajax/authority.php index 1104eeb3c02..1b002dda574 100644 --- a/htdocs/blockedlog/ajax/authority.php +++ b/htdocs/blockedlog/ajax/authority.php @@ -69,5 +69,3 @@ elseif(!empty($newblock)){ else{ echo 'idontunderstandwhatihavetodo'; } - - diff --git a/htdocs/bookmarks/bookmarks.lib.php b/htdocs/bookmarks/bookmarks.lib.php index abe562c5ad9..5dd55a95873 100644 --- a/htdocs/bookmarks/bookmarks.lib.php +++ b/htdocs/bookmarks/bookmarks.lib.php @@ -150,4 +150,3 @@ function printBookmarksList($aDb, $aLangs) return $ret; } - diff --git a/htdocs/bookmarks/list.php b/htdocs/bookmarks/list.php index e26b38c2513..5cbd07393e3 100644 --- a/htdocs/bookmarks/list.php +++ b/htdocs/bookmarks/list.php @@ -212,5 +212,3 @@ else // End of page llxFooter(); $db->close(); - - diff --git a/htdocs/cashdesk/class/Auth.class.php b/htdocs/cashdesk/class/Auth.class.php index 78b76e20d11..343204e7870 100644 --- a/htdocs/cashdesk/class/Auth.class.php +++ b/htdocs/cashdesk/class/Auth.class.php @@ -139,4 +139,3 @@ class Auth return $ret; } } - diff --git a/htdocs/cashdesk/deconnexion.php b/htdocs/cashdesk/deconnexion.php index 0602b577378..67fc4e9cbb6 100644 --- a/htdocs/cashdesk/deconnexion.php +++ b/htdocs/cashdesk/deconnexion.php @@ -34,4 +34,3 @@ unset($_SESSION['uid']); header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php'); exit; - diff --git a/htdocs/cashdesk/facturation_verif.php b/htdocs/cashdesk/facturation_verif.php index 6aa81d991df..160f0876ef5 100644 --- a/htdocs/cashdesk/facturation_verif.php +++ b/htdocs/cashdesk/facturation_verif.php @@ -233,4 +233,3 @@ $_SESSION['serObjFacturation'] = serialize($obj_facturation); //var_dump($_SESSION['serObjFacturation']); header('Location: '.$redirection); exit; - diff --git a/htdocs/cashdesk/include/environnement.php b/htdocs/cashdesk/include/environnement.php index 4490d4cf405..6442d1776e3 100644 --- a/htdocs/cashdesk/include/environnement.php +++ b/htdocs/cashdesk/include/environnement.php @@ -49,4 +49,3 @@ $conf_nbr_car_listes = 60; // Nombre max de caracteres par ligne dans les listes // Add hidden option to force decrease of stock whatever is user setup if (! empty($conf->global->CASHDESK_FORCE_STOCK_ON_BILL)) $conf->global->STOCK_CALCULATE_ON_BILL=1; - diff --git a/htdocs/cashdesk/index_verif.php b/htdocs/cashdesk/index_verif.php index cd354293022..8976434b559 100644 --- a/htdocs/cashdesk/index_verif.php +++ b/htdocs/cashdesk/index_verif.php @@ -140,4 +140,3 @@ else header('Location: '.DOL_URL_ROOT.'/cashdesk/index.php?err='.urlencode($retour).'&user='.$username.'&socid='.$thirdpartyid.'&warehouseid='.$warehouseid); exit; } - diff --git a/htdocs/cashdesk/validation.php b/htdocs/cashdesk/validation.php index ff1219861e2..f52802f1f5d 100644 --- a/htdocs/cashdesk/validation.php +++ b/htdocs/cashdesk/validation.php @@ -25,4 +25,3 @@ $form=new Form($db); // Affichage des templates require 'tpl/validation1.tpl.php'; - diff --git a/htdocs/cashdesk/validation_ok.php b/htdocs/cashdesk/validation_ok.php index c8c83a91f18..78b66a3e502 100644 --- a/htdocs/cashdesk/validation_ok.php +++ b/htdocs/cashdesk/validation_ok.php @@ -23,4 +23,3 @@ // Affichage des templates require 'tpl/validation2.tpl.php'; - diff --git a/htdocs/cashdesk/validation_ticket.php b/htdocs/cashdesk/validation_ticket.php index a98b50b0bc9..9efad161821 100644 --- a/htdocs/cashdesk/validation_ticket.php +++ b/htdocs/cashdesk/validation_ticket.php @@ -40,4 +40,3 @@ if (empty($reshook)) $_SESSION['serObjFacturation'] = serialize($obj_facturation); - diff --git a/htdocs/commande/class/commandestats.class.php b/htdocs/commande/class/commandestats.class.php index 3c6ec07c6cb..f931688c154 100644 --- a/htdocs/commande/class/commandestats.class.php +++ b/htdocs/commande/class/commandestats.class.php @@ -223,4 +223,3 @@ class CommandeStats extends Stats return $this->_getAllByProduct($sql); } } - diff --git a/htdocs/commande/customer.php b/htdocs/commande/customer.php index 575c7985e3a..0b420eabac6 100644 --- a/htdocs/commande/customer.php +++ b/htdocs/commande/customer.php @@ -193,4 +193,3 @@ else // End of page llxFooter(); $db->close(); - diff --git a/htdocs/compta/deplacement/class/deplacementstats.class.php b/htdocs/compta/deplacement/class/deplacementstats.class.php index ae93eb094d9..ac7e9bc9dc7 100644 --- a/htdocs/compta/deplacement/class/deplacementstats.class.php +++ b/htdocs/compta/deplacement/class/deplacementstats.class.php @@ -166,4 +166,3 @@ class DeplacementStats extends Stats return $this->_getAllByYear($sql); } } - diff --git a/htdocs/compta/facture/class/facturestats.class.php b/htdocs/compta/facture/class/facturestats.class.php index 4cf9477613e..459b13081b4 100644 --- a/htdocs/compta/facture/class/facturestats.class.php +++ b/htdocs/compta/facture/class/facturestats.class.php @@ -225,4 +225,3 @@ class FactureStats extends Stats return $this->_getAllByProduct($sql); } } - diff --git a/htdocs/compta/prelevement/stats.php b/htdocs/compta/prelevement/stats.php index e7bd8622fa2..ea4d91d6022 100644 --- a/htdocs/compta/prelevement/stats.php +++ b/htdocs/compta/prelevement/stats.php @@ -228,4 +228,3 @@ else // End of page llxFooter(); $db->close(); - diff --git a/htdocs/compta/salaries/class/salariesstats.class.php b/htdocs/compta/salaries/class/salariesstats.class.php index 82a8d094148..6982d453408 100644 --- a/htdocs/compta/salaries/class/salariesstats.class.php +++ b/htdocs/compta/salaries/class/salariesstats.class.php @@ -164,4 +164,3 @@ class SalariesStats extends Stats return $this->_getAllByYear($sql); } } - diff --git a/htdocs/core/actions_builddoc.inc.php b/htdocs/core/actions_builddoc.inc.php index 9d33def496c..6413dfdf297 100644 --- a/htdocs/core/actions_builddoc.inc.php +++ b/htdocs/core/actions_builddoc.inc.php @@ -133,4 +133,3 @@ if ($action == 'remove_file' && $permissioncreate) header('Location: '.$urltoredirect); exit; } - diff --git a/htdocs/core/actions_changeselectedfields.inc.php b/htdocs/core/actions_changeselectedfields.inc.php index 6d39272f74e..4cfc29209b1 100644 --- a/htdocs/core/actions_changeselectedfields.inc.php +++ b/htdocs/core/actions_changeselectedfields.inc.php @@ -44,5 +44,3 @@ if (GETPOST('formfilteraction') == 'listafterchangingselectedfields') //$action='list'; //var_dump($tabparam);exit; } - - diff --git a/htdocs/core/actions_dellink.inc.php b/htdocs/core/actions_dellink.inc.php index 7d20f124277..d2b8019a5e0 100644 --- a/htdocs/core/actions_dellink.inc.php +++ b/htdocs/core/actions_dellink.inc.php @@ -43,4 +43,3 @@ if ($action == 'dellink' && ! empty($permissiondellink) && ! GETPOST('cancel','a $result=$object->deleteObjectLinked(0, '', 0, '', $dellinkid); if ($result < 0) setEventMessages($object->error,$object->errors,'errors'); } - diff --git a/htdocs/core/actions_extrafields.inc.php b/htdocs/core/actions_extrafields.inc.php index bae5001b256..a50fadec1af 100644 --- a/htdocs/core/actions_extrafields.inc.php +++ b/htdocs/core/actions_extrafields.inc.php @@ -402,4 +402,3 @@ if ($action == 'delete') $mesg=$langs->trans("ErrorFieldCanNotContainSpecialCharacters",$langs->transnoentities("AttributeCode")); } } - diff --git a/htdocs/core/actions_lineupdown.inc.php b/htdocs/core/actions_lineupdown.inc.php index bcf251e0763..8b5e3e3a24c 100644 --- a/htdocs/core/actions_lineupdown.inc.php +++ b/htdocs/core/actions_lineupdown.inc.php @@ -70,4 +70,3 @@ if ($action == 'down' && $permissiontoedit) header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid')); exit(); } - diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index 630c67e9979..a8fdec68f0d 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -1249,6 +1249,3 @@ $parameters['uploaddir']=$uploaddir; $reshook=$hookmanager->executeHooks('doMassActions',$parameters, $object, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - - - diff --git a/htdocs/core/actions_setmoduleoptions.inc.php b/htdocs/core/actions_setmoduleoptions.inc.php index 03ff1491e49..fec4ef08c11 100644 --- a/htdocs/core/actions_setmoduleoptions.inc.php +++ b/htdocs/core/actions_setmoduleoptions.inc.php @@ -114,4 +114,3 @@ if ($action == 'setModuleOptions') if (empty($nomessageinsetmoduleoptions)) setEventMessages($langs->trans("SetupNotSaved"), null, 'errors'); } } - diff --git a/htdocs/core/ajax/ajaxdirtree.php b/htdocs/core/ajax/ajaxdirtree.php index d90a3f5f316..e74974240e3 100644 --- a/htdocs/core/ajax/ajaxdirtree.php +++ b/htdocs/core/ajax/ajaxdirtree.php @@ -491,4 +491,3 @@ function treeOutputForAbsoluteDir($sqltree, $selecteddir, $fullpathselecteddir, else print "PermissionDenied"; } } - diff --git a/htdocs/core/ajax/bankconciliate.php b/htdocs/core/ajax/bankconciliate.php index e5bfb674e8f..47e86864d89 100644 --- a/htdocs/core/ajax/bankconciliate.php +++ b/htdocs/core/ajax/bankconciliate.php @@ -94,4 +94,3 @@ if (($user->rights->banque->modifier || $user->rights->banque->consolidate) && $ exit; } - diff --git a/htdocs/core/ajax/box.php b/htdocs/core/ajax/box.php index 93b317a43c9..664af93822b 100644 --- a/htdocs/core/ajax/box.php +++ b/htdocs/core/ajax/box.php @@ -77,4 +77,3 @@ if ($boxorder && $zone != '' && $userid > 0) } } } - diff --git a/htdocs/core/ajax/check_notifications.php b/htdocs/core/ajax/check_notifications.php index a5c73655bab..35d465ae632 100644 --- a/htdocs/core/ajax/check_notifications.php +++ b/htdocs/core/ajax/check_notifications.php @@ -116,4 +116,3 @@ if ($time >= $_SESSION['auto_check_events_not_before']) } print json_encode($eventfound); - diff --git a/htdocs/core/ajax/constantonoff.php b/htdocs/core/ajax/constantonoff.php index 0f733f4df5c..2095ec88e5a 100644 --- a/htdocs/core/ajax/constantonoff.php +++ b/htdocs/core/ajax/constantonoff.php @@ -64,4 +64,3 @@ if (! empty($action) && ! empty($name)) } } } - diff --git a/htdocs/core/ajax/contacts.php b/htdocs/core/ajax/contacts.php index 777fa076639..b1c9d7a82fa 100644 --- a/htdocs/core/ajax/contacts.php +++ b/htdocs/core/ajax/contacts.php @@ -54,4 +54,3 @@ if (! empty($id) && ! empty($action) && ! empty($htmlname)) echo json_encode($return); } - diff --git a/htdocs/core/ajax/extraparams.php b/htdocs/core/ajax/extraparams.php index e5972d29d70..1b51dac0475 100644 --- a/htdocs/core/ajax/extraparams.php +++ b/htdocs/core/ajax/extraparams.php @@ -74,4 +74,3 @@ if(! empty($id) && ! empty($element) && ! empty($htmlelement) && ! empty($type)) $result=$object->setExtraParameters(); } - diff --git a/htdocs/core/ajax/fileupload.php b/htdocs/core/ajax/fileupload.php index 1cf5678cb00..dd7fcd88131 100644 --- a/htdocs/core/ajax/fileupload.php +++ b/htdocs/core/ajax/fileupload.php @@ -73,4 +73,3 @@ switch ($_SERVER['REQUEST_METHOD']) { } $db->close(); - diff --git a/htdocs/core/ajax/getaccountcurrency.php b/htdocs/core/ajax/getaccountcurrency.php index d58c81efdba..46244f8ec7a 100644 --- a/htdocs/core/ajax/getaccountcurrency.php +++ b/htdocs/core/ajax/getaccountcurrency.php @@ -54,4 +54,3 @@ if (! empty($id)) echo json_encode($return); } - diff --git a/htdocs/core/ajax/loadinplace.php b/htdocs/core/ajax/loadinplace.php index abf3efba7db..c7284d140c8 100644 --- a/htdocs/core/ajax/loadinplace.php +++ b/htdocs/core/ajax/loadinplace.php @@ -112,4 +112,3 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($ echo $langs->transnoentities('NotEnoughPermissions'); } } - diff --git a/htdocs/core/ajax/price.php b/htdocs/core/ajax/price.php index 3eab18216d1..96eb42ba076 100644 --- a/htdocs/core/ajax/price.php +++ b/htdocs/core/ajax/price.php @@ -63,4 +63,3 @@ if (! empty($output) && isset($amount) && isset($tva_tx)) echo json_encode($return); } - diff --git a/htdocs/core/ajax/row.php b/htdocs/core/ajax/row.php index 5348f36976d..11c1d614304 100644 --- a/htdocs/core/ajax/row.php +++ b/htdocs/core/ajax/row.php @@ -73,4 +73,3 @@ if ((! empty($_POST['roworder'])) && (! empty($_POST['table_element_line'])) $result=$row->line_order(true); } } - diff --git a/htdocs/core/ajax/saveinplace.php b/htdocs/core/ajax/saveinplace.php index 188dcbb29da..88eb7b22b0a 100644 --- a/htdocs/core/ajax/saveinplace.php +++ b/htdocs/core/ajax/saveinplace.php @@ -229,4 +229,3 @@ if (! empty($field) && ! empty($element) && ! empty($table_element) && ! empty($ echo $langs->trans('NotEnoughPermissions'); } } - diff --git a/htdocs/core/ajax/security.php b/htdocs/core/ajax/security.php index d6bfe51b45c..0ed7545b4cf 100644 --- a/htdocs/core/ajax/security.php +++ b/htdocs/core/ajax/security.php @@ -49,4 +49,3 @@ if (isset($_GET['action']) && ! empty($_GET['action'])) echo getRandomPassword($generic); } } - diff --git a/htdocs/core/ajax/selectsearchbox.php b/htdocs/core/ajax/selectsearchbox.php index 8d6c4fe0c31..c8ca10b21b4 100644 --- a/htdocs/core/ajax/selectsearchbox.php +++ b/htdocs/core/ajax/selectsearchbox.php @@ -170,4 +170,3 @@ if (! isset($usedbyinclude) || empty($usedbyinclude)) print json_encode($arrayresult); if (is_object($db)) $db->close(); } - diff --git a/htdocs/core/ajax/vatrates.php b/htdocs/core/ajax/vatrates.php index 8fe38d02552..29070c57985 100644 --- a/htdocs/core/ajax/vatrates.php +++ b/htdocs/core/ajax/vatrates.php @@ -67,4 +67,3 @@ if (! empty($id) && ! empty($action) && ! empty($htmlname)) echo json_encode($return); } - diff --git a/htdocs/core/ajax/ziptown.php b/htdocs/core/ajax/ziptown.php index c1af6a2ac22..a7d40a69aba 100644 --- a/htdocs/core/ajax/ziptown.php +++ b/htdocs/core/ajax/ziptown.php @@ -135,4 +135,3 @@ else } $db->close(); - diff --git a/htdocs/core/antispamimage.php b/htdocs/core/antispamimage.php index 7f0f2bde12f..9d0f8e46ad2 100644 --- a/htdocs/core/antispamimage.php +++ b/htdocs/core/antispamimage.php @@ -65,4 +65,3 @@ $background_color = imagecolorallocate($img, 250, 250, 250); $ecriture_color = imagecolorallocate($img, 0, 0, 0); imagestring($img, 4, 24, 8, $string, $ecriture_color); imagepng($img); - diff --git a/htdocs/core/boxes/box_actions.php b/htdocs/core/boxes/box_actions.php index aea85fd111e..51577c4c40b 100644 --- a/htdocs/core/boxes/box_actions.php +++ b/htdocs/core/boxes/box_actions.php @@ -260,4 +260,3 @@ class box_actions extends ModeleBoxes return ''; } } - diff --git a/htdocs/core/boxes/box_bookmarks.php b/htdocs/core/boxes/box_bookmarks.php index c3a29877104..f9a8f4ee036 100644 --- a/htdocs/core/boxes/box_bookmarks.php +++ b/htdocs/core/boxes/box_bookmarks.php @@ -162,4 +162,3 @@ class box_bookmarks extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_clients.php b/htdocs/core/boxes/box_clients.php index 9b1e4e34261..7ad87687761 100644 --- a/htdocs/core/boxes/box_clients.php +++ b/htdocs/core/boxes/box_clients.php @@ -178,4 +178,3 @@ class box_clients extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_commandes.php b/htdocs/core/boxes/box_commandes.php index 3f86909f04a..1e4163d5a8c 100644 --- a/htdocs/core/boxes/box_commandes.php +++ b/htdocs/core/boxes/box_commandes.php @@ -203,4 +203,3 @@ class box_commandes extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_comptes.php b/htdocs/core/boxes/box_comptes.php index 5a5c2f59986..0b0304ecaba 100644 --- a/htdocs/core/boxes/box_comptes.php +++ b/htdocs/core/boxes/box_comptes.php @@ -189,4 +189,3 @@ class box_comptes extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_contacts.php b/htdocs/core/boxes/box_contacts.php index 2d9d7e9461b..ae4f82d9c06 100644 --- a/htdocs/core/boxes/box_contacts.php +++ b/htdocs/core/boxes/box_contacts.php @@ -190,4 +190,3 @@ class box_contacts extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_contracts.php b/htdocs/core/boxes/box_contracts.php index 7239fa78919..adcea2b5425 100644 --- a/htdocs/core/boxes/box_contracts.php +++ b/htdocs/core/boxes/box_contracts.php @@ -194,4 +194,3 @@ class box_contracts extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_external_rss.php b/htdocs/core/boxes/box_external_rss.php index fa7d35f6db0..4d2c8bb81d5 100644 --- a/htdocs/core/boxes/box_external_rss.php +++ b/htdocs/core/boxes/box_external_rss.php @@ -200,4 +200,3 @@ class box_external_rss extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_factures_fourn.php b/htdocs/core/boxes/box_factures_fourn.php index 617f041d7d2..4656e26aba2 100644 --- a/htdocs/core/boxes/box_factures_fourn.php +++ b/htdocs/core/boxes/box_factures_fourn.php @@ -219,4 +219,3 @@ class box_factures_fourn extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_factures_fourn_imp.php b/htdocs/core/boxes/box_factures_fourn_imp.php index bd8fde32aab..8f5330eedb4 100644 --- a/htdocs/core/boxes/box_factures_fourn_imp.php +++ b/htdocs/core/boxes/box_factures_fourn_imp.php @@ -206,4 +206,3 @@ class box_factures_fourn_imp extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_ficheinter.php b/htdocs/core/boxes/box_ficheinter.php index 76d1414f53f..4fd4d69eb3a 100644 --- a/htdocs/core/boxes/box_ficheinter.php +++ b/htdocs/core/boxes/box_ficheinter.php @@ -171,4 +171,3 @@ class box_ficheinter extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_fournisseurs.php b/htdocs/core/boxes/box_fournisseurs.php index c66c7f674c2..b80aa461f09 100644 --- a/htdocs/core/boxes/box_fournisseurs.php +++ b/htdocs/core/boxes/box_fournisseurs.php @@ -165,4 +165,3 @@ class box_fournisseurs extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_goodcustomers.php b/htdocs/core/boxes/box_goodcustomers.php index 138326d6c01..a9b9dd2ef4a 100644 --- a/htdocs/core/boxes/box_goodcustomers.php +++ b/htdocs/core/boxes/box_goodcustomers.php @@ -174,4 +174,3 @@ class box_goodcustomers extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_graph_invoices_permonth.php b/htdocs/core/boxes/box_graph_invoices_permonth.php index fd0b4e593c0..e1495a9ca60 100644 --- a/htdocs/core/boxes/box_graph_invoices_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_permonth.php @@ -280,4 +280,3 @@ class box_graph_invoices_permonth extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php index f13b19259c9..4c8740f3621 100644 --- a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php @@ -279,4 +279,3 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_graph_orders_permonth.php b/htdocs/core/boxes/box_graph_orders_permonth.php index fefa90c5fea..1ed8ba7046b 100644 --- a/htdocs/core/boxes/box_graph_orders_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_permonth.php @@ -278,4 +278,3 @@ class box_graph_orders_permonth extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php index e388d226fd2..ba88ea8524f 100644 --- a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php @@ -277,4 +277,3 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index 9dc4c162e0f..64d7db079c2 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -417,4 +417,3 @@ class box_graph_product_distribution extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_graph_propales_permonth.php b/htdocs/core/boxes/box_graph_propales_permonth.php index f28b0ec2c99..8dfb55381a4 100644 --- a/htdocs/core/boxes/box_graph_propales_permonth.php +++ b/htdocs/core/boxes/box_graph_propales_permonth.php @@ -281,4 +281,3 @@ class box_graph_propales_permonth extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_members.php b/htdocs/core/boxes/box_members.php index b0f999f54f1..f33ca6c942e 100644 --- a/htdocs/core/boxes/box_members.php +++ b/htdocs/core/boxes/box_members.php @@ -183,4 +183,3 @@ class box_members extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_produits.php b/htdocs/core/boxes/box_produits.php index 3dd66eb1da2..c6e80721710 100644 --- a/htdocs/core/boxes/box_produits.php +++ b/htdocs/core/boxes/box_produits.php @@ -231,4 +231,3 @@ class box_produits extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_produits_alerte_stock.php b/htdocs/core/boxes/box_produits_alerte_stock.php index 896ceb93df6..5636113187d 100644 --- a/htdocs/core/boxes/box_produits_alerte_stock.php +++ b/htdocs/core/boxes/box_produits_alerte_stock.php @@ -243,4 +243,3 @@ class box_produits_alerte_stock extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_project.php b/htdocs/core/boxes/box_project.php index a48543a00f6..5afee313a9d 100644 --- a/htdocs/core/boxes/box_project.php +++ b/htdocs/core/boxes/box_project.php @@ -200,4 +200,3 @@ class box_project extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_propales.php b/htdocs/core/boxes/box_propales.php index 2b3426f21b8..b7b97b03eb4 100644 --- a/htdocs/core/boxes/box_propales.php +++ b/htdocs/core/boxes/box_propales.php @@ -193,4 +193,3 @@ class box_propales extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_prospect.php b/htdocs/core/boxes/box_prospect.php index a4382f86048..264673fec2b 100644 --- a/htdocs/core/boxes/box_prospect.php +++ b/htdocs/core/boxes/box_prospect.php @@ -181,4 +181,3 @@ class box_prospect extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_services_contracts.php b/htdocs/core/boxes/box_services_contracts.php index 708b781f092..3016fcd8892 100644 --- a/htdocs/core/boxes/box_services_contracts.php +++ b/htdocs/core/boxes/box_services_contracts.php @@ -246,4 +246,3 @@ class box_services_contracts extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_services_expired.php b/htdocs/core/boxes/box_services_expired.php index ed62e127816..2a94d5626c0 100644 --- a/htdocs/core/boxes/box_services_expired.php +++ b/htdocs/core/boxes/box_services_expired.php @@ -190,4 +190,3 @@ class box_services_expired extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/box_supplier_orders.php b/htdocs/core/boxes/box_supplier_orders.php index 4621950843e..3fa212057f5 100644 --- a/htdocs/core/boxes/box_supplier_orders.php +++ b/htdocs/core/boxes/box_supplier_orders.php @@ -189,4 +189,3 @@ class box_supplier_orders extends ModeleBoxes return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } } - diff --git a/htdocs/core/boxes/modules_boxes.php b/htdocs/core/boxes/modules_boxes.php index 9ae35403ec7..eaa63f82881 100644 --- a/htdocs/core/boxes/modules_boxes.php +++ b/htdocs/core/boxes/modules_boxes.php @@ -503,5 +503,3 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" box return $widget; } } - - diff --git a/htdocs/core/class/commonorder.class.php b/htdocs/core/class/commonorder.class.php index 199b29b87cd..9d9445df91c 100644 --- a/htdocs/core/class/commonorder.class.php +++ b/htdocs/core/class/commonorder.class.php @@ -145,4 +145,3 @@ abstract class CommonOrderLine extends CommonObjectLine public $special_code = 0; } - diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index de39260e007..9f0c8a01d95 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -694,4 +694,3 @@ class Conf } } } - diff --git a/htdocs/core/class/html.formbank.class.php b/htdocs/core/class/html.formbank.class.php index 9cf60cc45b1..fff3e86755d 100644 --- a/htdocs/core/class/html.formbank.class.php +++ b/htdocs/core/class/html.formbank.class.php @@ -79,4 +79,3 @@ class FormBank return 'IBANNumber'; } } - diff --git a/htdocs/core/class/html.formmargin.class.php b/htdocs/core/class/html.formmargin.class.php index cdd827145b0..88b430e832b 100644 --- a/htdocs/core/class/html.formmargin.class.php +++ b/htdocs/core/class/html.formmargin.class.php @@ -281,4 +281,3 @@ class FormMargin print '</div>'; } } - diff --git a/htdocs/core/class/html.formorder.class.php b/htdocs/core/class/html.formorder.class.php index 781b3f76e4f..0954c08c034 100644 --- a/htdocs/core/class/html.formorder.class.php +++ b/htdocs/core/class/html.formorder.class.php @@ -101,4 +101,3 @@ class FormOrder extends Form return 1; } } - diff --git a/htdocs/core/class/infobox.class.php b/htdocs/core/class/infobox.class.php index dedf3ec384f..fccd7080bc2 100644 --- a/htdocs/core/class/infobox.class.php +++ b/htdocs/core/class/infobox.class.php @@ -282,4 +282,3 @@ class InfoBox } } } - diff --git a/htdocs/core/class/stats.class.php b/htdocs/core/class/stats.class.php index 90986e7b6da..59d8c21746c 100644 --- a/htdocs/core/class/stats.class.php +++ b/htdocs/core/class/stats.class.php @@ -605,4 +605,3 @@ abstract class Stats return $result; } } - diff --git a/htdocs/core/db/DoliDB.class.php b/htdocs/core/db/DoliDB.class.php index ecc27bf88dc..295494b16d7 100644 --- a/htdocs/core/db/DoliDB.class.php +++ b/htdocs/core/db/DoliDB.class.php @@ -298,4 +298,3 @@ abstract class DoliDB implements Database return $this->lastqueryerror; } } - diff --git a/htdocs/core/filemanagerdol/connectors/php/config.php b/htdocs/core/filemanagerdol/connectors/php/config.php index 8df350ef150..84f3b6cc41c 100644 --- a/htdocs/core/filemanagerdol/connectors/php/config.php +++ b/htdocs/core/filemanagerdol/connectors/php/config.php @@ -173,4 +173,3 @@ $Config['FileTypesPath']['Media'] = $Config['UserFilesPath'] . 'media/' ; $Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ; $Config['QuickUploadPath']['Media'] = $Config['UserFilesPath'] ; $Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] ; - diff --git a/htdocs/core/filemanagerdol/connectors/php/upload.php b/htdocs/core/filemanagerdol/connectors/php/upload.php index 90230504705..3e019e38062 100644 --- a/htdocs/core/filemanagerdol/connectors/php/upload.php +++ b/htdocs/core/filemanagerdol/connectors/php/upload.php @@ -68,5 +68,3 @@ $CKEcallback = $_GET['CKEditorFuncNum']; //modify the next line adding in the new param FileUpload($sType, $sCurrentFolder, $sCommand, $CKEcallback); - - diff --git a/htdocs/core/filemanagerdol/connectors/php/util.php b/htdocs/core/filemanagerdol/connectors/php/util.php index f23ba45550a..5df4d778c2c 100644 --- a/htdocs/core/filemanagerdol/connectors/php/util.php +++ b/htdocs/core/filemanagerdol/connectors/php/util.php @@ -238,4 +238,3 @@ function IsImageValid( $filePath, $extension ) return true; } - diff --git a/htdocs/core/lib/accounting.lib.php b/htdocs/core/lib/accounting.lib.php index b0b6dc6855c..4a7c9cc9eb0 100644 --- a/htdocs/core/lib/accounting.lib.php +++ b/htdocs/core/lib/accounting.lib.php @@ -226,4 +226,3 @@ function journalHead($nom,$variante,$period,$periodlink,$description,$builddate, print "\n<!-- fin cartouche journal -->\n\n"; } - diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php index 6dab036193d..730df99904d 100644 --- a/htdocs/core/lib/agenda.lib.php +++ b/htdocs/core/lib/agenda.lib.php @@ -561,4 +561,3 @@ function calendars_prepare_head($param) return $head; } - diff --git a/htdocs/core/lib/barcode.lib.php b/htdocs/core/lib/barcode.lib.php index efd245209d2..15fa860a82f 100644 --- a/htdocs/core/lib/barcode.lib.php +++ b/htdocs/core/lib/barcode.lib.php @@ -412,4 +412,3 @@ function barcode_outimage($text, $bars, $scale = 1, $mode = "png", $total_y = 0, imagepng($im); } } - diff --git a/htdocs/core/lib/categories.lib.php b/htdocs/core/lib/categories.lib.php index 4d85c412bab..a7aebe22d6d 100644 --- a/htdocs/core/lib/categories.lib.php +++ b/htdocs/core/lib/categories.lib.php @@ -103,5 +103,3 @@ function categoriesadmin_prepare_head() return $head; } - - diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 41b0f1af3ef..48e26850ddc 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -1836,6 +1836,3 @@ function show_subsidiaries($conf,$langs,$db,$object) return $i; } - - - diff --git a/htdocs/core/lib/contact.lib.php b/htdocs/core/lib/contact.lib.php index 3c61410230f..d4001ad0733 100644 --- a/htdocs/core/lib/contact.lib.php +++ b/htdocs/core/lib/contact.lib.php @@ -107,4 +107,3 @@ function contact_prepare_head(Contact $object) return $head; } - diff --git a/htdocs/core/lib/contract.lib.php b/htdocs/core/lib/contract.lib.php index c7434e80878..9c30e9cbef0 100644 --- a/htdocs/core/lib/contract.lib.php +++ b/htdocs/core/lib/contract.lib.php @@ -128,4 +128,3 @@ function contract_admin_prepare_head() return $head; } - diff --git a/htdocs/core/lib/cron.lib.php b/htdocs/core/lib/cron.lib.php index 3392785a571..d865a9c6748 100644 --- a/htdocs/core/lib/cron.lib.php +++ b/htdocs/core/lib/cron.lib.php @@ -132,5 +132,3 @@ function dol_print_cron_urls() return 0; } - - diff --git a/htdocs/core/lib/doc.lib.php b/htdocs/core/lib/doc.lib.php index b5e607fbbc5..5da54a9e760 100644 --- a/htdocs/core/lib/doc.lib.php +++ b/htdocs/core/lib/doc.lib.php @@ -165,4 +165,3 @@ function doc_getlinedesc($line,$outputlangs,$hideref=0,$hidedesc=0,$issupplierli return $libelleproduitservice; } - diff --git a/htdocs/core/lib/doleditor.lib.php b/htdocs/core/lib/doleditor.lib.php index 459bb3e3f2b..9893a9bcd50 100644 --- a/htdocs/core/lib/doleditor.lib.php +++ b/htdocs/core/lib/doleditor.lib.php @@ -131,4 +131,3 @@ function show_skin($fuser,$edit=0) print '</table>'; } - diff --git a/htdocs/core/lib/ecm.lib.php b/htdocs/core/lib/ecm.lib.php index 05f16e767ba..e1c4ee731a8 100644 --- a/htdocs/core/lib/ecm.lib.php +++ b/htdocs/core/lib/ecm.lib.php @@ -140,4 +140,3 @@ function ecm_prepare_head_fm($object) return $head; } - diff --git a/htdocs/core/lib/emailing.lib.php b/htdocs/core/lib/emailing.lib.php index 06ceb2c96b0..dd12385e313 100644 --- a/htdocs/core/lib/emailing.lib.php +++ b/htdocs/core/lib/emailing.lib.php @@ -67,4 +67,3 @@ function emailing_prepare_head(Mailing $object) return $head; } - diff --git a/htdocs/core/lib/expedition.lib.php b/htdocs/core/lib/expedition.lib.php index 275970c41c1..c8023ebb75f 100644 --- a/htdocs/core/lib/expedition.lib.php +++ b/htdocs/core/lib/expedition.lib.php @@ -138,5 +138,3 @@ function expedition_admin_prepare_head() return $head; } - - diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index ae80d371e33..48d6e259b1b 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -2973,4 +2973,3 @@ function getFilesUpdated(&$file_list, SimpleXMLElement $dir, $path = '', $pathre return $file_list; } - diff --git a/htdocs/core/lib/format_cards.lib.php b/htdocs/core/lib/format_cards.lib.php index ecfce2108dd..5aa3856f21c 100644 --- a/htdocs/core/lib/format_cards.lib.php +++ b/htdocs/core/lib/format_cards.lib.php @@ -66,4 +66,3 @@ foreach($_Avery_Labels as $key => $val) { $_Avery_Labels[$key]['name'].=' ('.$_Avery_Labels[$key]['paper-size'].' - '.$_Avery_Labels[$key]['NX'].'x'.$_Avery_Labels[$key]['NY'].')'; } - diff --git a/htdocs/core/lib/fourn.lib.php b/htdocs/core/lib/fourn.lib.php index 4f3351a4d86..996d27a058a 100644 --- a/htdocs/core/lib/fourn.lib.php +++ b/htdocs/core/lib/fourn.lib.php @@ -227,5 +227,3 @@ function supplierorder_admin_prepare_head() return $head; } - - diff --git a/htdocs/core/lib/geturl.lib.php b/htdocs/core/lib/geturl.lib.php index 418cc1418b5..30c8bacd7c0 100644 --- a/htdocs/core/lib/geturl.lib.php +++ b/htdocs/core/lib/geturl.lib.php @@ -208,4 +208,3 @@ function removeHtmlComment($content) $content = preg_replace('/<!--[^\-]+-->/', '', $content); return $content; } - diff --git a/htdocs/core/lib/hrm.lib.php b/htdocs/core/lib/hrm.lib.php index 08b0e3be01a..449127595fc 100644 --- a/htdocs/core/lib/hrm.lib.php +++ b/htdocs/core/lib/hrm.lib.php @@ -88,4 +88,3 @@ function hrm_admin_prepare_head() return $head; } - diff --git a/htdocs/core/lib/import.lib.php b/htdocs/core/lib/import.lib.php index c3b8beac249..ffcc8b19305 100644 --- a/htdocs/core/lib/import.lib.php +++ b/htdocs/core/lib/import.lib.php @@ -52,4 +52,3 @@ function import_prepare_head($param, $maxstep=0) return $head; } - diff --git a/htdocs/core/lib/invoice2.lib.php b/htdocs/core/lib/invoice2.lib.php index f511d12da21..04ac88444f0 100644 --- a/htdocs/core/lib/invoice2.lib.php +++ b/htdocs/core/lib/invoice2.lib.php @@ -280,4 +280,3 @@ function rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filte if ($error) return -1; else return $result; } - diff --git a/htdocs/core/lib/ldap.lib.php b/htdocs/core/lib/ldap.lib.php index 9f2e55153d0..ee6a81ef077 100644 --- a/htdocs/core/lib/ldap.lib.php +++ b/htdocs/core/lib/ldap.lib.php @@ -184,4 +184,3 @@ function show_ldap_content($result,$level,$count,$var,$hide=0,$subcount=0) } return 1; } - diff --git a/htdocs/core/lib/mailmanspip.lib.php b/htdocs/core/lib/mailmanspip.lib.php index ce7f2927630..5658e5b0e01 100644 --- a/htdocs/core/lib/mailmanspip.lib.php +++ b/htdocs/core/lib/mailmanspip.lib.php @@ -43,4 +43,3 @@ function mailmanspip_admin_prepare_head() ) ); } - diff --git a/htdocs/core/lib/memory.lib.php b/htdocs/core/lib/memory.lib.php index 69c127f915c..66f5d11145e 100644 --- a/htdocs/core/lib/memory.lib.php +++ b/htdocs/core/lib/memory.lib.php @@ -270,4 +270,3 @@ function dol_getshmop($memoryid) } return $data; } - diff --git a/htdocs/core/lib/order.lib.php b/htdocs/core/lib/order.lib.php index 93a7aaa71e0..3bdb5adf305 100644 --- a/htdocs/core/lib/order.lib.php +++ b/htdocs/core/lib/order.lib.php @@ -148,5 +148,3 @@ function order_admin_prepare_head() return $head; } - - diff --git a/htdocs/core/lib/parsemd.lib.php b/htdocs/core/lib/parsemd.lib.php index 13334fd400c..9b81c9bccb5 100644 --- a/htdocs/core/lib/parsemd.lib.php +++ b/htdocs/core/lib/parsemd.lib.php @@ -53,4 +53,3 @@ function dolMd2Html($content, $parser='parsedown',$replaceimagepath=null) return $content; } - diff --git a/htdocs/core/lib/prelevement.lib.php b/htdocs/core/lib/prelevement.lib.php index e6393326c71..1f7fc427d01 100644 --- a/htdocs/core/lib/prelevement.lib.php +++ b/htdocs/core/lib/prelevement.lib.php @@ -83,4 +83,3 @@ function prelevement_check_config() if(empty($conf->global->PRELEVEMENT_USER)) return -1; return 0; } - diff --git a/htdocs/core/lib/price.lib.php b/htdocs/core/lib/price.lib.php index 0b9f3a3b246..7a1f2a8e0dc 100644 --- a/htdocs/core/lib/price.lib.php +++ b/htdocs/core/lib/price.lib.php @@ -410,4 +410,3 @@ function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocalt return $result; } - diff --git a/htdocs/core/lib/propal.lib.php b/htdocs/core/lib/propal.lib.php index 3fc37196c71..385b69fe2ab 100644 --- a/htdocs/core/lib/propal.lib.php +++ b/htdocs/core/lib/propal.lib.php @@ -141,5 +141,3 @@ function propal_admin_prepare_head() return $head; } - - diff --git a/htdocs/core/lib/receiptprinter.lib.php b/htdocs/core/lib/receiptprinter.lib.php index d440acc5403..6e161c8c4af 100644 --- a/htdocs/core/lib/receiptprinter.lib.php +++ b/htdocs/core/lib/receiptprinter.lib.php @@ -68,5 +68,3 @@ function receiptprinteradmin_prepare_head($mode) return $head; } - - diff --git a/htdocs/core/lib/reception.lib.php b/htdocs/core/lib/reception.lib.php index 0fc71c555dd..a0498468052 100644 --- a/htdocs/core/lib/reception.lib.php +++ b/htdocs/core/lib/reception.lib.php @@ -125,5 +125,3 @@ function reception_admin_prepare_head() return $head; } - - diff --git a/htdocs/core/lib/report.lib.php b/htdocs/core/lib/report.lib.php index 5a8aa344240..704fc0d60e2 100644 --- a/htdocs/core/lib/report.lib.php +++ b/htdocs/core/lib/report.lib.php @@ -122,4 +122,3 @@ function report_header($reportname,$notused,$period,$periodlink,$description,$bu print "\n<!-- end banner of report -->\n\n"; } - diff --git a/htdocs/core/lib/sendings.lib.php b/htdocs/core/lib/sendings.lib.php index be8aeb890fc..249e6e84b48 100644 --- a/htdocs/core/lib/sendings.lib.php +++ b/htdocs/core/lib/sendings.lib.php @@ -435,4 +435,3 @@ function show_list_sending_receive($origin,$origin_id,$filter='') return 1; } - diff --git a/htdocs/core/lib/stock.lib.php b/htdocs/core/lib/stock.lib.php index 579944117ab..b9ce743c458 100644 --- a/htdocs/core/lib/stock.lib.php +++ b/htdocs/core/lib/stock.lib.php @@ -78,4 +78,3 @@ function stock_prepare_head($object) return $head; } - diff --git a/htdocs/core/lib/supplier_proposal.lib.php b/htdocs/core/lib/supplier_proposal.lib.php index 53dcf1c443f..01dd1187440 100644 --- a/htdocs/core/lib/supplier_proposal.lib.php +++ b/htdocs/core/lib/supplier_proposal.lib.php @@ -130,5 +130,3 @@ function supplier_proposal_admin_prepare_head() return $head; } - - diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index 7927bec0268..2d65c45cb51 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -1008,4 +1008,3 @@ function tax_by_rate($type, $db, $y, $q, $date_start, $date_end, $modetax, $dire return $list; } - diff --git a/htdocs/core/lib/treeview.lib.php b/htdocs/core/lib/treeview.lib.php index 6c66079090a..937f62520c4 100644 --- a/htdocs/core/lib/treeview.lib.php +++ b/htdocs/core/lib/treeview.lib.php @@ -227,4 +227,3 @@ function tree_recur($tab, $pere, $rang, $iddivjstree='iddivjstree', $donoresetal if ($rang == 0) print '</ul>'; } - diff --git a/htdocs/core/lib/ws.lib.php b/htdocs/core/lib/ws.lib.php index 533a13e1fb6..bbbbcfb62a9 100644 --- a/htdocs/core/lib/ws.lib.php +++ b/htdocs/core/lib/ws.lib.php @@ -95,4 +95,3 @@ function check_authentication($authentication,&$error,&$errorcode,&$errorlabel) return $fuser; } - diff --git a/htdocs/core/login/functions_ldap.php b/htdocs/core/login/functions_ldap.php index 4587dbae11b..6625fabf993 100644 --- a/htdocs/core/login/functions_ldap.php +++ b/htdocs/core/login/functions_ldap.php @@ -245,4 +245,3 @@ function check_user_password_ldap($usertotest,$passwordtotest,$entitytotest) return $login; } - diff --git a/htdocs/core/menus/standard/auguria_menu.php b/htdocs/core/menus/standard/auguria_menu.php index f4cb98d9c4b..5c74f43f8a6 100644 --- a/htdocs/core/menus/standard/auguria_menu.php +++ b/htdocs/core/menus/standard/auguria_menu.php @@ -317,4 +317,3 @@ class MenuManager unset($this->menu); } } - diff --git a/htdocs/core/menus/standard/eldy_menu.php b/htdocs/core/menus/standard/eldy_menu.php index 4992fc6d11c..3d4ce9931af 100644 --- a/htdocs/core/menus/standard/eldy_menu.php +++ b/htdocs/core/menus/standard/eldy_menu.php @@ -337,4 +337,3 @@ class MenuManager return 0; } } - diff --git a/htdocs/core/menus/standard/empty.php b/htdocs/core/menus/standard/empty.php index 038167ae512..da9540ee2aa 100644 --- a/htdocs/core/menus/standard/empty.php +++ b/htdocs/core/menus/standard/empty.php @@ -602,4 +602,3 @@ function print_end_menu_array_empty() print '</div>'; print "\n"; } - diff --git a/htdocs/core/modules/barcode/modules_barcode.class.php b/htdocs/core/modules/barcode/modules_barcode.class.php index 44d7eccbb07..67dd824d1e0 100644 --- a/htdocs/core/modules/barcode/modules_barcode.class.php +++ b/htdocs/core/modules/barcode/modules_barcode.class.php @@ -177,4 +177,3 @@ abstract class ModeleNumRefBarCode return $s; } } - diff --git a/htdocs/core/modules/contract/mod_contract_olive.php b/htdocs/core/modules/contract/mod_contract_olive.php index 993f4bf9bfb..8b51dbed0e0 100644 --- a/htdocs/core/modules/contract/mod_contract_olive.php +++ b/htdocs/core/modules/contract/mod_contract_olive.php @@ -121,4 +121,3 @@ class mod_contract_olive extends ModelNumRefContracts return $result; } } - diff --git a/htdocs/core/modules/expensereport/mod_expensereport_sand.php b/htdocs/core/modules/expensereport/mod_expensereport_sand.php index 95cc3d39c95..a1b1c716917 100644 --- a/htdocs/core/modules/expensereport/mod_expensereport_sand.php +++ b/htdocs/core/modules/expensereport/mod_expensereport_sand.php @@ -156,4 +156,3 @@ class mod_expensereport_sand extends ModeleNumRefExpenseReport return $numFinal; } } - diff --git a/htdocs/core/modules/facture/mod_facture_mars.php b/htdocs/core/modules/facture/mod_facture_mars.php index 7057fda20ee..bcc2bff39f4 100644 --- a/htdocs/core/modules/facture/mod_facture_mars.php +++ b/htdocs/core/modules/facture/mod_facture_mars.php @@ -228,4 +228,3 @@ class mod_facture_mars extends ModeleNumRefFactures return $this->getNextValue($objsoc,$objforref,$mode); } } - diff --git a/htdocs/core/modules/facture/mod_facture_terre.php b/htdocs/core/modules/facture/mod_facture_terre.php index 454a1588f27..3db7579af4d 100644 --- a/htdocs/core/modules/facture/mod_facture_terre.php +++ b/htdocs/core/modules/facture/mod_facture_terre.php @@ -243,4 +243,3 @@ class mod_facture_terre extends ModeleNumRefFactures return $this->getNextValue($objsoc,$objforref,$mode); } } - diff --git a/htdocs/core/modules/fichinter/mod_arctic.php b/htdocs/core/modules/fichinter/mod_arctic.php index 86f25dc4078..663a96a930f 100644 --- a/htdocs/core/modules/fichinter/mod_arctic.php +++ b/htdocs/core/modules/fichinter/mod_arctic.php @@ -157,4 +157,3 @@ class mod_arctic extends ModeleNumRefFicheinter return $this->getNextValue($objsoc,$objforref); } } - diff --git a/htdocs/core/modules/modApi.class.php b/htdocs/core/modules/modApi.class.php index 45aedc11406..71eb0669d0e 100644 --- a/htdocs/core/modules/modApi.class.php +++ b/htdocs/core/modules/modApi.class.php @@ -252,4 +252,3 @@ class modApi extends DolibarrModules return $this->_remove($sql, $options); } } - diff --git a/htdocs/core/modules/modECM.class.php b/htdocs/core/modules/modECM.class.php index 593f702ac52..b172376996f 100644 --- a/htdocs/core/modules/modECM.class.php +++ b/htdocs/core/modules/modECM.class.php @@ -179,4 +179,3 @@ class modECM extends DolibarrModules $r++; } } - diff --git a/htdocs/core/modules/modExternalSite.class.php b/htdocs/core/modules/modExternalSite.class.php index 088e93955ef..260524df139 100644 --- a/htdocs/core/modules/modExternalSite.class.php +++ b/htdocs/core/modules/modExternalSite.class.php @@ -115,4 +115,3 @@ class modExternalSite extends DolibarrModules $r++; } } - diff --git a/htdocs/core/modules/modFTP.class.php b/htdocs/core/modules/modFTP.class.php index bdd745437e1..089f33c6e2d 100644 --- a/htdocs/core/modules/modFTP.class.php +++ b/htdocs/core/modules/modFTP.class.php @@ -125,4 +125,3 @@ class modFTP extends DolibarrModules $r++; } } - diff --git a/htdocs/core/modules/modGravatar.class.php b/htdocs/core/modules/modGravatar.class.php index 7e1aec3efaa..9dbf4ee124f 100644 --- a/htdocs/core/modules/modGravatar.class.php +++ b/htdocs/core/modules/modGravatar.class.php @@ -194,4 +194,3 @@ class modGravatar extends DolibarrModules // $r++; } } - diff --git a/htdocs/core/modules/modHoliday.class.php b/htdocs/core/modules/modHoliday.class.php index 5b26a795dda..19f333c5ffa 100644 --- a/htdocs/core/modules/modHoliday.class.php +++ b/htdocs/core/modules/modHoliday.class.php @@ -257,4 +257,3 @@ class modHoliday extends DolibarrModules // $r++; } } - diff --git a/htdocs/core/modules/modMargin.class.php b/htdocs/core/modules/modMargin.class.php index 58de64c8aad..e4cd53c49a0 100644 --- a/htdocs/core/modules/modMargin.class.php +++ b/htdocs/core/modules/modMargin.class.php @@ -145,4 +145,3 @@ class modMargin extends DolibarrModules $this->rights[$r][5] = 'all'; } } - diff --git a/htdocs/core/modules/modMultiCurrency.class.php b/htdocs/core/modules/modMultiCurrency.class.php index a12ddea6cb0..32bd1bd5980 100644 --- a/htdocs/core/modules/modMultiCurrency.class.php +++ b/htdocs/core/modules/modMultiCurrency.class.php @@ -315,4 +315,3 @@ class modMultiCurrency extends DolibarrModules } } } - diff --git a/htdocs/core/modules/modOpenSurvey.class.php b/htdocs/core/modules/modOpenSurvey.class.php index be0b67950d7..30861f13e73 100644 --- a/htdocs/core/modules/modOpenSurvey.class.php +++ b/htdocs/core/modules/modOpenSurvey.class.php @@ -183,4 +183,3 @@ class modOpenSurvey extends DolibarrModules return $this->_init($sql,$options); } } - diff --git a/htdocs/core/modules/modPaybox.class.php b/htdocs/core/modules/modPaybox.class.php index 5b1d96332da..6358fae8833 100644 --- a/htdocs/core/modules/modPaybox.class.php +++ b/htdocs/core/modules/modPaybox.class.php @@ -189,4 +189,3 @@ class modPayBox extends DolibarrModules // $r++; } } - diff --git a/htdocs/core/modules/modPaypal.class.php b/htdocs/core/modules/modPaypal.class.php index 01f90842ec5..8ca87fb01cc 100644 --- a/htdocs/core/modules/modPaypal.class.php +++ b/htdocs/core/modules/modPaypal.class.php @@ -195,4 +195,3 @@ class modPaypal extends DolibarrModules // $r++; } } - diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 55a800bd366..898a54d5485 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -130,4 +130,3 @@ class modProductBatch extends DolibarrModules return $this->_init($sql, $options); } } - diff --git a/htdocs/core/modules/modStripe.class.php b/htdocs/core/modules/modStripe.class.php index 9a1584da477..6f12a96758c 100644 --- a/htdocs/core/modules/modStripe.class.php +++ b/htdocs/core/modules/modStripe.class.php @@ -155,4 +155,3 @@ class modStripe extends DolibarrModules $r=1; } } - diff --git a/htdocs/core/modules/oauth/github_oauthcallback.php b/htdocs/core/modules/oauth/github_oauthcallback.php index 052964eca66..ef61eaca1f0 100644 --- a/htdocs/core/modules/oauth/github_oauthcallback.php +++ b/htdocs/core/modules/oauth/github_oauthcallback.php @@ -172,4 +172,3 @@ else // If entry on page with no parameter, we arrive here // No view at all, just actions $db->close(); - diff --git a/htdocs/core/modules/oauth/google_oauthcallback.php b/htdocs/core/modules/oauth/google_oauthcallback.php index b63aca5bdf6..df7127eb847 100644 --- a/htdocs/core/modules/oauth/google_oauthcallback.php +++ b/htdocs/core/modules/oauth/google_oauthcallback.php @@ -167,4 +167,3 @@ else // If entry on page with no parameter, we arrive here // No view at all, just actions $db->close(); - diff --git a/htdocs/core/modules/oauth/stripetest_oauthcallback.php b/htdocs/core/modules/oauth/stripetest_oauthcallback.php index 3a663cd7162..c811af92f33 100644 --- a/htdocs/core/modules/oauth/stripetest_oauthcallback.php +++ b/htdocs/core/modules/oauth/stripetest_oauthcallback.php @@ -177,4 +177,3 @@ else // If entry on page with no parameter, we arrive here // No view at all, just actions $db->close(); - diff --git a/htdocs/core/modules/product/mod_codeproduct_leopard.php b/htdocs/core/modules/product/mod_codeproduct_leopard.php index 815e383d900..b8bc866556c 100644 --- a/htdocs/core/modules/product/mod_codeproduct_leopard.php +++ b/htdocs/core/modules/product/mod_codeproduct_leopard.php @@ -140,4 +140,3 @@ class mod_codeproduct_leopard extends ModeleProductCode return $result; } } - diff --git a/htdocs/core/modules/security/generate/modGeneratePassNone.class.php b/htdocs/core/modules/security/generate/modGeneratePassNone.class.php index d0e8c617217..b0caa7d0b15 100644 --- a/htdocs/core/modules/security/generate/modGeneratePassNone.class.php +++ b/htdocs/core/modules/security/generate/modGeneratePassNone.class.php @@ -109,4 +109,3 @@ class modGeneratePassNone extends ModeleGenPassword return 1; } } - diff --git a/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php b/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php index 0ecf7d7ef38..124ecf32321 100644 --- a/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php +++ b/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php @@ -135,4 +135,3 @@ class modGeneratePassStandard extends ModeleGenPassword return 1; } } - diff --git a/htdocs/core/modules/security/generate/modules_genpassword.php b/htdocs/core/modules/security/generate/modules_genpassword.php index e1f73b134be..a22d19e0845 100644 --- a/htdocs/core/modules/security/generate/modules_genpassword.php +++ b/htdocs/core/modules/security/generate/modules_genpassword.php @@ -90,4 +90,3 @@ abstract class ModeleGenPassword return 1; } } - diff --git a/htdocs/core/modules/societe/mod_codeclient_leopard.php b/htdocs/core/modules/societe/mod_codeclient_leopard.php index 9bdd27d5bee..330782d3775 100644 --- a/htdocs/core/modules/societe/mod_codeclient_leopard.php +++ b/htdocs/core/modules/societe/mod_codeclient_leopard.php @@ -139,4 +139,3 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode return $result; } } - diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php index 908b3c8ba41..292cd2c8370 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php @@ -248,4 +248,3 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices return $this->getNextValue($objsoc,$objforref,$mode); } } - diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php index a3cb291263a..7f42e3cca50 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -197,4 +197,3 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices return $this->getNextValue($objsoc,$objforref,$mode); } } - diff --git a/htdocs/core/search.php b/htdocs/core/search.php index 8e6017cdf3b..2fb0efdbe48 100644 --- a/htdocs/core/search.php +++ b/htdocs/core/search.php @@ -152,4 +152,3 @@ else { print 'The wrapper search.php was called without any search criteria'; } - diff --git a/htdocs/core/tpl/card_presend.tpl.php b/htdocs/core/tpl/card_presend.tpl.php index db3514d7778..88419d0ec16 100644 --- a/htdocs/core/tpl/card_presend.tpl.php +++ b/htdocs/core/tpl/card_presend.tpl.php @@ -228,4 +228,3 @@ if ($action == 'presend') dol_fiche_end(); } - diff --git a/htdocs/core/tpl/object_discounts.tpl.php b/htdocs/core/tpl/object_discounts.tpl.php index 70698bfa7eb..4b0c8489a04 100644 --- a/htdocs/core/tpl/object_discounts.tpl.php +++ b/htdocs/core/tpl/object_discounts.tpl.php @@ -105,4 +105,3 @@ if($absolute_discount <= 0 && $absolute_creditnote <= 0) { print ' (' . $addabsolutediscount . ')'; } } - diff --git a/htdocs/core/tpl/onlinepaymentlinks.tpl.php b/htdocs/core/tpl/onlinepaymentlinks.tpl.php index 37639a5f8e6..0a3603fbc80 100644 --- a/htdocs/core/tpl/onlinepaymentlinks.tpl.php +++ b/htdocs/core/tpl/onlinepaymentlinks.tpl.php @@ -161,5 +161,3 @@ if (! empty($conf->use_javascript_ajax)) print info_admin($langs->trans("YouCanAddTagOnUrl")); print '<!-- END PHP TEMPLATE ONLINEPAYMENTLINKS -->'; - - diff --git a/htdocs/dav/dav.lib.php b/htdocs/dav/dav.lib.php index 719fc2a5c99..a212209d81d 100644 --- a/htdocs/dav/dav.lib.php +++ b/htdocs/dav/dav.lib.php @@ -69,4 +69,3 @@ function dav_admin_prepare_head() return $head; } - diff --git a/htdocs/ecm/ajax/ecmdatabase.php b/htdocs/ecm/ajax/ecmdatabase.php index 9c4b9ffa952..2ab1060e3e6 100644 --- a/htdocs/ecm/ajax/ecmdatabase.php +++ b/htdocs/ecm/ajax/ecmdatabase.php @@ -180,4 +180,3 @@ if (isset($action) && ! empty($action)) $db->query($sql); } } - diff --git a/htdocs/ecm/class/htmlecm.form.class.php b/htdocs/ecm/class/htmlecm.form.class.php index b6000cad923..cce1201980d 100644 --- a/htdocs/ecm/class/htmlecm.form.class.php +++ b/htdocs/ecm/class/htmlecm.form.class.php @@ -105,4 +105,3 @@ class FormEcm return $output; } } - diff --git a/htdocs/emailcollector/class/emailcollectorfilter.class.php b/htdocs/emailcollector/class/emailcollectorfilter.class.php index cafde3a820c..64dd6cbbe67 100644 --- a/htdocs/emailcollector/class/emailcollectorfilter.class.php +++ b/htdocs/emailcollector/class/emailcollectorfilter.class.php @@ -490,4 +490,3 @@ class EmailCollectorFilter extends CommonObject $this->initAsSpecimenCommon(); } } - diff --git a/htdocs/expedition/class/expeditionstats.class.php b/htdocs/expedition/class/expeditionstats.class.php index 26f7bda7a2a..fed2aaa380a 100644 --- a/htdocs/expedition/class/expeditionstats.class.php +++ b/htdocs/expedition/class/expeditionstats.class.php @@ -143,4 +143,3 @@ class ExpeditionStats extends Stats return $this->_getAllByYear($sql); } } - diff --git a/htdocs/expensereport/class/expensereportstats.class.php b/htdocs/expensereport/class/expensereportstats.class.php index 7901e813edc..243a368d81a 100644 --- a/htdocs/expensereport/class/expensereportstats.class.php +++ b/htdocs/expensereport/class/expensereportstats.class.php @@ -177,4 +177,3 @@ class ExpenseReportStats extends Stats return $this->_getAllByYear($sql); } } - diff --git a/htdocs/fichinter/class/fichinterstats.class.php b/htdocs/fichinter/class/fichinterstats.class.php index 0475a2116eb..4d68fee365a 100644 --- a/htdocs/fichinter/class/fichinterstats.class.php +++ b/htdocs/fichinter/class/fichinterstats.class.php @@ -211,4 +211,3 @@ class FichinterStats extends Stats return $this->_getAllByProduct($sql); } } - diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 4edfa3d0623..069806e4588 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -294,4 +294,3 @@ if (preg_match('/crypted:/i',$dolibarr_main_db_pass) || ! empty($dolibarr_main_d } else $dolibarr_main_db_pass = dol_decode($dolibarr_main_db_encrypted_pass); } - diff --git a/htdocs/fourn/ajax/getSupplierPrices.php b/htdocs/fourn/ajax/getSupplierPrices.php index ae407d5544d..3224fbbce51 100644 --- a/htdocs/fourn/ajax/getSupplierPrices.php +++ b/htdocs/fourn/ajax/getSupplierPrices.php @@ -97,4 +97,3 @@ if ($idprod > 0) } echo json_encode($prices); - diff --git a/htdocs/holiday/common.inc.php b/htdocs/holiday/common.inc.php index 96111cf6df0..b9a42c55e58 100644 --- a/htdocs/holiday/common.inc.php +++ b/htdocs/holiday/common.inc.php @@ -40,4 +40,3 @@ if (empty($conf->holiday->enabled)) llxFooter(); exit(); } - diff --git a/htdocs/install/index.php b/htdocs/install/index.php index 46e60be52ec..3c66a317c3d 100644 --- a/htdocs/install/index.php +++ b/htdocs/install/index.php @@ -66,4 +66,3 @@ print '<br><br>'.$langs->trans("SomeTranslationAreUncomplete"); // If there's no error, we display the next step button if ($err == 0) pFooter(0); - diff --git a/htdocs/install/lib/repair.lib.php b/htdocs/install/lib/repair.lib.php index 43a6d2bce27..9eca3ab5081 100644 --- a/htdocs/install/lib/repair.lib.php +++ b/htdocs/install/lib/repair.lib.php @@ -142,4 +142,3 @@ function clean_data_ecm_directories() return; } - diff --git a/htdocs/install/phpinfo.php b/htdocs/install/phpinfo.php index b3817dcbde2..895436c2069 100644 --- a/htdocs/install/phpinfo.php +++ b/htdocs/install/phpinfo.php @@ -24,4 +24,3 @@ include_once 'inc.php'; phpinfo(); - diff --git a/htdocs/install/step5.php b/htdocs/install/step5.php index b39f67dd3ba..9a548928834 100644 --- a/htdocs/install/step5.php +++ b/htdocs/install/step5.php @@ -469,4 +469,3 @@ pFooter(1,$setuplang); // Return code if ran from command line if ($ret) exit($ret); - diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index cf6cbf28e45..b4e37b52859 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -4924,4 +4924,3 @@ On les corrige: update llx_facture set paye=1, fk_statut=2 where close_code is null and rowid in (...) */ - diff --git a/htdocs/loan/note.php b/htdocs/loan/note.php index e066ef07a8e..70eb7c6af7c 100644 --- a/htdocs/loan/note.php +++ b/htdocs/loan/note.php @@ -132,4 +132,3 @@ if ($id > 0) // End of page llxFooter(); $db->close(); - diff --git a/htdocs/margin/index.php b/htdocs/margin/index.php index 04a2ba0d544..c223caf775b 100644 --- a/htdocs/margin/index.php +++ b/htdocs/margin/index.php @@ -33,4 +33,3 @@ if ($user->rights->produit->lire) { } header('Location: '.dol_buildpath('/margin/'.$page.'.php', 1)); - diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 10ff15fbabf..45018b60902 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -246,4 +246,3 @@ $hookmanager=new HookManager($db); if (! defined('MAIN_LABEL_MENTION_NPR') ) define('MAIN_LABEL_MENTION_NPR','NPR'); - diff --git a/htdocs/modulebuilder/template/admin/setup.php b/htdocs/modulebuilder/template/admin/setup.php index 6e0be4d0011..68fccf07445 100644 --- a/htdocs/modulebuilder/template/admin/setup.php +++ b/htdocs/modulebuilder/template/admin/setup.php @@ -144,4 +144,3 @@ dol_fiche_end(); llxFooter(); $db->close(); - diff --git a/htdocs/paybox/lib/paybox.lib.php b/htdocs/paybox/lib/paybox.lib.php index 849d8a7129c..3cb75bf9741 100644 --- a/htdocs/paybox/lib/paybox.lib.php +++ b/htdocs/paybox/lib/paybox.lib.php @@ -196,4 +196,3 @@ function print_paybox_redirect($PRICE,$CURRENCY,$EMAIL,$urlok,$urlko,$TAG) return; } - diff --git a/htdocs/paypal/lib/paypal.lib.php b/htdocs/paypal/lib/paypal.lib.php index 37cc2fdbeba..4b3be81c256 100644 --- a/htdocs/paypal/lib/paypal.lib.php +++ b/htdocs/paypal/lib/paypal.lib.php @@ -739,4 +739,3 @@ function getApiError() return $errors; } - diff --git a/htdocs/paypal/lib/paypalfunctions.lib.php b/htdocs/paypal/lib/paypalfunctions.lib.php index 00f67bfa1f0..63d19f9ded2 100644 --- a/htdocs/paypal/lib/paypalfunctions.lib.php +++ b/htdocs/paypal/lib/paypalfunctions.lib.php @@ -75,4 +75,3 @@ $PROXY_PORT = $conf->global->MAIN_PROXY_PORT; $PROXY_USER = $conf->global->MAIN_PROXY_USER; $PROXY_PASS = $conf->global->MAIN_PROXY_PASS; $USE_PROXY = empty($conf->global->MAIN_PROXY_USE)?false:true; - diff --git a/htdocs/product/admin/product.php b/htdocs/product/admin/product.php index 334640e87d3..fefa04624e5 100644 --- a/htdocs/product/admin/product.php +++ b/htdocs/product/admin/product.php @@ -746,4 +746,3 @@ print '</form>'; // End of page llxFooter(); $db->close(); - diff --git a/htdocs/product/ajax/products.php b/htdocs/product/ajax/products.php index 6a286d6e7d2..196b4b609aa 100644 --- a/htdocs/product/ajax/products.php +++ b/htdocs/product/ajax/products.php @@ -197,4 +197,3 @@ else if ($outjson) print json_encode($arrayresult); } - diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 56519e6f46b..6bcf561083b 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -507,4 +507,3 @@ function activitytrim($product_type) print '</table>'; } } - diff --git a/htdocs/product/note.php b/htdocs/product/note.php index e77360b46be..a595d344e37 100644 --- a/htdocs/product/note.php +++ b/htdocs/product/note.php @@ -118,4 +118,3 @@ if ($id > 0 || ! empty($ref)) // End of page llxFooter(); $db->close(); - diff --git a/htdocs/product/stock/lib/replenishment.lib.php b/htdocs/product/stock/lib/replenishment.lib.php index 486e8373255..a4002cc4ee2 100644 --- a/htdocs/product/stock/lib/replenishment.lib.php +++ b/htdocs/product/stock/lib/replenishment.lib.php @@ -172,4 +172,3 @@ function getProducts($order_id) } return $products; } - diff --git a/htdocs/projet/ajax/projects.php b/htdocs/projet/ajax/projects.php index 46699ba01dd..cbc57ca6f3f 100644 --- a/htdocs/projet/ajax/projects.php +++ b/htdocs/projet/ajax/projects.php @@ -70,4 +70,3 @@ $arrayresult=$form->select_projects_list($socid, '', $htmlname, 0, 0, 1, $discar $db->close(); print json_encode($arrayresult); - diff --git a/htdocs/public/agenda/index.php b/htdocs/public/agenda/index.php index 1c06e10b06d..112a07951b8 100644 --- a/htdocs/public/agenda/index.php +++ b/htdocs/public/agenda/index.php @@ -25,4 +25,3 @@ require '../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index 0409e849df0..15926df3df2 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -482,4 +482,3 @@ function llxFooterVierge() print "</div></body>\n"; print "</html>\n"; } - diff --git a/htdocs/public/donations/index.php b/htdocs/public/donations/index.php index 23f8e0e4cdc..08e7650a152 100644 --- a/htdocs/public/donations/index.php +++ b/htdocs/public/donations/index.php @@ -25,4 +25,3 @@ require '../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/index.php b/htdocs/public/index.php index d02276ef269..e1030c9973a 100644 --- a/htdocs/public/index.php +++ b/htdocs/public/index.php @@ -25,4 +25,3 @@ require '../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/members/index.php b/htdocs/public/members/index.php index 1ec9a1d1833..42bfa7713cf 100644 --- a/htdocs/public/members/index.php +++ b/htdocs/public/members/index.php @@ -25,4 +25,3 @@ require '../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/members/public_card.php b/htdocs/public/members/public_card.php index c2df82fb2f2..a2a430afddd 100644 --- a/htdocs/public/members/public_card.php +++ b/htdocs/public/members/public_card.php @@ -156,4 +156,3 @@ function llxFooterVierge() print "</body>\n"; print "</html>\n"; } - diff --git a/htdocs/public/notice.php b/htdocs/public/notice.php index 6a55411ae3b..c4ab121db18 100644 --- a/htdocs/public/notice.php +++ b/htdocs/public/notice.php @@ -47,4 +47,3 @@ else if (GETPOST('transphrase','alphanohtml')) print GETPOST('transphrase','alphanohtml'); if (GETPOST('transkey','alphanohtml')) print $langs->trans(GETPOST('transkey','alphanohtml')); } - diff --git a/htdocs/public/paybox/index.php b/htdocs/public/paybox/index.php index 0b7ad1c82e4..58d748aba72 100644 --- a/htdocs/public/paybox/index.php +++ b/htdocs/public/paybox/index.php @@ -25,4 +25,3 @@ require '../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/payment/index.php b/htdocs/public/payment/index.php index cc491b860d3..21786830df6 100644 --- a/htdocs/public/payment/index.php +++ b/htdocs/public/payment/index.php @@ -25,4 +25,3 @@ require '../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/paypal/index.php b/htdocs/public/paypal/index.php index 2e7f2772687..0cba12e6aa2 100644 --- a/htdocs/public/paypal/index.php +++ b/htdocs/public/paypal/index.php @@ -25,4 +25,3 @@ require '../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/stripe/index.php b/htdocs/public/stripe/index.php index 6a86f3ed88e..6958940ea48 100644 --- a/htdocs/public/stripe/index.php +++ b/htdocs/public/stripe/index.php @@ -25,4 +25,3 @@ require '../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/theme/common/index.php b/htdocs/public/theme/common/index.php index 0d25c726b33..2a9d8b8c2a9 100644 --- a/htdocs/public/theme/common/index.php +++ b/htdocs/public/theme/common/index.php @@ -26,4 +26,3 @@ require '../../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/public/theme/index.php b/htdocs/public/theme/index.php index 1d8c522741d..6b5d38f5e94 100644 --- a/htdocs/public/theme/index.php +++ b/htdocs/public/theme/index.php @@ -26,4 +26,3 @@ require '../../master.inc.php'; header("Location: ".DOL_URL_ROOT.'/public/error-404.php'); - diff --git a/htdocs/reception/class/receptionstats.class.php b/htdocs/reception/class/receptionstats.class.php index 3f60a9846fb..0823bfb6393 100644 --- a/htdocs/reception/class/receptionstats.class.php +++ b/htdocs/reception/class/receptionstats.class.php @@ -139,4 +139,3 @@ class ReceptionStats extends Stats return $this->_getAllByYear($sql); } } - diff --git a/htdocs/societe/ajax/company.php b/htdocs/societe/ajax/company.php index 2cfdce9c01c..633ac22663c 100644 --- a/htdocs/societe/ajax/company.php +++ b/htdocs/societe/ajax/company.php @@ -94,4 +94,3 @@ else if ($outjson) print json_encode($arrayresult); } - diff --git a/htdocs/societe/ajaxcountries.php b/htdocs/societe/ajaxcountries.php index f67d01facce..caf93fd6972 100644 --- a/htdocs/societe/ajaxcountries.php +++ b/htdocs/societe/ajaxcountries.php @@ -75,4 +75,3 @@ if (! empty($country)) print '</ul>'; } } - diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index 2891724ac7e..822e4134384 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -415,4 +415,3 @@ class CompanyBankAccount extends Account $this->socid = 0; } } - diff --git a/htdocs/societe/note.php b/htdocs/societe/note.php index 9f1adb16fc7..139265ba3a3 100644 --- a/htdocs/societe/note.php +++ b/htdocs/societe/note.php @@ -132,4 +132,3 @@ else // End of page llxFooter(); $db->close(); - diff --git a/htdocs/societe/tpl/linesalesrepresentative.tpl.php b/htdocs/societe/tpl/linesalesrepresentative.tpl.php index c2ea3d987a5..b35f85b0f15 100644 --- a/htdocs/societe/tpl/linesalesrepresentative.tpl.php +++ b/htdocs/societe/tpl/linesalesrepresentative.tpl.php @@ -49,4 +49,3 @@ if ($nbofsalesrepresentative > 0) } else print '<span class="opacitymedium">'.$langs->trans("NoSalesRepresentativeAffected").'</span>'; print '</td></tr>'; - diff --git a/htdocs/stripe/lib/stripe.lib.php b/htdocs/stripe/lib/stripe.lib.php index fbafd47c3ab..f71012222ac 100644 --- a/htdocs/stripe/lib/stripe.lib.php +++ b/htdocs/stripe/lib/stripe.lib.php @@ -199,4 +199,3 @@ function html_print_stripe_footer($fromcompany,$langs) print $line2; print '</font></div>'."\n"; } - diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php index c1cf83097b6..049ca294091 100644 --- a/htdocs/support/inc.php +++ b/htdocs/support/inc.php @@ -250,4 +250,3 @@ function pFooter($nonext=0,$setuplang='') print '</body>'."\n"; print '</html>'."\n"; } - diff --git a/htdocs/theme/eldy/graph-color.php b/htdocs/theme/eldy/graph-color.php index 920fa7833af..49091d810b1 100644 --- a/htdocs/theme/eldy/graph-color.php +++ b/htdocs/theme/eldy/graph-color.php @@ -31,4 +31,3 @@ $theme_bordercolor = array(235,235,224); $theme_datacolor = array(array(136,102,136), array(0,130,110), array(140,140,220), array(190,120,120), array(190,190,100), array(115,125,150), array(100,170,20), array(250,190,30), array(150,135,125), array(85,135,150), array(150,135,80), array(150,80,150)); $theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); $theme_bgcoloronglet = array(hexdec('DE'),hexdec('E7'),hexdec('EC')); - diff --git a/htdocs/theme/md/graph-color.php b/htdocs/theme/md/graph-color.php index 72cc839043b..78a621ada1d 100644 --- a/htdocs/theme/md/graph-color.php +++ b/htdocs/theme/md/graph-color.php @@ -31,4 +31,3 @@ $theme_bordercolor = array(235,235,224); $theme_datacolor = array(array(136,102,136), array(0,130,110), array(140,140,220), array(190,120,120), array(190,190,100), array(115,125,150), array(100,170,20), array(250,190,30), array(150,135,125), array(85,135,150), array(150,135,80), array(150,80,150)); $theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); $theme_bgcoloronglet = array(hexdec('DE'),hexdec('E7'),hexdec('EC')); - diff --git a/htdocs/variants/ajax/orderAttribute.php b/htdocs/variants/ajax/orderAttribute.php index 92bbcc241d5..518b41fb388 100644 --- a/htdocs/variants/ajax/orderAttribute.php +++ b/htdocs/variants/ajax/orderAttribute.php @@ -50,4 +50,3 @@ if (isset($_POST['roworder'])) { ProductAttribute::bulkUpdateOrder($db, $newrowordertab); } - diff --git a/htdocs/webservices/index.php b/htdocs/webservices/index.php index e0a1ba998c8..2f469fa95fd 100644 --- a/htdocs/webservices/index.php +++ b/htdocs/webservices/index.php @@ -54,4 +54,3 @@ print 'List of available SOAP Web services is visible on the setup area, setup p $db->close(); - diff --git a/scripts/contracts/email_expire_services_to_customers.php b/scripts/contracts/email_expire_services_to_customers.php index 43a0b2524e6..326f0b44d72 100755 --- a/scripts/contracts/email_expire_services_to_customers.php +++ b/scripts/contracts/email_expire_services_to_customers.php @@ -314,4 +314,3 @@ function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldtarget,$durati return -1; } } - diff --git a/scripts/contracts/email_expire_services_to_representatives.php b/scripts/contracts/email_expire_services_to_representatives.php index a23652a779f..2a80c610f0e 100755 --- a/scripts/contracts/email_expire_services_to_representatives.php +++ b/scripts/contracts/email_expire_services_to_representatives.php @@ -280,4 +280,3 @@ function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldsalerepresenta return -1; } } - diff --git a/scripts/invoices/email_unpaid_invoices_to_customers.php b/scripts/invoices/email_unpaid_invoices_to_customers.php index 57fdeeed76f..c9d59e46502 100755 --- a/scripts/invoices/email_unpaid_invoices_to_customers.php +++ b/scripts/invoices/email_unpaid_invoices_to_customers.php @@ -305,4 +305,3 @@ function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldtarget) return -1; } } - diff --git a/scripts/invoices/email_unpaid_invoices_to_representatives.php b/scripts/invoices/email_unpaid_invoices_to_representatives.php index 37b421bcefd..bb4b90c81ce 100755 --- a/scripts/invoices/email_unpaid_invoices_to_representatives.php +++ b/scripts/invoices/email_unpaid_invoices_to_representatives.php @@ -277,4 +277,3 @@ function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldsalerepresenta return -1; } } - diff --git a/scripts/members/sync_members_ldap2dolibarr.php b/scripts/members/sync_members_ldap2dolibarr.php index d7d4fbdeaaf..a82caf4cbe7 100755 --- a/scripts/members/sync_members_ldap2dolibarr.php +++ b/scripts/members/sync_members_ldap2dolibarr.php @@ -340,4 +340,3 @@ function dolValidElement($element) { return (trim($element) != ''); } - diff --git a/scripts/members/sync_members_types_ldap2dolibarr.php b/scripts/members/sync_members_types_ldap2dolibarr.php index cb85e38bd89..b9ded8436b7 100755 --- a/scripts/members/sync_members_types_ldap2dolibarr.php +++ b/scripts/members/sync_members_types_ldap2dolibarr.php @@ -216,4 +216,3 @@ function dolValidElementType($element) { return (trim($element) != ''); } - diff --git a/scripts/modulebuilder/initmodule.php b/scripts/modulebuilder/initmodule.php index bee931dc8fa..09daa1024d5 100755 --- a/scripts/modulebuilder/initmodule.php +++ b/scripts/modulebuilder/initmodule.php @@ -172,4 +172,3 @@ if (! $error) print 'Module initialized'."\n"; exit(0); - diff --git a/scripts/user/sync_groups_ldap2dolibarr.php b/scripts/user/sync_groups_ldap2dolibarr.php index 4063d2f9321..6ddf94b6022 100755 --- a/scripts/user/sync_groups_ldap2dolibarr.php +++ b/scripts/user/sync_groups_ldap2dolibarr.php @@ -263,4 +263,3 @@ function dolValidElement($element) { return (trim($element) != ''); } - diff --git a/scripts/user/sync_users_ldap2dolibarr.php b/scripts/user/sync_users_ldap2dolibarr.php index 320a1f495ad..bd7f136ab9c 100755 --- a/scripts/user/sync_users_ldap2dolibarr.php +++ b/scripts/user/sync_users_ldap2dolibarr.php @@ -319,4 +319,3 @@ function dolValidElement($element) { return (trim($element) != ''); } - From ac63a7b6b5ebbb699981fc350a1432900c848360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= <frederic34@users.noreply.github.com> Date: Sun, 27 Jan 2019 14:30:23 +0100 Subject: [PATCH 036/130] do not trim int, use cast --- htdocs/adherents/type.php | 46 ++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index c1ce5c2c294..d24802a6a41 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -105,8 +105,8 @@ if ($cancel) { if ($action == 'add' && $user->rights->adherent->configurer) { $object->label = trim($label); - $object->statut = trim($statut); - $object->subscription = (int) trim($subscription); + $object->statut = (int) $statut; + $object->subscription = (int) $subscription; $object->note = trim($comment); $object->mail_valid = trim($mail_valid); $object->vote = (boolean) trim($vote); @@ -159,8 +159,8 @@ if ($action == 'update' && $user->rights->adherent->configurer) $object->oldcopy = clone $object; $object->label = trim($label); - $object->statut = trim($statut); - $object->subscription = (int) trim($subscription); + $object->statut = (int) $statut; + $object->subscription = (int) $subscription; $object->note = trim($comment); $object->mail_valid = trim($mail_valid); $object->vote = (boolean) trim($vote); @@ -283,9 +283,12 @@ if (! $rowid && $action != 'create' && $action != 'edit') print '<td align="center">'.yn($objp->subscription).'</td>'; print '<td align="center">'.yn($objp->vote).'</td>'; print '<td align="center">'; -if ( !empty($objp->statut) ) print img_picto($langs->trans("InActivity"),'statut4'); -else print img_picto($langs->trans("ActivityCeased"),'statut5'); - print '</td>'; + if ( !empty($objp->statut) ) { + print img_picto($langs->trans("InActivity"),'statut4'); + } else { + print img_picto($langs->trans("ActivityCeased"),'statut5'); + } + print '</td>'; if ($user->rights->adherent->configurer) print '<td class="right"><a href="'.$_SERVER["PHP_SELF"].'?action=edit&rowid='.$objp->rowid.'">'.img_edit().'</a></td>'; else @@ -351,7 +354,7 @@ if ($action == 'create') // Other attributes $parameters=array(); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$act,$action); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; + print $hookmanager->resPrint; if (empty($reshook)) { print $object->showOptionals($extrafields,'edit'); @@ -405,8 +408,11 @@ if ($rowid > 0) print '<table class="border" width="100%">'; print '<tr><td class="titlefield">'.$langs->trans("Status").'</td><td>'; - if ( !empty($object->statut) ) print img_picto($langs->trans('TypeStatusActive'),'statut4').' '.$langs->trans("InActivity"); - else print img_picto($langs->trans('TypeStatusInactive'),'statut5').' '.$langs->trans("ActivityCeased"); + if ( !empty($object->statut) ) { + print img_picto($langs->trans('TypeStatusActive'),'statut4').' '.$langs->trans("InActivity"); + } else { + print img_picto($langs->trans('TypeStatusInactive'),'statut5').' '.$langs->trans("ActivityCeased"); + } print '</tr>'; print '<tr><td class="titlefield">'.$langs->trans("SubscriptionRequired").'</td><td>'; @@ -444,12 +450,12 @@ if ($rowid > 0) } // Add - if ( $user->rights->adherent->configurer && !empty($object->statut) ) + if ( $user->rights->adherent->configurer && !empty($object->statut) ) { - print '<div class="inline-block divButAction"><a class="butAction" href="card.php?action=create&typeid='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?rowid='.$object->id).'">'.$langs->trans("AddMember").'</a></div>'; - } else { - print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("NoAddMember")).'">'.$langs->trans("AddMember").'</a></div>'; - } + print '<div class="inline-block divButAction"><a class="butAction" href="card.php?action=create&typeid='.$object->id.'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?rowid='.$object->id).'">'.$langs->trans("AddMember").'</a></div>'; + } else { + print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("NoAddMember")).'">'.$langs->trans("AddMember").'</a></div>'; + } // Delete if ($user->rights->adherent->configurer) @@ -598,8 +604,8 @@ if ($rowid > 0) print '<td align="right" colspan="2" class="liste_titre">'; print '<input type="image" class="liste_titre" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" name="button_search" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">'; - print '  '; - print '<input type="image" class="liste_titre" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/searchclear.png" name="button_removefilter" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">'; + print '  '; + print '<input type="image" class="liste_titre" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/searchclear.png" name="button_removefilter" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">'; print '</td>'; print "</tr>\n"; @@ -746,10 +752,10 @@ if ($rowid > 0) print '<tr><td class="fieldrequired">'.$langs->trans("Label").'</td><td><input type="text" name="label" size="40" value="'.dol_escape_htmltag($object->label).'"></td></tr>'; print '<tr><td>'.$langs->trans("Status").'</td><td>'; - print $form->selectarray('statut', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')), $object->statut); - print '</td></tr>'; + print $form->selectarray('statut', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')), $object->statut); + print '</td></tr>'; - print '<tr><td>'.$langs->trans("SubscriptionRequired").'</td><td>'; + print '<tr><td>'.$langs->trans("SubscriptionRequired").'</td><td>'; print $form->selectyesno("subscription",$object->subscription,1); print '</td></tr>'; From 0e3efadf59ca253740c44f6ef1372dcc54524edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= <frederic34@users.noreply.github.com> Date: Sun, 27 Jan 2019 14:37:37 +0100 Subject: [PATCH 037/130] typo in fournisseur.product.class.php --- htdocs/fourn/class/fournisseur.product.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index d721a4a9254..9dfd7dcf264 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -329,11 +329,11 @@ class ProductFournisseur extends Product if ($resql) { // Call trigger - $result=$this->call_trigger('SUPPLIER_PRODUCT_BUYPRICE_UPDATE',$user); + $result=$this->call_trigger('SUPPLIER_PRODUCT_BUYPRICE_UPDATE', $user); if ($result < 0) $error++; // End call triggers if (! $error && empty($conf->global->PRODUCT_PRICE_SUPPLIER_NO_LOG)) { - $result = $this->logPrice($user, $now, $buyprice, $qty, $multicurrency_buyprice, $multicurrency_unitBuyPrice, $multicurrency_tx, $fk_multicurrenc, $multicurrency_code); + $result = $this->logPrice($user, $now, $buyprice, $qty, $multicurrency_buyprice, $multicurrency_unitBuyPrice, $multicurrency_tx, $fk_multicurrency, $multicurrency_code); if ($result < 0) { $error++; } From f0cdf300d1299b107f70f089d15a5c3656c52dab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= <frederic.france@free.fr> Date: Sun, 27 Jan 2019 15:20:16 +0100 Subject: [PATCH 038/130] Squiz.Functions.FunctionDeclarationArgumentSpacing --- dev/setup/codesniffer/ruleset.xml | 11 +- dev/translation/autotranslator.class.php | 8 +- htdocs/accountancy/admin/accountmodel.php | 2 +- htdocs/accountancy/admin/categories_list.php | 2 +- htdocs/accountancy/admin/journals_list.php | 2 +- .../class/accountancycategory.class.php | 14 +- .../class/accountingaccount.class.php | 6 +- .../class/accountingjournal.class.php | 6 +- .../accountancy/class/bookkeeping.class.php | 22 +- htdocs/adherents/class/adherent.class.php | 32 +-- .../adherents/class/adherent_type.class.php | 10 +- .../adherents/class/adherentstats.class.php | 6 +- htdocs/adherents/class/api_members.class.php | 2 +- htdocs/adherents/class/subscription.class.php | 8 +- htdocs/admin/dict.php | 2 +- .../admin/dolistore/class/dolistore.class.php | 2 +- htdocs/admin/mails_templates.php | 2 +- htdocs/admin/website.php | 2 +- htdocs/api/class/api.class.php | 4 +- htdocs/api/class/api_login.class.php | 2 +- htdocs/asset/class/asset.class.php | 6 +- htdocs/asset/class/asset_type.class.php | 8 +- htdocs/blockedlog/class/authority.class.php | 2 +- htdocs/blockedlog/class/blockedlog.class.php | 12 +- htdocs/cashdesk/class/Facturation.class.php | 32 +-- htdocs/categories/class/categorie.class.php | 26 +-- htdocs/comm/action/class/actioncomm.class.php | 18 +- .../action/class/actioncommreminder.class.php | 4 +- .../comm/action/class/cactioncomm.class.php | 4 +- htdocs/comm/action/index.php | 2 +- htdocs/comm/action/pertype.php | 2 +- htdocs/comm/action/peruser.php | 2 +- .../mailing/class/advtargetemailing.class.php | 14 +- .../html.formadvtargetemailing.class.php | 14 +- htdocs/comm/mailing/class/mailing.class.php | 10 +- .../comm/propal/class/api_proposals.class.php | 4 +- htdocs/comm/propal/class/propal.class.php | 68 +++--- .../comm/propal/class/propalestats.class.php | 4 +- htdocs/commande/class/api_orders.class.php | 6 +- htdocs/commande/class/commande.class.php | 62 ++--- htdocs/commande/class/commandestats.class.php | 6 +- htdocs/compta/bank/class/account.class.php | 30 +-- .../bank/class/api_bankaccounts.class.php | 2 +- .../bank/class/paymentvarious.class.php | 10 +- .../cashcontrol/class/cashcontrol.class.php | 6 +- .../deplacement/class/deplacement.class.php | 10 +- .../class/deplacementstats.class.php | 6 +- .../facture/class/api_invoices.class.php | 14 +- .../facture/class/facture-rec.class.php | 24 +- htdocs/compta/facture/class/facture.class.php | 56 ++--- .../facture/class/facturestats.class.php | 6 +- .../facture/class/paymentterm.class.php | 6 +- .../compta/localtax/class/localtax.class.php | 8 +- .../cheque/class/remisecheque.class.php | 14 +- .../compta/paiement/class/paiement.class.php | 26 +-- .../class/bonprelevement.class.php | 24 +- .../class/ligneprelevement.class.php | 4 +- .../class/rejetprelevement.class.php | 4 +- .../salaries/class/paymentsalary.class.php | 10 +- .../salaries/class/salariesstats.class.php | 6 +- .../sociales/class/cchargesociales.class.php | 6 +- .../sociales/class/chargesociales.class.php | 8 +- .../class/paymentsocialcontribution.class.php | 14 +- htdocs/compta/tva/class/tva.class.php | 10 +- htdocs/contact/class/contact.class.php | 14 +- htdocs/contrat/class/api_contracts.class.php | 4 +- htdocs/contrat/class/contrat.class.php | 44 ++-- htdocs/core/ajax/ajaxdirtree.php | 2 +- htdocs/core/boxes/box_actions.php | 6 +- htdocs/core/boxes/box_activity.php | 6 +- htdocs/core/boxes/box_bookmarks.php | 6 +- htdocs/core/boxes/box_clients.php | 6 +- htdocs/core/boxes/box_commandes.php | 6 +- htdocs/core/boxes/box_comptes.php | 6 +- htdocs/core/boxes/box_contacts.php | 6 +- htdocs/core/boxes/box_contracts.php | 6 +- htdocs/core/boxes/box_external_rss.php | 6 +- htdocs/core/boxes/box_factures.php | 6 +- htdocs/core/boxes/box_factures_fourn.php | 6 +- htdocs/core/boxes/box_factures_fourn_imp.php | 6 +- htdocs/core/boxes/box_factures_imp.php | 6 +- htdocs/core/boxes/box_ficheinter.php | 6 +- htdocs/core/boxes/box_fournisseurs.php | 6 +- htdocs/core/boxes/box_goodcustomers.php | 6 +- .../boxes/box_graph_invoices_permonth.php | 6 +- .../box_graph_invoices_supplier_permonth.php | 6 +- .../core/boxes/box_graph_orders_permonth.php | 6 +- .../box_graph_orders_supplier_permonth.php | 6 +- .../boxes/box_graph_product_distribution.php | 6 +- .../boxes/box_graph_propales_permonth.php | 6 +- .../core/boxes/box_last_modified_ticket.php | 2 +- htdocs/core/boxes/box_last_ticket.php | 2 +- htdocs/core/boxes/box_lastlogin.php | 6 +- htdocs/core/boxes/box_members.php | 6 +- htdocs/core/boxes/box_produits.php | 6 +- .../core/boxes/box_produits_alerte_stock.php | 6 +- htdocs/core/boxes/box_project.php | 6 +- htdocs/core/boxes/box_propales.php | 6 +- htdocs/core/boxes/box_prospect.php | 6 +- htdocs/core/boxes/box_services_contracts.php | 6 +- htdocs/core/boxes/box_services_expired.php | 6 +- htdocs/core/boxes/box_supplier_orders.php | 4 +- htdocs/core/boxes/box_task.php | 6 +- htdocs/core/boxes/modules_boxes.php | 6 +- htdocs/core/class/CMailFile.class.php | 8 +- htdocs/core/class/CSMSFile.class.php | 2 +- htdocs/core/class/canvas.class.php | 6 +- htdocs/core/class/ccountry.class.php | 8 +- htdocs/core/class/comment.class.php | 8 +- .../core/class/commondocgenerator.class.php | 18 +- htdocs/core/class/commoninvoice.class.php | 18 +- htdocs/core/class/commonobject.class.php | 108 ++++----- htdocs/core/class/commonobjectline.class.php | 2 +- .../class/commonstickergenerator.class.php | 10 +- htdocs/core/class/coreobject.class.php | 6 +- htdocs/core/class/cstate.class.php | 8 +- htdocs/core/class/ctypent.class.php | 8 +- htdocs/core/class/ctyperesource.class.php | 4 +- htdocs/core/class/discount.class.php | 12 +- htdocs/core/class/doleditor.class.php | 4 +- htdocs/core/class/dolgeoip.class.php | 2 +- htdocs/core/class/dolgraph.class.php | 10 +- htdocs/core/class/dolreceiptprinter.class.php | 4 +- .../core/class/emailsenderprofile.class.php | 8 +- htdocs/core/class/events.class.php | 4 +- htdocs/core/class/extrafields.class.php | 26 +-- htdocs/core/class/fileupload.class.php | 2 +- htdocs/core/class/fiscalyear.class.php | 4 +- htdocs/core/class/google.class.php | 2 +- htdocs/core/class/hookmanager.class.php | 2 +- htdocs/core/class/html.form.class.php | 156 ++++++------- .../core/class/html.formaccounting.class.php | 8 +- htdocs/core/class/html.formactions.class.php | 6 +- htdocs/core/class/html.formadmin.class.php | 8 +- htdocs/core/class/html.formbarcode.class.php | 10 +- htdocs/core/class/html.formcompany.class.php | 26 +-- htdocs/core/class/html.formcontract.class.php | 4 +- htdocs/core/class/html.formcron.class.php | 2 +- htdocs/core/class/html.formfile.class.php | 16 +- .../class/html.formintervention.class.php | 2 +- htdocs/core/class/html.formmail.class.php | 12 +- htdocs/core/class/html.formmailing.class.php | 2 +- htdocs/core/class/html.formmargin.class.php | 4 +- htdocs/core/class/html.formorder.class.php | 4 +- htdocs/core/class/html.formother.class.php | 40 ++-- htdocs/core/class/html.formprojet.class.php | 10 +- htdocs/core/class/html.formpropal.class.php | 2 +- htdocs/core/class/html.formsms.class.php | 2 +- .../class/html.formsocialcontrib.class.php | 2 +- htdocs/core/class/html.formticket.class.php | 8 +- htdocs/core/class/html.formwebsite.class.php | 6 +- htdocs/core/class/infobox.class.php | 4 +- htdocs/core/class/interfaces.class.php | 4 +- htdocs/core/class/ldap.class.php | 20 +- htdocs/core/class/link.class.php | 8 +- htdocs/core/class/menu.class.php | 4 +- htdocs/core/class/menubase.class.php | 8 +- htdocs/core/class/notify.class.php | 6 +- htdocs/core/class/openid.class.php | 8 +- htdocs/core/class/rssparser.class.php | 4 +- htdocs/core/class/smtps.class.php | 12 +- htdocs/core/class/stats.class.php | 16 +- htdocs/core/class/translate.class.php | 24 +- htdocs/core/class/utils.class.php | 8 +- htdocs/core/class/vcard.class.php | 14 +- htdocs/core/datepicker.php | 2 +- htdocs/core/db/Database.interface.php | 2 +- htdocs/core/db/DoliDB.class.php | 12 +- htdocs/core/db/mssql.class.php | 40 ++-- htdocs/core/db/mysqli.class.php | 32 +-- htdocs/core/db/pgsql.class.php | 38 ++-- htdocs/core/db/sqlite3.class.php | 34 +-- .../filemanagerdol/connectors/php/basexml.php | 2 +- .../connectors/php/commands.php | 4 +- .../core/filemanagerdol/connectors/php/io.php | 10 +- .../filemanagerdol/connectors/php/util.php | 8 +- htdocs/core/lib/accounting.lib.php | 2 +- htdocs/core/lib/admin.lib.php | 20 +- htdocs/core/lib/agenda.lib.php | 6 +- htdocs/core/lib/ajax.lib.php | 12 +- htdocs/core/lib/barcode.lib.php | 6 +- htdocs/core/lib/categories.lib.php | 2 +- htdocs/core/lib/company.lib.php | 18 +- htdocs/core/lib/date.lib.php | 22 +- htdocs/core/lib/doc.lib.php | 2 +- htdocs/core/lib/doleditor.lib.php | 2 +- htdocs/core/lib/ecm.lib.php | 2 +- htdocs/core/lib/files.lib.php | 44 ++-- htdocs/core/lib/functions.lib.php | 214 +++++++++--------- htdocs/core/lib/functions2.lib.php | 42 ++-- htdocs/core/lib/functionsnumtoword.lib.php | 4 +- htdocs/core/lib/geturl.lib.php | 2 +- htdocs/core/lib/images.lib.php | 4 +- htdocs/core/lib/import.lib.php | 2 +- htdocs/core/lib/invoice2.lib.php | 2 +- htdocs/core/lib/ldap.lib.php | 4 +- htdocs/core/lib/memory.lib.php | 4 +- htdocs/core/lib/modulebuilder.lib.php | 4 +- htdocs/core/lib/parsemd.lib.php | 2 +- htdocs/core/lib/payments.lib.php | 8 +- htdocs/core/lib/pdf.lib.php | 50 ++-- htdocs/core/lib/price.lib.php | 2 +- htdocs/core/lib/product.lib.php | 4 +- htdocs/core/lib/project.lib.php | 12 +- htdocs/core/lib/report.lib.php | 2 +- htdocs/core/lib/security.lib.php | 14 +- htdocs/core/lib/security2.lib.php | 10 +- htdocs/core/lib/sendings.lib.php | 2 +- htdocs/core/lib/signature.lib.php | 4 +- htdocs/core/lib/tax.lib.php | 4 +- htdocs/core/lib/ticket.lib.php | 2 +- htdocs/core/lib/treeview.lib.php | 4 +- htdocs/core/lib/usergroups.lib.php | 2 +- htdocs/core/lib/website.lib.php | 8 +- htdocs/core/lib/ws.lib.php | 2 +- htdocs/core/lib/xcal.lib.php | 8 +- htdocs/core/login/functions_dolibarr.php | 2 +- htdocs/core/login/functions_empty.php | 2 +- htdocs/core/login/functions_forceuser.php | 2 +- htdocs/core/login/functions_http.php | 2 +- htdocs/core/login/functions_ldap.php | 2 +- htdocs/core/login/functions_openid.php | 2 +- htdocs/core/menus/standard/auguria.lib.php | 6 +- htdocs/core/menus/standard/auguria_menu.php | 4 +- htdocs/core/menus/standard/eldy.lib.php | 6 +- htdocs/core/menus/standard/eldy_menu.php | 4 +- htdocs/core/menus/standard/empty.php | 4 +- htdocs/core/modules/DolibarrModules.class.php | 12 +- htdocs/core/modules/action/modules_action.php | 4 +- htdocs/core/modules/action/rapport.pdf.php | 2 +- .../core/modules/bank/doc/pdf_ban.modules.php | 6 +- .../bank/doc/pdf_sepamandate.modules.php | 6 +- htdocs/core/modules/bank/modules_bank.php | 2 +- .../barcode/doc/phpbarcode.modules.php | 4 +- .../barcode/doc/tcpdfbarcode.modules.php | 4 +- .../barcode/mod_barcode_product_standard.php | 4 +- .../modules/barcode/modules_barcode.class.php | 4 +- .../modules/cheque/doc/pdf_blochet.class.php | 2 +- .../modules/cheque/mod_chequereceipt_mint.php | 4 +- .../cheque/mod_chequereceipt_thyme.php | 4 +- .../modules/cheque/modules_chequereceipts.php | 4 +- .../doc/doc_generic_order_odt.modules.php | 2 +- .../commande/doc/pdf_einstein.modules.php | 8 +- .../commande/doc/pdf_eratosthene.modules.php | 10 +- .../commande/doc/pdf_proforma.modules.php | 2 +- .../modules/commande/mod_commande_marbre.php | 4 +- .../modules/commande/mod_commande_saphir.php | 4 +- .../modules/commande/modules_commande.php | 4 +- .../doc/doc_generic_contract_odt.modules.php | 2 +- .../contract/doc/pdf_strato.modules.php | 6 +- .../modules/contract/mod_contract_magre.php | 4 +- .../modules/contract/mod_contract_olive.php | 2 +- .../modules/contract/mod_contract_serpis.php | 4 +- .../modules/contract/modules_contract.php | 2 +- .../modules/dons/html_cerfafr.modules.php | 4 +- htdocs/core/modules/dons/modules_don.php | 2 +- .../doc/doc_generic_shipment_odt.modules.php | 2 +- .../expedition/doc/pdf_merou.modules.php | 8 +- .../expedition/doc/pdf_rouget.modules.php | 8 +- .../expedition/mod_expedition_ribera.php | 4 +- .../expedition/mod_expedition_safor.php | 4 +- .../modules/expedition/modules_expedition.php | 2 +- .../doc/pdf_standard.modules.php | 6 +- .../expensereport/modules_expensereport.php | 4 +- .../modules/export/export_csv.modules.php | 6 +- .../modules/export/export_excel.modules.php | 6 +- .../export/export_excelnew.modules.php | 6 +- .../modules/export/export_tsv.modules.php | 6 +- htdocs/core/modules/export/modules_export.php | 2 +- .../doc/doc_generic_invoice_odt.modules.php | 2 +- .../modules/facture/doc/pdf_crabe.modules.php | 6 +- .../facture/doc/pdf_sponge.modules.php | 8 +- .../core/modules/facture/mod_facture_mars.php | 4 +- .../modules/facture/mod_facture_mercure.php | 4 +- .../modules/facture/mod_facture_terre.php | 4 +- .../core/modules/facture/modules_facture.php | 4 +- .../fichinter/doc/pdf_soleil.modules.php | 6 +- htdocs/core/modules/fichinter/mod_arctic.php | 4 +- htdocs/core/modules/fichinter/mod_pacific.php | 4 +- .../modules/fichinter/modules_fichinter.php | 4 +- .../modules/holiday/mod_holiday_madonna.php | 2 +- .../core/modules/holiday/modules_holiday.php | 2 +- .../modules/import/import_csv.modules.php | 8 +- .../modules/import/import_xlsx.modules.php | 8 +- htdocs/core/modules/import/modules_import.php | 2 +- .../livraison/doc/pdf_typhon.modules.php | 6 +- .../modules/livraison/mod_livraison_jade.php | 4 +- .../livraison/mod_livraison_saphir.php | 6 +- .../modules/livraison/modules_livraison.php | 2 +- .../mailings/advthirdparties.modules.php | 6 +- .../modules/mailings/contacts1.modules.php | 2 +- .../core/modules/mailings/example.modules.php | 2 +- .../core/modules/mailings/fraise.modules.php | 2 +- .../core/modules/mailings/pomme.modules.php | 2 +- .../modules/mailings/thirdparties.modules.php | 2 +- .../thirdparties_services_expired.modules.php | 2 +- .../modules/mailings/xinputfile.modules.php | 2 +- .../modules/mailings/xinputuser.modules.php | 2 +- .../modules/member/doc/pdf_standard.class.php | 6 +- htdocs/core/modules/member/modules_cards.php | 4 +- htdocs/core/modules/modAdherent.class.php | 2 +- htdocs/core/modules/modApi.class.php | 2 +- htdocs/core/modules/modAsset.class.php | 2 +- htdocs/core/modules/modBanque.class.php | 2 +- htdocs/core/modules/modBarcode.class.php | 2 +- htdocs/core/modules/modBlockedLog.class.php | 2 +- htdocs/core/modules/modCashDesk.class.php | 2 +- htdocs/core/modules/modCategorie.class.php | 2 +- htdocs/core/modules/modCommande.class.php | 2 +- htdocs/core/modules/modComptabilite.class.php | 2 +- htdocs/core/modules/modContrat.class.php | 2 +- htdocs/core/modules/modDav.class.php | 2 +- htdocs/core/modules/modDeplacement.class.php | 2 +- .../modules/modDocumentGeneration.class.php | 2 +- htdocs/core/modules/modDon.class.php | 2 +- .../core/modules/modEmailCollector.class.php | 2 +- htdocs/core/modules/modExpedition.class.php | 2 +- .../core/modules/modExpenseReport.class.php | 2 +- htdocs/core/modules/modExternalRss.class.php | 4 +- htdocs/core/modules/modFicheinter.class.php | 2 +- htdocs/core/modules/modFournisseur.class.php | 2 +- htdocs/core/modules/modHRM.class.php | 2 +- htdocs/core/modules/modLabel.class.php | 2 +- htdocs/core/modules/modLoan.class.php | 2 +- htdocs/core/modules/modMailing.class.php | 2 +- htdocs/core/modules/modNotification.class.php | 2 +- htdocs/core/modules/modOauth.class.php | 2 +- htdocs/core/modules/modOpenSurvey.class.php | 2 +- htdocs/core/modules/modPrelevement.class.php | 2 +- htdocs/core/modules/modProduct.class.php | 2 +- htdocs/core/modules/modProductBatch.class.php | 2 +- htdocs/core/modules/modProjet.class.php | 2 +- htdocs/core/modules/modPropale.class.php | 2 +- .../core/modules/modReceiptPrinter.class.php | 2 +- htdocs/core/modules/modReception.class.php | 2 +- htdocs/core/modules/modSalaries.class.php | 2 +- htdocs/core/modules/modService.class.php | 2 +- htdocs/core/modules/modSociete.class.php | 2 +- htdocs/core/modules/modStock.class.php | 2 +- .../modules/modSupplierProposal.class.php | 2 +- htdocs/core/modules/modTakePos.class.php | 2 +- htdocs/core/modules/modTax.class.php | 2 +- htdocs/core/modules/modUser.class.php | 2 +- htdocs/core/modules/modWebsite.class.php | 2 +- htdocs/core/modules/modWorkflow.class.php | 2 +- .../core/modules/payment/mod_payment_ant.php | 4 +- .../modules/payment/mod_payment_cicada.php | 4 +- .../core/modules/payment/modules_payment.php | 2 +- .../modules/printing/modules_printing.php | 2 +- .../modules/printing/printgcp.modules.php | 2 +- .../modules/printing/printipp.modules.php | 2 +- .../doc/pdf_standardlabel.class.php | 6 +- .../printsheet/doc/pdf_tcpdflabel.class.php | 4 +- .../modules/printsheet/modules_labels.php | 4 +- .../doc/doc_generic_product_odt.modules.php | 2 +- .../product/doc/pdf_standard.modules.php | 8 +- .../product/mod_codeproduct_elephant.php | 4 +- .../product/mod_codeproduct_leopard.php | 2 +- .../modules/product/modules_product.class.php | 8 +- .../modules_product_batch.class.php | 2 +- .../doc/doc_generic_project_odt.modules.php | 18 +- .../project/doc/pdf_baleine.modules.php | 6 +- .../project/doc/pdf_beluga.modules.php | 6 +- .../project/doc/pdf_timespent.modules.php | 6 +- .../modules/project/mod_project_simple.php | 2 +- .../modules/project/mod_project_universal.php | 2 +- .../core/modules/project/modules_project.php | 2 +- .../task/doc/doc_generic_task_odt.modules.php | 18 +- .../modules/project/task/mod_task_simple.php | 4 +- .../project/task/mod_task_universal.php | 4 +- .../modules/project/task/modules_task.php | 2 +- .../doc/doc_generic_proposal_odt.modules.php | 2 +- .../modules/propale/doc/pdf_azur.modules.php | 6 +- .../modules/propale/doc/pdf_cyan.modules.php | 8 +- .../modules/propale/mod_propale_marbre.php | 4 +- .../modules/propale/mod_propale_saphir.php | 2 +- .../core/modules/propale/modules_propale.php | 4 +- .../doc/doc_generic_reception_odt.modules.php | 2 +- .../reception/doc/pdf_squille.modules.php | 8 +- .../modules/reception/mod_reception_beryl.php | 4 +- .../reception/mod_reception_moonstone.php | 4 +- .../modules/reception/modules_reception.php | 2 +- .../societe/doc/doc_generic_odt.modules.php | 2 +- .../societe/mod_codeclient_elephant.php | 6 +- .../societe/mod_codeclient_leopard.php | 2 +- .../modules/societe/mod_codeclient_monkey.php | 6 +- .../societe/mod_codecompta_aquarium.php | 4 +- .../societe/mod_codecompta_panicum.php | 4 +- .../modules/societe/modules_societe.class.php | 16 +- .../doc/doc_generic_stock_odt.modules.php | 2 +- .../stock/doc/pdf_standard.modules.php | 8 +- .../stock/doc/pdf_stdmovement.modules.php | 8 +- .../core/modules/stock/modules_movement.php | 2 +- htdocs/core/modules/stock/modules_stock.php | 2 +- .../mod_facture_fournisseur_cactus.php | 4 +- .../mod_facture_fournisseur_tulip.php | 4 +- .../modules_facturefournisseur.php | 4 +- .../pdf/pdf_canelle.modules.php | 6 +- .../mod_commande_fournisseur_muguet.php | 4 +- .../mod_commande_fournisseur_orchidee.php | 4 +- .../modules_commandefournisseur.php | 2 +- .../pdf/pdf_muscadet.modules.php | 6 +- .../doc/pdf_standard.modules.php | 6 +- .../mod_supplier_payment_brodator.php | 4 +- .../mod_supplier_payment_bronan.php | 4 +- .../modules_supplier_payment.php | 4 +- ..._generic_supplier_proposal_odt.modules.php | 2 +- .../doc/pdf_aurore.modules.php | 6 +- .../mod_supplier_proposal_marbre.php | 4 +- .../mod_supplier_proposal_saphir.php | 2 +- .../modules_supplier_proposal.php | 4 +- .../core/modules/syslog/mod_syslog_file.php | 4 +- .../user/doc/doc_generic_user_odt.modules.php | 4 +- .../core/modules/user/modules_user.class.php | 2 +- .../doc/doc_generic_usergroup_odt.modules.php | 2 +- .../usergroup/modules_usergroup.class.php | 2 +- htdocs/cron/class/cronjob.class.php | 14 +- htdocs/dav/dav.class.php | 2 +- htdocs/don/class/api_donations.class.php | 2 +- htdocs/don/class/don.class.php | 24 +- htdocs/don/class/donstats.class.php | 4 +- htdocs/don/class/paymentdonation.class.php | 14 +- htdocs/ecm/class/ecmdirectory.class.php | 18 +- htdocs/ecm/class/ecmfiles.class.php | 10 +- htdocs/ecm/class/htmlecm.form.class.php | 2 +- .../class/emailcollector.class.php | 8 +- .../class/emailcollectoraction.class.php | 6 +- .../class/emailcollectorfilter.class.php | 6 +- .../expedition/class/api_shipments.class.php | 2 +- htdocs/expedition/class/expedition.class.php | 32 +-- .../class/expeditionbatch.class.php | 4 +- .../class/expeditionstats.class.php | 4 +- .../class/expensereport.class.php | 50 ++-- .../class/expensereport_ik.class.php | 6 +- .../class/expensereport_rule.class.php | 2 +- .../class/expensereportstats.class.php | 6 +- .../class/paymentexpensereport.class.php | 12 +- htdocs/exports/class/export.class.php | 4 +- htdocs/exports/export.php | 2 +- .../class/api_interventions.class.php | 2 +- htdocs/fichinter/class/fichinter.class.php | 28 +-- .../fichinter/class/fichinterstats.class.php | 6 +- .../class/api_supplier_invoices.class.php | 4 +- .../fourn/class/api_supplier_orders.class.php | 4 +- .../class/fournisseur.commande.class.php | 46 ++-- .../fournisseur.commande.dispatch.class.php | 14 +- .../fourn/class/fournisseur.facture.class.php | 34 +-- .../fourn/class/fournisseur.product.class.php | 16 +- htdocs/fourn/class/paiementfourn.class.php | 22 +- htdocs/ftp/index.php | 4 +- htdocs/holiday/class/holiday.class.php | 44 ++-- htdocs/hrm/class/establishment.class.php | 6 +- htdocs/imports/class/import.class.php | 6 +- htdocs/imports/import.php | 4 +- htdocs/index.php | 2 +- htdocs/install/inc.php | 6 +- htdocs/install/step1.php | 4 +- htdocs/install/upgrade2.php | 86 +++---- htdocs/livraison/class/livraison.class.php | 10 +- htdocs/loan/class/loan.class.php | 6 +- htdocs/loan/class/loanschedule.class.php | 4 +- htdocs/loan/class/paymentloan.class.php | 6 +- .../mailmanspip/class/mailmanspip.class.php | 4 +- htdocs/main.inc.php | 18 +- .../template/class/actions_mymodule.class.php | 2 +- .../template/class/myobject.class.php | 8 +- .../mailinglist_mymodule_myobject.modules.php | 2 +- .../core/modules/modMyModule.class.php | 2 +- .../class/multicurrency.class.php | 6 +- .../class/opensurveysondage.class.php | 12 +- htdocs/opensurvey/fonctions.php | 2 +- htdocs/paybox/lib/paybox.lib.php | 2 +- htdocs/paypal/lib/paypal.lib.php | 10 +- .../product/actions_card_product.class.php | 2 +- .../service/actions_card_service.class.php | 4 +- htdocs/product/class/api_products.class.php | 2 +- .../product/class/html.formproduct.class.php | 14 +- htdocs/product/class/product.class.php | 80 +++---- htdocs/product/class/productbatch.class.php | 10 +- .../class/propalmergepdfproduct.class.php | 10 +- .../class/price_expression.class.php | 6 +- .../class/price_global_variable.class.php | 6 +- .../price_global_variable_updater.class.php | 10 +- .../inventory/class/inventory.class.php | 6 +- .../product/inventory/lib/inventory.lib.php | 2 +- htdocs/product/stock/class/entrepot.class.php | 14 +- .../stock/class/mouvementstock.class.php | 16 +- .../product/stock/class/productlot.class.php | 6 +- .../class/productstockentrepot.class.php | 10 +- htdocs/projet/class/api_projects.class.php | 6 +- htdocs/projet/class/api_tasks.class.php | 6 +- htdocs/projet/class/project.class.php | 30 +-- htdocs/projet/class/projectstats.class.php | 10 +- htdocs/projet/class/task.class.php | 36 +-- htdocs/projet/class/taskstats.class.php | 2 +- htdocs/projet/ganttchart.inc.php | 2 +- htdocs/public/members/new.php | 2 +- htdocs/reception/class/reception.class.php | 24 +- .../reception/class/receptionstats.class.php | 2 +- htdocs/resource/class/dolresource.class.php | 26 +-- .../class/html.formresource.class.php | 4 +- .../canvas/actions_card_common.class.php | 4 +- .../company/actions_card_company.class.php | 4 +- .../actions_card_individual.class.php | 4 +- htdocs/societe/class/address.class.php | 12 +- .../societe/class/api_thirdparties.class.php | 12 +- htdocs/societe/class/client.class.php | 2 +- .../class/companybankaccount.class.php | 8 +- .../class/companypaymentmode.class.php | 8 +- htdocs/societe/class/societe.class.php | 52 ++--- htdocs/societe/class/societeaccount.class.php | 10 +- htdocs/stripe/class/stripe.class.php | 10 +- htdocs/stripe/lib/stripe.lib.php | 6 +- .../class/supplier_proposal.class.php | 36 +-- htdocs/support/inc.php | 4 +- htdocs/ticket/class/actions_ticket.class.php | 2 +- htdocs/ticket/class/ticket.class.php | 2 +- htdocs/user/class/user.class.php | 50 ++-- htdocs/user/class/userbankaccount.class.php | 6 +- htdocs/user/class/usergroup.class.php | 24 +- htdocs/webservices/server_actioncomm.php | 6 +- htdocs/webservices/server_category.php | 2 +- htdocs/webservices/server_contact.php | 8 +- htdocs/webservices/server_invoice.php | 10 +- htdocs/webservices/server_order.php | 10 +- htdocs/webservices/server_other.php | 2 +- .../webservices/server_productorservice.php | 12 +- htdocs/webservices/server_project.php | 2 +- .../webservices/server_supplier_invoice.php | 4 +- htdocs/webservices/server_thirdparty.php | 10 +- htdocs/webservices/server_user.php | 6 +- htdocs/website/class/website.class.php | 12 +- htdocs/website/class/websitepage.class.php | 10 +- .../email_expire_services_to_customers.php | 2 +- ...ail_expire_services_to_representatives.php | 2 +- scripts/cron/cron_run_jobs.php | 2 +- .../email_unpaid_invoices_to_customers.php | 2 +- ...ail_unpaid_invoices_to_representatives.php | 2 +- test/phpunit/FactureRecTest.php | 2 +- test/phpunit/FactureTest.php | 2 +- test/phpunit/UserTest.php | 2 +- 541 files changed, 2338 insertions(+), 2329 deletions(-) diff --git a/dev/setup/codesniffer/ruleset.xml b/dev/setup/codesniffer/ruleset.xml index 879d791b8e9..2f1f0735a26 100644 --- a/dev/setup/codesniffer/ruleset.xml +++ b/dev/setup/codesniffer/ruleset.xml @@ -65,7 +65,7 @@ <rule ref="Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed"> <severity>0</severity> </rule> - + <rule ref="Generic.CodeAnalysis.UselessOverridingMethod" /> <!-- @@ -191,6 +191,15 @@ <rule ref="Squiz.WhiteSpace.ControlStructureSpacing.SpacingBeforeClose" /> <rule ref="Squiz.Functions.MultiLineFunctionDeclaration" /> + <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing"> + <properties> + <property name="equalsSpacing" value="1"/> + </properties> + </rule> + <rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingAfterHint"> + <severity>0</severity> + </rule> + <!-- Rules from PEAR Standard --> diff --git a/dev/translation/autotranslator.class.php b/dev/translation/autotranslator.class.php index 123b7f6157d..cb70e9541dc 100644 --- a/dev/translation/autotranslator.class.php +++ b/dev/translation/autotranslator.class.php @@ -50,7 +50,7 @@ class autoTranslator * @param string $_apikey Api key * @return void */ - function __construct($_destlang,$_refLang,$_langDir,$_limittofile,$_apikey) + function __construct($_destlang, $_refLang, $_langDir, $_limittofile, $_apikey) { // Set enviorment variables @@ -156,7 +156,7 @@ class autoTranslator * @param string $my_destlang Target language code * @return void */ - private function updateTranslationFile($destPath,$file,$my_destlang) + private function updateTranslationFile($destPath, $file, $my_destlang) { $this->_time_end = date('Y-m-d H:i:s'); @@ -183,7 +183,7 @@ class autoTranslator * @param string $my_destlang Target language code * @return void */ - private function createTranslationFile($path,$my_destlang) + private function createTranslationFile($path, $my_destlang) { $fp = fopen($path, 'w+'); fwrite($fp, "/*\n"); @@ -205,7 +205,7 @@ class autoTranslator * @param string $my_destlang Language code (ie: fr_FR) * @return int 0=Nothing translated, 1=Record translated */ - private function translateFileLine($content,$file,$key,$value,$my_destlang) + private function translateFileLine($content, $file, $key, $value, $my_destlang) { //print "key =".$key."\n"; diff --git a/htdocs/accountancy/admin/accountmodel.php b/htdocs/accountancy/admin/accountmodel.php index e5f1d211f3b..a5b39744e06 100644 --- a/htdocs/accountancy/admin/accountmodel.php +++ b/htdocs/accountancy/admin/accountmodel.php @@ -811,7 +811,7 @@ $db->close(); * @param string $context 'add'=Output field for the "add form", 'edit'=Output field for the "edit form", 'hide'=Output field for the "add form" but we dont want it to be rendered * @return void */ -function fieldListAccountModel($fieldlist, $obj='', $tabname='', $context='') +function fieldListAccountModel($fieldlist, $obj = '', $tabname = '', $context = '') { global $conf,$langs,$db; global $form; diff --git a/htdocs/accountancy/admin/categories_list.php b/htdocs/accountancy/admin/categories_list.php index 1f10403f798..80880c7bbb3 100644 --- a/htdocs/accountancy/admin/categories_list.php +++ b/htdocs/accountancy/admin/categories_list.php @@ -813,7 +813,7 @@ $db->close(); * @param string $context 'add'=Output field for the "add form", 'edit'=Output field for the "edit form", 'hide'=Output field for the "add form" but we dont want it to be rendered * @return void */ -function fieldListAccountingCategories($fieldlist, $obj='', $tabname='', $context='') +function fieldListAccountingCategories($fieldlist, $obj = '', $tabname = '', $context = '') { global $conf,$langs,$db; global $form, $mysoc; diff --git a/htdocs/accountancy/admin/journals_list.php b/htdocs/accountancy/admin/journals_list.php index 49745676eb3..4611a0ba906 100644 --- a/htdocs/accountancy/admin/journals_list.php +++ b/htdocs/accountancy/admin/journals_list.php @@ -696,7 +696,7 @@ $db->close(); * @param string $context 'add'=Output field for the "add form", 'edit'=Output field for the "edit form", 'hide'=Output field for the "add form" but we dont want it to be rendered * @return void */ -function fieldListJournal($fieldlist, $obj='', $tabname='', $context='') +function fieldListJournal($fieldlist, $obj = '', $tabname = '', $context = '') { global $conf,$langs,$db; global $form, $mysoc; diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 5b3282a3b29..70752f6d268 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -142,7 +142,7 @@ class AccountancyCategory // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -239,7 +239,7 @@ class AccountancyCategory // extends CommonObject * @param string $label Label * @return int <0 if KO, >0 if OK */ - function fetch($id, $code='', $label='') + function fetch($id, $code = '', $label = '') { $sql = "SELECT"; $sql.= " t.rowid,"; @@ -299,7 +299,7 @@ class AccountancyCategory // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -379,7 +379,7 @@ class AccountancyCategory // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -726,7 +726,7 @@ class AccountancyCategory // extends CommonObject * @param int $year Specifig year - Can be empty * @return integer <0 if KO, >= 0 if OK */ - public function getSumDebitCredit($cpt, $date_start, $date_end, $sens, $thirdparty_code='nofilter', $month=0, $year=0) + public function getSumDebitCredit($cpt, $date_start, $date_end, $sens, $thirdparty_code = 'nofilter', $month = 0, $year = 0) { global $conf; @@ -796,7 +796,7 @@ class AccountancyCategory // extends CommonObject * @param int $categorytype -1=All, 0=Only non computed groups, 1=Only computed groups * @return array|int Array of groups or -1 if error */ - public function getCats($categorytype=-1) + public function getCats($categorytype = -1) { global $conf, $mysoc; @@ -853,7 +853,7 @@ class AccountancyCategory // extends CommonObject * @param string $predefinedgroupwhere Sql criteria filter to select accounting accounts * @return array|int Array of accounting accounts or -1 if error */ - public function getCptsCat($cat_id, $predefinedgroupwhere='') + public function getCptsCat($cat_id, $predefinedgroupwhere = '') { global $conf, $mysoc; $sql = ''; diff --git a/htdocs/accountancy/class/accountingaccount.class.php b/htdocs/accountancy/class/accountingaccount.class.php index 886e19577fb..38f4e49f2a6 100644 --- a/htdocs/accountancy/class/accountingaccount.class.php +++ b/htdocs/accountancy/class/accountingaccount.class.php @@ -466,7 +466,7 @@ class AccountingAccount extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto = 0, $withlabel = 0, $nourl = 0, $moretitle='',$notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $withlabel = 0, $nourl = 0, $moretitle = '', $notooltip = 0, $save_lastsearch_value = -1) { global $langs, $conf, $user; require_once DOL_DOCUMENT_ROOT.'/core/lib/accounting.lib.php'; @@ -632,7 +632,7 @@ class AccountingAccount extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -645,7 +645,7 @@ class AccountingAccount extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/accountancy/class/accountingjournal.class.php b/htdocs/accountancy/class/accountingjournal.class.php index 9bd21a4a5c4..94cfbf3bd66 100644 --- a/htdocs/accountancy/class/accountingjournal.class.php +++ b/htdocs/accountancy/class/accountingjournal.class.php @@ -213,7 +213,7 @@ class AccountingJournal extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string String with URL */ - function getNomUrl($withpicto = 0, $withlabel = 0, $nourl = 0, $moretitle='',$notooltip=0) + function getNomUrl($withpicto = 0, $withlabel = 0, $nourl = 0, $moretitle = '', $notooltip = 0) { global $langs, $conf, $user; @@ -270,7 +270,7 @@ class AccountingJournal extends CommonObject * @param int $mode 0=libelle long, 1=libelle court * @return string Label of type */ - function getLibType($mode=0) + function getLibType($mode = 0) { return $this->LibType($this->nature,$mode); } @@ -283,7 +283,7 @@ class AccountingJournal extends CommonObject * @param int $mode 0=libelle long, 1=libelle court * @return string Label of type */ - function LibType($nature,$mode=0) + function LibType($nature, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 297fe0e3e9c..047628a7b96 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -411,7 +411,7 @@ class BookKeeping extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -470,7 +470,7 @@ class BookKeeping extends CommonObject * @param string $mode Mode * @return int <0 if KO, Id of created object if OK */ - public function createStd(User $user, $notrigger = false, $mode='') + public function createStd(User $user, $notrigger = false, $mode = '') { global $conf; @@ -641,7 +641,7 @@ class BookKeeping extends CommonObject * * @return int <0 if KO, 0 if not found, >0 if OK */ - public function fetch($id, $ref = null, $mode='') + public function fetch($id, $ref = null, $mode = '') { global $conf; @@ -1090,7 +1090,7 @@ class BookKeeping extends CommonObject * @param string $mode Mode * @return int <0 if KO, >0 if OK */ - public function update(User $user, $notrigger = false, $mode='') + public function update(User $user, $notrigger = false, $mode = '') { $error = 0; @@ -1225,7 +1225,7 @@ class BookKeeping extends CommonObject * @param string $mode Mode * @return number <0 if KO, >0 if OK */ - public function updateByMvt($piece_num='', $field='', $value='', $mode='') + public function updateByMvt($piece_num = '', $field = '', $value = '', $mode = '') { $error=0; @@ -1260,7 +1260,7 @@ class BookKeeping extends CommonObject * @param string $mode Mode * @return int <0 if KO, >0 if OK */ - public function delete(User $user, $notrigger = false, $mode='') + public function delete(User $user, $notrigger = false, $mode = '') { dol_syslog(__METHOD__, LOG_DEBUG); @@ -1338,7 +1338,7 @@ class BookKeeping extends CommonObject * @param string $mode Mode * @return int <0 if KO, >0 if OK */ - function deleteByYearAndJournal($delyear='', $journal='', $mode='') + function deleteByYearAndJournal($delyear = '', $journal = '', $mode = '') { global $conf; @@ -1500,7 +1500,7 @@ class BookKeeping extends CommonObject * @param string $mode Mode * @return int <0 if KO, >0 if OK */ - public function fetchPerMvt($piecenum, $mode='') + public function fetchPerMvt($piecenum, $mode = '') { global $conf; @@ -1536,7 +1536,7 @@ class BookKeeping extends CommonObject * @param string $mode Mode * @return string Next numero to use */ - public function getNextNumMvt($mode='') + public function getNextNumMvt($mode = '') { global $conf; @@ -1565,7 +1565,7 @@ class BookKeeping extends CommonObject * @param string $mode Mode * @return int <0 if KO, >0 if OK */ - function fetchAllPerMvt($piecenum, $mode='') + function fetchAllPerMvt($piecenum, $mode = '') { global $conf; @@ -1687,7 +1687,7 @@ class BookKeeping extends CommonObject * @param string $piece_num Piece num * @return int int <0 if KO, >0 if OK */ - public function transformTransaction($direction=0,$piece_num='') + public function transformTransaction($direction = 0, $piece_num = '') { $error = 0; diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 3a698c6b042..ab8fbe8ca06 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -246,7 +246,7 @@ class Adherent extends CommonObject * @param string $moreinheader Add more html headers * @return int <0 if KO, >0 if OK */ - function send_an_email($text, $subject, $filename_list=array(), $mimetype_list=array(), $mimefilename_list=array(), $addr_cc="", $addr_bcc="", $deliveryreceipt=0, $msgishtml=-1, $errors_to='', $moreinheader='') + function send_an_email($text, $subject, $filename_list = array(), $mimetype_list = array(), $mimefilename_list = array(), $addr_cc = "", $addr_bcc = "", $deliveryreceipt = 0, $msgishtml = -1, $errors_to = '', $moreinheader = '') { // phpcs:enable global $conf,$langs; @@ -358,7 +358,7 @@ class Adherent extends CommonObject * @param string $morphy Nature of the adherent (physical or moral) * @return string Label */ - function getmorphylib($morphy='') + function getmorphylib($morphy = '') { global $langs; if (! $morphy) { $morphy=$this->morphy; } @@ -374,7 +374,7 @@ class Adherent extends CommonObject * @param int $notrigger 1 ne declenche pas les triggers, 0 sinon * @return int <0 if KO, >0 if OK */ - function create($user,$notrigger=0) + function create($user, $notrigger = 0) { global $conf,$langs; @@ -500,7 +500,7 @@ class Adherent extends CommonObject * @param string $action Current action for hookmanager * @return int <0 if KO, >0 if OK */ - function update($user,$notrigger=0,$nosyncuser=0,$nosyncuserpass=0,$nosyncthirdparty=0,$action='update') + function update($user, $notrigger = 0, $nosyncuser = 0, $nosyncuserpass = 0, $nosyncthirdparty = 0, $action = 'update') { global $conf, $langs, $hookmanager; @@ -817,7 +817,7 @@ class Adherent extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, 0=nothing to do, >0 if OK */ - function delete($rowid, $user, $notrigger=0) + function delete($rowid, $user, $notrigger = 0) { global $conf, $langs; @@ -927,7 +927,7 @@ class Adherent extends CommonObject * @param int $nosyncuser Do not synchronize linked user * @return string If OK return clear password, 0 if no change, < 0 if error */ - function setPassword($user, $password='', $isencrypted=0, $notrigger=0, $nosyncuser=0) + function setPassword($user, $password = '', $isencrypted = 0, $notrigger = 0, $nosyncuser = 0) { global $conf, $langs; @@ -1147,7 +1147,7 @@ class Adherent extends CommonObject * @param string $lastname Lastname * @return void */ - function fetch_name($firstname,$lastname) + function fetch_name($firstname, $lastname) { // phpcs:enable global $conf; @@ -1183,7 +1183,7 @@ class Adherent extends CommonObject * @param bool $fetch_subscriptions To load member subscriptions * @return int >0 if OK, 0 if not found, <0 if KO */ - function fetch($rowid,$ref='',$fk_soc='',$ref_ext='',$fetch_optionals=true,$fetch_subscriptions=true) + function fetch($rowid, $ref = '', $fk_soc = '', $ref_ext = '', $fetch_optionals = true, $fetch_subscriptions = true) { global $langs; @@ -1400,7 +1400,7 @@ class Adherent extends CommonObject * @param int $datesubend Date end subscription * @return int rowid of record added, <0 if KO */ - function subscription($date, $amount, $accountid=0, $operation='', $label='', $num_chq='', $emetteur_nom='', $emetteur_banque='', $datesubend=0) + function subscription($date, $amount, $accountid = 0, $operation = '', $label = '', $num_chq = '', $emetteur_nom = '', $emetteur_banque = '', $datesubend = 0) { global $conf,$langs,$user; @@ -1486,7 +1486,7 @@ class Adherent extends CommonObject * @param string $autocreatethirdparty Auto create new thirdparty if member not yet linked to a thirdparty and we request an option that generate invoice. * @return int <0 if KO, >0 if OK */ - function subscriptionComplementaryActions($subscriptionid, $option, $accountid, $datesubscription, $paymentdate, $operation, $label, $amount, $num_chq, $emetteur_nom='', $emetteur_banque='', $autocreatethirdparty=0) + function subscriptionComplementaryActions($subscriptionid, $option, $accountid, $datesubscription, $paymentdate, $operation, $label, $amount, $num_chq, $emetteur_nom = '', $emetteur_banque = '', $autocreatethirdparty = 0) { global $conf, $langs, $user, $mysoc; @@ -2018,7 +2018,7 @@ class Adherent extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chaine avec URL */ - function getNomUrl($withpictoimg=0, $maxlen=0, $option='card', $mode='', $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpictoimg = 0, $maxlen = 0, $option = 'card', $mode = '', $morecss = '', $save_lastsearch_value = -1) { global $conf, $langs; @@ -2109,7 +2109,7 @@ class Adherent extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$this->need_subscription,$this->datefin,$mode); } @@ -2124,7 +2124,7 @@ class Adherent extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label */ - function LibStatut($statut,$need_subscription,$date_end_subscription,$mode=0) + function LibStatut($statut, $need_subscription, $date_end_subscription, $mode = 0) { // phpcs:enable global $langs; @@ -2307,7 +2307,7 @@ class Adherent extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$langs; @@ -2400,7 +2400,7 @@ class Adherent extends CommonObject * 2=Return key only (uid=qqq) * @return string DN */ - function _load_ldap_dn($info,$mode=0) + function _load_ldap_dn($info, $mode = 0) { // phpcs:enable global $conf; @@ -2694,7 +2694,7 @@ class Adherent extends CommonObject * @param string $daysbeforeendlist Nb of days before end of subscription (negative number = after subscription). Can be a list of delay, separated by a semicolon, for example '10;5;0;-5' * @return int 0 if OK, <>0 if KO (this function is used also by cron so only 0 is OK) */ - public function sendReminderForExpiredSubscription($daysbeforeendlist='10') + public function sendReminderForExpiredSubscription($daysbeforeendlist = '10') { global $conf, $langs, $mysoc, $user; diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index 984cf49d44d..263012df782 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -103,7 +103,7 @@ class AdherentType extends CommonObject * @param int $notrigger 1=do not execute triggers, 0 otherwise * @return int >0 if OK, < 0 if KO */ - function create($user,$notrigger=0) + function create($user, $notrigger = 0) { global $conf; @@ -170,7 +170,7 @@ class AdherentType extends CommonObject * @param int $notrigger 1=do not execute triggers, 0 otherwise * @return int >0 if OK, < 0 if KO */ - function update($user,$notrigger=0) + function update($user, $notrigger = 0) { global $conf, $hookmanager; @@ -356,7 +356,7 @@ class AdherentType extends CommonObject * 2=Return array of members id only * @return mixed Array of members or -1 on error */ - function listMembersForMemberType($excludefilter='', $mode=0) + function listMembersForMemberType($excludefilter = '', $mode = 0) { global $conf, $user; @@ -411,7 +411,7 @@ class AdherentType extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string String with URL */ - function getNomUrl($withpicto=0, $maxlen=0, $notooltip=0) + function getNomUrl($withpicto = 0, $maxlen = 0, $notooltip = 0) { global $langs; @@ -449,7 +449,7 @@ class AdherentType extends CommonObject * 2=Return key only (uid=qqq) * @return string DN */ - function _load_ldap_dn($info,$mode=0) + function _load_ldap_dn($info, $mode = 0) { // phpcs:enable global $conf; diff --git a/htdocs/adherents/class/adherentstats.class.php b/htdocs/adherents/class/adherentstats.class.php index 310a40c52b3..f5ef24fb465 100644 --- a/htdocs/adherents/class/adherentstats.class.php +++ b/htdocs/adherents/class/adherentstats.class.php @@ -52,7 +52,7 @@ class AdherentStats extends Stats * @param int $socid Id third party * @param int $userid Id user for filter */ - function __construct($db, $socid=0, $userid=0) + function __construct($db, $socid = 0, $userid = 0) { global $user, $conf; @@ -85,7 +85,7 @@ class AdherentStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of nb each month */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; @@ -126,7 +126,7 @@ class AdherentStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of amount each month */ - function getAmountByMonth($year, $format=0) + function getAmountByMonth($year, $format = 0) { global $user; diff --git a/htdocs/adherents/class/api_members.class.php b/htdocs/adherents/class/api_members.class.php index 2da35df7e2c..a728ffe78d3 100644 --- a/htdocs/adherents/class/api_members.class.php +++ b/htdocs/adherents/class/api_members.class.php @@ -361,7 +361,7 @@ class Members extends DolibarrApi * * @url POST {id}/subscriptions */ - function createSubscription($id, $start_date, $end_date, $amount, $label='') + function createSubscription($id, $start_date, $end_date, $amount, $label = '') { if(! DolibarrApiAccess::$user->rights->adherent->cotisation->creer) { throw new RestException(401); diff --git a/htdocs/adherents/class/subscription.class.php b/htdocs/adherents/class/subscription.class.php index 96876eb82b6..319dbb1f75b 100644 --- a/htdocs/adherents/class/subscription.class.php +++ b/htdocs/adherents/class/subscription.class.php @@ -207,7 +207,7 @@ $type=$this->fk_type; * @param int $notrigger 0=Disable triggers * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { $error = 0; @@ -263,7 +263,7 @@ $type=$this->fk_type; * @param bool $notrigger false=launch triggers after, true=disable triggers * @return int <0 if KO, 0 if not found, >0 if OK */ - function delete($user, $notrigger=false) + function delete($user, $notrigger = false) { $error = 0; @@ -356,7 +356,7 @@ $type=$this->fk_type; * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $notooltip=0, $option='', $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $notooltip = 0, $option = '', $morecss = '', $save_lastsearch_value = -1) { global $langs; @@ -395,7 +395,7 @@ $type=$this->fk_type; * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return ''; } diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index fc3b8f15f39..df61d33092a 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -1755,7 +1755,7 @@ $db->close(); * @param string $context 'add'=Output field for the "add form", 'edit'=Output field for the "edit form", 'hide'=Output field for the "add form" but we dont want it to be rendered * @return string '' or value of entity into table */ -function fieldList($fieldlist, $obj='', $tabname='', $context='') +function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') { global $conf,$langs,$db,$mysoc; global $form; diff --git a/htdocs/admin/dolistore/class/dolistore.class.php b/htdocs/admin/dolistore/class/dolistore.class.php index 553ce2e54e0..e676423e6b0 100644 --- a/htdocs/admin/dolistore/class/dolistore.class.php +++ b/htdocs/admin/dolistore/class/dolistore.class.php @@ -54,7 +54,7 @@ class Dolistore * * @param boolean $debug Enable debug of request on screen */ - function __construct($debug=false) + function __construct($debug = false) { global $conf, $langs; diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index da31a794374..a6b2e89cc1a 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -947,7 +947,7 @@ $db->close(); * @param string $context 'add'=Output field for the "add form", 'edit'=Output field for the "edit form", 'hide'=Output field for the "add form" but we dont want it to be rendered * @return void */ -function fieldList($fieldlist, $obj='', $tabname='', $context='') +function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') { global $conf, $langs, $user, $db; global $form; diff --git a/htdocs/admin/website.php b/htdocs/admin/website.php index e36b8d59df3..e4cc568ea03 100644 --- a/htdocs/admin/website.php +++ b/htdocs/admin/website.php @@ -659,7 +659,7 @@ $db->close(); * @param string $context 'add'=Output field for the "add form", 'edit'=Output field for the "edit form", 'hide'=Output field for the "add form" but we dont want it to be rendered * @return void */ -function fieldListWebsites($fieldlist, $obj='', $tabname='', $context='') +function fieldListWebsites($fieldlist, $obj = '', $tabname = '', $context = '') { global $conf,$langs,$db; global $form; diff --git a/htdocs/api/class/api.class.php b/htdocs/api/class/api.class.php index 6d6ef4578cd..10341ce170c 100644 --- a/htdocs/api/class/api.class.php +++ b/htdocs/api/class/api.class.php @@ -46,7 +46,7 @@ class DolibarrApi * @param string $cachedir Cache dir * @param boolean $refreshCache Update cache */ - function __construct($db, $cachedir='', $refreshCache=false) + function __construct($db, $cachedir = '', $refreshCache = false) { global $conf, $dolibarr_main_url_root; @@ -222,7 +222,7 @@ class DolibarrApi * @return bool * @throws RestException */ - static function _checkAccessToResource($resource, $resource_id=0, $dbtablename='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid') + static function _checkAccessToResource($resource, $resource_id = 0, $dbtablename = '', $feature2 = '', $dbt_keyfield = 'fk_soc', $dbt_select = 'rowid') { // Features/modules to check diff --git a/htdocs/api/class/api_login.class.php b/htdocs/api/class/api_login.class.php index 86d1cfff87c..01b0fdd56da 100644 --- a/htdocs/api/class/api_login.class.php +++ b/htdocs/api/class/api_login.class.php @@ -55,7 +55,7 @@ class Login * @url GET / * @url POST / */ - public function index($login, $password, $entity='', $reset=0) + public function index($login, $password, $entity = '', $reset = 0) { global $conf, $dolibarr_main_authentication, $dolibarr_auto_user; diff --git a/htdocs/asset/class/asset.class.php b/htdocs/asset/class/asset.class.php index 335a9f6e9d1..93f2e88f725 100644 --- a/htdocs/asset/class/asset.class.php +++ b/htdocs/asset/class/asset.class.php @@ -312,7 +312,7 @@ class Asset extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -369,7 +369,7 @@ class Asset extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -382,7 +382,7 @@ class Asset extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/asset/class/asset_type.class.php b/htdocs/asset/class/asset_type.class.php index 51d76d75155..54421b8910f 100644 --- a/htdocs/asset/class/asset_type.class.php +++ b/htdocs/asset/class/asset_type.class.php @@ -89,7 +89,7 @@ class AssetType extends CommonObject * @param int $notrigger 1=do not execute triggers, 0 otherwise * @return int >0 if OK, < 0 if KO */ - function create($user,$notrigger=0) + function create($user, $notrigger = 0) { global $conf; @@ -166,7 +166,7 @@ class AssetType extends CommonObject * @param int $notrigger 1=do not execute triggers, 0 otherwise * @return int >0 if OK, < 0 if KO */ - function update($user,$notrigger=0) + function update($user, $notrigger = 0) { global $conf, $hookmanager; @@ -350,7 +350,7 @@ class AssetType extends CommonObject * 2=Return array of asset id only * @return mixed Array of asset or -1 on error */ - function listAssetForAssetType($excludefilter='', $mode=0) + function listAssetForAssetType($excludefilter = '', $mode = 0) { global $conf, $user; @@ -405,7 +405,7 @@ class AssetType extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string String with URL */ - function getNomUrl($withpicto=0, $maxlen=0, $notooltip=0) + function getNomUrl($withpicto = 0, $maxlen = 0, $notooltip = 0) { global $langs; diff --git a/htdocs/blockedlog/class/authority.class.php b/htdocs/blockedlog/class/authority.class.php index 0d0fc183b6c..c200bd4d9e5 100644 --- a/htdocs/blockedlog/class/authority.class.php +++ b/htdocs/blockedlog/class/authority.class.php @@ -142,7 +142,7 @@ class BlockedLogAuthority * @param string $signature Signature of object to load * @return int >0 if OK, <0 if KO, 0 if not found */ - public function fetch($id, $signature='') + public function fetch($id, $signature = '') { global $langs; diff --git a/htdocs/blockedlog/class/blockedlog.class.php b/htdocs/blockedlog/class/blockedlog.class.php index bc65c72260d..25c95e2346c 100644 --- a/htdocs/blockedlog/class/blockedlog.class.php +++ b/htdocs/blockedlog/class/blockedlog.class.php @@ -725,7 +725,7 @@ class BlockedLog * @param string $mode 0=unserialize, 1=json_decode * @return string Value unserialized */ - public function dolDecodeBlockedData($data, $mode=0) + public function dolDecodeBlockedData($data, $mode = 0) { try { @@ -763,7 +763,7 @@ class BlockedLog * @param int $forcesignature Force signature (for example '0000000000' when we disabled the module) * @return int <0 if KO, >0 if OK */ - public function create($user, $forcesignature='') + public function create($user, $forcesignature = '') { global $conf,$langs,$hookmanager; @@ -878,7 +878,7 @@ class BlockedLog * @param string $previoushash If previous signature hash is known, we can provide it to avoid to make a search of it in database. * @return boolean True if OK, False if KO */ - public function checkSignature($previoushash='') + public function checkSignature($previoushash = '') { if (empty($previoushash)) { @@ -921,7 +921,7 @@ class BlockedLog * @param int $beforeid ID of a record * @return string Hash of previous record (if beforeid is defined) or hash of last record (if beforeid is 0) */ - public function getPreviousHash($withlock=0, $beforeid=0) + public function getPreviousHash($withlock = 0, $beforeid = 0) { global $conf; @@ -972,7 +972,7 @@ class BlockedLog * @param string $search_code search code * @return array|int Array of object log or <0 if error */ - public function getLog($element, $fk_object, $limit = 0, $sortfield = '', $sortorder = '', $search_fk_user = -1, $search_start = -1, $search_end = -1, $search_ref='', $search_amount='', $search_code='') + public function getLog($element, $fk_object, $limit = 0, $sortfield = '', $sortorder = '', $search_fk_user = -1, $search_start = -1, $search_end = -1, $search_ref = '', $search_amount = '', $search_code = '') { global $conf, $cachedlogs; @@ -1070,7 +1070,7 @@ class BlockedLog * @param int $ignoresystem Ignore system events for the test * @return bool */ - function alreadyUsed($ignoresystem=0) + function alreadyUsed($ignoresystem = 0) { global $conf; diff --git a/htdocs/cashdesk/class/Facturation.class.php b/htdocs/cashdesk/class/Facturation.class.php index ea6ac7a47bd..dca01ea667e 100644 --- a/htdocs/cashdesk/class/Facturation.class.php +++ b/htdocs/cashdesk/class/Facturation.class.php @@ -283,7 +283,7 @@ class Facturation * @param int $aId Id * @return id */ - public function id($aId=null) + public function id($aId = null) { if ( !$aId ) @@ -308,7 +308,7 @@ class Facturation * @param string $aRef Ref * @return string Ref */ - public function ref($aRef=null) + public function ref($aRef = null) { if (is_null($aRef)) @@ -331,7 +331,7 @@ class Facturation * @param int $aQte Qty * @return int Qty */ - public function qte($aQte=null) + public function qte($aQte = null) { if (is_null($aQte)) { @@ -354,7 +354,7 @@ class Facturation * @param string $aStock Stock * @return string Stock */ - public function stock($aStock=null) + public function stock($aStock = null) { if (is_null($aStock)) @@ -377,7 +377,7 @@ class Facturation * @param string $aRemisePercent Discount * @return string Discount */ - public function remisePercent($aRemisePercent=null) + public function remisePercent($aRemisePercent = null) { if (is_null($aRemisePercent)) @@ -400,7 +400,7 @@ class Facturation * @param int $aMontantRemise Amount * @return string Amount */ - public function montantRemise($aMontantRemise=null) + public function montantRemise($aMontantRemise = null) { if (is_null($aMontantRemise)) { @@ -421,7 +421,7 @@ class Facturation * @param int $aPrix Price * @return string Stock */ - public function prix($aPrix=null) + public function prix($aPrix = null) { if (is_null($aPrix)) { @@ -442,7 +442,7 @@ class Facturation * @param int $aTva Vat * @return int Vat */ - public function tva($aTva=null) + public function tva($aTva = null) { if (is_null($aTva)) { @@ -462,7 +462,7 @@ class Facturation * @param string $aNumFacture Invoice ref * @return string Invoice ref */ - public function numInvoice($aNumFacture=null) + public function numInvoice($aNumFacture = null) { if (is_null($aNumFacture)) { @@ -482,7 +482,7 @@ class Facturation * @param int $aModeReglement Payment mode * @return int Payment mode */ - public function getSetPaymentMode($aModeReglement=null) + public function getSetPaymentMode($aModeReglement = null) { if (is_null($aModeReglement)) { @@ -503,7 +503,7 @@ class Facturation * @param int $aMontantEncaisse Amount * @return int Amount */ - public function montantEncaisse($aMontantEncaisse=null) + public function montantEncaisse($aMontantEncaisse = null) { if (is_null($aMontantEncaisse)) { @@ -524,7 +524,7 @@ class Facturation * @param int $aMontantRendu Amount * @return int Amount */ - public function montantRendu($aMontantRendu=null) + public function montantRendu($aMontantRendu = null) { if (is_null($aMontantRendu)) { @@ -545,7 +545,7 @@ class Facturation * @param date $aPaiementLe Date * @return date Date */ - public function paiementLe($aPaiementLe=null) + public function paiementLe($aPaiementLe = null) { if (is_null($aPaiementLe)) { @@ -565,7 +565,7 @@ class Facturation * @param int $aTotalHt Total amount * @return int Total amount */ - public function prixTotalHt($aTotalHt=null) + public function prixTotalHt($aTotalHt = null) { if (is_null($aTotalHt)) { @@ -585,7 +585,7 @@ class Facturation * @param int $aMontantTva Amount vat * @return int Amount vat */ - public function montantTva($aMontantTva=null) + public function montantTva($aMontantTva = null) { if (is_null($aMontantTva)) { @@ -605,7 +605,7 @@ class Facturation * @param int $aTotalTtc Amount ttc * @return int Amount ttc */ - public function prixTotalTtc($aTotalTtc=null) + public function prixTotalTtc($aTotalTtc = null) { if (is_null($aTotalTtc)) { diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index e4d95d490ed..138c5f154fa 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -234,7 +234,7 @@ class Categorie extends CommonObject * @param string $type Type of category ('product', '...') or (0, 1, ...) * @return int <0 if KO, >0 if OK */ - function fetch($id, $label='', $type=null) + function fetch($id, $label = '', $type = null) { global $conf; @@ -501,7 +501,7 @@ class Categorie extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 KO >0 OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf,$langs; @@ -691,7 +691,7 @@ class Categorie extends CommonObject * * @return int 1 if OK, -1 if KO */ - function del_type($obj,$type) + function del_type($obj, $type) { // phpcs:enable global $user,$langs,$conf; @@ -749,7 +749,7 @@ class Categorie extends CommonObject * @return array|int -1 if KO, array of instance of object if OK * @see containsObject */ - function getObjectsInCateg($type, $onlyids=0) + function getObjectsInCateg($type, $onlyids = 0) { $objs = array(); @@ -821,7 +821,7 @@ class Categorie extends CommonObject * @param int $page Page number * @return array|int Array of categories, 0 if no cat, -1 on error */ - function getListForItem($id, $type='customer', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) + function getListForItem($id, $type = 'customer', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { global $conf; @@ -990,7 +990,7 @@ class Categorie extends CommonObject * * @return array|int Array of categories. this->cats and this->motherof are set, -1 on error */ - function get_full_arbo($type, $markafterid=0) + function get_full_arbo($type, $markafterid = 0) { // phpcs:enable global $conf, $langs; @@ -1076,7 +1076,7 @@ class Categorie extends CommonObject * @param int $protection Deep counter to avoid infinite loop * @return void */ - function build_path_from_id_categ($id_categ,$protection=1000) + function build_path_from_id_categ($id_categ, $protection = 1000) { // phpcs:enable dol_syslog(get_class($this)."::build_path_from_id_categ id_categ=".$id_categ." protection=".$protection, LOG_DEBUG); @@ -1143,7 +1143,7 @@ class Categorie extends CommonObject * @param boolean $parent Just parent categories if true * @return array|int Table of Object Category, -1 on error */ - function get_all_categories($type=null, $parent=false) + function get_all_categories($type = null, $parent = false) { // phpcs:enable if (! is_numeric($type)) $type = $this->MAP_ID[$type]; @@ -1232,7 +1232,7 @@ class Categorie extends CommonObject * @param int $type Type of category (0, 1, ...) * @return array */ - function get_main_categories($type=null) + function get_main_categories($type = null) { // phpcs:enable return $this->get_all_categories($type, true); @@ -1248,7 +1248,7 @@ class Categorie extends CommonObject * @param int $nocolor 0 * @return array */ - function print_all_ways($sep = " >> ", $url='', $nocolor=0) + function print_all_ways($sep = " >> ", $url = '', $nocolor = 0) { // phpcs:enable $ways = array(); @@ -1376,7 +1376,7 @@ class Categorie extends CommonObject * labels, 'id'= Get array of category IDs * @return array|int Array of category objects or < 0 if KO */ - function containing($id, $type, $mode='object') + function containing($id, $type, $mode = 'object') { $cats = array(); @@ -1522,7 +1522,7 @@ class Categorie extends CommonObject * @param int $maxlength Max length of text * @return string Chaine avec URL */ - function getNomUrl($withpicto=0,$option='',$maxlength=0) + function getNomUrl($withpicto = 0, $option = '', $maxlength = 0) { global $langs; @@ -1608,7 +1608,7 @@ class Categorie extends CommonObject * @param int $nbmax Nombre maximum de photos (0=pas de max) * @return array Tableau de photos */ - function liste_photos($dir,$nbmax=0) + function liste_photos($dir, $nbmax = 0) { // phpcs:enable include_once DOL_DOCUMENT_ROOT .'/core/lib/files.lib.php'; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 05d5fa43c86..949639341da 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -566,7 +566,7 @@ class ActionComm extends CommonObject * @param string $ref_ext Ref ext to get * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='',$ref_ext='') + function fetch($id, $ref = '', $ref_ext = '') { global $langs; @@ -761,7 +761,7 @@ class ActionComm extends CommonObject * @param int $notrigger 1 = disable triggers, 0 = enable triggers * @return int <0 if KO, >0 if OK */ - function delete($notrigger=0) + function delete($notrigger = 0) { global $user,$langs,$conf; @@ -838,7 +838,7 @@ class ActionComm extends CommonObject * @param int $notrigger 1 = disable triggers, 0 = enable triggers * @return int <0 if KO, >0 if OK */ - function update($user,$notrigger=0) + function update($user, $notrigger = 0) { global $langs,$conf,$hookmanager; @@ -999,7 +999,7 @@ class ActionComm extends CommonObject * @param string $limit Limit number of answers * @return array or string Error string if KO, array with actions if OK */ - static function getActions($db, $socid=0, $fk_element=0, $elementtype='', $filter='', $sortfield='a.datep', $sortorder='DESC', $limit=0) + static function getActions($db, $socid = 0, $fk_element = 0, $elementtype = '', $filter = '', $sortfield = 'a.datep', $sortorder = 'DESC', $limit = 0) { global $conf, $langs; @@ -1051,7 +1051,7 @@ class ActionComm extends CommonObject * @param int $load_state_board Charge indicateurs this->nb de tableau de bord * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ - function load_board($user, $load_state_board=0) + function load_board($user, $load_state_board = 0) { // phpcs:enable global $conf, $langs; @@ -1164,7 +1164,7 @@ class ActionComm extends CommonObject * @param int $hidenastatus 1=Show nothing if status is "Not applicable" * @return string String with status */ - function getLibStatut($mode,$hidenastatus=0) + function getLibStatut($mode, $hidenastatus = 0) { return $this->LibStatut($this->percentage,$mode,$hidenastatus,$this->datep); } @@ -1179,7 +1179,7 @@ class ActionComm extends CommonObject * @param int $datestart Date start of event * @return string Label */ - function LibStatut($percent,$mode,$hidenastatus=0,$datestart='') + function LibStatut($percent, $mode, $hidenastatus = 0, $datestart = '') { // phpcs:enable global $langs; @@ -1257,7 +1257,7 @@ class ActionComm extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $maxlength=0, $classname='', $option='', $overwritepicto=0, $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $maxlength = 0, $classname = '', $option = '', $overwritepicto = 0, $notooltip = 0, $save_lastsearch_value = -1) { global $conf, $langs, $user, $hookmanager, $action; @@ -1391,7 +1391,7 @@ class ActionComm extends CommonObject * @param array $filters Array of filters. Exemple array('notolderthan'=>99, 'year'=>..., 'idfrom'=>..., 'notactiontype'=>'systemauto', 'project'=>123, ...) * @return int <0 if error, nb of events in new file if ok */ - function build_exportfile($format,$type,$cachedelay,$filename,$filters) + function build_exportfile($format, $type, $cachedelay, $filename, $filters) { // phpcs:enable global $conf,$langs,$dolibarr_main_url_root,$mysoc; diff --git a/htdocs/comm/action/class/actioncommreminder.class.php b/htdocs/comm/action/class/actioncommreminder.class.php index 6631d0e375d..4d5536e50fc 100644 --- a/htdocs/comm/action/class/actioncommreminder.class.php +++ b/htdocs/comm/action/class/actioncommreminder.class.php @@ -178,7 +178,7 @@ class ActionCommReminder extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -191,7 +191,7 @@ class ActionCommReminder extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/comm/action/class/cactioncomm.class.php b/htdocs/comm/action/class/cactioncomm.class.php index d6c25f6d4c1..8efb6ab0515 100644 --- a/htdocs/comm/action/class/cactioncomm.class.php +++ b/htdocs/comm/action/class/cactioncomm.class.php @@ -130,7 +130,7 @@ class CActionComm * @param int $shortlabel 1=Get short label instead of long label * @return mixed Array of all event types if OK, <0 if KO. Key of array is id or code depending on parameter $idorcode. */ - function liste_array($active='',$idorcode='id',$excludetype='',$onlyautoornot=0, $morefilter='', $shortlabel=0) + function liste_array($active = '', $idorcode = 'id', $excludetype = '', $onlyautoornot = 0, $morefilter = '', $shortlabel = 0) { // phpcs:enable global $langs,$conf; @@ -223,7 +223,7 @@ class CActionComm * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Picto only * @return string Label of action type */ - function getNomUrl($withpicto=0) + function getNomUrl($withpicto = 0) { global $langs; diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index a73731699f2..3d062298f53 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -1277,7 +1277,7 @@ $db->close(); * @param string $nonew 0=Add "new entry button", 1=No "new entry button", -1=Only "new entry button" * @return void */ -function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventarray, $maxprint=0, $maxnbofchar=16, $newparam='', $showinfo=0, $minheight=60, $nonew=0) +function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventarray, $maxprint = 0, $maxnbofchar = 16, $newparam = '', $showinfo = 0, $minheight = 60, $nonew = 0) { global $user, $conf, $langs; global $action, $filter, $filtert, $status, $actioncode, $usergroup; // Filters used into search form diff --git a/htdocs/comm/action/pertype.php b/htdocs/comm/action/pertype.php index 67a4534ca14..0c2f3f95c4f 100644 --- a/htdocs/comm/action/pertype.php +++ b/htdocs/comm/action/pertype.php @@ -757,7 +757,7 @@ $db->close(); * @param bool $var true or false for alternat style on tr/td * @return void */ -function show_day_events_pertype($username, $day, $month, $year, $monthshown, $style, &$eventarray, $maxprint=0, $maxnbofchar=16, $newparam='', $showinfo=0, $minheight=60, $showheader=false, $colorsbytype=array(), $var=false) +function show_day_events_pertype($username, $day, $month, $year, $monthshown, $style, &$eventarray, $maxprint = 0, $maxnbofchar = 16, $newparam = '', $showinfo = 0, $minheight = 60, $showheader = false, $colorsbytype = array(), $var = false) { global $db; global $user, $conf, $langs, $hookmanager, $action; diff --git a/htdocs/comm/action/peruser.php b/htdocs/comm/action/peruser.php index 9e2a7278a27..6271a9a3880 100644 --- a/htdocs/comm/action/peruser.php +++ b/htdocs/comm/action/peruser.php @@ -905,7 +905,7 @@ $db->close(); * @param bool $var true or false for alternat style on tr/td * @return void */ -function show_day_events2($username, $day, $month, $year, $monthshown, $style, &$eventarray, $maxprint=0, $maxnbofchar=16, $newparam='', $showinfo=0, $minheight=60, $showheader=false, $colorsbytype=array(), $var=false) +function show_day_events2($username, $day, $month, $year, $monthshown, $style, &$eventarray, $maxprint = 0, $maxnbofchar = 16, $newparam = '', $showinfo = 0, $minheight = 60, $showheader = false, $colorsbytype = array(), $var = false) { global $db; global $user, $conf, $langs, $hookmanager, $action; diff --git a/htdocs/comm/mailing/class/advtargetemailing.class.php b/htdocs/comm/mailing/class/advtargetemailing.class.php index 83833304d44..2f88cb2dd9c 100644 --- a/htdocs/comm/mailing/class/advtargetemailing.class.php +++ b/htdocs/comm/mailing/class/advtargetemailing.class.php @@ -108,7 +108,7 @@ class AdvanceTargetingMailing extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -260,7 +260,7 @@ class AdvanceTargetingMailing extends CommonObject * @param int $id Id object * @return int <0 if KO, >0 if OK */ - function fetch_by_mailing($id=0) + function fetch_by_mailing($id = 0) { // phpcs:enable global $langs; @@ -327,7 +327,7 @@ class AdvanceTargetingMailing extends CommonObject * @param string $type_element Type target * @return int <0 if KO, >0 if OK */ - function fetch_by_element($id=0, $type_element='mailing') + function fetch_by_element($id = 0, $type_element = 'mailing') { // phpcs:enable global $langs; @@ -390,7 +390,7 @@ class AdvanceTargetingMailing extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -466,7 +466,7 @@ class AdvanceTargetingMailing extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -525,7 +525,7 @@ class AdvanceTargetingMailing extends CommonObject * @param array $arrayquery All element to Query * @return int <0 if KO, >0 if OK */ - function savequery($user,$arrayquery) + function savequery($user, $arrayquery) { global $langs,$conf; @@ -946,7 +946,7 @@ class AdvanceTargetingMailing extends CommonObject * For exemple jean;joe;jim%%;!jimo;!jima%> will target all jean, joe, start with jim but not jimo and not everythnig taht start by jima * @return string Sql to use for the where condition */ - public function transformToSQL($column_to_test,$criteria) + public function transformToSQL($column_to_test, $criteria) { $return_sql_criteria = '('; diff --git a/htdocs/comm/mailing/class/html.formadvtargetemailing.class.php b/htdocs/comm/mailing/class/html.formadvtargetemailing.class.php index 19b1ce3e9b4..369c0536a33 100644 --- a/htdocs/comm/mailing/class/html.formadvtargetemailing.class.php +++ b/htdocs/comm/mailing/class/html.formadvtargetemailing.class.php @@ -92,7 +92,7 @@ class FormAdvTargetEmailing extends Form * @param array $selected_array or Code or Label of preselected country * @return string HTML string with select */ - function multiselectCountry($htmlname = 'country_id', $selected_array=array()) + function multiselectCountry($htmlname = 'country_id', $selected_array = array()) { global $conf, $langs; @@ -194,7 +194,7 @@ class FormAdvTargetEmailing extends Form * @param array $selected_array selected array * @return string combo list code */ - function multiselectselectLanguage($htmlname='', $selected_array=array()) + function multiselectselectLanguage($htmlname = '', $selected_array = array()) { global $conf,$langs; @@ -290,7 +290,7 @@ class FormAdvTargetEmailing extends Form * @param array $selected_array Array * @return string HTML combo */ - function multiselectCivility($htmlname='civilite_id',$selected_array = array()) + function multiselectCivility($htmlname = 'civilite_id', $selected_array = array()) { global $conf,$langs,$user; $langs->load("dict"); @@ -356,7 +356,7 @@ class FormAdvTargetEmailing extends Form * @param array $selected_array value selected * @return string HTML combo */ - function multiselectCustomerCategories($htmlname='cust_cat',$selected_array = array()) + function multiselectCustomerCategories($htmlname = 'cust_cat', $selected_array = array()) { return $this->multiselectCategories($htmlname,$selected_array,2); } @@ -368,7 +368,7 @@ class FormAdvTargetEmailing extends Form * @param array $selected_array value selected * @return string HTML combo */ - function multiselectContactCategories($htmlname='contact_cat',$selected_array = array()) + function multiselectContactCategories($htmlname = 'contact_cat', $selected_array = array()) { return $this->multiselectCategories($htmlname,$selected_array,4); } @@ -381,7 +381,7 @@ class FormAdvTargetEmailing extends Form * @param int $type Type * @return string HTML combo */ - public function multiselectCategories($htmlname='',$selected_array = array(), $type=0) + public function multiselectCategories($htmlname = '', $selected_array = array(), $type = 0) { global $conf,$langs,$user; $langs->load("dict"); @@ -427,7 +427,7 @@ class FormAdvTargetEmailing extends Form * @param string $type_element Type element. Example: 'mailing' * @return string HTML combo */ - public function selectAdvtargetemailingTemplate($htmlname='template_id', $selected=0, $showempty=0, $type_element='mailing') + public function selectAdvtargetemailingTemplate($htmlname = 'template_id', $selected = 0, $showempty = 0, $type_element = 'mailing') { global $conf, $user, $langs; diff --git a/htdocs/comm/mailing/class/mailing.class.php b/htdocs/comm/mailing/class/mailing.class.php index b807ea23334..7e1073a0f2a 100644 --- a/htdocs/comm/mailing/class/mailing.class.php +++ b/htdocs/comm/mailing/class/mailing.class.php @@ -271,7 +271,7 @@ class Mailing extends CommonObject * @param int $option2 Not used * @return int New id of clone */ - function createFromClone($fromid,$option1,$option2) + function createFromClone($fromid, $option1, $option2) { global $user,$langs; @@ -536,7 +536,7 @@ class Mailing extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs, $hookmanager; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -607,7 +607,7 @@ class Mailing extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -620,7 +620,7 @@ class Mailing extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -670,7 +670,7 @@ class Mailing extends CommonObject * @param strin $desc Desc error * @return string Label */ - public static function libStatutDest($statut,$mode=0,$desc='') + public static function libStatutDest($statut, $mode = 0, $desc = '') { global $langs; $langs->load('mails'); diff --git a/htdocs/comm/propal/class/api_proposals.class.php b/htdocs/comm/propal/class/api_proposals.class.php index a03624f3122..6ce38f8c432 100644 --- a/htdocs/comm/propal/class/api_proposals.class.php +++ b/htdocs/comm/propal/class/api_proposals.class.php @@ -559,7 +559,7 @@ class Proposals extends DolibarrApi * * @return array */ - function validate($id, $notrigger=0) + function validate($id, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->propal->creer) { throw new RestException(401); @@ -607,7 +607,7 @@ class Proposals extends DolibarrApi * * @return array */ - function close($id, $status, $note_private='', $notrigger=0) + function close($id, $status, $note_private = '', $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->propal->creer) { throw new RestException(401); diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 55dd950abf2..d1d3fb086bd 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -239,7 +239,7 @@ class Propal extends CommonObject * @param int $socid Id third party * @param int $propalid Id proposal */ - function __construct($db, $socid="", $propalid=0) + function __construct($db, $socid = "", $propalid = 0) { global $conf,$langs; @@ -267,7 +267,7 @@ class Propal extends CommonObject * TODO Replace calls to this function by generation objet Ligne * inserted into table $this->products */ - function add_product($idproduct, $qty, $remise_percent=0) + function add_product($idproduct, $qty, $remise_percent = 0) { // phpcs:enable global $conf, $mysoc; @@ -434,7 +434,7 @@ class Propal extends CommonObject * @return int >0 if OK, <0 if KO * @see add_product */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $fk_product=0, $remise_percent=0.0, $price_base_type='HT', $pu_ttc=0.0, $info_bits=0, $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=0, $pa_ht=0, $label='',$date_start='', $date_end='',$array_options=0, $fk_unit=null, $origin='', $origin_id=0, $pu_ht_devise=0, $fk_remise_except=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1 = 0.0, $txlocaltax2 = 0.0, $fk_product = 0, $remise_percent = 0.0, $price_base_type = 'HT', $pu_ttc = 0.0, $info_bits = 0, $type = 0, $rang = -1, $special_code = 0, $fk_parent_line = 0, $fk_fournprice = 0, $pa_ht = 0, $label = '', $date_start = '', $date_end = '', $array_options = 0, $fk_unit = null, $origin = '', $origin_id = 0, $pu_ht_devise = 0, $fk_remise_except = 0) { global $mysoc, $conf, $langs; @@ -663,7 +663,7 @@ class Propal extends CommonObject * @param int $notrigger disable line update trigger * @return int 0 if OK, <0 if KO */ - function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $desc='', $price_base_type='HT', $info_bits=0, $special_code=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=0, $pa_ht=0, $label='', $type=0, $date_start='', $date_end='', $array_options=0, $fk_unit=null, $pu_ht_devise = 0, $notrigger=0) + function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1 = 0.0, $txlocaltax2 = 0.0, $desc = '', $price_base_type = 'HT', $info_bits = 0, $special_code = 0, $fk_parent_line = 0, $skip_update_total = 0, $fk_fournprice = 0, $pa_ht = 0, $label = '', $type = 0, $date_start = '', $date_end = '', $array_options = 0, $fk_unit = null, $pu_ht_devise = 0, $notrigger = 0) { global $mysoc; @@ -869,7 +869,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >=0 if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf,$hookmanager; $error=0; @@ -1216,7 +1216,7 @@ class Propal extends CommonObject * @param int $socid Id of thirdparty * @return int New id of clone */ - function createFromClone($socid=0) + function createFromClone($socid = 0) { global $user,$conf,$hookmanager; @@ -1340,7 +1340,7 @@ class Propal extends CommonObject * @param string $ref Ref of proposal * @return int >0 if OK, <0 if KO */ - function fetch($rowid,$ref='') + function fetch($rowid, $ref = '') { $sql = "SELECT p.rowid, p.ref, p.entity, p.remise, p.remise_percent, p.remise_absolue, p.fk_soc"; @@ -1504,7 +1504,7 @@ class Propal extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update(User $user, $notrigger=0) + function update(User $user, $notrigger = 0) { global $conf; @@ -1599,7 +1599,7 @@ class Propal extends CommonObject * @param int $only_product Return only physical products * @return int <0 if KO, >0 if OK */ - function fetch_lines($only_product=0) + function fetch_lines($only_product = 0) { // phpcs:enable $this->lines=array(); @@ -1718,7 +1718,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0=execute triggers * @return int <0 if KO, 0=Nothing done, >=0 if OK */ - function valid($user, $notrigger=0) + function valid($user, $notrigger = 0) { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -1842,7 +1842,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_date($user, $date, $notrigger=0) + function set_date($user, $date, $notrigger = 0) { // phpcs:enable if (empty($date)) @@ -1911,7 +1911,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_echeance($user, $date_fin_validite, $notrigger=0) + function set_echeance($user, $date_fin_validite, $notrigger = 0) { // phpcs:enable if (! empty($user->rights->propal->creer)) @@ -1973,7 +1973,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if ko, >0 if ok */ - function set_date_livraison($user, $date_livraison, $notrigger=0) + function set_date_livraison($user, $date_livraison, $notrigger = 0) { // phpcs:enable if (! empty($user->rights->propal->creer)) @@ -2035,7 +2035,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_availability($user, $id, $notrigger=0) + function set_availability($user, $id, $notrigger = 0) { // phpcs:enable if (! empty($user->rights->propal->creer) && $this->statut >= self::STATUS_DRAFT) @@ -2106,7 +2106,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_demand_reason($user, $id, $notrigger=0) + function set_demand_reason($user, $id, $notrigger = 0) { // phpcs:enable if (! empty($user->rights->propal->creer) && $this->statut >= self::STATUS_DRAFT) @@ -2179,7 +2179,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if ko, >0 if ok */ - function set_ref_client($user, $ref_client, $notrigger=0) + function set_ref_client($user, $ref_client, $notrigger = 0) { // phpcs:enable if (! empty($user->rights->propal->creer)) @@ -2244,7 +2244,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if ko, >0 if ok */ - function set_remise_percent($user, $remise, $notrigger=0) + function set_remise_percent($user, $remise, $notrigger = 0) { // phpcs:enable $remise=trim($remise)?trim($remise):0; @@ -2311,7 +2311,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if ko, >0 if ok */ - function set_remise_absolue($user, $remise, $notrigger=0) + function set_remise_absolue($user, $remise, $notrigger = 0) { // phpcs:enable $remise=trim($remise)?trim($remise):0; @@ -2380,7 +2380,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function reopen($user, $statut, $note='', $notrigger=0) + function reopen($user, $statut, $note = '', $notrigger = 0) { $this->statut = $statut; @@ -2441,7 +2441,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers * @return int <0 if KO, >0 if OK */ - function cloture($user, $statut, $note="", $notrigger=0) + function cloture($user, $statut, $note = "", $notrigger = 0) { global $langs,$conf; @@ -2544,7 +2544,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 si ko, >0 si ok */ - function classifyBilled(User $user, $notrigger=0) + function classifyBilled(User $user, $notrigger = 0) { $error=0; @@ -2600,7 +2600,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_draft($user, $notrigger=0) + function set_draft($user, $notrigger = 0) { // phpcs:enable $error=0; @@ -2665,7 +2665,7 @@ class Propal extends CommonObject * @param string $sortorder Sort order * @return int -1 if KO, array with result if OK */ - function liste_array($shortlist=0, $draft=0, $notcurrentuser=0, $socid=0, $limit=0, $offset=0, $sortfield='p.datep', $sortorder='DESC') + function liste_array($shortlist = 0, $draft = 0, $notcurrentuser = 0, $socid = 0, $limit = 0, $offset = 0, $sortfield = 'p.datep', $sortorder = 'DESC') { // phpcs:enable global $user; @@ -2833,7 +2833,7 @@ class Propal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int 1 if ok, otherwise if error */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -2957,7 +2957,7 @@ class Propal extends CommonObject * @return int >0 if OK, <0 if KO * @deprecated use set_availability */ - function availability($availability_id, $notrigger=0) + function availability($availability_id, $notrigger = 0) { global $user; @@ -3028,7 +3028,7 @@ class Propal extends CommonObject * @return int >0 si ok, <0 si ko * @deprecated use set_demand_reason */ - function demand_reason($demand_reason_id, $notrigger=0) + function demand_reason($demand_reason_id, $notrigger = 0) { // phpcs:enable global $user; @@ -3153,7 +3153,7 @@ class Propal extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut, $mode); } @@ -3166,7 +3166,7 @@ class Propal extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label */ - function LibStatut($statut,$mode=1) + function LibStatut($statut, $mode = 1) { // phpcs:enable global $conf; @@ -3213,7 +3213,7 @@ class Propal extends CommonObject * @param int $mode "opened" for proposal to close, "signed" for proposal to invoice * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ - function load_board($user,$mode) + function load_board($user, $mode) { // phpcs:enable global $conf, $langs; @@ -3495,7 +3495,7 @@ class Propal extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $get_params='', $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $get_params = '', $notooltip = 0, $save_lastsearch_value = -1) { global $langs, $conf, $user; @@ -3585,7 +3585,7 @@ class Propal extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$langs; @@ -3854,7 +3854,7 @@ class PropaleLigne extends CommonObjectLine * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function insert($notrigger=0) + function insert($notrigger = 0) { global $conf,$user; @@ -3997,7 +3997,7 @@ class PropaleLigne extends CommonObjectLine * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if ko, >0 if ok */ - function delete(User $user, $notrigger=0) + function delete(User $user, $notrigger = 0) { global $conf; @@ -4051,7 +4051,7 @@ class PropaleLigne extends CommonObjectLine * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if ko, >0 if ok */ - function update($notrigger=0) + function update($notrigger = 0) { global $conf,$user; diff --git a/htdocs/comm/propal/class/propalestats.class.php b/htdocs/comm/propal/class/propalestats.class.php index bdd4a9dfba2..4286bb17448 100644 --- a/htdocs/comm/propal/class/propalestats.class.php +++ b/htdocs/comm/propal/class/propalestats.class.php @@ -56,7 +56,7 @@ class PropaleStats extends Stats * @param int $userid Id user for filter (creation user) * @param string $mode Option ('customer', 'supplier') */ - function __construct($db, $socid=0, $userid=0, $mode='customer') + function __construct($db, $socid = 0, $userid = 0, $mode = 'customer') { global $user, $conf; @@ -106,7 +106,7 @@ class PropaleStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with number by month */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; diff --git a/htdocs/commande/class/api_orders.class.php b/htdocs/commande/class/api_orders.class.php index 1135a5c2502..c531948f4cd 100644 --- a/htdocs/commande/class/api_orders.class.php +++ b/htdocs/commande/class/api_orders.class.php @@ -496,7 +496,7 @@ class Orders extends DolibarrApi * * @return array */ - function validate($id, $idwarehouse=0, $notrigger=0) + function validate($id, $idwarehouse = 0, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->commande->creer) { throw new RestException(401); @@ -629,7 +629,7 @@ class Orders extends DolibarrApi * * @return int */ - function close($id, $notrigger=0) + function close($id, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->commande->creer) { throw new RestException(401); @@ -675,7 +675,7 @@ class Orders extends DolibarrApi * * @return array */ - function settodraft($id, $idwarehouse=-1) + function settodraft($id, $idwarehouse = -1) { if(! DolibarrApiAccess::$user->rights->commande->creer) { throw new RestException(401); diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 8934e293973..894f9c5c687 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -313,7 +313,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <=0 if OK, 0=Nothing done, >0 if KO */ - function valid($user, $idwarehouse=0, $notrigger=0) + function valid($user, $idwarehouse = 0, $notrigger = 0) { global $conf,$langs; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -474,7 +474,7 @@ class Commande extends CommonOrder * @param int $idwarehouse Warehouse ID to use for stock change (Used only if option STOCK_CALCULATE_ON_VALIDATE_ORDER is on) * @return int <0 if KO, >0 if OK */ - function set_draft($user, $idwarehouse=-1) + function set_draft($user, $idwarehouse = -1) { //phpcs:enable global $conf,$langs; @@ -617,7 +617,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers * @return int <0 if KO, >0 if OK */ - function cloture($user, $notrigger=0) + function cloture($user, $notrigger = 0) { global $conf; @@ -677,7 +677,7 @@ class Commande extends CommonOrder * @param int $idwarehouse Id warehouse to use for stock change. * @return int <0 if KO, >0 if OK */ - function cancel($idwarehouse=-1) + function cancel($idwarehouse = -1) { global $conf,$user,$langs; @@ -758,7 +758,7 @@ class Commande extends CommonOrder * @param int $notrigger Disable all triggers * @return int <0 if KO, >0 if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf,$langs; $error=0; @@ -1060,7 +1060,7 @@ class Commande extends CommonOrder * @param int $socid Id of thirdparty * @return int New id of clone */ - function createFromClone($socid=0) + function createFromClone($socid = 0) { global $user,$hookmanager; @@ -1302,7 +1302,7 @@ class Commande extends CommonOrder * par l'appelant par la methode get_default_tva(societe_vendeuse,societe_acheteuse,produit) * et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue) */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $info_bits=0, $fk_remise_except=0, $price_base_type='HT', $pu_ttc=0, $date_start='', $date_end='', $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_options=0, $fk_unit=null, $origin='', $origin_id=0, $pu_ht_devise = 0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1 = 0, $txlocaltax2 = 0, $fk_product = 0, $remise_percent = 0, $info_bits = 0, $fk_remise_except = 0, $price_base_type = 'HT', $pu_ttc = 0, $date_start = '', $date_end = '', $type = 0, $rang = -1, $special_code = 0, $fk_parent_line = 0, $fk_fournprice = null, $pa_ht = 0, $label = '', $array_options = 0, $fk_unit = null, $origin = '', $origin_id = 0, $pu_ht_devise = 0) { global $mysoc, $conf, $langs, $user; @@ -1531,7 +1531,7 @@ class Commande extends CommonOrder * TODO Remplacer les appels a cette fonction par generation objet Ligne * insere dans tableau $this->products */ - function add_product($idproduct, $qty, $remise_percent=0.0, $date_start='', $date_end='') + function add_product($idproduct, $qty, $remise_percent = 0.0, $date_start = '', $date_end = '') { // phpcs:enable global $conf, $mysoc; @@ -1616,7 +1616,7 @@ class Commande extends CommonOrder * @param string $ref_int Internal reference of other object * @return int >0 if OK, <0 if KO, 0 if not found */ - function fetch($id, $ref='', $ref_ext='', $ref_int='') + function fetch($id, $ref = '', $ref_ext = '', $ref_int = '') { // Check parameters @@ -1845,7 +1845,7 @@ class Commande extends CommonOrder * @param int $only_product Return only physical products * @return int <0 if KO, >0 if OK */ - function fetch_lines($only_product=0) + function fetch_lines($only_product = 0) { // phpcs:enable $this->lines=array(); @@ -2027,7 +2027,7 @@ class Commande extends CommonOrder * @param int $filtre_statut Filter on shipment status * @return int <0 if KO, Nb of lines found if OK */ - function loadExpeditions($filtre_statut=-1) + function loadExpeditions($filtre_statut = -1) { $this->expeditions = array(); @@ -2103,7 +2103,7 @@ class Commande extends CommonOrder * * TODO FONCTION NON FINIE A FINIR */ - function stock_array($filtre_statut=self::STATUS_CANCELED) + function stock_array($filtre_statut = self::STATUS_CANCELED) { // phpcs:enable $this->stocks = array(); @@ -2143,7 +2143,7 @@ class Commande extends CommonOrder * @param int $lineid Id of line to delete * @return int >0 if OK, 0 if nothing to do, <0 if KO */ - function deleteline($user=null, $lineid=0) + function deleteline($user = null, $lineid = 0) { if ($this->statut == self::STATUS_DRAFT) { @@ -2221,7 +2221,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_remise($user, $remise, $notrigger=0) + function set_remise($user, $remise, $notrigger = 0) { // phpcs:enable $remise=trim($remise)?trim($remise):0; @@ -2289,7 +2289,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_remise_absolue($user, $remise, $notrigger=0) + function set_remise_absolue($user, $remise, $notrigger = 0) { // phpcs:enable $remise=trim($remise)?trim($remise):0; @@ -2357,7 +2357,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_date($user, $date, $notrigger=0) + function set_date($user, $date, $notrigger = 0) { // phpcs:enable if ($user->rights->commande->creer) @@ -2423,7 +2423,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 si ko, >0 si ok */ - function set_date_livraison($user, $date_livraison, $notrigger=0) + function set_date_livraison($user, $date_livraison, $notrigger = 0) { // phpcs:enable if ($user->rights->commande->creer) @@ -2494,7 +2494,7 @@ class Commande extends CommonOrder * @param string $sortorder Sort order * @return int -1 if KO, array with result if OK */ - function liste_array($shortlist=0, $draft=0, $excluser='', $socid=0, $limit=0, $offset=0, $sortfield='c.date_commande', $sortorder='DESC') + function liste_array($shortlist = 0, $draft = 0, $excluser = '', $socid = 0, $limit = 0, $offset = 0, $sortfield = 'c.date_commande', $sortorder = 'DESC') { // phpcs:enable global $user; @@ -2562,7 +2562,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int >0 if OK, <0 if KO */ - function availability($availability_id, $notrigger=0) + function availability($availability_id, $notrigger = 0) { global $user; @@ -2633,7 +2633,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int >0 if ok, <0 if ko */ - function demand_reason($demand_reason_id, $notrigger=0) + function demand_reason($demand_reason_id, $notrigger = 0) { // phpcs:enable global $user; @@ -2706,7 +2706,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_ref_client($user, $ref_client, $notrigger=0) + function set_ref_client($user, $ref_client, $notrigger = 0) { // phpcs:enable if ($user->rights->commande->creer) @@ -2769,7 +2769,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function classifyBilled(User $user, $notrigger=0) + function classifyBilled(User $user, $notrigger = 0) { $error = 0; @@ -2904,7 +2904,7 @@ class Commande extends CommonOrder * @param int $notrigger disable line update trigger * @return int < 0 if KO, > 0 if OK */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0,$txlocaltax2=0.0, $price_base_type='HT', $info_bits=0, $date_start='', $date_end='', $type=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_options=0, $fk_unit=null, $pu_ht_devise = 0, $notrigger=0) + function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1 = 0.0, $txlocaltax2 = 0.0, $price_base_type = 'HT', $info_bits = 0, $date_start = '', $date_end = '', $type = 0, $fk_parent_line = 0, $skip_update_total = 0, $fk_fournprice = null, $pa_ht = 0, $label = '', $special_code = 0, $array_options = 0, $fk_unit = null, $pu_ht_devise = 0, $notrigger = 0) { global $conf, $mysoc, $langs, $user; @@ -3094,7 +3094,7 @@ class Commande extends CommonOrder * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update(User $user, $notrigger=0) + function update(User $user, $notrigger = 0) { global $conf; @@ -3189,7 +3189,7 @@ class Commande extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <=0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -3408,7 +3408,7 @@ class Commande extends CommonOrder * @param int $donotshowbilled Do not show billed status after order status * @return string Label of status */ - function LibStatut($statut,$billed,$mode,$donotshowbilled=0) + function LibStatut($statut, $billed, $mode, $donotshowbilled = 0) { // phpcs:enable global $langs, $conf; @@ -3501,7 +3501,7 @@ class Commande extends CommonOrder * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $max=0, $short=0, $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $max = 0, $short = 0, $notooltip = 0, $save_lastsearch_value = -1) { global $conf, $langs, $user; @@ -3782,7 +3782,7 @@ class Commande extends CommonOrder * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$langs; @@ -4022,7 +4022,7 @@ class OrderLine extends CommonOrderLine * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 si ko, >0 si ok */ - function delete(User $user, $notrigger=0) + function delete(User $user, $notrigger = 0) { global $conf, $langs; @@ -4083,7 +4083,7 @@ class OrderLine extends CommonOrderLine * @param int $notrigger 1 = disable triggers * @return int <0 if KO, >0 if OK */ - function insert($user=null, $notrigger=0) + function insert($user = null, $notrigger = 0) { global $langs, $conf; @@ -4228,7 +4228,7 @@ class OrderLine extends CommonOrderLine * @param int $notrigger 1 = disable triggers * @return int <0 si ko, >0 si ok */ - function update(User $user, $notrigger=0) + function update(User $user, $notrigger = 0) { global $conf,$langs; diff --git a/htdocs/commande/class/commandestats.class.php b/htdocs/commande/class/commandestats.class.php index 3c6ec07c6cb..edd072854d3 100644 --- a/htdocs/commande/class/commandestats.class.php +++ b/htdocs/commande/class/commandestats.class.php @@ -55,7 +55,7 @@ class CommandeStats extends Stats * @param string $mode Option ('customer', 'supplier') * @param int $userid Id user for filter (creation user) */ - function __construct($db, $socid, $mode, $userid=0) + function __construct($db, $socid, $mode, $userid = 0) { global $user, $conf; @@ -101,7 +101,7 @@ class CommandeStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with number by month */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; @@ -144,7 +144,7 @@ class CommandeStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with amount by month */ - function getAmountByMonth($year, $format=0) + function getAmountByMonth($year, $format = 0) { global $user; diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 80a0c6f819b..cb00e201bc6 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -352,7 +352,7 @@ class Account extends CommonObject * @param string $type To search using type * @return array|int Array of links array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> ) or -1 on error */ - function get_url($fk_bank='', $url_id='', $type='') + function get_url($fk_bank = '', $url_id = '', $type = '') { // phpcs:enable $lines = array(); @@ -417,7 +417,7 @@ class Account extends CommonObject * @param int $datev Date value * @return int Rowid of added entry, <0 if KO */ - function addline($date, $oper, $label, $amount, $num_chq, $categorie, User $user, $emetteur='',$banque='', $accountancycode='', $datev=null) + function addline($date, $oper, $label, $amount, $num_chq, $categorie, User $user, $emetteur = '', $banque = '', $accountancycode = '', $datev = null) { // Deprecation warning if (is_numeric($oper)) { @@ -525,7 +525,7 @@ class Account extends CommonObject * @param int $notrigger 1=Disable triggers * @return int < 0 if KO, > 0 if OK */ - function create(User $user, $notrigger=0) + function create(User $user, $notrigger = 0) { global $langs,$conf, $hookmanager; @@ -860,7 +860,7 @@ class Account extends CommonObject * @param string $ref Ref of bank account to get * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { global $conf; @@ -1076,7 +1076,7 @@ class Account extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=Long label + picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->clos,$mode); } @@ -1163,7 +1163,7 @@ class Account extends CommonObject * @param int $option 1=Exclude future operation date (this is to exclude input made in advance and have real account sold) * @return int Current sold (value date <= today) */ - function solde($option=0) + function solde($option = 0) { $solde=0; @@ -1329,7 +1329,7 @@ class Account extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $mode='', $option='', $save_lastsearch_value=-1, $notooltip=0) + function getNomUrl($withpicto = 0, $mode = '', $option = '', $save_lastsearch_value = -1, $notooltip = 0) { global $conf, $langs, $user; @@ -1549,7 +1549,7 @@ class Account extends CommonObject * @return array * @see useDetailedBBAN */ - public function getFieldsToShow($includeibanbic=0) + public function getFieldsToShow($includeibanbic = 0) { //Get the required properties depending on the country $detailedBBAN = $this->useDetailedBBAN(); @@ -1765,7 +1765,7 @@ class AccountLine extends CommonObject * @param string $num External num to load (ex: num of transaction for paypal fee) * @return int <0 if KO, 0 if OK but not found, >0 if OK and found */ - function fetch($rowid,$ref='',$num='') + function fetch($rowid, $ref = '', $num = '') { global $conf; @@ -2011,7 +2011,7 @@ class AccountLine extends CommonObject * @param int $conciliated 1=Set transaction to conciliated, 0=Keep transaction non conciliated * @return int <0 if KO, >0 if OK */ - function update_conciliation(User $user, $cat, $conciliated=1) + function update_conciliation(User $user, $cat, $conciliated = 1) { // phpcs:enable global $conf,$langs; @@ -2075,7 +2075,7 @@ class AccountLine extends CommonObject * @param int $sign 1 or -1 * @return int >0 if OK, 0 if KO */ - function datev_change($rowid,$sign=1) + function datev_change($rowid, $sign = 1) { // phpcs:enable $sql = "SELECT datev FROM ".MAIN_DB_PREFIX."bank WHERE rowid = ".$rowid; @@ -2142,7 +2142,7 @@ class AccountLine extends CommonObject * @param int $sign 1 or -1 * @return int >0 if OK, 0 if KO */ - function dateo_change($rowid,$sign=1) + function dateo_change($rowid, $sign = 1) { // phpcs:enable $sql = "SELECT dateo FROM ".MAIN_DB_PREFIX."bank WHERE rowid = ".$rowid; @@ -2257,7 +2257,7 @@ class AccountLine extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string Chaine avec URL */ - function getNomUrl($withpicto=0,$maxlen=0,$option='',$notooltip=0) + function getNomUrl($withpicto = 0, $maxlen = 0, $option = '', $notooltip = 0) { global $langs; @@ -2298,7 +2298,7 @@ class AccountLine extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -2311,7 +2311,7 @@ class AccountLine extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/compta/bank/class/api_bankaccounts.class.php b/htdocs/compta/bank/class/api_bankaccounts.class.php index ffe01f41e7a..feaaccaa50f 100644 --- a/htdocs/compta/bank/class/api_bankaccounts.class.php +++ b/htdocs/compta/bank/class/api_bankaccounts.class.php @@ -325,7 +325,7 @@ class BankAccounts extends DolibarrApi * * @url POST {id}/lines */ - function addLine($id, $date, $type, $label, $amount, $category=0, $cheque_number='', $cheque_writer='', $cheque_bank='') + function addLine($id, $date, $type, $label, $amount, $category = 0, $cheque_number = '', $cheque_writer = '', $cheque_bank = '') { if (! DolibarrApiAccess::$user->rights->banque->modifier) { throw new RestException(401); diff --git a/htdocs/compta/bank/class/paymentvarious.class.php b/htdocs/compta/bank/class/paymentvarious.class.php index 47edacb2410..cb8f21ecc5a 100644 --- a/htdocs/compta/bank/class/paymentvarious.class.php +++ b/htdocs/compta/bank/class/paymentvarious.class.php @@ -111,7 +111,7 @@ class PaymentVarious extends CommonObject * @param int $notrigger 0=no, 1=yes (no update trigger) * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; @@ -181,7 +181,7 @@ class PaymentVarious extends CommonObject * @param User $user User that load * @return int <0 if KO, >0 if OK */ - function fetch($id, $user=null) + function fetch($id, $user = null) { global $langs; $sql = "SELECT"; @@ -505,7 +505,7 @@ class PaymentVarious extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -518,7 +518,7 @@ class PaymentVarious extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Libelle */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -567,7 +567,7 @@ class PaymentVarious extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $save_lastsearch_value=-1, $notooltip=0) + function getNomUrl($withpicto = 0, $option = '', $save_lastsearch_value = -1, $notooltip = 0) { global $db, $conf, $langs, $hookmanager; global $langs; diff --git a/htdocs/compta/cashcontrol/class/cashcontrol.class.php b/htdocs/compta/cashcontrol/class/cashcontrol.class.php index d0a10ec94da..946658208df 100644 --- a/htdocs/compta/cashcontrol/class/cashcontrol.class.php +++ b/htdocs/compta/cashcontrol/class/cashcontrol.class.php @@ -295,7 +295,7 @@ class CashControl extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function getLibStatut($mode=0) + public function getLibStatut($mode = 0) { return $this->LibStatut($this->status, $mode); } @@ -308,7 +308,7 @@ class CashControl extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function LibStatut($status, $mode=0) + public function LibStatut($status, $mode = 0) { // phpcs:enable if (empty($this->labelstatus)) @@ -364,7 +364,7 @@ class CashControl extends CommonObject * @param int $notooltip No tooltip * @return string String with URL */ - public function getNomUrl($withpicto=0, $option='', $maxlength=0, $save_lastsearch_value=-1, $notooltip=0) + public function getNomUrl($withpicto = 0, $option = '', $maxlength = 0, $save_lastsearch_value = -1, $notooltip = 0) { global $conf, $langs, $hookmanager; include_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; diff --git a/htdocs/compta/deplacement/class/deplacement.class.php b/htdocs/compta/deplacement/class/deplacement.class.php index 2c21c2694ae..60108eed794 100644 --- a/htdocs/compta/deplacement/class/deplacement.class.php +++ b/htdocs/compta/deplacement/class/deplacement.class.php @@ -245,7 +245,7 @@ class Deplacement extends CommonObject * @param string $ref Ref of record * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { $sql = "SELECT rowid, fk_user, type, fk_statut, km, fk_soc, dated, note_private, note_public, fk_projet, extraparams"; $sql.= " FROM ".MAIN_DB_PREFIX."deplacement"; @@ -316,7 +316,7 @@ class Deplacement extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -329,7 +329,7 @@ class Deplacement extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Libelle */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -374,7 +374,7 @@ class Deplacement extends CommonObject * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @return string Chaine avec URL */ - function getNomUrl($withpicto=0) + function getNomUrl($withpicto = 0) { global $langs; @@ -400,7 +400,7 @@ class Deplacement extends CommonObject * @param int $active Active or not * @return array */ - function listOfTypes($active=1) + function listOfTypes($active = 1) { global $langs; diff --git a/htdocs/compta/deplacement/class/deplacementstats.class.php b/htdocs/compta/deplacement/class/deplacementstats.class.php index ae93eb094d9..542fe49e503 100644 --- a/htdocs/compta/deplacement/class/deplacementstats.class.php +++ b/htdocs/compta/deplacement/class/deplacementstats.class.php @@ -50,7 +50,7 @@ class DeplacementStats extends Stats * @param mixed $userid Id user for filter or array of user ids * @return void */ - function __construct($db, $socid=0, $userid=0) + function __construct($db, $socid = 0, $userid = 0) { global $conf; @@ -96,7 +96,7 @@ class DeplacementStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { $sql = "SELECT MONTH(dated) as dm, count(*)"; $sql.= " FROM ".$this->from; @@ -118,7 +118,7 @@ class DeplacementStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getAmountByMonth($year, $format=0) + function getAmountByMonth($year, $format = 0) { $sql = "SELECT date_format(dated,'%m') as dm, sum(".$this->field.")"; $sql.= " FROM ".$this->from; diff --git a/htdocs/compta/facture/class/api_invoices.class.php b/htdocs/compta/facture/class/api_invoices.class.php index 04c2bedeb41..e145ed477aa 100644 --- a/htdocs/compta/facture/class/api_invoices.class.php +++ b/htdocs/compta/facture/class/api_invoices.class.php @@ -104,7 +104,7 @@ class Invoices extends DolibarrApi * * @throws RestException */ - function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $thirdparty_ids='', $status='', $sqlfilters = '') + function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $thirdparty_ids = '', $status = '', $sqlfilters = '') { global $db, $conf; @@ -600,7 +600,7 @@ class Invoices extends DolibarrApi * @throws 500 * */ - function addContact($id, $fk_socpeople, $type_contact, $source, $notrigger=0) + function addContact($id, $fk_socpeople, $type_contact, $source, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->facture->creer) { throw new RestException(401); @@ -650,7 +650,7 @@ class Invoices extends DolibarrApi * @throws 500 * */ - function settodraft($id, $idwarehouse=-1) + function settodraft($id, $idwarehouse = -1) { if(! DolibarrApiAccess::$user->rights->facture->creer) { throw new RestException(401); @@ -702,7 +702,7 @@ class Invoices extends DolibarrApi * * @return array */ - function validate($id, $idwarehouse=0, $notrigger=0) + function validate($id, $idwarehouse = 0, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->facture->creer) { throw new RestException(401); @@ -753,7 +753,7 @@ class Invoices extends DolibarrApi * @throws 404 * @throws 500 */ - function settopaid($id, $close_code='', $close_note='') + function settopaid($id, $close_code = '', $close_note = '') { if(! DolibarrApiAccess::$user->rights->facture->creer) { throw new RestException(401); @@ -994,7 +994,7 @@ class Invoices extends DolibarrApi * @throws 401 * @throws 404 */ - function addPayment($id, $datepaye, $paiementid, $closepaidinvoices, $accountid, $num_paiement='', $comment='', $chqemetteur='', $chqbank='') + function addPayment($id, $datepaye, $paiementid, $closepaidinvoices, $accountid, $num_paiement = '', $comment = '', $chqemetteur = '', $chqbank = '') { global $conf; @@ -1114,7 +1114,7 @@ class Invoices extends DolibarrApi * @throws 403 * @throws 404 */ - function addPaymentDistributed($arrayofamounts, $datepaye, $paiementid, $closepaidinvoices, $accountid, $num_paiement='', $comment='', $chqemetteur='', $chqbank='') + function addPaymentDistributed($arrayofamounts, $datepaye, $paiementid, $closepaidinvoices, $accountid, $num_paiement = '', $comment = '', $chqemetteur = '', $chqbank = '') { global $conf; diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index 5090132632e..39df40cc260 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -321,7 +321,7 @@ class FactureRec extends CommonInvoice * @param int $ref_int Internal reference of other object * @return int >0 if OK, <0 if KO, 0 if not found */ - function fetch($rowid, $ref='', $ref_ext='', $ref_int='') + function fetch($rowid, $ref = '', $ref_ext = '', $ref_int = '') { $sql = 'SELECT f.rowid, f.entity, f.titre, f.suspended, f.fk_soc, f.amount, f.tva, f.localtax1, f.localtax2, f.total, f.total_ttc'; $sql.= ', f.remise_percent, f.remise_absolue, f.remise'; @@ -573,7 +573,7 @@ class FactureRec extends CommonInvoice * @param int $idwarehouse Id warehouse to use for stock change. * @return int <0 if KO, >0 if OK */ - function delete(User $user, $notrigger=0, $idwarehouse=-1) + function delete(User $user, $notrigger = 0, $idwarehouse = -1) { $rowid=$this->id; @@ -644,7 +644,7 @@ class FactureRec extends CommonInvoice * @param int $date_end_fill 1=Flag to fill end date when generating invoice * @return int <0 if KO, Id of line if OK */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $price_base_type='HT', $info_bits=0, $fk_remise_except='', $pu_ttc=0, $type=0, $rang=-1, $special_code=0, $label='', $fk_unit=null, $pu_ht_devise=0, $date_start_fill=0, $date_end_fill=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1 = 0, $txlocaltax2 = 0, $fk_product = 0, $remise_percent = 0, $price_base_type = 'HT', $info_bits = 0, $fk_remise_except = '', $pu_ttc = 0, $type = 0, $rang = -1, $special_code = 0, $label = '', $fk_unit = null, $pu_ht_devise = 0, $date_start_fill = 0, $date_end_fill = 0) { global $mysoc; @@ -826,7 +826,7 @@ class FactureRec extends CommonInvoice * @param int $date_end_fill 1=Flag to fill end date when generating invoice * @return int <0 if KO, Id of line if OK */ - function updateline($rowid, $desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $price_base_type='HT', $info_bits=0, $fk_remise_except='', $pu_ttc=0, $type=0, $rang=-1, $special_code=0, $label='', $fk_unit=null, $pu_ht_devise = 0, $notrigger=0, $date_start_fill=0, $date_end_fill=0) + function updateline($rowid, $desc, $pu_ht, $qty, $txtva, $txlocaltax1 = 0, $txlocaltax2 = 0, $fk_product = 0, $remise_percent = 0, $price_base_type = 'HT', $info_bits = 0, $fk_remise_except = '', $pu_ttc = 0, $type = 0, $rang = -1, $special_code = 0, $label = '', $fk_unit = null, $pu_ht_devise = 0, $notrigger = 0, $date_start_fill = 0, $date_end_fill = 0) { global $mysoc; @@ -1002,7 +1002,7 @@ class FactureRec extends CommonInvoice * @param int $forcevalidation 1=Force validation of invoice whatever is template auto_validate flag. * @return int 0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK) */ - function createRecurringInvoices($restrictioninvoiceid=0, $forcevalidation=0) + function createRecurringInvoices($restrictioninvoiceid = 0, $forcevalidation = 0) { global $conf, $langs, $db, $user, $hookmanager; @@ -1159,7 +1159,7 @@ class FactureRec extends CommonInvoice * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0,$option='',$max=0,$short=0,$moretitle='',$notooltip='',$save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $max = 0, $short = 0, $moretitle = '', $notooltip = '', $save_lastsearch_value = -1) { global $langs; @@ -1210,7 +1210,7 @@ class FactureRec extends CommonInvoice * @param integer $alreadypaid Not used on recurring invoices * @return string Label of status */ - function getLibStatut($mode=0, $alreadypaid=-1) + function getLibStatut($mode = 0, $alreadypaid = -1) { return $this->LibStatut($this->frequency?1:0, $this->suspended, $mode, $alreadypaid, empty($this->type)?0:$this->type); @@ -1227,7 +1227,7 @@ class FactureRec extends CommonInvoice * @param int $type Type invoice * @return string Label of status */ - function LibStatut($recur, $status, $mode=0, $alreadypaid=-1, $type=0) + function LibStatut($recur, $status, $mode = 0, $alreadypaid = -1, $type = 0) { // phpcs:enable global $langs; @@ -1328,7 +1328,7 @@ class FactureRec extends CommonInvoice * @param string $option ''=Create a specimen invoice with lines, 'nolines'=No lines * @return void */ - function initAsSpecimen($option='') + function initAsSpecimen($option = '') { global $user,$langs,$conf; @@ -1480,7 +1480,7 @@ class FactureRec extends CommonInvoice * @param string $unit unit of frequency (d, m, y) * @return int <0 if KO, >0 if OK */ - function setFrequencyAndUnit($frequency,$unit) + function setFrequencyAndUnit($frequency, $unit) { if (! $this->table_element) { @@ -1523,7 +1523,7 @@ class FactureRec extends CommonInvoice * @param int $increment_nb_gen_done 0 do nothing more, >0 increment nb_gen_done * @return int <0 if KO, >0 if OK */ - function setNextDate($date, $increment_nb_gen_done=0) + function setNextDate($date, $increment_nb_gen_done = 0) { if (! $this->table_element) { @@ -1823,7 +1823,7 @@ class FactureLigneRec extends CommonInvoiceLine * @param int $notrigger No trigger * @return int <0 if KO, Id of line if OK */ - function update(User $user, $notrigger=0) + function update(User $user, $notrigger = 0) { global $conf; diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 3e4335774c9..bc689118426 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -289,7 +289,7 @@ class Facture extends CommonInvoice * @param int $forceduedate 1=Do not recalculate due date from payment condition but force it with value * @return int <0 if KO, >0 if OK */ - function create(User $user, $notrigger=0, $forceduedate=0) + function create(User $user, $notrigger = 0, $forceduedate = 0) { global $langs,$conf,$mysoc,$hookmanager; $error=0; @@ -854,7 +854,7 @@ class Facture extends CommonInvoice * @param int $invertdetail Reverse sign of amounts for lines * @return int <0 if KO, >0 if OK */ - function createFromCurrent(User $user, $invertdetail=0) + function createFromCurrent(User $user, $invertdetail = 0) { global $conf; @@ -945,7 +945,7 @@ class Facture extends CommonInvoice * @param int $socid Id of thirdparty * @return int New id of clone */ - function createFromClone($socid=0) + function createFromClone($socid = 0) { global $user,$hookmanager, $conf; @@ -1162,7 +1162,7 @@ class Facture extends CommonInvoice * @param int $withpicto Add download picto into link * @return string HTML link to file */ - function getDirectExternalLink($withpicto=0) + function getDirectExternalLink($withpicto = 0) { global $dolibarr_main_url_root; @@ -1193,7 +1193,7 @@ class Facture extends CommonInvoice * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $max=0, $short=0, $moretitle='', $notooltip=0, $addlinktonotes=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $max = 0, $short = 0, $moretitle = '', $notooltip = 0, $addlinktonotes = 0, $save_lastsearch_value = -1) { global $langs, $conf, $user, $form; @@ -1301,7 +1301,7 @@ class Facture extends CommonInvoice * @param bool $fetch_situation Fetch the previous and next situation in $tab_previous_situation_invoice and $tab_next_situation_invoice * @return int >0 if OK, <0 if KO, 0 if not found */ - function fetch($rowid, $ref='', $ref_ext='', $ref_int='', $fetch_situation=false) + function fetch($rowid, $ref = '', $ref_ext = '', $ref_int = '', $fetch_situation = false) { global $conf; @@ -1604,7 +1604,7 @@ class Facture extends CommonInvoice * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update(User $user, $notrigger=0) + function update(User $user, $notrigger = 0) { global $conf; @@ -1819,7 +1819,7 @@ class Facture extends CommonInvoice * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_ref_client($ref_client, $notrigger=0) + function set_ref_client($ref_client, $notrigger = 0) { // phpcs:enable global $user; @@ -1884,7 +1884,7 @@ class Facture extends CommonInvoice * @param int $idwarehouse Id warehouse to use for stock change. * @return int <0 if KO, 0=Refused, >0 if OK */ - function delete($user, $notrigger=0, $idwarehouse=-1) + function delete($user, $notrigger = 0, $idwarehouse = -1) { global $langs,$conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -2058,7 +2058,7 @@ class Facture extends CommonInvoice * @param string $close_note Commentaire renseigne si on classe a payee alors que paiement incomplet (cas escompte par exemple) * @return int <0 if KO, >0 if OK */ - function set_paid($user, $close_code='', $close_note='') + function set_paid($user, $close_code = '', $close_note = '') { // phpcs:enable $error=0; @@ -2168,7 +2168,7 @@ class Facture extends CommonInvoice * @param string $close_note Comment * @return int <0 if KO, >0 if OK */ - function set_canceled($user, $close_code='', $close_note='') + function set_canceled($user, $close_code = '', $close_note = '') { // phpcs:enable @@ -2231,7 +2231,7 @@ class Facture extends CommonInvoice * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, 0=Nothing done because invoice is not a draft, >0 if OK */ - function validate($user, $force_number='', $idwarehouse=0, $notrigger=0) + function validate($user, $force_number = '', $idwarehouse = 0, $notrigger = 0) { global $conf,$langs; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -2529,7 +2529,7 @@ class Facture extends CommonInvoice * @param int $idwarehouse Id warehouse to use for stock change. * @return int <0 if KO, >0 if OK */ - function set_draft($user,$idwarehouse=-1) + function set_draft($user, $idwarehouse = -1) { // phpcs:enable global $conf,$langs; @@ -2649,7 +2649,7 @@ class Facture extends CommonInvoice * @param double $pu_ht_devise Unit price in currency * @return int <0 if KO, Id of line if OK */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits=0, $fk_remise_except='', $price_base_type='HT', $pu_ttc=0, $type=self::TYPE_STANDARD, $rang=-1, $special_code=0, $origin='', $origin_id=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='', $array_options=0, $situation_percent=100, $fk_prev_id=0, $fk_unit = null, $pu_ht_devise = 0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1 = 0, $txlocaltax2 = 0, $fk_product = 0, $remise_percent = 0, $date_start = '', $date_end = '', $ventil = 0, $info_bits = 0, $fk_remise_except = '', $price_base_type = 'HT', $pu_ttc = 0, $type = self::TYPE_STANDARD, $rang = -1, $special_code = 0, $origin = '', $origin_id = 0, $fk_parent_line = 0, $fk_fournprice = null, $pa_ht = 0, $label = '', $array_options = 0, $situation_percent = 100, $fk_prev_id = 0, $fk_unit = null, $pu_ht_devise = 0) { // Deprecation warning if ($label) { @@ -2879,7 +2879,7 @@ class Facture extends CommonInvoice * @param int $notrigger disable line update trigger * @return int < 0 if KO, > 0 if OK */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type= self::TYPE_STANDARD, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_options=0, $situation_percent=100, $fk_unit = null, $pu_ht_devise = 0, $notrigger=0) + function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $txtva, $txlocaltax1 = 0, $txlocaltax2 = 0, $price_base_type = 'HT', $info_bits = 0, $type = self::TYPE_STANDARD, $fk_parent_line = 0, $skip_update_total = 0, $fk_fournprice = null, $pa_ht = 0, $label = '', $special_code = 0, $array_options = 0, $situation_percent = 100, $fk_unit = null, $pu_ht_devise = 0, $notrigger = 0) { global $conf,$user; // Deprecation warning @@ -3197,7 +3197,7 @@ class Facture extends CommonInvoice * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if ko, >0 if ok */ - function set_remise($user, $remise, $notrigger=0) + function set_remise($user, $remise, $notrigger = 0) { // phpcs:enable // Clean parameters @@ -3263,7 +3263,7 @@ class Facture extends CommonInvoice * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_remise_absolue($user, $remise, $notrigger=0) + function set_remise_absolue($user, $remise, $notrigger = 0) { // phpcs:enable if (empty($remise)) $remise=0; @@ -3330,7 +3330,7 @@ class Facture extends CommonInvoice * @param string $mode 'next' for next value or 'last' for last value * @return string free ref or last ref */ - function getNextNumRef($soc,$mode='next') + function getNextNumRef($soc, $mode = 'next') { global $conf, $langs; $langs->load("bills"); @@ -3472,7 +3472,7 @@ class Facture extends CommonInvoice * @param string $sortorder Sort order * @return int -1 if KO, array with result if OK */ - function liste_array($shortlist=0, $draft=0, $excluser='', $socid=0, $limit=0, $offset=0, $sortfield='f.datef,f.rowid', $sortorder='DESC') + function liste_array($shortlist = 0, $draft = 0, $excluser = '', $socid = 0, $limit = 0, $offset = 0, $sortfield = 'f.datef,f.rowid', $sortorder = 'DESC') { // phpcs:enable global $conf,$user; @@ -3543,7 +3543,7 @@ class Facture extends CommonInvoice * @param int $socid Id thirdparty * @return array Array of invoices ('id'=>id, 'ref'=>ref, 'status'=>status, 'paymentornot'=>0/1) */ - function list_replacable_invoices($socid=0) + function list_replacable_invoices($socid = 0) { // phpcs:enable global $conf; @@ -3593,7 +3593,7 @@ class Facture extends CommonInvoice * @param int $socid Id thirdparty * @return array Array of invoices ($id => array('ref'=>,'paymentornot'=>,'status'=>,'paye'=>) */ - function list_qualified_avoir_invoices($socid=0) + function list_qualified_avoir_invoices($socid = 0) { // phpcs:enable global $conf; @@ -3668,7 +3668,7 @@ class Facture extends CommonInvoice * @param float $amount Amount we request direct debit for * @return int <0 if KO, >0 if OK */ - function demande_prelevement($fuser, $amount=0) + function demande_prelevement($fuser, $amount = 0) { // phpcs:enable @@ -3894,7 +3894,7 @@ class Facture extends CommonInvoice * @param string $option ''=Create a specimen invoice with lines, 'nolines'=No lines * @return void */ - function initAsSpecimen($option='') + function initAsSpecimen($option = '') { global $langs; @@ -4110,7 +4110,7 @@ class Facture extends CommonInvoice * @param null|array $moreparams Array to provide more information * @return int <0 if KO, >0 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$langs; @@ -4215,7 +4215,7 @@ class Facture extends CommonInvoice * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function setFinal(User $user, $notrigger=0) + function setFinal(User $user, $notrigger = 0) { $error=0; @@ -4512,7 +4512,7 @@ class FactureLigne extends CommonInvoiceLine * @param int $noerrorifdiscountalreadylinked 1=Do not make error if lines is linked to a discount and discount already linked to another * @return int <0 if KO, >0 if OK */ - function insert($notrigger=0, $noerrorifdiscountalreadylinked=0) + function insert($notrigger = 0, $noerrorifdiscountalreadylinked = 0) { global $langs,$user,$conf; @@ -4729,7 +4729,7 @@ class FactureLigne extends CommonInvoiceLine * @param int $notrigger Disable triggers * @return int <0 if KO, >0 if OK */ - function update($user='',$notrigger=0) + function update($user = '', $notrigger = 0) { global $user,$conf; @@ -4945,7 +4945,7 @@ class FactureLigne extends CommonInvoiceLine * @param bool $include_credit_note Include credit note or not * @return int >= 0 */ - function get_prev_progress($invoiceid, $include_credit_note=true) + function get_prev_progress($invoiceid, $include_credit_note = true) { // phpcs:enable if (is_null($this->fk_prev_id) || empty($this->fk_prev_id) || $this->fk_prev_id == "") { diff --git a/htdocs/compta/facture/class/facturestats.class.php b/htdocs/compta/facture/class/facturestats.class.php index 4cf9477613e..ea065d81636 100644 --- a/htdocs/compta/facture/class/facturestats.class.php +++ b/htdocs/compta/facture/class/facturestats.class.php @@ -53,7 +53,7 @@ class FactureStats extends Stats * @param string $mode Option ('customer', 'supplier') * @param int $userid Id user for filter (creation user) */ - function __construct($db, $socid, $mode, $userid=0) + function __construct($db, $socid, $mode, $userid = 0) { global $user, $conf; @@ -100,7 +100,7 @@ class FactureStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; @@ -145,7 +145,7 @@ class FactureStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with amount by month */ - function getAmountByMonth($year, $format=0) + function getAmountByMonth($year, $format = 0) { global $user; diff --git a/htdocs/compta/facture/class/paymentterm.class.php b/htdocs/compta/facture/class/paymentterm.class.php index 55a3e40b55f..3d4f0881de2 100644 --- a/htdocs/compta/facture/class/paymentterm.class.php +++ b/htdocs/compta/facture/class/paymentterm.class.php @@ -82,7 +82,7 @@ class PaymentTerm // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -268,7 +268,7 @@ class PaymentTerm // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; @@ -345,7 +345,7 @@ class PaymentTerm // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; diff --git a/htdocs/compta/localtax/class/localtax.class.php b/htdocs/compta/localtax/class/localtax.class.php index 49c95c26c2e..d80b9cc4783 100644 --- a/htdocs/compta/localtax/class/localtax.class.php +++ b/htdocs/compta/localtax/class/localtax.class.php @@ -163,7 +163,7 @@ class Localtax extends CommonObject * @param int $notrigger 0=no, 1=yes (no update trigger) * @return int <0 if KO, >0 if OK */ - function update(User $user, $notrigger=0) + function update(User $user, $notrigger = 0) { global $conf, $langs; @@ -628,7 +628,7 @@ class Localtax extends CommonObject * @param string $option Sur quoi pointe le lien * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $option='') + function getNomUrl($withpicto = 0, $option = '') { global $langs; @@ -652,7 +652,7 @@ class Localtax extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -665,7 +665,7 @@ class Localtax extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($status, $mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; // TODO Renvoyer le libelle anglais et faire traduction a affichage diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 28973d3c4e2..34dd599f35a 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -84,7 +84,7 @@ class RemiseCheque extends CommonObject * @param string $ref Ref record * @return int <0 if KO, > 0 if OK */ - function fetch($id,$ref='') + function fetch($id, $ref = '') { global $conf; @@ -299,7 +299,7 @@ class RemiseCheque extends CommonObject * @param User $user Utilisateur qui effectue l'operation * @return int */ - function delete($user='') + function delete($user = '') { global $conf; @@ -416,7 +416,7 @@ class RemiseCheque extends CommonObject * @param string $mode 'next' for next value or 'last' for last value * @return string free ref or last ref */ - function getNextNumRef($mode='next') + function getNextNumRef($mode = 'next') { global $conf, $db, $langs, $mysoc; $langs->load("bills"); @@ -988,7 +988,7 @@ class RemiseCheque extends CommonObject * @param string $option ''=Create a specimen invoice with lines, 'nolines'=No lines * @return void */ - function initAsSpecimen($option='') + function initAsSpecimen($option = '') { global $user,$langs,$conf; @@ -1013,7 +1013,7 @@ class RemiseCheque extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $conf, $langs; @@ -1064,7 +1064,7 @@ class RemiseCheque extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -1077,7 +1077,7 @@ class RemiseCheque extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=Long label + picto * @return string Libelle du statut */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; // TODO Renvoyer le libelle anglais et faire traduction a affichage diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index c4cb529d895..4e729e9c37b 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -157,7 +157,7 @@ class Paiement extends CommonObject * @param int $fk_bank Id of bank line associated to payment * @return int <0 if KO, 0 if not found, >0 if OK */ - public function fetch($id, $ref='', $fk_bank='') + public function fetch($id, $ref = '', $fk_bank = '') { $sql = 'SELECT p.rowid, p.ref, p.datep as dp, p.amount, p.statut, p.ext_payment_id, p.ext_payment_site, p.fk_bank,'; $sql.= ' c.code as type_code, c.libelle as type_libelle,'; @@ -224,7 +224,7 @@ class Paiement extends CommonObject * @param int $closepaidinvoices 1=Also close payed invoices to paid, 0=Do nothing more * @return int id of created payment, < 0 if error */ - function create($user, $closepaidinvoices=0) + function create($user, $closepaidinvoices = 0) { global $conf, $langs; @@ -488,7 +488,7 @@ class Paiement extends CommonObject * @param int $notrigger No trigger * @return int <0 si ko, >0 si ok */ - function delete($notrigger=0) + function delete($notrigger = 0) { global $conf, $user, $langs; @@ -598,7 +598,7 @@ class Paiement extends CommonObject * @param int $notrigger No trigger * @return int <0 if KO, bank_line_id if OK */ - function addPaymentToBank($user,$mode,$label,$accountid,$emetteur_nom,$emetteur_banque,$notrigger=0) + function addPaymentToBank($user, $mode, $label, $accountid, $emetteur_nom, $emetteur_banque, $notrigger = 0) { global $conf,$langs,$user; @@ -897,7 +897,7 @@ class Paiement extends CommonObject * @param User $user User making validation * @return int <0 if KO, >0 if OK */ - function valide(User $user=null) + function valide(User $user = null) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET statut = 1 WHERE rowid = '.$this->id; @@ -921,7 +921,7 @@ class Paiement extends CommonObject * @param User $user User making reject * @return int <0 if KO, >0 if OK */ - function reject(User $user=null) + function reject(User $user = null) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET statut = 2 WHERE rowid = '.$this->id; @@ -989,7 +989,7 @@ class Paiement extends CommonObject * @param string $filter Critere de filtre * @return array Tableau des id de factures */ - function getBillsArray($filter='') + function getBillsArray($filter = '') { $sql = 'SELECT fk_facture'; $sql.= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf, '.MAIN_DB_PREFIX.'facture as f'; @@ -1027,7 +1027,7 @@ class Paiement extends CommonObject * @param string $mode 'next' for next value or 'last' for last value * @return string free ref or last ref */ - function getNextNumRef($soc,$mode='next') + function getNextNumRef($soc, $mode = 'next') { global $conf, $db, $langs; $langs->load("bills"); @@ -1138,7 +1138,7 @@ class Paiement extends CommonObject * @param string $option ''=Create a specimen invoice with lines, 'nolines'=No lines * @return void */ - function initAsSpecimen($option='') + function initAsSpecimen($option = '') { global $user,$langs,$conf; @@ -1164,7 +1164,7 @@ class Paiement extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $option='', $mode='withlistofinvoices', $notooltip=0) + function getNomUrl($withpicto = 0, $option = '', $mode = 'withlistofinvoices', $notooltip = 0) { global $conf, $langs; @@ -1222,7 +1222,7 @@ class Paiement extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -1235,7 +1235,7 @@ class Paiement extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; // TODO Renvoyer le libelle anglais et faire traduction a affichage @@ -1286,7 +1286,7 @@ class Paiement extends CommonObject * @param int $force_thirdparty_id Force thirdparty id * @return int <0 if KO, >0 if OK */ - function fetch_thirdparty($force_thirdparty_id=0) + function fetch_thirdparty($force_thirdparty_id = 0) { // phpcs:enable include_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php'; diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 3f7dd23059d..f39ed254df3 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -81,7 +81,7 @@ class BonPrelevement extends CommonObject * @param DoliDB $db Database handler * @param string $filename Filename of withdraw receipt */ - function __construct($db, $filename='') + function __construct($db, $filename = '') { global $conf,$langs; @@ -276,7 +276,7 @@ class BonPrelevement extends CommonObject * @param string $ref Ref of direct debit * @return int >0 if OK, <0 if KO */ - function fetch($rowid, $ref='') + function fetch($rowid, $ref = '') { global $conf; @@ -630,7 +630,7 @@ class BonPrelevement extends CommonObject * @param int $amounts If you want to get the amount of the order for each invoice * @return array Id of invoices */ - private function getListInvoices($amounts=0) + private function getListInvoices($amounts = 0) { global $conf; @@ -731,7 +731,7 @@ class BonPrelevement extends CommonObject * @param int $agence dolibarr mysoc agence * @return int <O if KO, number of invoices if OK */ - function NbFactureAPrelever($banque=0,$agence=0) + function NbFactureAPrelever($banque = 0, $agence = 0) { // phpcs:enable global $conf; @@ -777,7 +777,7 @@ class BonPrelevement extends CommonObject * @param string $executiondate Date to execute the transfer * @return int <0 if KO, nbre of invoice withdrawed if OK */ - function Create($banque=0, $agence=0, $mode='real', $format='ALL',$executiondate='') + function Create($banque = 0, $agence = 0, $mode = 'real', $format = 'ALL', $executiondate = '') { // phpcs:enable global $conf,$langs; @@ -1138,7 +1138,7 @@ class BonPrelevement extends CommonObject * @param User $user Object user that delete * @return int >0 if OK, <0 if KO */ - function delete($user=null) + function delete($user = null) { $this->db->begin(); @@ -1178,7 +1178,7 @@ class BonPrelevement extends CommonObject * @param string $option link target * @return string URL of target */ - function getNomUrl($withpicto=0,$option='') + function getNomUrl($withpicto = 0, $option = '') { global $langs; @@ -1299,7 +1299,7 @@ class BonPrelevement extends CommonObject * @param string $executiondate Date to execute transfer * @return int 0 if OK, <0 if KO */ - function generate($format='ALL',$executiondate='') + function generate($format = 'ALL', $executiondate = '') { global $conf,$langs,$mysoc; @@ -1493,7 +1493,7 @@ class BonPrelevement extends CommonObject * @param string $rib_dom rib domiciliation * @return void */ - function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount, $ref, $facid, $rib_dom='') + function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount, $ref, $facid, $rib_dom = '') { // phpcs:enable fputs($this->file, "06"); @@ -1726,7 +1726,7 @@ class BonPrelevement extends CommonObject * @param string $format FRST or RCUR or ALL * @return string String with SEPA Sender */ - function EnregEmetteurSEPA($configuration, $ladate, $nombre, $total, $CrLf='\n', $format='FRST') + function EnregEmetteurSEPA($configuration, $ladate, $nombre, $total, $CrLf = '\n', $format = 'FRST') { // phpcs:enable // SEPA INITIALISATION @@ -1905,7 +1905,7 @@ class BonPrelevement extends CommonObject * @param int $mode 0=Label, 1=Picto + label, 2=Picto, 3=Label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -1918,7 +1918,7 @@ class BonPrelevement extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable if (empty($this->labelstatut)) diff --git a/htdocs/compta/prelevement/class/ligneprelevement.class.php b/htdocs/compta/prelevement/class/ligneprelevement.class.php index 7e100022c7a..d47eb32504a 100644 --- a/htdocs/compta/prelevement/class/ligneprelevement.class.php +++ b/htdocs/compta/prelevement/class/ligneprelevement.class.php @@ -123,7 +123,7 @@ class LignePrelevement * @param int $mode 0=Label, 1=Picto + label, 2=Picto, 3=Label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -136,7 +136,7 @@ class LignePrelevement * @param int $mode 0=Label, 1=Picto + label, 2=Picto, 3=Label + Picto * @return string Label */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/compta/prelevement/class/rejetprelevement.class.php b/htdocs/compta/prelevement/class/rejetprelevement.class.php index 4797121a24c..46b4242944b 100644 --- a/htdocs/compta/prelevement/class/rejetprelevement.class.php +++ b/htdocs/compta/prelevement/class/rejetprelevement.class.php @@ -82,7 +82,7 @@ class RejetPrelevement * @param int $facturation Facturation * @return void */ - function create($user, $id, $motif, $date_rejet, $bonid, $facturation=0) + function create($user, $id, $motif, $date_rejet, $bonid, $facturation = 0) { global $langs,$conf; @@ -282,7 +282,7 @@ class RejetPrelevement * @return array Array List of invoices related to the withdrawal line * @TODO A withdrawal line is today linked to one and only one invoice. So the function should return only one object ? */ - private function getListInvoices($amounts=0) + private function getListInvoices($amounts = 0) { global $conf; diff --git a/htdocs/compta/salaries/class/paymentsalary.class.php b/htdocs/compta/salaries/class/paymentsalary.class.php index 76a8284daff..8f55b5804cc 100644 --- a/htdocs/compta/salaries/class/paymentsalary.class.php +++ b/htdocs/compta/salaries/class/paymentsalary.class.php @@ -108,7 +108,7 @@ class PaymentSalary extends CommonObject * @param int $notrigger 0=no, 1=yes (no update trigger) * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; @@ -189,7 +189,7 @@ class PaymentSalary extends CommonObject * @param User $user User that load * @return int <0 if KO, >0 if OK */ - function fetch($id, $user=null) + function fetch($id, $user = null) { global $langs; $sql = "SELECT"; @@ -544,7 +544,7 @@ class PaymentSalary extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chaine with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs, $hookmanager; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -652,7 +652,7 @@ class PaymentSalary extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -665,7 +665,7 @@ class PaymentSalary extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; // TODO Renvoyer le libelle anglais et faire traduction a affichage diff --git a/htdocs/compta/salaries/class/salariesstats.class.php b/htdocs/compta/salaries/class/salariesstats.class.php index 82a8d094148..0c91ee29309 100644 --- a/htdocs/compta/salaries/class/salariesstats.class.php +++ b/htdocs/compta/salaries/class/salariesstats.class.php @@ -49,7 +49,7 @@ class SalariesStats extends Stats * @param mixed $userid Id user for filter or array of user ids * @return void */ - function __construct($db, $socid=0, $userid=0) + function __construct($db, $socid = 0, $userid = 0) { global $conf; @@ -94,7 +94,7 @@ class SalariesStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { $sql = "SELECT MONTH(datep) as dm, count(*)"; $sql.= " FROM ".$this->from; @@ -116,7 +116,7 @@ class SalariesStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getAmountByMonth($year, $format=0) + function getAmountByMonth($year, $format = 0) { $sql = "SELECT date_format(datep,'%m') as dm, sum(".$this->field.")"; $sql.= " FROM ".$this->from; diff --git a/htdocs/compta/sociales/class/cchargesociales.class.php b/htdocs/compta/sociales/class/cchargesociales.class.php index 9e13ffcd8a5..f7c829294f8 100644 --- a/htdocs/compta/sociales/class/cchargesociales.class.php +++ b/htdocs/compta/sociales/class/cchargesociales.class.php @@ -404,7 +404,7 @@ class Cchargesociales * @param string $morecss Add more css on link * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='') + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $maxlen = 24, $morecss = '') { global $langs, $conf, $db; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -438,7 +438,7 @@ class Cchargesociales * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -451,7 +451,7 @@ class Cchargesociales * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index cca5a4d7dd2..1828e750914 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -93,7 +93,7 @@ class ChargeSociales extends CommonObject * @param string $ref Ref * @return int <0 KO >0 OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { $sql = "SELECT cs.rowid, cs.date_ech"; $sql.= ", cs.libelle as lib, cs.fk_type, cs.amount, cs.fk_projet as fk_project, cs.paye, cs.periode, cs.import_key"; @@ -419,7 +419,7 @@ class ChargeSociales extends CommonObject * @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) * @return string Label */ - function getLibStatut($mode=0,$alreadypaid=-1) + function getLibStatut($mode = 0, $alreadypaid = -1) { return $this->LibStatut($this->paye,$mode,$alreadypaid); } @@ -433,7 +433,7 @@ class ChargeSociales extends CommonObject * @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) * @return string Label */ - function LibStatut($statut,$mode=0,$alreadypaid=-1) + function LibStatut($statut, $mode = 0, $alreadypaid = -1) { // phpcs:enable global $langs; @@ -491,7 +491,7 @@ class ChargeSociales extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with link */ - function getNomUrl($withpicto=0, $maxlen=0, $notooltip=0, $short=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $maxlen = 0, $notooltip = 0, $short = 0, $save_lastsearch_value = -1) { global $langs, $conf, $user, $form; diff --git a/htdocs/compta/sociales/class/paymentsocialcontribution.class.php b/htdocs/compta/sociales/class/paymentsocialcontribution.class.php index 74ddce68230..bd678904df6 100644 --- a/htdocs/compta/sociales/class/paymentsocialcontribution.class.php +++ b/htdocs/compta/sociales/class/paymentsocialcontribution.class.php @@ -104,7 +104,7 @@ class PaymentSocialContribution extends CommonObject * @param int $closepaidcontrib 1=Also close payed contributions to paid, 0=Do nothing more * @return int <0 if KO, id of payment if OK */ - function create($user, $closepaidcontrib=0) + function create($user, $closepaidcontrib = 0) { global $conf, $langs; @@ -292,7 +292,7 @@ class PaymentSocialContribution extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -379,7 +379,7 @@ class PaymentSocialContribution extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -540,7 +540,7 @@ class PaymentSocialContribution extends CommonObject * @param string $emetteur_banque Name of bank * @return int <0 if KO, >0 if OK */ - function addPaymentToBank($user,$mode,$label,$accountid,$emetteur_nom,$emetteur_banque) + function addPaymentToBank($user, $mode, $label, $accountid, $emetteur_nom, $emetteur_banque) { global $conf; @@ -656,7 +656,7 @@ class PaymentSocialContribution extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -669,7 +669,7 @@ class PaymentSocialContribution extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; // TODO Renvoyer le libelle anglais et faire traduction a affichage @@ -720,7 +720,7 @@ class PaymentSocialContribution extends CommonObject * @param int $maxlen Longueur max libelle * @return string Chaine avec URL */ - function getNomUrl($withpicto=0,$maxlen=0) + function getNomUrl($withpicto = 0, $maxlen = 0) { global $langs; diff --git a/htdocs/compta/tva/class/tva.class.php b/htdocs/compta/tva/class/tva.class.php index 33d48de8bfc..5da7b0e144c 100644 --- a/htdocs/compta/tva/class/tva.class.php +++ b/htdocs/compta/tva/class/tva.class.php @@ -173,7 +173,7 @@ class Tva extends CommonObject * @param int $notrigger 0=no, 1=yes (no update trigger) * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { global $conf, $langs; @@ -241,7 +241,7 @@ class Tva extends CommonObject * @param User $user User that load * @return int <0 if KO, >0 if OK */ - function fetch($id, $user=null) + function fetch($id, $user = null) { global $langs; $sql = "SELECT"; @@ -687,7 +687,7 @@ class Tva extends CommonObject * @param string $morecss More CSS * @return string Chaine with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='') + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '') { global $langs, $conf; @@ -813,7 +813,7 @@ class Tva extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -826,7 +826,7 @@ class Tva extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; // TODO Renvoyer le libelle anglais et faire traduction a affichage diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index a5297750386..d5b5afa4433 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -313,7 +313,7 @@ class Contact extends CommonObject * @param int $nosyncuser No sync linked user (external users and contacts are linked) * @return int <0 if KO, >0 if OK */ - function update($id, $user=null, $notrigger=0, $action='update', $nosyncuser=0) + function update($id, $user = null, $notrigger = 0, $action = 'update', $nosyncuser = 0) { global $conf, $langs, $hookmanager; @@ -501,7 +501,7 @@ class Contact extends CommonObject * 2=Return key only (uid=qqq) * @return string DN */ - function _load_ldap_dn($info,$mode=0) + function _load_ldap_dn($info, $mode = 0) { // phpcs:enable global $conf; @@ -597,7 +597,7 @@ class Contact extends CommonObject * @param int $notrigger 0=no, 1=yes * @return int <0 if KO, >=0 if OK */ - function update_perso($id, $user=null, $notrigger=0) + function update_perso($id, $user = null, $notrigger = 0) { // phpcs:enable $error=0; @@ -686,7 +686,7 @@ class Contact extends CommonObject * @param string $email Email * @return int -1 if KO, 0 if OK but not found, 1 if OK */ - function fetch($id, $user=null, $ref_ext='', $email='') + function fetch($id, $user = null, $ref_ext = '', $email = '') { global $langs; @@ -931,7 +931,7 @@ class Contact extends CommonObject * @param int $notrigger Disable all trigger * @return int <0 if KO, >0 if OK */ - function delete($notrigger=0) + function delete($notrigger = 0) { global $conf, $langs, $user; @@ -1124,7 +1124,7 @@ class Contact extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $maxlen=0, $moreparam='', $save_lastsearch_value=-1, $notooltip=0) + function getNomUrl($withpicto = 0, $option = '', $maxlen = 0, $moreparam = '', $save_lastsearch_value = -1, $notooltip = 0) { global $conf, $langs, $hookmanager; @@ -1231,7 +1231,7 @@ class Contact extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function LibStatut($statut,$mode) + function LibStatut($statut, $mode) { // phpcs:enable global $langs; diff --git a/htdocs/contrat/class/api_contracts.class.php b/htdocs/contrat/class/api_contracts.class.php index 585d5399771..8631becc515 100644 --- a/htdocs/contrat/class/api_contracts.class.php +++ b/htdocs/contrat/class/api_contracts.class.php @@ -555,7 +555,7 @@ class Contracts extends DolibarrApi * "notrigger": 0 * } */ - function validate($id, $notrigger=0) + function validate($id, $notrigger = 0) { if (! DolibarrApiAccess::$user->rights->contrat->creer) { throw new RestException(401); @@ -601,7 +601,7 @@ class Contracts extends DolibarrApi * "notrigger": 0 * } */ - function close($id, $notrigger=0) + function close($id, $notrigger = 0) { if (! DolibarrApiAccess::$user->rights->contrat->creer) { throw new RestException(401); diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 5929ec034d1..5dce6cb4bd4 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -261,7 +261,7 @@ class Contrat extends CommonObject * @param string $comment A comment typed by user * @return int <0 if KO, >0 if OK */ - function active_line($user, $line_id, $date, $date_end='', $comment='') + function active_line($user, $line_id, $date, $date_end = '', $comment = '') { // phpcs:enable $result = $this->lines[$this->lines_id_index_mapper[$line_id]]->active_line($user, $date, $date_end, $comment); @@ -284,7 +284,7 @@ class Contrat extends CommonObject * @param string $comment A comment typed by user * @return int <0 if KO, >0 if OK */ - function close_line($user, $line_id, $date_end, $comment='') + function close_line($user, $line_id, $date_end, $comment = '') { // phpcs:enable $result=$this->lines[$this->lines_id_index_mapper[$line_id]]->close_line($user, $date_end, $comment); @@ -307,7 +307,7 @@ class Contrat extends CommonObject * @return int <0 if KO, >0 if OK * @see closeAll */ - function activateAll($user, $date_start='', $notrigger=0, $comment='') + function activateAll($user, $date_start = '', $notrigger = 0, $comment = '') { if (empty($date_start)) $date_start = dol_now(); @@ -363,7 +363,7 @@ class Contrat extends CommonObject * @return int <0 if KO, >0 if OK * @see activateAll */ - function closeAll(User $user, $notrigger=0, $comment='') + function closeAll(User $user, $notrigger = 0, $comment = '') { $this->db->begin(); @@ -419,7 +419,7 @@ class Contrat extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function validate(User $user, $force_number='', $notrigger=0) + function validate(User $user, $force_number = '', $notrigger = 0) { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; global $langs, $conf; @@ -547,7 +547,7 @@ class Contrat extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0=execute triggers * @return int <0 if KO, >0 if OK */ - function reopen($user, $notrigger=0) + function reopen($user, $notrigger = 0) { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; global $langs, $conf; @@ -614,7 +614,7 @@ class Contrat extends CommonObject * @param string $ref_supplier Supplier ref * @return int <0 if KO, 0 if not found, Id of contract if OK */ - function fetch($id, $ref='', $ref_customer='', $ref_supplier='') + function fetch($id, $ref = '', $ref_customer = '', $ref_supplier = '') { $sql = "SELECT rowid, statut, ref, fk_soc, mise_en_service as datemise,"; $sql.= " ref_supplier, ref_customer,"; @@ -1242,7 +1242,7 @@ class Contrat extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -1360,7 +1360,7 @@ class Contrat extends CommonObject * @param string $rang Position * @return int <0 if KO, >0 if OK */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1, $txlocaltax2, $fk_product, $remise_percent, $date_start, $date_end, $price_base_type='HT', $pu_ttc=0.0, $info_bits=0, $fk_fournprice=null, $pa_ht = 0,$array_options=0, $fk_unit = null, $rang=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1, $txlocaltax2, $fk_product, $remise_percent, $date_start, $date_end, $price_base_type = 'HT', $pu_ttc = 0.0, $info_bits = 0, $fk_fournprice = null, $pa_ht = 0, $array_options = 0, $fk_unit = null, $rang = 0) { global $user, $langs, $conf, $mysoc; $error=0; @@ -1570,7 +1570,7 @@ class Contrat extends CommonObject * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int < 0 si erreur, > 0 si ok */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $tvatx, $localtax1tx=0.0, $localtax2tx=0.0, $date_debut_reel='', $date_fin_reel='', $price_base_type='HT', $info_bits=0, $fk_fournprice=null, $pa_ht = 0,$array_options=0, $fk_unit = null) + function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $tvatx, $localtax1tx = 0.0, $localtax2tx = 0.0, $date_debut_reel = '', $date_fin_reel = '', $price_base_type = 'HT', $info_bits = 0, $fk_fournprice = null, $pa_ht = 0, $array_options = 0, $fk_unit = null) { global $user, $conf, $langs, $mysoc; @@ -1840,7 +1840,7 @@ class Contrat extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Libelle court, 3=Picto, 4=Picto + Long label of all services, 5=Libelle court + Picto, 6=Picto of all services, 7=Same than 6 with fixed length * @return string Label */ - function LibStatut($statut,$mode) + function LibStatut($statut, $mode) { // phpcs:enable global $langs; @@ -1909,7 +1909,7 @@ class Contrat extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $maxlength=0, $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $maxlength = 0, $notooltip = 0, $save_lastsearch_value = -1) { global $conf, $langs, $user; @@ -2022,7 +2022,7 @@ class Contrat extends CommonObject * @param int $statut Status of lines to get * @return array Array of line's rowid */ - function array_detail($statut=-1) + function array_detail($statut = -1) { // phpcs:enable $tab=array(); @@ -2059,7 +2059,7 @@ class Contrat extends CommonObject * @param string $option 'all' or 'others' * @return array Array of contracts id */ - function getListOfContracts($option='all') + function getListOfContracts($option = 'all') { $tab=array(); @@ -2100,7 +2100,7 @@ class Contrat extends CommonObject * @param string $mode "inactive" pour services a activer, "expired" pour services expires * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ - function load_board($user,$mode) + function load_board($user, $mode) { // phpcs:enable global $conf, $langs; @@ -2336,7 +2336,7 @@ class Contrat extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$langs; @@ -2382,7 +2382,7 @@ class Contrat extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int New id of clone */ - function createFromClone($socid = 0, $notrigger=0) + function createFromClone($socid = 0, $notrigger = 0) { global $db, $user, $langs, $conf, $hookmanager, $extrafields; @@ -2658,7 +2658,7 @@ class ContratLigne extends CommonObjectLine * @param string $moreatt More attribute * @return string Libelle */ - static function LibStatut($statut,$mode,$expired=-1,$moreatt='') + static function LibStatut($statut, $mode, $expired = -1, $moreatt = '') { // phpcs:enable global $langs; @@ -2720,7 +2720,7 @@ class ContratLigne extends CommonObjectLine * @param int $maxlength Max length * @return string Chaine avec URL */ - function getNomUrl($withpicto=0,$maxlength=0) + function getNomUrl($withpicto = 0, $maxlength = 0) { global $langs; @@ -2747,7 +2747,7 @@ class ContratLigne extends CommonObjectLine * @param string $ref Ref of contract * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { // Check parameters @@ -2879,7 +2879,7 @@ class ContratLigne extends CommonObjectLine * @param int $notrigger 0=no, 1=yes (no update trigger) * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { global $conf, $langs, $mysoc; @@ -3257,7 +3257,7 @@ class ContratLigne extends CommonObjectLine * @param int $notrigger 1=Does not execute triggers, 0=Execute triggers * @return int <0 if KO, >0 if OK */ - function close_line($user, $date_end, $comment = '', $notrigger=0) + function close_line($user, $date_end, $comment = '', $notrigger = 0) { // phpcs:enable global $langs, $conf; diff --git a/htdocs/core/ajax/ajaxdirtree.php b/htdocs/core/ajax/ajaxdirtree.php index d90a3f5f316..1e4dde7e0a4 100644 --- a/htdocs/core/ajax/ajaxdirtree.php +++ b/htdocs/core/ajax/ajaxdirtree.php @@ -337,7 +337,7 @@ if ((! isset($mode) || $mode != 'noajax') && is_object($db)) $db->close(); * @param int $depth Depth * @return void */ -function treeOutputForAbsoluteDir($sqltree, $selecteddir, $fullpathselecteddir, $modulepart, $websitekey, $pageid, $preopened, $fullpathpreopened, $depth=0) +function treeOutputForAbsoluteDir($sqltree, $selecteddir, $fullpathselecteddir, $modulepart, $websitekey, $pageid, $preopened, $fullpathpreopened, $depth = 0) { global $conf, $db, $langs, $form; global $dolibarr_main_data_root; diff --git a/htdocs/core/boxes/box_actions.php b/htdocs/core/boxes/box_actions.php index aea85fd111e..55804430113 100644 --- a/htdocs/core/boxes/box_actions.php +++ b/htdocs/core/boxes/box_actions.php @@ -54,7 +54,7 @@ class box_actions extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $user; @@ -69,7 +69,7 @@ class box_actions extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; @@ -189,7 +189,7 @@ class box_actions extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { global $langs, $conf; $out = parent::showBox($this->info_box_head, $this->info_box_contents); diff --git a/htdocs/core/boxes/box_activity.php b/htdocs/core/boxes/box_activity.php index 413dc43d8b2..e18114a5bc7 100644 --- a/htdocs/core/boxes/box_activity.php +++ b/htdocs/core/boxes/box_activity.php @@ -53,7 +53,7 @@ class box_activity extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $conf, $user; @@ -74,7 +74,7 @@ class box_activity extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -457,7 +457,7 @@ class box_activity extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_bookmarks.php b/htdocs/core/boxes/box_bookmarks.php index c3a29877104..ec091956701 100644 --- a/htdocs/core/boxes/box_bookmarks.php +++ b/htdocs/core/boxes/box_bookmarks.php @@ -50,7 +50,7 @@ class box_bookmarks extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -65,7 +65,7 @@ class box_bookmarks extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; $langs->load("boxes"); @@ -157,7 +157,7 @@ class box_bookmarks extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_clients.php b/htdocs/core/boxes/box_clients.php index 9b1e4e34261..c4e34a72e9b 100644 --- a/htdocs/core/boxes/box_clients.php +++ b/htdocs/core/boxes/box_clients.php @@ -54,7 +54,7 @@ class box_clients extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $conf, $user; @@ -72,7 +72,7 @@ class box_clients extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; $langs->load("boxes"); @@ -173,7 +173,7 @@ class box_clients extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_commandes.php b/htdocs/core/boxes/box_commandes.php index 3f86909f04a..795bf36bd0b 100644 --- a/htdocs/core/boxes/box_commandes.php +++ b/htdocs/core/boxes/box_commandes.php @@ -54,7 +54,7 @@ class box_commandes extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -69,7 +69,7 @@ class box_commandes extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; @@ -198,7 +198,7 @@ class box_commandes extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_comptes.php b/htdocs/core/boxes/box_comptes.php index 5a5c2f59986..0f0d0f83fed 100644 --- a/htdocs/core/boxes/box_comptes.php +++ b/htdocs/core/boxes/box_comptes.php @@ -56,7 +56,7 @@ class box_comptes extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $conf, $user; @@ -75,7 +75,7 @@ class box_comptes extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; @@ -184,7 +184,7 @@ class box_comptes extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_contacts.php b/htdocs/core/boxes/box_contacts.php index 2d9d7e9461b..2654607e2eb 100644 --- a/htdocs/core/boxes/box_contacts.php +++ b/htdocs/core/boxes/box_contacts.php @@ -56,7 +56,7 @@ class box_contacts extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -71,7 +71,7 @@ class box_contacts extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; $langs->load("boxes"); @@ -185,7 +185,7 @@ class box_contacts extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_contracts.php b/htdocs/core/boxes/box_contracts.php index 7239fa78919..bd499855cc4 100644 --- a/htdocs/core/boxes/box_contracts.php +++ b/htdocs/core/boxes/box_contracts.php @@ -53,7 +53,7 @@ class box_contracts extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -68,7 +68,7 @@ class box_contracts extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; @@ -189,7 +189,7 @@ class box_contracts extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_external_rss.php b/htdocs/core/boxes/box_external_rss.php index fa7d35f6db0..d7165198201 100644 --- a/htdocs/core/boxes/box_external_rss.php +++ b/htdocs/core/boxes/box_external_rss.php @@ -56,7 +56,7 @@ class box_external_rss extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { $this->db=$db; $this->paramdef=$param; @@ -69,7 +69,7 @@ class box_external_rss extends ModeleBoxes * @param int $cachedelay Delay we accept for cache file * @return void */ - function loadBox($max=5, $cachedelay=3600) + function loadBox($max = 5, $cachedelay = 3600) { global $user, $langs, $conf; $langs->load("boxes"); @@ -195,7 +195,7 @@ class box_external_rss extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_factures.php b/htdocs/core/boxes/box_factures.php index ae4a32fad7c..b45c530a085 100644 --- a/htdocs/core/boxes/box_factures.php +++ b/htdocs/core/boxes/box_factures.php @@ -52,7 +52,7 @@ class box_factures extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -67,7 +67,7 @@ class box_factures extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -209,7 +209,7 @@ class box_factures extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_factures_fourn.php b/htdocs/core/boxes/box_factures_fourn.php index 617f041d7d2..cc8cd3bd1da 100644 --- a/htdocs/core/boxes/box_factures_fourn.php +++ b/htdocs/core/boxes/box_factures_fourn.php @@ -53,7 +53,7 @@ class box_factures_fourn extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -68,7 +68,7 @@ class box_factures_fourn extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -214,7 +214,7 @@ class box_factures_fourn extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_factures_fourn_imp.php b/htdocs/core/boxes/box_factures_fourn_imp.php index bd8fde32aab..181994fc1e3 100644 --- a/htdocs/core/boxes/box_factures_fourn_imp.php +++ b/htdocs/core/boxes/box_factures_fourn_imp.php @@ -52,7 +52,7 @@ class box_factures_fourn_imp extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -67,7 +67,7 @@ class box_factures_fourn_imp extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -201,7 +201,7 @@ class box_factures_fourn_imp extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_factures_imp.php b/htdocs/core/boxes/box_factures_imp.php index 11331f7f3e7..6193924ebc7 100644 --- a/htdocs/core/boxes/box_factures_imp.php +++ b/htdocs/core/boxes/box_factures_imp.php @@ -55,7 +55,7 @@ class box_factures_imp extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -70,7 +70,7 @@ class box_factures_imp extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -207,7 +207,7 @@ class box_factures_imp extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_ficheinter.php b/htdocs/core/boxes/box_ficheinter.php index 76d1414f53f..b4016bb3758 100644 --- a/htdocs/core/boxes/box_ficheinter.php +++ b/htdocs/core/boxes/box_ficheinter.php @@ -53,7 +53,7 @@ class box_ficheinter extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -68,7 +68,7 @@ class box_ficheinter extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=10) + function loadBox($max = 10) { global $user, $langs, $db, $conf; @@ -166,7 +166,7 @@ class box_ficheinter extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_fournisseurs.php b/htdocs/core/boxes/box_fournisseurs.php index c66c7f674c2..aa04d312f54 100644 --- a/htdocs/core/boxes/box_fournisseurs.php +++ b/htdocs/core/boxes/box_fournisseurs.php @@ -53,7 +53,7 @@ class box_fournisseurs extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -68,7 +68,7 @@ class box_fournisseurs extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; $langs->load("boxes"); @@ -160,7 +160,7 @@ class box_fournisseurs extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_goodcustomers.php b/htdocs/core/boxes/box_goodcustomers.php index 138326d6c01..0cca908f5d8 100644 --- a/htdocs/core/boxes/box_goodcustomers.php +++ b/htdocs/core/boxes/box_goodcustomers.php @@ -55,7 +55,7 @@ class box_goodcustomers extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $conf, $user; @@ -74,7 +74,7 @@ class box_goodcustomers extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; $langs->load("boxes"); @@ -169,7 +169,7 @@ class box_goodcustomers extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_graph_invoices_permonth.php b/htdocs/core/boxes/box_graph_invoices_permonth.php index fd0b4e593c0..b288912915d 100644 --- a/htdocs/core/boxes/box_graph_invoices_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_permonth.php @@ -48,7 +48,7 @@ class box_graph_invoices_permonth extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -63,7 +63,7 @@ class box_graph_invoices_permonth extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -275,7 +275,7 @@ class box_graph_invoices_permonth extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php index f13b19259c9..be4b8722cf2 100644 --- a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php @@ -48,7 +48,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -63,7 +63,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -274,7 +274,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_graph_orders_permonth.php b/htdocs/core/boxes/box_graph_orders_permonth.php index fefa90c5fea..390499bd359 100644 --- a/htdocs/core/boxes/box_graph_orders_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_permonth.php @@ -48,7 +48,7 @@ class box_graph_orders_permonth extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -63,7 +63,7 @@ class box_graph_orders_permonth extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -273,7 +273,7 @@ class box_graph_orders_permonth extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php index e388d226fd2..098cbb4d038 100644 --- a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php @@ -48,7 +48,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -63,7 +63,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -272,7 +272,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index 9dc4c162e0f..bc4a3130151 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -51,7 +51,7 @@ class box_graph_product_distribution extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user, $conf; @@ -70,7 +70,7 @@ class box_graph_product_distribution extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -412,7 +412,7 @@ class box_graph_product_distribution extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_graph_propales_permonth.php b/htdocs/core/boxes/box_graph_propales_permonth.php index f28b0ec2c99..4abd3a8725a 100644 --- a/htdocs/core/boxes/box_graph_propales_permonth.php +++ b/htdocs/core/boxes/box_graph_propales_permonth.php @@ -48,7 +48,7 @@ class box_graph_propales_permonth extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -63,7 +63,7 @@ class box_graph_propales_permonth extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -276,7 +276,7 @@ class box_graph_propales_permonth extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_last_modified_ticket.php b/htdocs/core/boxes/box_last_modified_ticket.php index 9ce7dd91605..34281d13c82 100644 --- a/htdocs/core/boxes/box_last_modified_ticket.php +++ b/htdocs/core/boxes/box_last_modified_ticket.php @@ -187,7 +187,7 @@ class box_last_modified_ticket extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_last_ticket.php b/htdocs/core/boxes/box_last_ticket.php index a824a707168..a1a52c3070d 100644 --- a/htdocs/core/boxes/box_last_ticket.php +++ b/htdocs/core/boxes/box_last_ticket.php @@ -187,7 +187,7 @@ class box_last_ticket extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_lastlogin.php b/htdocs/core/boxes/box_lastlogin.php index c8149c6384b..d1ae1e7abf4 100644 --- a/htdocs/core/boxes/box_lastlogin.php +++ b/htdocs/core/boxes/box_lastlogin.php @@ -53,7 +53,7 @@ class box_lastlogin extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $conf; @@ -66,7 +66,7 @@ class box_lastlogin extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -109,7 +109,7 @@ class box_lastlogin extends ModeleBoxes * @param int $nooutput No print, only return string * @return void */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_members.php b/htdocs/core/boxes/box_members.php index b0f999f54f1..8ffa90de5a4 100644 --- a/htdocs/core/boxes/box_members.php +++ b/htdocs/core/boxes/box_members.php @@ -55,7 +55,7 @@ class box_members extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $conf, $user; @@ -74,7 +74,7 @@ class box_members extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; $langs->load("boxes"); @@ -178,7 +178,7 @@ class box_members extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_produits.php b/htdocs/core/boxes/box_produits.php index 3dd66eb1da2..bb64e46ecc4 100644 --- a/htdocs/core/boxes/box_produits.php +++ b/htdocs/core/boxes/box_produits.php @@ -55,7 +55,7 @@ class box_produits extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $conf, $user; @@ -73,7 +73,7 @@ class box_produits extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf, $hookmanager; @@ -226,7 +226,7 @@ class box_produits extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_produits_alerte_stock.php b/htdocs/core/boxes/box_produits_alerte_stock.php index 896ceb93df6..b14cc2e659f 100644 --- a/htdocs/core/boxes/box_produits_alerte_stock.php +++ b/htdocs/core/boxes/box_produits_alerte_stock.php @@ -57,7 +57,7 @@ class box_produits_alerte_stock extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $conf,$user; @@ -75,7 +75,7 @@ class box_produits_alerte_stock extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf, $hookmanager; @@ -238,7 +238,7 @@ class box_produits_alerte_stock extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_project.php b/htdocs/core/boxes/box_project.php index a48543a00f6..3784294298a 100644 --- a/htdocs/core/boxes/box_project.php +++ b/htdocs/core/boxes/box_project.php @@ -51,7 +51,7 @@ class box_project extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $user, $langs; @@ -70,7 +70,7 @@ class box_project extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -195,7 +195,7 @@ class box_project extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_propales.php b/htdocs/core/boxes/box_propales.php index 2b3426f21b8..aa3a9f8fb00 100644 --- a/htdocs/core/boxes/box_propales.php +++ b/htdocs/core/boxes/box_propales.php @@ -54,7 +54,7 @@ class box_propales extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -69,7 +69,7 @@ class box_propales extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; @@ -188,7 +188,7 @@ class box_propales extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_prospect.php b/htdocs/core/boxes/box_prospect.php index a4382f86048..2c58bdbe1c3 100644 --- a/htdocs/core/boxes/box_prospect.php +++ b/htdocs/core/boxes/box_prospect.php @@ -56,7 +56,7 @@ class box_prospect extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $conf, $user; @@ -74,7 +74,7 @@ class box_prospect extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; @@ -176,7 +176,7 @@ class box_prospect extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_services_contracts.php b/htdocs/core/boxes/box_services_contracts.php index 708b781f092..264b95d5c65 100644 --- a/htdocs/core/boxes/box_services_contracts.php +++ b/htdocs/core/boxes/box_services_contracts.php @@ -54,7 +54,7 @@ class box_services_contracts extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -69,7 +69,7 @@ class box_services_contracts extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; @@ -241,7 +241,7 @@ class box_services_contracts extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_services_expired.php b/htdocs/core/boxes/box_services_expired.php index ed62e127816..0bae23fef95 100644 --- a/htdocs/core/boxes/box_services_expired.php +++ b/htdocs/core/boxes/box_services_expired.php @@ -52,7 +52,7 @@ class box_services_expired extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -67,7 +67,7 @@ class box_services_expired extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $user, $langs, $db, $conf; @@ -185,7 +185,7 @@ class box_services_expired extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_supplier_orders.php b/htdocs/core/boxes/box_supplier_orders.php index 4621950843e..142fd2820be 100644 --- a/htdocs/core/boxes/box_supplier_orders.php +++ b/htdocs/core/boxes/box_supplier_orders.php @@ -52,7 +52,7 @@ class box_supplier_orders extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param) + function __construct($db, $param) { global $user; @@ -184,7 +184,7 @@ class box_supplier_orders extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/box_task.php b/htdocs/core/boxes/box_task.php index cf1e799e486..bfcf5d2c301 100644 --- a/htdocs/core/boxes/box_task.php +++ b/htdocs/core/boxes/box_task.php @@ -54,7 +54,7 @@ class box_task extends ModeleBoxes * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { global $user, $langs; @@ -73,7 +73,7 @@ class box_task extends ModeleBoxes * @param int $max Maximum number of records to load * @return void */ - function loadBox($max=5) + function loadBox($max = 5) { global $conf, $user, $langs, $db; @@ -152,7 +152,7 @@ class box_task extends ModeleBoxes * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } diff --git a/htdocs/core/boxes/modules_boxes.php b/htdocs/core/boxes/modules_boxes.php index 9ae35403ec7..971c04848c7 100644 --- a/htdocs/core/boxes/modules_boxes.php +++ b/htdocs/core/boxes/modules_boxes.php @@ -115,7 +115,7 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" box * @param DoliDB $db Database handler * @param string $param More parameters */ - function __construct($db,$param='') + function __construct($db, $param = '') { $this->db=$db; } @@ -204,7 +204,7 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" box * @param int $nooutput No print, only return string * @return string */ - function showBox($head = null, $contents = null, $nooutput=0) + function showBox($head = null, $contents = null, $nooutput = 0) { global $langs, $user, $conf; @@ -385,7 +385,7 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" box * @param array $forcedirwidget null=All default directories. This parameter is used by modulebuilder module only. * @return array Array list of widget */ - static function getWidgetsList($forcedirwidget=null) + static function getWidgetsList($forcedirwidget = null) { global $conf, $langs, $db; diff --git a/htdocs/core/class/CMailFile.class.php b/htdocs/core/class/CMailFile.class.php index 52d98790dcc..499bd8deb29 100644 --- a/htdocs/core/class/CMailFile.class.php +++ b/htdocs/core/class/CMailFile.class.php @@ -119,7 +119,7 @@ class CMailFile * @param string $sendcontext 'standard', 'emailing', ... (used to define with sending mode and parameters to use) * @param string $replyto Reply-to email (will be set to same value than From by default if not provided) */ - function __construct($subject, $to, $from, $msg, $filename_list=array(), $mimetype_list=array(), $mimefilename_list=array(), $addr_cc="", $addr_bcc="", $deliveryreceipt=0, $msgishtml=0, $errors_to='', $css='', $trackid='', $moreinheader='', $sendcontext='standard', $replyto='') + function __construct($subject, $to, $from, $msg, $filename_list = array(), $mimetype_list = array(), $mimefilename_list = array(), $addr_cc = "", $addr_bcc = "", $deliveryreceipt = 0, $msgishtml = 0, $errors_to = '', $css = '', $trackid = '', $moreinheader = '', $sendcontext = 'standard', $replyto = '') { global $conf, $dolibarr_main_data_root; @@ -1178,7 +1178,7 @@ class CMailFile * @param array $mimefilename_list Tableau * @return string Chaine fichiers encodes */ - function write_files($filename_list,$mimetype_list,$mimefilename_list) + function write_files($filename_list, $mimetype_list, $mimefilename_list) { // phpcs:enable $out = ''; @@ -1259,7 +1259,7 @@ class CMailFile * @param int $port Example: 25, 465 * @return int Socket id if ok, 0 if KO */ - function check_server_port($host,$port) + function check_server_port($host, $port) { // phpcs:enable global $conf; @@ -1457,7 +1457,7 @@ class CMailFile * If format 3: '<john@doe.com>' or '"John Doe" <john@doe.com>' or '"=?UTF-8?B?Sm9obiBEb2U=?=" <john@doe.com>' * If format 4: 'John Doe' or 'john@doe.com' if no label exists */ - static function getValidAddress($address,$format,$encode=0,$maxnumberofemail=0) + static function getValidAddress($address, $format, $encode = 0, $maxnumberofemail = 0) { global $conf; diff --git a/htdocs/core/class/CSMSFile.class.php b/htdocs/core/class/CSMSFile.class.php index 86ffed48551..893c08b9257 100644 --- a/htdocs/core/class/CSMSFile.class.php +++ b/htdocs/core/class/CSMSFile.class.php @@ -59,7 +59,7 @@ class CSMSFile * @param int $priority Priority * @param int $class Class */ - function __construct($to,$from,$msg,$deliveryreceipt=0,$deferred=0,$priority=3,$class=1) + function __construct($to, $from, $msg, $deliveryreceipt = 0, $deferred = 0, $priority = 3, $class = 1) { global $conf; diff --git a/htdocs/core/class/canvas.class.php b/htdocs/core/class/canvas.class.php index 4694a5e4652..f822b178536 100644 --- a/htdocs/core/class/canvas.class.php +++ b/htdocs/core/class/canvas.class.php @@ -60,7 +60,7 @@ class Canvas * @param DoliDB $db Database handler * @param string $actiontype Action type ('create', 'view', 'edit', 'list') */ - function __construct($db, $actiontype='view') + function __construct($db, $actiontype = 'view') { $this->db = $db; @@ -142,7 +142,7 @@ class Canvas * @param string $ref Object ref (if id not provided) * @return void */ - function assign_values(&$action='view', $id=0, $ref='') + function assign_values(&$action = 'view', $id = 0, $ref = '') { // phpcs:enable if (method_exists($this->control,'assign_values')) $this->control->assign_values($action, $id, $ref); @@ -204,7 +204,7 @@ class Canvas * @return mixed Return return code of doActions of canvas * @see http://wiki.dolibarr.org/index.php/Canvas_development */ - function doActions(&$action='view', $id=0) + function doActions(&$action = 'view', $id = 0) { if (method_exists($this->control,'doActions')) { diff --git a/htdocs/core/class/ccountry.class.php b/htdocs/core/class/ccountry.class.php index f07916a7511..e93af622a27 100644 --- a/htdocs/core/class/ccountry.class.php +++ b/htdocs/core/class/ccountry.class.php @@ -86,7 +86,7 @@ class Ccountry // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -165,7 +165,7 @@ class Ccountry // extends CommonObject * @param string $code Code * @return int >0 if OK, 0 if not found, <0 if KO */ - function fetch($id,$code='') + function fetch($id, $code = '') { global $langs; $sql = "SELECT"; @@ -214,7 +214,7 @@ class Ccountry // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -285,7 +285,7 @@ class Ccountry // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; diff --git a/htdocs/core/class/comment.class.php b/htdocs/core/class/comment.class.php index 332f7e115ef..ddcce49cef4 100644 --- a/htdocs/core/class/comment.class.php +++ b/htdocs/core/class/comment.class.php @@ -82,7 +82,7 @@ class Comment extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; @@ -155,7 +155,7 @@ class Comment extends CommonObject * @param int $ref ref object * @return int <0 if KO, 0 if not found, >0 if OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { global $langs; @@ -213,7 +213,7 @@ class Comment extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <=0 if KO, >0 if OK */ - function update(User $user, $notrigger=0) + function update(User $user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -278,7 +278,7 @@ class Comment extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 726e95214cb..d4007235295 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -69,7 +69,7 @@ abstract class CommonDocGenerator * @param Translate $outputlangs Language object for output * @return array Array of substitution key->code */ - function get_substitutionarray_user($user,$outputlangs) + function get_substitutionarray_user($user, $outputlangs) { // phpcs:enable global $conf; @@ -107,7 +107,7 @@ abstract class CommonDocGenerator * @param Translate $outputlangs Language object for output * @return array Array of substitution key->code */ - function get_substitutionarray_mysoc($mysoc,$outputlangs) + function get_substitutionarray_mysoc($mysoc, $outputlangs) { // phpcs:enable global $conf; @@ -167,7 +167,7 @@ abstract class CommonDocGenerator * @param Translate $outputlangs Language object for output * @return array Array of substitution key->code */ - function get_substitutionarray_thirdparty($object,$outputlangs) + function get_substitutionarray_thirdparty($object, $outputlangs) { // phpcs:enable global $conf; @@ -361,7 +361,7 @@ abstract class CommonDocGenerator * @param string $array_key Name of the key for return array * @return array Array of substitution */ - function get_substitutionarray_object($object,$outputlangs,$array_key='object') + function get_substitutionarray_object($object, $outputlangs, $array_key = 'object') { // phpcs:enable global $conf; @@ -604,7 +604,7 @@ abstract class CommonDocGenerator * @param array $array_key Name of the key for return array * @return array Array of substitution */ - function get_substitutionarray_shipment($object,$outputlangs,$array_key='object') + function get_substitutionarray_shipment($object, $outputlangs, $array_key = 'object') { // phpcs:enable global $conf; @@ -716,7 +716,7 @@ abstract class CommonDocGenerator * @param boolean $recursive Want to fetch child array or child object * @return array Array of substitution key->code */ - function get_substitutionarray_each_var_object(&$object,$outputlangs,$recursive=true) + function get_substitutionarray_each_var_object(&$object, $outputlangs, $recursive = true) { // phpcs:enable $array_other = array(); @@ -747,7 +747,7 @@ abstract class CommonDocGenerator * @param Translate $outputlangs Lang object to use for output * @return array Substitution array */ - function fill_substitutionarray_with_extrafields($object,$array_to_fill,$extrafields,$array_key,$outputlangs) + function fill_substitutionarray_with_extrafields($object, $array_to_fill, $extrafields, $array_key, $outputlangs) { // phpcs:enable global $conf; @@ -834,7 +834,7 @@ abstract class CommonDocGenerator * @param int $hidebottom Hide bottom * @return void */ - function printRect($pdf, $x, $y, $l, $h, $hidetop=0, $hidebottom=0) + function printRect($pdf, $x, $y, $l, $h, $hidetop = 0, $hidebottom = 0) { if (empty($hidetop) || $hidetop==-1) $pdf->line($x, $y, $x+$l, $y); $pdf->line($x+$l, $y, $x+$l, $y+$h); @@ -870,7 +870,7 @@ abstract class CommonDocGenerator * @param int $hideref Do not show ref * @return null */ - function prepareArrayColumnField($object,$outputlangs,$hidedetails=0,$hidedesc=0,$hideref=0) + function prepareArrayColumnField($object, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf; diff --git a/htdocs/core/class/commoninvoice.class.php b/htdocs/core/class/commoninvoice.class.php index cd346dd95e2..5615ecf3b20 100644 --- a/htdocs/core/class/commoninvoice.class.php +++ b/htdocs/core/class/commoninvoice.class.php @@ -97,7 +97,7 @@ abstract class CommonInvoice extends CommonObject * @param int $multicurrency Return multicurrency_amount instead of amount * @return double Remain of amount to pay */ - function getRemainToPay($multicurrency=0) + function getRemainToPay($multicurrency = 0) { $alreadypaid=0; $alreadypaid+=$this->getSommePaiement($multicurrency); @@ -112,7 +112,7 @@ abstract class CommonInvoice extends CommonObject * @param int $multicurrency Return multicurrency_amount instead of amount * @return int Amount of payment already done, <0 if KO */ - function getSommePaiement($multicurrency=0) + function getSommePaiement($multicurrency = 0) { $table='paiement_facture'; $field='fk_facture'; @@ -149,7 +149,7 @@ abstract class CommonInvoice extends CommonObject * @param int $multicurrency Return multicurrency_amount instead of amount * @return int <0 if KO, Sum of deposits amount otherwise */ - function getSumDepositsUsed($multicurrency=0) + function getSumDepositsUsed($multicurrency = 0) { if ($this->element == 'facture_fourn' || $this->element == 'invoice_supplier') { @@ -178,7 +178,7 @@ abstract class CommonInvoice extends CommonObject * @param int $multicurrency Return multicurrency_amount instead of amount * @return int <0 if KO, Sum of credit notes and deposits amount otherwise */ - function getSumCreditNotesUsed($multicurrency=0) + function getSumCreditNotesUsed($multicurrency = 0) { require_once DOL_DOCUMENT_ROOT.'/core/class/discount.class.php'; @@ -233,7 +233,7 @@ abstract class CommonInvoice extends CommonObject * @param string $option filtre sur statut ('', 'validated', ...) * @return int <0 si KO, 0 si aucune facture ne remplace, id facture sinon */ - function getIdReplacingInvoice($option='') + function getIdReplacingInvoice($option = '') { $sql = 'SELECT rowid'; $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element; @@ -274,7 +274,7 @@ abstract class CommonInvoice extends CommonObject * @param string $filtertype 1 to filter on type of payment == 'PRE' * @return array Array with list of payments */ - function getListOfPayments($filtertype='') + function getListOfPayments($filtertype = '') { $retarray=array(); @@ -447,7 +447,7 @@ abstract class CommonInvoice extends CommonObject * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) * @return string Label of status */ - function getLibStatut($mode=0, $alreadypaid=-1) + function getLibStatut($mode = 0, $alreadypaid = -1) { return $this->LibStatut($this->paye, $this->statut, $mode, $alreadypaid, $this->type); } @@ -463,7 +463,7 @@ abstract class CommonInvoice extends CommonObject * @param int $type Type invoice * @return string Label of status */ - function LibStatut($paye, $status, $mode=0, $alreadypaid=-1, $type=0) + function LibStatut($paye, $status, $mode = 0, $alreadypaid = -1, $type = 0) { // phpcs:enable global $langs; @@ -593,7 +593,7 @@ abstract class CommonInvoice extends CommonObject * @param integer $cond_reglement Condition of payment (code or id) to use. If 0, we use current condition. * @return date Date limite de reglement si ok, <0 si ko */ - function calculate_date_lim_reglement($cond_reglement=0) + function calculate_date_lim_reglement($cond_reglement = 0) { // phpcs:enable if (! $cond_reglement) $cond_reglement=$this->cond_reglement_code; diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 945d257b8eb..d262bf87ac4 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -417,7 +417,7 @@ abstract class CommonObject * @param string $ref_ext Ref ext of object to check * @return int <0 if KO, 0 if OK but not found, >0 if OK and exists */ - static function isExistingObject($element, $id, $ref='', $ref_ext='') + static function isExistingObject($element, $id, $ref = '', $ref_ext = '') { global $db,$conf; @@ -505,7 +505,7 @@ abstract class CommonObject * @param int $maxlen Maximum length * @return string String with full name */ - function getFullName($langs,$option=0,$nameorder=-1,$maxlen=0) + function getFullName($langs, $option = 0, $nameorder = -1, $maxlen = 0) { //print "lastname=".$this->lastname." name=".$this->name." nom=".$this->nom."<br>\n"; $lastname=$this->lastname; @@ -532,7 +532,7 @@ abstract class CommonObject * @param int $withregion 1=Add region into address string * @return string Full address string */ - function getFullAddress($withcountry=0, $sep="\n", $withregion=0) + function getFullAddress($withcountry = 0, $sep = "\n", $withregion = 0) { if ($withcountry && $this->country_id && (empty($this->country_code) || empty($this->country))) { @@ -682,7 +682,7 @@ abstract class CommonObject * @param int $relativelink 0=Return full external link, 1=Return link relative to root of file * @return string Link or empty string if there is no download link */ - function getLastMainDocLink($modulepart, $initsharekey=0, $relativelink=0) + function getLastMainDocLink($modulepart, $initsharekey = 0, $relativelink = 0) { global $user, $dolibarr_main_url_root; @@ -779,7 +779,7 @@ abstract class CommonObject * @param int $notrigger Disable all triggers * @return int <0 if KO, >0 if OK */ - function add_contact($fk_socpeople, $type_contact, $source='external',$notrigger=0) + function add_contact($fk_socpeople, $type_contact, $source = 'external', $notrigger = 0) { // phpcs:enable global $user,$langs; @@ -901,7 +901,7 @@ abstract class CommonObject * @param string $source Nature of contact ('internal' or 'external') * @return int >0 if OK, <0 if KO */ - function copy_linked_contact($objFrom, $source='internal') + function copy_linked_contact($objFrom, $source = 'internal') { // phpcs:enable $contacts = $objFrom->liste_contact(-1, $source); @@ -926,7 +926,7 @@ abstract class CommonObject * @param int $fk_socpeople Id of soc_people to update (not modified if 0) * @return int <0 if KO, >= 0 if OK */ - function update_contact($rowid, $statut, $type_contact_id=0, $fk_socpeople=0) + function update_contact($rowid, $statut, $type_contact_id = 0, $fk_socpeople = 0) { // phpcs:enable // Insert into database @@ -955,7 +955,7 @@ abstract class CommonObject * @param int $notrigger Disable all triggers * @return int >0 if OK, <0 if KO */ - function delete_contact($rowid, $notrigger=0) + function delete_contact($rowid, $notrigger = 0) { // phpcs:enable global $user; @@ -994,7 +994,7 @@ abstract class CommonObject * @param string $code Type of contact (code or id) * @return int >0 if OK, <0 if KO */ - function delete_linked_contact($source='',$code='') + function delete_linked_contact($source = '', $code = '') { // phpcs:enable $temp = array(); @@ -1033,7 +1033,7 @@ abstract class CommonObject * @param string $code Filter on this code of contact type ('SHIPPING', 'BILLING', ...) * @return array|int Array of contacts, -1 if error */ - function liste_contact($statut=-1,$source='external',$list=0,$code='') + function liste_contact($statut = -1, $source = 'external', $list = 0, $code = '') { // phpcs:enable global $langs; @@ -1143,7 +1143,7 @@ abstract class CommonObject * @param string $code Type of contact (Example: 'CUSTOMER', 'SERVICE') * @return array Array list of type of contacts (id->label if option=0, code->label if option=1) */ - function liste_type_contact($source='internal', $order='position', $option=0, $activeonly=0, $code='') + function liste_type_contact($source = 'internal', $order = 'position', $option = 0, $activeonly = 0, $code = '') { // phpcs:enable global $langs; @@ -1197,7 +1197,7 @@ abstract class CommonObject * @param int $status limited to a certain status * @return array List of id for such contacts */ - function getIdContact($source,$code,$status=0) + function getIdContact($source, $code, $status = 0) { global $conf; @@ -1257,7 +1257,7 @@ abstract class CommonObject * @param int $contactid Id du contact. Use this->contactid if empty. * @return int <0 if KO, >0 if OK */ - function fetch_contact($contactid=null) + function fetch_contact($contactid = null) { // phpcs:enable if (empty($contactid)) $contactid=$this->contactid; @@ -1278,7 +1278,7 @@ abstract class CommonObject * @param int $force_thirdparty_id Force thirdparty id * @return int <0 if KO, >0 if OK */ - function fetch_thirdparty($force_thirdparty_id=0) + function fetch_thirdparty($force_thirdparty_id = 0) { // phpcs:enable global $conf; @@ -1542,7 +1542,7 @@ abstract class CommonObject * @return int <0 if KO, >0 if OK * @see updateExtraField() */ - function setValueFrom($field, $value, $table='', $id=null, $format='', $id_field='', $fuser=null, $trigkey='', $fk_user_field='fk_user_modif') + function setValueFrom($field, $value, $table = '', $id = null, $format = '', $id_field = '', $fuser = null, $trigkey = '', $fk_user_field = 'fk_user_modif') { global $user,$langs,$conf; @@ -1621,7 +1621,7 @@ abstract class CommonObject * @param int $nodbprefix Do not include DB prefix to forge table name * @return int <0 if KO, >0 if OK */ - function load_previous_next_ref($filter, $fieldid, $nodbprefix=0) + function load_previous_next_ref($filter, $fieldid, $nodbprefix = 0) { // phpcs:enable global $conf, $user; @@ -1745,7 +1745,7 @@ abstract class CommonObject * @return array Array of id of contacts (if source=external or internal) * Array of id of third parties with at least one contact on object (if source=thirdparty) */ - function getListContactId($source='external') + function getListContactId($source = 'external') { $contactAlreadySelected = array(); $tab = $this->liste_contact(-1,$source); @@ -1892,7 +1892,7 @@ abstract class CommonObject * @param int $mode mode 1 : amounts in company currency will be recalculated, mode 2 : amounts in foreign currency * @return int >0 if OK, <0 if KO */ - function setMulticurrencyRate($rate, $mode=1) + function setMulticurrencyRate($rate, $mode = 1) { dol_syslog(get_class($this).'::setMulticurrencyRate('.$id.')'); if ($this->statut >= 0 || $this->element == 'societe') @@ -2068,7 +2068,7 @@ abstract class CommonObject * * @return int 1 if OK, 0 if KO */ - function setShippingMethod($shipping_method_id, $notrigger=false, $userused=null) + function setShippingMethod($shipping_method_id, $notrigger = false, $userused = null) { global $user; @@ -2192,7 +2192,7 @@ abstract class CommonObject * @param User $userused Object user * @return int 1 if OK, 0 if KO */ - function setBankAccount($fk_account, $notrigger=false, $userused=null) + function setBankAccount($fk_account, $notrigger = false, $userused = null) { global $user; @@ -2257,7 +2257,7 @@ abstract class CommonObject * @param boolean $fk_parent_line Table with fk_parent_line field or not * @return int <0 if KO, >0 if OK */ - function line_order($renum=false, $rowidorder='ASC', $fk_parent_line=true) + function line_order($renum = false, $rowidorder = 'ASC', $fk_parent_line = true) { // phpcs:enable if (! $this->table_element_line) @@ -2376,7 +2376,7 @@ abstract class CommonObject * @param boolean $fk_parent_line Table with fk_parent_line field or not * @return void */ - function line_up($rowid, $fk_parent_line=true) + function line_up($rowid, $fk_parent_line = true) { // phpcs:enable $this->line_order(false, 'ASC', $fk_parent_line); @@ -2396,7 +2396,7 @@ abstract class CommonObject * @param boolean $fk_parent_line Table with fk_parent_line field or not * @return void */ - function line_down($rowid, $fk_parent_line=true) + function line_down($rowid, $fk_parent_line = true) { // phpcs:enable $this->line_order(false, 'ASC', $fk_parent_line); @@ -2418,7 +2418,7 @@ abstract class CommonObject * @param int $rang Position * @return void */ - function updateRangOfLine($rowid,$rang) + function updateRangOfLine($rowid, $rang) { $fieldposition = 'rang'; if (in_array($this->table_element_line, array('ecm_files', 'emailcollector_emailcollectoraction'))) $fieldposition = 'position'; @@ -2457,7 +2457,7 @@ abstract class CommonObject * @param int $rang Position * @return void */ - function updateLineUp($rowid,$rang) + function updateLineUp($rowid, $rang) { if ($rang > 1) { @@ -2491,7 +2491,7 @@ abstract class CommonObject * @param int $max Max * @return void */ - function updateLineDown($rowid,$rang,$max) + function updateLineDown($rowid, $rang, $max) { if ($rang < $max) { @@ -2563,7 +2563,7 @@ abstract class CommonObject * @param int $fk_parent_line Parent line id * @return int Max value of rang in table of lines */ - function line_max($fk_parent_line=0) + function line_max($fk_parent_line = 0) { // phpcs:enable // Search the last rang with fk_parent_line @@ -2645,7 +2645,7 @@ abstract class CommonObject * @param string $suffix '', '_public' or '_private' * @return int <0 if KO, >0 if OK */ - function update_note($note, $suffix='') + function update_note($note, $suffix = '') { // phpcs:enable global $user; @@ -2716,7 +2716,7 @@ abstract class CommonObject * @param Societe $seller If roundingadjust is '0' or '1' or maybe 'auto', it means we recalculate total for lines before calculating total for object and for this, we need seller object. * @return int <0 if KO, >0 if OK */ - function update_price($exclspec=0,$roundingadjust='none',$nodatabaseupdate=0,$seller=null) + function update_price($exclspec = 0, $roundingadjust = 'none', $nodatabaseupdate = 0, $seller = null) { // phpcs:enable global $conf, $hookmanager, $action; @@ -2953,7 +2953,7 @@ abstract class CommonObject * @return int <=0 if KO, >0 if OK * @see fetchObjectLinked(), updateObjectLinked(), deleteObjectLinked() */ - function add_object_linked($origin=null, $origin_id=null) + function add_object_linked($origin = null, $origin_id = null) { // phpcs:enable $origin = (! empty($origin) ? $origin : $this->origin); @@ -3014,7 +3014,7 @@ abstract class CommonObject * @return int <0 if KO, >0 if OK * @see add_object_linked(), updateObjectLinked(), deleteObjectLinked() */ - function fetchObjectLinked($sourceid=null,$sourcetype='',$targetid=null,$targettype='',$clause='OR',$alsosametype=1,$orderby='sourcetype',$loadalsoobjects=1) + function fetchObjectLinked($sourceid = null, $sourcetype = '', $targetid = null, $targettype = '', $clause = 'OR', $alsosametype = 1, $orderby = 'sourcetype', $loadalsoobjects = 1) { global $conf; @@ -3218,7 +3218,7 @@ abstract class CommonObject * @return int >0 if OK, <0 if KO * @see add_object_linked(), fetObjectLinked(), deleteObjectLinked() */ - function updateObjectLinked($sourceid=null, $sourcetype='', $targetid=null, $targettype='') + function updateObjectLinked($sourceid = null, $sourcetype = '', $targetid = null, $targettype = '') { $updatesource=false; $updatetarget=false; @@ -3265,7 +3265,7 @@ abstract class CommonObject * @return int >0 if OK, <0 if KO * @see add_object_linked, updateObjectLinked, fetchObjectLinked */ - function deleteObjectLinked($sourceid=null, $sourcetype='', $targetid=null, $targettype='', $rowid='') + function deleteObjectLinked($sourceid = null, $sourcetype = '', $targetid = null, $targettype = '', $rowid = '') { $deletesource=false; $deletetarget=false; @@ -3326,7 +3326,7 @@ abstract class CommonObject * @param string $trigkey Trigger key to use for trigger * @return int <0 if KO, >0 if OK */ - function setStatut($status, $elementId=null, $elementType='', $trigkey='') + function setStatut($status, $elementId = null, $elementType = '', $trigkey = '') { global $user,$langs,$conf; @@ -3414,7 +3414,7 @@ abstract class CommonObject * @param string $ref Record ref * @return int <0 if KO, 0 if nothing done, >0 if OK */ - function getCanvas($id=0,$ref='') + function getCanvas($id = 0, $ref = '') { global $conf; @@ -3474,7 +3474,7 @@ abstract class CommonObject * @param int $id Force id of object * @return int <0 if KO, 0 if not used, >0 if already used */ - function isObjectUsed($id=0) + function isObjectUsed($id = 0) { global $langs; @@ -3543,7 +3543,7 @@ abstract class CommonObject * @param int $predefined -1=All, 0=Count free product/service only, 1=Count predefined product/service only, 2=Count predefined product, 3=Count predefined service * @return int <0 if KO, 0 if no predefined products, nb of lines with predefined products if found */ - function hasProductsOrServices($predefined=-1) + function hasProductsOrServices($predefined = -1) { $nb=0; @@ -3881,7 +3881,7 @@ abstract class CommonObject * @param int $dateSelector 1=Show also date range input fields * @return void */ - function printObjectLines($action, $seller, $buyer, $selected=0, $dateSelector=0) + function printObjectLines($action, $seller, $buyer, $selected = 0, $dateSelector = 0) { global $conf, $hookmanager, $langs, $user; // TODO We should not use global var for this ! @@ -4035,7 +4035,7 @@ abstract class CommonObject * @param int $extrafieldsline Object of extrafield line attribute * @return void */ - function printObjectLine($action,$line,$var,$num,$i,$dateSelector,$seller,$buyer,$selected=0,$extrafieldsline=0) + function printObjectLine($action, $line, $var, $num, $i, $dateSelector, $seller, $buyer, $selected = 0, $extrafieldsline = 0) { global $conf,$langs,$user,$object,$hookmanager; global $form,$bc,$bcdd; @@ -4153,7 +4153,7 @@ abstract class CommonObject * @param string $restrictlist ''=All lines, 'services'=Restrict to services only * @return void */ - function printOriginLinesList($restrictlist='') + function printOriginLinesList($restrictlist = '') { global $langs, $hookmanager, $conf; @@ -4207,7 +4207,7 @@ abstract class CommonObject * @param string $restrictlist ''=All lines, 'services'=Restrict to services only (strike line if not) * @return void */ - function printOriginLine($line, $var, $restrictlist='') + function printOriginLine($line, $var, $restrictlist = '') { global $langs, $conf; @@ -4353,7 +4353,7 @@ abstract class CommonObject * @param int $mandatory Mandatory or not * @return int <=0 if KO, >0 if OK */ - function add_element_resource($resource_id, $resource_type, $busy=0, $mandatory=0) + function add_element_resource($resource_id, $resource_type, $busy = 0, $mandatory = 0) { // phpcs:enable $this->db->begin(); @@ -4397,7 +4397,7 @@ abstract class CommonObject * @param int $notrigger Disable all triggers * @return int >0 if OK, <0 if KO */ - function delete_resource($rowid, $element, $notrigger=0) + function delete_resource($rowid, $element, $notrigger = 0) { // phpcs:enable global $user; @@ -4460,7 +4460,7 @@ abstract class CommonObject * @return int >0 if OK, <0 if KO * @see addFileIntoDatabaseIndex() */ - protected function commonGenerateDocument($modelspath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams=null) + protected function commonGenerateDocument($modelspath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams = null) { global $conf, $langs, $user; @@ -4742,7 +4742,7 @@ abstract class CommonObject * @param string $alternatevalue Alternate value to use * @return string|string[] Default value (can be an array if the GETPOST return an array) **/ - function getDefaultCreateValueFor($fieldname, $alternatevalue=null) + function getDefaultCreateValueFor($fieldname, $alternatevalue = null) { global $conf, $_POST; @@ -4818,7 +4818,7 @@ abstract class CommonObject * @param array $optionsArray Array resulting of call of extrafields->fetch_name_optionals_label(). Deprecated. Function must be called without parameters. * @return int <0 if error, 0 if no values of extrafield to find nor found, 1 if an attribute is found and value loaded */ - function fetch_optionals($rowid=null, $optionsArray=null) + function fetch_optionals($rowid = null, $optionsArray = null) { // phpcs:enable if (empty($rowid)) $rowid=$this->id; @@ -4962,7 +4962,7 @@ abstract class CommonObject * @return int -1=error, O=did nothing, 1=OK * @see updateExtraField(), setValueFrom() */ - function insertExtraFields($trigger='', $userused=null) + function insertExtraFields($trigger = '', $userused = null) { global $conf,$langs,$user; @@ -5208,7 +5208,7 @@ abstract class CommonObject * @return int -1=error, O=did nothing, 1=OK * @see setValueFrom(), insertExtraFields() */ - function updateExtraField($key, $trigger=null, $userused=null) + function updateExtraField($key, $trigger = null, $userused = null) { global $conf,$langs,$user; @@ -5342,7 +5342,7 @@ abstract class CommonObject * @param string|int $morecss Value for css to define style/length of field. May also be a numeric. * @return string */ - function showInputField($val, $key, $value, $moreparam='', $keysuffix='', $keyprefix='', $morecss=0) + function showInputField($val, $key, $value, $moreparam = '', $keysuffix = '', $keyprefix = '', $morecss = 0) { global $conf,$langs,$form; @@ -5953,7 +5953,7 @@ abstract class CommonObject * @param mixed $showsize Value for css to define size. May also be a numeric. * @return string */ - function showOutputField($val, $key, $value, $moreparam='', $keysuffix='', $keyprefix='', $showsize=0) + function showOutputField($val, $key, $value, $moreparam = '', $keysuffix = '', $keyprefix = '', $showsize = 0) { global $conf,$langs,$form; @@ -6324,7 +6324,7 @@ abstract class CommonObject * @param string $onetrtd All fields in same tr td * @return string */ - function showOptionals($extrafields, $mode='view', $params=null, $keysuffix='', $keyprefix='', $onetrtd=0) + function showOptionals($extrafields, $mode = 'view', $params = null, $keysuffix = '', $keyprefix = '', $onetrtd = 0) { global $db, $conf, $langs, $action, $form; @@ -6531,7 +6531,7 @@ abstract class CommonObject * @param int $ignoreerrors Ignore errors. Return true even if errors. We need this when replacement can fails like for categories (categorie of old thirdparty may already exists on new one) * @return bool True if success, False if error */ - public static function commonReplaceThirdparty(DoliDB $db, $origin_id, $dest_id, array $tables, $ignoreerrors=0) + public static function commonReplaceThirdparty(DoliDB $db, $origin_id, $dest_id, array $tables, $ignoreerrors = 0) { foreach ($tables as $table) { @@ -6647,7 +6647,7 @@ abstract class CommonObject * @param int $usesharelink Use the public shared link of image (if not available, the 'nophoto' image will be shown instead) * @return string Html code to show photo. Number of photos shown is saved in this->nbphoto */ - function show_photos($modulepart, $sdir, $size=0, $nbmax=0, $nbbyrow=5, $showfilename=0, $showaction=0, $maxHeight=120, $maxWidth=160, $nolink=0, $notitle=0, $usesharelink=0) + function show_photos($modulepart, $sdir, $size = 0, $nbmax = 0, $nbbyrow = 5, $showfilename = 0, $showaction = 0, $maxHeight = 120, $maxWidth = 160, $nolink = 0, $notitle = 0, $usesharelink = 0) { // phpcs:enable global $conf,$user,$langs; @@ -7349,7 +7349,7 @@ abstract class CommonObject * @param int $forcechilddeletion 0=no, 1=Force deletion of children * @return int <=0 if KO, >0 if OK */ - public function deleteCommon(User $user, $notrigger=false, $forcechilddeletion=0) + public function deleteCommon(User $user, $notrigger = false, $forcechilddeletion = 0) { $error=0; diff --git a/htdocs/core/class/commonobjectline.class.php b/htdocs/core/class/commonobjectline.class.php index 91d4245ff88..891ea5e4bc6 100644 --- a/htdocs/core/class/commonobjectline.class.php +++ b/htdocs/core/class/commonobjectline.class.php @@ -57,7 +57,7 @@ abstract class CommonObjectLine extends CommonObject * @param string $type Label type (long or short) * @return string|int <0 if ko, label if ok */ - public function getLabelOfUnit($type='long') + public function getLabelOfUnit($type = 'long') { global $langs; diff --git a/htdocs/core/class/commonstickergenerator.class.php b/htdocs/core/class/commonstickergenerator.class.php index d5bf6f3317e..2cbf6a9ecb7 100644 --- a/htdocs/core/class/commonstickergenerator.class.php +++ b/htdocs/core/class/commonstickergenerator.class.php @@ -107,7 +107,7 @@ abstract class CommonStickerGenerator * @param string $outputdir Output directory for pdf file * @return int 1=OK, 0=KO */ - abstract function write_file($arrayofrecords,$outputlangs,$srctemplatepath,$outputdir=''); + abstract function write_file($arrayofrecords, $outputlangs, $srctemplatepath, $outputdir = ''); // phpcs:enable /** @@ -118,7 +118,7 @@ abstract class CommonStickerGenerator * @param array $param Associative array containing label content and optional parameters * @return void */ - abstract function addSticker(&$pdf,$outputlangs,$param); + abstract function addSticker(&$pdf, $outputlangs, $param); // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps /** @@ -129,7 +129,7 @@ abstract class CommonStickerGenerator * @param int $pt point * @return void */ - function Set_Char_Size(&$pdf,$pt) + function Set_Char_Size(&$pdf, $pt) { // phpcs:enable if ($pt > 3) { @@ -152,7 +152,7 @@ abstract class CommonStickerGenerator * @param int $nbPointilles Nb pointilles * @return void */ - function _Pointille(&$pdf,$x1=0,$y1=0,$x2=210,$y2=297,$epaisseur=1,$nbPointilles=15) + function _Pointille(&$pdf, $x1 = 0, $y1 = 0, $x2 = 210, $y2 = 297, $epaisseur = 1, $nbPointilles = 15) { // phpcs:enable $pdf->SetLineWidth($epaisseur); @@ -195,7 +195,7 @@ abstract class CommonStickerGenerator * @param int $taille Size * @return void */ - function _Croix(&$pdf,$x1=0,$y1=0,$x2=210,$y2=297,$epaisseur=1,$taille=4) + function _Croix(&$pdf, $x1 = 0, $y1 = 0, $x2 = 210, $y2 = 297, $epaisseur = 1, $taille = 4) { // phpcs:enable $pdf->SetDrawColor(192,192,192); diff --git a/htdocs/core/class/coreobject.class.php b/htdocs/core/class/coreobject.class.php index 5129ac54ece..b6cff34b0f3 100644 --- a/htdocs/core/class/coreobject.class.php +++ b/htdocs/core/class/coreobject.class.php @@ -123,7 +123,7 @@ class CoreObject extends CommonObject * @param bool $try_to_load Force the fetch if an id is given * @return int */ - public function addChild($tabName, $id=0, $key='id', $try_to_load = false) + public function addChild($tabName, $id = 0, $key = 'id', $try_to_load = false) { if(!empty($id)) { @@ -154,7 +154,7 @@ class CoreObject extends CommonObject * @param string $key Attribute name of the object id * @return bool */ - public function removeChild($tabName, $id, $key='id') + public function removeChild($tabName, $id, $key = 'id') { foreach ($this->{$tabName} as &$object) { @@ -370,7 +370,7 @@ class CoreObject extends CommonObject * @param string $format Output date format * @return string */ - public function getDate($field, $format='') + public function getDate($field, $format = '') { if(empty($this->{$field})) return ''; else diff --git a/htdocs/core/class/cstate.class.php b/htdocs/core/class/cstate.class.php index 4320446d7b5..6ad6523f199 100644 --- a/htdocs/core/class/cstate.class.php +++ b/htdocs/core/class/cstate.class.php @@ -92,7 +92,7 @@ class Cstate // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -168,7 +168,7 @@ class Cstate // extends CommonObject * @param string $code Code * @return int <0 if KO, >0 if OK */ - function fetch($id,$code='') + function fetch($id, $code = '') { global $langs; $sql = "SELECT"; @@ -212,7 +212,7 @@ class Cstate // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -281,7 +281,7 @@ class Cstate // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; diff --git a/htdocs/core/class/ctypent.class.php b/htdocs/core/class/ctypent.class.php index db8ed461727..ffaccbfe964 100644 --- a/htdocs/core/class/ctypent.class.php +++ b/htdocs/core/class/ctypent.class.php @@ -76,7 +76,7 @@ class Ctypent // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -166,7 +166,7 @@ class Ctypent // extends CommonObject * @param string $label Label * @return int <0 if KO, >0 if OK */ - function fetch($id,$code='',$label='') + function fetch($id, $code = '', $label = '') { global $langs; $sql = "SELECT"; @@ -214,7 +214,7 @@ class Ctypent // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -285,7 +285,7 @@ class Ctypent // extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; diff --git a/htdocs/core/class/ctyperesource.class.php b/htdocs/core/class/ctyperesource.class.php index 95c642772e2..4ceb7ed37c8 100644 --- a/htdocs/core/class/ctyperesource.class.php +++ b/htdocs/core/class/ctyperesource.class.php @@ -159,7 +159,7 @@ class Ctyperesource * * @return int <0 if KO, 0 if not found, >0 if OK */ - public function fetch($id,$code='',$label='') + public function fetch($id, $code = '', $label = '') { dol_syslog(__METHOD__, LOG_DEBUG); @@ -223,7 +223,7 @@ class Ctyperesource * * @return int <0 if KO, >0 if OK */ - public function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, array $filter = array(), $filtermode='AND') + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') { dol_syslog(__METHOD__, LOG_DEBUG); diff --git a/htdocs/core/class/discount.class.php b/htdocs/core/class/discount.class.php index 48c426a830f..b47a324838a 100644 --- a/htdocs/core/class/discount.class.php +++ b/htdocs/core/class/discount.class.php @@ -109,7 +109,7 @@ class DiscountAbsolute * @param int $fk_invoice_supplier_source fk_invoice_supplier_source * @return int <0 if KO, =0 if not found, >0 if OK */ - function fetch($rowid, $fk_facture_source=0, $fk_invoice_supplier_source=0) + function fetch($rowid, $fk_facture_source = 0, $fk_invoice_supplier_source = 0) { global $conf; @@ -396,7 +396,7 @@ class DiscountAbsolute * @param int $rowidinvoice Invoice id (To use discount as a credit note to reduc payment of invoice) * @return int <0 if KO, >0 if OK */ - function link_to_invoice($rowidline,$rowidinvoice) + function link_to_invoice($rowidline, $rowidinvoice) { // phpcs:enable // Check parameters @@ -484,7 +484,7 @@ class DiscountAbsolute * @param int $discount_type 0 => customer discount, 1 => supplier discount * @return int <0 if KO, amount otherwise */ - function getAvailableDiscounts($company='', $user='',$filter='', $maxvalue=0, $discount_type=0) + function getAvailableDiscounts($company = '', $user = '', $filter = '', $maxvalue = 0, $discount_type = 0) { global $conf; @@ -527,7 +527,7 @@ class DiscountAbsolute * @param int $multicurrency Return multicurrency_amount instead of amount * @return int <0 if KO, Sum of credit notes and deposits amount otherwise */ - function getSumDepositsUsed($invoice, $multicurrency=0) + function getSumDepositsUsed($invoice, $multicurrency = 0) { dol_syslog(get_class($this)."::getSumDepositsUsed", LOG_DEBUG); @@ -573,7 +573,7 @@ class DiscountAbsolute * @param int $multicurrency Return multicurrency_amount instead of amount * @return int <0 if KO, Sum of credit notes and excess received amount otherwise */ - function getSumCreditNotesUsed($invoice, $multicurrency=0) + function getSumCreditNotesUsed($invoice, $multicurrency = 0) { dol_syslog(get_class($this)."::getSumCreditNotesUsed", LOG_DEBUG); @@ -619,7 +619,7 @@ class DiscountAbsolute * @param string $option Where to link to ('invoice' or 'discount') * @return string String with URL */ - function getNomUrl($withpicto,$option='invoice') + function getNomUrl($withpicto, $option = 'invoice') { global $langs; diff --git a/htdocs/core/class/doleditor.class.php b/htdocs/core/class/doleditor.class.php index 548721be05f..5d375e420f4 100644 --- a/htdocs/core/class/doleditor.class.php +++ b/htdocs/core/class/doleditor.class.php @@ -64,7 +64,7 @@ class DolEditor * @param string $cols Size of cols for textarea tool (textarea number of cols '70' or percent 'x%') * @param int $readonly 0=Read/Edit, 1=Read only */ - function __construct($htmlname, $content, $width='', $height=200, $toolbarname='Basic', $toolbarlocation='In', $toolbarstartexpanded=false, $uselocalbrowser=true, $okforextendededitor=true, $rows=0, $cols=0, $readonly=0) + function __construct($htmlname, $content, $width = '', $height = 200, $toolbarname = 'Basic', $toolbarlocation = 'In', $toolbarstartexpanded = false, $uselocalbrowser = true, $okforextendededitor = true, $rows = 0, $cols = 0, $readonly = 0) { global $conf,$langs; @@ -149,7 +149,7 @@ class DolEditor * @param string $option For ACE editor, set the source language ('html', 'php', 'javascript', ...) * @return void|string */ - function Create($noprint=0, $morejs='', $disallowAnyContent=true, $titlecontent='', $option='') + function Create($noprint = 0, $morejs = '', $disallowAnyContent = true, $titlecontent = '', $option = '') { // phpcs:enable global $conf,$langs; diff --git a/htdocs/core/class/dolgeoip.class.php b/htdocs/core/class/dolgeoip.class.php index a57e4e844ec..d5b486f3430 100644 --- a/htdocs/core/class/dolgeoip.class.php +++ b/htdocs/core/class/dolgeoip.class.php @@ -41,7 +41,7 @@ class DolGeoIP * @param string $type 'country' or 'city' * @param string $datfile Data file */ - function __construct($type,$datfile) + function __construct($type, $datfile) { if ($type == 'country') { diff --git a/htdocs/core/class/dolgraph.class.php b/htdocs/core/class/dolgraph.class.php index 42386494a37..c7dc7991a4a 100644 --- a/htdocs/core/class/dolgraph.class.php +++ b/htdocs/core/class/dolgraph.class.php @@ -88,7 +88,7 @@ class DolGraph * * @param string $library 'jflot' (default) or 'artichow' (no more supported) */ - function __construct($library='jflot') + function __construct($library = 'jflot') { global $conf; global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; @@ -658,7 +658,7 @@ class DolGraph * @param string $fileurl Url path to show image if saved onto disk * @return integer|null */ - function draw($file, $fileurl='') + function draw($file, $fileurl = '') { if (empty($file)) { @@ -690,7 +690,7 @@ class DolGraph * @param string $fileurl Url path to show image if saved onto disk * @return void */ - private function draw_artichow($file,$fileurl) + private function draw_artichow($file, $fileurl) { // phpcs:enable global $artichow_defaultfont; @@ -1127,7 +1127,7 @@ class DolGraph * @param int $shownographyet Show graph to say there is not enough data * @return string HTML string to show graph */ - function show($shownographyet=0) + function show($shownographyet = 0) { global $langs; @@ -1149,7 +1149,7 @@ class DolGraph * @param string $defaultsize Value we want as default size * @return int Value of width or height to use by default */ - static function getDefaultGraphSizeForStats($direction,$defaultsize='') + static function getDefaultGraphSizeForStats($direction, $defaultsize = '') { global $conf; diff --git a/htdocs/core/class/dolreceiptprinter.class.php b/htdocs/core/class/dolreceiptprinter.class.php index f38afc67807..19de8abb3f6 100644 --- a/htdocs/core/class/dolreceiptprinter.class.php +++ b/htdocs/core/class/dolreceiptprinter.class.php @@ -311,7 +311,7 @@ class dolReceiptPrinter extends Escpos * @param string $htmlname select html name * @return int 0 if OK; >0 if KO */ - function selectTypePrinter($selected='', $htmlname='printertypeid') + function selectTypePrinter($selected = '', $htmlname = 'printertypeid') { global $langs; @@ -335,7 +335,7 @@ class dolReceiptPrinter extends Escpos * @param string $htmlname select html name * @return int 0 if OK; >0 if KO */ - function selectProfilePrinter($selected='', $htmlname='printerprofileid') + function selectProfilePrinter($selected = '', $htmlname = 'printerprofileid') { global $langs; diff --git a/htdocs/core/class/emailsenderprofile.class.php b/htdocs/core/class/emailsenderprofile.class.php index 3a1fba460c4..3ce9623a05d 100644 --- a/htdocs/core/class/emailsenderprofile.class.php +++ b/htdocs/core/class/emailsenderprofile.class.php @@ -277,7 +277,7 @@ class EmailSenderProfile extends CommonObject * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) * @return string String with URL */ - function getNomUrl($withpicto=0) + function getNomUrl($withpicto = 0) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -309,7 +309,7 @@ class EmailSenderProfile extends CommonObject * @param int $withpicto Add download picto into link * @return string HTML link to file */ - function getDirectExternalLink($withpicto=0) + function getDirectExternalLink($withpicto = 0) { return 'todo'; } @@ -320,7 +320,7 @@ class EmailSenderProfile extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -333,7 +333,7 @@ class EmailSenderProfile extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { global $langs; diff --git a/htdocs/core/class/events.class.php b/htdocs/core/class/events.class.php index 68e029dae4b..ecaaba8f4c7 100644 --- a/htdocs/core/class/events.class.php +++ b/htdocs/core/class/events.class.php @@ -183,7 +183,7 @@ class Events // extends CommonObject * @param int $notrigger 0=no, 1=yes (no update trigger) * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; @@ -220,7 +220,7 @@ class Events // extends CommonObject * @param User $user User that load * @return int <0 if KO, >0 if OK */ - function fetch($id, $user=null) + function fetch($id, $user = null) { global $langs; diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index cc1fae502b3..6d26522bb97 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -171,7 +171,7 @@ class ExtraFields * @param string $enabled Condition to have the field enabled or not * @return int <=0 if KO, >0 if OK */ - function addExtraField($attrname, $label, $type, $pos, $size, $elementtype, $unique=0, $required=0, $default_value='', $param='', $alwayseditable=0, $perms='', $list='-1', $help='', $computed='', $entity='', $langfile='', $enabled='1') + function addExtraField($attrname, $label, $type, $pos, $size, $elementtype, $unique = 0, $required = 0, $default_value = '', $param = '', $alwayseditable = 0, $perms = '', $list = '-1', $help = '', $computed = '', $entity = '', $langfile = '', $enabled = '1') { if (empty($attrname)) return -1; if (empty($label)) return -1; @@ -221,7 +221,7 @@ class ExtraFields * @param string $computed Computed value * @return int <=0 if KO, >0 if OK */ - private function create($attrname, $type='varchar', $length=255, $elementtype='member', $unique=0, $required=0, $default_value='',$param='', $perms='', $list='0', $computed='') + private function create($attrname, $type = 'varchar', $length = 255, $elementtype = 'member', $unique = 0, $required = 0, $default_value = '', $param = '', $perms = '', $list = '0', $computed = '') { if ($elementtype == 'thirdparty') $elementtype='societe'; if ($elementtype == 'contact') $elementtype='socpeople'; @@ -317,7 +317,7 @@ class ExtraFields * @param string $enabled Condition to have the field enabled or not * @return int <=0 if KO, >0 if OK */ - private function create_label($attrname, $label='', $type='', $pos=0, $size=0, $elementtype='member', $unique=0, $required=0, $param='', $alwayseditable=0, $perms='', $list='-1', $help='', $default='', $computed='',$entity='', $langfile='', $enabled='1') + private function create_label($attrname, $label = '', $type = '', $pos = 0, $size = 0, $elementtype = 'member', $unique = 0, $required = 0, $param = '', $alwayseditable = 0, $perms = '', $list = '-1', $help = '', $default = '', $computed = '', $entity = '', $langfile = '', $enabled = '1') { // phpcs:enable global $conf,$user; @@ -414,7 +414,7 @@ class ExtraFields * @param string $elementtype Element type ('member', 'product', 'thirdparty', 'contact', ...) * @return int < 0 if KO, 0 if nothing is done, 1 if OK */ - function delete($attrname, $elementtype='member') + function delete($attrname, $elementtype = 'member') { if ($elementtype == 'thirdparty') $elementtype='societe'; if ($elementtype == 'contact') $elementtype='socpeople'; @@ -472,7 +472,7 @@ class ExtraFields * @param string $elementtype Element type ('member', 'product', 'thirdparty', ...) * @return int < 0 if KO, 0 if nothing is done, 1 if OK */ - private function delete_label($attrname, $elementtype='member') + private function delete_label($attrname, $elementtype = 'member') { // phpcs:enable global $conf; @@ -529,7 +529,7 @@ class ExtraFields * @param int $totalizable Is extrafield totalizable on list * @return int >0 if OK, <=0 if KO */ - function update($attrname, $label, $type, $length, $elementtype, $unique=0, $required=0, $pos=0, $param='', $alwayseditable=0, $perms='', $list='', $help='', $default='', $computed='', $entity='', $langfile='', $enabled='1', $totalizable=0) + function update($attrname, $label, $type, $length, $elementtype, $unique = 0, $required = 0, $pos = 0, $param = '', $alwayseditable = 0, $perms = '', $list = '', $help = '', $default = '', $computed = '', $entity = '', $langfile = '', $enabled = '1', $totalizable = 0) { if ($elementtype == 'thirdparty') $elementtype='societe'; if ($elementtype == 'contact') $elementtype='socpeople'; @@ -639,7 +639,7 @@ class ExtraFields * @param int $totalizable Is extrafield totalizable on list * @return int <=0 if KO, >0 if OK */ - private function update_label($attrname,$label,$type,$size,$elementtype,$unique=0,$required=0,$pos=0,$param='',$alwayseditable=0,$perms='',$list='0',$help='',$default='',$computed='',$entity='',$langfile='',$enabled='1', $totalizable=0) + private function update_label($attrname, $label, $type, $size, $elementtype, $unique = 0, $required = 0, $pos = 0, $param = '', $alwayseditable = 0, $perms = '', $list = '0', $help = '', $default = '', $computed = '', $entity = '', $langfile = '', $enabled = '1', $totalizable = 0) { // phpcs:enable global $conf, $user; @@ -770,7 +770,7 @@ class ExtraFields * @param boolean $forceload Force load of extra fields whatever is option MAIN_EXTRAFIELDS_DISABLED. Deprecated. Should not be required. * @return array Array of attributes keys+label for all extra fields. */ - function fetch_name_optionals_label($elementtype,$forceload=false) + function fetch_name_optionals_label($elementtype, $forceload = false) { // phpcs:enable global $conf; @@ -893,7 +893,7 @@ class ExtraFields * @param string $extrafieldsobjectkey If defined (for example $object->table_element), use the new method to get extrafields data * @return string */ - function showInputField($key, $value, $moreparam='', $keysuffix='', $keyprefix='', $morecss='', $objectid=0, $extrafieldsobjectkey='') + function showInputField($key, $value, $moreparam = '', $keysuffix = '', $keyprefix = '', $morecss = '', $objectid = 0, $extrafieldsobjectkey = '') { global $conf,$langs,$form; @@ -1508,7 +1508,7 @@ class ExtraFields * @param string $extrafieldsobjectkey If defined (for example $object->table_element), use the new method to get extrafields data * @return string Formated value */ - function showOutputField($key, $value, $moreparam='', $extrafieldsobjectkey='') + function showOutputField($key, $value, $moreparam = '', $extrafieldsobjectkey = '') { global $conf,$langs; @@ -1820,7 +1820,7 @@ class ExtraFields * @param string $extrafieldsobjectkey If defined, use the new method to get extrafields data * @return string Formated value */ - function getAlignFlag($key, $extrafieldsobjectkey='') + function getAlignFlag($key, $extrafieldsobjectkey = '') { global $conf,$langs; @@ -1890,7 +1890,7 @@ class ExtraFields * @param string $onlykey Only following key is filled. When we make update of only one extrafield ($action = 'update_extras'), calling page must must set this to avoid to have other extrafields being reset. * @return int 1 if array_options set, 0 if no value, -1 if error (field required missing for example) */ - function setOptionalsFromPost($extralabels, &$object, $onlykey='') + function setOptionalsFromPost($extralabels, &$object, $onlykey = '') { global $_POST, $langs; $nofillrequired='';// For error when required field left blank @@ -1989,7 +1989,7 @@ class ExtraFields * @param string $keysuffix Suffix string to add into name and id of field (can be used to avoid duplicate names) * @return array|int array_options set or 0 if no value */ - function getOptionalsFromPost($extrafieldsobjectkey, $keyprefix='', $keysuffix='') + function getOptionalsFromPost($extrafieldsobjectkey, $keyprefix = '', $keysuffix = '') { global $_POST; diff --git a/htdocs/core/class/fileupload.class.php b/htdocs/core/class/fileupload.class.php index 027fdda0514..66f6e19102c 100644 --- a/htdocs/core/class/fileupload.class.php +++ b/htdocs/core/class/fileupload.class.php @@ -41,7 +41,7 @@ class FileUpload * @param int $fk_element fk_element * @param string $element element */ - function __construct($options=null,$fk_element=null,$element=null) + function __construct($options = null, $fk_element = null, $element = null) { global $db, $conf; global $object; diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php index c1c288cbf79..cf6a3cf345d 100644 --- a/htdocs/core/class/fiscalyear.class.php +++ b/htdocs/core/class/fiscalyear.class.php @@ -264,7 +264,7 @@ class Fiscalyear extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -277,7 +277,7 @@ class Fiscalyear extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/core/class/google.class.php b/htdocs/core/class/google.class.php index 615729ba9c3..797f0a14af1 100644 --- a/htdocs/core/class/google.class.php +++ b/htdocs/core/class/google.class.php @@ -44,7 +44,7 @@ class GoogleAPI * @param DoliDB $db Database handler * @param string $key Google key */ - function __construct($db,$key) + function __construct($db, $key) { $this->db=$db; $this->key=$key; diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index 98193f1e32e..47edef4011d 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -136,7 +136,7 @@ class HookManager * All types can also return some values into an array ->results that will be finaly merged into this->resArray for caller. * $this->error or this->errors are also defined by class called by this function if error. */ - function executeHooks($method, $parameters=array(), &$object='', &$action='') + function executeHooks($method, $parameters = array(), &$object = '', &$action = '') { if (! is_array($this->hooks) || empty($this->hooks)) return ''; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 228c9fa1538..c737c7b791e 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -102,7 +102,7 @@ class Form * @param string $paramid Key of parameter for id ('id', 'socid') * @return string HTML edit field */ - function editfieldkey($text, $htmlname, $preselected, $object, $perm, $typeofdata='string', $moreparam='', $fieldrequired=0, $notabletag=0, $paramid='id') + function editfieldkey($text, $htmlname, $preselected, $object, $perm, $typeofdata = 'string', $moreparam = '', $fieldrequired = 0, $notabletag = 0, $paramid = 'id') { global $conf,$langs; @@ -164,7 +164,7 @@ class Form * @param string $paramid Key of parameter for id ('id', 'socid') * @return string HTML edit field */ - function editfieldval($text, $htmlname, $value, $object, $perm, $typeofdata='string', $editvalue='', $extObject=null, $custommsg=null, $moreparam='', $notabletag=0, $formatfunc='', $paramid='id') + function editfieldval($text, $htmlname, $value, $object, $perm, $typeofdata = 'string', $editvalue = '', $extObject = null, $custommsg = null, $moreparam = '', $notabletag = 0, $formatfunc = '', $paramid = 'id') { global $conf,$langs,$db; @@ -306,7 +306,7 @@ class Form * @param mixed $custommsg String or Array of custom messages : eg array('success' => 'MyMessage', 'error' => 'MyMessage') * @return string HTML edit in place */ - private function editInPlace($object, $value, $htmlname, $condition, $inputType='textarea', $editvalue=null, $extObject=null, $custommsg=null) + private function editInPlace($object, $value, $htmlname, $condition, $inputType = 'textarea', $editvalue = null, $extObject = null, $custommsg = null) { global $conf; @@ -441,7 +441,7 @@ class Form * @see Use function textwithpicto if you can. * TODO Move this as static as soon as everybody use textwithpicto or @Form::textwithtooltip */ - function textwithtooltip($text, $htmltext, $tooltipon = 1, $direction = 0, $img = '', $extracss = '', $notabs = 2, $incbefore = '', $noencodehtmltext = 0, $tooltiptrigger='', $forcenowrap=0) + function textwithtooltip($text, $htmltext, $tooltipon = 1, $direction = 0, $img = '', $extracss = '', $notabs = 2, $incbefore = '', $noencodehtmltext = 0, $tooltiptrigger = '', $forcenowrap = 0) { global $conf; @@ -526,7 +526,7 @@ class Form * @param int $forcenowrap Force no wrap between text and picto (works with notabs=2 only) * @return string HTML code of text, picto, tooltip */ - function textwithpicto($text, $htmltext, $direction = 1, $type = 'help', $extracss = '', $noencodehtmltext = 0, $notabs = 2, $tooltiptrigger='', $forcenowrap=0) + function textwithpicto($text, $htmltext, $direction = 1, $type = 'help', $extracss = '', $noencodehtmltext = 0, $notabs = 2, $tooltiptrigger = '', $forcenowrap = 0) { global $conf, $langs; @@ -578,7 +578,7 @@ class Form * @param int $alwaysvisible 1=select button always visible * @return string Select list */ - function selectMassAction($selected, $arrayofaction, $alwaysvisible=0) + function selectMassAction($selected, $arrayofaction, $alwaysvisible = 0) { global $conf,$langs,$hookmanager; @@ -678,7 +678,7 @@ class Form * @param int $addspecialentries 1=Add dedicated entries for group of countries (like 'European Economic Community', ...) * @return string HTML string with select */ - function select_country($selected='', $htmlname='country_id', $htmloption='', $maxlength=0, $morecss='minwidth300', $usecodeaskey='', $showempty=1, $disablefavorites=0, $addspecialentries=0) + function select_country($selected = '', $htmlname = 'country_id', $htmloption = '', $maxlength = 0, $morecss = 'minwidth300', $usecodeaskey = '', $showempty = 1, $disablefavorites = 0, $addspecialentries = 0) { // phpcs:enable global $conf,$langs,$mysoc; @@ -791,7 +791,7 @@ class Form * @param array $events Event options to run on change. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled'))) * @return string HTML string with select and input */ - function select_incoterms($selected='', $location_incoterms='', $page='', $htmlname='incoterm_id', $htmloption='', $forcecombo=1, $events=array()) + function select_incoterms($selected = '', $location_incoterms = '', $page = '', $htmlname = 'incoterm_id', $htmloption = '', $forcecombo = 1, $events = array()) { // phpcs:enable global $conf,$langs; @@ -884,7 +884,7 @@ class Form * @param integer $forceall 1=Force to show products and services in combo list, whatever are activated modules, 0=No force, 2=Force to show only Products, 3=Force to show only services, -1=Force none (and set hidden field to 'service') * @return void */ - function select_type_of_lines($selected='',$htmlname='type',$showempty=0,$hidetext=0,$forceall=0) + function select_type_of_lines($selected = '', $htmlname = 'type', $showempty = 0, $hidetext = 0, $forceall = 0) { // phpcs:enable global $db,$langs,$user,$conf; @@ -987,7 +987,7 @@ class Form * @param int $showempty Add an empty field * @return void */ - function select_type_fees($selected='',$htmlname='type',$showempty=0) + function select_type_fees($selected = '', $htmlname = 'type', $showempty = 0) { // phpcs:enable global $user, $langs; @@ -1031,7 +1031,7 @@ class Form * @return string Return select box for thirdparty. * @deprecated 3.8 Use select_company instead. For exemple $form->select_thirdparty(GETPOST('socid'),'socid','',0) => $form->select_company(GETPOST('socid'),'socid','',1,0,0,array(),0) */ - function select_thirdparty($selected='', $htmlname='socid', $filter='', $limit=20, $ajaxoptions=array(), $forcecombo=0) + function select_thirdparty($selected = '', $htmlname = 'socid', $filter = '', $limit = 20, $ajaxoptions = array(), $forcecombo = 0) { // phpcs:enable return $this->select_thirdparty_list($selected,$htmlname,$filter,1,0,$forcecombo,array(),'',0, $limit); @@ -1057,7 +1057,7 @@ class Form * @param bool $multiple add [] in the name of element and add 'multiple' attribut (not working with ajax_autocompleter) * @return string HTML string with select box for thirdparty. */ - function select_company($selected='', $htmlname='socid', $filter='', $showempty='', $showtype=0, $forcecombo=0, $events=array(), $limit=0, $morecss='minwidth100', $moreparam='', $selected_input_value='', $hidelabel=1, $ajaxoptions=array(), $multiple=false) + function select_company($selected = '', $htmlname = 'socid', $filter = '', $showempty = '', $showtype = 0, $forcecombo = 0, $events = array(), $limit = 0, $morecss = 'minwidth100', $moreparam = '', $selected_input_value = '', $hidelabel = 1, $ajaxoptions = array(), $multiple = false) { // phpcs:enable global $conf,$user,$langs; @@ -1121,7 +1121,7 @@ class Form * @param bool $multiple add [] in the name of element and add 'multiple' attribut * @return string HTML string with */ - function select_thirdparty_list($selected='',$htmlname='socid',$filter='',$showempty='', $showtype=0, $forcecombo=0, $events=array(), $filterkey='', $outputmode=0, $limit=0, $morecss='minwidth100', $moreparam='', $multiple=false) + function select_thirdparty_list($selected = '', $htmlname = 'socid', $filter = '', $showempty = '', $showtype = 0, $forcecombo = 0, $events = array(), $filterkey = '', $outputmode = 0, $limit = 0, $morecss = 'minwidth100', $moreparam = '', $multiple = false) { // phpcs:enable global $conf,$user,$langs; @@ -1295,7 +1295,7 @@ class Form * @param int $maxvalue Max value for lines that can be selected * @return int Return number of qualifed lines in list */ - function select_remises($selected, $htmlname, $filter, $socid, $maxvalue=0) + function select_remises($selected, $htmlname, $filter, $socid, $maxvalue = 0) { // phpcs:enable global $langs,$conf; @@ -1382,7 +1382,7 @@ class Form * @return int <0 if KO, Nb of contact in list if OK * @deprected You can use selectcontacts directly (warning order of param was changed) */ - function select_contacts($socid,$selected='',$htmlname='contactid',$showempty=0,$exclude='',$limitto='',$showfunction=0, $moreclass='', $showsoc=0, $forcecombo=0, $events=array(), $options_only=false, $moreparam='', $htmlid='') + function select_contacts($socid, $selected = '', $htmlname = 'contactid', $showempty = 0, $exclude = '', $limitto = '', $showfunction = 0, $moreclass = '', $showsoc = 0, $forcecombo = 0, $events = array(), $options_only = false, $moreparam = '', $htmlid = '') { // phpcs:enable print $this->selectcontacts($socid,$selected,$htmlname,$showempty,$exclude,$limitto,$showfunction, $moreclass, $options_only, $showsoc, $forcecombo, $events, $moreparam, $htmlid); @@ -1412,7 +1412,7 @@ class Form * @param bool $multiple add [] in the name of element and add 'multiple' attribut * @return int <0 if KO, Nb of contact in list if OK */ - function selectcontacts($socid, $selected='', $htmlname='contactid', $showempty=0, $exclude='', $limitto='', $showfunction=0, $moreclass='', $options_only=false, $showsoc=0, $forcecombo=0, $events=array(), $moreparam='', $htmlid='', $multiple=false) + function selectcontacts($socid, $selected = '', $htmlname = 'contactid', $showempty = 0, $exclude = '', $limitto = '', $showfunction = 0, $moreclass = '', $options_only = false, $showsoc = 0, $forcecombo = 0, $events = array(), $moreparam = '', $htmlid = '', $multiple = false) { global $conf,$langs,$hookmanager,$action; @@ -1559,7 +1559,7 @@ class Form * @deprecated Use select_dolusers instead * @see select_dolusers() */ - function select_users($selected='',$htmlname='userid',$show_empty=0,$exclude=null,$disabled=0,$include='',$enableonly='',$force_entity='0') + function select_users($selected = '', $htmlname = 'userid', $show_empty = 0, $exclude = null, $disabled = 0, $include = '', $enableonly = '', $force_entity = '0') { // phpcs:enable print $this->select_dolusers($selected,$htmlname,$show_empty,$exclude,$disabled,$include,$enableonly,$force_entity); @@ -1589,7 +1589,7 @@ class Form * @return string HTML select string * @see select_dolgroups */ - function select_dolusers($selected='', $htmlname='userid', $show_empty=0, $exclude=null, $disabled=0, $include='', $enableonly='', $force_entity='0', $maxlength=0, $showstatus=0, $morefilter='', $show_every=0, $enableonlytext='', $morecss='', $noactive=0, $outputmode=0, $multiple=false) + function select_dolusers($selected = '', $htmlname = 'userid', $show_empty = 0, $exclude = null, $disabled = 0, $include = '', $enableonly = '', $force_entity = '0', $maxlength = 0, $showstatus = 0, $morefilter = '', $show_every = 0, $enableonlytext = '', $morecss = '', $noactive = 0, $outputmode = 0, $multiple = false) { // phpcs:enable global $conf,$user,$langs; @@ -1797,7 +1797,7 @@ class Form * @return string HTML select string * @see select_dolgroups */ - function select_dolusers_forevent($action='', $htmlname='userid', $show_empty=0, $exclude=null, $disabled=0, $include='', $enableonly='', $force_entity='0', $maxlength=0, $showstatus=0, $morefilter='', $showproperties=0, $listofuserid=array(), $listofcontactid=array(), $listofotherid=array()) + function select_dolusers_forevent($action = '', $htmlname = 'userid', $show_empty = 0, $exclude = null, $disabled = 0, $include = '', $enableonly = '', $force_entity = '0', $maxlength = 0, $showstatus = 0, $morefilter = '', $showproperties = 0, $listofuserid = array(), $listofcontactid = array(), $listofotherid = array()) { // phpcs:enable global $conf, $user, $langs; @@ -1890,7 +1890,7 @@ class Form * @param array $selected_combinations Selected combinations. Format: array([attrid] => attrval, [...]) * @return void */ - function select_produits($selected='', $htmlname='productid', $filtertype='', $limit=20, $price_level=0, $status=1, $finished=2, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(), $socid=0, $showempty='1', $forcecombo=0, $morecss='', $hidepriceinlabel=0, $warehouseStatus='', $selected_combinations = array()) + function select_produits($selected = '', $htmlname = 'productid', $filtertype = '', $limit = 20, $price_level = 0, $status = 1, $finished = 2, $selected_input_value = '', $hidelabel = 0, $ajaxoptions = array(), $socid = 0, $showempty = '1', $forcecombo = 0, $morecss = '', $hidepriceinlabel = 0, $warehouseStatus = '', $selected_combinations = array()) { // phpcs:enable global $langs,$conf; @@ -2032,7 +2032,7 @@ class Form * 'warehouseinternal' = select products from warehouses for internal correct/transfer only * @return array Array of keys for json */ - function select_produits_list($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$filterkey='',$status=1,$finished=2,$outputmode=0,$socid=0,$showempty='1',$forcecombo=0,$morecss='',$hidepriceinlabel=0, $warehouseStatus='') + function select_produits_list($selected = '', $htmlname = 'productid', $filtertype = '', $limit = 20, $price_level = 0, $filterkey = '', $status = 1, $finished = 2, $outputmode = 0, $socid = 0, $showempty = '1', $forcecombo = 0, $morecss = '', $hidepriceinlabel = 0, $warehouseStatus = '') { // phpcs:enable global $langs,$conf,$user,$db; @@ -2324,7 +2324,7 @@ class Form * @param int $hidepriceinlabel Hide price in label * @return void */ - private function constructProductListOption(&$objp, &$opt, &$optJson, $price_level, $selected, $hidepriceinlabel=0) + private function constructProductListOption(&$objp, &$opt, &$optJson, $price_level, $selected, $hidepriceinlabel = 0) { global $langs,$conf,$user,$db; @@ -2546,7 +2546,7 @@ class Form * @param string $morecss More CSS * @return void */ - function select_produits_fournisseurs($socid, $selected='', $htmlname='productid', $filtertype='', $filtre='', $ajaxoptions=array(), $hidelabel=0, $alsoproductwithnosupplierprice=0, $morecss='') + function select_produits_fournisseurs($socid, $selected = '', $htmlname = 'productid', $filtertype = '', $filtre = '', $ajaxoptions = array(), $hidelabel = 0, $alsoproductwithnosupplierprice = 0, $morecss = '') { // phpcs:enable global $langs,$conf; @@ -2592,7 +2592,7 @@ class Form * @param string $morecss Add more CSS * @return array Array of keys for json */ - function select_produits_fournisseurs_list($socid,$selected='',$htmlname='productid',$filtertype='',$filtre='',$filterkey='',$statut=-1,$outputmode=0,$limit=100,$alsoproductwithnosupplierprice=0,$morecss='') + function select_produits_fournisseurs_list($socid, $selected = '', $htmlname = 'productid', $filtertype = '', $filtre = '', $filterkey = '', $statut = -1, $outputmode = 0, $limit = 100, $alsoproductwithnosupplierprice = 0, $morecss = '') { // phpcs:enable global $langs,$conf,$db; @@ -2816,7 +2816,7 @@ class Form * @param int $selected_supplier Pre-selected supplier if more than 1 result * @return void */ - function select_product_fourn_price($productid, $htmlname='productfournpriceid', $selected_supplier='') + function select_product_fourn_price($productid, $htmlname = 'productfournpriceid', $selected_supplier = '') { // phpcs:enable global $langs,$conf; @@ -2930,7 +2930,7 @@ class Form * @param int $showempty Add an empty field * @return integer|null */ - function select_address($selected, $socid, $htmlname='address_id',$showempty=0) + function select_address($selected, $socid, $htmlname = 'address_id', $showempty = 0) { // phpcs:enable // looking for users @@ -3081,7 +3081,7 @@ class Form * @param int $addempty Add empty entry * @return void */ - function selectAvailabilityDelay($selected='',$htmlname='availid',$filtertype='',$addempty=0) + function selectAvailabilityDelay($selected = '', $htmlname = 'availid', $filtertype = '', $addempty = 0) { global $langs,$user; @@ -3167,7 +3167,7 @@ class Form * @param int $addempty Add an empty entry * @return void */ - function selectInputReason($selected='',$htmlname='demandreasonid',$exclude='',$addempty=0) + function selectInputReason($selected = '', $htmlname = 'demandreasonid', $exclude = '', $addempty = 0) { global $langs,$user; @@ -3263,7 +3263,7 @@ class Form * @param string $morecss Add more CSS on select tag * @return void */ - function select_conditions_paiements($selected=0, $htmlname='condid', $filtertype=-1, $addempty=0, $noinfoadmin=0, $morecss='') + function select_conditions_paiements($selected = 0, $htmlname = 'condid', $filtertype = -1, $addempty = 0, $noinfoadmin = 0, $morecss = '') { // phpcs:enable global $langs, $user, $conf; @@ -3310,7 +3310,7 @@ class Form * @param string $morecss Add more CSS on select tag * @return void */ - function select_types_paiements($selected='', $htmlname='paiementtype', $filtertype='', $format=0, $empty=1, $noadmininfo=0, $maxlength=0, $active=1, $morecss='') + function select_types_paiements($selected = '', $htmlname = 'paiementtype', $filtertype = '', $format = 0, $empty = 1, $noadmininfo = 0, $maxlength = 0, $active = 1, $morecss = '') { // phpcs:enable global $langs,$user; @@ -3364,7 +3364,7 @@ class Form * @param string $htmlname Nom de la zone select * @return string Code of HTML select to chose tax or not */ - function selectPriceBaseType($selected='',$htmlname='price_base_type') + function selectPriceBaseType($selected = '', $htmlname = 'price_base_type') { global $langs; @@ -3402,7 +3402,7 @@ class Form * @param string $moreattrib To add more attribute on select * @return void */ - function selectShippingMethod($selected='',$htmlname='shipping_method_id',$filtre='',$useempty=0,$moreattrib='') + function selectShippingMethod($selected = '', $htmlname = 'shipping_method_id', $filtre = '', $useempty = 0, $moreattrib = '') { global $langs, $conf, $user; @@ -3455,7 +3455,7 @@ class Form * @param int $addempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. * @return void */ - function formSelectShippingMethod($page, $selected='', $htmlname='shipping_method_id', $addempty=0) + function formSelectShippingMethod($page, $selected = '', $htmlname = 'shipping_method_id', $addempty = 0) { global $langs, $db; @@ -3540,7 +3540,7 @@ class Form * @param int $showempty Add a nempty line * @return string HTML select */ - function selectUnits($selected = '', $htmlname = 'units', $showempty=0) + function selectUnits($selected = '', $htmlname = 'units', $showempty = 0) { global $langs; @@ -3591,7 +3591,7 @@ class Form * @param int $showcurrency Show currency in label * @return int <0 if error, Num of bank account found if OK (0, 1, 2, ...) */ - function select_comptes($selected='',$htmlname='accountid',$statut=0,$filtre='',$useempty=0,$moreattrib='',$showcurrency=0) + function select_comptes($selected = '', $htmlname = 'accountid', $statut = 0, $filtre = '', $useempty = 0, $moreattrib = '', $showcurrency = 0) { // phpcs:enable global $langs, $conf; @@ -3661,7 +3661,7 @@ class Form * @param int $addempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. * @return void */ - function formSelectAccount($page, $selected='', $htmlname='fk_account', $addempty=0) + function formSelectAccount($page, $selected = '', $htmlname = 'fk_account', $addempty = 0) { global $langs; if ($htmlname != "none") { @@ -3699,7 +3699,7 @@ class Form * @return string * @see select_categories */ - function select_all_categories($type, $selected='', $htmlname="parent", $maxlength=64, $excludeafterid=0, $outputmode=0) + function select_all_categories($type, $selected = '', $htmlname = "parent", $maxlength = 64, $excludeafterid = 0, $outputmode = 0) { // phpcs:enable global $conf, $langs; @@ -3790,7 +3790,7 @@ class Form * @deprecated * @see formconfirm() */ - function form_confirm($page, $title, $question, $action, $formquestion='', $selectedchoice="", $useajax=0, $height=170, $width=500) + function form_confirm($page, $title, $question, $action, $formquestion = '', $selectedchoice = "", $useajax = 0, $height = 170, $width = 500) { // phpcs:enable dol_syslog(__METHOD__ . ': using form_confirm is deprecated. Use formconfim instead.', LOG_WARNING); @@ -3821,7 +3821,7 @@ class Form * @param int $disableformtag 1=Disable form tag. Can be used if we are already inside a <form> section. * @return string HTML ajax code if a confirm ajax popup is required, Pure HTML code if it's an html form */ - function formconfirm($page, $title, $question, $action, $formquestion='', $selectedchoice='', $useajax=0, $height=210, $width=500, $disableformtag=0) + function formconfirm($page, $title, $question, $action, $formquestion = '', $selectedchoice = '', $useajax = 0, $height = 210, $width = 500, $disableformtag = 0) { global $langs,$conf; global $useglobalvars; @@ -4101,7 +4101,7 @@ class Form * @param int $nooutput No print is done. String is returned. * @return string Return html content */ - function form_project($page, $socid, $selected='', $htmlname='projectid', $discard_closed=0, $maxlength=20, $forcefocus=0, $nooutput=0) + function form_project($page, $socid, $selected = '', $htmlname = 'projectid', $discard_closed = 0, $maxlength = 20, $forcefocus = 0, $nooutput = 0) { // phpcs:enable global $langs; @@ -4157,7 +4157,7 @@ class Form * @param int $addempty Add empty entry * @return void */ - function form_conditions_reglement($page, $selected='', $htmlname='cond_reglement_id', $addempty=0) + function form_conditions_reglement($page, $selected = '', $htmlname = 'cond_reglement_id', $addempty = 0) { // phpcs:enable global $langs; @@ -4192,7 +4192,7 @@ class Form * @param int $addempty Ajoute entree vide * @return void */ - function form_availability($page, $selected='', $htmlname='availability', $addempty=0) + function form_availability($page, $selected = '', $htmlname = 'availability', $addempty = 0) { // phpcs:enable global $langs; @@ -4227,7 +4227,7 @@ class Form * @param int $addempty Add empty entry * @return void */ - function formInputReason($page, $selected='', $htmlname='demandreason', $addempty=0) + function formInputReason($page, $selected = '', $htmlname = 'demandreason', $addempty = 0) { global $langs; if ($htmlname != "none") @@ -4271,7 +4271,7 @@ class Form * @return string * @see selectDate */ - function form_date($page, $selected, $htmlname, $displayhour=0, $displaymin=0, $nooutput=0) + function form_date($page, $selected, $htmlname, $displayhour = 0, $displaymin = 0, $nooutput = 0) { // phpcs:enable global $langs; @@ -4312,7 +4312,7 @@ class Form * @param array $include List of users id to include * @return void */ - function form_users($page, $selected='', $htmlname='userid', $exclude='', $include='') + function form_users($page, $selected = '', $htmlname = 'userid', $exclude = '', $include = '') { // phpcs:enable global $langs; @@ -4353,7 +4353,7 @@ class Form * @param int $addempty 1=Add empty entry * @return void */ - function form_modes_reglement($page, $selected='', $htmlname='mode_reglement_id', $filtertype='', $active=1, $addempty=0) + function form_modes_reglement($page, $selected = '', $htmlname = 'mode_reglement_id', $filtertype = '', $active = 1, $addempty = 0) { // phpcs:enable global $langs; @@ -4387,7 +4387,7 @@ class Form * @param string $htmlname Name of select html field * @return void */ - function form_multicurrency_code($page, $selected='', $htmlname='multicurrency_code') + function form_multicurrency_code($page, $selected = '', $htmlname = 'multicurrency_code') { // phpcs:enable global $langs; @@ -4417,7 +4417,7 @@ class Form * @param string $currency Currency code to explain the rate * @return void */ - function form_multicurrency_rate($page, $rate='', $htmlname='multicurrency_tx', $currency='') + function form_multicurrency_rate($page, $rate = '', $htmlname = 'multicurrency_tx', $currency = '') { // phpcs:enable global $langs, $mysoc, $conf; @@ -4466,7 +4466,7 @@ class Form * @param int $discount_type 0 => customer discount, 1 => supplier discount * @return void */ - function form_remise_dispo($page, $selected, $htmlname, $socid, $amount, $filter='', $maxvalue=0, $more='', $hidelist=0, $discount_type=0) + function form_remise_dispo($page, $selected, $htmlname, $socid, $amount, $filter = '', $maxvalue = 0, $more = '', $hidelist = 0, $discount_type = 0) { // phpcs:enable global $conf,$langs; @@ -4557,7 +4557,7 @@ class Form * @param string $htmlname Name of HTML select. If 'none', we just show contact link. * @return void */ - function form_contacts($page, $societe, $selected='', $htmlname='contactid') + function form_contacts($page, $societe, $selected = '', $htmlname = 'contactid') { // phpcs:enable global $langs, $conf; @@ -4608,7 +4608,7 @@ class Form * @param int $nooutput No print output. Return it only. * @return void */ - function form_thirdparty($page, $selected='', $htmlname='socid', $filter='',$showempty=0, $showtype=0, $forcecombo=0, $events=array(), $nooutput=0) + function form_thirdparty($page, $selected = '', $htmlname = 'socid', $filter = '', $showempty = 0, $showtype = 0, $forcecombo = 0, $events = array(), $nooutput = 0) { // phpcs:enable global $langs; @@ -4651,7 +4651,7 @@ class Form * @deprecated * @return void */ - function select_currency($selected='',$htmlname='currency_id') + function select_currency($selected = '', $htmlname = 'currency_id') { // phpcs:enable print $this->selectCurrency($selected,$htmlname); @@ -4664,7 +4664,7 @@ class Form * @param string $htmlname name of HTML select list * @return string */ - function selectCurrency($selected='',$htmlname='currency_id') + function selectCurrency($selected = '', $htmlname = 'currency_id') { global $conf,$langs,$user; @@ -4707,7 +4707,7 @@ class Form * @param integer $useempty 1=Add empty line * @return string */ - function selectMultiCurrency($selected='', $htmlname='multicurrency_code', $useempty=0) + function selectMultiCurrency($selected = '', $htmlname = 'multicurrency_code', $useempty = 0) { global $db,$conf,$langs,$user; @@ -4844,7 +4844,7 @@ class Form * @param int $mode 0=Use vat rate as key in combo list, 1=Add VAT code after vat rate into key, -1=Use id of vat line as key * @return string */ - function load_tva($htmlname='tauxtva', $selectedrate='', $societe_vendeuse='', $societe_acheteuse='', $idprod=0, $info_bits=0, $type='', $options_only=false, $mode=0) + function load_tva($htmlname = 'tauxtva', $selectedrate = '', $societe_vendeuse = '', $societe_acheteuse = '', $idprod = 0, $info_bits = 0, $type = '', $options_only = false, $mode = 0) { // phpcs:enable global $langs,$conf,$mysoc; @@ -5044,7 +5044,7 @@ class Form * @deprecated * @see form_date, select_month, select_year, select_dayofweek */ - function select_date($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1, $addnowlink=0, $nooutput=0, $disabled=0, $fullday='', $addplusone='', $adddateof='') + function select_date($set_time = '', $prefix = 're', $h = 0, $m = 0, $empty = 0, $form_name = "", $d = 1, $addnowlink = 0, $nooutput = 0, $disabled = 0, $fullday = '', $addplusone = '', $adddateof = '') { // phpcs:enable $retstring = $this->selectDate($set_time, $prefix, $h, $m, $empty, $form_name, $d, $addnowlink, $disabled, $fullday, $addplusone, $adddateof); @@ -5077,7 +5077,7 @@ class Form * @return string Html for selectDate * @see form_date, select_month, select_year, select_dayofweek */ - function selectDate($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1, $addnowlink=0, $disabled=0, $fullday='', $addplusone='', $adddateof='') + function selectDate($set_time = '', $prefix = 're', $h = 0, $m = 0, $empty = 0, $form_name = "", $d = 1, $addnowlink = 0, $disabled = 0, $fullday = '', $addplusone = '', $adddateof = '') { global $conf,$langs; @@ -5440,7 +5440,7 @@ class Form * @param int $nooutput Do not output html string but return it * @return string|void */ - function select_duration($prefix, $iSecond='', $disabled=0, $typehour='select', $minunderhours=0, $nooutput=0) + function select_duration($prefix, $iSecond = '', $disabled = 0, $typehour = 'select', $minunderhours = 0, $nooutput = 0) { // phpcs:enable global $langs; @@ -5528,7 +5528,7 @@ class Form * @return string Return HTML string * @see selectForFormsList select_thirdparty */ - function selectForForms($objectdesc, $htmlname, $preselectedvalue, $showempty='', $searchkey='', $placeholder='', $morecss='', $moreparams='', $forcecombo=0) + function selectForForms($objectdesc, $htmlname, $preselectedvalue, $showempty = '', $searchkey = '', $placeholder = '', $morecss = '', $moreparams = '', $forcecombo = 0) { global $conf, $user; @@ -5598,7 +5598,7 @@ class Form * @return string Return HTML string * @see selectForForms */ - function selectForFormsList($objecttmp, $htmlname, $preselectedvalue, $showempty='', $searchkey='', $placeholder='', $morecss='', $moreparams='', $forcecombo=0, $outputmode=0) + function selectForFormsList($objecttmp, $htmlname, $preselectedvalue, $showempty = '', $searchkey = '', $placeholder = '', $morecss = '', $moreparams = '', $forcecombo = 0, $outputmode = 0) { global $conf, $langs, $user; @@ -5735,7 +5735,7 @@ class Form * @return string HTML select string. * @see multiselectarray, selectArrayAjax, selectArrayFilter */ - static function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $moreparam='', $translate=0, $maxlen=0, $disabled=0, $sort='', $morecss='', $addjscombo=0, $moreparamonempty='',$disablebademail=0, $nohtmlescape=0) + static function selectarray($htmlname, $array, $id = '', $show_empty = 0, $key_in_label = 0, $value_as_key = 0, $moreparam = '', $translate = 0, $maxlen = 0, $disabled = 0, $sort = '', $morecss = '', $addjscombo = 0, $moreparamonempty = '', $disablebademail = 0, $nohtmlescape = 0) { global $conf, $langs; @@ -5845,7 +5845,7 @@ class Form * @return string HTML select string * @see selectArrayFilter, ajax_combobox in ajax.lib.php */ - static function selectArrayAjax($htmlname, $url, $id='', $moreparam='', $moreparamtourl='', $disabled=0, $minimumInputLength=1, $morecss='', $callurlonselect=0, $placeholder='', $acceptdelayedhtml=0) + static function selectArrayAjax($htmlname, $url, $id = '', $moreparam = '', $moreparamtourl = '', $disabled = 0, $minimumInputLength = 1, $morecss = '', $callurlonselect = 0, $placeholder = '', $acceptdelayedhtml = 0) { global $conf, $langs; global $delayedhtmlcontent; @@ -5947,7 +5947,7 @@ class Form * @return string HTML select string * @see selectArrayAjax, ajax_combobox in ajax.lib.php */ - static function selectArrayFilter($htmlname, $array, $id='', $moreparam='', $disableFiltering=0, $disabled=0, $minimumInputLength=1, $morecss='', $callurlonselect=0, $placeholder='', $acceptdelayedhtml=0) + static function selectArrayFilter($htmlname, $array, $id = '', $moreparam = '', $disableFiltering = 0, $disabled = 0, $minimumInputLength = 1, $morecss = '', $callurlonselect = 0, $placeholder = '', $acceptdelayedhtml = 0) { global $conf, $langs; global $delayedhtmlcontent; @@ -6065,7 +6065,7 @@ class Form * @return string HTML multiselect string * @see selectarray, selectArrayAjax, selectArrayFilter */ - static function multiselectarray($htmlname, $array, $selected=array(), $key_in_label=0, $value_as_key=0, $morecss='', $translate=0, $width=0, $moreattrib='', $elemtype='', $placeholder='', $addjscombo=-1) + static function multiselectarray($htmlname, $array, $selected = array(), $key_in_label = 0, $value_as_key = 0, $morecss = '', $translate = 0, $width = 0, $moreattrib = '', $elemtype = '', $placeholder = '', $addjscombo = -1) { global $conf, $langs; @@ -6264,7 +6264,7 @@ class Form * @param int $rendermode 0=Default, use multiselect. 1=Emulate multiselect (recommended) * @return string String with categories */ - function showCategories($id, $type, $rendermode=0) + function showCategories($id, $type, $rendermode = 0) { global $db; @@ -6309,7 +6309,7 @@ class Form * @param array $compatibleImportElementsList Array of compatibles elements object for "import from" action * @return int <0 if KO, >=0 if OK */ - function showLinkedObjectBlock($object, $morehtmlright='',$compatibleImportElementsList=false) + function showLinkedObjectBlock($object, $morehtmlright = '', $compatibleImportElementsList = false) { global $conf,$langs,$hookmanager; global $bc; @@ -6457,7 +6457,7 @@ class Form * @param array $excludelinksto Do not show links of this type, for exemple array('order') or array('supplier_order'). null or array() if no exclusion. * @return string <0 if KO, >0 if OK */ - function showLinkToObjectBlock($object, $restrictlinksto=array(), $excludelinksto=array()) + function showLinkToObjectBlock($object, $restrictlinksto = array(), $excludelinksto = array()) { global $conf, $langs, $hookmanager; global $bc; @@ -6630,7 +6630,7 @@ class Form * @param int $useempty 1=Add empty line * @return string See option */ - function selectyesno($htmlname, $value='', $option=0, $disabled=false, $useempty=0) + function selectyesno($htmlname, $value = '', $option = 0, $disabled = false, $useempty = 0) { global $langs; @@ -6672,7 +6672,7 @@ class Form * @param int $useempty Affiche valeur vide dans liste * @return void */ - function select_export_model($selected='',$htmlname='exportmodelid',$type='',$useempty=0) + function select_export_model($selected = '', $htmlname = 'exportmodelid', $type = '', $useempty = 0) { // phpcs:enable $sql = "SELECT rowid, label"; @@ -6730,7 +6730,7 @@ class Form * @param string $morehtmlright More html code to show after ref. * @return string Portion HTML with ref + navigation buttons */ - function showrefnav($object,$paramid,$morehtml='',$shownav=1,$fieldid='rowid',$fieldref='ref',$morehtmlref='',$moreparam='',$nodbprefix=0,$morehtmlleft='',$morehtmlstatus='',$morehtmlright='') + function showrefnav($object, $paramid, $morehtml = '', $shownav = 1, $fieldid = 'rowid', $fieldref = 'ref', $morehtmlref = '', $moreparam = '', $nodbprefix = 0, $morehtmlleft = '', $morehtmlstatus = '', $morehtmlright = '') { global $langs,$conf,$hookmanager; @@ -6880,7 +6880,7 @@ class Form * @param int $width Width of photo * @return string HTML code to output barcode */ - function showbarcode(&$object,$width=100) + function showbarcode(&$object, $width = 100) { global $conf; @@ -6917,7 +6917,7 @@ class Form * @param string $forcecapture Force parameter capture on HTML input file element to ask a smartphone to allow to open camera to take photo. Auto if empty. * @return string HTML code to output photo */ - static function showphoto($modulepart, $object, $width=100, $height=0, $caneditfield=0, $cssclass='photowithmargin', $imagesize='', $addlinktofullsize=1, $cache=0, $forcecapture='') + static function showphoto($modulepart, $object, $width = 100, $height = 0, $caneditfield = 0, $cssclass = 'photowithmargin', $imagesize = '', $addlinktofullsize = 1, $cache = 0, $forcecapture = '') { global $conf,$langs; @@ -7076,7 +7076,7 @@ class Form * @return string * @see select_dolusers */ - function select_dolgroups($selected='', $htmlname='groupid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity='0', $multiple=false) + function select_dolgroups($selected = '', $htmlname = 'groupid', $show_empty = 0, $exclude = '', $disabled = 0, $include = '', $enableonly = '', $force_entity = '0', $multiple = false) { // phpcs:enable global $conf,$user,$langs; @@ -7191,7 +7191,7 @@ class Form * @param int $calljsfunction 0=default. 1=call function initCheckForSelect() after changing status of checkboxes * @return string */ - function showCheckAddButtons($cssclass='checkforaction', $calljsfunction=0) + function showCheckAddButtons($cssclass = 'checkforaction', $calljsfunction = 0) { global $conf, $langs; @@ -7230,7 +7230,7 @@ class Form * @param int $calljsfunction 0=default. 1=call function initCheckForSelect() after changing status of checkboxes * @return string */ - function showFilterAndCheckAddButtons($addcheckuncheckall=0, $cssclass='checkforaction', $calljsfunction=0) + function showFilterAndCheckAddButtons($addcheckuncheckall = 0, $cssclass = 'checkforaction', $calljsfunction = 0) { $out.=$this->showFilterButtons(); if ($addcheckuncheckall) @@ -7252,7 +7252,7 @@ class Form * @param array $params param to give * @return string */ - function selectExpenseCategories($selected='', $htmlname='fk_c_exp_tax_cat', $useempty=0, $excludeid=array(), $target='', $default_selected=0, $params=array()) + function selectExpenseCategories($selected = '', $htmlname = 'fk_c_exp_tax_cat', $useempty = 0, $excludeid = array(), $target = '', $default_selected = 0, $params = array()) { global $db, $conf, $langs, $user; @@ -7341,7 +7341,7 @@ class Form * @param integer $useempty 1=Add empty line * @return string */ - function selectExpenseRanges($selected='', $htmlname='fk_range', $useempty=0) + function selectExpenseRanges($selected = '', $htmlname = 'fk_range', $useempty = 0) { global $db,$conf,$langs; @@ -7378,7 +7378,7 @@ class Form * @param integer $useid 0=use 'code' as key, 1=use 'id' as key * @return string */ - function selectExpense($selected='', $htmlname='fk_c_type_fees', $useempty=0, $allchoice=1, $useid=0) + function selectExpense($selected = '', $htmlname = 'fk_c_type_fees', $useempty = 0, $allchoice = 1, $useid = 0) { global $db,$langs; diff --git a/htdocs/core/class/html.formaccounting.class.php b/htdocs/core/class/html.formaccounting.class.php index 5ffaf0463a6..41476fb4966 100644 --- a/htdocs/core/class/html.formaccounting.class.php +++ b/htdocs/core/class/html.formaccounting.class.php @@ -70,7 +70,7 @@ class FormAccounting extends Form * @param int $disabledajaxcombo Disable ajax combo box. * @return string String with HTML select */ - function select_journal($selectid, $htmlname = 'journal', $nature=0, $showempty = 0, $select_in = 0, $select_out = 0, $morecss='maxwidth300 maxwidthonsmartphone', $usecache='', $disabledajaxcombo=0) + function select_journal($selectid, $htmlname = 'journal', $nature = 0, $showempty = 0, $select_in = 0, $select_out = 0, $morecss = 'maxwidth300 maxwidthonsmartphone', $usecache = '', $disabledajaxcombo = 0) { // phpcs:enable global $conf,$langs; @@ -151,7 +151,7 @@ class FormAccounting extends Form * @param int $allcountries All countries * @return void */ - function select_accounting_category($selected='',$htmlname='account_category', $useempty=0, $maxlen=0, $help=1, $allcountries=0) + function select_accounting_category($selected = '', $htmlname = 'account_category', $useempty = 0, $maxlen = 0, $help = 1, $allcountries = 0) { // phpcs:enable global $db,$langs,$user,$mysoc; @@ -267,7 +267,7 @@ class FormAccounting extends Form * @param string $usecache Key to use to store result into a cache. Next call with same key will reuse the cache. * @return string String with HTML select */ - function select_account($selectid, $htmlname = 'account', $showempty = 0, $event = array(), $select_in = 0, $select_out = 0, $morecss='maxwidth300 maxwidthonsmartphone', $usecache='') + function select_account($selectid, $htmlname = 'account', $showempty = 0, $event = array(), $select_in = 0, $select_out = 0, $morecss = 'maxwidth300 maxwidthonsmartphone', $usecache = '') { // phpcs:enable global $conf, $langs; @@ -356,7 +356,7 @@ class FormAccounting extends Form * @param string $morecss More css * @return string String with HTML select */ - function select_auxaccount($selectid, $htmlname='account_num_aux', $showempty=0, $morecss='maxwidth200') + function select_auxaccount($selectid, $htmlname = 'account_num_aux', $showempty = 0, $morecss = 'maxwidth200') { // phpcs:enable diff --git a/htdocs/core/class/html.formactions.class.php b/htdocs/core/class/html.formactions.class.php index 15db641a5ec..2f345bb20e4 100644 --- a/htdocs/core/class/html.formactions.class.php +++ b/htdocs/core/class/html.formactions.class.php @@ -64,7 +64,7 @@ class FormActions * @param string $morecss More css on select field * @return void */ - function form_select_status_action($formname, $selected, $canedit=1, $htmlname='complete', $showempty=0, $onlyselect=0, $morecss='maxwidth100') + function form_select_status_action($formname, $selected, $canedit = 1, $htmlname = 'complete', $showempty = 0, $onlyselect = 0, $morecss = 'maxwidth100') { // phpcs:enable global $langs,$conf; @@ -168,7 +168,7 @@ class FormActions * @param string $morehtmlright More html text on right of title line * @return int <0 if KO, >=0 if OK */ - function showactions($object, $typeelement, $socid=0, $forceshowtitle=0, $morecss='listactions', $max=0, $moreparambacktopage='', $morehtmlright='') + function showactions($object, $typeelement, $socid = 0, $forceshowtitle = 0, $morecss = 'listactions', $max = 0, $moreparambacktopage = '', $morehtmlright = '') { global $langs,$conf,$user; global $bc; @@ -327,7 +327,7 @@ class FormActions * @param int $nooutput 1=No output * @return string */ - function select_type_actions($selected='', $htmlname='actioncode', $excludetype='', $onlyautoornot=0, $hideinfohelp=0, $multiselect=0, $nooutput=0) + function select_type_actions($selected = '', $htmlname = 'actioncode', $excludetype = '', $onlyautoornot = 0, $hideinfohelp = 0, $multiselect = 0, $nooutput = 0) { // phpcs:enable global $langs,$user,$form,$conf; diff --git a/htdocs/core/class/html.formadmin.class.php b/htdocs/core/class/html.formadmin.class.php index 32a421a7b61..e96ec257c93 100644 --- a/htdocs/core/class/html.formadmin.class.php +++ b/htdocs/core/class/html.formadmin.class.php @@ -59,7 +59,7 @@ class FormAdmin * @param int $forcecombo Force to use combo box (so no ajax beautify effect) * @return string Return HTML select string with list of languages */ - function select_language($selected='', $htmlname='lang_id', $showauto=0, $filter=null, $showempty='', $showwarning=0, $disabled=0, $morecss='', $showcode=0, $forcecombo=0) + function select_language($selected = '', $htmlname = 'lang_id', $showauto = 0, $filter = null, $showempty = '', $showwarning = 0, $disabled = 0, $morecss = '', $showcode = 0, $forcecombo = 0) { // phpcs:enable global $langs; @@ -131,7 +131,7 @@ class FormAdmin * @param string $moreattrib More attributes on html select tag * @return integer|null */ - function select_menu($selected, $htmlname, $dirmenuarray, $moreattrib='') + function select_menu($selected, $htmlname, $dirmenuarray, $moreattrib = '') { // phpcs:enable global $langs,$conf; @@ -293,7 +293,7 @@ class FormAdmin * @param string $htmlname Nom de la zone select * @return void */ - function select_timezone($selected,$htmlname) + function select_timezone($selected, $htmlname) { // phpcs:enable global $langs,$conf; @@ -349,7 +349,7 @@ class FormAdmin * @param int $showempty Add empty value * @return string Return HTML output */ - function select_paper_format($selected='',$htmlname='paperformat_id',$filter=0,$showempty=0) + function select_paper_format($selected = '', $htmlname = 'paperformat_id', $filter = 0, $showempty = 0) { // phpcs:enable global $langs; diff --git a/htdocs/core/class/html.formbarcode.class.php b/htdocs/core/class/html.formbarcode.class.php index 65a3213bad8..f7a7199ab03 100644 --- a/htdocs/core/class/html.formbarcode.class.php +++ b/htdocs/core/class/html.formbarcode.class.php @@ -60,7 +60,7 @@ class FormBarCode * @param int $idForm Id du formulaire * @return string HTML select string */ - function setBarcodeEncoder($selected,$barcodelist,$code_id,$idForm='formbarcode') + function setBarcodeEncoder($selected, $barcodelist, $code_id, $idForm = 'formbarcode') { global $conf, $langs; @@ -123,7 +123,7 @@ class FormBarCode * @return void * @deprecated */ - function select_barcode_type($selected='', $htmlname='barcodetype_id', $useempty=0) + function select_barcode_type($selected = '', $htmlname = 'barcodetype_id', $useempty = 0) { // phpcs:enable print $this->selectBarcodeType($selected, $htmlname, $useempty); @@ -137,7 +137,7 @@ class FormBarCode * @param int $useempty Display empty value in select * @return string */ - function selectBarcodeType($selected='', $htmlname='barcodetype_id', $useempty=0) + function selectBarcodeType($selected = '', $htmlname = 'barcodetype_id', $useempty = 0) { global $langs, $conf; @@ -193,7 +193,7 @@ class FormBarCode * @return void * @deprecated */ - function form_barcode_type($page, $selected='', $htmlname='barcodetype_id') + function form_barcode_type($page, $selected = '', $htmlname = 'barcodetype_id') { // phpcs:enable print $this->formBarcodeType($page, $selected, $htmlname); @@ -207,7 +207,7 @@ class FormBarCode * @param string $htmlname Nom du formulaire select * @return string */ - function formBarcodeType($page, $selected='', $htmlname='barcodetype_id') + function formBarcodeType($page, $selected = '', $htmlname = 'barcodetype_id') { global $langs, $conf; $out = ''; diff --git a/htdocs/core/class/html.formcompany.class.php b/htdocs/core/class/html.formcompany.class.php index 9d0bded74b6..065b241095a 100644 --- a/htdocs/core/class/html.formcompany.class.php +++ b/htdocs/core/class/html.formcompany.class.php @@ -60,7 +60,7 @@ class FormCompany * @param string $filter Add a SQL filter to select * @return array Array of types */ - function typent_array($mode=0, $filter='') + function typent_array($mode = 0, $filter = '') { // phpcs:enable global $langs,$mysoc; @@ -103,7 +103,7 @@ class FormCompany * @param string $filter Add a SQL filter to select * @return array Array of types d'effectifs */ - function effectif_array($mode=0, $filter='') + function effectif_array($mode = 0, $filter = '') { // phpcs:enable $effs = array(); @@ -145,7 +145,7 @@ class FormCompany * @param int $empty Add empty value in list * @return void */ - function form_prospect_level($page, $selected='', $htmlname='prospect_level_id', $empty=0) + function form_prospect_level($page, $selected = '', $htmlname = 'prospect_level_id', $empty = 0) { // phpcs:enable global $user, $langs; @@ -199,7 +199,7 @@ class FormCompany * @param string $htmlname Id of department * @return void */ - function select_departement($selected='',$country_codeid=0, $htmlname='state_id') + function select_departement($selected = '', $country_codeid = 0, $htmlname = 'state_id') { // phpcs:enable print $this->select_state($selected,$country_codeid, $htmlname); @@ -219,7 +219,7 @@ class FormCompany * @return string String with HTML select * @see select_country */ - function select_state($selected='',$country_codeid=0, $htmlname='state_id') + function select_state($selected = '', $country_codeid = 0, $htmlname = 'state_id') { // phpcs:enable global $conf,$langs,$user; @@ -332,7 +332,7 @@ class FormCompany * @param string $htmlname Name of HTML select field * @return void */ - function select_region($selected='',$htmlname='region_id') + function select_region($selected = '', $htmlname = 'region_id') { // phpcs:enable global $conf,$langs; @@ -398,7 +398,7 @@ class FormCompany * @param string $morecss Add more css on SELECT element * @return string String with HTML select */ - function select_civility($selected='',$htmlname='civility_id',$morecss='maxwidth100') + function select_civility($selected = '', $htmlname = 'civility_id', $morecss = 'maxwidth100') { // phpcs:enable global $conf,$langs,$user; @@ -459,7 +459,7 @@ class FormCompany * @deprecated Use print xxx->select_juridicalstatus instead * @see select_juridicalstatus() */ - function select_forme_juridique($selected='', $country_codeid=0, $filter='') + function select_forme_juridique($selected = '', $country_codeid = 0, $filter = '') { // phpcs:enable print $this->select_juridicalstatus($selected, $country_codeid, $filter); @@ -476,7 +476,7 @@ class FormCompany * @param string $htmlname HTML name of select * @return string String with HTML select */ - function select_juridicalstatus($selected='', $country_codeid=0, $filter='', $htmlname='forme_juridique_code') + function select_juridicalstatus($selected = '', $country_codeid = 0, $filter = '', $htmlname = 'forme_juridique_code') { // phpcs:enable global $conf,$langs,$user; @@ -581,7 +581,7 @@ class FormCompany * @param string $morecss More CSS on select component * @return int The selected third party ID */ - function selectCompaniesForNewContact($object, $var_id, $selected='', $htmlname='newcompany', $limitto='', $forceid=0, $moreparam='', $morecss='') + function selectCompaniesForNewContact($object, $var_id, $selected = '', $htmlname = 'newcompany', $limitto = '', $forceid = 0, $moreparam = '', $morecss = '') { global $conf, $langs; @@ -740,7 +740,7 @@ class FormCompany * @param string $morecss Add more css to select component * @return void */ - function selectTypeContact($object, $selected, $htmlname = 'type', $source='internal', $sortorder='position', $showempty=0, $morecss='') + function selectTypeContact($object, $selected, $htmlname = 'type', $source = 'internal', $sortorder = 'position', $showempty = 0, $morecss = '') { global $user, $langs; @@ -774,7 +774,7 @@ class FormCompany * @param string $morecss More css * @return string */ - function select_ziptown($selected='', $htmlname='zipcode', $fields='', $fieldsize=0, $disableautocomplete=0, $moreattrib='',$morecss='') + function select_ziptown($selected = '', $htmlname = 'zipcode', $fields = '', $fieldsize = 0, $disableautocomplete = 0, $moreattrib = '', $morecss = '') { // phpcs:enable global $conf; @@ -805,7 +805,7 @@ class FormCompany * @param string $morecss More css * @return string HTML string with prof id */ - function get_input_id_prof($idprof,$htmlname,$preselected,$country_code,$morecss='maxwidth100onsmartphone quatrevingtpercent') + function get_input_id_prof($idprof, $htmlname, $preselected, $country_code, $morecss = 'maxwidth100onsmartphone quatrevingtpercent') { // phpcs:enable global $conf,$langs; diff --git a/htdocs/core/class/html.formcontract.class.php b/htdocs/core/class/html.formcontract.class.php index 5bdb00cfc40..f09758aec2d 100644 --- a/htdocs/core/class/html.formcontract.class.php +++ b/htdocs/core/class/html.formcontract.class.php @@ -60,7 +60,7 @@ class FormContract * @param int $showempty Show empty line * @return int Nbr of project if OK, <0 if KO */ - function select_contract($socid=-1, $selected='', $htmlname='contrattid', $maxlength=16, $showempty=1) + function select_contract($socid = -1, $selected = '', $htmlname = 'contrattid', $maxlength = 16, $showempty = 1) { // phpcs:enable global $db,$user,$conf,$langs; @@ -177,7 +177,7 @@ class FormContract * @param int $showempty Show empty line * @return int Nbr of project if OK, <0 if KO */ - function formSelectContract($page, $socid=-1, $selected='', $htmlname='contrattid', $maxlength=16, $showempty=1) + function formSelectContract($page, $socid = -1, $selected = '', $htmlname = 'contrattid', $maxlength = 16, $showempty = 1) { global $langs; diff --git a/htdocs/core/class/html.formcron.class.php b/htdocs/core/class/html.formcron.class.php index 94747481cb0..13cf88e9aa2 100644 --- a/htdocs/core/class/html.formcron.class.php +++ b/htdocs/core/class/html.formcron.class.php @@ -58,7 +58,7 @@ class FormCron extends Form * @param integer $readonly Select is read only or not * @return string HTML select field */ - function select_typejob($htmlname,$selected=0,$readonly=0) + function select_typejob($htmlname, $selected = 0, $readonly = 0) { // phpcs:enable global $langs; diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index d8af718bb04..5bd33520420 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -77,7 +77,7 @@ class FormFile * @param string $sectiondir If upload must be done inside a particular directory (is sectiondir defined, sectionid must not be) * @return int <0 if KO, >0 if OK */ - function form_attach_new_file($url, $title='', $addcancel=0, $sectionid=0, $perm=1, $size=50, $object='', $options='', $useajax=1, $savingdocmask='', $linkfiles=1, $htmlname='formuserfile', $accept='', $sectiondir='') + function form_attach_new_file($url, $title = '', $addcancel = 0, $sectionid = 0, $perm = 1, $size = 50, $object = '', $options = '', $useajax = 1, $savingdocmask = '', $linkfiles = 1, $htmlname = 'formuserfile', $accept = '', $sectiondir = '') { // phpcs:enable global $conf,$langs, $hookmanager; @@ -255,7 +255,7 @@ class FormFile * @return int <0 if KO, number of shown files if OK * @deprecated Use print xxx->showdocuments() instead. */ - function show_documents($modulepart,$modulesubdir,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$allowgenifempty=1,$forcenomultilang=0,$iconPDF=0,$notused=0,$noform=0,$param='',$title='',$buttonlabel='',$codelang='') + function show_documents($modulepart, $modulesubdir, $filedir, $urlsource, $genallowed, $delallowed = 0, $modelselected = '', $allowgenifempty = 1, $forcenomultilang = 0, $iconPDF = 0, $notused = 0, $noform = 0, $param = '', $title = '', $buttonlabel = '', $codelang = '') { // phpcs:enable $this->numoffiles=0; @@ -288,7 +288,7 @@ class FormFile * @param int $hideifempty Hide section of generated files if there is no file * @return string Output string with HTML array of documents (might be empty string) */ - function showdocuments($modulepart,$modulesubdir,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$allowgenifempty=1,$forcenomultilang=0,$iconPDF=0,$notused=0,$noform=0,$param='',$title='',$buttonlabel='',$codelang='',$morepicto='',$object=null,$hideifempty=0) + function showdocuments($modulepart, $modulesubdir, $filedir, $urlsource, $genallowed, $delallowed = 0, $modelselected = '', $allowgenifempty = 1, $forcenomultilang = 0, $iconPDF = 0, $notused = 0, $noform = 0, $param = '', $title = '', $buttonlabel = '', $codelang = '', $morepicto = '', $object = null, $hideifempty = 0) { // Deprecation warning if (! empty($iconPDF)) { @@ -887,7 +887,7 @@ class FormFile * @param string $filter Filter filenames on this regex string (Example: '\.pdf$') * @return string Output string with HTML link of documents (might be empty string). This also fill the array ->infofiles */ - function getDocumentsLink($modulepart, $modulesubdir, $filedir, $filter='') + function getDocumentsLink($modulepart, $modulesubdir, $filedir, $filter = '') { global $conf, $langs; @@ -1022,7 +1022,7 @@ class FormFile * @return int <0 if KO, nb of files shown if OK * @see list_of_autoecmfiles */ - function list_of_documents($filearray,$object,$modulepart,$param='',$forcedownload=0,$relativepath='',$permonobject=1,$useinecm=0,$textifempty='',$maxlength=0,$title='',$url='', $showrelpart=0, $permtoeditline=-1,$upload_dir='',$sortfield='',$sortorder='ASC', $disablemove=1, $addfilterfields=0) + function list_of_documents($filearray, $object, $modulepart, $param = '', $forcedownload = 0, $relativepath = '', $permonobject = 1, $useinecm = 0, $textifempty = '', $maxlength = 0, $title = '', $url = '', $showrelpart = 0, $permtoeditline = -1, $upload_dir = '', $sortfield = '', $sortorder = 'ASC', $disablemove = 1, $addfilterfields = 0) { // phpcs:enable global $user, $conf, $langs, $hookmanager; @@ -1412,7 +1412,7 @@ class FormFile * @return int <0 if KO, nb of files shown if OK * @see list_of_documents */ - function list_of_autoecmfiles($upload_dir, $filearray, $modulepart, $param, $forcedownload=0, $relativepath='', $permtodelete=1, $useinecm=0, $textifempty='', $maxlength=0, $url='', $addfilterfields=0) + function list_of_autoecmfiles($upload_dir, $filearray, $modulepart, $param, $forcedownload = 0, $relativepath = '', $permtodelete = 1, $useinecm = 0, $textifempty = '', $maxlength = 0, $url = '', $addfilterfields = 0) { // phpcs:enable global $user, $conf, $langs, $form; @@ -1695,7 +1695,7 @@ class FormFile * @param string $param More param to add into URL * @return int Number of links */ - public function listOfLinks($object, $permtodelete=1, $action=null, $selected=null, $param='') + public function listOfLinks($object, $permtodelete = 1, $action = null, $selected = null, $param = '') { global $user, $conf, $langs, $user; global $sortfield, $sortorder; @@ -1831,7 +1831,7 @@ class FormFile * @param string $param More param on http links * @return string $out Output string with HTML */ - public function showPreview($file, $modulepart, $relativepath, $ruleforpicto=0, $param='') + public function showPreview($file, $modulepart, $relativepath, $ruleforpicto = 0, $param = '') { global $langs, $conf; diff --git a/htdocs/core/class/html.formintervention.class.php b/htdocs/core/class/html.formintervention.class.php index ae35b74fad9..a9602f8a158 100644 --- a/htdocs/core/class/html.formintervention.class.php +++ b/htdocs/core/class/html.formintervention.class.php @@ -60,7 +60,7 @@ class FormIntervention * @param int $showempty Show empty line * @return int Nbre of project if OK, <0 if KO */ - function select_interventions($socid=-1, $selected='', $htmlname='interventionid', $maxlength=16, $showempty=1) + function select_interventions($socid = -1, $selected = '', $htmlname = 'interventionid', $maxlength = 16, $showempty = 1) { // phpcs:enable global $db,$user,$conf,$langs; diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php index 2cb10056cc3..ac4ce55ebba 100644 --- a/htdocs/core/class/html.formmail.class.php +++ b/htdocs/core/class/html.formmail.class.php @@ -183,7 +183,7 @@ class FormMail extends Form * @param string $type Mime type (can be dol_mimetype($file)) * @return void */ - function add_attached_files($path, $file='', $type='') + function add_attached_files($path, $file = '', $type = '') { // phpcs:enable $listofpaths=array(); @@ -268,7 +268,7 @@ class FormMail extends Form * @param string $removefileaction Name of action when removing file attachments * @return void */ - function show_form($addfileaction='addfile',$removefileaction='removefile') + function show_form($addfileaction = 'addfile', $removefileaction = 'removefile') { // phpcs:enable print $this->get_form($addfileaction,$removefileaction); @@ -285,7 +285,7 @@ class FormMail extends Form * @param string $removefileaction Name of action when removing file attachments * @return string Form to show */ - function get_form($addfileaction='addfile', $removefileaction='removefile') + function get_form($addfileaction = 'addfile', $removefileaction = 'removefile') { // phpcs:enable global $conf, $langs, $user, $hookmanager, $form; @@ -1143,7 +1143,7 @@ class FormMail extends Form * @param string $label Label of template * @return ModelMail One instance of ModelMail */ - public function getEMailTemplate($db, $type_template, $user, $outputlangs, $id=0, $active=1, $label='') + public function getEMailTemplate($db, $type_template, $user, $outputlangs, $id = 0, $active = 1, $label = '') { $ret = new ModelMail(); @@ -1267,7 +1267,7 @@ class FormMail extends Form * @param int $active 1=Only active template, 0=Only disabled, -1=All * @return int <0 if KO, nb of records found if OK */ - public function fetchAllEMailTemplate($type_template, $user, $outputlangs, $active=1) + public function fetchAllEMailTemplate($type_template, $user, $outputlangs, $active = 1) { $ret=array(); @@ -1378,7 +1378,7 @@ class FormMail extends Form * @param Object $object Object if applicable * @return array Array of substitution values for emails. */ - static function getAvailableSubstitKey($mode='formemail', $object=null) + static function getAvailableSubstitKey($mode = 'formemail', $object = null) { global $conf, $langs; diff --git a/htdocs/core/class/html.formmailing.class.php b/htdocs/core/class/html.formmailing.class.php index 067692f5094..95c2c057b40 100644 --- a/htdocs/core/class/html.formmailing.class.php +++ b/htdocs/core/class/html.formmailing.class.php @@ -40,7 +40,7 @@ class FormMailing extends Form * @param integer $show_empty Show empty option * @return string HTML select */ - public function selectDestinariesStatus($selectedid='', $htmlname='dest_status', $show_empty=0) + public function selectDestinariesStatus($selectedid = '', $htmlname = 'dest_status', $show_empty = 0) { global $langs; diff --git a/htdocs/core/class/html.formmargin.class.php b/htdocs/core/class/html.formmargin.class.php index cdd827145b0..8492237d68f 100644 --- a/htdocs/core/class/html.formmargin.class.php +++ b/htdocs/core/class/html.formmargin.class.php @@ -59,7 +59,7 @@ class FormMargin * @param boolean $force_price True of not * @return array Array with info */ - function getMarginInfosArray($object, $force_price=false) + function getMarginInfosArray($object, $force_price = false) { global $conf, $db; @@ -191,7 +191,7 @@ class FormMargin * @param boolean $force_price Force price * @return void */ - function displayMarginInfos($object, $force_price=false) + function displayMarginInfos($object, $force_price = false) { global $langs, $conf, $user; diff --git a/htdocs/core/class/html.formorder.class.php b/htdocs/core/class/html.formorder.class.php index 781b3f76e4f..c16f292d10d 100644 --- a/htdocs/core/class/html.formorder.class.php +++ b/htdocs/core/class/html.formorder.class.php @@ -39,7 +39,7 @@ class FormOrder extends Form * @param string $hmlname Name of HTML select element * @return void */ - public function selectSupplierOrderStatus($selected='', $short=0, $hmlname='order_status') + public function selectSupplierOrderStatus($selected = '', $short = 0, $hmlname = 'order_status') { $options = array(); @@ -74,7 +74,7 @@ class FormOrder extends Form * @param int $addempty 0=list with no empty value, 1=list with empty value * @return array Tableau des sources de commandes */ - public function selectInputMethod($selected='',$htmlname='source_id',$addempty=0) + public function selectInputMethod($selected = '', $htmlname = 'source_id', $addempty = 0) { global $langs; diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php index 8ca0b988fda..ce3fe126a51 100644 --- a/htdocs/core/class/html.formother.class.php +++ b/htdocs/core/class/html.formother.class.php @@ -67,7 +67,7 @@ class FormOther * @param int $fk_user Utilisateur créant le modèle * @return void */ - function select_export_model($selected='', $htmlname='exportmodelid', $type='', $useempty=0, $fk_user=null) + function select_export_model($selected = '', $htmlname = 'exportmodelid', $type = '', $useempty = 0, $fk_user = null) { // phpcs:enable $sql = "SELECT rowid, label"; @@ -119,7 +119,7 @@ class FormOther * @param int $useempty Affiche valeur vide dans liste * @return void */ - function select_import_model($selected='', $htmlname='importmodelid', $type='', $useempty=0) + function select_import_model($selected = '', $htmlname = 'importmodelid', $type = '', $useempty = 0) { // phpcs:enable $sql = "SELECT rowid, label"; @@ -168,7 +168,7 @@ class FormOther * @param string $htmlname Name of combo list * @return integer */ - function select_ecotaxes($selected='', $htmlname='ecotaxe_id') + function select_ecotaxes($selected = '', $htmlname = 'ecotaxe_id') { // phpcs:enable global $langs; @@ -227,7 +227,7 @@ class FormOther * @param string $country_code Country Code * @return string HTML select list */ - function select_revenue_stamp($selected='', $htmlname='revenuestamp', $country_code='') + function select_revenue_stamp($selected = '', $htmlname = 'revenuestamp', $country_code = '') { // phpcs:enable global $langs; @@ -290,7 +290,7 @@ class FormOther * @param int $showempty Add also an empty line * @return string HTML select string */ - function select_percent($selected=0,$htmlname='percent',$disabled=0,$increment=5,$start=0,$end=100,$showempty=0) + function select_percent($selected = 0, $htmlname = 'percent', $disabled = 0, $increment = 5, $start = 0, $end = 100, $showempty = 0) { // phpcs:enable $return = '<select class="flat" name="'.$htmlname.'" '.($disabled?'disabled':'').'>'; @@ -328,7 +328,7 @@ class FormOther * @return string Html combo list code * @see select_all_categories */ - function select_categories($type, $selected=0, $htmlname='search_categ', $nocateg=0, $showempty=1, $morecss='') + function select_categories($type, $selected = 0, $htmlname = 'search_categ', $nocateg = 0, $showempty = 1, $morecss = '') { // phpcs:enable global $conf, $langs; @@ -389,7 +389,7 @@ class FormOther * @param string $morecss More CSS * @return string Html combo list code */ - function select_salesrepresentatives($selected,$htmlname,$user,$showstatus=0,$showempty=1,$morecss='') + function select_salesrepresentatives($selected, $htmlname, $user, $showstatus = 0, $showempty = 1, $morecss = '') { // phpcs:enable global $conf,$langs; @@ -490,7 +490,7 @@ class FormOther * @param string $morecss More css * @return void */ - function selectProjectTasks($selectedtask='', $projectid=0, $htmlname='task_parent', $modeproject=0, $modetask=0, $mode=0, $useempty=0, $disablechildoftaskid=0, $filteronprojstatus='', $morecss='') + function selectProjectTasks($selectedtask = '', $projectid = 0, $htmlname = 'task_parent', $modeproject = 0, $modetask = 0, $mode = 0, $useempty = 0, $disablechildoftaskid = 0, $filteronprojstatus = '', $morecss = '') { global $user, $langs; @@ -528,7 +528,7 @@ class FormOther * @param int $disablechildoftaskid 1=Disable task that are child of the provided task id * @return void */ - private function _pLineSelect(&$inc, $parent, $lines, $level=0, $selectedtask=0, $selectedproject=0, $disablechildoftaskid=0) + private function _pLineSelect(&$inc, $parent, $lines, $level = 0, $selectedtask = 0, $selectedproject = 0, $disablechildoftaskid = 0) { global $langs, $user, $conf; @@ -621,7 +621,7 @@ class FormOther * @return string HTML code for color thumb * @see selectColor */ - static function showColor($color, $textifnotdefined='') + static function showColor($color, $textifnotdefined = '') { $textcolor='FFF'; include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; @@ -646,7 +646,7 @@ class FormOther * @deprecated Use instead selectColor * @see selectColor() */ - function select_color($set_color='', $prefix='f_color', $form_name='', $showcolorbox=1, $arrayofcolors='') + function select_color($set_color = '', $prefix = 'f_color', $form_name = '', $showcolorbox = 1, $arrayofcolors = '') { // phpcs:enable print $this->selectColor($set_color, $prefix, $form_name, $showcolorbox, $arrayofcolors); @@ -664,7 +664,7 @@ class FormOther * @return string * @see showColor */ - static function selectColor($set_color='', $prefix='f_color', $form_name='', $showcolorbox=1, $arrayofcolors='', $morecss='') + static function selectColor($set_color = '', $prefix = 'f_color', $form_name = '', $showcolorbox = 1, $arrayofcolors = '', $morecss = '') { // Deprecation warning if ($form_name) { @@ -763,7 +763,7 @@ class FormOther * @param int $y Hauteur de l'image en pixels * @return void */ - function CreateColorIcon($color,$module,$name,$x='12',$y='12') + function CreateColorIcon($color, $module, $name, $x = '12', $y = '12') { // phpcs:enable global $conf; @@ -802,7 +802,7 @@ class FormOther * @param int $useempty Affiche valeur vide dans liste * @return string */ - function select_dayofweek($selected='',$htmlname='weekid',$useempty=0) + function select_dayofweek($selected = '', $htmlname = 'weekid', $useempty = 0) { // phpcs:enable global $langs; @@ -850,7 +850,7 @@ class FormOther * @param string $morecss More Css * @return string */ - function select_month($selected='', $htmlname='monthid', $useempty=0, $longlabel=0, $morecss='') + function select_month($selected = '', $htmlname = 'monthid', $useempty = 0, $longlabel = 0, $morecss = '') { // phpcs:enable global $langs; @@ -897,7 +897,7 @@ class FormOther * @param string $morecss More CSS * @return string */ - function select_year($selected='',$htmlname='yearid',$useempty=0, $min_year=10, $max_year=5, $offset=0, $invert=0, $option='', $morecss='valignmiddle widthauto') + function select_year($selected = '', $htmlname = 'yearid', $useempty = 0, $min_year = 10, $max_year = 5, $offset = 0, $invert = 0, $option = '', $morecss = 'valignmiddle widthauto') { // phpcs:enable print $this->selectyear($selected,$htmlname,$useempty,$min_year,$max_year,$offset,$invert,$option,$morecss); @@ -917,7 +917,7 @@ class FormOther * @param string $morecss More css * @return string */ - function selectyear($selected='',$htmlname='yearid',$useempty=0, $min_year=10, $max_year=5, $offset=0, $invert=0, $option='', $morecss='valignmiddle widthauto') + function selectyear($selected = '', $htmlname = 'yearid', $useempty = 0, $min_year = 10, $max_year = 5, $offset = 0, $invert = 0, $option = '', $morecss = 'valignmiddle widthauto') { $out=''; @@ -968,7 +968,7 @@ class FormOther * @param int $originid Id de l'origine * @return void */ - function form_address($page, $selected, $socid, $htmlname='address_id', $origin='', $originid='') + function form_address($page, $selected, $socid, $htmlname = 'address_id', $origin = '', $originid = '') { // phpcs:enable global $langs,$conf; @@ -1011,7 +1011,7 @@ class FormOther * @param String $areacode Code of area for pages ('0'=value for Home page) * @return array array('selectboxlist'=>, 'boxactivated'=>, 'boxlista'=>, 'boxlistb'=>) */ - static function getBoxesArea($user,$areacode) + static function getBoxesArea($user, $areacode) { global $conf,$langs,$db; @@ -1231,7 +1231,7 @@ class FormOther * @param string $moreattrib More attributes on HTML select tag * @return void */ - function select_dictionary($htmlname,$dictionarytable,$keyfield='code',$labelfield='label',$selected='',$useempty=0,$moreattrib='') + function select_dictionary($htmlname, $dictionarytable, $keyfield = 'code', $labelfield = 'label', $selected = '', $useempty = 0, $moreattrib = '') { // phpcs:enable global $langs, $conf; diff --git a/htdocs/core/class/html.formprojet.class.php b/htdocs/core/class/html.formprojet.class.php index dea04047405..d91142bd6bd 100644 --- a/htdocs/core/class/html.formprojet.class.php +++ b/htdocs/core/class/html.formprojet.class.php @@ -71,7 +71,7 @@ class FormProjets * @param int $htmlid Html id to use instead of htmlname * @return string Return html content */ - function select_projects($socid=-1, $selected='', $htmlname='projectid', $maxlength=16, $option_only=0, $show_empty=1, $discard_closed=0, $forcefocus=0, $disabled=0, $mode = 0, $filterkey = '', $nooutput=0, $forceaddid=0, $morecss='', $htmlid='') + function select_projects($socid = -1, $selected = '', $htmlname = 'projectid', $maxlength = 16, $option_only = 0, $show_empty = 1, $discard_closed = 0, $forcefocus = 0, $disabled = 0, $mode = 0, $filterkey = '', $nooutput = 0, $forceaddid = 0, $morecss = '', $htmlid = '') { // phpcs:enable global $langs,$conf,$form; @@ -140,7 +140,7 @@ class FormProjets * @param string $morecss More CSS * @return int Nb of project if OK, <0 if KO */ - function select_projects_list($socid=-1, $selected='', $htmlname='projectid', $maxlength=24, $option_only=0, $show_empty=1, $discard_closed=0, $forcefocus=0, $disabled=0, $mode=0, $filterkey = '', $nooutput=0, $forceaddid=0, $htmlid='', $morecss='maxwidth500') + function select_projects_list($socid = -1, $selected = '', $htmlname = 'projectid', $maxlength = 24, $option_only = 0, $show_empty = 1, $discard_closed = 0, $forcefocus = 0, $disabled = 0, $mode = 0, $filterkey = '', $nooutput = 0, $forceaddid = 0, $htmlid = '', $morecss = 'maxwidth500') { // phpcs:enable global $user,$conf,$langs; @@ -320,7 +320,7 @@ class FormProjets * @param User $usertofilter User object to use for filtering * @return int Nbr of project if OK, <0 if KO */ - function selectTasks($socid=-1, $selected='', $htmlname='taskid', $maxlength=24, $option_only=0, $show_empty='1', $discard_closed=0, $forcefocus=0, $disabled=0, $morecss='maxwidth500', $projectsListId='', $showproject='all', $usertofilter=null) + function selectTasks($socid = -1, $selected = '', $htmlname = 'taskid', $maxlength = 24, $option_only = 0, $show_empty = '1', $discard_closed = 0, $forcefocus = 0, $disabled = 0, $morecss = 'maxwidth500', $projectsListId = '', $showproject = 'all', $usertofilter = null) { global $user,$conf,$langs; @@ -488,7 +488,7 @@ class FormProjets * @param string $projectkey Equivalent key to fk_projet for actual table_element * @return int|string The HTML select list of element or '' if nothing or -1 if KO */ - function select_element($table_element, $socid=0, $morecss='', $limitonstatus=-2,$projectkey="fk_projet") + function select_element($table_element, $socid = 0, $morecss = '', $limitonstatus = -2, $projectkey = "fk_projet") { // phpcs:enable global $conf, $langs; @@ -618,7 +618,7 @@ class FormProjets * @param string $morecss Add more css * @return int|string The HTML select list of element or '' if nothing or -1 if KO */ - function selectOpportunityStatus($htmlname, $preselected='-1', $showempty=1, $useshortlabel=0, $showallnone=0, $showpercent=0, $morecss='') + function selectOpportunityStatus($htmlname, $preselected = '-1', $showempty = 1, $useshortlabel = 0, $showallnone = 0, $showpercent = 0, $morecss = '') { global $conf, $langs; diff --git a/htdocs/core/class/html.formpropal.class.php b/htdocs/core/class/html.formpropal.class.php index c4ac522d98a..1f4fad0829c 100644 --- a/htdocs/core/class/html.formpropal.class.php +++ b/htdocs/core/class/html.formpropal.class.php @@ -60,7 +60,7 @@ class FormPropal * @param string $htmlname Name of select field * @return void */ - function selectProposalStatus($selected='',$short=0, $excludedraft=0, $showempty=1, $mode='customer',$htmlname='propal_statut') + function selectProposalStatus($selected = '', $short = 0, $excludedraft = 0, $showempty = 1, $mode = 'customer', $htmlname = 'propal_statut') { global $langs; diff --git a/htdocs/core/class/html.formsms.class.php b/htdocs/core/class/html.formsms.class.php index 4ef6208723d..9d300db27e8 100644 --- a/htdocs/core/class/html.formsms.class.php +++ b/htdocs/core/class/html.formsms.class.php @@ -100,7 +100,7 @@ class FormSms * @param int $showform Show form tags and submit button (recommanded is to use with value 0) * @return void */ - function show_form($morecss='titlefield', $showform=1) + function show_form($morecss = 'titlefield', $showform = 1) { // phpcs:enable global $conf, $langs, $user, $form; diff --git a/htdocs/core/class/html.formsocialcontrib.class.php b/htdocs/core/class/html.formsocialcontrib.class.php index 99e36878390..9f9ed7ab1d2 100644 --- a/htdocs/core/class/html.formsocialcontrib.class.php +++ b/htdocs/core/class/html.formsocialcontrib.class.php @@ -61,7 +61,7 @@ class FormSocialContrib * @param string $morecss Add more CSS on select * @return void */ - function select_type_socialcontrib($selected='',$htmlname='actioncode', $useempty=0, $maxlen=40, $help=1, $morecss='minwidth300') + function select_type_socialcontrib($selected = '', $htmlname = 'actioncode', $useempty = 0, $maxlen = 40, $help = 1, $morecss = 'minwidth300') { // phpcs:enable global $conf,$db,$langs,$user,$mysoc; diff --git a/htdocs/core/class/html.formticket.class.php b/htdocs/core/class/html.formticket.class.php index 6c4a9703014..a04032463c9 100644 --- a/htdocs/core/class/html.formticket.class.php +++ b/htdocs/core/class/html.formticket.class.php @@ -124,7 +124,7 @@ class FormTicket * @param int $withdolfichehead With dol_fiche_head * @return void */ - public function showForm($withdolfichehead=0) + public function showForm($withdolfichehead = 0) { global $conf, $langs, $user, $hookmanager; @@ -431,7 +431,7 @@ class FormTicket * @param string $morecss More CSS * @return void */ - public function selectTypesTickets($selected = '', $htmlname = 'tickettype', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss='') + public function selectTypesTickets($selected = '', $htmlname = 'tickettype', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '') { global $langs, $user; @@ -531,7 +531,7 @@ class FormTicket * @param string $morecss More CSS * @return void */ - public function selectCategoriesTickets($selected = '', $htmlname = 'ticketcategory', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss='') + public function selectCategoriesTickets($selected = '', $htmlname = 'ticketcategory', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '') { global $langs, $user; @@ -632,7 +632,7 @@ class FormTicket * @param string $morecss More CSS * @return void */ - public function selectSeveritiesTickets($selected = '', $htmlname = 'ticketseverity', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss='') + public function selectSeveritiesTickets($selected = '', $htmlname = 'ticketseverity', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '') { global $langs, $user; diff --git a/htdocs/core/class/html.formwebsite.class.php b/htdocs/core/class/html.formwebsite.class.php index f5feccd5860..fea4f34332c 100644 --- a/htdocs/core/class/html.formwebsite.class.php +++ b/htdocs/core/class/html.formwebsite.class.php @@ -54,7 +54,7 @@ class FormWebsite * @param int $useempty Show empty value or not * @return string Html component */ - function selectWebsite($selected='',$htmlname='exportmodelid',$useempty=0) + function selectWebsite($selected = '', $htmlname = 'exportmodelid', $useempty = 0) { $out=''; @@ -107,7 +107,7 @@ class FormWebsite * @param string $moreattrib More attributes on HTML select tag * @return void */ - function selectTypeOfContainer($htmlname, $selected='', $useempty=0, $moreattrib='') + function selectTypeOfContainer($htmlname, $selected = '', $useempty = 0, $moreattrib = '') { global $langs, $conf, $user; @@ -170,7 +170,7 @@ class FormWebsite * @param string $moreattrib More attributes on HTML select tag * @return void */ - function selectSampleOfContainer($htmlname, $selected='', $useempty=0, $moreattrib='') + function selectSampleOfContainer($htmlname, $selected = '', $useempty = 0, $moreattrib = '') { global $langs, $conf, $user; diff --git a/htdocs/core/class/infobox.class.php b/htdocs/core/class/infobox.class.php index dedf3ec384f..0a97429be44 100644 --- a/htdocs/core/class/infobox.class.php +++ b/htdocs/core/class/infobox.class.php @@ -48,7 +48,7 @@ class InfoBox * @param int $includehidden Include also hidden boxes * @return array Array of boxes */ - static function listBoxes($db, $mode, $zone, $user=null, $excludelist=array(), $includehidden=1) + static function listBoxes($db, $mode, $zone, $user = null, $excludelist = array(), $includehidden = 1) { global $conf; @@ -186,7 +186,7 @@ class InfoBox * @param int $userid Id of user * @return int <0 if KO, 0=Nothing done, > 0 if OK */ - static function saveboxorder($db, $zone,$boxorder,$userid=0) + static function saveboxorder($db, $zone, $boxorder, $userid = 0) { global $conf; diff --git a/htdocs/core/class/interfaces.class.php b/htdocs/core/class/interfaces.class.php index 6f43643eeb7..7c8bb689de5 100644 --- a/htdocs/core/class/interfaces.class.php +++ b/htdocs/core/class/interfaces.class.php @@ -65,7 +65,7 @@ class Interfaces * @param Conf $conf Objet conf * @return int Nb of triggers ran if no error, -Nb of triggers with errors otherwise. */ - function run_triggers($action,$object,$user,$langs,$conf) + function run_triggers($action, $object, $user, $langs, $conf) { // phpcs:enable // Check parameters @@ -241,7 +241,7 @@ class Interfaces * @param array $forcedirtriggers null=All default directories. This parameter is used by modulebuilder module only. * @return array Array list of triggers */ - function getTriggersList($forcedirtriggers=null) + function getTriggersList($forcedirtriggers = null) { global $conf, $langs, $db; diff --git a/htdocs/core/class/ldap.class.php b/htdocs/core/class/ldap.class.php index 8c42d691d39..2c845440ec1 100644 --- a/htdocs/core/class/ldap.class.php +++ b/htdocs/core/class/ldap.class.php @@ -333,7 +333,7 @@ class Ldap * @param string $pass Password * @return boolean true or false */ - function bindauth($bindDn,$pass) + function bindauth($bindDn, $pass) { if (! $this->result = @ldap_bind($this->connection, $bindDn, $pass)) { @@ -569,7 +569,7 @@ class Ldap * @param string $newparent New parent (ou=xxx,dc=aaa,dc=bbb) (for ldap_rename) * @return int <0 if KO, >0 if OK */ - function update($dn, $info, $user, $olddn, $newrdn=false, $newparent=false) + function update($dn, $info, $user, $olddn, $newrdn = false, $newparent = false) { global $conf; @@ -741,7 +741,7 @@ class Ldap * @param int $timeout Timeout in second (default 1s) * @return boolean true or false */ - function serverPing($host, $port=389, $timeout=1) + function serverPing($host, $port = 389, $timeout = 1) { // Replace ldaps:// by ssl:// if (preg_match('/^ldaps:\/\/([^\/]+)\/?$/',$host, $regs)) { @@ -925,7 +925,7 @@ class Ldap * @param string $filter Filter * @return int|array <0 or false if KO, array if OK */ - function getAttribute($dn,$filter) + function getAttribute($dn, $filter) { // Check parameters if (! $this->connection) @@ -970,7 +970,7 @@ class Ldap * @param string $attribute Attributes * @return void */ - function getAttributeValues($filterrecord,$attribute) + function getAttributeValues($filterrecord, $attribute) { $attributes=array(); $attributes[0] = $attribute; @@ -1015,7 +1015,7 @@ class Ldap * @param array $attributeAsArray Array of fields wanted as an array not a string * @return array Array of [id_record][ldap_field]=value */ - function getRecords($search, $userDn, $useridentifier, $attributeArray, $activefilter=0, $attributeAsArray=array()) + function getRecords($search, $userDn, $useridentifier, $attributeArray, $activefilter = 0, $attributeAsArray = array()) { $fulllist=array(); @@ -1260,7 +1260,7 @@ class Ldap * Examples: &(objectClass=inetOrgPerson) &(objectClass=user)(objectCategory=person) &(isMemberOf=cn=Sales,ou=Groups,dc=opencsi,dc=com) * @return int >0 if OK, <0 if KO */ - function fetch($user,$filter) + function fetch($user, $filter) { // Perform the search and get the entry handles @@ -1463,7 +1463,7 @@ class Ldap * @param string $pagecodefrom Page code of src string * @return string Converted string */ - private function convToOutputCharset($str,$pagecodefrom='UTF-8') + private function convToOutputCharset($str, $pagecodefrom = 'UTF-8') { global $conf; if ($pagecodefrom == 'ISO-8859-1' && $conf->file->character_set_client == 'UTF-8') $str=utf8_encode($str); @@ -1478,7 +1478,7 @@ class Ldap * @param string $pagecodeto Page code for result string * @return string Converted string */ - function convFromOutputCharset($str,$pagecodeto='UTF-8') + function convFromOutputCharset($str, $pagecodeto = 'UTF-8') { global $conf; if ($pagecodeto == 'ISO-8859-1' && $conf->file->character_set_client == 'UTF-8') $str=utf8_decode($str); @@ -1493,7 +1493,7 @@ class Ldap * @param string $keygroup Key of group * @return int gid number */ - function getNextGroupGid($keygroup='LDAP_KEY_GROUPS') + function getNextGroupGid($keygroup = 'LDAP_KEY_GROUPS') { global $conf; diff --git a/htdocs/core/class/link.class.php b/htdocs/core/class/link.class.php index 8413725ab11..82069e10204 100644 --- a/htdocs/core/class/link.class.php +++ b/htdocs/core/class/link.class.php @@ -72,7 +72,7 @@ class Link extends CommonObject * @param User $user Object of user that ask creation * @return int >= 0 if OK, < 0 if KO */ - public function create($user='') + public function create($user = '') { global $langs,$conf; @@ -156,7 +156,7 @@ class Link extends CommonObject * @param int $call_trigger 0=no, 1=yes * @return int <0 if KO, >=0 if OK */ - public function update($user='', $call_trigger=1) + public function update($user = '', $call_trigger = 1) { global $langs,$conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; @@ -241,7 +241,7 @@ class Link extends CommonObject * @param string $sortorder sort order * @return int 1 if ok, 0 if no records, -1 if error **/ - public function fetchAll(&$links, $objecttype, $objectid, $sortfield=null, $sortorder=null) + public function fetchAll(&$links, $objecttype, $objectid, $sortfield = null, $sortorder = null) { global $conf; @@ -315,7 +315,7 @@ class Link extends CommonObject * @param int $rowid Id of link to load * @return int 1 if ok, 0 if no record found, -1 if error **/ - public function fetch($rowid=null) + public function fetch($rowid = null) { global $conf; diff --git a/htdocs/core/class/menu.class.php b/htdocs/core/class/menu.class.php index 3d9d92189a3..872f871b202 100644 --- a/htdocs/core/class/menu.class.php +++ b/htdocs/core/class/menu.class.php @@ -65,7 +65,7 @@ class Menu * @param string $prefix Prefix to title (image or picto) * @return void */ - function add($url, $titre, $level=0, $enabled=1, $target='',$mainmenu='',$leftmenu='',$position=0, $id='', $idsel='', $classname='', $prefix='') + function add($url, $titre, $level = 0, $enabled = 1, $target = '', $mainmenu = '', $leftmenu = '', $position = 0, $id = '', $idsel = '', $classname = '', $prefix = '') { $this->liste[]=array('url'=>$url,'titre'=>$titre,'level'=>$level,'enabled'=>$enabled,'target'=>$target,'mainmenu'=>$mainmenu,'leftmenu'=>$leftmenu, 'position'=>$position, 'id'=>$id, 'idsel'=>$idsel, 'classname'=>$classname, 'prefix'=>$prefix); } @@ -88,7 +88,7 @@ class Menu * @param string $prefix Prefix to title (image or picto) * @return void */ - function insert($idafter, $url, $titre, $level=0, $enabled=1, $target='',$mainmenu='',$leftmenu='',$position=0, $id='', $idsel='', $classname='', $prefix='') + function insert($idafter, $url, $titre, $level = 0, $enabled = 1, $target = '', $mainmenu = '', $leftmenu = '', $position = 0, $id = '', $idsel = '', $classname = '', $prefix = '') { $array_start = array_slice($this->liste,0,($idafter+1)); $array_new = array(0=>array('url'=>$url,'titre'=>$titre,'level'=>$level,'enabled'=>$enabled,'target'=>$target,'mainmenu'=>$mainmenu,'leftmenu'=>$leftmenu,'position'=>$position, 'id'=>$id, 'idsel'=>$idsel, 'classname'=>$classname, 'prefix'=>$prefix)); diff --git a/htdocs/core/class/menubase.class.php b/htdocs/core/class/menubase.class.php index 86b27948389..641bfeacdcb 100644 --- a/htdocs/core/class/menubase.class.php +++ b/htdocs/core/class/menubase.class.php @@ -91,7 +91,7 @@ class Menubase * @param DoliDB $db Database handler * @param string $menu_handler Menu handler */ - function __construct($db,$menu_handler='') + function __construct($db, $menu_handler = '') { $this->db = $db; $this->menu_handler = $menu_handler; @@ -105,7 +105,7 @@ class Menubase * @param User $user User that create * @return int <0 if KO, Id of record if OK */ - function create($user=null) + function create($user = null) { global $conf, $langs; @@ -245,7 +245,7 @@ class Menubase * @param int $notrigger 0=no, 1=yes (no update trigger) * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; @@ -310,7 +310,7 @@ class Menubase * @param User $user User that load * @return int <0 if KO, >0 if OK */ - function fetch($id, $user=null) + function fetch($id, $user = null) { global $langs; diff --git a/htdocs/core/class/notify.class.php b/htdocs/core/class/notify.class.php index e7cd7cabe53..e5616c31c40 100644 --- a/htdocs/core/class/notify.class.php +++ b/htdocs/core/class/notify.class.php @@ -105,7 +105,7 @@ class Notify * @param Object $object Object the notification is about * @return string Message */ - function confirmMessage($action,$socid,$object) + function confirmMessage($action, $socid, $object) { global $langs; $langs->load("mails"); @@ -146,7 +146,7 @@ class Notify * @param array $scope Scope where to search * @return array|int <0 if KO, array of notifications to send if OK */ - function getNotificationsArray($notifcode, $socid=0, $object=null, $userid=0, $scope=array('thirdparty', 'user', 'global')) + function getNotificationsArray($notifcode, $socid = 0, $object = null, $userid = 0, $scope = array('thirdparty', 'user', 'global')) { global $conf, $user; @@ -309,7 +309,7 @@ class Notify * @param array $mimefilename_list List of attached file name in message * @return int <0 if KO, or number of changes if OK */ - function send($notifcode, $object, $filename_list=array(), $mimetype_list=array(), $mimefilename_list=array()) + function send($notifcode, $object, $filename_list = array(), $mimetype_list = array(), $mimefilename_list = array()) { global $user,$conf,$langs,$mysoc; global $hookmanager; diff --git a/htdocs/core/class/openid.class.php b/htdocs/core/class/openid.class.php index 48de42ad847..2254ec25cf2 100644 --- a/htdocs/core/class/openid.class.php +++ b/htdocs/core/class/openid.class.php @@ -301,7 +301,7 @@ class SimpleOpenID * @param string $params Params * @return boolean|unknown */ - function FSOCK_Request($url, $method="GET", $params = "") + function FSOCK_Request($url, $method = "GET", $params = "") { // phpcs:enable $fp = fsockopen("ssl://www.myopenid.com", 443, $errno, $errstr, 3); // Connection timeout is 3 seconds @@ -335,7 +335,7 @@ class SimpleOpenID * @param string $params Params * @return string */ - function CURL_Request($url, $method="GET", $params = "") + function CURL_Request($url, $method = "GET", $params = "") { // phpcs:enable // Remember, SSL MUST BE SUPPORTED @@ -394,7 +394,7 @@ class SimpleOpenID * @param string $url Url to found endpoint * @return string Endpoint */ - function GetOpenIDServer($url='') + function GetOpenIDServer($url = '') { // phpcs:enable global $conf; @@ -518,7 +518,7 @@ class SimpleOpenID * @param string $url Url of endpoint to request * @return string First endpoint OpenID server found. False if it failed to found. */ - function sendDiscoveryRequestToGetXRDS($url='') + function sendDiscoveryRequestToGetXRDS($url = '') { global $conf; diff --git a/htdocs/core/class/rssparser.class.php b/htdocs/core/class/rssparser.class.php index fd37476a26e..931dce263a1 100644 --- a/htdocs/core/class/rssparser.class.php +++ b/htdocs/core/class/rssparser.class.php @@ -184,7 +184,7 @@ class RssParser * @param string $cachedir Directory where to save cache file * @return int <0 if KO, >0 if OK */ - public function parser($urlRSS, $maxNb=0, $cachedelay=60, $cachedir='') + public function parser($urlRSS, $maxNb = 0, $cachedelay = 60, $cachedir = '') { global $conf; @@ -666,7 +666,7 @@ class RssParser * @param string $str2 Str2 * @return string String cancatenated */ - function concat(&$str1, $str2="") + function concat(&$str1, $str2 = "") { if (!isset($str1) ) { $str1=""; diff --git a/htdocs/core/class/smtps.class.php b/htdocs/core/class/smtps.class.php index 1ade95098fa..c52261a5530 100644 --- a/htdocs/core/class/smtps.class.php +++ b/htdocs/core/class/smtps.class.php @@ -310,7 +310,7 @@ class SMTPs * @param boolean $_part Variant * @return string Errors to */ - function getErrorsTo($_part = true ) + function getErrorsTo($_part = true) { $_retValue = ''; @@ -328,7 +328,7 @@ class SMTPs * @param boolean $_vDebug Value for debug * @return void */ - function setDebug($_vDebug = false ) + function setDebug($_vDebug = false) { $this->_debug = $_vDebug; } @@ -1659,7 +1659,7 @@ class SMTPs * @param integer $_value Message Priority * @return void */ - function setPriority( $_value = 3 ) + function setPriority($_value = 3) { if ( ( is_numeric($_value) ) && ( ( $_value >= 0 ) && ( $_value <= 5 ) ) ) @@ -1748,7 +1748,7 @@ class SMTPs * @param string $type Type of boundary * @return string $_smtpsBoundary MIME message Boundary */ - function _getBoundary($type='mixed') + function _getBoundary($type = 'mixed') { if ($type == 'mixed') return $this->_smtpsBoundary; else if ($type == 'related') return $this->_smtpsRelatedBoundary; @@ -1807,7 +1807,7 @@ class SMTPs * @param string $CRLF CRLF * @return boolean|null True or false */ - function socket_send_str( $_strSend, $_returnCode = null, $CRLF = "\r\n" ) + function socket_send_str($_strSend, $_returnCode = null, $CRLF = "\r\n") { // phpcs:enable if ($this->_debug) $this->log.=$_strSend; // @CHANGE LDR for log @@ -1828,7 +1828,7 @@ class SMTPs * @param string $_errMsg Error Message * @return void */ - function _setErr( $_errNum, $_errMsg ) + function _setErr($_errNum, $_errMsg) { $this->_smtpsErrors[] = array( 'num' => $_errNum, diff --git a/htdocs/core/class/stats.class.php b/htdocs/core/class/stats.class.php index 90986e7b6da..eab2ef70e8a 100644 --- a/htdocs/core/class/stats.class.php +++ b/htdocs/core/class/stats.class.php @@ -42,7 +42,7 @@ abstract class Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getNbByMonthWithPrevYear($endyear, $startyear, $cachedelay=0, $format=0) + function getNbByMonthWithPrevYear($endyear, $startyear, $cachedelay = 0, $format = 0) { global $conf,$user,$langs; @@ -136,7 +136,7 @@ abstract class Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getAmountByMonthWithPrevYear($endyear, $startyear, $cachedelay=0, $format=0) + function getAmountByMonthWithPrevYear($endyear, $startyear, $cachedelay = 0, $format = 0) { global $conf,$user,$langs; @@ -228,7 +228,7 @@ abstract class Stats * @param int $startyear End year * @return array Array of values */ - function getAverageByMonthWithPrevYear($endyear,$startyear) + function getAverageByMonthWithPrevYear($endyear, $startyear) { if ($startyear > $endyear) return -1; @@ -264,7 +264,7 @@ abstract class Stats * @param int $cachedelay Delay we accept for cache file (0=No read, no save of cache, -1=No read but save) * @return array Array of values */ - function getAllByProductEntry($year,$cachedelay=0) + function getAllByProductEntry($year, $cachedelay = 0) { global $conf,$user,$langs; @@ -413,7 +413,7 @@ abstract class Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of nb each month */ - function _getNbByMonth($year, $sql, $format=0) + function _getNbByMonth($year, $sql, $format = 0) { global $langs; @@ -470,7 +470,7 @@ abstract class Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array */ - function _getAmountByMonth($year, $sql, $format=0) + function _getAmountByMonth($year, $sql, $format = 0) { global $langs; @@ -524,7 +524,7 @@ abstract class Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array */ - function _getAverageByMonth($year, $sql, $format=0) + function _getAverageByMonth($year, $sql, $format = 0) { global $langs; @@ -577,7 +577,7 @@ abstract class Stats * @param int $limit Limit * @return array */ - function _getAllByProduct($sql, $limit=10) + function _getAllByProduct($sql, $limit = 10) { global $langs; diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php index a8d22b61257..d13ca7eb567 100644 --- a/htdocs/core/class/translate.class.php +++ b/htdocs/core/class/translate.class.php @@ -62,7 +62,7 @@ class Translate * @param string $srclang Language to use. If '' or 'auto', we use browser lang. * @return void */ - function setDefaultLang($srclang='en_US') + function setDefaultLang($srclang = 'en_US') { global $conf; @@ -132,7 +132,7 @@ class Translate * @param int $mode 0=Long language code, 1=Short language code (en, fr, es, ...) * @return string Language code used (en_US, en_AU, fr_FR, ...) */ - function getDefaultLang($mode=0) + function getDefaultLang($mode = 0) { if (empty($mode)) return $this->defaultlang; else return substr($this->defaultlang,0,2); @@ -173,7 +173,7 @@ class Translate * @return int <0 if KO, 0 if already loaded or loading not required, >0 if OK * @see loadLangs */ - function load($domain,$alt=0,$stopafterdirection=0,$forcelangdir='',$loadfromfileonly=0) + function load($domain, $alt = 0, $stopafterdirection = 0, $forcelangdir = '', $loadfromfileonly = 0) { global $conf,$db; @@ -594,7 +594,7 @@ class Translate * @param int $maxsize Max length of text * @return string Translated string (encoded into HTML entities and UTF8) */ - function trans($key, $param1='', $param2='', $param3='', $param4='', $maxsize=0) + function trans($key, $param1 = '', $param2 = '', $param3 = '', $param4 = '', $maxsize = 0) { global $conf; @@ -655,7 +655,7 @@ class Translate * @param string $param5 chaine de param5 * @return string Translated string (encoded into UTF8) */ - function transnoentities($key, $param1='', $param2='', $param3='', $param4='', $param5='') + function transnoentities($key, $param1 = '', $param2 = '', $param3 = '', $param4 = '', $param5 = '') { return $this->convToOutputCharset($this->transnoentitiesnoconv($key, $param1, $param2, $param3, $param4, $param5)); } @@ -676,7 +676,7 @@ class Translate * @param string $param5 chaine de param5 * @return string Translated string */ - function transnoentitiesnoconv($key, $param1='', $param2='', $param3='', $param4='', $param5='') + function transnoentitiesnoconv($key, $param1 = '', $param2 = '', $param3 = '', $param4 = '', $param5 = '') { global $conf; @@ -747,7 +747,7 @@ class Translate * @param string $pagecodefrom Page code of src string * @return string Converted string */ - function convToOutputCharset($str,$pagecodefrom='UTF-8') + function convToOutputCharset($str, $pagecodefrom = 'UTF-8') { if ($pagecodefrom == 'ISO-8859-1' && $this->charset_output == 'UTF-8') $str=utf8_encode($str); if ($pagecodefrom == 'UTF-8' && $this->charset_output == 'ISO-8859-1') $str=utf8_decode(str_replace('€',chr(128),$str)); @@ -764,7 +764,7 @@ class Translate * @param int $usecode 1=Show code instead of country name for language variant, 2=Show only code * @return array List of languages */ - function get_available_languages($langdir=DOL_DOCUMENT_ROOT,$maxlength=0,$usecode=0) + function get_available_languages($langdir = DOL_DOCUMENT_ROOT, $maxlength = 0, $usecode = 0) { // phpcs:enable global $conf; @@ -804,7 +804,7 @@ class Translate * @param integer $searchalt Search also alernate language file * @return boolean true if exists and readable */ - function file_exists($filename,$searchalt=0) + function file_exists($filename, $searchalt = 0) { // phpcs:enable // Test si fichier dans repertoire de la langue @@ -836,7 +836,7 @@ class Translate * 10 if setDefaultLang was en_US => ten * 123 if setDefaultLang was fr_FR => cent vingt trois */ - function getLabelFromNumber($number,$isamount=0) + function getLabelFromNumber($number, $isamount = 0) { global $conf; @@ -879,7 +879,7 @@ class Translate * @return string Label in UTF8 (but without entities) * @see dol_getIdFromCode */ - function getLabelFromKey($db,$key,$tablename,$fieldkey,$fieldlabel,$keyforselect='',$filteronentity=0) + function getLabelFromKey($db, $key, $tablename, $fieldkey, $fieldlabel, $keyforselect = '', $filteronentity = 0) { // If key empty if ($key == '') return ''; @@ -947,7 +947,7 @@ class Translate * @param integer $forceloadall 1=Force to load all currencies into cache. We know we need to use all of them. By default read and cache only required currency. * @return string Currency symbol encoded into UTF8 */ - function getCurrencySymbol($currency_code, $forceloadall=0) + function getCurrencySymbol($currency_code, $forceloadall = 0) { $currency_sign = ''; // By default return iso code diff --git a/htdocs/core/class/utils.class.php b/htdocs/core/class/utils.class.php index 9061539a804..b9720c400a6 100644 --- a/htdocs/core/class/utils.class.php +++ b/htdocs/core/class/utils.class.php @@ -53,7 +53,7 @@ class Utils * @param string $choice Choice of purge mode ('tempfiles', '' or 'tempfilesold' to purge temp older than 24h, 'allfiles', 'logfile') * @return int 0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK) */ - function purgeFiles($choice='tempfilesold') + function purgeFiles($choice = 'tempfilesold') { global $conf, $langs, $dolibarr_main_data_root; @@ -182,7 +182,7 @@ class Utils * @param int $execmethod 0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method * @return int 0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK) */ - function dumpDatabase($compression='none', $type='auto', $usedefault=1, $file='auto', $keeplastnfiles=0, $execmethod=0) + function dumpDatabase($compression = 'none', $type = 'auto', $usedefault = 1, $file = 'auto', $keeplastnfiles = 0, $execmethod = 0) { global $db, $conf, $langs, $dolibarr_main_data_root; global $dolibarr_main_db_name, $dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_port, $dolibarr_main_db_pass; @@ -501,7 +501,7 @@ class Utils * @param int $execmethod 0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method * @return array array('result'=>...,'output'=>...,'error'=>...). result = 0 means OK. */ - function executeCLI($command, $outputfile, $execmethod=0) + function executeCLI($command, $outputfile, $execmethod = 0) { global $conf, $langs; @@ -835,7 +835,7 @@ class Utils * @param string $tables Table name or '*' for all * @return int <0 if KO, >0 if OK */ - function backupTables($outputfile, $tables='*') + function backupTables($outputfile, $tables = '*') { global $db, $langs; global $errormsg; diff --git a/htdocs/core/class/vcard.class.php b/htdocs/core/class/vcard.class.php index 27144c9293a..9cb98f4838e 100644 --- a/htdocs/core/class/vcard.class.php +++ b/htdocs/core/class/vcard.class.php @@ -42,7 +42,7 @@ function encode($string) * @param int $line_max Max length of lines * @return string Encoded string */ -function dol_quoted_printable_encode($input, $line_max=76) +function dol_quoted_printable_encode($input, $line_max = 76) { $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); $lines = preg_split("/(\?:\r\n|\r|\n)/", $input); @@ -98,7 +98,7 @@ class vCard * @param string $type Type * @return void */ - function setPhoneNumber($number, $type="") + function setPhoneNumber($number, $type = "") { // type may be PREF | WORK | HOME | VOICE | FAX | MSG | CELL | PAGER | BBS | CAR | MODEM | ISDN | VIDEO or any senseful combination, e.g. "PREF;WORK;VOICE" $key = "TEL"; @@ -142,7 +142,7 @@ class vCard * @param string $suffix Suffix * @return void */ - function setName($family="", $first="", $additional="", $prefix="", $suffix="") + function setName($family = "", $first = "", $additional = "", $prefix = "", $suffix = "") { $this->properties["N;CHARSET=".$this->encoding] = encode($family).";".encode($first).";".encode($additional).";".encode($prefix).";".encode($suffix); $this->filename = "$first%20$family.vcf"; @@ -174,7 +174,7 @@ class vCard * @param string $type Type * @return void */ - function setAddress($postoffice="", $extended="", $street="", $city="", $region="", $zip="", $country="", $type="HOME;POSTAL") + function setAddress($postoffice = "", $extended = "", $street = "", $city = "", $region = "", $zip = "", $country = "", $type = "HOME;POSTAL") { // $type may be DOM | INTL | POSTAL | PARCEL | HOME | WORK or any combination of these: e.g. "WORK;PARCEL;POSTAL" $key = "ADR"; @@ -201,7 +201,7 @@ class vCard * @param string $type Type * @return void */ - function setLabel($postoffice="", $extended="", $street="", $city="", $region="", $zip="", $country="", $type="HOME;POSTAL") + function setLabel($postoffice = "", $extended = "", $street = "", $city = "", $region = "", $zip = "", $country = "", $type = "HOME;POSTAL") { $label = ""; if ($postoffice!="") $label.= "$postoffice\r\n"; @@ -222,7 +222,7 @@ class vCard * @param string $type Vcard type * @return void */ - function setEmail($address,$type="internet,pref") + function setEmail($address, $type = "internet,pref") { $this->properties["EMAIL;TYPE=".$type] = $address; } @@ -293,7 +293,7 @@ class vCard * @param string $type Type * @return void */ - function setURL($url, $type="") + function setURL($url, $type = "") { // $type may be WORK | HOME $key = "URL"; diff --git a/htdocs/core/datepicker.php b/htdocs/core/datepicker.php index 6d0cd48ccfe..b6df52d2ef9 100644 --- a/htdocs/core/datepicker.php +++ b/htdocs/core/datepicker.php @@ -141,7 +141,7 @@ function xyzToUnixTimestamp($mysqldate) * @param int $year Year * @return void */ -function displayBox($selectedDate,$month,$year) +function displayBox($selectedDate, $month, $year) { global $langs,$conf; diff --git a/htdocs/core/db/Database.interface.php b/htdocs/core/db/Database.interface.php index 54b950fdee7..e62692b233a 100644 --- a/htdocs/core/db/Database.interface.php +++ b/htdocs/core/db/Database.interface.php @@ -419,7 +419,7 @@ interface Database * @param bool $gm 1=Input informations are GMT values, otherwise local to server TZ * @return int|string Date TMS or '' */ - function jdate($string, $gm=false); + function jdate($string, $gm = false); /** * Encrypt sensitive data in database diff --git a/htdocs/core/db/DoliDB.class.php b/htdocs/core/db/DoliDB.class.php index ecc27bf88dc..da1c3cd74fb 100644 --- a/htdocs/core/db/DoliDB.class.php +++ b/htdocs/core/db/DoliDB.class.php @@ -75,7 +75,7 @@ abstract class DoliDB implements Database * @param string $resko resultat si test non egal * @return string SQL string */ - function ifsql($test,$resok,$resko) + function ifsql($test, $resok, $resko) { return 'IF('.$test.','.$resok.','.$resko.')'; } @@ -135,7 +135,7 @@ abstract class DoliDB implements Database * @param string $log Add more log to default log line * @return int 1 if validation is OK or transaction level no started, 0 if ERROR */ - function commit($log='') + function commit($log = '') { dol_syslog('',0,-1); if ($this->transaction_opened<=1) @@ -165,7 +165,7 @@ abstract class DoliDB implements Database * @param string $log Add more log to default log line * @return resource|int 1 si annulation ok ou transaction non ouverte, 0 en cas d'erreur */ - function rollback($log='') + function rollback($log = '') { dol_syslog('',0,-1); if ($this->transaction_opened<=1) @@ -189,7 +189,7 @@ abstract class DoliDB implements Database * @param int $offset Numero of line from where starting fetch * @return string String with SQL syntax to add a limit and offset */ - function plimit($limit=0,$offset=0) + function plimit($limit = 0, $offset = 0) { global $conf; if (empty($limit)) return ""; @@ -225,7 +225,7 @@ abstract class DoliDB implements Database * @param string $sortorder Sort order, separated by comma. Example: 'ASC,DESC'; * @return string String to provide syntax of a sort sql string */ - function order($sortfield=null,$sortorder=null) + function order($sortfield = null, $sortorder = null) { if (! empty($sortfield)) { @@ -278,7 +278,7 @@ abstract class DoliDB implements Database * @param bool $gm 1=Input informations are GMT values, otherwise local to server TZ * @return int|string Date TMS or '' */ - function jdate($string, $gm=false) + function jdate($string, $gm = false) { // TODO GMT must set param gm to true by default if ($string==0 || $string=="0000-00-00 00:00:00") return ''; diff --git a/htdocs/core/db/mssql.class.php b/htdocs/core/db/mssql.class.php index f9e982961c9..ff2b4d51de7 100644 --- a/htdocs/core/db/mssql.class.php +++ b/htdocs/core/db/mssql.class.php @@ -55,7 +55,7 @@ class DoliDBMssql extends DoliDB * @param string $name Nom de la database * @param int $port Port of database server */ - function __construct($type, $host, $user, $pass, $name='', $port=0) + function __construct($type, $host, $user, $pass, $name = '', $port = 0) { global $langs; @@ -134,7 +134,7 @@ class DoliDBMssql extends DoliDB * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) * @return string SQL request line converted */ - static function convertSQLFromMysql($line,$type='ddl') + static function convertSQLFromMysql($line, $type = 'ddl') { return $line; } @@ -163,7 +163,7 @@ class DoliDBMssql extends DoliDB * @return false|resource|true Database access handler * @see close */ - function connect($host, $login, $passwd, $name, $port=0) + function connect($host, $login, $passwd, $name, $port = 0) { dol_syslog(get_class($this)."::connect host=$host, port=$port, login=$login, passwd=--hidden--, name=$name"); $newhost=$host; @@ -263,7 +263,7 @@ class DoliDBMssql extends DoliDB * @param string $log Add more log to default log line * @return bool true if validation is OK or transaction level no started, false if ERROR */ - function commit($log='') + function commit($log = '') { $res=mssql_query('select @@TRANCOUNT'); $this->transaction_opened=mssql_result($res, 0, 0); @@ -296,7 +296,7 @@ class DoliDBMssql extends DoliDB * @param string $log Add more log to default log line * @return bool true si annulation ok ou transaction non ouverte, false en cas d'erreur */ - function rollback($log='') + function rollback($log = '') { $res=mssql_query('select @@TRANCOUNT'); $this->transaction_opened=mssql_result($res, 0, 0); @@ -324,7 +324,7 @@ class DoliDBMssql extends DoliDB * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) * @return false|resource|true Resultset of answer */ - function query($query,$usesavepoint=0,$type='auto') + function query($query, $usesavepoint = 0, $type = 'auto') { $query = trim($query); @@ -548,7 +548,7 @@ class DoliDBMssql extends DoliDB * @param resource $resultset Curseur de la requete voulue * @return bool */ - function free($resultset=null) + function free($resultset = null) { // Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion if (! is_resource($resultset)) { $resultset=$this->_results; } @@ -657,7 +657,7 @@ class DoliDBMssql extends DoliDB * @param string $fieldid Field name * @return int Id of row or -1 on error */ - function last_insert_id($tab,$fieldid='rowid') + function last_insert_id($tab, $fieldid = 'rowid') { // phpcs:enable $res = $this->query("SELECT @@IDENTITY as id"); @@ -679,7 +679,7 @@ class DoliDBMssql extends DoliDB * @param int $withQuotes Return string with quotes * @return string XXX(field) or XXX('value') or field or 'value' */ - function encrypt($fieldorvalue, $withQuotes=0) + function encrypt($fieldorvalue, $withQuotes = 0) { global $conf; @@ -744,7 +744,7 @@ class DoliDBMssql extends DoliDB * @param string $owner Username of database owner * @return false|resource|true resource defined if OK, false if KO */ - function DDLCreateDb($database,$charset='',$collation='',$owner='') + function DDLCreateDb($database, $charset = '', $collation = '', $owner = '') { // phpcs:enable /*if (empty($charset)) $charset=$this->forcecharset; @@ -778,7 +778,7 @@ class DoliDBMssql extends DoliDB * @param string $table Nmae of table filter ('xxx%') * @return array List of tables in an array */ - function DDLListTables($database,$table='') + function DDLListTables($database, $table = '') { // phpcs:enable $this->_results = mssql_list_tables($database, $this->db); @@ -817,7 +817,7 @@ class DoliDBMssql extends DoliDB * @param array $keys Tableau des champs cles noms => valeur * @return int <0 if KO, >=0 if OK */ - function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys=null,$fulltext_keys=null,$keys=null) + function DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys = null, $fulltext_keys = null, $keys = null) { // phpcs:enable // FIXME: $fulltext_keys parameter is unused @@ -911,7 +911,7 @@ class DoliDBMssql extends DoliDB * @param string $field Optionnel : Name of field if we want description of field * @return false|resource|true Resource */ - function DDLDescTable($table,$field="") + function DDLDescTable($table, $field = "") { // phpcs:enable $sql="DESC ".$table." ".$field; @@ -931,7 +931,7 @@ class DoliDBMssql extends DoliDB * @param string $field_position Optionnel ex.: "after champtruc" * @return int <0 if KO, >0 if OK */ - function DDLAddField($table,$field_name,$field_desc,$field_position="") + function DDLAddField($table, $field_name, $field_desc, $field_position = "") { // phpcs:enable // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra @@ -968,7 +968,7 @@ class DoliDBMssql extends DoliDB * @param string $field_desc Array with description of field format * @return int <0 if KO, >0 if OK */ - function DDLUpdateField($table,$field_name,$field_desc) + function DDLUpdateField($table, $field_name, $field_desc) { // phpcs:enable $sql = "ALTER TABLE ".$table; @@ -992,7 +992,7 @@ class DoliDBMssql extends DoliDB * @param string $field_name Name of field to drop * @return int <0 if KO, >0 if OK */ - function DDLDropField($table,$field_name) + function DDLDropField($table, $field_name) { // phpcs:enable $sql= "ALTER TABLE ".$table." DROP COLUMN `".$field_name."`"; @@ -1015,7 +1015,7 @@ class DoliDBMssql extends DoliDB * @param string $dolibarr_main_db_name Database name where user must be granted * @return int <0 if KO, >=0 if OK */ - function DDLCreateUser($dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name) + function DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name) { // phpcs:enable $sql = "CREATE LOGIN ".$this->EscapeFieldName($dolibarr_main_db_user)." WITH PASSWORD='$dolibarr_main_db_pass'"; @@ -1141,7 +1141,7 @@ class DoliDBMssql extends DoliDB * @param string $filter Filter list on a particular value * @return array Array of key-values (key=>value) */ - function getServerParametersValues($filter='') + function getServerParametersValues($filter = '') { // FIXME: Dummy method // TODO: Implement @@ -1157,7 +1157,7 @@ class DoliDBMssql extends DoliDB * @param string $filter Filter list on a particular value * @return array Array of key-values (key=>value) */ - function getServerStatusValues($filter='') + function getServerStatusValues($filter = '') { // FIXME: Dummy method // TODO: Implement @@ -1188,7 +1188,7 @@ class DoliDBMssql extends DoliDB * @param mixed $fields String for one field or array of string for multiple field * @return false|object */ - function GetFieldInformation($table,$fields) + function GetFieldInformation($table, $fields) { // phpcs:enable $sql="SELECT * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='".$this->escape($table)."' AND COLUMN_NAME"; diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index 185ebe1a56f..ad41e78620d 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -54,7 +54,7 @@ class DoliDBMysqli extends DoliDB * @param string $name Nom de la database * @param int $port Port of database server */ - function __construct($type, $host, $user, $pass, $name='', $port=0) + function __construct($type, $host, $user, $pass, $name = '', $port = 0) { global $conf,$langs; @@ -162,7 +162,7 @@ class DoliDBMysqli extends DoliDB * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) * @return string SQL request line converted */ - static function convertSQLFromMysql($line,$type='ddl') + static function convertSQLFromMysql($line, $type = 'ddl') { return $line; } @@ -250,7 +250,7 @@ class DoliDBMysqli extends DoliDB * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) * @return bool|mysqli_result Resultset of answer */ - function query($query,$usesavepoint=0,$type='auto') + function query($query, $usesavepoint = 0, $type = 'auto') { global $conf; @@ -382,7 +382,7 @@ class DoliDBMysqli extends DoliDB * @param mysqli_result $resultset Curseur de la requete voulue * @return void */ - function free($resultset=null) + function free($resultset = null) { // If resultset not provided, we take the last used by connexion if (! is_object($resultset)) { $resultset=$this->_results; } @@ -476,7 +476,7 @@ class DoliDBMysqli extends DoliDB * @param string $fieldid Field name * @return int|string Id of row */ - function last_insert_id($tab,$fieldid='rowid') + function last_insert_id($tab, $fieldid = 'rowid') { // phpcs:enable return $this->db->insert_id; @@ -491,7 +491,7 @@ class DoliDBMysqli extends DoliDB * @return string XXX(field) or XXX('value') or field or 'value' * */ - function encrypt($fieldorvalue, $withQuotes=0) + function encrypt($fieldorvalue, $withQuotes = 0) { global $conf; @@ -582,7 +582,7 @@ class DoliDBMysqli extends DoliDB * @param string $owner Username of database owner * @return bool|mysqli_result resource defined if OK, null if KO */ - function DDLCreateDb($database,$charset='',$collation='',$owner='') + function DDLCreateDb($database, $charset = '', $collation = '', $owner = '') { // phpcs:enable if (empty($charset)) $charset=$this->forcecharset; @@ -612,7 +612,7 @@ class DoliDBMysqli extends DoliDB * @param string $table Nmae of table filter ('xxx%') * @return array List of tables in an array */ - function DDLListTables($database, $table='') + function DDLListTables($database, $table = '') { // phpcs:enable $listtables=array(); @@ -671,7 +671,7 @@ class DoliDBMysqli extends DoliDB * @param array $keys Tableau des champs cles noms => valeur * @return int <0 if KO, >=0 if OK */ - function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys=null,$fulltext_keys=null,$keys=null) + function DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys = null, $fulltext_keys = null, $keys = null) { // phpcs:enable // FIXME: $fulltext_keys parameter is unused @@ -768,7 +768,7 @@ class DoliDBMysqli extends DoliDB * @param string $field Optionnel : Name of field if we want description of field * @return bool|mysqli_result Resultset x (x->Field, x->Type, ...) */ - function DDLDescTable($table,$field="") + function DDLDescTable($table, $field = "") { // phpcs:enable $sql="DESC ".$table." ".$field; @@ -788,7 +788,7 @@ class DoliDBMysqli extends DoliDB * @param string $field_position Optionnel ex.: "after champtruc" * @return int <0 if KO, >0 if OK */ - function DDLAddField($table,$field_name,$field_desc,$field_position="") + function DDLAddField($table, $field_name, $field_desc, $field_position = "") { // phpcs:enable // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra @@ -839,7 +839,7 @@ class DoliDBMysqli extends DoliDB * @param string $field_desc Array with description of field format * @return int <0 if KO, >0 if OK */ - function DDLUpdateField($table,$field_name,$field_desc) + function DDLUpdateField($table, $field_name, $field_desc) { // phpcs:enable $sql = "ALTER TABLE ".$table; @@ -885,7 +885,7 @@ class DoliDBMysqli extends DoliDB * @param string $field_name Name of field to drop * @return int <0 if KO, >0 if OK */ - function DDLDropField($table,$field_name) + function DDLDropField($table, $field_name) { // phpcs:enable $sql= "ALTER TABLE ".$table." DROP COLUMN `".$field_name."`"; @@ -908,7 +908,7 @@ class DoliDBMysqli extends DoliDB * @param string $dolibarr_main_db_name Database name where user must be granted * @return int <0 if KO, >=0 if OK */ - function DDLCreateUser($dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name) + function DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name) { // phpcs:enable $sql = "CREATE USER '".$this->escape($dolibarr_main_db_user)."'"; @@ -1082,7 +1082,7 @@ class DoliDBMysqli extends DoliDB * @param string $filter Filter list on a particular value * @return array Array of key-values (key=>value) */ - function getServerParametersValues($filter='') + function getServerParametersValues($filter = '') { $result=array(); @@ -1103,7 +1103,7 @@ class DoliDBMysqli extends DoliDB * @param string $filter Filter list on a particular value * @return array Array of key-values (key=>value) */ - function getServerStatusValues($filter='') + function getServerStatusValues($filter = '') { $result=array(); diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 85abdf2b004..b2c6f52d305 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -62,7 +62,7 @@ class DoliDBPgsql extends DoliDB * @param string $name Nom de la database * @param int $port Port of database server */ - function __construct($type, $host, $user, $pass, $name='', $port=0) + function __construct($type, $host, $user, $pass, $name = '', $port = 0) { global $conf,$langs; @@ -150,7 +150,7 @@ class DoliDBPgsql extends DoliDB * @param bool $unescapeslashquot Unescape slash quote with quote quote * @return string SQL request line converted */ - static function convertSQLFromMysql($line,$type='auto',$unescapeslashquot=false) + static function convertSQLFromMysql($line, $type = 'auto', $unescapeslashquot = false) { // Removed empty line if this is a comment line for SVN tagging if (preg_match('/^--\s\$Id/i',$line)) { @@ -389,7 +389,7 @@ class DoliDBPgsql extends DoliDB * @return false|resource Database access handler * @see close */ - function connect($host, $login, $passwd, $name, $port=0) + function connect($host, $login, $passwd, $name, $port = 0) { // use pg_pconnect() instead of pg_connect() if you want to use persistent connection costing 1ms, instead of 30ms for non persistent @@ -483,7 +483,7 @@ class DoliDBPgsql extends DoliDB * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) * @return false|resource Resultset of answer */ - function query($query,$usesavepoint=0,$type='auto') + function query($query, $usesavepoint = 0, $type = 'auto') { global $conf; @@ -631,7 +631,7 @@ class DoliDBPgsql extends DoliDB * @param resource $resultset Result set of request * @return void */ - function free($resultset=null) + function free($resultset = null) { // If resultset not provided, we take the last used by connexion if (! is_resource($resultset)) { $resultset=$this->_results; } @@ -647,7 +647,7 @@ class DoliDBPgsql extends DoliDB * @param int $offset Numero of line from where starting fetch * @return string String with SQL syntax to add a limit and offset */ - function plimit($limit=0,$offset=0) + function plimit($limit = 0, $offset = 0) { global $conf; if (empty($limit)) return ""; @@ -688,7 +688,7 @@ class DoliDBPgsql extends DoliDB * @param string $resko resultat si test non egal * @return string chaine formate SQL */ - function ifsql($test,$resok,$resko) + function ifsql($test, $resok, $resko) { return '(CASE WHEN '.$test.' THEN '.$resok.' ELSE '.$resko.' END)'; } @@ -777,7 +777,7 @@ class DoliDBPgsql extends DoliDB * @param string $fieldid Field name * @return string Id of row */ - function last_insert_id($tab,$fieldid='rowid') + function last_insert_id($tab, $fieldid = 'rowid') { // phpcs:enable //$result = pg_query($this->db,"SELECT MAX(".$fieldid.") FROM ".$tab); @@ -800,7 +800,7 @@ class DoliDBPgsql extends DoliDB * @param int $withQuotes Return string with quotes * @return string XXX(field) or XXX('value') or field or 'value' */ - function encrypt($fieldorvalue, $withQuotes=0) + function encrypt($fieldorvalue, $withQuotes = 0) { global $conf; @@ -862,7 +862,7 @@ class DoliDBPgsql extends DoliDB * @param string $owner Username of database owner * @return false|resource resource defined if OK, null if KO */ - function DDLCreateDb($database,$charset='',$collation='',$owner='') + function DDLCreateDb($database, $charset = '', $collation = '', $owner = '') { // phpcs:enable if (empty($charset)) $charset=$this->forcecharset; @@ -885,7 +885,7 @@ class DoliDBPgsql extends DoliDB * @param string $table Name of table filter ('xxx%') * @return array List of tables in an array */ - function DDLListTables($database, $table='') + function DDLListTables($database, $table = '') { // phpcs:enable $listtables=array(); @@ -958,7 +958,7 @@ class DoliDBPgsql extends DoliDB * @param array $keys Tableau des champs cles noms => valeur * @return int <0 if KO, >=0 if OK */ - function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys=null,$fulltext_keys=null,$keys=null) + function DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys = null, $fulltext_keys = null, $keys = null) { // phpcs:enable // FIXME: $fulltext_keys parameter is unused @@ -1054,7 +1054,7 @@ class DoliDBPgsql extends DoliDB * @param string $dolibarr_main_db_name Database name where user must be granted * @return int <0 if KO, >=0 if OK */ - function DDLCreateUser($dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name) + function DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name) { // phpcs:enable // Note: using ' on user does not works with pgsql @@ -1078,7 +1078,7 @@ class DoliDBPgsql extends DoliDB * @param string $field Optionnel : Name of field if we want description of field * @return false|resource Resultset x (x->attname) */ - function DDLDescTable($table,$field="") + function DDLDescTable($table, $field = "") { // phpcs:enable $sql ="SELECT attname FROM pg_attribute, pg_type WHERE typname = '".$table."' AND attrelid = typrelid"; @@ -1100,7 +1100,7 @@ class DoliDBPgsql extends DoliDB * @param string $field_position Optionnel ex.: "after champtruc" * @return int <0 if KO, >0 if OK */ - function DDLAddField($table,$field_name,$field_desc,$field_position="") + function DDLAddField($table, $field_name, $field_desc, $field_position = "") { // phpcs:enable // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra @@ -1140,7 +1140,7 @@ class DoliDBPgsql extends DoliDB * @param string $field_desc Array with description of field format * @return int <0 if KO, >0 if OK */ - function DDLUpdateField($table,$field_name,$field_desc) + function DDLUpdateField($table, $field_name, $field_desc) { // phpcs:enable $sql = "ALTER TABLE ".$table; @@ -1184,7 +1184,7 @@ class DoliDBPgsql extends DoliDB * @param string $field_name Name of field to drop * @return int <0 if KO, >0 if OK */ - function DDLDropField($table,$field_name) + function DDLDropField($table, $field_name) { // phpcs:enable $sql= "ALTER TABLE ".$table." DROP COLUMN ".$field_name; @@ -1343,7 +1343,7 @@ class DoliDBPgsql extends DoliDB * @param string $filter Filter list on a particular value * @return array Array of key-values (key=>value) */ - function getServerParametersValues($filter='') + function getServerParametersValues($filter = '') { $result=array(); @@ -1364,7 +1364,7 @@ class DoliDBPgsql extends DoliDB * @param string $filter Filter list on a particular value * @return array Array of key-values (key=>value) */ - function getServerStatusValues($filter='') + function getServerStatusValues($filter = '') { /* This is to return current running requests. $sql='SELECT datname,procpid,current_query FROM pg_stat_activity ORDER BY procpid'; diff --git a/htdocs/core/db/sqlite3.class.php b/htdocs/core/db/sqlite3.class.php index bbd5853f95f..439c62af122 100644 --- a/htdocs/core/db/sqlite3.class.php +++ b/htdocs/core/db/sqlite3.class.php @@ -57,7 +57,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $name Nom de la database * @param int $port Port of database server */ - function __construct($type, $host, $user, $pass, $name='', $port=0) + function __construct($type, $host, $user, $pass, $name = '', $port = 0) { global $conf; @@ -134,7 +134,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) * @return string SQL request line converted */ - static function convertSQLFromMysql($line,$type='ddl') + static function convertSQLFromMysql($line, $type = 'ddl') { // Removed empty line if this is a comment line for SVN tagging if (preg_match('/^--\s\$Id/i',$line)) { @@ -323,7 +323,7 @@ class DoliDBSqlite3 extends DoliDB * @return SQLite3 Database access handler * @see close */ - function connect($host, $login, $passwd, $name, $port=0) + function connect($host, $login, $passwd, $name, $port = 0) { global $main_data_dir; @@ -401,7 +401,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) * @return SQLite3Result Resultset of answer */ - function query($query,$usesavepoint=0,$type='auto') + function query($query, $usesavepoint = 0, $type = 'auto') { $ret=null; $query = trim($query); @@ -602,7 +602,7 @@ class DoliDBSqlite3 extends DoliDB * @param SQLite3Result $resultset Curseur de la requete voulue * @return void */ - function free($resultset=null) + function free($resultset = null) { // If resultset not provided, we take the last used by connexion if (! is_object($resultset)) { $resultset=$this->_results; } @@ -710,7 +710,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $fieldid Field name * @return int Id of row */ - function last_insert_id($tab,$fieldid='rowid') + function last_insert_id($tab, $fieldid = 'rowid') { // phpcs:enable return $this->db->lastInsertRowId(); @@ -724,7 +724,7 @@ class DoliDBSqlite3 extends DoliDB * @param int $withQuotes Return string with quotes * @return string XXX(field) or XXX('value') or field or 'value' */ - function encrypt($fieldorvalue, $withQuotes=0) + function encrypt($fieldorvalue, $withQuotes = 0) { global $conf; @@ -810,7 +810,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $owner Username of database owner * @return SQLite3Result resource defined if OK, null if KO */ - function DDLCreateDb($database,$charset='',$collation='',$owner='') + function DDLCreateDb($database, $charset = '', $collation = '', $owner = '') { // phpcs:enable if (empty($charset)) $charset=$this->forcecharset; @@ -840,7 +840,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $table Name of table filter ('xxx%') * @return array List of tables in an array */ - function DDLListTables($database, $table='') + function DDLListTables($database, $table = '') { // phpcs:enable $listtables=array(); @@ -900,7 +900,7 @@ class DoliDBSqlite3 extends DoliDB * @param array $keys Tableau des champs cles noms => valeur * @return int <0 if KO, >=0 if OK */ - function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys=null,$fulltext_keys=null,$keys=null) + function DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys = null, $fulltext_keys = null, $keys = null) { // phpcs:enable // FIXME: $fulltext_keys parameter is unused @@ -993,7 +993,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $field Optionnel : Name of field if we want description of field * @return SQLite3Result Resource */ - function DDLDescTable($table,$field="") + function DDLDescTable($table, $field = "") { // phpcs:enable $sql="DESC ".$table." ".$field; @@ -1013,7 +1013,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $field_position Optionnel ex.: "after champtruc" * @return int <0 if KO, >0 if OK */ - function DDLAddField($table,$field_name,$field_desc,$field_position="") + function DDLAddField($table, $field_name, $field_desc, $field_position = "") { // phpcs:enable // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra @@ -1057,7 +1057,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $field_desc Array with description of field format * @return int <0 if KO, >0 if OK */ - function DDLUpdateField($table,$field_name,$field_desc) + function DDLUpdateField($table, $field_name, $field_desc) { // phpcs:enable $sql = "ALTER TABLE ".$table; @@ -1080,7 +1080,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $field_name Name of field to drop * @return int <0 if KO, >0 if OK */ - function DDLDropField($table,$field_name) + function DDLDropField($table, $field_name) { // phpcs:enable $sql= "ALTER TABLE ".$table." DROP COLUMN `".$field_name."`"; @@ -1104,7 +1104,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $dolibarr_main_db_name Database name where user must be granted * @return int <0 if KO, >=0 if OK */ - function DDLCreateUser($dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name) + function DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name) { // phpcs:enable $sql = "INSERT INTO user "; @@ -1236,7 +1236,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $filter Filter list on a particular value * @return array Array of key-values (key=>value) */ - function getServerParametersValues($filter='') + function getServerParametersValues($filter = '') { $result=array(); static $pragmas; @@ -1285,7 +1285,7 @@ class DoliDBSqlite3 extends DoliDB * @param string $filter Filter list on a particular value * @return array Array of key-values (key=>value) */ - function getServerStatusValues($filter='') + function getServerStatusValues($filter = '') { $result=array(); /* diff --git a/htdocs/core/filemanagerdol/connectors/php/basexml.php b/htdocs/core/filemanagerdol/connectors/php/basexml.php index f1fe5365e7a..72722a1a948 100644 --- a/htdocs/core/filemanagerdol/connectors/php/basexml.php +++ b/htdocs/core/filemanagerdol/connectors/php/basexml.php @@ -55,7 +55,7 @@ function SetXmlHeaders() * @param string $currentFolder Current folder * @return void */ -function CreateXmlHeader( $command, $resourceType, $currentFolder ) +function CreateXmlHeader($command, $resourceType, $currentFolder) { SetXmlHeaders(); diff --git a/htdocs/core/filemanagerdol/connectors/php/commands.php b/htdocs/core/filemanagerdol/connectors/php/commands.php index 34e32fa5f99..58f7c20c109 100644 --- a/htdocs/core/filemanagerdol/connectors/php/commands.php +++ b/htdocs/core/filemanagerdol/connectors/php/commands.php @@ -67,7 +67,7 @@ function GetFolders($resourceType, $currentFolder) * @param string $currentFolder Current folder * @return void */ -function GetFoldersAndFiles( $resourceType, $currentFolder ) +function GetFoldersAndFiles($resourceType, $currentFolder) { // Map the virtual path to the local server path. $sServerDir = ServerMapFolder($resourceType, $currentFolder, 'GetFoldersAndFiles'); @@ -132,7 +132,7 @@ function GetFoldersAndFiles( $resourceType, $currentFolder ) * @param string $currentFolder Current folder * @return void */ -function CreateFolder( $resourceType, $currentFolder ) +function CreateFolder($resourceType, $currentFolder) { if (!isset($_GET)) { global $_GET; diff --git a/htdocs/core/filemanagerdol/connectors/php/io.php b/htdocs/core/filemanagerdol/connectors/php/io.php index 3ac325ed5d4..7d544ae9cce 100644 --- a/htdocs/core/filemanagerdol/connectors/php/io.php +++ b/htdocs/core/filemanagerdol/connectors/php/io.php @@ -29,7 +29,7 @@ * @param string $sFolder sFolder * @return string Combined path */ -function CombinePaths( $sBasePath, $sFolder ) +function CombinePaths($sBasePath, $sFolder) { return RemoveFromEnd($sBasePath, '/') . '/' . RemoveFromStart($sFolder, '/'); } @@ -238,7 +238,7 @@ function GetRootPath() // Emulate the asp Server.mapPath function. // given an url path return the physical directory that it corresponds to -function Server_MapPath( $path ) +function Server_MapPath($path) { // This function is available only for Apache if (function_exists('apache_lookup_uri')) { @@ -339,7 +339,7 @@ function GetCurrentFolder() } // Do a cleanup of the folder name to avoid possible problems -function SanitizeFolderName( $sNewFolderName ) +function SanitizeFolderName($sNewFolderName) { $sNewFolderName = stripslashes($sNewFolderName); @@ -350,7 +350,7 @@ function SanitizeFolderName( $sNewFolderName ) } // Do a cleanup of the file name to avoid possible problems -function SanitizeFileName( $sNewFileName ) +function SanitizeFileName($sNewFileName) { global $Config ; @@ -367,7 +367,7 @@ function SanitizeFileName( $sNewFileName ) } // This is the function that sends the results of the uploading process. -function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' ) +function SendUploadResults($errorNumber, $fileUrl = '', $fileName = '', $customMsg = '') { // Minified version of the document.domain automatic fix script (#1919). // The original script can be found at _dev/domain_fix_template.js diff --git a/htdocs/core/filemanagerdol/connectors/php/util.php b/htdocs/core/filemanagerdol/connectors/php/util.php index f23ba45550a..0b39003f494 100644 --- a/htdocs/core/filemanagerdol/connectors/php/util.php +++ b/htdocs/core/filemanagerdol/connectors/php/util.php @@ -82,7 +82,7 @@ function FindBadUtf8($string) * @param string $value Value * @return string */ -function ConvertToXmlAttribute( $value ) +function ConvertToXmlAttribute($value) { if ( defined('PHP_OS') ) { @@ -110,7 +110,7 @@ function ConvertToXmlAttribute( $value ) * @param array $formExtensions Array of extensions * @return boolean */ -function IsHtmlExtension( $ext, $formExtensions ) +function IsHtmlExtension($ext, $formExtensions) { if (!$formExtensions || !is_array($formExtensions) ) { @@ -132,7 +132,7 @@ function IsHtmlExtension( $ext, $formExtensions ) * @param string $filePath absolute path to file * @return boolean */ -function DetectHtml( $filePath ) +function DetectHtml($filePath) { $fp = @fopen($filePath, 'rb'); @@ -202,7 +202,7 @@ function DetectHtml( $filePath ) * @param string $extension File extension * @return boolean True or false */ -function IsImageValid( $filePath, $extension ) +function IsImageValid($filePath, $extension) { if (!@is_readable($filePath)) { return -1; diff --git a/htdocs/core/lib/accounting.lib.php b/htdocs/core/lib/accounting.lib.php index b0b6dc6855c..30ace607536 100644 --- a/htdocs/core/lib/accounting.lib.php +++ b/htdocs/core/lib/accounting.lib.php @@ -152,7 +152,7 @@ function length_accounta($accounta) * @param string $varlink Add a variable into the address of the page * @return void */ -function journalHead($nom,$variante,$period,$periodlink,$description,$builddate,$exportlink='',$moreparam=array(),$calcmode='', $varlink='') +function journalHead($nom, $variante, $period, $periodlink, $description, $builddate, $exportlink = '', $moreparam = array(), $calcmode = '', $varlink = '') { global $langs; diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index aae550d65f8..77a21100f48 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -55,7 +55,7 @@ function versiontostring($versionarray) * 0 if same * 1,2,3,4 if versionarray1>versionarray2 (value depends on level of difference) */ -function versioncompare($versionarray1,$versionarray2) +function versioncompare($versionarray1, $versionarray2) { $ret=0; $level=0; @@ -127,7 +127,7 @@ function versiondolibarrarray() * @param int $offsetforchartofaccount Offset to use to load chart of account table to update sql on the fly to add offset to rowid and account_parent value * @return int <=0 if KO, >0 if OK */ -function run_sql($sqlfile, $silent=1, $entity='', $usesavepoint=1, $handler='', $okerror='default', $linelengthlimit=32768, $nocommentremoval=0, $offsetforchartofaccount=0) +function run_sql($sqlfile, $silent = 1, $entity = '', $usesavepoint = 1, $handler = '', $okerror = 'default', $linelengthlimit = 32768, $nocommentremoval = 0, $offsetforchartofaccount = 0) { global $db, $conf, $langs, $user; @@ -432,7 +432,7 @@ function run_sql($sqlfile, $silent=1, $entity='', $usesavepoint=1, $handler='', * * @see dolibarr_get_const, dolibarr_set_const, dol_set_user_param */ -function dolibarr_del_const($db, $name, $entity=1) +function dolibarr_del_const($db, $name, $entity = 1) { global $conf; @@ -472,7 +472,7 @@ function dolibarr_del_const($db, $name, $entity=1) * * @see dolibarr_del_const, dolibarr_set_const, dol_set_user_param */ -function dolibarr_get_const($db, $name, $entity=1) +function dolibarr_get_const($db, $name, $entity = 1) { global $conf; $value=''; @@ -507,7 +507,7 @@ function dolibarr_get_const($db, $name, $entity=1) * * @see dolibarr_del_const, dolibarr_get_const, dol_set_user_param */ -function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='', $entity=1) +function dolibarr_set_const($db, $name, $value, $type = 'chaine', $visible = 0, $note = '', $entity = 1) { global $conf; @@ -864,7 +864,7 @@ function purgeSessions($mysessionid) * @param int $withdeps Activate/Disable also all dependencies * @return array array('nbmodules'=>nb modules activated with success, 'errors=>array of error messages, 'nbperms'=>Nb permission added); */ -function activateModule($value,$withdeps=1) +function activateModule($value, $withdeps = 1) { global $db, $modules, $langs, $conf, $mysoc; @@ -1008,7 +1008,7 @@ function activateModule($value,$withdeps=1) * @param int $requiredby 1=Desactive aussi modules dependants * @return string Error message or ''; */ -function unActivateModule($value, $requiredby=1) +function unActivateModule($value, $requiredby = 1) { global $db, $modules, $conf; @@ -1085,7 +1085,7 @@ function unActivateModule($value, $requiredby=1) * @param array $tabfieldcheck Tabfieldcheck * @return int 1 */ -function complete_dictionary_with_modules(&$taborder,&$tabname,&$tablib,&$tabsql,&$tabsqlsort,&$tabfield,&$tabfieldvalue,&$tabfieldinsert,&$tabrowid,&$tabcond,&$tabhelp,&$tabfieldcheck) +function complete_dictionary_with_modules(&$taborder, &$tabname, &$tablib, &$tabsql, &$tabsqlsort, &$tabfield, &$tabfieldvalue, &$tabfieldinsert, &$tabrowid, &$tabcond, &$tabhelp, &$tabfieldcheck) { global $db, $modules, $conf, $langs; @@ -1362,7 +1362,7 @@ function complete_elementList_with_modules(&$elementList) * @param string $helptext Help * @return void */ -function form_constantes($tableau, $strictw3c=0, $helptext='') +function form_constantes($tableau, $strictw3c = 0, $helptext = '') { global $db,$bc,$langs,$conf,$user; global $_Avery_Labels; @@ -1606,7 +1606,7 @@ function showModulesExludedForExternal($modules) * @param string $description Model description * @return int <0 if KO, >0 if OK */ -function addDocumentModel($name, $type, $label='', $description='') +function addDocumentModel($name, $type, $label = '', $description = '') { global $db, $conf; diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php index 6dab036193d..9b7481af7af 100644 --- a/htdocs/core/lib/agenda.lib.php +++ b/htdocs/core/lib/agenda.lib.php @@ -47,7 +47,7 @@ * @param int $resourceid Preselected value of resource for filter on resource * @return void */ -function print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $action, $showextcals=array(), $actioncode='', $usergroupid='', $excludetype='', $resourceid=0) +function print_actions_filter($form, $canedit, $status, $year, $month, $day, $showbirthday, $filtera, $filtert, $filterd, $pid, $socid, $action, $showextcals = array(), $actioncode = '', $usergroupid = '', $excludetype = '', $resourceid = 0) { global $conf, $user, $langs, $db, $hookmanager; global $begin_h, $end_h, $begin_d, $end_d; @@ -209,7 +209,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh * @param int $max Max nb of records * @return void */ -function show_array_actions_to_do($max=5) +function show_array_actions_to_do($max = 5) { global $langs, $conf, $user, $db, $bc, $socid; @@ -309,7 +309,7 @@ function show_array_actions_to_do($max=5) * @param int $max Max nb of records * @return void */ -function show_array_last_actions_done($max=5) +function show_array_last_actions_done($max = 5) { global $langs, $conf, $user, $db, $bc, $socid; diff --git a/htdocs/core/lib/ajax.lib.php b/htdocs/core/lib/ajax.lib.php index 4b4d36aa20b..8a2aa8f91a9 100644 --- a/htdocs/core/lib/ajax.lib.php +++ b/htdocs/core/lib/ajax.lib.php @@ -43,7 +43,7 @@ * - Ex: array('option_disabled'=> id to disable and warning to show if we select a disabled value (this is possible when using autocomplete ajax) * @return string Script */ -function ajax_autocompleter($selected, $htmlname, $url, $urloption='', $minLength=2, $autoselect=0, $ajaxoptions=array()) +function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLength = 2, $autoselect = 0, $ajaxoptions = array()) { if (empty($minLength)) $minLength=1; @@ -221,7 +221,7 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption='', $minLengt * @param int $autoselect Automatic selection if just one value * @return string Script */ -function ajax_multiautocompleter($htmlname, $fields, $url, $option='', $minLength=2, $autoselect=0) +function ajax_multiautocompleter($htmlname, $fields, $url, $option = '', $minLength = 2, $autoselect = 0) { $script = '<!-- Autocomplete -->'."\n"; $script.= '<script>'; @@ -328,7 +328,7 @@ function ajax_multiautocompleter($htmlname, $fields, $url, $option='', $minLengt * @param int $h height of dialog box * @return void */ -function ajax_dialog($title,$message,$w=350,$h=150) +function ajax_dialog($title, $message, $w = 350, $h = 150) { global $langs; @@ -371,7 +371,7 @@ function ajax_dialog($title,$message,$w=350,$h=150) * @return string Return html string to convert a select field into a combo, or '' if feature has been disabled for some reason. * @see selectArrayAjax of html.form.class */ -function ajax_combobox($htmlname, $events=array(), $minLengthToAutocomplete=0, $forcefocus=0, $widthTypeOfAutocomplete='resolve') +function ajax_combobox($htmlname, $events = array(), $minLengthToAutocomplete = 0, $forcefocus = 0, $widthTypeOfAutocomplete = 'resolve') { global $conf; @@ -481,7 +481,7 @@ function ajax_combobox($htmlname, $events=array(), $minLengthToAutocomplete=0, $ * @param bool $strict Use only "disabled" with delConstant and "enabled" with setConstant * @return string */ -function ajax_constantonoff($code, $input=array(), $entity=null, $revertonoff=0, $strict=0) +function ajax_constantonoff($code, $input = array(), $entity = null, $revertonoff = 0, $strict = 0) { global $conf, $langs; @@ -549,7 +549,7 @@ function ajax_constantonoff($code, $input=array(), $entity=null, $revertonoff=0, * @param array $input Array of type->list of CSS element to switch. Example: array('disabled'=>array(0=>'cssid')) * @return string html for button on/off */ -function ajax_object_onoff($object, $code, $field, $text_on, $text_off, $input=array()) +function ajax_object_onoff($object, $code, $field, $text_on, $text_off, $input = array()) { global $langs; diff --git a/htdocs/core/lib/barcode.lib.php b/htdocs/core/lib/barcode.lib.php index efd245209d2..49acbf31517 100644 --- a/htdocs/core/lib/barcode.lib.php +++ b/htdocs/core/lib/barcode.lib.php @@ -65,7 +65,7 @@ else $genbarcode_loc = $conf->global->GENBARCODE_LOCATION; * @param string $mode 'png' or 'jpg' ... * @return array|string $bars array('encoding': the encoding which has been used, 'bars': the bars, 'text': text-positioning info) or string with error message */ -function barcode_print($code, $encoding="ANY", $scale = 2 ,$mode = "png") +function barcode_print($code, $encoding = "ANY", $scale = 2, $mode = "png") { dol_syslog("barcode.lib.php::barcode_print $code $encoding $scale $mode"); @@ -108,7 +108,7 @@ function barcode_print($code, $encoding="ANY", $scale = 2 ,$mode = "png") * @param string $encoding Encoding * @return array array('encoding': the encoding which has been used, 'bars': the bars, 'text': text-positioning info) */ -function barcode_encode($code,$encoding) +function barcode_encode($code, $encoding) { global $genbarcode_loc; @@ -238,7 +238,7 @@ function barcode_encode_ean($ean, $encoding = "EAN-13") * @param string $encoding Encoding * @return array array('encoding': the encoding which has been used, 'bars': the bars, 'text': text-positioning info) */ -function barcode_encode_genbarcode($code,$encoding) +function barcode_encode_genbarcode($code, $encoding) { global $genbarcode_loc; diff --git a/htdocs/core/lib/categories.lib.php b/htdocs/core/lib/categories.lib.php index 4d85c412bab..769613f6b6c 100644 --- a/htdocs/core/lib/categories.lib.php +++ b/htdocs/core/lib/categories.lib.php @@ -29,7 +29,7 @@ * @param string $type Type of category * @return array Array of tabs to show */ -function categories_prepare_head($object,$type) +function categories_prepare_head($object, $type) { global $langs, $conf, $user; diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 41b0f1af3ef..ebcca729d55 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -425,7 +425,7 @@ function societe_admin_prepare_head() * @param int $searchlabel Label of country to search (warning: searching on label is not reliable) * @return mixed Integer with country id or String with country code or translated country name or Array('id','code','label') or 'NotDefined' */ -function getCountry($searchkey, $withcode='', $dbtouse=0, $outputlangs='', $entconv=1, $searchlabel='') +function getCountry($searchkey, $withcode = '', $dbtouse = 0, $outputlangs = '', $entconv = 1, $searchlabel = '') { global $db,$langs; @@ -490,7 +490,7 @@ function getCountry($searchkey, $withcode='', $dbtouse=0, $outputlangs='', $entc * @param int $entconv 0=Return value without entities and not converted to output charset, 1=Ready for html output * @return mixed String with state code or state name or Array('id','code','label')/Array('id','code','label','region_code','region') */ -function getState($id,$withcode='',$dbtouse=0,$withregion=0,$outputlangs='',$entconv=1) +function getState($id, $withcode = '', $dbtouse = 0, $withregion = 0, $outputlangs = '', $entconv = 1) { global $db,$langs; @@ -566,7 +566,7 @@ function getState($id,$withcode='',$dbtouse=0,$withregion=0,$outputlangs='',$ent * @param Translate $outputlangs Output language * @return string Label translated of currency */ -function currency_name($code_iso, $withcode='', $outputlangs=null) +function currency_name($code_iso, $withcode = '', $outputlangs = null) { global $langs,$db; @@ -717,7 +717,7 @@ function isInEEC($object) * @param string $morehtmlright More html on right of title * @return void */ -function show_projects($conf, $langs, $db, $object, $backtopage='', $nocreatelink=0, $morehtmlright='') +function show_projects($conf, $langs, $db, $object, $backtopage = '', $nocreatelink = 0, $morehtmlright = '') { global $user; @@ -845,7 +845,7 @@ function show_projects($conf, $langs, $db, $object, $backtopage='', $nocreatelin * @param string $backtopage Url to go once contact is created * @return void */ -function show_contacts($conf,$langs,$db,$object,$backtopage='') +function show_contacts($conf, $langs, $db, $object, $backtopage = '') { global $user,$conf,$extrafields,$hookmanager; global $contextpage; @@ -1176,7 +1176,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') * @param string $backtopage Url to go once address is created * @return void */ -function show_addresses($conf,$langs,$db,$object,$backtopage='') +function show_addresses($conf, $langs, $db, $object, $backtopage = '') { global $user; @@ -1270,7 +1270,7 @@ function show_addresses($conf,$langs,$db,$object,$backtopage='') * @param int $actioncode Filter on actioncode * @return mixed Return html part or void if noprint is 1 */ -function show_actions_todo($conf,$langs,$db,$filterobj,$objcon='',$noprint=0,$actioncode='') +function show_actions_todo($conf, $langs, $db, $filterobj, $objcon = '', $noprint = 0, $actioncode = '') { global $user,$conf; @@ -1296,7 +1296,7 @@ function show_actions_todo($conf,$langs,$db,$filterobj,$objcon='',$noprint=0,$ac * @param string $sortorder Sort order * @return mixed Return html part or void if noprint is 1 */ -function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=0, $actioncode='', $donetodo='done', $filters=array(), $sortfield='a.datep,a.id', $sortorder='DESC') +function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprint = 0, $actioncode = '', $donetodo = 'done', $filters = array(), $sortfield = 'a.datep,a.id', $sortorder = 'DESC') { global $user, $conf; global $form; @@ -1763,7 +1763,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint= * @param Societe $object Third party object * @return void */ -function show_subsidiaries($conf,$langs,$db,$object) +function show_subsidiaries($conf, $langs, $db, $object) { global $user; diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index 0f84f46497e..b9a4dcbe710 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -80,7 +80,7 @@ function getServerTimeZoneString() * @param string $refgmtdate Reference period for timezone (timezone differs on winter and summer. May be 'now', 'winter' or 'summer') * @return int An offset in hour (+1 for Europe/Paris on winter and +2 for Europe/Paris on summer) */ -function getServerTimeZoneInt($refgmtdate='now') +function getServerTimeZoneInt($refgmtdate = 'now') { global $conf; if (method_exists('DateTimeZone','getOffset')) @@ -151,7 +151,7 @@ function dol_time_plus_duree($time, $duration_value, $duration_unit) * @return int Time into seconds * @see convertSecondToTime */ -function convertTime2Seconds($iHours=0, $iMinutes=0, $iSeconds=0) +function convertTime2Seconds($iHours = 0, $iMinutes = 0, $iSeconds = 0) { $iResult=($iHours*3600)+($iMinutes*60)+$iSeconds; return $iResult; @@ -179,7 +179,7 @@ function convertTime2Seconds($iHours=0, $iMinutes=0, $iSeconds=0) * Example: 0 return 00:00, 3600 return 1:00, 86400 return 1d, 90000 return 1 Day 01:00 * @see convertTime2Seconds */ -function convertSecondToTime($iSecond, $format='all', $lengthOfDay=86400, $lengthOfWeek=7) +function convertSecondToTime($iSecond, $format = 'all', $lengthOfDay = 86400, $lengthOfWeek = 7) { global $langs; @@ -327,7 +327,7 @@ function dolSqlDateFilter($datefield, $day_date, $month_date, $year_date) * * @see dol_print_date, dol_mktime, dol_getdate */ -function dol_stringtotime($string, $gm=1) +function dol_stringtotime($string, $gm = 1) { // Convert date with format DD/MM/YYY HH:MM:SS. This part of code should not be used. if (preg_match('/^([0-9]+)\/([0-9]+)\/([0-9]+)\s?([0-9]+)?:?([0-9]+)?:?([0-9]+)?/i',$string,$reg)) @@ -485,7 +485,7 @@ function dol_get_next_week($day, $week, $month, $year) * Exemple: dol_get_first_day(1970,1,true) will return 0 whatever is TZ, after a dol_print_date will return 1970-01-01 00:00:00 * @return int Date for first day, '' if error */ -function dol_get_first_day($year,$month=1,$gm=false) +function dol_get_first_day($year, $month = 1, $gm = false) { if ($year > 9999) return ''; return dol_mktime(0,0,0,$month,1,$year,$gm); @@ -499,7 +499,7 @@ function dol_get_first_day($year,$month=1,$gm=false) * @param boolean $gm False or 0 or 'server' = Return date to compare with server TZ, True or 1 to compare with GM date. * @return int Date for first day, '' if error */ -function dol_get_last_day($year,$month=12,$gm=false) +function dol_get_last_day($year, $month = 12, $gm = false) { if ($year > 9999) return ''; if ($month == 12) @@ -527,7 +527,7 @@ function dol_get_last_day($year,$month=12,$gm=false) * @param int $gm False or 0 or 'server' = Return date to compare with server TZ, True or 1 to compare with GM date. * @return array year,month,week,first_day,first_month,first_year,prev_day,prev_month,prev_year */ -function dol_get_first_day_week($day,$month,$year,$gm=false) +function dol_get_first_day_week($day, $month, $year, $gm = false) { global $conf; @@ -605,7 +605,7 @@ function dol_get_first_day_week($day,$month,$year,$gm=false) * @return int Nombre de jours feries * @see num_between_day, num_open_day */ -function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR', $lastday=0) +function num_public_holiday($timestampStart, $timestampEnd, $countrycode = 'FR', $lastday = 0) { global $conf; @@ -897,7 +897,7 @@ function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR', $ * @return int Number of days * @see also num_public_holiday, num_open_day */ -function num_between_day($timestampStart, $timestampEnd, $lastday=0) +function num_between_day($timestampStart, $timestampEnd, $lastday = 0) { if ($timestampStart < $timestampEnd) { @@ -927,7 +927,7 @@ function num_between_day($timestampStart, $timestampEnd, $lastday=0) * @return int Number of days or hours * @see also num_between_day, num_public_holiday */ -function num_open_day($timestampStart, $timestampEnd, $inhour=0, $lastday=0, $halfday=0, $country_code='') +function num_open_day($timestampStart, $timestampEnd, $inhour = 0, $lastday = 0, $halfday = 0, $country_code = '') { global $langs,$mysoc; @@ -971,7 +971,7 @@ function num_open_day($timestampStart, $timestampEnd, $inhour=0, $lastday=0, $ha * @param int $short 0=Return long label, 1=Return short label * @return array Month string or array if selected < 0 */ -function monthArray($outputlangs,$short=0) +function monthArray($outputlangs, $short = 0) { $montharray = array ( 1 => $outputlangs->trans("Month01"), diff --git a/htdocs/core/lib/doc.lib.php b/htdocs/core/lib/doc.lib.php index b5e607fbbc5..57cadc28e72 100644 --- a/htdocs/core/lib/doc.lib.php +++ b/htdocs/core/lib/doc.lib.php @@ -38,7 +38,7 @@ * @param int $issupplierline Is it a line for a supplier object ? * @return string String with line */ -function doc_getlinedesc($line,$outputlangs,$hideref=0,$hidedesc=0,$issupplierline=0) +function doc_getlinedesc($line, $outputlangs, $hideref = 0, $hidedesc = 0, $issupplierline = 0) { global $db, $conf, $langs; diff --git a/htdocs/core/lib/doleditor.lib.php b/htdocs/core/lib/doleditor.lib.php index 459bb3e3f2b..5ed80465428 100644 --- a/htdocs/core/lib/doleditor.lib.php +++ b/htdocs/core/lib/doleditor.lib.php @@ -31,7 +31,7 @@ * @param int $edit 1 to add edit form * @return void */ -function show_skin($fuser,$edit=0) +function show_skin($fuser, $edit = 0) { global $conf,$langs,$db; global $bc; diff --git a/htdocs/core/lib/ecm.lib.php b/htdocs/core/lib/ecm.lib.php index 05f16e767ba..a1ec2bc4eba 100644 --- a/htdocs/core/lib/ecm.lib.php +++ b/htdocs/core/lib/ecm.lib.php @@ -72,7 +72,7 @@ function ecm_prepare_dasboard_head($object) * @param string $section Section * @return array Array of tabs to show */ -function ecm_prepare_head($object, $module='ecm', $section='') +function ecm_prepare_head($object, $module = 'ecm', $section = '') { global $langs, $conf, $user; $h = 0; diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index ae80d371e33..28095a97ac9 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -56,7 +56,7 @@ function dol_basename($pathfile) * @return array Array of array('name'=>'xxx','fullname'=>'/abc/xxx','date'=>'yyy','size'=>99,'type'=>'dir|file',...) * @see dol_dir_list_indatabase */ -function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefilter=null, $sortcriteria="name", $sortorder=SORT_ASC, $mode=0, $nohook=0, $relativename="", $donotfollowsymlinks=0) +function dol_dir_list($path, $types = "all", $recursive = 0, $filter = "", $excludefilter = null, $sortcriteria = "name", $sortorder = SORT_ASC, $mode = 0, $nohook = 0, $relativename = "", $donotfollowsymlinks = 0) { global $db, $hookmanager; global $object; @@ -226,7 +226,7 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil * @return array Array of array('name'=>'xxx','fullname'=>'/abc/xxx','type'=>'dir|file',...) * @see dol_dir_list */ -function dol_dir_list_in_database($path, $filter="", $excludefilter=null, $sortcriteria="name", $sortorder=SORT_ASC, $mode=0) +function dol_dir_list_in_database($path, $filter = "", $excludefilter = null, $sortcriteria = "name", $sortorder = SORT_ASC, $mode = 0) { global $conf, $db; @@ -578,7 +578,7 @@ function dol_filemtime($pathoffile) * @return int <0 if error, 0 if nothing done (dest file already exists), >0 if OK * @see dol_copy dolReplaceRegExInFile */ -function dolReplaceInFile($srcfile, $arrayreplacement, $destfile='', $newmask=0, $indexdatabase=0) +function dolReplaceInFile($srcfile, $arrayreplacement, $destfile = '', $newmask = 0, $indexdatabase = 0) { global $conf; @@ -648,7 +648,7 @@ function dolReplaceInFile($srcfile, $arrayreplacement, $destfile='', $newmask=0, * @return int <0 if error, 0 if nothing done (dest file already exists), >0 if OK * @see dol_copy dolReplaceInFile */ -function dolReplaceRegExInFile($srcfile, $arrayreplacement, $destfile='', $newmask=0, $indexdatabase=0) +function dolReplaceRegExInFile($srcfile, $arrayreplacement, $destfile = '', $newmask = 0, $indexdatabase = 0) { // TODO } @@ -663,7 +663,7 @@ function dolReplaceRegExInFile($srcfile, $arrayreplacement, $destfile='', $newma * @return int <0 if error, 0 if nothing done (dest file already exists and overwriteifexists=0), >0 if OK * @see dol_delete_file */ -function dol_copy($srcfile, $destfile, $newmask=0, $overwriteifexists=1) +function dol_copy($srcfile, $destfile, $newmask = 0, $overwriteifexists = 1) { global $conf; @@ -719,7 +719,7 @@ function dol_copy($srcfile, $destfile, $newmask=0, $overwriteifexists=1) * @return int <0 if error, 0 if nothing done (all files already exists and overwriteifexists=0), >0 if OK * @see dol_copy */ -function dolCopyDir($srcfile, $destfile, $newmask, $overwriteifexists, $arrayreplacement=null) +function dolCopyDir($srcfile, $destfile, $newmask, $overwriteifexists, $arrayreplacement = null) { global $conf; @@ -811,7 +811,7 @@ function dolCopyDir($srcfile, $destfile, $newmask, $overwriteifexists, $arrayrep * @return boolean True if OK, false if KO * @see dol_move_uploaded_file */ -function dol_move($srcfile, $destfile, $newmask=0, $overwriteifexists=1, $testvirus=0, $indexdatabase=1) +function dol_move($srcfile, $destfile, $newmask = 0, $overwriteifexists = 1, $testvirus = 0, $indexdatabase = 1) { global $user, $db, $conf; $result=false; @@ -993,7 +993,7 @@ function dolCheckVirus($src_file) * @return int >0 if OK, <0 or string if KO * @see dol_move */ -function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disablevirusscan=0, $uploaderrorcode=0, $nohook=0, $varfiles='addedfile') +function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disablevirusscan = 0, $uploaderrorcode = 0, $nohook = 0, $varfiles = 'addedfile') { global $conf, $db, $user, $langs; global $object, $hookmanager; @@ -1136,7 +1136,7 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disable * @return boolean True if no error (file is deleted or if glob is used and there's nothing to delete), False if error * @see dol_delete_dir */ -function dol_delete_file($file, $disableglob=0, $nophperrors=0, $nohook=0, $object=null, $allowdotdot=false, $indexdatabase=1) +function dol_delete_file($file, $disableglob = 0, $nophperrors = 0, $nohook = 0, $object = null, $allowdotdot = false, $indexdatabase = 1) { global $db, $conf, $user, $langs; global $hookmanager; @@ -1246,7 +1246,7 @@ function dol_delete_file($file, $disableglob=0, $nophperrors=0, $nohook=0, $obje * @return boolean True if success, false if error * @see dol_delete_file dol_copy */ -function dol_delete_dir($dir,$nophperrors=0) +function dol_delete_dir($dir, $nophperrors = 0) { // Security: // We refuse transversal using .. and pipes into filenames. @@ -1270,7 +1270,7 @@ function dol_delete_dir($dir,$nophperrors=0) * @param int $countdeleted Counter to count nb of elements found really deleted * @return int Number of files and directory we try to remove. NB really removed is returned into var by reference $countdeleted. */ -function dol_delete_dir_recursive($dir, $count=0, $nophperrors=0, $onlysub=0, &$countdeleted=0) +function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = 0, &$countdeleted = 0) { dol_syslog("functions.lib:dol_delete_dir_recursive ".$dir,LOG_DEBUG); if (dol_is_dir($dir)) @@ -1478,7 +1478,7 @@ function dol_meta_create($object) * @param string $trackid Track id (used to prefix name of session vars to avoid conflict) * @return void */ -function dol_init_file_process($pathtoscan='', $trackid='') +function dol_init_file_process($pathtoscan = '', $trackid = '') { $listofpaths=array(); $listofnames=array(); @@ -1516,7 +1516,7 @@ function dol_init_file_process($pathtoscan='', $trackid='') * @param int $generatethumbs 1=Generate also thumbs for uploaded image files * @return int <=0 if KO, >0 if OK */ -function dol_add_file_process($upload_dir, $allowoverwrite=0, $donotupdatesession=0, $varfiles='addedfile', $savingdocmask='', $link=null, $trackid='', $generatethumbs=1) +function dol_add_file_process($upload_dir, $allowoverwrite = 0, $donotupdatesession = 0, $varfiles = 'addedfile', $savingdocmask = '', $link = null, $trackid = '', $generatethumbs = 1) { global $db,$user,$conf,$langs; @@ -1660,7 +1660,7 @@ function dol_add_file_process($upload_dir, $allowoverwrite=0, $donotupdatesessio * @param string $trackid Track id (used to prefix name of session vars to avoid conflict) * @return void */ -function dol_remove_file_process($filenb,$donotupdatesession=0,$donotdeletefile=1,$trackid='') +function dol_remove_file_process($filenb, $donotupdatesession = 0, $donotdeletefile = 1, $trackid = '') { global $db,$user,$conf,$langs,$_FILES; @@ -1712,7 +1712,7 @@ function dol_remove_file_process($filenb,$donotupdatesession=0,$donotdeletefile= * @param int $setsharekey Set also the share key * @return int <0 if KO, 0 if nothing done, >0 if OK */ -function addFileIntoDatabaseIndex($dir, $file, $fullpathorig='', $mode='uploaded', $setsharekey=0) +function addFileIntoDatabaseIndex($dir, $file, $fullpathorig = '', $mode = 'uploaded', $setsharekey = 0) { global $db, $user; @@ -1760,7 +1760,7 @@ function addFileIntoDatabaseIndex($dir, $file, $fullpathorig='', $mode='uploaded * @param string $mode How file was created ('uploaded', 'generated', ...) * @return int <0 if KO, 0 if nothing done, >0 if OK */ -function deleteFilesIntoDatabaseIndex($dir, $file, $mode='uploaded') +function deleteFilesIntoDatabaseIndex($dir, $file, $mode = 'uploaded') { global $conf, $db, $user; @@ -1816,7 +1816,7 @@ function deleteFilesIntoDatabaseIndex($dir, $file, $mode='uploaded') * @param string $fileoutput Output filename * @return int <0 if KO, 0=Nothing done, >0 if OK */ -function dol_convert_file($fileinput, $ext='png', $fileoutput='') +function dol_convert_file($fileinput, $ext = 'png', $fileoutput = '') { global $langs; @@ -1874,7 +1874,7 @@ function dol_convert_file($fileinput, $ext='png', $fileoutput='') * @param string $mode 'gz' or 'bz' or 'zip' * @return int <0 if KO, >0 if OK */ -function dol_compress_file($inputfile, $outputfile, $mode="gz") +function dol_compress_file($inputfile, $outputfile, $mode = "gz") { $foundhandler=0; @@ -1927,7 +1927,7 @@ function dol_compress_file($inputfile, $outputfile, $mode="gz") * @param string $outputdir Target dir name * @return array array('error'=>'Error code') or array() if no error */ -function dol_uncompress($inputfile,$outputdir) +function dol_uncompress($inputfile, $outputdir) { global $langs; @@ -1988,7 +1988,7 @@ function dol_uncompress($inputfile,$outputdir) * @param string $mode 'zip' * @return int <0 if KO, >0 if OK */ -function dol_compress_dir($inputdir, $outputfile, $mode="zip") +function dol_compress_dir($inputdir, $outputfile, $mode = "zip") { $foundhandler=0; @@ -2088,7 +2088,7 @@ function dol_compress_dir($inputdir, $outputfile, $mode="zip") * @param int $mode 0=Return array minimum keys loaded (faster), 1=Force all keys like date and size to be loaded (slower), 2=Force load of date only, 3=Force load of size only * @return string Full path to most recent file */ -function dol_most_recent_file($dir,$regexfilter='',$excludefilter=array('(\.meta|_preview.*\.png)$','^\.'),$nohook=false,$mode='') +function dol_most_recent_file($dir, $regexfilter = '', $excludefilter = array('(\.meta|_preview.*\.png)$','^\.'), $nohook = false, $mode = '') { $tmparray=dol_dir_list($dir,'files',0,$regexfilter,$excludefilter,'date',SORT_DESC,$mode,$nohook); return $tmparray[0]; @@ -2106,7 +2106,7 @@ function dol_most_recent_file($dir,$regexfilter='',$excludefilter=array('(\.meta * @return mixed Array with access information : 'accessallowed' & 'sqlprotectagainstexternals' & 'original_file' (as a full path name) * @see restrictedArea */ -function dol_check_secure_access_document($modulepart, $original_file, $entity, $fuser='', $refname='', $mode='read') +function dol_check_secure_access_document($modulepart, $original_file, $entity, $fuser = '', $refname = '', $mode = 'read') { global $conf, $db, $user; global $dolibarr_main_data_root, $dolibarr_main_document_root_alt; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 690a3ff5152..ca89eeba47c 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -76,7 +76,7 @@ function getDoliDBInstance($type, $host, $user, $pass, $name, $port) * @param object $currentobject Current object if needed * @return mixed Entity id(s) to use */ -function getEntity($element, $shared=1, $currentobject=null) +function getEntity($element, $shared = 1, $currentobject = null) { global $conf, $mc; @@ -231,7 +231,7 @@ function GETPOSTISSET($paramname) * @param string $noreplace Force disable of replacement of __xxx__ strings. * @return string|string[] Value found (string or array), or '' if check fails */ -function GETPOST($paramname, $check='none', $method=0, $filter=null, $options=null, $noreplace=0) +function GETPOST($paramname, $check = 'none', $method = 0, $filter = null, $options = null, $noreplace = 0) { global $mysoc,$user,$conf; @@ -580,7 +580,7 @@ if (! function_exists('dol_getprefix')) * @param string $mode '' (prefix for session name) or 'email' (prefix for email id) * @return string A calculated prefix */ - function dol_getprefix($mode='') + function dol_getprefix($mode = '') { global $conf; @@ -615,7 +615,7 @@ if (! function_exists('dol_getprefix')) * @param string $classname Class name (deprecated) * @return bool True if load is a success, False if it fails */ -function dol_include_once($relpath, $classname='') +function dol_include_once($relpath, $classname = '') { global $conf,$langs,$user,$mysoc; // Do not remove this. They must be defined for files we include. Other globals var must be retreived with $GLOBALS['var'] @@ -644,7 +644,7 @@ function dol_include_once($relpath, $classname='') * 2:If $type==0 and if file was not found into alternate dir, test into main dir, return default path if found, empty string if not found * @return string Full filesystem path (if path=0), Full url path (if mode=1) */ -function dol_buildpath($path, $type=0, $returnemptyifnotfound=0) +function dol_buildpath($path, $type = 0, $returnemptyifnotfound = 0) { global $conf; @@ -742,7 +742,7 @@ function dol_buildpath($path, $type=0, $returnemptyifnotfound=0) * @return object Object clone * @see https://php.net/manual/language.oop5.cloning.php */ -function dol_clone($object, $native=0) +function dol_clone($object, $native = 0) { //dol_syslog(__FUNCTION__ . " is deprecated", LOG_WARNING); @@ -767,7 +767,7 @@ function dol_clone($object, $native=0) * 'width' = function is used to define a width * @return int New size after optimizing */ -function dol_size($size,$type='') +function dol_size($size, $type = '') { global $conf; if (empty($conf->dol_optimize_smallscreen)) return $size; @@ -786,7 +786,7 @@ function dol_size($size,$type='') * * @see dol_string_nospecial, dol_string_unaccent, dol_sanitizePathName */ -function dol_sanitizeFileName($str,$newstr='_',$unaccent=1) +function dol_sanitizeFileName($str, $newstr = '_', $unaccent = 1) { $filesystem_forbidden_chars = array('<','>','/','\\','?','*','|','"','°'); return dol_string_nospecial($unaccent?dol_string_unaccent($str):$str, $newstr, $filesystem_forbidden_chars); @@ -802,7 +802,7 @@ function dol_sanitizeFileName($str,$newstr='_',$unaccent=1) * * @see dol_string_nospecial, dol_string_unaccent, dol_sanitizeFileName */ -function dol_sanitizePathName($str,$newstr='_',$unaccent=1) +function dol_sanitizePathName($str, $newstr = '_', $unaccent = 1) { $filesystem_forbidden_chars = array('<','>','?','*','|','"','°'); return dol_string_nospecial($unaccent?dol_string_unaccent($str):$str, $newstr, $filesystem_forbidden_chars); @@ -874,7 +874,7 @@ function dol_string_unaccent($str) * * @see dol_sanitizeFilename, dol_string_unaccent */ -function dol_string_nospecial($str,$newstr='_',$badcharstoreplace='') +function dol_string_nospecial($str, $newstr = '_', $badcharstoreplace = '') { $forbidden_chars_to_replace=array(" ", "'", "/", "\\", ":", "*", "?", "\"", "<", ">", "|", "[", "]", ",", ";", "=", '°'); // more complete than dol_sanitizeFileName $forbidden_chars_to_remove=array(); @@ -904,7 +904,7 @@ function dolEscapeXML($string) * @param int $noescapebackslashn 0=Escape also \n. 1=Do not escape \n. * @return string Escaped string. Both ' and " are escaped into ' if they are escaped. */ -function dol_escape_js($stringtoescape, $mode=0, $noescapebackslashn=0) +function dol_escape_js($stringtoescape, $mode = 0, $noescapebackslashn = 0) { // escape quotes and backslashes, newlines, etc. $substitjs=array("'"=>"\\'","\r"=>'\\r'); @@ -927,7 +927,7 @@ function dol_escape_js($stringtoescape, $mode=0, $noescapebackslashn=0) * @return string Escaped string * @see dol_string_nohtmltag, dol_string_nospecial, dol_string_unaccent */ -function dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0) +function dol_escape_htmltag($stringtoescape, $keepb = 0, $keepn = 0) { // escape quotes and backslashes, newlines, etc. $tmp=html_entity_decode($stringtoescape, ENT_COMPAT, 'UTF-8'); // TODO Use htmlspecialchars_decode instead, that make only required change for html tags @@ -980,7 +980,7 @@ function dol_strtoupper($utf8_string) * @param string $restricttologhandler Output log only for this log handler * @return void */ -function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename='', $restricttologhandler='') +function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename = '', $restricttologhandler = '') { global $conf, $user; @@ -1072,7 +1072,7 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename=' * @param string $morecss More Css * @return void */ -function dol_fiche_head($links=array(), $active='0', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='') +function dol_fiche_head($links = array(), $active = '0', $title = '', $notab = 0, $picto = '', $pictoisfullpath = 0, $morehtmlright = '', $morecss = '') { print dol_get_fiche_head($links, $active, $title, $notab, $picto, $pictoisfullpath, $morehtmlright, $morecss); } @@ -1090,7 +1090,7 @@ function dol_fiche_head($links=array(), $active='0', $title='', $notab=0, $picto * @param string $morecss More Css * @return string */ -function dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='') +function dol_get_fiche_head($links = array(), $active = '', $title = '', $notab = 0, $picto = '', $pictoisfullpath = 0, $morehtmlright = '', $morecss = '') { global $conf, $langs, $hookmanager; @@ -1250,7 +1250,7 @@ function dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $pi * @param int $notab -1 or 0=Add tab footer, 1=no tab footer * @return void */ -function dol_fiche_end($notab=0) +function dol_fiche_end($notab = 0) { print dol_get_fiche_end($notab); } @@ -1261,7 +1261,7 @@ function dol_fiche_end($notab=0) * @param int $notab -1 or 0=Add tab footer, 1=no tab footer * @return string */ -function dol_get_fiche_end($notab=0) +function dol_get_fiche_end($notab = 0) { if (! $notab || $notab == -1) return "\n</div>\n"; else return ''; @@ -1286,7 +1286,7 @@ function dol_get_fiche_end($notab=0) * @param string $morehtmlright More html code to show before navigation arrows * @return void */ -function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='') +function dol_banner_tab($object, $paramid, $morehtml = '', $shownav = 1, $fieldid = 'rowid', $fieldref = 'ref', $morehtmlref = '', $moreparam = '', $nodbprefix = 0, $morehtmlleft = '', $morehtmlstatus = '', $onlybanner = 0, $morehtmlright = '') { global $conf, $form, $user, $langs; @@ -1568,7 +1568,7 @@ function dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='r * @return string * @deprecated Form::editfieldkey */ -function fieldLabel($langkey, $fieldkey, $fieldrequired=0) +function fieldLabel($langkey, $fieldkey, $fieldrequired = 0) { global $conf, $langs; $ret=''; @@ -1587,7 +1587,7 @@ function fieldLabel($langkey, $fieldkey, $fieldrequired=0) * @param string $moreclass More class to add * @return string String to add class onto HTML element */ -function dol_bc($var,$moreclass='') +function dol_bc($var, $moreclass = '') { global $bc; $ret=' '.$bc[$var]; @@ -1606,7 +1606,7 @@ function dol_bc($var,$moreclass='') * @return string Formated string * @see dol_print_address */ -function dol_format_address($object, $withcountry=0, $sep="\n", $outputlangs='', $mode=0) +function dol_format_address($object, $withcountry = 0, $sep = "\n", $outputlangs = '', $mode = 0) { global $conf,$langs; @@ -1680,7 +1680,7 @@ function dol_format_address($object, $withcountry=0, $sep="\n", $outputlangs='', * @param int $is_gmt See comment of timestamp parameter * @return string A formatted string */ -function dol_strftime($fmt, $ts=false, $is_gmt=false) +function dol_strftime($fmt, $ts = false, $is_gmt = false) { if ((abs($ts) <= 0x7FFFFFFF)) { // check if number in 32-bit signed range return ($is_gmt)? @gmstrftime($fmt,$ts): @strftime($fmt,$ts); @@ -1709,7 +1709,7 @@ function dol_strftime($fmt, $ts=false, $is_gmt=false) * * @see dol_mktime, dol_stringtotime, dol_getdate */ -function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$encodetooutput=false) +function dol_print_date($time, $format = '', $tzoutput = 'tzserver', $outputlangs = '', $encodetooutput = false) { global $conf,$langs; @@ -1886,7 +1886,7 @@ function dol_print_date($time,$format='',$tzoutput='tzserver',$outputlangs='',$e * 'ndays' => $ndays * @see dol_print_date, dol_stringtotime, dol_mktime */ -function dol_getdate($timestamp,$fast=false) +function dol_getdate($timestamp, $fast = false) { global $conf; @@ -1925,7 +1925,7 @@ function dol_getdate($timestamp,$fast=false) * @return int|string Date as a timestamp, '' or false if error * @see dol_print_date, dol_stringtotime, dol_getdate */ -function dol_mktime($hour,$minute,$second,$month,$day,$year,$gm=false,$check=1) +function dol_mktime($hour, $minute, $second, $month, $day, $year, $gm = false, $check = 1) { global $conf; //print "- ".$hour.",".$minute.",".$second.",".$month.",".$day.",".$year.",".$_SERVER["WINDIR"]." -"; @@ -2008,7 +2008,7 @@ function dol_mktime($hour,$minute,$second,$month,$day,$year,$gm=false,$check=1) * 'tzuser' => we add the user timezone * @return int $date Timestamp */ -function dol_now($mode='gmt') +function dol_now($mode = 'gmt') { $ret=0; @@ -2047,7 +2047,7 @@ function dol_now($mode='gmt') * @param int $shortunit Use short label of size unit (for example 'b' instead of 'bytes') * @return string Link */ -function dol_print_size($size,$shortvalue=0,$shortunit=0) +function dol_print_size($size, $shortvalue = 0, $shortunit = 0) { global $conf,$langs; $level=1024; @@ -2083,7 +2083,7 @@ function dol_print_size($size,$shortvalue=0,$shortunit=0) * @param int $withpicto With picto * @return string HTML Link */ -function dol_print_url($url,$target='_blank',$max=32,$withpicto=0) +function dol_print_url($url, $target = '_blank', $max = 32, $withpicto = 0) { global $langs; @@ -2113,7 +2113,7 @@ function dol_print_url($url,$target='_blank',$max=32,$withpicto=0) * @param int $withpicto Show picto * @return string HTML Link */ -function dol_print_email($email,$cid=0,$socid=0,$addlink=0,$max=64,$showinvalid=1,$withpicto=0) +function dol_print_email($email, $cid = 0, $socid = 0, $addlink = 0, $max = 64, $showinvalid = 1, $withpicto = 0) { global $conf,$user,$langs,$hookmanager; @@ -2170,7 +2170,7 @@ function dol_print_email($email,$cid=0,$socid=0,$addlink=0,$max=64,$showinvalid= * @param string $type 'skype','facebook',... * @return string HTML Link */ -function dol_print_socialnetworks($value,$cid,$socid,$type) +function dol_print_socialnetworks($value, $cid, $socid, $type) { global $conf,$user,$langs; @@ -2226,7 +2226,7 @@ function dol_print_socialnetworks($value,$cid,$socid,$type) * @param int $adddivfloat Add div float around phone. * @return string Formated phone number */ -function dol_print_phone($phone,$countrycode='',$cid=0,$socid=0,$addlink='',$separ=" ",$withpicto='',$titlealt='',$adddivfloat=0) +function dol_print_phone($phone, $countrycode = '', $cid = 0, $socid = 0, $addlink = '', $separ = " ", $withpicto = '', $titlealt = '', $adddivfloat = 0) { global $conf, $user, $langs, $mysoc, $hookmanager; @@ -2605,7 +2605,7 @@ function dol_print_phone($phone,$countrycode='',$cid=0,$socid=0,$addlink='',$sep * @param int $mode 0=return IP + country/flag, 1=return only country/flag, 2=return only IP * @return string Formated IP, with country if GeoIP module is enabled */ -function dol_print_ip($ip,$mode=0) +function dol_print_ip($ip, $mode = 0) { global $conf,$langs; @@ -2710,7 +2710,7 @@ function dol_user_country() * @return string|void Nothing if noprint is 0, formatted address if noprint is 1 * @see dol_format_address */ -function dol_print_address($address, $htmlid, $mode, $id, $noprint=0, $charfornl='') +function dol_print_address($address, $htmlid, $mode, $id, $noprint = 0, $charfornl = '') { global $conf, $user, $langs, $hookmanager; @@ -2762,7 +2762,7 @@ function dol_print_address($address, $htmlid, $mode, $id, $noprint=0, $charfornl * @param int $acceptsupervisorkey If 1, the special string '__SUPERVISOREMAIL__' is also accepted as valid * @return boolean true if email syntax is OK, false if KO or empty string */ -function isValidEmail($address, $acceptsupervisorkey=0) +function isValidEmail($address, $acceptsupervisorkey = 0) { if ($acceptsupervisorkey && $address == '__SUPERVISOREMAIL__') return true; if (filter_var($address, FILTER_VALIDATE_EMAIL)) return true; @@ -2819,7 +2819,7 @@ function isValidPhone($phone) * @param string $stringencoding Encoding of string * @return int Length of string */ -function dol_strlen($string, $stringencoding='UTF-8') +function dol_strlen($string, $stringencoding = 'UTF-8') { if (function_exists('mb_strlen')) return mb_strlen($string,$stringencoding); else return strlen($string); @@ -2835,7 +2835,7 @@ function dol_strlen($string, $stringencoding='UTF-8') * @param int $trunconbytes 1=Length is max of bytes instead of max of characters * @return string substring */ -function dol_substr($string, $start, $length, $stringencoding='', $trunconbytes=0) +function dol_substr($string, $start, $length, $stringencoding = '', $trunconbytes = 0) { global $langs; @@ -2881,7 +2881,7 @@ function dol_substr($string, $start, $length, $stringencoding='', $trunconbytes= * @param int $display Trunc is used to display data and can be changed for small screen. TODO Remove this param (must be dealt with CSS) * @return string Truncated string. WARNING: length is never higher than $size if $nodot is set, but can be 3 chars higher otherwise. */ -function dol_trunc($string,$size=40,$trunc='right',$stringencoding='UTF-8',$nodot=0, $display=0) +function dol_trunc($string, $size = 40, $trunc = 'right', $stringencoding = 'UTF-8', $nodot = 0, $display = 0) { global $conf; @@ -2950,7 +2950,7 @@ function dol_trunc($string,$size=40,$trunc='right',$stringencoding='UTF-8',$nodo * @return string Return img tag * @see #img_object, #img_picto_common */ -function img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath = false, $srconly=0, $notitle=0, $alt='', $morecss='') +function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $srconly = 0, $notitle = 0, $alt = '', $morecss = '') { global $conf, $langs; @@ -3155,7 +3155,7 @@ function img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath = false, $sr * @return string Return img tag * @see #img_picto, #img_picto_common */ -function img_object($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $srconly=0, $notitle=0) +function img_object($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $srconly = 0, $notitle = 0) { return img_picto($titlealt, 'object_'.$picto, $moreatt, $pictoisfullpath, $srconly, $notitle); } @@ -3276,7 +3276,7 @@ function img_edit_add($titlealt = 'default', $other = '') * @param string $other Add more attributes on img * @return string Return tag img */ -function img_edit_remove($titlealt = 'default', $other='') +function img_edit_remove($titlealt = 'default', $other = '') { global $conf, $langs; @@ -3345,7 +3345,7 @@ function img_delete($titlealt = 'default', $other = 'class="pictodelete"') * @param string $other Add more attributes on img * @return string Retourne tag img */ -function img_printer($titlealt = "default", $other='') +function img_printer($titlealt = "default", $other = '') { global $conf,$langs; if ($titlealt=="default") $titlealt=$langs->trans("Print"); @@ -3442,7 +3442,7 @@ function img_error($titlealt = 'default') * @param string $moreatt Add more attribute on img tag (For example 'style="float: right"') * @return string Return img tag */ -function img_next($titlealt = 'default', $moreatt='') +function img_next($titlealt = 'default', $moreatt = '') { global $conf, $langs; @@ -3459,7 +3459,7 @@ function img_next($titlealt = 'default', $moreatt='') * @param string $moreatt Add more attribute on img tag (For example 'style="float: right"') * @return string Return img tag */ -function img_previous($titlealt = 'default', $moreatt='') +function img_previous($titlealt = 'default', $moreatt = '') { global $conf, $langs; @@ -3477,7 +3477,7 @@ function img_previous($titlealt = 'default', $moreatt='') * @param string $moreclass Add more CSS classes * @return string Return img tag */ -function img_down($titlealt = 'default', $selected = 0, $moreclass='') +function img_down($titlealt = 'default', $selected = 0, $moreclass = '') { global $conf, $langs; @@ -3494,7 +3494,7 @@ function img_down($titlealt = 'default', $selected = 0, $moreclass='') * @param string $moreclass Add more CSS classes * @return string Return img tag */ -function img_up($titlealt = 'default', $selected = 0, $moreclass='') +function img_up($titlealt = 'default', $selected = 0, $moreclass = '') { global $conf, $langs; @@ -3511,7 +3511,7 @@ function img_up($titlealt = 'default', $selected = 0, $moreclass='') * @param string $moreatt Add more attribute on img tag (For example 'style="float: right"') * @return string Return img tag */ -function img_left($titlealt = 'default', $selected = 0, $moreatt='') +function img_left($titlealt = 'default', $selected = 0, $moreatt = '') { global $conf, $langs; @@ -3528,7 +3528,7 @@ function img_left($titlealt = 'default', $selected = 0, $moreatt='') * @param string $moreatt Add more attribute on img tag (For example 'style="float: right"') * @return string Return img tag */ -function img_right($titlealt = 'default', $selected = 0, $moreatt='') +function img_right($titlealt = 'default', $selected = 0, $moreatt = '') { global $conf, $langs; @@ -3582,7 +3582,7 @@ function img_credit_card($brand) * @param string $morecss More css * @return string Return img tag */ -function img_mime($file, $titlealt = '', $morecss='') +function img_mime($file, $titlealt = '', $morecss = '') { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -3673,7 +3673,7 @@ function img_searchclear($titlealt = 'default', $other = '') * @param string $morecss More CSS * @return string String with info text */ -function info_admin($text, $infoonimgalt = 0, $nodiv=0, $admin='1', $morecss='') +function info_admin($text, $infoonimgalt = 0, $nodiv = 0, $admin = '1', $morecss = '') { global $conf, $langs; @@ -3698,7 +3698,7 @@ function info_admin($text, $infoonimgalt = 0, $nodiv=0, $admin='1', $morecss='') * @return void * @see dol_htmloutput_errors */ -function dol_print_error($db='',$error='',$errors=null) +function dol_print_error($db = '', $error = '', $errors = null) { global $conf,$langs,$argv; global $dolibarr_main_prod; @@ -3826,7 +3826,7 @@ function dol_print_error($db='',$error='',$errors=null) * @param string $email Email * @return void */ -function dol_print_error_email($prefixcode, $errormessage='', $errormessages=array(), $morecss='error', $email='') +function dol_print_error_email($prefixcode, $errormessage = '', $errormessages = array(), $morecss = 'error', $email = '') { global $langs,$conf; @@ -3863,7 +3863,7 @@ function dol_print_error_email($prefixcode, $errormessage='', $errormessages=arr * @param string $tooltip Tooltip * @return void */ -function print_liste_field_titre($name, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="") +function print_liste_field_titre($name, $file = "", $field = "", $begin = "", $moreparam = "", $moreattrib = "", $sortfield = "", $sortorder = "", $prefix = "", $tooltip = "") { print getTitleFieldOfList($name, 0, $file, $field, $begin, $moreparam, $moreattrib, $sortfield, $sortorder, $prefix, 0, $tooltip); } @@ -3885,7 +3885,7 @@ function print_liste_field_titre($name, $file="", $field="", $begin="", $morepar * @param string $tooltip Tooltip * @return string */ -function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $disablesortlink=0, $tooltip='') +function getTitleFieldOfList($name, $thead = 0, $file = "", $field = "", $begin = "", $moreparam = "", $moreattrib = "", $sortfield = "", $sortorder = "", $prefix = "", $disablesortlink = 0, $tooltip = '') { global $conf, $langs, $form; //print "$name, $file, $field, $begin, $options, $moreattrib, $sortfield, $sortorder<br>\n"; @@ -4010,7 +4010,7 @@ function print_titre($title) * @return void * @deprecated Use print load_fiche_titre instead */ -function print_fiche_titre($title, $mesg='', $picto='title_generic.png', $pictoisfullpath=0, $id='') +function print_fiche_titre($title, $mesg = '', $picto = 'title_generic.png', $pictoisfullpath = 0, $id = '') { print load_fiche_titre($title, $mesg, $picto, $pictoisfullpath, $id); } @@ -4028,7 +4028,7 @@ function print_fiche_titre($title, $mesg='', $picto='title_generic.png', $pictoi * @return string * @see print_barre_liste */ -function load_fiche_titre($titre, $morehtmlright='', $picto='title_generic.png', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='') +function load_fiche_titre($titre, $morehtmlright = '', $picto = 'title_generic.png', $pictoisfullpath = 0, $id = '', $morecssontable = '', $morehtmlcenter = '') { global $conf; @@ -4076,7 +4076,7 @@ function load_fiche_titre($titre, $morehtmlright='', $picto='title_generic.png', * @param int $hidenavigation Force to hide all navigation tools * @return void */ -function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='title_generic.png', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $hideselectlimit=0, $hidenavigation=0) +function print_barre_liste($titre, $page, $file, $options = '', $sortfield = '', $sortorder = '', $morehtmlcenter = '', $num = -1, $totalnboflines = '', $picto = 'title_generic.png', $pictoisfullpath = 0, $morehtmlright = '', $morecss = '', $limit = -1, $hideselectlimit = 0, $hidenavigation = 0) { global $conf,$langs; @@ -4189,7 +4189,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so * @param int $hideselectlimit Force to hide select limit * @return void */ -function print_fleche_navigation($page, $file, $options='', $nextpage=0, $betweenarrows='', $afterarrows='', $limit=-1, $totalnboflines=0, $hideselectlimit=0) +function print_fleche_navigation($page, $file, $options = '', $nextpage = 0, $betweenarrows = '', $afterarrows = '', $limit = -1, $totalnboflines = 0, $hideselectlimit = 0) { global $conf, $langs; @@ -4274,7 +4274,7 @@ function print_fleche_navigation($page, $file, $options='', $nextpage=0, $betwee * @param int $usestarfornpr -1=Never show, 0 or 1=Use '*' for NPR vat rates * @return string String with formated amounts ('19,6' or '19,6%' or '8.5% (NPR)' or '8.5% *' or '19,6 (CODEX)') */ -function vatrate($rate, $addpercent=false, $info_bits=0, $usestarfornpr=0) +function vatrate($rate, $addpercent = false, $info_bits = 0, $usestarfornpr = 0) { $morelabel=''; @@ -4322,7 +4322,7 @@ function vatrate($rate, $addpercent=false, $info_bits=0, $usestarfornpr=0) * * @see price2num() Revert function of price */ -function price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='') +function price($amount, $form = 0, $outlangs = '', $trunc = 1, $rounding = -1, $forcerounding = -1, $currency_code = '') { global $langs,$conf; @@ -4414,7 +4414,7 @@ function price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerou * * @see price Opposite function of price2num */ -function price2num($amount,$rounding='',$alreadysqlnb=0) +function price2num($amount, $rounding = '', $alreadysqlnb = 0) { global $langs,$conf; @@ -4500,7 +4500,7 @@ function price2num($amount,$rounding='',$alreadysqlnb=0) * @param string $forceunitoutput 'no' or numeric (-3, -6, ...) compared to $unit (In most case, this value is value defined into $conf->global->MAIN_WEIGHT_DEFAULT_UNIT) * @return string String to show dimensions */ -function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs, $round=-1, $forceunitoutput='no') +function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs, $round = -1, $forceunitoutput = 'no') { require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; @@ -4555,7 +4555,7 @@ function showDimensionInBestUnit($dimension, $unit, $type, $outputlangs, $round= * @return mixed 0 if not found, localtax rate if found * @see get_default_tva */ -function get_localtax($vatrate, $local, $thirdparty_buyer="", $thirdparty_seller="", $vatnpr=0) +function get_localtax($vatrate, $local, $thirdparty_buyer = "", $thirdparty_seller = "", $vatnpr = 0) { global $db, $conf, $mysoc; @@ -4745,7 +4745,7 @@ function get_localtax_by_third($local) * @return array array('rowid'=> , 'code'=> ...) * @see getLocalTaxesFromRate */ -function getTaxesFromId($vatrate, $buyer=null, $seller=null, $firstparamisid=1) +function getTaxesFromId($vatrate, $buyer = null, $seller = null, $firstparamisid = 1) { global $db, $mysoc; @@ -4801,7 +4801,7 @@ function getTaxesFromId($vatrate, $buyer=null, $seller=null, $firstparamisid=1) * @return array array(localtax_type1(1-6/0 if not found), rate localtax1, localtax_type2, rate localtax2, accountancycodecust, accountancycodesupp) * @see getTaxesFromId */ -function getLocalTaxesFromRate($vatrate, $local, $buyer, $seller, $firstparamisid=0) +function getLocalTaxesFromRate($vatrate, $local, $buyer, $seller, $firstparamisid = 0) { global $db, $mysoc; @@ -4859,7 +4859,7 @@ function getLocalTaxesFromRate($vatrate, $local, $buyer, $seller, $firstparamisi * @return float|string Vat rate to use with format 5.0 or '5.0 (XXX)' * @see get_product_localtax_for_country */ -function get_product_vat_for_country($idprod, $thirdparty_seller, $idprodfournprice=0) +function get_product_vat_for_country($idprod, $thirdparty_seller, $idprodfournprice = 0) { global $db,$conf,$mysoc; @@ -5009,7 +5009,7 @@ function get_product_localtax_for_country($idprod, $local, $thirdparty_seller) * @return float|string Vat rate to use with format 5.0 or '5.0 (XXX)', -1 if we can't guess it * @see get_default_npr, get_default_localtax */ -function get_default_tva(Societe $thirdparty_seller, Societe $thirdparty_buyer, $idprod=0, $idprodfournprice=0) +function get_default_tva(Societe $thirdparty_seller, Societe $thirdparty_buyer, $idprod = 0, $idprodfournprice = 0) { global $conf; @@ -5096,7 +5096,7 @@ function get_default_tva(Societe $thirdparty_seller, Societe $thirdparty_buyer, * @return float 0 or 1 * @see get_default_tva, get_default_localtax */ -function get_default_npr(Societe $thirdparty_seller, Societe $thirdparty_buyer, $idprod=0, $idprodfournprice=0) +function get_default_npr(Societe $thirdparty_seller, Societe $thirdparty_buyer, $idprod = 0, $idprodfournprice = 0) { global $db; @@ -5133,7 +5133,7 @@ function get_default_npr(Societe $thirdparty_seller, Societe $thirdparty_buyer, * @return integer localtax, -1 si ne peut etre determine * @see get_default_tva, get_default_npr */ -function get_default_localtax($thirdparty_seller, $thirdparty_buyer, $local, $idprod=0) +function get_default_localtax($thirdparty_seller, $thirdparty_buyer, $local, $idprod = 0) { global $mysoc; @@ -5176,7 +5176,7 @@ function get_default_localtax($thirdparty_seller, $thirdparty_buyer, $local, $id * @param int $color 0=texte only, 1=Text is formated with a color font style ('ok' or 'error'), 2=Text is formated with 'ok' color. * @return string HTML string */ -function yn($yesno, $case=1, $color=0) +function yn($yesno, $case = 1, $color = 0) { global $langs; $result='unknown'; $classname=''; @@ -5263,7 +5263,7 @@ function get_exdir($num, $level, $alpha, $withoutslash, $object, $modulepart) * @param int $newmask Mask for new file (Defaults to $conf->global->MAIN_UMASK or 0755 if unavailable). Example: '0444' * @return int < 0 if KO, 0 = already exists, > 0 if OK */ -function dol_mkdir($dir, $dataroot='', $newmask=null) +function dol_mkdir($dir, $dataroot = '', $newmask = null) { global $conf; @@ -5354,7 +5354,7 @@ function picto_required() * * @see dol_escape_htmltag strip_tags dol_string_onlythesehtmltags dol_string_neverthesehtmltags */ -function dol_string_nohtmltag($stringtoclean, $removelinefeed=1, $pagecodeto='UTF-8', $strip_tags=0) +function dol_string_nohtmltag($stringtoclean, $removelinefeed = 1, $pagecodeto = 'UTF-8', $strip_tags = 0) { if ($removelinefeed == 2) $stringtoclean = preg_replace('/<br[^>]*>\n+/ims', '<br>', $stringtoclean); $temp = preg_replace('/<br[^>]*>/i', "\n", $stringtoclean); @@ -5418,7 +5418,7 @@ function dol_string_onlythesehtmltags($stringtoclean) * * @see dol_escape_htmltag strip_tags dol_string_nohtmltag dol_string_onlythesehtmltags */ -function dol_string_neverthesehtmltags($stringtoclean, $disallowed_tags=array('textarea')) +function dol_string_neverthesehtmltags($stringtoclean, $disallowed_tags = array('textarea')) { $temp = $stringtoclean; foreach($disallowed_tags as $tagtoremove) @@ -5438,7 +5438,7 @@ function dol_string_neverthesehtmltags($stringtoclean, $disallowed_tags=array('t * @return string Output text * @see dol_nboflines_bis, dol_string_nohtmltag, dol_escape_htmltag */ -function dolGetFirstLineOfText($text, $nboflines=1) +function dolGetFirstLineOfText($text, $nboflines = 1) { if ($nboflines == 1) { @@ -5496,7 +5496,7 @@ function dolGetFirstLineOfText($text, $nboflines=1) * @return string String encoded * @see dol_nboflines, dolGetFirstLineOfText */ -function dol_nl2br($stringtoencode,$nl2brmode=0,$forxml=false) +function dol_nl2br($stringtoencode, $nl2brmode = 0, $forxml = false) { if (!$nl2brmode) { return nl2br($stringtoencode, $forxml); @@ -5524,7 +5524,7 @@ function dol_nl2br($stringtoencode,$nl2brmode=0,$forxml=false) * @param int $removelasteolbr 1=Remove last br or lasts \n (default), 0=Do nothing * @return string String encoded */ -function dol_htmlentitiesbr($stringtoencode, $nl2brmode=0, $pagecodefrom='UTF-8', $removelasteolbr=1) +function dol_htmlentitiesbr($stringtoencode, $nl2brmode = 0, $pagecodefrom = 'UTF-8', $removelasteolbr = 1) { $newstring=$stringtoencode; if (dol_textishtml($stringtoencode)) // Check if text is already HTML or not @@ -5552,7 +5552,7 @@ function dol_htmlentitiesbr($stringtoencode, $nl2brmode=0, $pagecodefrom='UTF-8' * @param string $pagecodeto Page code for result * @return string String decoded */ -function dol_htmlentitiesbr_decode($stringtodecode,$pagecodeto='UTF-8') +function dol_htmlentitiesbr_decode($stringtodecode, $pagecodeto = 'UTF-8') { $ret=dol_html_entity_decode($stringtodecode,ENT_COMPAT,$pagecodeto); $ret=preg_replace('/'."\r\n".'<br(\s[\sa-zA-Z_="]*)?\/?>/i',"<br>",$ret); @@ -5582,7 +5582,7 @@ function dol_htmlcleanlastbr($stringtodecode) * @param string $c Operand c * @return string String decoded */ -function dol_html_entity_decode($a,$b,$c='UTF-8') +function dol_html_entity_decode($a, $b, $c = 'UTF-8') { return html_entity_decode($a,$b,$c); } @@ -5597,7 +5597,7 @@ function dol_html_entity_decode($a,$b,$c='UTF-8') * @param bool $double_encode When double_encode is turned off, PHP will not encode existing html entities * @return string $ret Encoded string */ -function dol_htmlentities($string, $flags=null, $encoding='UTF-8', $double_encode=false) +function dol_htmlentities($string, $flags = null, $encoding = 'UTF-8', $double_encode = false) { return htmlentities($string, $flags, $encoding, $double_encode); } @@ -5633,7 +5633,7 @@ function dol_string_is_good_iso($s) * @return int Number of lines * @see dol_nboflines_bis, dolGetFirstLineOfText */ -function dol_nboflines($s,$maxchar=0) +function dol_nboflines($s, $maxchar = 0) { if ($s == '') return 0; $arraystring=explode("\n",$s); @@ -5652,7 +5652,7 @@ function dol_nboflines($s,$maxchar=0) * @return int Number of lines * @see dol_nboflines, dolGetFirstLineOfText */ -function dol_nboflines_bis($text,$maxlinesize=0,$charset='UTF-8') +function dol_nboflines_bis($text, $maxlinesize = 0, $charset = 'UTF-8') { $repTable = array("\t" => " ", "\n" => "<br>", "\r" => " ", "\0" => " ", "\x0B" => " "); if (dol_textishtml($text)) $repTable = array("\t" => " ", "\n" => " ", "\r" => " ", "\0" => " ", "\x0B" => " "); @@ -5707,7 +5707,7 @@ function dol_microtime_float() * @return boolean true/false * @see dol_concatdesc */ -function dol_textishtml($msg,$option=0) +function dol_textishtml($msg, $option = 0) { if ($option == 1) { @@ -5749,7 +5749,7 @@ function dol_textishtml($msg,$option=0) * @return string Text 1 + new line + Text2 * @see dol_textishtml */ -function dol_concatdesc($text1,$text2,$forxml=false, $invert=false) +function dol_concatdesc($text1, $text2, $forxml = false, $invert = false) { if (!empty($invert)) { @@ -5777,7 +5777,7 @@ function dol_concatdesc($text1,$text2,$forxml=false, $invert=false) * @return array Array of substitutions * @see setSubstitFromObject */ -function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $object=null) +function getCommonSubstitutionArray($outputlangs, $onlykey = 0, $exclude = null, $object = null) { global $db, $conf, $mysoc, $user, $extrafields; @@ -6115,7 +6115,7 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob * @return string Output string after substitutions * @see complete_substitutions_array, getCommonSubstitutionArray */ -function make_substitutions($text, $substitutionarray, $outputlangs=null) +function make_substitutions($text, $substitutionarray, $outputlangs = null) { global $conf, $langs; @@ -6178,7 +6178,7 @@ function make_substitutions($text, $substitutionarray, $outputlangs=null) * @return void * @see make_substitutions */ -function complete_substitutions_array(&$substitutionarray, $outputlangs, $object=null, $parameters=null, $callfunc="completesubstitutionarray") +function complete_substitutions_array(&$substitutionarray, $outputlangs, $object = null, $parameters = null, $callfunc = "completesubstitutionarray") { global $conf,$user; @@ -6234,7 +6234,7 @@ function complete_substitutions_array(&$substitutionarray, $outputlangs, $object * @param Translate $outputlangs Output language * @return void */ -function print_date_range($date_start,$date_end,$format = '',$outputlangs='') +function print_date_range($date_start, $date_end, $format = '', $outputlangs = '') { print get_date_range($date_start,$date_end,$format,$outputlangs); } @@ -6249,7 +6249,7 @@ function print_date_range($date_start,$date_end,$format = '',$outputlangs='') * @param integer $withparenthesis 1=Add parenthesis, 0=non parenthesis * @return string String */ -function get_date_range($date_start,$date_end,$format = '',$outputlangs='', $withparenthesis=1) +function get_date_range($date_start, $date_end, $format = '', $outputlangs = '', $withparenthesis = 1) { global $langs; @@ -6281,7 +6281,7 @@ function get_date_range($date_start,$date_end,$format = '',$outputlangs='', $wit * @param int $nameorder -1=Auto, 0=Lastname+Firstname, 1=Firstname+Lastname, 2=Firstname, 3=Firstname if defined else lastname * @return string Firstname + lastname or Lastname + firstname */ -function dolGetFirstLastname($firstname,$lastname,$nameorder=-1) +function dolGetFirstLastname($firstname, $lastname, $nameorder = -1) { global $conf; @@ -6322,7 +6322,7 @@ function dolGetFirstLastname($firstname,$lastname,$nameorder=-1) * @return void * @see dol_htmloutput_events */ -function setEventMessage($mesgs, $style='mesgs') +function setEventMessage($mesgs, $style = 'mesgs') { //dol_syslog(__FUNCTION__ . " is deprecated", LOG_WARNING); This is not deprecated, it is used by setEventMessages function if (! is_array($mesgs)) // If mesgs is a string @@ -6348,7 +6348,7 @@ function setEventMessage($mesgs, $style='mesgs') * @return void * @see dol_htmloutput_events */ -function setEventMessages($mesg, $mesgs, $style='mesgs') +function setEventMessages($mesg, $mesgs, $style = 'mesgs') { if (empty($mesg) && empty($mesgs)) { @@ -6375,7 +6375,7 @@ function setEventMessages($mesg, $mesgs, $style='mesgs') * @return void * @see dol_htmloutput_mesg */ -function dol_htmloutput_events($disabledoutputofmessages=0) +function dol_htmloutput_events($disabledoutputofmessages = 0) { // Show mesgs if (isset($_SESSION['dol_events']['mesgs'])) { @@ -6410,7 +6410,7 @@ function dol_htmloutput_events($disabledoutputofmessages=0) * @see dol_htmloutput_errors * @see setEventMessages */ -function get_htmloutput_mesg($mesgstring='',$mesgarray='', $style='ok', $keepembedded=0) +function get_htmloutput_mesg($mesgstring = '', $mesgarray = '', $style = 'ok', $keepembedded = 0) { global $conf, $langs; @@ -6486,7 +6486,7 @@ function get_htmloutput_mesg($mesgstring='',$mesgarray='', $style='ok', $keepemb * @see dol_print_error * @see dol_htmloutput_mesg */ -function get_htmloutput_errors($mesgstring='', $mesgarray=array(), $keepembedded=0) +function get_htmloutput_errors($mesgstring = '', $mesgarray = array(), $keepembedded = 0) { return get_htmloutput_mesg($mesgstring, $mesgarray,'error',$keepembedded); } @@ -6504,7 +6504,7 @@ function get_htmloutput_errors($mesgstring='', $mesgarray=array(), $keepembedded * @see dol_htmloutput_errors * @see setEventMessages */ -function dol_htmloutput_mesg($mesgstring = '',$mesgarray = array(), $style = 'ok', $keepembedded=0) +function dol_htmloutput_mesg($mesgstring = '', $mesgarray = array(), $style = 'ok', $keepembedded = 0) { if (empty($mesgstring) && (! is_array($mesgarray) || count($mesgarray) == 0)) return; @@ -6558,7 +6558,7 @@ function dol_htmloutput_mesg($mesgstring = '',$mesgarray = array(), $style = 'ok * @see dol_print_error * @see dol_htmloutput_mesg */ -function dol_htmloutput_errors($mesgstring='', $mesgarray=array(), $keepembedded=0) +function dol_htmloutput_errors($mesgstring = '', $mesgarray = array(), $keepembedded = 0) { dol_htmloutput_mesg($mesgstring, $mesgarray, 'error', $keepembedded); } @@ -6576,7 +6576,7 @@ function dol_htmloutput_errors($mesgstring='', $mesgarray=array(), $keepembedded * @param int $keepindex If 0 and index key of array to sort is a numeric, than index will be rewrote. If 1 or index key is not numeric, key for index is kept after sorting. * @return array Sorted array */ -function dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0, $keepindex=0) +function dol_sort_array(&$array, $index, $order = 'asc', $natsort = 0, $case_sensitive = 0, $keepindex = 0) { // Clean parameters $order=strtolower($order); @@ -6672,7 +6672,7 @@ function dol_osencode($str) * @return int <0 if KO, Id of code if OK * @see $langs->getLabelFromKey */ -function dol_getIdFromCode($db, $key, $tablename, $fieldkey='code', $fieldid='id', $entityfilter=0) +function dol_getIdFromCode($db, $key, $tablename, $fieldkey = 'code', $fieldid = 'id', $entityfilter = 0) { global $cache_codes; @@ -6739,7 +6739,7 @@ function verifCond($strRights) * @param int $hideerrors 1=Hide errors * @return mixed Nothing or return of eval */ -function dol_eval($s, $returnvalue=0, $hideerrors=1) +function dol_eval($s, $returnvalue = 0, $hideerrors = 1) { // Only global variables can be changed by eval function and returned to caller global $db, $langs, $user, $conf, $website, $websitepage; @@ -7049,7 +7049,7 @@ function getLanguageCodeFromCountryCode($countrycode) * @param string $mode 'add' to complete head, 'remove' to remove entries * @return void */ -function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode='add') +function complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type, $mode = 'add') { global $hookmanager; @@ -7144,7 +7144,7 @@ function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode= * @param string $zone 'private' (for private pages) or 'public' (for public pages) * @return void */ -function printCommonFooter($zone='private') +function printCommonFooter($zone = 'private') { global $conf, $hookmanager, $user; global $action; @@ -7405,7 +7405,7 @@ function dol_getmypid() * @param integer $nofirstand 1=Do not output the first 'AND' * @return string $res The statement to append to the SQL query */ -function natural_search($fields, $value, $mode=0, $nofirstand=0) +function natural_search($fields, $value, $mode = 0, $nofirstand = 0) { global $db,$langs; @@ -7588,7 +7588,7 @@ function showDirectDownloadLink($object) * @param string $extImgTarget Force image extension for thumbs. Use '' to keep same extension than original image (default). * @return string New file name (full or relative path, including the thumbs/) */ -function getImageFileNameForSize($file, $extName, $extImgTarget='') +function getImageFileNameForSize($file, $extName, $extImgTarget = '') { $dirName = dirname($file); if ($dirName == '.') $dirName=''; @@ -7620,7 +7620,7 @@ function getImageFileNameForSize($file, $extName, $extImgTarget='') * @param string $param More param on http links * @return string|array Output string with href link or array with all components of link */ -function getAdvancedPreviewUrl($modulepart, $relativepath, $alldata=0, $param='') +function getAdvancedPreviewUrl($modulepart, $relativepath, $alldata = 0, $param = '') { global $conf, $langs; @@ -7650,7 +7650,7 @@ function getAdvancedPreviewUrl($modulepart, $relativepath, $alldata=0, $param='' * @param string $addlink Add a 'link to' after * @return string */ -function ajax_autoselect($htmlname, $addlink='') +function ajax_autoselect($htmlname, $addlink = '') { global $langs; $out = '<script> @@ -7672,7 +7672,7 @@ function ajax_autoselect($htmlname, $addlink='') * @return string Return a mime type family (text/xxx, application/xxx, image/xxx, audio, video, archive) * @see image_format_supported (images.lib.php) */ -function dol_mimetype($file, $default='application/octet-stream', $mode=0) +function dol_mimetype($file, $default = 'application/octet-stream', $mode = 0) { $mime=$default; $imgmime='other.png'; @@ -7788,7 +7788,7 @@ function dol_mimetype($file, $default='application/octet-stream', $mode=0) * @param string $rowidfield name of the column rowid * @return string */ -function getDictvalue($tablename, $field, $id, $checkentity=false, $rowidfield='rowid') +function getDictvalue($tablename, $field, $id, $checkentity = false, $rowidfield = 'rowid') { global $dictvalues,$db,$langs; @@ -7894,7 +7894,7 @@ function isVisibleToUserType($type_user, &$menuentry, &$listofmodulesforexternal * @param integer $x Multiple. For example 60 to round up to nearest exact minute for a date with seconds. * @return integer Value rounded. */ -function roundUpToNextMultiple($n, $x=5) +function roundUpToNextMultiple($n, $x = 5) { return (ceil($n)%$x === 0) ? ceil($n) : round(($n+$x/2)/$x)*$x; } diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index aae70adfb62..db264909819 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -78,7 +78,7 @@ function jsUnEscape($source) * @param string $subdir Sub directory (Example: '/mailings') * @return array Array of directories that can contains module descriptors */ -function dolGetModulesDirs($subdir='') +function dolGetModulesDirs($subdir = '') { global $conf; @@ -142,7 +142,7 @@ function dol_getDefaultFormat(Translate $outputlangs = null) * @param int $searchalt 1=Search also in alternative languages * @return boolean true if OK, false if KO */ -function dol_print_file($langs,$filename,$searchalt=0) +function dol_print_file($langs, $filename, $searchalt = 0) { global $conf; @@ -192,7 +192,7 @@ function dol_print_file($langs,$filename,$searchalt=0) * @param int $usetable Output into a table * @return void */ -function dol_print_object_info($object, $usetable=0) +function dol_print_object_info($object, $usetable = 0) { global $langs, $db; @@ -528,7 +528,7 @@ function isValidMailDomain($mail) * @param int $anchor 1: verify anchor is provided, 0: not verify anchor * @return int 1=Check is OK, 0=Check is KO */ -function isValidUrl($url,$http=0,$pass=0,$port=0,$path=0,$query=0,$anchor=0) +function isValidUrl($url, $http = 0, $pass = 0, $port = 0, $path = 0, $query = 0, $anchor = 0) { $ValidUrl = 0; $urlregex = ''; @@ -571,7 +571,7 @@ function isValidUrl($url,$http=0,$pass=0,$port=0,$path=0,$query=0,$anchor=0) * @param integer $http 1 = keep both http:// and https://, 0: remove http:// but not https:// * @return string Cleaned url */ -function clean_url($url,$http=1) +function clean_url($url, $http = 1) { // Fixed by Matelli (see http://matelli.fr/showcases/patchs-dolibarr/fix-cleaning-url.html) // To include the minus sign in a char class, we must not escape it but put it at the end of the class @@ -617,7 +617,7 @@ function clean_url($url,$http=1) * @param bool $displaytld Display tld (default: true) * @return string Return email with hidden parts or ''; */ -function dolObfuscateEmail($mail, $replace="*", $nbreplace=8, $nbdisplaymail=4, $nbdisplaydomain=3, $displaytld=true) +function dolObfuscateEmail($mail, $replace = "*", $nbreplace = 8, $nbdisplaymail = 4, $nbdisplaydomain = 3, $displaytld = true) { if(!isValidEmail($mail))return ''; $tab = explode('@', $mail); @@ -658,7 +658,7 @@ function dolObfuscateEmail($mail, $replace="*", $nbreplace=8, $nbdisplaymail=4, * @param string $tdoptions Options for td * @return string */ -function array2tr($data,$troptions='',$tdoptions='') +function array2tr($data, $troptions = '', $tdoptions = '') { $text = '<tr '.$troptions.'>' ; foreach($data as $key => $item){ @@ -678,7 +678,7 @@ function array2tr($data,$troptions='',$tdoptions='') * @param string $tdoptions Options for td * @return string */ -function array2table($data,$tableMarkup=1,$tableoptions='',$troptions='',$tdoptions='') +function array2table($data, $tableMarkup = 1, $tableoptions = '', $troptions = '', $tdoptions = '') { $text='' ; if($tableMarkup) $text = '<table '.$tableoptions.'>' ; @@ -712,7 +712,7 @@ function array2table($data,$tableMarkup=1,$tableoptions='',$troptions='',$tdopti * @param int $forceentity Entity id to force * @return string New value (numeric) or error message */ -function get_next_value($db,$mask,$table,$field,$where='',$objsoc='',$date='',$mode='next', $bentityon=true, $objuser=null, $forceentity=null) +function get_next_value($db, $mask, $table, $field, $where = '', $objsoc = '', $date = '', $mode = 'next', $bentityon = true, $objuser = null, $forceentity = null) { global $conf,$user; @@ -1193,7 +1193,7 @@ function get_string_between($string, $start, $end) * @param string $value Value * @return int|string <0 or error string if KO, 0 if OK */ -function check_value($mask,$value) +function check_value($mask, $value) { $result=0; @@ -1302,7 +1302,7 @@ function check_value($mask,$value) * @param boolean $upper Convert to tupper * @return string x */ -function binhex($bin, $pad=false, $upper=false) +function binhex($bin, $pad = false, $upper = false) { $last = dol_strlen($bin)-1; for($i=0; $i<=$last; $i++){ $x += $bin[$last-$i] * pow(2,$i); } @@ -1418,7 +1418,7 @@ function numero_semaine($time) * @param int $to_unit Nouvelle unite en puissance de 10 * @return float Masse convertie */ -function weight_convert($weight,&$from_unit,$to_unit) +function weight_convert($weight, &$from_unit, $to_unit) { /* Pour convertire 320 gr en Kg appeler * $f = -3 @@ -1522,7 +1522,7 @@ function dol_set_user_param($db, $conf, &$user, $tab) * @param Translate $langs Output language * @return string Formated reduction */ -function dol_print_reduction($reduction,$langs) +function dol_print_reduction($reduction, $langs) { $string = ''; if ($reduction == 100) @@ -1589,7 +1589,7 @@ function version_webserver() * @param int $maxfilenamelength Max length of value to show * @return mixed 0 if no module is activated, or array(key=>label). For modules that need directory scan, key is completed with ":filename". */ -function getListOfModels($db,$type,$maxfilenamelength=0) +function getListOfModels($db, $type, $maxfilenamelength = 0) { global $conf,$langs; $liste=array(); @@ -1714,7 +1714,7 @@ function is_ip($ip) * @param string $firstname Firstname * @return string Login */ -function dol_buildlogin($lastname,$firstname) +function dol_buildlogin($lastname, $firstname) { $login=strtolower(dol_string_unaccent($firstname)); $login.=($login?'.':''); @@ -1778,7 +1778,7 @@ function getSoapParams() * @param string $option More options * @return string URL of link to object id/type */ -function dolGetElementUrl($objectid,$objecttype,$withpicto=0,$option='') +function dolGetElementUrl($objectid, $objecttype, $withpicto = 0, $option = '') { global $db, $conf, $langs; @@ -2140,7 +2140,7 @@ function getElementProperties($element_type) * @param ref $element_ref Element ref (Use this if element_id but not both) * @return int|object object || 0 || -1 if error */ -function fetchObjectByElement($element_id, $element_type, $element_ref='') +function fetchObjectByElement($element_id, $element_type, $element_ref = '') { global $conf; global $db,$conf; @@ -2170,7 +2170,7 @@ function fetchObjectByElement($element_id, $element_type, $element_ref='') * @return string RGB hex value (without # before). For example: 'FF00FF', '01FF02' * @see colorStringToArray */ -function colorArrayToHex($arraycolor,$colorifnotfound='888888') +function colorArrayToHex($arraycolor, $colorifnotfound = '888888') { if (! is_array($arraycolor)) return $colorifnotfound; if (empty($arraycolor)) return $colorifnotfound; @@ -2187,7 +2187,7 @@ function colorArrayToHex($arraycolor,$colorifnotfound='888888') * @return string RGB hex value (without # before). For example: FF00FF * @see colorArrayToHex */ -function colorStringToArray($stringcolor,$colorifnotfound=array(88,88,88)) +function colorStringToArray($stringcolor, $colorifnotfound = array(88,88,88)) { if (is_array($stringcolor)) return $stringcolor; // If already into correct output format, we return as is $tmp=preg_match('/^#?([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])$/',$stringcolor,$reg); @@ -2316,7 +2316,7 @@ function getModuleDirForApiClass($module) * @param $max int Between 0 and 255 * @return String */ -function random_color_part($min=0,$max=255) +function random_color_part($min = 0, $max = 255) { return str_pad( dechex( mt_rand( $min, $max) ), 2, '0', STR_PAD_LEFT); } @@ -2328,7 +2328,7 @@ function random_color_part($min=0,$max=255) * @param $max int Between 0 and 255 * @return String */ -function random_color($min=0, $max=255) +function random_color($min = 0, $max = 255) { return random_color_part($min, $max) . random_color_part($min, $max) . random_color_part($min, $max); } diff --git a/htdocs/core/lib/functionsnumtoword.lib.php b/htdocs/core/lib/functionsnumtoword.lib.php index 9f04a81fa5f..20f99be09e3 100644 --- a/htdocs/core/lib/functionsnumtoword.lib.php +++ b/htdocs/core/lib/functionsnumtoword.lib.php @@ -33,7 +33,7 @@ * @param boolean $centimes 0=no centimes | 1=centimes to translate * @return string Text of the number */ -function dol_convertToWord($num, $langs, $currency=false, $centimes=false) +function dol_convertToWord($num, $langs, $currency = false, $centimes = false) { global $conf; @@ -144,7 +144,7 @@ function dol_convertToWord($num, $langs, $currency=false, $centimes=false) * @param string $numorcurrency 'number' or 'amount' * @return string Text of the number or -1 in case TOO LONG (more than 1000000000000.99) */ -function dolNumberToWord($numero, $langs, $numorcurrency='number') +function dolNumberToWord($numero, $langs, $numorcurrency = 'number') { // If the number is negative convert to positive and return -1 if is too long if ($numero < 0) $numero *= -1; diff --git a/htdocs/core/lib/geturl.lib.php b/htdocs/core/lib/geturl.lib.php index 418cc1418b5..2787b8f1209 100644 --- a/htdocs/core/lib/geturl.lib.php +++ b/htdocs/core/lib/geturl.lib.php @@ -31,7 +31,7 @@ * @param string[] $addheaders Array of string to add into header. Example: ('Accept: application/xrds+xml', ....) * @return array Returns an associative array containing the response from the server array('content'=>response,'curl_error_no'=>errno,'curl_error_msg'=>errmsg...) */ -function getURLContent($url,$postorget='GET',$param='',$followlocation=1,$addheaders=array()) +function getURLContent($url, $postorget = 'GET', $param = '', $followlocation = 1, $addheaders = array()) { //declaring of global variables global $conf, $langs; diff --git a/htdocs/core/lib/images.lib.php b/htdocs/core/lib/images.lib.php index a37bd2818a1..0bc0ac8f7a5 100644 --- a/htdocs/core/lib/images.lib.php +++ b/htdocs/core/lib/images.lib.php @@ -106,7 +106,7 @@ function dol_getImageSize($file, $url = false) * @param int $src_y Position of croping image in source image (not use if mode=0) * @return int File name if OK, error message if KO */ -function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x=0, $src_y=0) +function dol_imageResizeOrCrop($file, $mode, $newWidth, $newHeight, $src_x = 0, $src_y = 0) { require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; @@ -349,7 +349,7 @@ function dolRotateImage($file_path) * @param int $targetformat New format of target (IMAGETYPE_GIF, IMAGETYPE_JPG, IMAGETYPE_PNG, IMAGETYPE_BMP, IMAGETYPE_WBMP ... or 0 to keep old format) * @return string Full path of thumb or '' if it fails or 'Error...' if it fails */ -function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $quality=50, $outdir='thumbs', $targetformat=0) +function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName = '_small', $quality = 50, $outdir = 'thumbs', $targetformat = 0) { require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; diff --git a/htdocs/core/lib/import.lib.php b/htdocs/core/lib/import.lib.php index c3b8beac249..71e47554ac4 100644 --- a/htdocs/core/lib/import.lib.php +++ b/htdocs/core/lib/import.lib.php @@ -32,7 +32,7 @@ * @param int $maxstep Limit steps to maxstep or no limit if 0 * @return array Array of tabs */ -function import_prepare_head($param, $maxstep=0) +function import_prepare_head($param, $maxstep = 0) { global $langs; diff --git a/htdocs/core/lib/invoice2.lib.php b/htdocs/core/lib/invoice2.lib.php index f511d12da21..227d9ee24ec 100644 --- a/htdocs/core/lib/invoice2.lib.php +++ b/htdocs/core/lib/invoice2.lib.php @@ -48,7 +48,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; * @param string $fileprefix Prefix to add into filename of generated PDF * @return int Error code */ -function rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filter, $dateafterdate, $datebeforedate, $paymentdateafter, $paymentdatebefore, $usestdout, $regenerate=0, $filesuffix='', $paymentbankid='', $thirdpartiesid='', $fileprefix='mergedpdf') +function rebuild_merge_pdf($db, $langs, $conf, $diroutputpdf, $newlangid, $filter, $dateafterdate, $datebeforedate, $paymentdateafter, $paymentdatebefore, $usestdout, $regenerate = 0, $filesuffix = '', $paymentbankid = '', $thirdpartiesid = '', $fileprefix = 'mergedpdf') { $sql = "SELECT DISTINCT f.rowid, f.ref"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; diff --git a/htdocs/core/lib/ldap.lib.php b/htdocs/core/lib/ldap.lib.php index 9f2e55153d0..28e75d494e9 100644 --- a/htdocs/core/lib/ldap.lib.php +++ b/htdocs/core/lib/ldap.lib.php @@ -103,7 +103,7 @@ function ldap_prepare_head() * @param string $objectclass Class * @return void */ -function show_ldap_test_button($butlabel,$testlabel,$key,$dn,$objectclass) +function show_ldap_test_button($butlabel, $testlabel, $key, $dn, $objectclass) { global $langs, $conf, $user; //print 'key='.$key.' dn='.$dn.' objectclass='.$objectclass; @@ -141,7 +141,7 @@ function show_ldap_test_button($butlabel,$testlabel,$key,$dn,$objectclass) * @param int $subcount Subcount * @return int */ -function show_ldap_content($result,$level,$count,$var,$hide=0,$subcount=0) +function show_ldap_content($result, $level, $count, $var, $hide = 0, $subcount = 0) { global $bc, $conf; diff --git a/htdocs/core/lib/memory.lib.php b/htdocs/core/lib/memory.lib.php index 69c127f915c..c8e594f549a 100644 --- a/htdocs/core/lib/memory.lib.php +++ b/htdocs/core/lib/memory.lib.php @@ -39,7 +39,7 @@ $shmoffset=1000; // Max number of entries found into a language file. If too low * @param string $data Data to save * @return int <0 if KO, Nb of bytes written if OK */ -function dol_setcache($memoryid,$data) +function dol_setcache($memoryid, $data) { global $conf; $result=0; @@ -214,7 +214,7 @@ function dol_listshmop() * @param string $data Data to save * @return int <0 if KO, Nb of bytes written if OK */ -function dol_setshmop($memoryid,$data) +function dol_setshmop($memoryid, $data) { global $shmkeys,$shmoffset; diff --git a/htdocs/core/lib/modulebuilder.lib.php b/htdocs/core/lib/modulebuilder.lib.php index 4981e0fffd0..57928341302 100644 --- a/htdocs/core/lib/modulebuilder.lib.php +++ b/htdocs/core/lib/modulebuilder.lib.php @@ -37,7 +37,7 @@ * @return int|object <=0 if KO, Object if OK * @see rebuildObjectSql */ -function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir='', $addfieldentry=array() ,$delfieldentry='') +function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir = '', $addfieldentry = array(), $delfieldentry = '') { global $db, $langs; @@ -210,7 +210,7 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir=' * @return int <=0 if KO, >0 if OK * @see rebuildObjectClass */ -function rebuildObjectSql($destdir, $module, $objectname, $newmask, $readdir='', $object=null) +function rebuildObjectSql($destdir, $module, $objectname, $newmask, $readdir = '', $object = null) { global $db, $langs; diff --git a/htdocs/core/lib/parsemd.lib.php b/htdocs/core/lib/parsemd.lib.php index 13334fd400c..8fb3a1eecca 100644 --- a/htdocs/core/lib/parsemd.lib.php +++ b/htdocs/core/lib/parsemd.lib.php @@ -29,7 +29,7 @@ * @param string $replaceimagepath Replace path to image with another path. Exemple: ('doc/'=>'xxx/aaa/') * @return string Parsed content */ -function dolMd2Html($content, $parser='parsedown',$replaceimagepath=null) +function dolMd2Html($content, $parser = 'parsedown', $replaceimagepath = null) { if (is_array($replaceimagepath)) { diff --git a/htdocs/core/lib/payments.lib.php b/htdocs/core/lib/payments.lib.php index 0119b0f0ee5..28f899096bb 100644 --- a/htdocs/core/lib/payments.lib.php +++ b/htdocs/core/lib/payments.lib.php @@ -95,7 +95,7 @@ function payment_supplier_prepare_head(Paiement $object) * @param string $paymentmethod Filter on this payment method (''=none, 'paypal', ...) * @return array Array of valid payment method */ -function getValidOnlinePaymentMethods($paymentmethod='') +function getValidOnlinePaymentMethods($paymentmethod = '') { global $conf; @@ -123,7 +123,7 @@ function getValidOnlinePaymentMethods($paymentmethod='') * @param string $ref Ref of object * @return string Url string */ -function showOnlinePaymentUrl($type,$ref) +function showOnlinePaymentUrl($type, $ref) { global $conf, $langs; @@ -149,7 +149,7 @@ function showOnlinePaymentUrl($type,$ref) * @param string $freetag Free tag * @return string Url string */ -function getOnlinePaymentUrl($mode, $type, $ref='', $amount='9.99', $freetag='your_free_tag') +function getOnlinePaymentUrl($mode, $type, $ref = '', $amount = '9.99', $freetag = 'your_free_tag') { global $conf; @@ -274,7 +274,7 @@ function getOnlinePaymentUrl($mode, $type, $ref='', $amount='9.99', $freetag='yo * @param Object $object Object related to payment * @return void */ -function htmlPrintOnlinePaymentFooter($fromcompany, $langs, $addformmessage=0, $suffix='', $object=null) +function htmlPrintOnlinePaymentFooter($fromcompany, $langs, $addformmessage = 0, $suffix = '', $object = null) { global $conf; diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 056796032d4..7b624a02f8a 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -79,7 +79,7 @@ function pdf_getFormat(Translate $outputlangs = null) * @param string $pagetype 'P' or 'l' * @return TCPDF PDF object */ -function pdf_getInstance($format='',$metric='mm',$pagetype='P') +function pdf_getInstance($format = '', $metric = 'mm', $pagetype = 'P') { global $conf; @@ -316,7 +316,7 @@ function pdfGetHeightForHtmlContent(&$pdf, $htmlcontent) * @param int $includealias 1=Include alias name after name * @return string String with name of thirdparty (+ alias if requested) */ -function pdfBuildThirdpartyName($thirdparty, Translate $outputlangs, $includealias=0) +function pdfBuildThirdpartyName($thirdparty, Translate $outputlangs, $includealias = 0) { global $conf; @@ -350,7 +350,7 @@ function pdfBuildThirdpartyName($thirdparty, Translate $outputlangs, $includeali * @param Object $object Object we want to build document for * @return string String with full address */ -function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$targetcontact='',$usecontact=0,$mode='source',$object=null) +function pdf_build_address($outputlangs, $sourcecompany, $targetcompany = '', $targetcontact = '', $usecontact = 0, $mode = 'source', $object = null) { global $conf, $hookmanager; @@ -597,7 +597,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target * @param int $page_height Height of page * @return void */ -function pdf_pagehead(&$pdf,$outputlangs,$page_height) +function pdf_pagehead(&$pdf, $outputlangs, $page_height) { global $conf; @@ -620,7 +620,7 @@ function pdf_pagehead(&$pdf,$outputlangs,$page_height) * @param int $onlykey 1=Do not calculate some heavy values of keys (performance enhancement when we need only the keys), 2=Values are truncated and html sanitized (to use for help tooltip) * @return array Array of substitutions */ -function pdf_getSubstitutionArray($outputlangs, $exclude=null, $object=null, $onlykey=0) +function pdf_getSubstitutionArray($outputlangs, $exclude = null, $object = null, $onlykey = 0) { $substitutionarray = getCommonSubstitutionArray($outputlangs, $onlykey, $exclude, $object); $substitutionarray['__FROM_NAME__']='__FROM_NAME__'; @@ -689,7 +689,7 @@ function pdf_watermark(&$pdf, $outputlangs, $h, $w, $unit, $text) * @param int $default_font_size Default font size * @return float The Y PDF position */ -function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default_font_size=10) +function pdf_bank(&$pdf, $outputlangs, $curx, $cury, $account, $onlynumber = 0, $default_font_size = 10) { global $mysoc, $conf; @@ -869,7 +869,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default * @param int $hidefreetext 1=Hide free text, 0=Show free text * @return int Return height of bottom margin including footer text */ -function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_basse,$marge_gauche,$page_hauteur,$object,$showdetails=0,$hidefreetext=0) +function pdf_pagefoot(&$pdf, $outputlangs, $paramfreetext, $fromcompany, $marge_basse, $marge_gauche, $page_hauteur, $object, $showdetails = 0, $hidefreetext = 0) { global $conf,$user,$mysoc; @@ -1116,7 +1116,7 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass * @param string $default_font_size Font size * @return float The Y PDF position */ -function pdf_writeLinkedObjects(&$pdf,$object,$outputlangs,$posx,$posy,$w,$h,$align,$default_font_size) +function pdf_writeLinkedObjects(&$pdf, $object, $outputlangs, $posx, $posy, $w, $h, $align, $default_font_size) { $linkedobjects = pdf_getLinkedObjects($object,$outputlangs); if (! empty($linkedobjects)) @@ -1155,7 +1155,7 @@ function pdf_writeLinkedObjects(&$pdf,$object,$outputlangs,$posx,$posy,$w,$h,$al * @param int $issupplierline Is it a line for a supplier object ? * @return string */ -function pdf_writelinedesc(&$pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy,$hideref=0,$hidedesc=0,$issupplierline=0) +function pdf_writelinedesc(&$pdf, $object, $i, $outputlangs, $w, $h, $posx, $posy, $hideref = 0, $hidedesc = 0, $issupplierline = 0) { global $db, $conf, $langs, $hookmanager; @@ -1193,7 +1193,7 @@ function pdf_writelinedesc(&$pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy,$hide * @param int $issupplierline Is it a line for a supplier object ? * @return string String with line */ -function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issupplierline=0) +function pdf_getlinedesc($object, $i, $outputlangs, $hideref = 0, $hidedesc = 0, $issupplierline = 0) { global $db, $conf, $langs; @@ -1422,7 +1422,7 @@ function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issuppl * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlinenum($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlinenum($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager; @@ -1455,7 +1455,7 @@ function pdf_getlinenum($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlineref($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineref($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager; @@ -1487,7 +1487,7 @@ function pdf_getlineref($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlineref_supplier($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineref_supplier($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager; @@ -1519,7 +1519,7 @@ function pdf_getlineref_supplier($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails=0) +function pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails = 0) { global $conf, $hookmanager, $mysoc; @@ -1578,7 +1578,7 @@ function pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails=0) * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlineupexcltax($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineupexcltax($object, $i, $outputlangs, $hidedetails = 0) { global $conf, $hookmanager; @@ -1618,7 +1618,7 @@ function pdf_getlineupexcltax($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide value (0 = no, 1 = yes, 2 = just special lines) * @return string */ -function pdf_getlineupwithtax($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineupwithtax($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager,$conf; @@ -1654,7 +1654,7 @@ function pdf_getlineupwithtax($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlineqty($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineqty($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager; @@ -1688,7 +1688,7 @@ function pdf_getlineqty($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlineqty_asked($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineqty_asked($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager; @@ -1722,7 +1722,7 @@ function pdf_getlineqty_asked($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlineqty_shipped($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineqty_shipped($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager; @@ -1756,7 +1756,7 @@ function pdf_getlineqty_shipped($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlineqty_keeptoship($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineqty_keeptoship($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager; @@ -1833,7 +1833,7 @@ function pdf_getlineunit($object, $i, $outputlangs, $hidedetails = 0, $hookmanag * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string */ -function pdf_getlineremisepercent($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlineremisepercent($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager; @@ -1918,7 +1918,7 @@ function pdf_getlineprogress($object, $i, $outputlangs, $hidedetails = 0, $hookm * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return string Return total of line excl tax */ -function pdf_getlinetotalexcltax($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlinetotalexcltax($object, $i, $outputlangs, $hidedetails = 0) { global $conf, $hookmanager; @@ -1974,7 +1974,7 @@ function pdf_getlinetotalexcltax($object,$i,$outputlangs,$hidedetails=0) * @param int $hidedetails Hide value (0 = no, 1 = yes, 2 = just special lines) * @return string Return total of line incl tax */ -function pdf_getlinetotalwithtax($object,$i,$outputlangs,$hidedetails=0) +function pdf_getlinetotalwithtax($object, $i, $outputlangs, $hidedetails = 0) { global $hookmanager,$conf; @@ -2014,7 +2014,7 @@ function pdf_getlinetotalwithtax($object,$i,$outputlangs,$hidedetails=0) * @return integer * @deprecated Not used by Dolibarr core, so will be removed. */ -function pdf_getTotalQty($object,$type,$outputlangs) +function pdf_getTotalQty($object, $type, $outputlangs) { global $hookmanager; @@ -2061,7 +2061,7 @@ function pdf_getTotalQty($object,$type,$outputlangs) * @param Translate $outputlangs Object lang for output * @return array Linked objects */ -function pdf_getLinkedObjects($object,$outputlangs) +function pdf_getLinkedObjects($object, $outputlangs) { global $hookmanager; diff --git a/htdocs/core/lib/price.lib.php b/htdocs/core/lib/price.lib.php index 0b9f3a3b246..38a45fd96f1 100644 --- a/htdocs/core/lib/price.lib.php +++ b/htdocs/core/lib/price.lib.php @@ -82,7 +82,7 @@ * 25=multicurrency_total_tax1 for total_ht * 26=multicurrency_total_tax2 for total_ht */ -function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocaltax1_rate, $uselocaltax2_rate, $remise_percent_global, $price_base_type, $info_bits, $type, $seller = '', $localtaxes_array='', $progress=100, $multicurrency_tx=1, $pu_devise=0) +function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocaltax1_rate, $uselocaltax2_rate, $remise_percent_global, $price_base_type, $info_bits, $type, $seller = '', $localtaxes_array = '', $progress = 100, $multicurrency_tx = 1, $pu_devise = 0) { global $conf,$mysoc,$db; diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index 68e78a29d76..e1f7e316e20 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -317,7 +317,7 @@ function product_lot_admin_prepare_head() * @param int $socid Thirdparty id * @return integer NB of lines shown into array */ -function show_stats_for_company($product,$socid) +function show_stats_for_company($product, $socid) { global $conf,$langs,$user,$db; @@ -470,7 +470,7 @@ function show_stats_for_company($product,$socid) * @return string Unit string * @see formproduct->load_measuring_units */ -function measuring_units_string($unit,$measuring_style='') +function measuring_units_string($unit, $measuring_style = '') { global $langs; diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 8b6ca6a5ca3..80bb9a555b4 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -251,7 +251,7 @@ function task_prepare_head($object) * @param string $fuser Filter on user * @return array Array of tabs to show */ -function project_timesheet_prepare_head($mode, $fuser=null) +function project_timesheet_prepare_head($mode, $fuser = null) { global $langs, $conf, $user; $h = 0; @@ -347,7 +347,7 @@ function project_admin_prepare_head() * @param string $filterprogresscalc filter text * @return void */ -function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$taskrole, $projectsListId='', $addordertick=0, $projectidfortotallink=0, $filterprogresscalc='') +function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$taskrole, $projectsListId = '', $addordertick = 0, $projectidfortotallink = 0, $filterprogresscalc = '') { global $user, $bc, $langs, $conf, $db; global $projectstatic, $taskstatic; @@ -647,7 +647,7 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t * @param int $oldprojectforbreak Old project id of last project break * @return array Array with time spent for $fuser for each day of week on tasks in $lines and substasks */ -function projectLinesPerAction(&$inc, $parent, $fuser, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask, $preselectedday, &$isavailable, $oldprojectforbreak=0) +function projectLinesPerAction(&$inc, $parent, $fuser, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask, $preselectedday, &$isavailable, $oldprojectforbreak = 0) { global $conf, $db, $user, $bc, $langs; global $form, $formother, $projectstatic, $taskstatic, $thirdpartystatic; @@ -873,7 +873,7 @@ function projectLinesPerAction(&$inc, $parent, $fuser, $lines, &$level, &$projec * @param int $oldprojectforbreak Old project id of last project break * @return array Array with time spent for $fuser for each day of week on tasks in $lines and substasks */ -function projectLinesPerDay(&$inc, $parent, $fuser, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask, $preselectedday, &$isavailable, $oldprojectforbreak=0) +function projectLinesPerDay(&$inc, $parent, $fuser, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask, $preselectedday, &$isavailable, $oldprojectforbreak = 0) { global $conf, $db, $user, $bc, $langs; global $form, $formother, $projectstatic, $taskstatic, $thirdpartystatic; @@ -1162,7 +1162,7 @@ function projectLinesPerDay(&$inc, $parent, $fuser, $lines, &$level, &$projectsr * @param int $oldprojectforbreak Old project id of last project break * @return array Array with time spent for $fuser for each day of week on tasks in $lines and substasks */ -function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask, &$isavailable, $oldprojectforbreak=0) +function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask, &$isavailable, $oldprojectforbreak = 0) { global $conf, $db, $user, $bc, $langs; global $form, $formother, $projectstatic, $taskstatic, $thirdpartystatic; @@ -1473,7 +1473,7 @@ function searchTaskInChild(&$inc, $parent, &$lines, &$taskrole) * @param array $hiddenfields List of info to not show ('projectlabel', 'declaredprogress', '...', ) * @return void */ -function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks=0, $statut=-1, $listofoppstatus=array(),$hiddenfields=array()) +function print_projecttasks_array($db, $form, $socid, $projectsListId, $mytasks = 0, $statut = -1, $listofoppstatus = array(), $hiddenfields = array()) { global $langs,$conf,$user,$bc; diff --git a/htdocs/core/lib/report.lib.php b/htdocs/core/lib/report.lib.php index 5a8aa344240..e920b1a9909 100644 --- a/htdocs/core/lib/report.lib.php +++ b/htdocs/core/lib/report.lib.php @@ -38,7 +38,7 @@ * @param string $varlink Add a variable into the address of the page * @return void */ -function report_header($reportname,$notused,$period,$periodlink,$description,$builddate,$exportlink='',$moreparam=array(),$calcmode='', $varlink='') +function report_header($reportname, $notused, $period, $periodlink, $description, $builddate, $exportlink = '', $moreparam = array(), $calcmode = '', $varlink = '') { global $langs; diff --git a/htdocs/core/lib/security.lib.php b/htdocs/core/lib/security.lib.php index c7d59db13da..573be47c8df 100644 --- a/htdocs/core/lib/security.lib.php +++ b/htdocs/core/lib/security.lib.php @@ -34,7 +34,7 @@ * @return string encoded string * @see dol_decode */ -function dol_encode($chain, $key='1') +function dol_encode($chain, $key = '1') { if (is_numeric($key) && $key == '1') // rule 1 is offset of 17 for char { @@ -70,7 +70,7 @@ function dol_encode($chain, $key='1') * @return string decoded string * @see dol_encode */ -function dol_decode($chain, $key='1') +function dol_decode($chain, $key = '1') { $chain = base64_decode($chain); @@ -111,7 +111,7 @@ function dol_decode($chain, $key='1') * @return string Hash of string * @getRandomPassword */ -function dol_hash($chain, $type='0') +function dol_hash($chain, $type = '0') { global $conf; @@ -147,7 +147,7 @@ function dol_hash($chain, $type='0') * @param string $type Type of hash ('0':auto, '1':sha1, '2':sha1+md5, '3':md5, '4':md5 for OpenLdap, '5':sha256). Use '3' here, if hash is not needed for security purpose, for security need, prefer '0'. * @return bool True if the computed hash is the same as the given one */ -function dol_verifyHash($chain, $hash, $type='0') +function dol_verifyHash($chain, $hash, $type = '0') { global $conf; @@ -178,7 +178,7 @@ function dol_verifyHash($chain, $hash, $type='0') * @return int Always 1, die process if not allowed * @see dol_check_secure_access_document */ -function restrictedArea($user, $features, $objectid=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0) +function restrictedArea($user, $features, $objectid = 0, $tableandshare = '', $feature2 = '', $dbt_keyfield = 'fk_soc', $dbt_select = 'rowid', $isdraft = 0) { global $db, $conf; global $hookmanager; @@ -433,7 +433,7 @@ function restrictedArea($user, $features, $objectid=0, $tableandshare='', $featu * @return bool True if user has access, False otherwise * @see restrictedArea */ -function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandshare='', $feature2='', $dbt_keyfield='', $dbt_select='rowid') +function checkUserAccessToObject($user, $featuresarray, $objectid = 0, $tableandshare = '', $feature2 = '', $dbt_keyfield = '', $dbt_select = 'rowid') { global $db, $conf; @@ -657,7 +657,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid=0, $tableandsh * @param int $showonlymessage Show only message parameter. Otherwise add more information. * @return void */ -function accessforbidden($message='',$printheader=1,$printfooter=1,$showonlymessage=0) +function accessforbidden($message = '', $printheader = 1, $printfooter = 1, $showonlymessage = 0) { global $conf, $db, $user, $langs; if (! is_object($langs)) diff --git a/htdocs/core/lib/security2.lib.php b/htdocs/core/lib/security2.lib.php index c09cd7f78d3..313574f6d72 100644 --- a/htdocs/core/lib/security2.lib.php +++ b/htdocs/core/lib/security2.lib.php @@ -49,7 +49,7 @@ function dol_getwebuser($mode) * @param array $authmode Array list of selected authentication mode array('http', 'dolibarr', 'xxx'...) * @return string Login or '' */ -function checkLoginPassEntity($usertotest,$passwordtotest,$entitytotest,$authmode) +function checkLoginPassEntity($usertotest, $passwordtotest, $entitytotest, $authmode) { global $conf,$langs; //global $dolauthmode; // To return authentication finally used @@ -129,7 +129,7 @@ if (! function_exists('dol_loginfunction')) * @param Societe $mysoc Company object * @return void */ - function dol_loginfunction($langs,$conf,$mysoc) + function dol_loginfunction($langs, $conf, $mysoc) { global $dolibarr_main_demo,$db; global $smartphone,$hookmanager; @@ -313,7 +313,7 @@ if (! function_exists('dol_loginfunction')) * non defini=>renvoi un salt pour cryptage par defaut * @return string Salt string */ -function makesalt($type=CRYPT_SALT_LENGTH) +function makesalt($type = CRYPT_SALT_LENGTH) { dol_syslog("makesalt type=".$type); switch($type) @@ -340,7 +340,7 @@ function makesalt($type=CRYPT_SALT_LENGTH) * @param int $level Encode level: 0 no encoding, 1 encoding * @return int <0 if KO, >0 if OK */ -function encodedecode_dbpassconf($level=0) +function encodedecode_dbpassconf($level = 0) { dol_syslog("encodedecode_dbpassconf level=".$level, LOG_DEBUG); $config = ''; @@ -448,7 +448,7 @@ function encodedecode_dbpassconf($level=0) * @return string New value for password * @see dol_hash */ -function getRandomPassword($generic=false, $replaceambiguouschars=null) +function getRandomPassword($generic = false, $replaceambiguouschars = null) { global $db,$conf,$langs,$user; diff --git a/htdocs/core/lib/sendings.lib.php b/htdocs/core/lib/sendings.lib.php index be8aeb890fc..8ad2a91d3ea 100644 --- a/htdocs/core/lib/sendings.lib.php +++ b/htdocs/core/lib/sendings.lib.php @@ -174,7 +174,7 @@ function delivery_prepare_head($object) * @param string $filter Filter * @return int <0 if KO, >0 if OK */ -function show_list_sending_receive($origin,$origin_id,$filter='') +function show_list_sending_receive($origin, $origin_id, $filter = '') { global $db, $conf, $langs, $bc; global $form; diff --git a/htdocs/core/lib/signature.lib.php b/htdocs/core/lib/signature.lib.php index 2790c80c8e0..6f1ccdae258 100644 --- a/htdocs/core/lib/signature.lib.php +++ b/htdocs/core/lib/signature.lib.php @@ -24,7 +24,7 @@ * @param string $ref Ref of object * @return string Url string */ -function showOnlineSignatureUrl($type,$ref) +function showOnlineSignatureUrl($type, $ref) { global $conf, $langs; @@ -49,7 +49,7 @@ function showOnlineSignatureUrl($type,$ref) * @param string $ref Ref of object * @return string Url string */ -function getOnlineSignatureUrl($mode, $type, $ref='') +function getOnlineSignatureUrl($mode, $type, $ref = '') { global $conf, $db, $langs; diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index 7927bec0268..e45afe65af1 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -88,7 +88,7 @@ function tax_prepare_head(ChargeSociales $object) * @param int $q Quarter * @return array Array with details of VATs (per third parties), -1 if no accountancy module, -2 if not yet developped, -3 if error */ -function tax_by_thirdparty($type, $db, $y, $date_start, $date_end, $modetax, $direction, $m=0, $q=0) +function tax_by_thirdparty($type, $db, $y, $date_start, $date_end, $modetax, $direction, $m = 0, $q = 0) { global $conf; @@ -556,7 +556,7 @@ function tax_by_thirdparty($type, $db, $y, $date_start, $date_end, $modetax, $di * @param int $m Month * @return array Array with details of VATs (per rate), -1 if no accountancy module, -2 if not yet developped, -3 if error */ -function tax_by_rate($type, $db, $y, $q, $date_start, $date_end, $modetax, $direction, $m=0) +function tax_by_rate($type, $db, $y, $q, $date_start, $date_end, $modetax, $direction, $m = 0) { global $conf; diff --git a/htdocs/core/lib/ticket.lib.php b/htdocs/core/lib/ticket.lib.php index 735050af437..19407852066 100644 --- a/htdocs/core/lib/ticket.lib.php +++ b/htdocs/core/lib/ticket.lib.php @@ -126,7 +126,7 @@ function ticket_prepare_head($object) * @param string $car Char to generate key * @return void */ -function generate_random_id($car=16) +function generate_random_id($car = 16) { $string = ""; $chaine = "abcdefghijklmnopqrstuvwxyz123456789"; diff --git a/htdocs/core/lib/treeview.lib.php b/htdocs/core/lib/treeview.lib.php index 6c66079090a..d8242521f70 100644 --- a/htdocs/core/lib/treeview.lib.php +++ b/htdocs/core/lib/treeview.lib.php @@ -33,7 +33,7 @@ * @param int $silent Do not output indent and picto, returns only value * @return integer[] array(0 or 1 if at least one of this level after, 0 or 1 if at least one of higher level after, nbofdirinsub, nbofdocinsub) */ -function tree_showpad(&$fulltree,$key,$silent=0) +function tree_showpad(&$fulltree, $key, $silent = 0) { $pos=1; @@ -113,7 +113,7 @@ function tree_showpad(&$fulltree,$key,$silent=0) * @param int $showfk 1=show fk_links to parent into label (used by menu editor only) * @return void */ -function tree_recur($tab, $pere, $rang, $iddivjstree='iddivjstree', $donoresetalreadyloaded=0, $showfk=0) +function tree_recur($tab, $pere, $rang, $iddivjstree = 'iddivjstree', $donoresetalreadyloaded = 0, $showfk = 0) { global $tree_recur_alreadyadded; diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 5747c0a5c0e..224d8407c48 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -295,7 +295,7 @@ function user_admin_prepare_head() * @param boolean $foruserprofile Show for user profile view * @return void */ -function show_theme($fuser,$edit=0,$foruserprofile=false) +function show_theme($fuser, $edit = 0, $foruserprofile = false) { global $conf,$langs,$db,$form; global $bc; diff --git a/htdocs/core/lib/website.lib.php b/htdocs/core/lib/website.lib.php index da16b0846c5..a66fd3971fd 100644 --- a/htdocs/core/lib/website.lib.php +++ b/htdocs/core/lib/website.lib.php @@ -33,7 +33,7 @@ * @return boolean True if OK * @see dolWebsiteOutput for function used to replace content in a web server context */ -function dolWebsiteReplacementOfLinks($website, $content, $removephppart=0) +function dolWebsiteReplacementOfLinks($website, $content, $removephppart = 0) { $nbrep = 0; @@ -102,7 +102,7 @@ function dolWebsiteReplacementOfLinks($website, $content, $removephppart=0) * @param string $replacewith String to use as replacement * @return string Result string without php code */ -function dolStripPhpCode($str, $replacewith='') +function dolStripPhpCode($str, $replacewith = '') { $newstr = ''; @@ -277,7 +277,7 @@ function dolWebsiteSaveContent($content) * @param int $containerid Id of container. * @return void */ -function redirectToContainer($containerref, $containeraliasalt='',$containerid=0) +function redirectToContainer($containerref, $containeraliasalt = '', $containerid = 0) { global $db, $website; @@ -412,7 +412,7 @@ function includeContainer($containerref) * @param string $grabimagesinto 'root' or 'subpage' * @return void */ -function getAllImages($object, $objectpage, $urltograb, &$tmp, &$action, $modifylinks=0, $grabimages=1, $grabimagesinto='subpage') +function getAllImages($object, $objectpage, $urltograb, &$tmp, &$action, $modifylinks = 0, $grabimages = 1, $grabimagesinto = 'subpage') { global $conf; diff --git a/htdocs/core/lib/ws.lib.php b/htdocs/core/lib/ws.lib.php index 533a13e1fb6..89e8f0da5bd 100644 --- a/htdocs/core/lib/ws.lib.php +++ b/htdocs/core/lib/ws.lib.php @@ -32,7 +32,7 @@ * @param string $errorlabel Error string label * @return User Return user object identified by login/pass/entity into authentication array */ -function check_authentication($authentication,&$error,&$errorcode,&$errorlabel) +function check_authentication($authentication, &$error, &$errorcode, &$errorlabel) { global $db,$conf,$langs; global $dolibarr_main_authentication,$dolibarr_auto_user; diff --git a/htdocs/core/lib/xcal.lib.php b/htdocs/core/lib/xcal.lib.php index 10d68475c97..01ce7fa3c60 100644 --- a/htdocs/core/lib/xcal.lib.php +++ b/htdocs/core/lib/xcal.lib.php @@ -32,7 +32,7 @@ * @param string $outputfile Output file * @return int <0 if ko, Nb of events in file if ok */ -function build_calfile($format,$title,$desc,$events_array,$outputfile) +function build_calfile($format, $title, $desc, $events_array, $outputfile) { global $conf,$langs; @@ -292,7 +292,7 @@ function build_calfile($format,$title,$desc,$events_array,$outputfile) * @param string $filter Filter * @return int <0 if ko, Nb of events in file if ok */ -function build_rssfile($format,$title,$desc,$events_array,$outputfile,$filter='') +function build_rssfile($format, $title, $desc, $events_array, $outputfile, $filter = '') { global $user,$conf,$langs; global $dolibarr_main_url_root; @@ -395,7 +395,7 @@ function build_rssfile($format,$title,$desc,$events_array,$outputfile,$filter='' * @param string $string string to encode * @return string string encoded */ -function format_cal($format,$string) +function format_cal($format, $string) { global $conf; @@ -476,7 +476,7 @@ function calEncode($line) * @param int $forcal 1=For cal * @return string String converted */ -function quotedPrintEncode($str,$forcal=0) +function quotedPrintEncode($str, $forcal = 0) { $lines = preg_split("/\r\n/", $str); $out = ''; diff --git a/htdocs/core/login/functions_dolibarr.php b/htdocs/core/login/functions_dolibarr.php index 70cb1e4fa86..00615c30f0e 100644 --- a/htdocs/core/login/functions_dolibarr.php +++ b/htdocs/core/login/functions_dolibarr.php @@ -33,7 +33,7 @@ * @param int $entitytotest Number of instance (always 1 if module multicompany not enabled) * @return string Login if OK, '' if KO */ -function check_user_password_dolibarr($usertotest,$passwordtotest,$entitytotest=1) +function check_user_password_dolibarr($usertotest, $passwordtotest, $entitytotest = 1) { global $db,$conf,$langs; diff --git a/htdocs/core/login/functions_empty.php b/htdocs/core/login/functions_empty.php index a8b90de0e46..9d57e53832b 100644 --- a/htdocs/core/login/functions_empty.php +++ b/htdocs/core/login/functions_empty.php @@ -31,7 +31,7 @@ * @param int $entitytotest Number of instance (always 1 if module multicompany not enabled) * @return string Login if OK, '' if KO */ -function check_user_password_empty($usertotest,$passwordtotest,$entitytotest) +function check_user_password_empty($usertotest, $passwordtotest, $entitytotest) { global $langs; diff --git a/htdocs/core/login/functions_forceuser.php b/htdocs/core/login/functions_forceuser.php index c337a0840b3..53e5f8beca9 100644 --- a/htdocs/core/login/functions_forceuser.php +++ b/htdocs/core/login/functions_forceuser.php @@ -32,7 +32,7 @@ * @param int $entitytotest Number of instance (always 1 if module multicompany not enabled) * @return string Login if OK, '' if KO */ -function check_user_password_forceuser($usertotest,$passwordtotest,$entitytotest) +function check_user_password_forceuser($usertotest, $passwordtotest, $entitytotest) { // Variable dolibarr_auto_user must be defined in conf.php file global $dolibarr_auto_user; diff --git a/htdocs/core/login/functions_http.php b/htdocs/core/login/functions_http.php index 285ebebbabf..0be350787b4 100644 --- a/htdocs/core/login/functions_http.php +++ b/htdocs/core/login/functions_http.php @@ -31,7 +31,7 @@ * @param int $entitytotest Number of instance (always 1 if module multicompany not enabled) * @return string Login if OK, '' if KO */ -function check_user_password_http($usertotest,$passwordtotest,$entitytotest) +function check_user_password_http($usertotest, $passwordtotest, $entitytotest) { dol_syslog("functions_http::check_user_password_http _SERVER[REMOTE_USER]=".(empty($_SERVER["REMOTE_USER"])?'':$_SERVER["REMOTE_USER"])); diff --git a/htdocs/core/login/functions_ldap.php b/htdocs/core/login/functions_ldap.php index 4587dbae11b..baedc488674 100644 --- a/htdocs/core/login/functions_ldap.php +++ b/htdocs/core/login/functions_ldap.php @@ -32,7 +32,7 @@ * @param int $entitytotest Number of instance (always 1 if module multicompany not enabled) * @return string Login if OK, '' if KO */ -function check_user_password_ldap($usertotest,$passwordtotest,$entitytotest) +function check_user_password_ldap($usertotest, $passwordtotest, $entitytotest) { global $db,$conf,$langs; global $_POST; diff --git a/htdocs/core/login/functions_openid.php b/htdocs/core/login/functions_openid.php index bc8d7f45122..ffba9c09fb6 100644 --- a/htdocs/core/login/functions_openid.php +++ b/htdocs/core/login/functions_openid.php @@ -34,7 +34,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/class/openid.class.php'; * @param int $entitytotest Number of instance (always 1 if module multicompany not enabled) * @return string Login if OK, '' if KO */ -function check_user_password_openid($usertotest,$passwordtotest,$entitytotest) +function check_user_password_openid($usertotest, $passwordtotest, $entitytotest) { global $_POST,$db,$conf,$langs; diff --git a/htdocs/core/menus/standard/auguria.lib.php b/htdocs/core/menus/standard/auguria.lib.php index 1ca94b38106..f6275348f07 100644 --- a/htdocs/core/menus/standard/auguria.lib.php +++ b/htdocs/core/menus/standard/auguria.lib.php @@ -37,7 +37,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php'; * @param string $mode 'top', 'topnb', 'left', 'jmobile' * @return int 0 */ -function print_auguria_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode='') +function print_auguria_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout = 0, $mode = '') { global $user,$conf,$langs,$dolibarr_main_db_name; @@ -164,7 +164,7 @@ function print_start_menu_array_auguria() * @param int $showmode 0 = hide, 1 = allowed or 2 = not allowed * @return void */ -function print_start_menu_entry_auguria($idsel,$classname,$showmode) +function print_start_menu_entry_auguria($idsel, $classname, $showmode) { if ($showmode) { @@ -255,7 +255,7 @@ function print_end_menu_array_auguria() * @param array $moredata An array with more data to output * @return int Nb of entries */ -function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabMenu,&$menu,$noout=0,$forcemainmenu='',$forceleftmenu='',$moredata=null) +function print_left_auguria_menu($db, $menu_array_before, $menu_array_after, &$tabMenu, &$menu, $noout = 0, $forcemainmenu = '', $forceleftmenu = '', $moredata = null) { global $user,$conf,$langs,$dolibarr_main_db_name,$mysoc; diff --git a/htdocs/core/menus/standard/auguria_menu.php b/htdocs/core/menus/standard/auguria_menu.php index f4cb98d9c4b..8427ca3085c 100644 --- a/htdocs/core/menus/standard/auguria_menu.php +++ b/htdocs/core/menus/standard/auguria_menu.php @@ -63,7 +63,7 @@ class MenuManager * @param string $forceleftmenu To force leftmenu to load * @return void */ - function loadMenu($forcemainmenu='',$forceleftmenu='') + function loadMenu($forcemainmenu = '', $forceleftmenu = '') { global $conf, $user, $langs; @@ -123,7 +123,7 @@ class MenuManager * @param array $moredata An array with more data to output * @return int 0 or nb of top menu entries if $mode = 'topnb' */ - function showmenu($mode, $moredata=null) + function showmenu($mode, $moredata = null) { global $conf, $langs, $user; diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 223cacaf26a..01ca42c9084 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -41,7 +41,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php'; * @param string $mode 'top', 'topnb', 'left', 'jmobile' * @return int 0 */ -function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode='') +function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout = 0, $mode = '') { global $user,$conf,$langs,$dolibarr_main_db_name; @@ -393,7 +393,7 @@ function print_start_menu_array() * @param int $showmode 0 = hide, 1 = allowed or 2 = not allowed * @return void */ -function print_start_menu_entry($idsel,$classname,$showmode) +function print_start_menu_entry($idsel, $classname, $showmode) { if ($showmode) { @@ -482,7 +482,7 @@ function print_end_menu_array() * @param array $moredata An array with more data to output * @return int nb of menu entries */ -function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu,&$menu,$noout=0,$forcemainmenu='',$forceleftmenu='',$moredata=null) +function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabMenu, &$menu, $noout = 0, $forcemainmenu = '', $forceleftmenu = '', $moredata = null) { global $user,$conf,$langs,$dolibarr_main_db_name,$mysoc; diff --git a/htdocs/core/menus/standard/eldy_menu.php b/htdocs/core/menus/standard/eldy_menu.php index 4992fc6d11c..7fae44b445f 100644 --- a/htdocs/core/menus/standard/eldy_menu.php +++ b/htdocs/core/menus/standard/eldy_menu.php @@ -62,7 +62,7 @@ class MenuManager * @param string $forceleftmenu To force leftmenu to load * @return void */ - function loadMenu($forcemainmenu='',$forceleftmenu='') + function loadMenu($forcemainmenu = '', $forceleftmenu = '') { // On sauve en session le menu principal choisi if (isset($_GET["mainmenu"])) $_SESSION["mainmenu"]=$_GET["mainmenu"]; @@ -123,7 +123,7 @@ class MenuManager * @param array $moredata An array with more data to output * @return int 0 or nb of top menu entries if $mode = 'topnb' */ - function showmenu($mode, $moredata=null) + function showmenu($mode, $moredata = null) { global $conf, $langs, $user; diff --git a/htdocs/core/menus/standard/empty.php b/htdocs/core/menus/standard/empty.php index 038167ae512..99acddd70ec 100644 --- a/htdocs/core/menus/standard/empty.php +++ b/htdocs/core/menus/standard/empty.php @@ -67,7 +67,7 @@ class MenuManager * @param array $moredata An array with more data to output * @return int 0 or nb of top menu entries if $mode = 'topnb' */ - function showmenu($mode, $moredata=null) + function showmenu($mode, $moredata = null) { global $user,$conf,$langs,$dolibarr_main_db_name; @@ -532,7 +532,7 @@ function print_start_menu_array_empty() * @param int $showmode 0 = hide, 1 = allowed or 2 = not allowed * @return void */ -function print_start_menu_entry_empty($idsel,$classname,$showmode) +function print_start_menu_entry_empty($idsel, $classname, $showmode) { if ($showmode) { diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index 9e8d5565f67..441f73369ca 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -381,7 +381,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it * * @return int 1 if OK, 0 if KO */ - function _init($array_sql, $options='') + function _init($array_sql, $options = '') { global $conf; $err=0; @@ -474,7 +474,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it * * @return int 1 if OK, 0 if KO */ - function _remove($array_sql, $options='') + function _remove($array_sql, $options = '') { $err=0; @@ -778,7 +778,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it * @param int $translated 1=Special version keys are translated, 0=Special version keys are not translated * @return string Module version */ - function getVersion($translated=1) + function getVersion($translated = 1) { global $langs; $langs->load("admin"); @@ -1127,7 +1127,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it * * @return int Error count (0 if OK) */ - function insert_boxes($option='') + function insert_boxes($option = '') { // phpcs:enable include_once DOL_DOCUMENT_ROOT . '/core/class/infobox.class.php'; @@ -1650,7 +1650,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int Error count (0 if OK) */ - function insert_permissions($reinitadminperms=0, $force_entity=null, $notrigger=0) + function insert_permissions($reinitadminperms = 0, $force_entity = null, $notrigger = 0) { // phpcs:enable global $conf,$user; @@ -2017,7 +2017,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it * * @return int Error count (0 if OK) */ - function insert_dirs($name,$dir) + function insert_dirs($name, $dir) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/action/modules_action.php b/htdocs/core/modules/action/modules_action.php index 323675f88f6..2a492c3588d 100644 --- a/htdocs/core/modules/action/modules_action.php +++ b/htdocs/core/modules/action/modules_action.php @@ -41,7 +41,7 @@ abstract class ModeleAction extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -69,7 +69,7 @@ abstract class ModeleAction extends CommonDocGenerator * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ -function action_create($db, $object, $modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) +function action_create($db, $object, $modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $conf,$langs,$user; diff --git a/htdocs/core/modules/action/rapport.pdf.php b/htdocs/core/modules/action/rapport.pdf.php index 44092df6ec9..b0ba812123e 100644 --- a/htdocs/core/modules/action/rapport.pdf.php +++ b/htdocs/core/modules/action/rapport.pdf.php @@ -108,7 +108,7 @@ class CommActionRapport * @param Translate $outputlangs Lang object for output language * @return int 1=OK, 0=KO */ - function write_file($socid = 0, $catid = 0, $outputlangs='') + function write_file($socid = 0, $catid = 0, $outputlangs = '') { // phpcs:enable global $user,$conf,$langs,$hookmanager; diff --git a/htdocs/core/modules/bank/doc/pdf_ban.modules.php b/htdocs/core/modules/bank/doc/pdf_ban.modules.php index 12aa47ce9d6..3daea20a113 100644 --- a/htdocs/core/modules/bank/doc/pdf_ban.modules.php +++ b/htdocs/core/modules/bank/doc/pdf_ban.modules.php @@ -100,7 +100,7 @@ class pdf_ban extends ModeleBankAccountDoc * @param Translate $outputlangs Lang output object * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs) + function write_file($object, $outputlangs) { // phpcs:enable global $conf, $hookmanager, $langs, $user; @@ -285,7 +285,7 @@ class pdf_ban extends ModeleBankAccountDoc * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf,$mysoc; @@ -387,7 +387,7 @@ class pdf_ban extends ModeleBankAccountDoc * @param int $hidefreetext 1=Hide free text * @return integer */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php b/htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php index 6fc6594b1e3..c05a66df53d 100644 --- a/htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php +++ b/htdocs/core/modules/bank/doc/pdf_sepamandate.modules.php @@ -105,7 +105,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc * @param null|array $moreparams More parameters * @return int 1 if OK, <=0 if KO */ - function write_file($object, $outputlangs, $srctemplatepath='', $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { // phpcs:enable global $conf, $hookmanager, $langs, $user, $mysoc; @@ -430,7 +430,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf,$mysoc; @@ -618,7 +618,7 @@ class pdf_sepamandate extends ModeleBankAccountDoc * @param int $hidefreetext 1=Hide free text * @return integer */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/bank/modules_bank.php b/htdocs/core/modules/bank/modules_bank.php index fe43f9cee15..8cdf2ba7ebe 100644 --- a/htdocs/core/modules/bank/modules_bank.php +++ b/htdocs/core/modules/bank/modules_bank.php @@ -45,7 +45,7 @@ abstract class ModeleBankAccountDoc extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db, $maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/barcode/doc/phpbarcode.modules.php b/htdocs/core/modules/barcode/doc/phpbarcode.modules.php index 6d9e492d666..a0d902aa3e1 100644 --- a/htdocs/core/modules/barcode/doc/phpbarcode.modules.php +++ b/htdocs/core/modules/barcode/doc/phpbarcode.modules.php @@ -120,7 +120,7 @@ class modPhpbarcode extends ModeleBarCode * @param integer $nooutputiferror No output if error * @return int <0 if KO, >0 if OK */ - function buildBarCode($code,$encoding,$readable='Y',$scale=1,$nooutputiferror=0) + function buildBarCode($code, $encoding, $readable = 'Y', $scale = 1, $nooutputiferror = 0) { global $_GET,$_SERVER; global $conf; @@ -161,7 +161,7 @@ class modPhpbarcode extends ModeleBarCode * @param integer $nooutputiferror No output if error * @return int <0 if KO, >0 if OK */ - function writeBarCode($code,$encoding,$readable='Y',$scale=1,$nooutputiferror=0) + function writeBarCode($code, $encoding, $readable = 'Y', $scale = 1, $nooutputiferror = 0) { global $conf,$filebarcode; diff --git a/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php b/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php index ed6a7635164..e58d51135e1 100644 --- a/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php +++ b/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php @@ -105,7 +105,7 @@ class modTcpdfbarcode extends ModeleBarCode * @param integer $nooutputiferror No output if error (not used with this engine) * @return int <0 if KO, >0 if OK */ - function buildBarCode($code,$encoding,$readable='Y',$scale=1,$nooutputiferror=0) + function buildBarCode($code, $encoding, $readable = 'Y', $scale = 1, $nooutputiferror = 0) { global $_GET; @@ -152,7 +152,7 @@ class modTcpdfbarcode extends ModeleBarCode * @param integer $nooutputiferror No output if error (not used with this engine) * @return int <0 if KO, >0 if OK */ - function writeBarCode($code,$encoding,$readable='Y',$scale=1,$nooutputiferror=0) + function writeBarCode($code, $encoding, $readable = 'Y', $scale = 1, $nooutputiferror = 0) { global $conf,$_GET; diff --git a/htdocs/core/modules/barcode/mod_barcode_product_standard.php b/htdocs/core/modules/barcode/mod_barcode_product_standard.php index 97121eebcfd..58271615683 100644 --- a/htdocs/core/modules/barcode/mod_barcode_product_standard.php +++ b/htdocs/core/modules/barcode/mod_barcode_product_standard.php @@ -119,7 +119,7 @@ class mod_barcode_product_standard extends ModeleNumRefBarCode * @param Product $objproduct Object product * @return string Return string example */ - function getExample($langs,$objproduct=0) + function getExample($langs, $objproduct = 0) { $examplebarcode = $this->getNextValue($objproduct,''); if (! $examplebarcode) @@ -142,7 +142,7 @@ class mod_barcode_product_standard extends ModeleNumRefBarCode * @param string $type Type of barcode (EAN, ISBN, ...) * @return string Value if OK, '' if module not configured, <0 if KO */ - function getNextValue($objproduct=null,$type='') + function getNextValue($objproduct = null, $type = '') { global $db,$conf; diff --git a/htdocs/core/modules/barcode/modules_barcode.class.php b/htdocs/core/modules/barcode/modules_barcode.class.php index 44d7eccbb07..81481d11dcf 100644 --- a/htdocs/core/modules/barcode/modules_barcode.class.php +++ b/htdocs/core/modules/barcode/modules_barcode.class.php @@ -96,7 +96,7 @@ abstract class ModeleNumRefBarCode * @param string $type Type of barcode (EAN, ISBN, ...) * @return string Value */ - function getNextValue($objproduct,$type='') + function getNextValue($objproduct, $type = '') { global $langs; return $langs->trans("Function_getNextValue_InModuleNotWorking"); @@ -126,7 +126,7 @@ abstract class ModeleNumRefBarCode * @param int $type -1=Nothing, 0=Product, 1=Service * @return string HTML translated description */ - function getToolTip($langs,$soc,$type) + function getToolTip($langs, $soc, $type) { global $conf; diff --git a/htdocs/core/modules/cheque/doc/pdf_blochet.class.php b/htdocs/core/modules/cheque/doc/pdf_blochet.class.php index 32d35edb70a..2868191046a 100644 --- a/htdocs/core/modules/cheque/doc/pdf_blochet.class.php +++ b/htdocs/core/modules/cheque/doc/pdf_blochet.class.php @@ -381,7 +381,7 @@ class BordereauChequeBlochet extends ModeleChequeReceipts * @param int $hidefreetext 1=Hide free text * @return void */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $default_font_size = pdf_getPDFFontSize($outputlangs); diff --git a/htdocs/core/modules/cheque/mod_chequereceipt_mint.php b/htdocs/core/modules/cheque/mod_chequereceipt_mint.php index ba617787cbe..e6abe0cf78f 100644 --- a/htdocs/core/modules/cheque/mod_chequereceipt_mint.php +++ b/htdocs/core/modules/cheque/mod_chequereceipt_mint.php @@ -109,7 +109,7 @@ class mod_chequereceipt_mint extends ModeleNumRefChequeReceipts * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -153,7 +153,7 @@ class mod_chequereceipt_mint extends ModeleNumRefChequeReceipts * @param string $objforref Object for number to search * @return string Next free value */ - function chequereceipt_get_num($objsoc,$objforref) + function chequereceipt_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/cheque/mod_chequereceipt_thyme.php b/htdocs/core/modules/cheque/mod_chequereceipt_thyme.php index 6e211fb4ace..175ec2a7270 100644 --- a/htdocs/core/modules/cheque/mod_chequereceipt_thyme.php +++ b/htdocs/core/modules/cheque/mod_chequereceipt_thyme.php @@ -112,7 +112,7 @@ class mod_chequereceipt_thyme extends ModeleNumRefChequeReceipts * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -141,7 +141,7 @@ class mod_chequereceipt_thyme extends ModeleNumRefChequeReceipts * @param string $objforref Object for number to search * @return string Next free value */ - function chequereceipt_get_num($objsoc,$objforref) + function chequereceipt_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/cheque/modules_chequereceipts.php b/htdocs/core/modules/cheque/modules_chequereceipts.php index 5a7920ce4f1..cc259b7f6b1 100644 --- a/htdocs/core/modules/cheque/modules_chequereceipts.php +++ b/htdocs/core/modules/cheque/modules_chequereceipts.php @@ -92,7 +92,7 @@ abstract class ModeleNumRefChequeReceipts * @param Object $object Object we need next value for * @return string Valeur */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $langs; return $langs->trans("NotAvailable"); @@ -135,7 +135,7 @@ abstract class ModeleChequeReceipts extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index bd5c870e0ba..f65fe07a6ce 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -204,7 +204,7 @@ class doc_generic_order_odt extends ModelePDFCommandes * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 7009773e582..879319db2b9 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -215,7 +215,7 @@ class pdf_einstein extends ModelePDFCommandes * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object, $outputlangs, $srctemplatepath='', $hidedetails=0, $hidedesc=0, $hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user, $langs, $conf, $mysoc, $db, $hookmanager, $nblignes; @@ -1125,7 +1125,7 @@ class pdf_einstein extends ModelePDFCommandes * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1235,7 +1235,7 @@ class pdf_einstein extends ModelePDFCommandes * @param string $titlekey Translation key to show as title of document * @return void */ - function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey="PdfOrderTitle") + function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "PdfOrderTitle") { global $conf,$langs,$hookmanager; @@ -1446,7 +1446,7 @@ class pdf_einstein extends ModelePDFCommandes * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index 07173f7db13..a67327fa249 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -158,7 +158,7 @@ class pdf_eratosthene extends ModelePDFCommandes * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - public function write_file($object, $outputlangs, $srctemplatepath='', $hidedetails=0, $hidedesc=0, $hideref=0) + public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user, $langs, $conf, $mysoc, $db, $hookmanager, $nblignes; @@ -1183,7 +1183,7 @@ class pdf_eratosthene extends ModelePDFCommandes * @param string $currency Currency code * @return void */ - private function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + private function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1251,7 +1251,7 @@ class pdf_eratosthene extends ModelePDFCommandes * @param string $titlekey Translation key to show as title of document * @return void */ - private function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey="PdfOrderTitle") + private function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "PdfOrderTitle") { global $conf,$langs,$hookmanager; @@ -1462,7 +1462,7 @@ class pdf_eratosthene extends ModelePDFCommandes * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - private function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + private function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; @@ -1481,7 +1481,7 @@ class pdf_eratosthene extends ModelePDFCommandes * @param int $hideref Do not show ref * @return null */ - public function defineColumnField($object,$outputlangs,$hidedetails=0,$hidedesc=0,$hideref=0) + public function defineColumnField($object, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf, $hookmanager; diff --git a/htdocs/core/modules/commande/doc/pdf_proforma.modules.php b/htdocs/core/modules/commande/doc/pdf_proforma.modules.php index ebbe72f94c9..66a5307cbfa 100644 --- a/htdocs/core/modules/commande/doc/pdf_proforma.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_proforma.modules.php @@ -67,7 +67,7 @@ class pdf_proforma extends pdf_einstein * @param string $titlekey Translation key to show as title of document * @return void */ - function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey="InvoiceProForma") + function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "InvoiceProForma") { global $conf,$langs,$hookmanager; diff --git a/htdocs/core/modules/commande/mod_commande_marbre.php b/htdocs/core/modules/commande/mod_commande_marbre.php index 215d2380819..891e3d3dddd 100644 --- a/htdocs/core/modules/commande/mod_commande_marbre.php +++ b/htdocs/core/modules/commande/mod_commande_marbre.php @@ -119,7 +119,7 @@ class mod_commande_marbre extends ModeleNumRefCommandes * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -163,7 +163,7 @@ class mod_commande_marbre extends ModeleNumRefCommandes * @param string $objforref Object for number to search * @return string Next free value */ - function commande_get_num($objsoc,$objforref) + function commande_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/commande/mod_commande_saphir.php b/htdocs/core/modules/commande/mod_commande_saphir.php index 1b08c9c1105..0b6768dd273 100644 --- a/htdocs/core/modules/commande/mod_commande_saphir.php +++ b/htdocs/core/modules/commande/mod_commande_saphir.php @@ -128,7 +128,7 @@ class mod_commande_saphir extends ModeleNumRefCommandes * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -159,7 +159,7 @@ class mod_commande_saphir extends ModeleNumRefCommandes * @param string $objforref Object for number to search * @return string Next free value */ - function commande_get_num($objsoc,$objforref) + function commande_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/commande/modules_commande.php b/htdocs/core/modules/commande/modules_commande.php index d644de33a5d..6090ad35028 100644 --- a/htdocs/core/modules/commande/modules_commande.php +++ b/htdocs/core/modules/commande/modules_commande.php @@ -48,7 +48,7 @@ abstract class ModelePDFCommandes extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db, $maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -128,7 +128,7 @@ abstract class ModeleNumRefCommandes * @param Object $object Object we need next value for * @return string Valeur */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $langs; return $langs->trans("NotAvailable"); diff --git a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php index 22dfc6388b4..399bdca0fe0 100644 --- a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php +++ b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php @@ -193,7 +193,7 @@ class doc_generic_contract_odt extends ModelePDFContract * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/contract/doc/pdf_strato.modules.php b/htdocs/core/modules/contract/doc/pdf_strato.modules.php index 3375e5b7ccc..265263dd9bd 100644 --- a/htdocs/core/modules/contract/doc/pdf_strato.modules.php +++ b/htdocs/core/modules/contract/doc/pdf_strato.modules.php @@ -172,7 +172,7 @@ class pdf_strato extends ModelePDFContract * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$hookmanager,$mysoc; @@ -508,7 +508,7 @@ class pdf_strato extends ModelePDFContract * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf; @@ -762,7 +762,7 @@ class pdf_strato extends ModelePDFContract * @param int $hidefreetext 1=Hide free text * @return integer */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/contract/mod_contract_magre.php b/htdocs/core/modules/contract/mod_contract_magre.php index 4769ec17f99..4b40b982c28 100644 --- a/htdocs/core/modules/contract/mod_contract_magre.php +++ b/htdocs/core/modules/contract/mod_contract_magre.php @@ -118,7 +118,7 @@ class mod_contract_magre extends ModelNumRefContracts * @param Object $contract contract object * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$contract) + function getNextValue($objsoc, $contract) { global $db,$conf; @@ -145,7 +145,7 @@ class mod_contract_magre extends ModelNumRefContracts * @param Object $objforref contract object * @return string Value if OK, 0 if KO */ - function contract_get_num($objsoc,$objforref) + function contract_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/contract/mod_contract_olive.php b/htdocs/core/modules/contract/mod_contract_olive.php index 993f4bf9bfb..509ece14278 100644 --- a/htdocs/core/modules/contract/mod_contract_olive.php +++ b/htdocs/core/modules/contract/mod_contract_olive.php @@ -81,7 +81,7 @@ class mod_contract_olive extends ModelNumRefContracts * @param Contrat $contract Object contract * @return string Return next value */ - function getNextValue($objsoc,$contract) + function getNextValue($objsoc, $contract) { global $langs; return ''; diff --git a/htdocs/core/modules/contract/mod_contract_serpis.php b/htdocs/core/modules/contract/mod_contract_serpis.php index e91775f669c..6c8f6b848c8 100644 --- a/htdocs/core/modules/contract/mod_contract_serpis.php +++ b/htdocs/core/modules/contract/mod_contract_serpis.php @@ -119,7 +119,7 @@ class mod_contract_serpis extends ModelNumRefContracts * @param Object $contract contract object * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$contract) + function getNextValue($objsoc, $contract) { global $db,$conf; @@ -161,7 +161,7 @@ class mod_contract_serpis extends ModelNumRefContracts * @param Object $objforref contract object * @return string Value if OK, 0 if KO */ - function contract_get_num($objsoc,$objforref) + function contract_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/contract/modules_contract.php b/htdocs/core/modules/contract/modules_contract.php index 59290de7d82..55f2ac2a940 100644 --- a/htdocs/core/modules/contract/modules_contract.php +++ b/htdocs/core/modules/contract/modules_contract.php @@ -51,7 +51,7 @@ abstract class ModelePDFContract extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/dons/html_cerfafr.modules.php b/htdocs/core/modules/dons/html_cerfafr.modules.php index cac7329cf5b..e19e8d6839f 100644 --- a/htdocs/core/modules/dons/html_cerfafr.modules.php +++ b/htdocs/core/modules/dons/html_cerfafr.modules.php @@ -73,7 +73,7 @@ class html_cerfafr extends ModeleDon * @param string $currency Currency code * @return int >0 if OK, <0 if KO */ - function write_file($don,$outputlangs,$currency='') + function write_file($don, $outputlangs, $currency = '') { // phpcs:enable global $user,$conf,$langs,$mysoc; @@ -283,7 +283,7 @@ class html_cerfafr extends ModeleDon * @param mixed $devise2 devise 2 ex: centimes * @return string amount in letters */ - private function amountToLetters($montant, $devise1='', $devise2='') + private function amountToLetters($montant, $devise1 = '', $devise2 = '') { $unite = array(); $dix = array(); diff --git a/htdocs/core/modules/dons/modules_don.php b/htdocs/core/modules/dons/modules_don.php index aee52063227..7c74e1b542d 100644 --- a/htdocs/core/modules/dons/modules_don.php +++ b/htdocs/core/modules/dons/modules_don.php @@ -47,7 +47,7 @@ abstract class ModeleDon extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index 4d7cc056f12..6ef784b0292 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -203,7 +203,7 @@ class doc_generic_shipment_odt extends ModelePdfExpedition * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php index bfda0e8dfad..b9c16d33420 100644 --- a/htdocs/core/modules/expedition/doc/pdf_merou.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_merou.modules.php @@ -116,7 +116,7 @@ class pdf_merou extends ModelePdfExpedition * * @param DoliDB $db Database handler */ - function __construct($db=0) + function __construct($db = 0) { global $conf,$langs,$mysoc; @@ -154,7 +154,7 @@ class pdf_merou extends ModelePdfExpedition * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file(&$object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file(&$object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$conf,$langs,$mysoc,$hookmanager; @@ -455,7 +455,7 @@ class pdf_merou extends ModelePdfExpedition * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $langs; $default_font_size = pdf_getPDFFontSize($outputlangs); @@ -493,7 +493,7 @@ class pdf_merou extends ModelePdfExpedition * @param int $hidefreetext 1=Hide free text * @return void */ - function _pagefoot(&$pdf, $object, $outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { $default_font_size = pdf_getPDFFontSize($outputlangs); $pdf->SetFont('','', $default_font_size - 2); diff --git a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php index 84f73cde1c6..fe841f2278b 100644 --- a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php @@ -115,7 +115,7 @@ class pdf_rouget extends ModelePdfExpedition * * @param DoliDB $db Database handler */ - function __construct($db=0) + function __construct($db = 0) { global $conf,$langs,$mysoc; @@ -184,7 +184,7 @@ class pdf_rouget extends ModelePdfExpedition * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$conf,$langs,$hookmanager; @@ -778,7 +778,7 @@ class pdf_rouget extends ModelePdfExpedition * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf; @@ -1111,7 +1111,7 @@ class pdf_rouget extends ModelePdfExpedition * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/expedition/mod_expedition_ribera.php b/htdocs/core/modules/expedition/mod_expedition_ribera.php index 35a5eb2325b..a1bc26efa64 100644 --- a/htdocs/core/modules/expedition/mod_expedition_ribera.php +++ b/htdocs/core/modules/expedition/mod_expedition_ribera.php @@ -119,7 +119,7 @@ class mod_expedition_ribera extends ModelNumRefExpedition * @param Object $shipment Shipment object * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$shipment) + function getNextValue($objsoc, $shipment) { global $db,$conf; @@ -148,7 +148,7 @@ class mod_expedition_ribera extends ModelNumRefExpedition * @param Object $objforref Shipment object * @return string Next free value */ - function expedition_get_num($objsoc,$objforref) + function expedition_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/expedition/mod_expedition_safor.php b/htdocs/core/modules/expedition/mod_expedition_safor.php index 2ebf9335755..6b875388a4d 100644 --- a/htdocs/core/modules/expedition/mod_expedition_safor.php +++ b/htdocs/core/modules/expedition/mod_expedition_safor.php @@ -117,7 +117,7 @@ class mod_expedition_safor extends ModelNumRefExpedition * @param Object $shipment Shipment object * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$shipment) + function getNextValue($objsoc, $shipment) { global $db,$conf; @@ -158,7 +158,7 @@ class mod_expedition_safor extends ModelNumRefExpedition * @param Object $objforref Shipment object * @return string Next free value */ - function expedition_get_num($objsoc,$objforref) + function expedition_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/expedition/modules_expedition.php b/htdocs/core/modules/expedition/modules_expedition.php index a22ae0d0f99..e0c55cd2bc4 100644 --- a/htdocs/core/modules/expedition/modules_expedition.php +++ b/htdocs/core/modules/expedition/modules_expedition.php @@ -50,7 +50,7 @@ abstract class ModelePdfExpedition extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index 9851e1781e2..644062c3077 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -541,7 +541,7 @@ class pdf_standard extends ModeleExpenseReport * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) * @return void */ - private function printLine(&$pdf, $object, $linenumber, $curY, $default_font_size, $outputlangs, $hidedetails=0) + private function printLine(&$pdf, $object, $linenumber, $curY, $default_font_size, $outputlangs, $hidedetails = 0) { global $conf; $pdf->SetFont('','', $default_font_size - 1); @@ -835,7 +835,7 @@ class pdf_standard extends ModeleExpenseReport * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1057,7 +1057,7 @@ class pdf_standard extends ModeleExpenseReport * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails = $conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/expensereport/modules_expensereport.php b/htdocs/core/modules/expensereport/modules_expensereport.php index 9ff7f671f9f..88621be737a 100644 --- a/htdocs/core/modules/expensereport/modules_expensereport.php +++ b/htdocs/core/modules/expensereport/modules_expensereport.php @@ -37,7 +37,7 @@ abstract class ModeleExpenseReport extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -66,7 +66,7 @@ abstract class ModeleExpenseReport extends CommonDocGenerator * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ -function expensereport_pdf_create(DoliDB $db, ExpenseReport $object, $message, $modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) +function expensereport_pdf_create(DoliDB $db, ExpenseReport $object, $message, $modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable return $object->generateDocument($modele, $outputlangs, $hidedetails, $hidedesc, $hideref); diff --git a/htdocs/core/modules/export/export_csv.modules.php b/htdocs/core/modules/export/export_csv.modules.php index 1efe6161647..298f535dffb 100644 --- a/htdocs/core/modules/export/export_csv.modules.php +++ b/htdocs/core/modules/export/export_csv.modules.php @@ -163,7 +163,7 @@ class ExportCsv extends ModeleExports * @param Translate $outputlangs Output language object * @return int <0 if KO, >=0 if OK */ - function open_file($file,$outputlangs) + function open_file($file, $outputlangs) { // phpcs:enable global $langs; @@ -208,7 +208,7 @@ class ExportCsv extends ModeleExports * @param array $array_types Array with types of fields * @return int <0 if KO, >0 if OK */ - function write_title($array_export_fields_label,$array_selected_sorted,$outputlangs,$array_types) + function write_title($array_export_fields_label, $array_selected_sorted, $outputlangs, $array_types) { // phpcs:enable global $conf; @@ -244,7 +244,7 @@ class ExportCsv extends ModeleExports * @param array $array_types Array with types of fields * @return int <0 if KO, >0 if OK */ - function write_record($array_selected_sorted,$objp,$outputlangs,$array_types) + function write_record($array_selected_sorted, $objp, $outputlangs, $array_types) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/export/export_excel.modules.php b/htdocs/core/modules/export/export_excel.modules.php index 5dc574a150f..f0848d219c1 100644 --- a/htdocs/core/modules/export/export_excel.modules.php +++ b/htdocs/core/modules/export/export_excel.modules.php @@ -186,7 +186,7 @@ class ExportExcel extends ModeleExports * @param Translate $outputlangs Output language object * @return int <0 if KO, >=0 if OK */ - function open_file($file,$outputlangs) + function open_file($file, $outputlangs) { // phpcs:enable global $user,$conf,$langs; @@ -275,7 +275,7 @@ class ExportExcel extends ModeleExports * @param array $array_types Array with types of fields * @return int <0 if KO, >0 if OK */ - function write_title($array_export_fields_label,$array_selected_sorted,$outputlangs,$array_types) + function write_title($array_export_fields_label, $array_selected_sorted, $outputlangs, $array_types) { // phpcs:enable global $conf; @@ -332,7 +332,7 @@ class ExportExcel extends ModeleExports * @param array $array_types Array with types of fields * @return int <0 if KO, >0 if OK */ - function write_record($array_selected_sorted,$objp,$outputlangs,$array_types) + function write_record($array_selected_sorted, $objp, $outputlangs, $array_types) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/export/export_excelnew.modules.php b/htdocs/core/modules/export/export_excelnew.modules.php index dfb9e4381f7..fcb580ea2d8 100644 --- a/htdocs/core/modules/export/export_excelnew.modules.php +++ b/htdocs/core/modules/export/export_excelnew.modules.php @@ -179,7 +179,7 @@ class ExportExcelnew extends ModeleExports * @param Translate $outputlangs Output language object * @return int <0 if KO, >=0 if OK */ - function open_file($file,$outputlangs) + function open_file($file, $outputlangs) { // phpcs:enable global $user,$conf,$langs; @@ -253,7 +253,7 @@ class ExportExcelnew extends ModeleExports * @param array $array_types Array with types of fields * @return int <0 if KO, >0 if OK */ - function write_title($array_export_fields_label,$array_selected_sorted,$outputlangs,$array_types) + function write_title($array_export_fields_label, $array_selected_sorted, $outputlangs, $array_types) { // phpcs:enable global $conf; @@ -296,7 +296,7 @@ class ExportExcelnew extends ModeleExports * @param array $array_types Array with types of fields * @return int <0 if KO, >0 if OK */ - function write_record($array_selected_sorted,$objp,$outputlangs,$array_types) + function write_record($array_selected_sorted, $objp, $outputlangs, $array_types) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/export/export_tsv.modules.php b/htdocs/core/modules/export/export_tsv.modules.php index 8afa9ded884..fa3a55fa10d 100644 --- a/htdocs/core/modules/export/export_tsv.modules.php +++ b/htdocs/core/modules/export/export_tsv.modules.php @@ -159,7 +159,7 @@ class ExportTsv extends ModeleExports * @param Translate $outputlangs Output language object * @return int <0 if KO, >=0 if OK */ - function open_file($file,$outputlangs) + function open_file($file, $outputlangs) { // phpcs:enable global $langs; @@ -204,7 +204,7 @@ class ExportTsv extends ModeleExports * @param array $array_types Array with types of fields * @return int <0 if KO, >0 if OK */ - function write_title($array_export_fields_label,$array_selected_sorted,$outputlangs,$array_types) + function write_title($array_export_fields_label, $array_selected_sorted, $outputlangs, $array_types) { // phpcs:enable foreach($array_selected_sorted as $code => $value) @@ -229,7 +229,7 @@ class ExportTsv extends ModeleExports * @param array $array_types Array with types of fields * @return int <0 if KO, >0 if OK */ - function write_record($array_selected_sorted,$objp,$outputlangs,$array_types) + function write_record($array_selected_sorted, $objp, $outputlangs, $array_types) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/export/modules_export.php b/htdocs/core/modules/export/modules_export.php index 15536747a28..7a2f172c19d 100644 --- a/htdocs/core/modules/export/modules_export.php +++ b/htdocs/core/modules/export/modules_export.php @@ -52,7 +52,7 @@ class ModeleExports extends CommonDocGenerator // This class can't be abstrac * @param integer $maxfilenamelength Max length of value to show * @return array List of templates (same content than array this->driverlabel) */ - function liste_modeles($db,$maxfilenamelength=0) + function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable dol_syslog(get_class($this)."::liste_modeles"); diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index 8e3caa1d3ec..1ac8e9aaa2c 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -202,7 +202,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index ab2ffb3bd2a..8365114bbad 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -230,7 +230,7 @@ class pdf_crabe extends ModelePDFFactures * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes; @@ -1411,7 +1411,7 @@ class pdf_crabe extends ModelePDFFactures * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1842,7 +1842,7 @@ class pdf_crabe extends ModelePDFFactures * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index 7e28f11bb8a..203711fc80f 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -172,7 +172,7 @@ class pdf_sponge extends ModelePDFFactures * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - public function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes; @@ -1473,7 +1473,7 @@ class pdf_sponge extends ModelePDFFactures * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1813,7 +1813,7 @@ class pdf_sponge extends ModelePDFFactures * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; @@ -1830,7 +1830,7 @@ class pdf_sponge extends ModelePDFFactures * @param int $hideref Do not show ref * @return null */ - function defineColumnField($object,$outputlangs,$hidedetails=0,$hidedesc=0,$hideref=0) + function defineColumnField($object, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf, $hookmanager; diff --git a/htdocs/core/modules/facture/mod_facture_mars.php b/htdocs/core/modules/facture/mod_facture_mars.php index 7057fda20ee..9d67bdc96dc 100644 --- a/htdocs/core/modules/facture/mod_facture_mars.php +++ b/htdocs/core/modules/facture/mod_facture_mars.php @@ -149,7 +149,7 @@ class mod_facture_mars extends ModeleNumRefFactures * @param string $mode 'next' for next value or 'last' for last value * @return string Value */ - function getNextValue($objsoc, $invoice, $mode='next') + function getNextValue($objsoc, $invoice, $mode = 'next') { global $db; $prefix=$this->prefixinvoice; @@ -223,7 +223,7 @@ class mod_facture_mars extends ModeleNumRefFactures * @param string $mode 'next' for next value or 'last' for last value * @return string Next free value */ - function getNumRef($objsoc,$objforref,$mode='next') + function getNumRef($objsoc, $objforref, $mode = 'next') { return $this->getNextValue($objsoc,$objforref,$mode); } diff --git a/htdocs/core/modules/facture/mod_facture_mercure.php b/htdocs/core/modules/facture/mod_facture_mercure.php index c454b200004..ccd763eec33 100644 --- a/htdocs/core/modules/facture/mod_facture_mercure.php +++ b/htdocs/core/modules/facture/mod_facture_mercure.php @@ -135,7 +135,7 @@ class mod_facture_mercure extends ModeleNumRefFactures * @param string $mode 'next' for next value or 'last' for last value * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc, $invoice, $mode='next') + function getNextValue($objsoc, $invoice, $mode = 'next') { global $db,$conf; @@ -182,7 +182,7 @@ class mod_facture_mercure extends ModeleNumRefFactures * @param string $mode 'next' for next value or 'last' for last value * @return string Next free value */ - function getNumRef($objsoc,$objforref,$mode='next') + function getNumRef($objsoc, $objforref, $mode = 'next') { return $this->getNextValue($objsoc,$objforref,$mode); } diff --git a/htdocs/core/modules/facture/mod_facture_terre.php b/htdocs/core/modules/facture/mod_facture_terre.php index 454a1588f27..f04addb657d 100644 --- a/htdocs/core/modules/facture/mod_facture_terre.php +++ b/htdocs/core/modules/facture/mod_facture_terre.php @@ -167,7 +167,7 @@ class mod_facture_terre extends ModeleNumRefFactures * @param string $mode 'next' for next value or 'last' for last value * @return string Value */ - function getNextValue($objsoc, $invoice, $mode='next') + function getNextValue($objsoc, $invoice, $mode = 'next') { global $db; @@ -238,7 +238,7 @@ class mod_facture_terre extends ModeleNumRefFactures * @param string $mode 'next' for next value or 'last' for last value * @return string Next free value */ - function getNumRef($objsoc,$objforref,$mode='next') + function getNumRef($objsoc, $objforref, $mode = 'next') { return $this->getNextValue($objsoc,$objforref,$mode); } diff --git a/htdocs/core/modules/facture/modules_facture.php b/htdocs/core/modules/facture/modules_facture.php index fd9168150d6..505582f534a 100644 --- a/htdocs/core/modules/facture/modules_facture.php +++ b/htdocs/core/modules/facture/modules_facture.php @@ -50,7 +50,7 @@ abstract class ModelePDFFactures extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -127,7 +127,7 @@ abstract class ModeleNumRefFactures * @param Facture $facture Objet facture * @return string Value */ - function getNextValue($objsoc,$facture) + function getNextValue($objsoc, $facture) { global $langs; return $langs->trans("NotAvailable"); diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php index 22ec100a73e..2c3e5a6130b 100644 --- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php +++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php @@ -163,7 +163,7 @@ class pdf_soleil extends ModelePDFFicheinter * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager; @@ -491,7 +491,7 @@ class pdf_soleil extends ModelePDFFicheinter * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf; @@ -727,7 +727,7 @@ class pdf_soleil extends ModelePDFFicheinter * @param int $hidefreetext 1=Hide free text * @return integer */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/fichinter/mod_arctic.php b/htdocs/core/modules/fichinter/mod_arctic.php index 86f25dc4078..dc0a607ad5e 100644 --- a/htdocs/core/modules/fichinter/mod_arctic.php +++ b/htdocs/core/modules/fichinter/mod_arctic.php @@ -124,7 +124,7 @@ class mod_arctic extends ModeleNumRefFicheinter * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc=0,$object='') + function getNextValue($objsoc = 0, $object = '') { global $db,$conf; @@ -152,7 +152,7 @@ class mod_arctic extends ModeleNumRefFicheinter * @param Object $objforref Object for number to search * @return string Next free value */ - function getNumRef($objsoc,$objforref) + function getNumRef($objsoc, $objforref) { return $this->getNextValue($objsoc,$objforref); } diff --git a/htdocs/core/modules/fichinter/mod_pacific.php b/htdocs/core/modules/fichinter/mod_pacific.php index 24f55192ff0..a313d9ddfb9 100644 --- a/htdocs/core/modules/fichinter/mod_pacific.php +++ b/htdocs/core/modules/fichinter/mod_pacific.php @@ -122,7 +122,7 @@ class mod_pacific extends ModeleNumRefFicheinter * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc=0,$object='') + function getNextValue($objsoc = 0, $object = '') { global $db,$conf; @@ -158,7 +158,7 @@ class mod_pacific extends ModeleNumRefFicheinter * @param Object $objforref Object for number to search * @return string Next free value */ - function getNumRef($objsoc,$objforref) + function getNumRef($objsoc, $objforref) { return $this->getNextValue($objsoc,$objforref); } diff --git a/htdocs/core/modules/fichinter/modules_fichinter.php b/htdocs/core/modules/fichinter/modules_fichinter.php index a0ab40ce7a0..ce447be2eac 100644 --- a/htdocs/core/modules/fichinter/modules_fichinter.php +++ b/htdocs/core/modules/fichinter/modules_fichinter.php @@ -48,7 +48,7 @@ abstract class ModelePDFFicheinter extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -162,7 +162,7 @@ abstract class ModeleNumRefFicheinter * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ -function fichinter_create($db, $object, $modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) +function fichinter_create($db, $object, $modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $conf,$langs,$user; diff --git a/htdocs/core/modules/holiday/mod_holiday_madonna.php b/htdocs/core/modules/holiday/mod_holiday_madonna.php index f53e55be6fd..033f70a0a4e 100644 --- a/htdocs/core/modules/holiday/mod_holiday_madonna.php +++ b/htdocs/core/modules/holiday/mod_holiday_madonna.php @@ -162,7 +162,7 @@ class mod_holiday_madonna extends ModelNumRefHolidays * @param Object $objforref Holiday object * @return string Value if OK, 0 if KO */ - function holiday_get_num($fuser,$objforref) + function holiday_get_num($fuser, $objforref) { // phpcs:enable return $this->getNextValue($fuser,$objforref); diff --git a/htdocs/core/modules/holiday/modules_holiday.php b/htdocs/core/modules/holiday/modules_holiday.php index 7f1c48fec10..25cd09de38a 100644 --- a/htdocs/core/modules/holiday/modules_holiday.php +++ b/htdocs/core/modules/holiday/modules_holiday.php @@ -52,7 +52,7 @@ abstract class ModelePDFHoliday extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db, $maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php index 6db495e9f04..797f9c86227 100644 --- a/htdocs/core/modules/import/import_csv.modules.php +++ b/htdocs/core/modules/import/import_csv.modules.php @@ -93,7 +93,7 @@ class ImportCsv extends ModeleImports * @param DoliDB $db Database handler * @param string $datatoimport String code describing import set (ex: 'societe_1') */ - function __construct($db,$datatoimport) + function __construct($db, $datatoimport) { global $conf, $langs; $this->db = $db; @@ -139,7 +139,7 @@ class ImportCsv extends ModeleImports * @param array $headerlinefields Array of fields name * @return string */ - function write_title_example($outputlangs,$headerlinefields) + function write_title_example($outputlangs, $headerlinefields) { // phpcs:enable $s=join($this->separator,array_map('cleansep',$headerlinefields)); @@ -154,7 +154,7 @@ class ImportCsv extends ModeleImports * @param array $contentlinevalues Array of lines * @return string */ - function write_record_example($outputlangs,$contentlinevalues) + function write_record_example($outputlangs, $contentlinevalues) { // phpcs:enable $s=join($this->separator,array_map('cleansep',$contentlinevalues)); @@ -319,7 +319,7 @@ class ImportCsv extends ModeleImports * @param array $updatekeys Array of keys to use to try to do an update first before insert. This field are defined into the module descriptor. * @return int <0 if KO, >0 if OK */ - function import_insert($arrayrecord,$array_match_file_to_database,$objimport,$maxfields,$importid,$updatekeys) + function import_insert($arrayrecord, $array_match_file_to_database, $objimport, $maxfields, $importid, $updatekeys) { // phpcs:enable global $langs,$conf,$user; diff --git a/htdocs/core/modules/import/import_xlsx.modules.php b/htdocs/core/modules/import/import_xlsx.modules.php index d96dc18104f..beb6b66c479 100644 --- a/htdocs/core/modules/import/import_xlsx.modules.php +++ b/htdocs/core/modules/import/import_xlsx.modules.php @@ -95,7 +95,7 @@ class ImportXlsx extends ModeleImports * @param DoliDB $db Database handler * @param string $datatoimport String code describing import set (ex: 'societe_1') */ - function __construct($db,$datatoimport) + function __construct($db, $datatoimport) { global $conf,$langs; $this->db = $db; @@ -166,7 +166,7 @@ class ImportXlsx extends ModeleImports * @param array $headerlinefields Array of fields name * @return string */ - function write_title_example($outputlangs,$headerlinefields) + function write_title_example($outputlangs, $headerlinefields) { // phpcs:enable global $conf; @@ -192,7 +192,7 @@ class ImportXlsx extends ModeleImports * @param array $contentlinevalues Array of lines * @return string */ - function write_record_example($outputlangs,$contentlinevalues) + function write_record_example($outputlangs, $contentlinevalues) { // phpcs:enable $col = 0; @@ -346,7 +346,7 @@ class ImportXlsx extends ModeleImports * @param array $updatekeys Array of keys to use to try to do an update first before insert. This field are defined into the module descriptor. * @return int <0 if KO, >0 if OK */ - function import_insert($arrayrecord,$array_match_file_to_database,$objimport,$maxfields,$importid,$updatekeys) + function import_insert($arrayrecord, $array_match_file_to_database, $objimport, $maxfields, $importid, $updatekeys) { // phpcs:enable global $langs,$conf,$user; diff --git a/htdocs/core/modules/import/modules_import.php b/htdocs/core/modules/import/modules_import.php index 4c606b8bacf..352d19dde8a 100644 --- a/htdocs/core/modules/import/modules_import.php +++ b/htdocs/core/modules/import/modules_import.php @@ -163,7 +163,7 @@ class ModeleImports * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - function liste_modeles($db,$maxfilenamelength=0) + function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable dol_syslog(get_class($this)."::liste_modeles"); diff --git a/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php b/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php index 971913cb58d..5ab47b22528 100644 --- a/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php +++ b/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php @@ -186,7 +186,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; @@ -673,7 +673,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf,$mysoc; @@ -913,7 +913,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/livraison/mod_livraison_jade.php b/htdocs/core/modules/livraison/mod_livraison_jade.php index 8df38cbc3a2..31e8d85c61d 100644 --- a/htdocs/core/modules/livraison/mod_livraison_jade.php +++ b/htdocs/core/modules/livraison/mod_livraison_jade.php @@ -125,7 +125,7 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -169,7 +169,7 @@ class mod_livraison_jade extends ModeleNumRefDeliveryOrder * @param Object $object Object livraison * @return string Texte descriptif */ - function livraison_get_num($objsoc=0,$object='') + function livraison_get_num($objsoc = 0, $object = '') { // phpcs:enable return $this->getNextValue($objsoc,$object); diff --git a/htdocs/core/modules/livraison/mod_livraison_saphir.php b/htdocs/core/modules/livraison/mod_livraison_saphir.php index 76579f5e757..2f8d828f038 100644 --- a/htdocs/core/modules/livraison/mod_livraison_saphir.php +++ b/htdocs/core/modules/livraison/mod_livraison_saphir.php @@ -124,7 +124,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder * @param Object $object Object delivery * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -152,7 +152,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder * @param string $objforref Object for number to search * @return string Next free value */ - function getNumRef($objsoc,$objforref) + function getNumRef($objsoc, $objforref) { return $this->getNextValue($objsoc,$objforref); } @@ -166,7 +166,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder * @param Object $object Objet livraison * @return string Texte descripif */ - function livraison_get_num($objsoc=0,$object='') + function livraison_get_num($objsoc = 0, $object = '') { // phpcs:enable return $this->getNextValue($objsoc,$object); diff --git a/htdocs/core/modules/livraison/modules_livraison.php b/htdocs/core/modules/livraison/modules_livraison.php index 6dad7003ec5..a4c28799088 100644 --- a/htdocs/core/modules/livraison/modules_livraison.php +++ b/htdocs/core/modules/livraison/modules_livraison.php @@ -49,7 +49,7 @@ abstract class ModelePDFDeliveryOrder extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/mailings/advthirdparties.modules.php b/htdocs/core/modules/mailings/advthirdparties.modules.php index bfd7f4b0d45..5700801c64f 100644 --- a/htdocs/core/modules/mailings/advthirdparties.modules.php +++ b/htdocs/core/modules/mailings/advthirdparties.modules.php @@ -60,7 +60,7 @@ class mailing_advthirdparties extends MailingTargets * @param array $contactid Array of contact id to add * @return int <0 if error, number of emails added if ok */ - function add_to_target_spec($mailing_id,$socid,$type_of_target, $contactid) + function add_to_target_spec($mailing_id, $socid, $type_of_target, $contactid) { // phpcs:enable global $conf, $langs; @@ -208,7 +208,7 @@ class mailing_advthirdparties extends MailingTargets * @param string $sql Not use here * @return int Nb of recipients */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { global $conf; @@ -287,7 +287,7 @@ class mailing_advthirdparties extends MailingTargets * @param string $type type * @return string Url link */ - function url($id,$type) + function url($id, $type) { if ($type=='thirdparty') { $companystatic=new Societe($this->db); diff --git a/htdocs/core/modules/mailings/contacts1.modules.php b/htdocs/core/modules/mailings/contacts1.modules.php index 588d61faf5e..53bf5095598 100644 --- a/htdocs/core/modules/mailings/contacts1.modules.php +++ b/htdocs/core/modules/mailings/contacts1.modules.php @@ -91,7 +91,7 @@ class mailing_contacts1 extends MailingTargets * @param string $sql Requete sql de comptage * @return int */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { global $conf; diff --git a/htdocs/core/modules/mailings/example.modules.php b/htdocs/core/modules/mailings/example.modules.php index cd0a0ee9d5a..8feadc6b6e2 100644 --- a/htdocs/core/modules/mailings/example.modules.php +++ b/htdocs/core/modules/mailings/example.modules.php @@ -110,7 +110,7 @@ class mailing_example extends MailingTargets * @param string $sql Requete sql de comptage * @return int|string Number of recipient or '?' */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { // CHANGE THIS: Optionnal diff --git a/htdocs/core/modules/mailings/fraise.modules.php b/htdocs/core/modules/mailings/fraise.modules.php index 151d828aa61..75b01098333 100644 --- a/htdocs/core/modules/mailings/fraise.modules.php +++ b/htdocs/core/modules/mailings/fraise.modules.php @@ -90,7 +90,7 @@ class mailing_fraise extends MailingTargets * @param string $sql Requete sql de comptage * @return int Nb of recipients */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { $sql = "SELECT count(distinct(a.email)) as nb"; $sql .= " FROM ".MAIN_DB_PREFIX."adherent as a"; diff --git a/htdocs/core/modules/mailings/pomme.modules.php b/htdocs/core/modules/mailings/pomme.modules.php index 91539359d6e..177a40d4827 100644 --- a/htdocs/core/modules/mailings/pomme.modules.php +++ b/htdocs/core/modules/mailings/pomme.modules.php @@ -88,7 +88,7 @@ class mailing_pomme extends MailingTargets * @param string $sql SQL request to use to count * @return int Number of recipients */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { global $conf; diff --git a/htdocs/core/modules/mailings/thirdparties.modules.php b/htdocs/core/modules/mailings/thirdparties.modules.php index 5465b0af5c3..e6e5e021ab9 100644 --- a/htdocs/core/modules/mailings/thirdparties.modules.php +++ b/htdocs/core/modules/mailings/thirdparties.modules.php @@ -218,7 +218,7 @@ class mailing_thirdparties extends MailingTargets * @param string $sql Requete sql de comptage * @return int Nb of recipients */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { global $conf; diff --git a/htdocs/core/modules/mailings/thirdparties_services_expired.modules.php b/htdocs/core/modules/mailings/thirdparties_services_expired.modules.php index fc57a364c9d..a82517859db 100644 --- a/htdocs/core/modules/mailings/thirdparties_services_expired.modules.php +++ b/htdocs/core/modules/mailings/thirdparties_services_expired.modules.php @@ -189,7 +189,7 @@ class mailing_thirdparties_services_expired extends MailingTargets * @param string $sql SQL request to use to count * @return int Number of recipients */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { $now=dol_now(); diff --git a/htdocs/core/modules/mailings/xinputfile.modules.php b/htdocs/core/modules/mailings/xinputfile.modules.php index a4caef12af8..ee94516a44c 100644 --- a/htdocs/core/modules/mailings/xinputfile.modules.php +++ b/htdocs/core/modules/mailings/xinputfile.modules.php @@ -76,7 +76,7 @@ class mailing_xinputfile extends MailingTargets * @param string $sql Sql request to count * @return string '' means NA */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { return ''; } diff --git a/htdocs/core/modules/mailings/xinputuser.modules.php b/htdocs/core/modules/mailings/xinputuser.modules.php index bcbf5d9a41b..a7448952f69 100644 --- a/htdocs/core/modules/mailings/xinputuser.modules.php +++ b/htdocs/core/modules/mailings/xinputuser.modules.php @@ -76,7 +76,7 @@ class mailing_xinputuser extends MailingTargets * @param string $sql Sql request to count * @return string '' means NA */ - function getNbOfRecipients($sql='') + function getNbOfRecipients($sql = '') { return ''; } diff --git a/htdocs/core/modules/member/doc/pdf_standard.class.php b/htdocs/core/modules/member/doc/pdf_standard.class.php index 524d1446427..e6c023823fd 100644 --- a/htdocs/core/modules/member/doc/pdf_standard.class.php +++ b/htdocs/core/modules/member/doc/pdf_standard.class.php @@ -42,7 +42,7 @@ class pdf_standard extends CommonStickerGenerator * @param array $param Associative array containing label content and optional parameters * @return void */ - function addSticker(&$pdf,$outputlangs,$param) + function addSticker(&$pdf, $outputlangs, $param) { // use this method in future refactoring } @@ -63,7 +63,7 @@ class pdf_standard extends CommonStickerGenerator * @param string $photo Photo (full path to image file used as replacement for key __PHOTOS__ into left, right, header or footer text) * @return void */ - function Add_PDF_card(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='',$idmember=0,$photo='') + function Add_PDF_card(&$pdf, $textleft, $header, $footer, $outputlangs, $textright = '', $idmember = 0, $photo = '') { // phpcs:enable global $db,$mysoc,$conf,$langs; @@ -248,7 +248,7 @@ class pdf_standard extends CommonStickerGenerator * @param int $nooutput 1=Generate only file on disk and do not return it on response * @return int 1=OK, 0=KO */ - function write_file($object, $outputlangs, $srctemplatepath, $mode='member', $nooutput=0) + function write_file($object, $outputlangs, $srctemplatepath, $mode = 'member', $nooutput = 0) { // phpcs:enable global $user,$conf,$langs,$mysoc,$_Avery_Labels; diff --git a/htdocs/core/modules/member/modules_cards.php b/htdocs/core/modules/member/modules_cards.php index 4f498d92158..7cbe8778f6e 100644 --- a/htdocs/core/modules/member/modules_cards.php +++ b/htdocs/core/modules/member/modules_cards.php @@ -48,7 +48,7 @@ class ModelePDFCards * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - function liste_modeles($db,$maxfilenamelength=0) + function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -76,7 +76,7 @@ class ModelePDFCards * @param string $template pdf generenate document class to use default 'standard' * @return int <0 if KO, >0 if OK */ -function members_card_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $outputdir='', $template='standard') +function members_card_pdf_create($db, $arrayofmembers, $modele, $outputlangs, $outputdir = '', $template = 'standard') { // phpcs:enable global $conf,$langs; diff --git a/htdocs/core/modules/modAdherent.class.php b/htdocs/core/modules/modAdherent.class.php index 6b5cb22d69a..006c529fc02 100644 --- a/htdocs/core/modules/modAdherent.class.php +++ b/htdocs/core/modules/modAdherent.class.php @@ -377,7 +377,7 @@ class modAdherent extends DolibarrModules * @param string $options Options when enabling module ('', 'newboxdefonly', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modApi.class.php b/htdocs/core/modules/modApi.class.php index 45aedc11406..515ec4296b1 100644 --- a/htdocs/core/modules/modApi.class.php +++ b/htdocs/core/modules/modApi.class.php @@ -224,7 +224,7 @@ class modApi extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { $sql = array(); diff --git a/htdocs/core/modules/modAsset.class.php b/htdocs/core/modules/modAsset.class.php index dd61c75df2a..fc123cb3cd6 100644 --- a/htdocs/core/modules/modAsset.class.php +++ b/htdocs/core/modules/modAsset.class.php @@ -320,7 +320,7 @@ class modAsset extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modBanque.class.php b/htdocs/core/modules/modBanque.class.php index 89a84f564b8..47f5a1b0519 100644 --- a/htdocs/core/modules/modBanque.class.php +++ b/htdocs/core/modules/modBanque.class.php @@ -210,7 +210,7 @@ class modBanque extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modBarcode.class.php b/htdocs/core/modules/modBarcode.class.php index 9e66bc3f995..78282afae02 100644 --- a/htdocs/core/modules/modBarcode.class.php +++ b/htdocs/core/modules/modBarcode.class.php @@ -129,7 +129,7 @@ class modBarcode extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/modBlockedLog.class.php b/htdocs/core/modules/modBlockedLog.class.php index 2c422cb4ad6..b14f385ccba 100644 --- a/htdocs/core/modules/modBlockedLog.class.php +++ b/htdocs/core/modules/modBlockedLog.class.php @@ -162,7 +162,7 @@ class modBlockedLog extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf, $user; diff --git a/htdocs/core/modules/modCashDesk.class.php b/htdocs/core/modules/modCashDesk.class.php index 472abe53a42..ab1179fc61c 100644 --- a/htdocs/core/modules/modCashDesk.class.php +++ b/htdocs/core/modules/modCashDesk.class.php @@ -132,7 +132,7 @@ class modCashDesk extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { $sql = array(); diff --git a/htdocs/core/modules/modCategorie.class.php b/htdocs/core/modules/modCategorie.class.php index f0561757eae..11e7091a6e4 100644 --- a/htdocs/core/modules/modCategorie.class.php +++ b/htdocs/core/modules/modCategorie.class.php @@ -483,7 +483,7 @@ class modCategorie extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/modCommande.class.php b/htdocs/core/modules/modCommande.class.php index 5d1bdeada81..6a5791799ad 100644 --- a/htdocs/core/modules/modCommande.class.php +++ b/htdocs/core/modules/modCommande.class.php @@ -269,7 +269,7 @@ class modCommande extends DolibarrModules * @param string $options Options when enabling module ('', 'newboxdefonly', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modComptabilite.class.php b/htdocs/core/modules/modComptabilite.class.php index 2d0f81cf0cc..ff4c44aaff6 100644 --- a/htdocs/core/modules/modComptabilite.class.php +++ b/htdocs/core/modules/modComptabilite.class.php @@ -109,7 +109,7 @@ class modComptabilite extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modContrat.class.php b/htdocs/core/modules/modContrat.class.php index 2ed01afee83..f7a72f62c9a 100644 --- a/htdocs/core/modules/modContrat.class.php +++ b/htdocs/core/modules/modContrat.class.php @@ -212,7 +212,7 @@ class modContrat extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modDav.class.php b/htdocs/core/modules/modDav.class.php index bf0f3b1b189..627d7051b52 100644 --- a/htdocs/core/modules/modDav.class.php +++ b/htdocs/core/modules/modDav.class.php @@ -287,7 +287,7 @@ class modDav extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - public function init($options='') + public function init($options = '') { //$this->_load_tables('/dav/sql/'); diff --git a/htdocs/core/modules/modDeplacement.class.php b/htdocs/core/modules/modDeplacement.class.php index e5c7146729f..8fe5dfd0a39 100644 --- a/htdocs/core/modules/modDeplacement.class.php +++ b/htdocs/core/modules/modDeplacement.class.php @@ -152,7 +152,7 @@ class modDeplacement extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/modDocumentGeneration.class.php b/htdocs/core/modules/modDocumentGeneration.class.php index a2ea9dea7c8..7fbfc8d1ea4 100644 --- a/htdocs/core/modules/modDocumentGeneration.class.php +++ b/htdocs/core/modules/modDocumentGeneration.class.php @@ -103,7 +103,7 @@ class modDocumentGeneration extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modDon.class.php b/htdocs/core/modules/modDon.class.php index 325f6533f51..10665c91b93 100644 --- a/htdocs/core/modules/modDon.class.php +++ b/htdocs/core/modules/modDon.class.php @@ -151,7 +151,7 @@ class modDon extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modEmailCollector.class.php b/htdocs/core/modules/modEmailCollector.class.php index 868e1760ded..8c23b5e26b8 100644 --- a/htdocs/core/modules/modEmailCollector.class.php +++ b/htdocs/core/modules/modEmailCollector.class.php @@ -284,7 +284,7 @@ class modEmailCollector extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - public function init($options='') + public function init($options = '') { //$this->_load_tables('/dav/sql/'); diff --git a/htdocs/core/modules/modExpedition.class.php b/htdocs/core/modules/modExpedition.class.php index 06cb8272ce0..a1166d46a07 100644 --- a/htdocs/core/modules/modExpedition.class.php +++ b/htdocs/core/modules/modExpedition.class.php @@ -315,7 +315,7 @@ class modExpedition extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modExpenseReport.class.php b/htdocs/core/modules/modExpenseReport.class.php index 62daf54a395..428134573a2 100644 --- a/htdocs/core/modules/modExpenseReport.class.php +++ b/htdocs/core/modules/modExpenseReport.class.php @@ -210,7 +210,7 @@ class modExpenseReport extends DolibarrModules * @param string $options Options * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modExternalRss.class.php b/htdocs/core/modules/modExternalRss.class.php index 8d1bf055673..2d85e5737eb 100644 --- a/htdocs/core/modules/modExternalRss.class.php +++ b/htdocs/core/modules/modExternalRss.class.php @@ -86,7 +86,7 @@ class modExternalRss extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; @@ -126,7 +126,7 @@ class modExternalRss extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function remove($options='') + function remove($options = '') { $sql = array(); diff --git a/htdocs/core/modules/modFicheinter.class.php b/htdocs/core/modules/modFicheinter.class.php index b1b18da2508..f46c248d69a 100644 --- a/htdocs/core/modules/modFicheinter.class.php +++ b/htdocs/core/modules/modFicheinter.class.php @@ -208,7 +208,7 @@ class modFicheinter extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modFournisseur.class.php b/htdocs/core/modules/modFournisseur.class.php index 16712d21ec2..41aa55eef83 100644 --- a/htdocs/core/modules/modFournisseur.class.php +++ b/htdocs/core/modules/modFournisseur.class.php @@ -623,7 +623,7 @@ class modFournisseur extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modHRM.class.php b/htdocs/core/modules/modHRM.class.php index 5da8cf74e71..9c2559f1218 100644 --- a/htdocs/core/modules/modHRM.class.php +++ b/htdocs/core/modules/modHRM.class.php @@ -131,7 +131,7 @@ class modHRM extends DolibarrModules * @param string $options Enabling module ('', 'noboxes') * @return int if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/modLabel.class.php b/htdocs/core/modules/modLabel.class.php index 6dd268fc360..50756d2e1b4 100644 --- a/htdocs/core/modules/modLabel.class.php +++ b/htdocs/core/modules/modLabel.class.php @@ -100,7 +100,7 @@ class modLabel extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/modLoan.class.php b/htdocs/core/modules/modLoan.class.php index 662ded1da21..2c098961cc1 100644 --- a/htdocs/core/modules/modLoan.class.php +++ b/htdocs/core/modules/modLoan.class.php @@ -156,7 +156,7 @@ class modLoan extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modMailing.class.php b/htdocs/core/modules/modMailing.class.php index 1f600cb9f12..5011d477b4c 100644 --- a/htdocs/core/modules/modMailing.class.php +++ b/htdocs/core/modules/modMailing.class.php @@ -149,7 +149,7 @@ class modMailing extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/modNotification.class.php b/htdocs/core/modules/modNotification.class.php index 21d5f81eb98..7f7f43893d8 100644 --- a/htdocs/core/modules/modNotification.class.php +++ b/htdocs/core/modules/modNotification.class.php @@ -89,7 +89,7 @@ class modNotification extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/modOauth.class.php b/htdocs/core/modules/modOauth.class.php index 086dac64bed..144734d0beb 100644 --- a/htdocs/core/modules/modOauth.class.php +++ b/htdocs/core/modules/modOauth.class.php @@ -130,7 +130,7 @@ class modOauth extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modOpenSurvey.class.php b/htdocs/core/modules/modOpenSurvey.class.php index be0b67950d7..7b6fa688192 100644 --- a/htdocs/core/modules/modOpenSurvey.class.php +++ b/htdocs/core/modules/modOpenSurvey.class.php @@ -173,7 +173,7 @@ class modOpenSurvey extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/modPrelevement.class.php b/htdocs/core/modules/modPrelevement.class.php index 2753c7e76ab..b2ac992eef7 100644 --- a/htdocs/core/modules/modPrelevement.class.php +++ b/htdocs/core/modules/modPrelevement.class.php @@ -146,7 +146,7 @@ class modPrelevement extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php index e00df796409..917b8881d47 100644 --- a/htdocs/core/modules/modProduct.class.php +++ b/htdocs/core/modules/modProduct.class.php @@ -550,7 +550,7 @@ class modProduct extends DolibarrModules * @param string $options Options when enabling module ('', 'newboxdefonly', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { $this->remove($options); diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 55a800bd366..1c5f08b55a4 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -114,7 +114,7 @@ class modProductBatch extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $db,$conf; diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index fc18d1c7ec6..39de792b18c 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -310,7 +310,7 @@ class modProjet extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modPropale.class.php b/htdocs/core/modules/modPropale.class.php index cb2119e0146..d61720eda28 100644 --- a/htdocs/core/modules/modPropale.class.php +++ b/htdocs/core/modules/modPropale.class.php @@ -265,7 +265,7 @@ class modPropale extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modReceiptPrinter.class.php b/htdocs/core/modules/modReceiptPrinter.class.php index 0cb05499843..ced2dc491ad 100644 --- a/htdocs/core/modules/modReceiptPrinter.class.php +++ b/htdocs/core/modules/modReceiptPrinter.class.php @@ -130,7 +130,7 @@ class modReceiptPrinter extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; // Clean before activation diff --git a/htdocs/core/modules/modReception.class.php b/htdocs/core/modules/modReception.class.php index da1154d94ee..27df9b9a31a 100644 --- a/htdocs/core/modules/modReception.class.php +++ b/htdocs/core/modules/modReception.class.php @@ -243,7 +243,7 @@ class modReception extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modSalaries.class.php b/htdocs/core/modules/modSalaries.class.php index 056b2c19785..9fe00cead73 100644 --- a/htdocs/core/modules/modSalaries.class.php +++ b/htdocs/core/modules/modSalaries.class.php @@ -166,7 +166,7 @@ class modSalaries extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modService.class.php b/htdocs/core/modules/modService.class.php index 6e5f5562a77..9a8d19b1537 100644 --- a/htdocs/core/modules/modService.class.php +++ b/htdocs/core/modules/modService.class.php @@ -363,7 +363,7 @@ class modService extends DolibarrModules * @param string $options Options when enabling module ('', 'newboxdefonly', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { $this->remove($options); diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php index e8150348c0c..e77ecb20f0e 100644 --- a/htdocs/core/modules/modSociete.class.php +++ b/htdocs/core/modules/modSociete.class.php @@ -727,7 +727,7 @@ class modSociete extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf, $langs; diff --git a/htdocs/core/modules/modStock.class.php b/htdocs/core/modules/modStock.class.php index 4cdc5aabf83..e9d8a2f5129 100644 --- a/htdocs/core/modules/modStock.class.php +++ b/htdocs/core/modules/modStock.class.php @@ -358,7 +358,7 @@ class modStock extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modSupplierProposal.class.php b/htdocs/core/modules/modSupplierProposal.class.php index 570680b163b..43d42d7b8c3 100644 --- a/htdocs/core/modules/modSupplierProposal.class.php +++ b/htdocs/core/modules/modSupplierProposal.class.php @@ -206,7 +206,7 @@ class modSupplierProposal extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modTakePos.class.php b/htdocs/core/modules/modTakePos.class.php index c47a66c3de2..a0981c490f9 100644 --- a/htdocs/core/modules/modTakePos.class.php +++ b/htdocs/core/modules/modTakePos.class.php @@ -285,7 +285,7 @@ class modTakePos extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - public function init($options='') + public function init($options = '') { $this->_load_tables('/takepos/sql/'); diff --git a/htdocs/core/modules/modTax.class.php b/htdocs/core/modules/modTax.class.php index ee04d79ebcb..cacc1dd21dd 100644 --- a/htdocs/core/modules/modTax.class.php +++ b/htdocs/core/modules/modTax.class.php @@ -185,7 +185,7 @@ class modTax extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index 40b7ff901b9..7d003fc2731 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -302,7 +302,7 @@ class modUser extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf; diff --git a/htdocs/core/modules/modWebsite.class.php b/htdocs/core/modules/modWebsite.class.php index 01490278566..3ef181d1da6 100644 --- a/htdocs/core/modules/modWebsite.class.php +++ b/htdocs/core/modules/modWebsite.class.php @@ -145,7 +145,7 @@ class modWebsite extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { global $conf,$langs; diff --git a/htdocs/core/modules/modWorkflow.class.php b/htdocs/core/modules/modWorkflow.class.php index 771d718af70..cc72e8bc917 100644 --- a/htdocs/core/modules/modWorkflow.class.php +++ b/htdocs/core/modules/modWorkflow.class.php @@ -139,7 +139,7 @@ class modWorkflow extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - function init($options='') + function init($options = '') { // Permissions $this->remove($options); diff --git a/htdocs/core/modules/payment/mod_payment_ant.php b/htdocs/core/modules/payment/mod_payment_ant.php index b7d88464355..9b542ac4742 100644 --- a/htdocs/core/modules/payment/mod_payment_ant.php +++ b/htdocs/core/modules/payment/mod_payment_ant.php @@ -122,7 +122,7 @@ class mod_payment_ant extends ModeleNumRefPayments * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -151,7 +151,7 @@ class mod_payment_ant extends ModeleNumRefPayments * @param string $objforref Object for number to search * @return string Next free value */ - function commande_get_num($objsoc,$objforref) + function commande_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/payment/mod_payment_cicada.php b/htdocs/core/modules/payment/mod_payment_cicada.php index 5869032cc5b..f412769edba 100644 --- a/htdocs/core/modules/payment/mod_payment_cicada.php +++ b/htdocs/core/modules/payment/mod_payment_cicada.php @@ -119,7 +119,7 @@ class mod_payment_cicada extends ModeleNumRefPayments * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -163,7 +163,7 @@ class mod_payment_cicada extends ModeleNumRefPayments * @param string $objforref Object for number to search * @return string Next free value */ - function payment_get_num($objsoc,$objforref) + function payment_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/payment/modules_payment.php b/htdocs/core/modules/payment/modules_payment.php index d9cf9b1260f..0773204a1c8 100644 --- a/htdocs/core/modules/payment/modules_payment.php +++ b/htdocs/core/modules/payment/modules_payment.php @@ -79,7 +79,7 @@ abstract class ModeleNumRefPayments * @param Object $object Object we need next value for * @return string Valeur */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $langs; return $langs->trans("NotAvailable"); diff --git a/htdocs/core/modules/printing/modules_printing.php b/htdocs/core/modules/printing/modules_printing.php index afd46919598..dbe3a45bad1 100644 --- a/htdocs/core/modules/printing/modules_printing.php +++ b/htdocs/core/modules/printing/modules_printing.php @@ -59,7 +59,7 @@ class PrintingDriver * @param integer $maxfilenamelength Max length of value to show * @return array List of drivers */ - static function listDrivers($db,$maxfilenamelength=0) + static function listDrivers($db, $maxfilenamelength = 0) { global $conf; diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php index 089fb95ba69..d1deb37e3b3 100644 --- a/htdocs/core/modules/printing/printgcp.modules.php +++ b/htdocs/core/modules/printing/printgcp.modules.php @@ -299,7 +299,7 @@ class printing_printgcp extends PrintingDriver * @param string $subdir subdir for file * @return int 0 if OK, >0 if KO */ - public function printFile($file, $module, $subdir='') + public function printFile($file, $module, $subdir = '') { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; diff --git a/htdocs/core/modules/printing/printipp.modules.php b/htdocs/core/modules/printing/printipp.modules.php index ab65f8fba3d..ddf07afe71c 100644 --- a/htdocs/core/modules/printing/printipp.modules.php +++ b/htdocs/core/modules/printing/printipp.modules.php @@ -87,7 +87,7 @@ class printing_printipp extends PrintingDriver * * @return int 0 if OK, >0 if KO */ - public function printFile($file, $module, $subdir='') + public function printFile($file, $module, $subdir = '') { global $conf, $user; $error = 0; diff --git a/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php b/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php index 0047dda7669..ad848427c4d 100644 --- a/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php +++ b/htdocs/core/modules/printsheet/doc/pdf_standardlabel.class.php @@ -41,7 +41,7 @@ class pdf_standardlabel extends CommonStickerGenerator * @param array $param Associative array containing label content and optional parameters * @return void */ - function addSticker(&$pdf,$outputlangs,$param) + function addSticker(&$pdf, $outputlangs, $param) { // use this method in future refactoring } @@ -61,7 +61,7 @@ class pdf_standardlabel extends CommonStickerGenerator * @param string $photo Photo (full path to image file used as replacement for key %PHOTOS% into left, right, header or footer text) * @return void */ - function Add_PDF_label(&$pdf,$textleft,$header,$footer,$outputlangs,$textright='',$photo='') + function Add_PDF_label(&$pdf, $textleft, $header, $footer, $outputlangs, $textright = '', $photo = '') { // phpcs:enable global $mysoc, $conf, $langs; @@ -238,7 +238,7 @@ class pdf_standardlabel extends CommonStickerGenerator * @param string $filename Short file name of PDF output file * @return int 1=OK, 0=KO */ - function write_file($arrayofrecords,$outputlangs,$srctemplatepath,$outputdir='',$filename='tmp_address_sheet.pdf') + function write_file($arrayofrecords, $outputlangs, $srctemplatepath, $outputdir = '', $filename = 'tmp_address_sheet.pdf') { // phpcs:enable global $user,$conf,$langs,$mysoc,$_Avery_Labels; diff --git a/htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php b/htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php index de1aa1b5d5e..a83d490b7be 100644 --- a/htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php +++ b/htdocs/core/modules/printsheet/doc/pdf_tcpdflabel.class.php @@ -96,7 +96,7 @@ class pdf_tcpdflabel extends CommonStickerGenerator * @param array $param Associative array containing label content and optional parameters * @return void */ - function addSticker(&$pdf,$outputlangs,$param) + function addSticker(&$pdf, $outputlangs, $param) { global $mysoc,$conf; @@ -277,7 +277,7 @@ class pdf_tcpdflabel extends CommonStickerGenerator * @param string $filename Short file name of PDF output file * @return int 1=OK, 0=KO */ - function write_file($arrayofrecords,$outputlangs,$srctemplatepath,$outputdir='',$filename='tmp_address_sheet.pdf') + function write_file($arrayofrecords, $outputlangs, $srctemplatepath, $outputdir = '', $filename = 'tmp_address_sheet.pdf') { // phpcs:enable global $user,$conf,$langs,$mysoc,$_Avery_Labels; diff --git a/htdocs/core/modules/printsheet/modules_labels.php b/htdocs/core/modules/printsheet/modules_labels.php index 7a34d5e7e64..653c9db4d6c 100644 --- a/htdocs/core/modules/printsheet/modules_labels.php +++ b/htdocs/core/modules/printsheet/modules_labels.php @@ -48,7 +48,7 @@ class ModelePDFLabels * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - function liste_modeles($db,$maxfilenamelength=0) + function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -77,7 +77,7 @@ class ModelePDFLabels * @param string $filename Short file name of PDF output file * @return int <0 if KO, >0 if OK */ -function doc_label_pdf_create($db, $arrayofrecords, $modele, $outputlangs, $outputdir='', $template='standardlabel', $filename='tmp_address_sheet.pdf') +function doc_label_pdf_create($db, $arrayofrecords, $modele, $outputlangs, $outputdir = '', $template = 'standardlabel', $filename = 'tmp_address_sheet.pdf') { // phpcs:enable global $conf,$langs; diff --git a/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php b/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php index dd2527338a4..8ae2fe0eb9a 100644 --- a/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php +++ b/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php @@ -217,7 +217,7 @@ class doc_generic_product_odt extends ModelePDFProduct * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $product,$langs,$conf,$mysoc,$hookmanager,$user; diff --git a/htdocs/core/modules/product/doc/pdf_standard.modules.php b/htdocs/core/modules/product/doc/pdf_standard.modules.php index e9af5b9aa6e..7da2295290f 100644 --- a/htdocs/core/modules/product/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/product/doc/pdf_standard.modules.php @@ -160,7 +160,7 @@ class pdf_standard extends ModelePDFProduct * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager; @@ -603,7 +603,7 @@ class pdf_standard extends ModelePDFProduct * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -713,7 +713,7 @@ class pdf_standard extends ModelePDFProduct * @param string $titlekey Translation key to show as title of document * @return void */ - function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey="") + function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "") { global $conf,$langs,$hookmanager; @@ -862,7 +862,7 @@ class pdf_standard extends ModelePDFProduct * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/product/mod_codeproduct_elephant.php b/htdocs/core/modules/product/mod_codeproduct_elephant.php index 1b455743cb2..697add2fccb 100644 --- a/htdocs/core/modules/product/mod_codeproduct_elephant.php +++ b/htdocs/core/modules/product/mod_codeproduct_elephant.php @@ -138,7 +138,7 @@ class mod_codeproduct_elephant extends ModeleProductCode * @param int $type Type of third party (1:customer, 2:supplier, -1:autodetect) * @return string Return string example */ - function getExample($langs,$objproduct=0,$type=-1) + function getExample($langs, $objproduct = 0, $type = -1) { if ($type == 0 || $type == -1) { @@ -179,7 +179,7 @@ class mod_codeproduct_elephant extends ModeleProductCode * @param int $type Produit ou service (0:product, 1:service) * @return string Value if OK, '' if module not configured, <0 if KO */ - function getNextValue($objproduct=0,$type=-1) + function getNextValue($objproduct = 0, $type = -1) { global $db,$conf; diff --git a/htdocs/core/modules/product/mod_codeproduct_leopard.php b/htdocs/core/modules/product/mod_codeproduct_leopard.php index 815e383d900..a8123c702e9 100644 --- a/htdocs/core/modules/product/mod_codeproduct_leopard.php +++ b/htdocs/core/modules/product/mod_codeproduct_leopard.php @@ -100,7 +100,7 @@ class mod_codeproduct_leopard extends ModeleProductCode * @param int $type Type of third party (1:customer, 2:supplier, -1:autodetect) * @return string Return next value */ - function getNextValue($objproduct=0,$type=-1) + function getNextValue($objproduct = 0, $type = -1) { global $langs; return ''; diff --git a/htdocs/core/modules/product/modules_product.class.php b/htdocs/core/modules/product/modules_product.class.php index 10470d4d9f0..5c5f2428464 100644 --- a/htdocs/core/modules/product/modules_product.class.php +++ b/htdocs/core/modules/product/modules_product.class.php @@ -47,7 +47,7 @@ abstract class ModelePDFProduct extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -118,7 +118,7 @@ abstract class ModeleProductCode * @param int $type Type * @return string Value */ - function getNextValue($objproduct=0,$type=-1) + function getNextValue($objproduct = 0, $type = -1) { global $langs; return $langs->trans("Function_getNextValue_InModuleNotWorking"); @@ -149,7 +149,7 @@ abstract class ModeleProductCode * @param integer $maxfilenamelength Max length of value to show * @return array List of numbers */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable $liste=array(); @@ -182,7 +182,7 @@ abstract class ModeleProductCode * @param int $type -1=Nothing, 0=Customer, 1=Supplier * @return string HTML translated description */ - function getToolTip($langs,$product,$type) + function getToolTip($langs, $product, $type) { global $conf; diff --git a/htdocs/core/modules/product_batch/modules_product_batch.class.php b/htdocs/core/modules/product_batch/modules_product_batch.class.php index 0a2076e4ed0..5708033a8ea 100644 --- a/htdocs/core/modules/product_batch/modules_product_batch.class.php +++ b/htdocs/core/modules/product_batch/modules_product_batch.class.php @@ -52,7 +52,7 @@ abstract class ModelePDFProductBatch extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db, $maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php index 6292008c54d..25f716f44cd 100644 --- a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php +++ b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php @@ -126,7 +126,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param string $array_key Name of the key for return array * @return array Array of substitution */ - function get_substitutionarray_object($object,$outputlangs,$array_key='object') + function get_substitutionarray_object($object, $outputlangs, $array_key = 'object') { // phpcs:enable global $conf; @@ -164,7 +164,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_tasks(Task $task,$outputlangs) + function get_substitutionarray_tasks(Task $task, $outputlangs) { // phpcs:enable global $conf; @@ -205,7 +205,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_project_contacts($contact,$outputlangs) + function get_substitutionarray_project_contacts($contact, $outputlangs) { // phpcs:enable global $conf; @@ -263,7 +263,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_project_file($file,$outputlangs) + function get_substitutionarray_project_file($file, $outputlangs) { // phpcs:enable global $conf; @@ -283,7 +283,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_project_reference($refdetail,$outputlangs) + function get_substitutionarray_project_reference($refdetail, $outputlangs) { // phpcs:enable global $conf; @@ -307,7 +307,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_tasksressource($taskressource,$outputlangs) + function get_substitutionarray_tasksressource($taskressource, $outputlangs) { // phpcs:enable global $conf; @@ -331,7 +331,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_taskstime($tasktime,$outputlangs) + function get_substitutionarray_taskstime($tasktime, $outputlangs) { // phpcs:enable global $conf; @@ -360,7 +360,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_task_file($file,$outputlangs) + function get_substitutionarray_task_file($file, $outputlangs) { // phpcs:enable global $conf; @@ -471,7 +471,7 @@ class doc_generic_project_odt extends ModelePDFProjects * @param string $srctemplatepath Full path of source filename for generator using a template file * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath) + function write_file($object, $outputlangs, $srctemplatepath) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/project/doc/pdf_baleine.modules.php b/htdocs/core/modules/project/doc/pdf_baleine.modules.php index f0161b30715..ac941af86be 100644 --- a/htdocs/core/modules/project/doc/pdf_baleine.modules.php +++ b/htdocs/core/modules/project/doc/pdf_baleine.modules.php @@ -173,7 +173,7 @@ class pdf_baleine extends ModelePDFProjects * @param Translate $outputlangs Lang output object * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs) + function write_file($object, $outputlangs) { // phpcs:enable global $conf, $hookmanager, $langs, $user; @@ -528,7 +528,7 @@ class pdf_baleine extends ModelePDFProjects * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf,$mysoc; @@ -668,7 +668,7 @@ class pdf_baleine extends ModelePDFProjects * @param int $hidefreetext 1=Hide free text * @return integer */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/project/doc/pdf_beluga.modules.php b/htdocs/core/modules/project/doc/pdf_beluga.modules.php index bc8da2b114c..32a2d10f72d 100644 --- a/htdocs/core/modules/project/doc/pdf_beluga.modules.php +++ b/htdocs/core/modules/project/doc/pdf_beluga.modules.php @@ -122,7 +122,7 @@ class pdf_beluga extends ModelePDFProjects * @param Translate $outputlangs Lang output object * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs) + function write_file($object, $outputlangs) { // phpcs:enable global $conf, $hookmanager, $langs, $user; @@ -680,7 +680,7 @@ class pdf_beluga extends ModelePDFProjects * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf,$mysoc; @@ -796,7 +796,7 @@ class pdf_beluga extends ModelePDFProjects * @param int $hidefreetext 1=Hide free text * @return integer */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/project/doc/pdf_timespent.modules.php b/htdocs/core/modules/project/doc/pdf_timespent.modules.php index a299a9758c7..a0d15c0fc72 100644 --- a/htdocs/core/modules/project/doc/pdf_timespent.modules.php +++ b/htdocs/core/modules/project/doc/pdf_timespent.modules.php @@ -105,7 +105,7 @@ class pdf_timespent extends ModelePDFProjects * @param Translate $outputlangs Lang output object * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs) + function write_file($object, $outputlangs) { // phpcs:enable global $conf, $hookmanager, $langs, $user; @@ -459,7 +459,7 @@ class pdf_timespent extends ModelePDFProjects * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf,$mysoc; @@ -599,7 +599,7 @@ class pdf_timespent extends ModelePDFProjects * @param int $hidefreetext 1=Hide free text * @return integer */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/project/mod_project_simple.php b/htdocs/core/modules/project/mod_project_simple.php index e5f5c268f06..1e46321818c 100644 --- a/htdocs/core/modules/project/mod_project_simple.php +++ b/htdocs/core/modules/project/mod_project_simple.php @@ -167,7 +167,7 @@ class mod_project_simple extends ModeleNumRefProjects * @param Project $project Object project * @return string Next not used reference */ - function project_get_num($objsoc=0, $project='') + function project_get_num($objsoc = 0, $project = '') { // phpcs:enable return $this->getNextValue($objsoc, $project); diff --git a/htdocs/core/modules/project/mod_project_universal.php b/htdocs/core/modules/project/mod_project_universal.php index e052dbcc7bd..64fe6487540 100644 --- a/htdocs/core/modules/project/mod_project_universal.php +++ b/htdocs/core/modules/project/mod_project_universal.php @@ -153,7 +153,7 @@ class mod_project_universal extends ModeleNumRefProjects * @param Project $project Object project * @return string Next not used reference */ - function project_get_num($objsoc=0, $project='') + function project_get_num($objsoc = 0, $project = '') { // phpcs:enable return $this->getNextValue($objsoc, $project); diff --git a/htdocs/core/modules/project/modules_project.php b/htdocs/core/modules/project/modules_project.php index af9877d59cb..d78b34faaa9 100644 --- a/htdocs/core/modules/project/modules_project.php +++ b/htdocs/core/modules/project/modules_project.php @@ -45,7 +45,7 @@ abstract class ModelePDFProjects extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php index c8c588d1f4f..19fdfbac08d 100644 --- a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php +++ b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php @@ -127,7 +127,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param string $array_key Name of the key for return array * @return array Array of substitution */ - function get_substitutionarray_object($object,$outputlangs,$array_key='object') + function get_substitutionarray_object($object, $outputlangs, $array_key = 'object') { // phpcs:enable global $conf; @@ -171,7 +171,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_tasks($task,$outputlangs) + function get_substitutionarray_tasks($task, $outputlangs) { // phpcs:enable global $conf; @@ -202,7 +202,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_project_contacts($contact,$outputlangs) + function get_substitutionarray_project_contacts($contact, $outputlangs) { // phpcs:enable global $conf; @@ -227,7 +227,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_project_file($file,$outputlangs) + function get_substitutionarray_project_file($file, $outputlangs) { // phpcs:enable global $conf; @@ -247,7 +247,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_project_reference($refdetail,$outputlangs) + function get_substitutionarray_project_reference($refdetail, $outputlangs) { // phpcs:enable global $conf; @@ -271,7 +271,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_tasksressource($taskressource,$outputlangs) + function get_substitutionarray_tasksressource($taskressource, $outputlangs) { // phpcs:enable global $conf; @@ -295,7 +295,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_taskstime($tasktime,$outputlangs) + function get_substitutionarray_taskstime($tasktime, $outputlangs) { // phpcs:enable global $conf; @@ -320,7 +320,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_task_file($file,$outputlangs) + function get_substitutionarray_task_file($file, $outputlangs) { // phpcs:enable global $conf; @@ -431,7 +431,7 @@ class doc_generic_task_odt extends ModelePDFTask * @param string $srctemplatepath Full path of source filename for generator using a template file * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath) + function write_file($object, $outputlangs, $srctemplatepath) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/project/task/mod_task_simple.php b/htdocs/core/modules/project/task/mod_task_simple.php index 4450c57347d..4b8796ca5d0 100644 --- a/htdocs/core/modules/project/task/mod_task_simple.php +++ b/htdocs/core/modules/project/task/mod_task_simple.php @@ -123,7 +123,7 @@ class mod_task_simple extends ModeleNumRefTask * @param Task $object Object Task * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -167,7 +167,7 @@ class mod_task_simple extends ModeleNumRefTask * @param Task $object Object task * @return string Next not used reference */ - function task_get_num($objsoc=0,$object='') + function task_get_num($objsoc = 0, $object = '') { return $this->getNextValue($objsoc,$object); } diff --git a/htdocs/core/modules/project/task/mod_task_universal.php b/htdocs/core/modules/project/task/mod_task_universal.php index 3272d180c50..785442edfb8 100644 --- a/htdocs/core/modules/project/task/mod_task_universal.php +++ b/htdocs/core/modules/project/task/mod_task_universal.php @@ -123,7 +123,7 @@ class mod_task_universal extends ModeleNumRefTask * @param Task $object Object task * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -153,7 +153,7 @@ class mod_task_universal extends ModeleNumRefTask * @param Task $object Object task * @return string Next not used reference */ - function project_get_num($objsoc=0,$object='') + function project_get_num($objsoc = 0, $object = '') { // phpcs:enable return $this->getNextValue($objsoc, $object); diff --git a/htdocs/core/modules/project/task/modules_task.php b/htdocs/core/modules/project/task/modules_task.php index ef7a9be4e98..0d1c36bbfe6 100644 --- a/htdocs/core/modules/project/task/modules_task.php +++ b/htdocs/core/modules/project/task/modules_task.php @@ -46,7 +46,7 @@ abstract class ModelePDFTask extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php index 18f6d9b6102..cfb1b87388f 100644 --- a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php +++ b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php @@ -233,7 +233,7 @@ class doc_generic_proposal_odt extends ModelePDFPropales * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 3d7b5b44c34..4f7bedef51b 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -214,7 +214,7 @@ class pdf_azur extends ModelePDFPropales * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes; @@ -1318,7 +1318,7 @@ class pdf_azur extends ModelePDFPropales * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1660,7 +1660,7 @@ class pdf_azur extends ModelePDFPropales * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php index a99f75d99ed..b38dbf83740 100644 --- a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php @@ -130,7 +130,7 @@ class pdf_cyan extends ModelePDFPropales * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - public function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + public function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes; @@ -1352,7 +1352,7 @@ class pdf_cyan extends ModelePDFPropales * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1644,7 +1644,7 @@ class pdf_cyan extends ModelePDFPropales * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; @@ -1697,7 +1697,7 @@ class pdf_cyan extends ModelePDFPropales * @param int $hideref Do not show ref * @return null */ - function defineColumnField($object,$outputlangs,$hidedetails=0,$hidedesc=0,$hideref=0) + function defineColumnField($object, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf, $hookmanager; diff --git a/htdocs/core/modules/propale/mod_propale_marbre.php b/htdocs/core/modules/propale/mod_propale_marbre.php index cb1638aec82..68b9c1e71de 100644 --- a/htdocs/core/modules/propale/mod_propale_marbre.php +++ b/htdocs/core/modules/propale/mod_propale_marbre.php @@ -124,7 +124,7 @@ class mod_propale_marbre extends ModeleNumRefPropales * @param Propal $propal Object commercial proposal * @return string Next value */ - function getNextValue($objsoc,$propal) + function getNextValue($objsoc, $propal) { global $db,$conf; @@ -165,7 +165,7 @@ class mod_propale_marbre extends ModeleNumRefPropales * @param Object $objforref Object for number to search * @return string Next free value */ - function getNumRef($objsoc,$objforref) + function getNumRef($objsoc, $objforref) { return $this->getNextValue($objsoc,$objforref); } diff --git a/htdocs/core/modules/propale/mod_propale_saphir.php b/htdocs/core/modules/propale/mod_propale_saphir.php index 87fcc7c2920..5a47fad4127 100644 --- a/htdocs/core/modules/propale/mod_propale_saphir.php +++ b/htdocs/core/modules/propale/mod_propale_saphir.php @@ -128,7 +128,7 @@ class mod_propale_saphir extends ModeleNumRefPropales * @param Propal $propal Object commercial proposal * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$propal) + function getNextValue($objsoc, $propal) { global $db,$conf; diff --git a/htdocs/core/modules/propale/modules_propale.php b/htdocs/core/modules/propale/modules_propale.php index 595534c40f4..1d820062ac3 100644 --- a/htdocs/core/modules/propale/modules_propale.php +++ b/htdocs/core/modules/propale/modules_propale.php @@ -50,7 +50,7 @@ abstract class ModelePDFPropales extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -128,7 +128,7 @@ abstract class ModeleNumRefPropales * @param Propal $propal Object commercial proposal * @return string Valeur */ - function getNextValue($objsoc,$propal) + function getNextValue($objsoc, $propal) { global $langs; return $langs->trans("NotAvailable"); diff --git a/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php b/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php index 7f6fd99bd67..e9b616cb0e2 100644 --- a/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php +++ b/htdocs/core/modules/reception/doc/doc_generic_reception_odt.modules.php @@ -185,7 +185,7 @@ class doc_generic_reception_odt extends ModelePdfReception * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/reception/doc/pdf_squille.modules.php b/htdocs/core/modules/reception/doc/pdf_squille.modules.php index 592171ed6f0..f6a7277469b 100644 --- a/htdocs/core/modules/reception/doc/pdf_squille.modules.php +++ b/htdocs/core/modules/reception/doc/pdf_squille.modules.php @@ -40,7 +40,7 @@ class pdf_squille extends ModelePdfReception * * @param DoliDB $db Database handler */ - function __construct($db=0) + function __construct($db = 0) { global $conf,$langs,$mysoc; @@ -110,7 +110,7 @@ class pdf_squille extends ModelePdfReception * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$conf,$langs,$hookmanager; @@ -702,7 +702,7 @@ class pdf_squille extends ModelePdfReception * @param int $hidebottom Hide bottom bar of array * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0) { global $conf; @@ -1032,7 +1032,7 @@ class pdf_squille extends ModelePdfReception * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/reception/mod_reception_beryl.php b/htdocs/core/modules/reception/mod_reception_beryl.php index f4cdadea9d2..071c7f732c3 100644 --- a/htdocs/core/modules/reception/mod_reception_beryl.php +++ b/htdocs/core/modules/reception/mod_reception_beryl.php @@ -97,7 +97,7 @@ class mod_reception_beryl extends ModelNumRefReception * @param Object $shipment Shipment object * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$shipment) + function getNextValue($objsoc, $shipment) { global $db,$conf; @@ -138,7 +138,7 @@ class mod_reception_beryl extends ModelNumRefReception * @param Object $objforref Shipment object * @return string Next free value */ - function reception_get_num($objsoc,$objforref) + function reception_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/reception/mod_reception_moonstone.php b/htdocs/core/modules/reception/mod_reception_moonstone.php index bea6887d99e..ae4c4b42b48 100644 --- a/htdocs/core/modules/reception/mod_reception_moonstone.php +++ b/htdocs/core/modules/reception/mod_reception_moonstone.php @@ -100,7 +100,7 @@ class mod_reception_moonstone extends ModelNumRefReception * @param Object $reception Reception object * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$reception) + function getNextValue($objsoc, $reception) { global $db,$conf; @@ -129,7 +129,7 @@ class mod_reception_moonstone extends ModelNumRefReception * @param Object $objforref Reception object * @return string Next free value */ - function reception_get_num($objsoc,$objforref) + function reception_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/reception/modules_reception.php b/htdocs/core/modules/reception/modules_reception.php index 57965e1b462..9f0e8e8a58d 100644 --- a/htdocs/core/modules/reception/modules_reception.php +++ b/htdocs/core/modules/reception/modules_reception.php @@ -40,7 +40,7 @@ abstract class ModelePdfReception extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php index 3650af12b24..a67429c0376 100644 --- a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php +++ b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php @@ -186,7 +186,7 @@ class doc_generic_odt extends ModeleThirdPartyDoc * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager; diff --git a/htdocs/core/modules/societe/mod_codeclient_elephant.php b/htdocs/core/modules/societe/mod_codeclient_elephant.php index e0d6a186879..c047e6f3661 100644 --- a/htdocs/core/modules/societe/mod_codeclient_elephant.php +++ b/htdocs/core/modules/societe/mod_codeclient_elephant.php @@ -139,7 +139,7 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode * @param int $type Type of third party (1:customer, 2:supplier, -1:autodetect) * @return string Return string example */ - function getExample($langs,$objsoc=0,$type=-1) + function getExample($langs, $objsoc = 0, $type = -1) { if ($type == 0 || $type == -1) { @@ -200,7 +200,7 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode * @param int $type Client ou fournisseur (0:customer, 1:supplier) * @return string Value if OK, '' if module not configured, <0 if KO */ - function getNextValue($objsoc=0,$type=-1) + function getNextValue($objsoc = 0, $type = -1) { global $db,$conf; @@ -324,7 +324,7 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode * @param int $type 0 = customer/prospect , 1 = supplier * @return int 0 if available, <0 if KO */ - function verif_dispo($db, $code, $soc, $type=0) + function verif_dispo($db, $code, $soc, $type = 0) { // phpcs:enable $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe"; diff --git a/htdocs/core/modules/societe/mod_codeclient_leopard.php b/htdocs/core/modules/societe/mod_codeclient_leopard.php index 9bdd27d5bee..929ad0a8a88 100644 --- a/htdocs/core/modules/societe/mod_codeclient_leopard.php +++ b/htdocs/core/modules/societe/mod_codeclient_leopard.php @@ -99,7 +99,7 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode * @param int $type Type of third party (1:customer, 2:supplier, -1:autodetect) * @return string Return next value */ - function getNextValue($objsoc=0,$type=-1) + function getNextValue($objsoc = 0, $type = -1) { global $langs; return ''; diff --git a/htdocs/core/modules/societe/mod_codeclient_monkey.php b/htdocs/core/modules/societe/mod_codeclient_monkey.php index 77bb7c54a64..d64b6667bf8 100644 --- a/htdocs/core/modules/societe/mod_codeclient_monkey.php +++ b/htdocs/core/modules/societe/mod_codeclient_monkey.php @@ -103,7 +103,7 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode * @param int $type Type of third party (1:customer, 2:supplier, -1:autodetect) * @return string Return string example */ - function getExample($langs,$objsoc=0,$type=-1) + function getExample($langs, $objsoc = 0, $type = -1) { return $this->prefixcustomer.'0901-00001<br>'.$this->prefixsupplier.'0901-00001'; } @@ -116,7 +116,7 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode * @param int $type Client ou fournisseur (1:client, 2:fournisseur) * @return string Value if OK, '' if module not configured, <0 if KO */ - function getNextValue($objsoc=0,$type=-1) + function getNextValue($objsoc = 0, $type = -1) { global $db, $conf, $mc; @@ -234,7 +234,7 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode * @param int $type 0 = customer/prospect , 1 = supplier * @return int 0 if available, <0 if KO */ - function verif_dispo($db, $code, $soc, $type=0) + function verif_dispo($db, $code, $soc, $type = 0) { // phpcs:enable global $conf, $mc; diff --git a/htdocs/core/modules/societe/mod_codecompta_aquarium.php b/htdocs/core/modules/societe/mod_codecompta_aquarium.php index b117c948d69..759b71bd2e8 100644 --- a/htdocs/core/modules/societe/mod_codecompta_aquarium.php +++ b/htdocs/core/modules/societe/mod_codecompta_aquarium.php @@ -112,7 +112,7 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode * @param int $type Type of third party (1:customer, 2:supplier, -1:autodetect) * @return string Return string example */ - function getExample($langs,$objsoc=0,$type=-1) + function getExample($langs, $objsoc = 0, $type = -1) { $s=''; $s.=$this->prefixcustomeraccountancycode.'CUSTCODE'; @@ -131,7 +131,7 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode * @param string $type 'customer' or 'supplier' * @return int >=0 if OK, <0 if KO */ - function get_code($db, $societe, $type='') + function get_code($db, $societe, $type = '') { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/societe/mod_codecompta_panicum.php b/htdocs/core/modules/societe/mod_codecompta_panicum.php index c1e83b75db4..65cbba944b1 100644 --- a/htdocs/core/modules/societe/mod_codecompta_panicum.php +++ b/htdocs/core/modules/societe/mod_codecompta_panicum.php @@ -76,7 +76,7 @@ class mod_codecompta_panicum extends ModeleAccountancyCode * @param int $type Type of third party (1:customer, 2:supplier, -1:autodetect) * @return string Example */ - function getExample($langs,$objsoc=0,$type=-1) + function getExample($langs, $objsoc = 0, $type = -1) { return ''; } @@ -90,7 +90,7 @@ class mod_codecompta_panicum extends ModeleAccountancyCode * @param int $type 'customer' or 'supplier' * @return int >=0 if OK, <0 if KO */ - function get_code($db, $societe, $type='') + function get_code($db, $societe, $type = '') { // phpcs:enable $this->code=''; diff --git a/htdocs/core/modules/societe/modules_societe.class.php b/htdocs/core/modules/societe/modules_societe.class.php index a38acbc002a..6ce43cd6e0d 100644 --- a/htdocs/core/modules/societe/modules_societe.class.php +++ b/htdocs/core/modules/societe/modules_societe.class.php @@ -46,7 +46,7 @@ abstract class ModeleThirdPartyDoc extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -122,7 +122,7 @@ abstract class ModeleThirdPartyCode * @param int $type Type * @return string Value */ - function getNextValue($objsoc=0,$type=-1) + function getNextValue($objsoc = 0, $type = -1) { global $langs; return $langs->trans("Function_getNextValue_InModuleNotWorking"); @@ -153,7 +153,7 @@ abstract class ModeleThirdPartyCode * @param integer $maxfilenamelength Max length of value to show * @return array List of numbers */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable $liste=array(); @@ -186,7 +186,7 @@ abstract class ModeleThirdPartyCode * @param int $type -1=Nothing, 0=Customer, 1=Supplier * @return string HTML translated description */ - function getToolTip($langs,$soc,$type) + function getToolTip($langs, $soc, $type) { global $conf; @@ -289,7 +289,7 @@ abstract class ModeleAccountancyCode * @param int $type Type of third party (1:customer, 2:supplier, -1:autodetect) * @return string Example */ - function getExample($langs,$objsoc=0,$type=-1) + function getExample($langs, $objsoc = 0, $type = -1) { $langs->load("bills"); return $langs->trans("NoExample"); @@ -329,7 +329,7 @@ abstract class ModeleAccountancyCode * @param int $type -1=Nothing, 0=Customer, 1=Supplier * @return string HTML translated description */ - function getToolTip($langs,$soc,$type) + function getToolTip($langs, $soc, $type) { global $conf,$db; @@ -367,7 +367,7 @@ abstract class ModeleAccountancyCode * @param int $type 'customer' or 'supplier' * @return int >=0 if OK, <0 if KO */ - function get_code($db, $societe, $type='') + function get_code($db, $societe, $type = '') { // phpcs:enable global $langs; @@ -394,7 +394,7 @@ abstract class ModeleAccountancyCode * @deprecated Use the new function generateDocument of Facture class * @see Societe::generateDocument() */ -function thirdparty_doc_create(DoliDB $db, Societe $object, $message, $modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) +function thirdparty_doc_create(DoliDB $db, Societe $object, $message, $modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable dol_syslog(__METHOD__ . " is deprecated", LOG_WARNING); diff --git a/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php b/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php index c9c4350e050..b4fb70c735e 100644 --- a/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php +++ b/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php @@ -217,7 +217,7 @@ class doc_generic_stock_odt extends ModelePDFStock * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $stock,$langs,$conf,$mysoc,$hookmanager,$user; diff --git a/htdocs/core/modules/stock/doc/pdf_standard.modules.php b/htdocs/core/modules/stock/doc/pdf_standard.modules.php index ce01124211a..db1fda75219 100644 --- a/htdocs/core/modules/stock/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_standard.modules.php @@ -189,7 +189,7 @@ class pdf_standard extends ModelePDFStock * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager; @@ -839,7 +839,7 @@ class pdf_standard extends ModelePDFStock * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -943,7 +943,7 @@ class pdf_standard extends ModelePDFStock * @param string $titlekey Translation key to show as title of document * @return void */ - function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey="") + function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "") { global $conf,$langs,$db,$hookmanager; @@ -1171,7 +1171,7 @@ class pdf_standard extends ModelePDFStock * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php b/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php index 3ea7e184e35..8f139fa2a7d 100644 --- a/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php @@ -192,7 +192,7 @@ class pdf_stdmovement extends ModelePDFMovement * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager; @@ -818,7 +818,7 @@ class pdf_stdmovement extends ModelePDFMovement * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -944,7 +944,7 @@ class pdf_stdmovement extends ModelePDFMovement * @param string $titlekey Translation key to show as title of document * @return void */ - function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey="") + function _pagehead(&$pdf, $object, $showaddress, $outputlangs, $titlekey = "") { global $conf,$langs,$db,$hookmanager; @@ -1172,7 +1172,7 @@ class pdf_stdmovement extends ModelePDFMovement * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/stock/modules_movement.php b/htdocs/core/modules/stock/modules_movement.php index 33672e415ea..e3aab8076ac 100644 --- a/htdocs/core/modules/stock/modules_movement.php +++ b/htdocs/core/modules/stock/modules_movement.php @@ -44,7 +44,7 @@ abstract class ModelePDFMovement extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/stock/modules_stock.php b/htdocs/core/modules/stock/modules_stock.php index a74df6198ce..5e5e1546e17 100644 --- a/htdocs/core/modules/stock/modules_stock.php +++ b/htdocs/core/modules/stock/modules_stock.php @@ -37,7 +37,7 @@ abstract class ModelePDFStock extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php index 908b3c8ba41..1edc3e46024 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php @@ -170,7 +170,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices * @param string $mode 'next' for next value or 'last' for last value * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$object,$mode='next') + function getNextValue($objsoc, $object, $mode = 'next') { global $db,$conf; @@ -243,7 +243,7 @@ class mod_facture_fournisseur_cactus extends ModeleNumRefSuppliersInvoices * @param string $mode 'next' for next value or 'last' for last value * @return string Next free value */ - function getNumRef($objsoc,$objforref,$mode='next') + function getNumRef($objsoc, $objforref, $mode = 'next') { return $this->getNextValue($objsoc,$objforref,$mode); } diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php index a3cb291263a..520b2f2ca64 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -153,7 +153,7 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices * @param string $mode 'next' for next value or 'last' for last value * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$object,$mode='next') + function getNextValue($objsoc, $object, $mode = 'next') { global $db,$conf; @@ -192,7 +192,7 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices * @param string $mode 'next' for next value or 'last' for last value * @return string Next free value */ - function getNumRef($objsoc,$objforref,$mode='next') + function getNumRef($objsoc, $objforref, $mode = 'next') { return $this->getNextValue($objsoc,$objforref,$mode); } diff --git a/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php b/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php index d1b28ebd0bd..593d4f9d51a 100644 --- a/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php +++ b/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php @@ -48,7 +48,7 @@ abstract class ModelePDFSuppliersInvoices extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of numbers */ - static function liste_modeles($db, $maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -120,7 +120,7 @@ abstract class ModeleNumRefSuppliersInvoices * @param string $mode 'next' for next value or 'last' for last value * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$object,$mode) + function getNextValue($objsoc, $object, $mode) { global $langs; return $langs->trans("NotAvailable"); diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php index f44240daa83..c15ea6e5a0b 100644 --- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php @@ -195,7 +195,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object, $outputlangs='', $srctemplatepath='', $hidedetails=0, $hidedesc=0, $hideref=0) + function write_file($object, $outputlangs = '', $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$hookmanager,$nblignes; @@ -827,7 +827,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1242,7 +1242,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf, $object, $outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php index 4b599a1f769..526e75aae6e 100644 --- a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php +++ b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php @@ -132,7 +132,7 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders * @param Object $object Object * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc=0,$object='') + function getNextValue($objsoc = 0, $object = '') { global $db,$conf; @@ -171,7 +171,7 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders * @param Object $object Object * @return string Texte descripif */ - function commande_get_num($objsoc=0,$object='') + function commande_get_num($objsoc = 0, $object = '') { // phpcs:enable return $this->getNextValue($objsoc,$object); diff --git a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php index 3c8af4cd5a0..906a36f1be6 100644 --- a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php +++ b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php @@ -125,7 +125,7 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders * @param Object $object Object * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc=0,$object='') + function getNextValue($objsoc = 0, $object = '') { global $db,$conf; @@ -154,7 +154,7 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders * @param Object $object Object * @return string Texte descripif */ - function commande_get_num($objsoc=0,$object='') + function commande_get_num($objsoc = 0, $object = '') { // phpcs:enable return $this->getNextValue($objsoc,$object); diff --git a/htdocs/core/modules/supplier_order/modules_commandefournisseur.php b/htdocs/core/modules/supplier_order/modules_commandefournisseur.php index 7a6c7d4972d..e97ca664997 100644 --- a/htdocs/core/modules/supplier_order/modules_commandefournisseur.php +++ b/htdocs/core/modules/supplier_order/modules_commandefournisseur.php @@ -51,7 +51,7 @@ abstract class ModelePDFSuppliersOrders extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index 06cf28daaed..d4c548b5dc8 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -209,7 +209,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs='',$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs = '', $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$hookmanager,$mysoc,$nblignes; @@ -1012,7 +1012,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1366,7 +1366,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php b/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php index 5eeedb9dcfc..42a454a5941 100644 --- a/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php @@ -188,7 +188,7 @@ class pdf_standard extends ModelePDFSuppliersPayments * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object, $outputlangs='', $srctemplatepath='', $hidedetails=0, $hidedesc=0, $hideref=0) + function write_file($object, $outputlangs = '', $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user, $langs, $conf, $mysoc, $hookmanager; @@ -585,7 +585,7 @@ class pdf_standard extends ModelePDFSuppliersPayments * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf,$mysoc; @@ -805,7 +805,7 @@ class pdf_standard extends ModelePDFSuppliersPayments * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf, $object, $outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php b/htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php index 216bc4bde90..36aaab7da90 100644 --- a/htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php +++ b/htdocs/core/modules/supplier_payment/mod_supplier_payment_brodator.php @@ -122,7 +122,7 @@ class mod_supplier_payment_brodator extends ModeleNumRefSupplierPayments * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -151,7 +151,7 @@ class mod_supplier_payment_brodator extends ModeleNumRefSupplierPayments * @param string $objforref Object for number to search * @return string Next free value */ - function commande_get_num($objsoc,$objforref) + function commande_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/supplier_payment/mod_supplier_payment_bronan.php b/htdocs/core/modules/supplier_payment/mod_supplier_payment_bronan.php index 0d64991065a..9c3f65efb62 100644 --- a/htdocs/core/modules/supplier_payment/mod_supplier_payment_bronan.php +++ b/htdocs/core/modules/supplier_payment/mod_supplier_payment_bronan.php @@ -119,7 +119,7 @@ class mod_supplier_payment_bronan extends ModeleNumRefSupplierPayments * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $db,$conf; @@ -163,7 +163,7 @@ class mod_supplier_payment_bronan extends ModeleNumRefSupplierPayments * @param string $objforref Object for number to search * @return string Next free value */ - function payment_get_num($objsoc,$objforref) + function payment_get_num($objsoc, $objforref) { // phpcs:enable return $this->getNextValue($objsoc,$objforref); diff --git a/htdocs/core/modules/supplier_payment/modules_supplier_payment.php b/htdocs/core/modules/supplier_payment/modules_supplier_payment.php index 8eb706dc0ce..29d248e1c84 100644 --- a/htdocs/core/modules/supplier_payment/modules_supplier_payment.php +++ b/htdocs/core/modules/supplier_payment/modules_supplier_payment.php @@ -36,7 +36,7 @@ abstract class ModelePDFSuppliersPayments extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of numbers */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -114,7 +114,7 @@ abstract class ModeleNumRefSupplierPayments * @param Object $object Object we need next value for * @return string Valeur */ - function getNextValue($objsoc,$object) + function getNextValue($objsoc, $object) { global $langs; return $langs->trans("NotAvailable"); diff --git a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php index 05bfe535ac7..0560d68e3aa 100644 --- a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php @@ -233,7 +233,7 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user, $langs, $conf, $mysoc, $hookmanager; diff --git a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php index b9f9aa39dcf..ee40b86377e 100644 --- a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php @@ -205,7 +205,7 @@ class pdf_aurore extends ModelePDFSupplierProposal * @param int $hideref Do not show ref * @return int 1=OK, 0=KO */ - function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user,$langs,$conf,$mysoc,$db,$hookmanager,$nblignes; @@ -1169,7 +1169,7 @@ class pdf_aurore extends ModelePDFSupplierProposal * @param string $currency Currency code * @return void */ - function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0, $currency='') + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop = 0, $hidebottom = 0, $currency = '') { global $conf; @@ -1495,7 +1495,7 @@ class pdf_aurore extends ModelePDFSupplierProposal * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text */ - function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + function _pagefoot(&$pdf, $object, $outputlangs, $hidefreetext = 0) { global $conf; $showdetails=$conf->global->MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS; diff --git a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php index 847eb49958d..622cde25813 100644 --- a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php +++ b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_marbre.php @@ -124,7 +124,7 @@ class mod_supplier_proposal_marbre extends ModeleNumRefSupplierProposal * @param Propal $supplier_proposal Object commercial proposal * @return string Next value */ - function getNextValue($objsoc,$supplier_proposal) + function getNextValue($objsoc, $supplier_proposal) { global $db,$conf; @@ -165,7 +165,7 @@ class mod_supplier_proposal_marbre extends ModeleNumRefSupplierProposal * @param Object $objforref Object for number to search * @return string Next free value */ - function getNumRef($objsoc,$objforref) + function getNumRef($objsoc, $objforref) { return $this->getNextValue($objsoc,$objforref); } diff --git a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php index fdbd9f1f90d..e59843dfb58 100644 --- a/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php +++ b/htdocs/core/modules/supplier_proposal/mod_supplier_proposal_saphir.php @@ -125,7 +125,7 @@ class mod_supplier_proposal_saphir extends ModeleNumRefSupplierProposal * @param Propal $supplier_proposal Object supplier_proposal * @return string Value if OK, 0 if KO */ - function getNextValue($objsoc,$supplier_proposal) + function getNextValue($objsoc, $supplier_proposal) { global $db,$conf; diff --git a/htdocs/core/modules/supplier_proposal/modules_supplier_proposal.php b/htdocs/core/modules/supplier_proposal/modules_supplier_proposal.php index b96dc2c4e12..9377f39033a 100644 --- a/htdocs/core/modules/supplier_proposal/modules_supplier_proposal.php +++ b/htdocs/core/modules/supplier_proposal/modules_supplier_proposal.php @@ -50,7 +50,7 @@ abstract class ModelePDFSupplierProposal extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; @@ -128,7 +128,7 @@ abstract class ModeleNumRefSupplierProposal * @param Propal $propal Object commercial proposal * @return string Valeur */ - function getNextValue($objsoc,$propal) + function getNextValue($objsoc, $propal) { global $langs; return $langs->trans("NotAvailable"); diff --git a/htdocs/core/modules/syslog/mod_syslog_file.php b/htdocs/core/modules/syslog/mod_syslog_file.php index df33a697d59..2c8045edf9a 100644 --- a/htdocs/core/modules/syslog/mod_syslog_file.php +++ b/htdocs/core/modules/syslog/mod_syslog_file.php @@ -102,7 +102,7 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface * @param string $suffixinfilename When output is a file, append this suffix into default log filename. * @return string */ - private function getFilename($suffixinfilename='') + private function getFilename($suffixinfilename = '') { global $conf; @@ -131,7 +131,7 @@ class mod_syslog_file extends LogHandler implements LogHandlerInterface * @param string $suffixinfilename When output is a file, append this suffix into default log filename. * @return void */ - public function export($content, $suffixinfilename='') + public function export($content, $suffixinfilename = '') { global $conf, $dolibarr_main_prod; diff --git a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php index 28eaf77d30b..4a57a1e12cc 100644 --- a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php +++ b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php @@ -216,7 +216,7 @@ class doc_generic_user_odt extends ModelePDFUser * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user, $langs, $conf, $mysoc, $hookmanager; @@ -449,7 +449,7 @@ class doc_generic_user_odt extends ModelePDFUser * @param string $array_key key for array * @return array array of substitutions */ - function get_substitutionarray_object($object,$outputlangs,$array_key='object') + function get_substitutionarray_object($object, $outputlangs, $array_key = 'object') { // phpcs:enable $array_other = array(); diff --git a/htdocs/core/modules/user/modules_user.class.php b/htdocs/core/modules/user/modules_user.class.php index 3dc46707543..34356cf830f 100644 --- a/htdocs/core/modules/user/modules_user.class.php +++ b/htdocs/core/modules/user/modules_user.class.php @@ -52,7 +52,7 @@ abstract class ModelePDFUser extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php b/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php index a00bec92c96..5e1418f8ed2 100644 --- a/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php +++ b/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php @@ -218,7 +218,7 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup * @param int $hideref Do not show ref * @return int 1 if OK, <=0 if KO */ - function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + function write_file($object, $outputlangs, $srctemplatepath, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { // phpcs:enable global $user, $langs, $conf, $mysoc, $hookmanager; diff --git a/htdocs/core/modules/usergroup/modules_usergroup.class.php b/htdocs/core/modules/usergroup/modules_usergroup.class.php index fc9648ab6e9..2bd717624d7 100644 --- a/htdocs/core/modules/usergroup/modules_usergroup.class.php +++ b/htdocs/core/modules/usergroup/modules_usergroup.class.php @@ -52,7 +52,7 @@ abstract class ModelePDFUserGroup extends CommonDocGenerator * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ - static function liste_modeles($db,$maxfilenamelength=0) + static function liste_modeles($db, $maxfilenamelength = 0) { // phpcs:enable global $conf; diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index f619befab0d..47383166e97 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -121,7 +121,7 @@ class Cronjob extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -406,7 +406,7 @@ class Cronjob extends CommonObject * @param int $processing Processing or not * @return int <0 if KO, >0 if OK */ - function fetch_all($sortorder='DESC', $sortfield='t.rowid', $limit=0, $offset=0, $status=1, $filter='', $processing=-1) + function fetch_all($sortorder = 'DESC', $sortfield = 't.rowid', $limit = 0, $offset = 0, $status = 1, $filter = '', $processing = -1) { // phpcs:enable global $langs; @@ -541,7 +541,7 @@ class Cronjob extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; @@ -691,7 +691,7 @@ class Cronjob extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { $error=0; @@ -852,7 +852,7 @@ class Cronjob extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -1301,7 +1301,7 @@ class Cronjob extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status, $mode, $this->processing); } @@ -1315,7 +1315,7 @@ class Cronjob extends CommonObject * @param int $processing 0=Not running, 1=Running * @return string Label of status */ - function LibStatut($status, $mode=0, $processing=0) + function LibStatut($status, $mode = 0, $processing = 0) { // phpcs:enable global $langs; diff --git a/htdocs/dav/dav.class.php b/htdocs/dav/dav.class.php index b8c38773538..a577f2a7cac 100644 --- a/htdocs/dav/dav.class.php +++ b/htdocs/dav/dav.class.php @@ -56,7 +56,7 @@ class CdavLib * @param int|boolean $ouri Ouri * @return string */ - public function getSqlCalEvents($calid, $oid=false, $ouri=false) + public function getSqlCalEvents($calid, $oid = false, $ouri = false) { // TODO : replace GROUP_CONCAT by $sql = 'SELECT diff --git a/htdocs/don/class/api_donations.class.php b/htdocs/don/class/api_donations.class.php index 8d13dd2d68b..982567f269e 100644 --- a/htdocs/don/class/api_donations.class.php +++ b/htdocs/don/class/api_donations.class.php @@ -307,7 +307,7 @@ class Donations extends DolibarrApi * * @return array */ - function validate($id, $idwarehouse=0, $notrigger=0) + function validate($id, $idwarehouse = 0, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->commande->creer) { throw new RestException(401); diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index c3941059e64..4ce4fd24ff8 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -109,7 +109,7 @@ class Don extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -122,7 +122,7 @@ class Don extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable if (empty($this->labelstatut) || empty($this->labelstatutshort)) @@ -251,7 +251,7 @@ class Don extends CommonObject * @param int $minimum Minimum * @return int 0 if KO, >0 if OK */ - function check($minimum=0) + function check($minimum = 0) { global $langs; $langs->load('main'); @@ -344,7 +344,7 @@ class Don extends CommonObject * @return int <0 if KO, id of created donation if OK * TODO add numbering module for Ref */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; @@ -465,7 +465,7 @@ class Don extends CommonObject * @param int $notrigger Disable triggers * @return int >0 if OK, <0 if KO */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { global $langs, $conf; @@ -556,7 +556,7 @@ class Don extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, 0 if not possible, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $user, $conf, $langs; require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; @@ -631,7 +631,7 @@ class Don extends CommonObject * @param string $ref Ref of donation to load * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { global $conf; @@ -718,7 +718,7 @@ class Don extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function setValid($user, $notrigger=0) + function setValid($user, $notrigger = 0) { return $this->valid_promesse($this->id, $user->id, $notrigger); } @@ -732,7 +732,7 @@ class Don extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, >0 if OK */ - function valid_promesse($id, $userid, $notrigger=0) + function valid_promesse($id, $userid, $notrigger = 0) { // phpcs:enable global $langs, $user; @@ -783,7 +783,7 @@ class Don extends CommonObject * @param int $modepayment mode of payment * @return int <0 if KO, >0 if OK */ - function set_paid($id, $modepayment=0) + function set_paid($id, $modepayment = 0) { // phpcs:enable $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = 2"; @@ -915,7 +915,7 @@ class Don extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $notooltip=0) + function getNomUrl($withpicto = 0, $notooltip = 0) { global $langs; @@ -989,7 +989,7 @@ class Don extends CommonObject * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf,$langs; diff --git a/htdocs/don/class/donstats.class.php b/htdocs/don/class/donstats.class.php index e5e34f6ad1b..bcf4b4a9d59 100644 --- a/htdocs/don/class/donstats.class.php +++ b/htdocs/don/class/donstats.class.php @@ -55,7 +55,7 @@ class DonationStats extends Stats * @param string $mode Option (not used) * @param int $userid Id user for filter (creation user) */ - function __construct($db, $socid, $mode, $userid=0) + function __construct($db, $socid, $mode, $userid = 0) { global $user, $conf; @@ -83,7 +83,7 @@ class DonationStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with number by month */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; diff --git a/htdocs/don/class/paymentdonation.class.php b/htdocs/don/class/paymentdonation.class.php index 662b165ddf4..ba322f9fe08 100644 --- a/htdocs/don/class/paymentdonation.class.php +++ b/htdocs/don/class/paymentdonation.class.php @@ -101,7 +101,7 @@ class PaymentDonation extends CommonObject * @param bool $notrigger false=launch triggers after, true=disable triggers * @return int <0 if KO, id of payment if OK */ - function create($user, $notrigger=false) + function create($user, $notrigger = false) { global $conf, $langs; @@ -264,7 +264,7 @@ class PaymentDonation extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -344,7 +344,7 @@ class PaymentDonation extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -467,7 +467,7 @@ class PaymentDonation extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return ''; } @@ -480,7 +480,7 @@ class PaymentDonation extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -526,7 +526,7 @@ class PaymentDonation extends CommonObject * @param string $emetteur_banque Name of bank * @return int <0 if KO, >0 if OK */ - function addPaymentToBank($user,$mode,$label,$accountid,$emetteur_nom,$emetteur_banque) + function addPaymentToBank($user, $mode, $label, $accountid, $emetteur_nom, $emetteur_banque) { global $conf; @@ -629,7 +629,7 @@ class PaymentDonation extends CommonObject * @param int $maxlen Longueur max libelle * @return string Chaine avec URL */ - function getNomUrl($withpicto=0,$maxlen=0) + function getNomUrl($withpicto = 0, $maxlen = 0) { global $langs; diff --git a/htdocs/ecm/class/ecmdirectory.class.php b/htdocs/ecm/class/ecmdirectory.class.php index 3d1ecac9088..e689dde3142 100644 --- a/htdocs/ecm/class/ecmdirectory.class.php +++ b/htdocs/ecm/class/ecmdirectory.class.php @@ -230,7 +230,7 @@ class EcmDirectory // extends CommonObject * @param int $notrigger 0=no, 1=yes (no update trigger) * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; @@ -375,7 +375,7 @@ class EcmDirectory // extends CommonObject * @param int $deletedirrecursive 1=Agree to delete content recursiveley (otherwise an error will be returned when trying to delete) * @return int <0 if KO, >0 if OK */ - function delete($user, $mode='all', $deletedirrecursive=0) + function delete($user, $mode = 'all', $deletedirrecursive = 0) { global $conf, $langs; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -468,7 +468,7 @@ class EcmDirectory // extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $option='', $max=0, $more='', $notooltip=0) + function getNomUrl($withpicto = 0, $option = '', $max = 0, $more = '', $notooltip = 0) { global $langs; @@ -501,7 +501,7 @@ class EcmDirectory // extends CommonObject * @param int $force Force reload of full arbo even if already loaded * @return string Relative physical path */ - function getRelativePath($force=0) + function getRelativePath($force = 0) { $this->get_full_arbo($force); @@ -579,7 +579,7 @@ class EcmDirectory // extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -592,7 +592,7 @@ class EcmDirectory // extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 5=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; @@ -620,7 +620,7 @@ class EcmDirectory // extends CommonObject * @param int $force Force reload of full arbo even if already loaded in cache $this->cats * @return array Tableau de array */ - function get_full_arbo($force=0) + function get_full_arbo($force = 0) { // phpcs:enable global $conf; @@ -710,7 +710,7 @@ class EcmDirectory // extends CommonObject * @param int $protection Deep counter to avoid infinite loop * @return void */ - function build_path_from_id_categ($id_categ,$protection=0) + function build_path_from_id_categ($id_categ, $protection = 0) { // phpcs:enable // Define fullpath @@ -750,7 +750,7 @@ class EcmDirectory // extends CommonObject * @param int $all 0=refresh record using this->id , 1=refresh record using this->entity * @return int -1 if KO, Nb of files in directory if OK */ - function refreshcachenboffile($all=0) + function refreshcachenboffile($all = 0) { global $conf; include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; diff --git a/htdocs/ecm/class/ecmfiles.class.php b/htdocs/ecm/class/ecmfiles.class.php index efc5af1310c..59084b1fb19 100644 --- a/htdocs/ecm/class/ecmfiles.class.php +++ b/htdocs/ecm/class/ecmfiles.class.php @@ -318,7 +318,7 @@ class EcmFiles extends CommonObject * @param string $src_object_id src_object_id to search * @return int <0 if KO, 0 if not found, >0 if OK */ - public function fetch($id, $ref = '', $relativepath = '', $hashoffile='', $hashforshare='', $src_object_type='', $src_object_id=0) + public function fetch($id, $ref = '', $relativepath = '', $hashoffile = '', $hashforshare = '', $src_object_type = '', $src_object_id = 0) { global $conf; @@ -443,7 +443,7 @@ class EcmFiles extends CommonObject * * @return int <0 if KO, >0 if OK */ - public function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, array $filter = array(), $filtermode='AND') + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') { dol_syslog(__METHOD__, LOG_DEBUG); @@ -766,7 +766,7 @@ class EcmFiles extends CommonObject * @param string $morecss Add more css on link * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='') + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $maxlen = 24, $morecss = '') { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -815,7 +815,7 @@ class EcmFiles extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -828,7 +828,7 @@ class EcmFiles extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 5=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/ecm/class/htmlecm.form.class.php b/htdocs/ecm/class/htmlecm.form.class.php index b6000cad923..698ddd57bfe 100644 --- a/htdocs/ecm/class/htmlecm.form.class.php +++ b/htdocs/ecm/class/htmlecm.form.class.php @@ -57,7 +57,7 @@ class FormEcm * @param string $module Module ('ecm', 'medias', ...) * @return string String with HTML select */ - function selectAllSections($selected=0, $select_name='', $module='ecm') + function selectAllSections($selected = 0, $select_name = '', $module = 'ecm') { global $conf, $langs; $langs->load("ecm"); diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index e00adfad724..80737c4c9e5 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -407,7 +407,7 @@ class EmailCollector extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs, $hookmanager; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -482,7 +482,7 @@ class EmailCollector extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function getLibStatut($mode=0) + public function getLibStatut($mode = 0) { return $this->LibStatut($this->status, $mode); } @@ -495,7 +495,7 @@ class EmailCollector extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function LibStatut($status, $mode=0) + public function LibStatut($status, $mode = 0) { // phpcs:enable if (empty($this->labelstatus)) @@ -979,7 +979,7 @@ class EmailCollector extends CommonObject * @param string $prefix prefix * @return array Array with number and object */ - function createPartArray($structure, $prefix="") + function createPartArray($structure, $prefix = "") { //print_r($structure); if (count($structure->parts) > 0) { // There some sub parts diff --git a/htdocs/emailcollector/class/emailcollectoraction.class.php b/htdocs/emailcollector/class/emailcollectoraction.class.php index ccf811f7607..dd2c781e702 100644 --- a/htdocs/emailcollector/class/emailcollectoraction.class.php +++ b/htdocs/emailcollector/class/emailcollectoraction.class.php @@ -321,7 +321,7 @@ class EmailCollectorAction extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs, $hookmanager; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -392,7 +392,7 @@ class EmailCollectorAction extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function getLibStatut($mode=0) + public function getLibStatut($mode = 0) { return $this->LibStatut($this->status, $mode); } @@ -405,7 +405,7 @@ class EmailCollectorAction extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function LibStatut($status, $mode=0) + public function LibStatut($status, $mode = 0) { // phpcs:enable if (empty($this->labelstatus)) diff --git a/htdocs/emailcollector/class/emailcollectorfilter.class.php b/htdocs/emailcollector/class/emailcollectorfilter.class.php index cafde3a820c..61e65245630 100644 --- a/htdocs/emailcollector/class/emailcollectorfilter.class.php +++ b/htdocs/emailcollector/class/emailcollectorfilter.class.php @@ -296,7 +296,7 @@ class EmailCollectorFilter extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs, $hookmanager; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -367,7 +367,7 @@ class EmailCollectorFilter extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function getLibStatut($mode=0) + public function getLibStatut($mode = 0) { return $this->LibStatut($this->status, $mode); } @@ -380,7 +380,7 @@ class EmailCollectorFilter extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function LibStatut($status, $mode=0) + public function LibStatut($status, $mode = 0) { // phpcs:enable if (empty($this->labelstatus)) diff --git a/htdocs/expedition/class/api_shipments.class.php b/htdocs/expedition/class/api_shipments.class.php index 834c0bf2bda..b217c19e97f 100644 --- a/htdocs/expedition/class/api_shipments.class.php +++ b/htdocs/expedition/class/api_shipments.class.php @@ -493,7 +493,7 @@ class Shipments extends DolibarrApi * "notrigger": 0 * } */ - function validate($id, $notrigger=0) + function validate($id, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->expedition->creer) { throw new RestException(401); diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 48e84cf1cc4..b8e3f9929f3 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -264,7 +264,7 @@ class Expedition extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 si erreur, id expedition creee si ok */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $hookmanager; @@ -444,7 +444,7 @@ class Expedition extends CommonObject * @param array $array_options extrafields array * @return int <0 if KO, line_id if OK */ - function create_line($entrepot_id, $origin_line_id, $qty,$array_options=0) + function create_line($entrepot_id, $origin_line_id, $qty, $array_options = 0) { //phpcs:enable $expeditionline = new ExpeditionLigne($this->db); @@ -470,7 +470,7 @@ class Expedition extends CommonObject * @param array $array_options extrafields array * @return int <0 if KO, >0 if OK */ - function create_line_batch($line_ext,$array_options=0) + function create_line_batch($line_ext, $array_options = 0) { // phpcs:enable $error = 0; @@ -520,7 +520,7 @@ class Expedition extends CommonObject * @param string $ref_int Internal reference of other object * @return int >0 if OK, 0 if not found, <0 if KO */ - function fetch($id, $ref='', $ref_ext='', $ref_int='') + function fetch($id, $ref = '', $ref_ext = '', $ref_int = '') { global $conf; @@ -646,7 +646,7 @@ class Expedition extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if OK, >0 if KO */ - function valid($user, $notrigger=0) + function valid($user, $notrigger = 0) { global $conf, $langs; @@ -908,7 +908,7 @@ class Expedition extends CommonObject * @param array $array_options extrafields array * @return int <0 if KO, >0 if OK */ - function addline($entrepot_id, $id, $qty,$array_options=0) + function addline($entrepot_id, $id, $qty, $array_options = 0) { global $conf, $langs; @@ -979,7 +979,7 @@ class Expedition extends CommonObject * @param array $array_options extrafields array * @return int <0 if KO, >0 if OK */ - function addline_batch($dbatch,$array_options=0) + function addline_batch($dbatch, $array_options = 0) { // phpcs:enable global $conf,$langs; @@ -1048,7 +1048,7 @@ class Expedition extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf; $error=0; @@ -1593,7 +1593,7 @@ class Expedition extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $max=0, $short=0, $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $max = 0, $short = 0, $notooltip = 0, $save_lastsearch_value = -1) { global $langs; @@ -1643,7 +1643,7 @@ class Expedition extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Long label, 5=Short label + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -1656,7 +1656,7 @@ class Expedition extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Long label, 5=Short label + Picto * @return string Label of status */ - function LibStatut($statut,$mode) + function LibStatut($statut, $mode) { // phpcs:enable global $langs; @@ -1843,7 +1843,7 @@ class Expedition extends CommonObject * @param id $id only this carrier, all if none * @return void */ - function list_delivery_methods($id='') + function list_delivery_methods($id = '') { // phpcs:enable global $langs; @@ -1880,7 +1880,7 @@ class Expedition extends CommonObject * * @return void */ - function update_delivery_method($id='') + function update_delivery_method($id = '') { // phpcs:enable if ($id=='') @@ -1943,7 +1943,7 @@ class Expedition extends CommonObject * @param string $value Value * @return void */ - function getUrlTrackingStatus($value='') + function getUrlTrackingStatus($value = '') { if (! empty($this->shipping_method_id)) { @@ -2304,7 +2304,7 @@ class Expedition extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs,$hidedetails=0, $hidedesc=0, $hideref=0,$moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$langs; @@ -2549,7 +2549,7 @@ class ExpeditionLigne extends CommonObjectLine * @param int $notrigger 1 = disable triggers * @return int <0 if KO, line id >0 if OK */ - function insert($user=null, $notrigger=0) + function insert($user = null, $notrigger = 0) { global $langs, $conf; diff --git a/htdocs/expedition/class/expeditionbatch.class.php b/htdocs/expedition/class/expeditionbatch.class.php index 850e4c0dda3..e15e766c439 100644 --- a/htdocs/expedition/class/expeditionbatch.class.php +++ b/htdocs/expedition/class/expeditionbatch.class.php @@ -155,7 +155,7 @@ class ExpeditionLineBatch extends CommonObject * @param int $id_expedition rowid of shipment * @return int -1 if KO, 1 if OK */ - static function deletefromexp($db,$id_expedition) + static function deletefromexp($db, $id_expedition) { $id_expedition = (int) $id_expedition; @@ -181,7 +181,7 @@ class ExpeditionLineBatch extends CommonObject * @param int $fk_product If provided, load also detailed information of lot * @return int|array -1 if KO, array of ExpeditionLineBatch if OK */ - static function fetchAll($db, $id_line_expdet, $fk_product=0) + static function fetchAll($db, $id_line_expdet, $fk_product = 0) { $sql="SELECT"; $sql.= " eb.rowid,"; diff --git a/htdocs/expedition/class/expeditionstats.class.php b/htdocs/expedition/class/expeditionstats.class.php index 26f7bda7a2a..dd18cdb4019 100644 --- a/htdocs/expedition/class/expeditionstats.class.php +++ b/htdocs/expedition/class/expeditionstats.class.php @@ -55,7 +55,7 @@ class ExpeditionStats extends Stats * @param string $mode Option (not used) * @param int $userid Id user for filter (creation user) */ - function __construct($db, $socid, $mode, $userid=0) + function __construct($db, $socid, $mode, $userid = 0) { global $user, $conf; @@ -88,7 +88,7 @@ class ExpeditionStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with number by month */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index 3b93cd0c0ff..de310fe0516 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -158,7 +158,7 @@ class ExpenseReport extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, >0 if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf; @@ -377,7 +377,7 @@ class ExpenseReport extends CommonObject * @param User $userofexpensereport New user we want to have the expense report on. * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger = 0, $userofexpensereport=null) + function update($user, $notrigger = 0, $userofexpensereport = null) { global $langs; @@ -447,7 +447,7 @@ class ExpenseReport extends CommonObject * @param string $ref Ref {@name ref} * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { global $conf; @@ -613,7 +613,7 @@ class ExpenseReport extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -626,7 +626,7 @@ class ExpenseReport extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; @@ -801,7 +801,7 @@ class ExpenseReport extends CommonObject * @param User $user User * @return int <0 if KO, >0 if OK */ - function fetch_line_by_project($projectid,$user='') + function fetch_line_by_project($projectid, $user = '') { // phpcs:enable global $conf,$db,$langs; @@ -1038,7 +1038,7 @@ class ExpenseReport extends CommonObject * @param User $fuser User that delete * @return int <0 if KO, >0 if OK */ - function delete(User $fuser=null) + function delete(User $fuser = null) { global $user,$langs,$conf; @@ -1078,7 +1078,7 @@ class ExpenseReport extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, 0 if nothing done, >0 if OK */ - function setValidate($fuser, $notrigger=0) + function setValidate($fuser, $notrigger = 0) { global $conf,$langs,$user; @@ -1249,7 +1249,7 @@ class ExpenseReport extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, 0 if nothing done, >0 if OK */ - function setApproved($fuser, $notrigger=0) + function setApproved($fuser, $notrigger = 0) { $now=dol_now(); $error = 0; @@ -1312,7 +1312,7 @@ class ExpenseReport extends CommonObject * @param int $notrigger Disable triggers * @return int */ - function setDeny($fuser,$details,$notrigger=0) + function setDeny($fuser, $details, $notrigger = 0) { $now = dol_now(); $error = 0; @@ -1439,7 +1439,7 @@ class ExpenseReport extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, >0 if OK */ - function set_cancel($fuser,$detail, $notrigger=0) + function set_cancel($fuser, $detail, $notrigger = 0) { // phpcs:enable $error = 0; @@ -1559,7 +1559,7 @@ class ExpenseReport extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $max=0, $short=0, $moretitle='', $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $max = 0, $short = 0, $moretitle = '', $notooltip = 0, $save_lastsearch_value = -1) { global $langs, $conf; @@ -1623,7 +1623,7 @@ class ExpenseReport extends CommonObject * @param string $ligne_total_tva Amount of all taxes * @return void */ - function update_totaux_add($ligne_total_ht,$ligne_total_tva) + function update_totaux_add($ligne_total_ht, $ligne_total_tva) { // phpcs:enable $this->total_ht = $this->total_ht + $ligne_total_ht; @@ -1653,7 +1653,7 @@ class ExpenseReport extends CommonObject * @param string $ligne_total_tva Amount of all taxes * @return void */ - function update_totaux_del($ligne_total_ht,$ligne_total_tva) + function update_totaux_del($ligne_total_ht, $ligne_total_tva) { // phpcs:enable $this->total_ht = $this->total_ht - $ligne_total_ht; @@ -1689,7 +1689,7 @@ class ExpenseReport extends CommonObject * @param int $type Type line * @return int <0 if KO, >0 if OK */ - function addline($qty=0, $up=0, $fk_c_type_fees=0, $vatrate=0, $date='', $comments='', $fk_project=0, $fk_c_exp_tax_cat=0, $type=0) + function addline($qty = 0, $up = 0, $fk_c_type_fees = 0, $vatrate = 0, $date = '', $comments = '', $fk_project = 0, $fk_c_exp_tax_cat = 0, $type = 0) { global $conf,$langs,$mysoc; @@ -1783,7 +1783,7 @@ class ExpenseReport extends CommonObject * @param string $seller seller, but actually he is unknown * @return true or false */ - function checkRules($type=0, $seller='') + function checkRules($type = 0, $seller = '') { global $user,$conf,$db,$langs; @@ -1939,7 +1939,7 @@ class ExpenseReport extends CommonObject * @param int $fk_c_exp_tax_cat id of category of car * @return int <0 if KO, >0 if OK */ - function updateline($rowid, $type_fees_id, $projet_id, $vatrate, $comments, $qty, $value_unit, $date, $expensereport_id, $fk_c_exp_tax_cat=0) + function updateline($rowid, $type_fees_id, $projet_id, $vatrate, $comments, $qty, $value_unit, $date, $expensereport_id, $fk_c_exp_tax_cat = 0) { global $user, $mysoc; @@ -2046,7 +2046,7 @@ class ExpenseReport extends CommonObject * @param User $fuser User * @return int <0 if KO, >0 if OK */ - function deleteline($rowid, $fuser='') + function deleteline($rowid, $fuser = '') { $this->db->begin(); @@ -2179,7 +2179,7 @@ class ExpenseReport extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$langs; @@ -2207,7 +2207,7 @@ class ExpenseReport extends CommonObject * @param int $active Active or not * @return array */ - function listOfTypes($active=1) + function listOfTypes($active = 1) { global $langs; $ret=array(); @@ -2278,7 +2278,7 @@ class ExpenseReport extends CommonObject * @param string $option 'topay' or 'toapprove' * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ - function load_board($user, $option='topay') + function load_board($user, $option = 'topay') { // phpcs:enable global $conf, $langs; @@ -2557,7 +2557,7 @@ class ExpenseReportLine * @param bool $fromaddline false=keep default behavior, true=exclude the update_price() of parent object * @return int <0 if KO, >0 if OK */ - function insert($notrigger=0,$fromaddline=false) + function insert($notrigger = 0, $fromaddline = false) { global $langs,$user,$conf; @@ -2638,7 +2638,7 @@ class ExpenseReportLine * @param string $mode day|EX_DAY / month|EX_MON / year|EX_YEA to get amount * @return amount */ - public function getExpAmount(ExpenseReportRule $rule, $fk_user, $mode='day') + public function getExpAmount(ExpenseReportRule $rule, $fk_user, $mode = 'day') { $amount = 0; @@ -2769,7 +2769,7 @@ class ExpenseReportLine * @param int $useshortlabel Use short labels * @return string HTML select with status */ -function select_expensereport_statut($selected='',$htmlname='fk_statut',$useempty=1, $useshortlabel=0) +function select_expensereport_statut($selected = '', $htmlname = 'fk_statut', $useempty = 1, $useshortlabel = 0) { // phpcs:enable global $db, $langs; @@ -2806,7 +2806,7 @@ function select_expensereport_statut($selected='',$htmlname='fk_statut',$useempt * @param int $active 1=Active only, 0=Unactive only, -1=All * @return string Select html */ -function select_type_fees_id($selected='',$htmlname='type',$showempty=0, $active=1) +function select_type_fees_id($selected = '', $htmlname = 'type', $showempty = 0, $active = 1) { // phpcs:enable global $db,$langs,$user; diff --git a/htdocs/expensereport/class/expensereport_ik.class.php b/htdocs/expensereport/class/expensereport_ik.class.php index 9eaa8970a5b..70bc3fd6c26 100644 --- a/htdocs/expensereport/class/expensereport_ik.class.php +++ b/htdocs/expensereport/class/expensereport_ik.class.php @@ -102,7 +102,7 @@ class ExpenseReportIk extends CoreObject * @param int $mode 1=only active; 2=only inactive; other value return all * @return array of category */ - public static function getTaxCategories($mode=1) + public static function getTaxCategories($mode = 1) { global $db; @@ -155,7 +155,7 @@ class ExpenseReportIk extends CoreObject * @param int $active active * @return array */ - public static function getRangesByCategory($fk_c_exp_tax_cat, $active=1) + public static function getRangesByCategory($fk_c_exp_tax_cat, $active = 1) { global $db; @@ -237,7 +237,7 @@ class ExpenseReportIk extends CoreObject * @param int $default_c_exp_tax_cat id * @return int */ - public static function getMaxRangeNumber($default_c_exp_tax_cat=0) + public static function getMaxRangeNumber($default_c_exp_tax_cat = 0) { global $db,$conf; diff --git a/htdocs/expensereport/class/expensereport_rule.class.php b/htdocs/expensereport/class/expensereport_rule.class.php index 6d2a99d2101..2c25cb001d3 100644 --- a/htdocs/expensereport/class/expensereport_rule.class.php +++ b/htdocs/expensereport/class/expensereport_rule.class.php @@ -148,7 +148,7 @@ class ExpenseReportRule extends CoreObject * @param type $fk_user user of expense * @return array \ExpenseReportRule */ - public static function getAllRule($fk_c_type_fees='', $date='', $fk_user='') + public static function getAllRule($fk_c_type_fees = '', $date = '', $fk_user = '') { global $db; diff --git a/htdocs/expensereport/class/expensereportstats.class.php b/htdocs/expensereport/class/expensereportstats.class.php index 7901e813edc..1ad0f22bce7 100644 --- a/htdocs/expensereport/class/expensereportstats.class.php +++ b/htdocs/expensereport/class/expensereportstats.class.php @@ -50,7 +50,7 @@ class ExpenseReportStats extends Stats * @param int $userid Id user for filter * @return void */ - function __construct($db, $socid=0, $userid=0) + function __construct($db, $socid = 0, $userid = 0) { global $conf, $user; @@ -107,7 +107,7 @@ class ExpenseReportStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { $sql = "SELECT MONTH(".$this->db->ifsql('e.date_valid IS NULL','e.date_create','e.date_valid').") as dm, count(*)"; $sql.= " FROM ".$this->from; @@ -129,7 +129,7 @@ class ExpenseReportStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getAmountByMonth($year, $format=0) + function getAmountByMonth($year, $format = 0) { $sql = "SELECT date_format(".$this->db->ifsql('e.date_valid IS NULL','e.date_create','e.date_valid').",'%m') as dm, sum(".$this->field.")"; $sql.= " FROM ".$this->from; diff --git a/htdocs/expensereport/class/paymentexpensereport.class.php b/htdocs/expensereport/class/paymentexpensereport.class.php index ae55432a4b8..b18eae8c514 100644 --- a/htdocs/expensereport/class/paymentexpensereport.class.php +++ b/htdocs/expensereport/class/paymentexpensereport.class.php @@ -258,7 +258,7 @@ class PaymentExpenseReport extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { // phpcs:enable global $conf, $langs; @@ -345,7 +345,7 @@ class PaymentExpenseReport extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { // phpcs:enable global $conf, $langs; @@ -471,7 +471,7 @@ class PaymentExpenseReport extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return ''; } @@ -484,7 +484,7 @@ class PaymentExpenseReport extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -530,7 +530,7 @@ class PaymentExpenseReport extends CommonObject * @param string $emetteur_banque Name of bank * @return int <0 if KO, >0 if OK */ - function addPaymentToBank($user,$mode,$label,$accountid,$emetteur_nom,$emetteur_banque) + function addPaymentToBank($user, $mode, $label, $accountid, $emetteur_nom, $emetteur_banque) { global $langs,$conf; @@ -663,7 +663,7 @@ class PaymentExpenseReport extends CommonObject * @param int $maxlen Longueur max libelle * @return string Chaine avec URL */ - function getNomUrl($withpicto=0,$maxlen=0) + function getNomUrl($withpicto = 0, $maxlen = 0) { global $langs; diff --git a/htdocs/exports/class/export.class.php b/htdocs/exports/class/export.class.php index 7d908161071..af5554a26a9 100644 --- a/htdocs/exports/class/export.class.php +++ b/htdocs/exports/class/export.class.php @@ -78,7 +78,7 @@ class Export * @param string $filter Load a particular dataset only * @return int <0 if KO, >0 if OK */ - function load_arrays($user,$filter='') + function load_arrays($user, $filter = '') { // phpcs:enable global $langs,$conf,$mysoc; @@ -782,7 +782,7 @@ class Export * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index 52ad0486597..de029081b1f 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -1293,7 +1293,7 @@ exit; // don't know why but apache hangs with php 5.3.10-1ubuntu3.12 and apache * @param string $sqlmaxforexport SQL request to parse * @return string Table name of field */ -function getablenamefromfield($code,$sqlmaxforexport) +function getablenamefromfield($code, $sqlmaxforexport) { $alias=preg_replace('/\.(.*)$/i','',$code); // Keep only 'Alias' and remove '.Fieldname' $regexstring='/([a-zA-Z_]+) as '.preg_quote($alias).'[, \)]/i'; diff --git a/htdocs/fichinter/class/api_interventions.class.php b/htdocs/fichinter/class/api_interventions.class.php index 3f3315b6028..1d7e4b9f939 100644 --- a/htdocs/fichinter/class/api_interventions.class.php +++ b/htdocs/fichinter/class/api_interventions.class.php @@ -334,7 +334,7 @@ class Interventions extends DolibarrApi * * @return array */ - function validate($id, $notrigger=0) + function validate($id, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->ficheinter->creer) { throw new RestException(401, "Insuffisant rights"); diff --git a/htdocs/fichinter/class/fichinter.class.php b/htdocs/fichinter/class/fichinter.class.php index e20d8e1da1a..880bf83df5b 100644 --- a/htdocs/fichinter/class/fichinter.class.php +++ b/htdocs/fichinter/class/fichinter.class.php @@ -179,7 +179,7 @@ class Fichinter extends CommonObject * @param int $notrigger Disable all triggers * @return int <0 if KO, >0 if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; @@ -313,7 +313,7 @@ class Fichinter extends CommonObject * @param int $notrigger Disable all triggers * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { if (! is_numeric($this->duration)) { $this->duration = 0; @@ -373,7 +373,7 @@ class Fichinter extends CommonObject * @param string $ref Ref of intervention * @return int <0 if KO, >0 if OK */ - function fetch($rowid,$ref='') + function fetch($rowid, $ref = '') { $sql = "SELECT f.rowid, f.ref, f.description, f.fk_soc, f.fk_statut,"; $sql.= " f.datec, f.dateo, f.datee, f.datet, f.fk_user_author,"; @@ -483,7 +483,7 @@ class Fichinter extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function setValid($user, $notrigger=0) + function setValid($user, $notrigger = 0) { global $conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -625,7 +625,7 @@ class Fichinter extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$langs; @@ -653,7 +653,7 @@ class Fichinter extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -666,7 +666,7 @@ class Fichinter extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable // Init/load array of translation of status @@ -716,7 +716,7 @@ class Fichinter extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $save_lastsearch_value = -1) { global $conf, $langs, $hookmanager; @@ -897,7 +897,7 @@ class Fichinter extends CommonObject * @param int $notrigger Disable trigger * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf,$langs; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -1112,7 +1112,7 @@ class Fichinter extends CommonObject * @param int $socid Id of thirdparty * @return int New id of clone */ - function createFromClone($socid=0) + function createFromClone($socid = 0) { global $user,$hookmanager; @@ -1205,7 +1205,7 @@ class Fichinter extends CommonObject * @param array $array_options Array option * @return int >0 if ok, <0 if ko */ - function addline($user,$fichinterid, $desc, $date_intervention, $duration, $array_options='') + function addline($user, $fichinterid, $desc, $date_intervention, $duration, $array_options = '') { dol_syslog(get_class($this)."::addline $fichinterid, $desc, $date_intervention, $duration"); @@ -1443,7 +1443,7 @@ class FichinterLigne extends CommonObjectLine * @param int $notrigger Disable all triggers * @return int <0 if ko, >0 if ok */ - function insert($user, $notrigger=0) + function insert($user, $notrigger = 0) { global $langs,$conf; @@ -1539,7 +1539,7 @@ class FichinterLigne extends CommonObjectLine * @param int $notrigger Disable all triggers * @return int <0 if ko, >0 if ok */ - function update($user,$notrigger=0) + function update($user, $notrigger = 0) { global $langs,$conf; @@ -1660,7 +1660,7 @@ class FichinterLigne extends CommonObjectLine * @param int $notrigger Disable all triggers * @return int >0 if ok, <0 if ko */ - function deleteline($user,$notrigger=0) + function deleteline($user, $notrigger = 0) { global $langs,$conf; diff --git a/htdocs/fichinter/class/fichinterstats.class.php b/htdocs/fichinter/class/fichinterstats.class.php index 0475a2116eb..340c59b0cb5 100644 --- a/htdocs/fichinter/class/fichinterstats.class.php +++ b/htdocs/fichinter/class/fichinterstats.class.php @@ -54,7 +54,7 @@ class FichinterStats extends Stats * @param string $mode Option ('customer', 'supplier') * @param int $userid Id user for filter (creation user) */ - function __construct($db, $socid, $mode, $userid=0) + function __construct($db, $socid, $mode, $userid = 0) { global $user, $conf; @@ -89,7 +89,7 @@ class FichinterStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with number by month */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; @@ -132,7 +132,7 @@ class FichinterStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with amount by month */ - function getAmountByMonth($year, $format=0) + function getAmountByMonth($year, $format = 0) { global $user; diff --git a/htdocs/fourn/class/api_supplier_invoices.class.php b/htdocs/fourn/class/api_supplier_invoices.class.php index 3b3ac43c496..5d9efc10425 100644 --- a/htdocs/fourn/class/api_supplier_invoices.class.php +++ b/htdocs/fourn/class/api_supplier_invoices.class.php @@ -96,7 +96,7 @@ class SupplierInvoices extends DolibarrApi * * @throws RestException */ - function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $thirdparty_ids='', $status='', $sqlfilters = '') + function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $thirdparty_ids = '', $status = '', $sqlfilters = '') { global $db, $conf; @@ -296,7 +296,7 @@ class SupplierInvoices extends DolibarrApi * "notrigger": 0 * } */ - function validate($id, $idwarehouse=0, $notrigger=0) + function validate($id, $idwarehouse = 0, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->fournisseur->facture->creer) { throw new RestException(401); diff --git a/htdocs/fourn/class/api_supplier_orders.class.php b/htdocs/fourn/class/api_supplier_orders.class.php index ac5c825856c..a26b087cfee 100644 --- a/htdocs/fourn/class/api_supplier_orders.class.php +++ b/htdocs/fourn/class/api_supplier_orders.class.php @@ -96,7 +96,7 @@ class SupplierOrders extends DolibarrApi * * @throws RestException */ - function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $thirdparty_ids='', $status='', $sqlfilters = '') + function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $thirdparty_ids = '', $status = '', $sqlfilters = '') { global $db, $conf; @@ -301,7 +301,7 @@ class SupplierOrders extends DolibarrApi * "notrigger": 0 * } */ - function validate($id, $idwarehouse=0, $notrigger=0) + function validate($id, $idwarehouse = 0, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->fournisseur->commande->creer) { throw new RestException(401); diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index d92159c3234..1436409d82e 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -248,7 +248,7 @@ class CommandeFournisseur extends CommonOrder * @param string $ref Ref of object * @return int >0 if OK, <0 if KO, 0 if not found */ - public function fetch($id, $ref='') + public function fetch($id, $ref = '') { global $conf; @@ -382,7 +382,7 @@ class CommandeFournisseur extends CommonOrder * @param int $only_product Return only physical products * @return int <0 if KO, >0 if OK */ - function fetch_lines($only_product=0) + function fetch_lines($only_product = 0) { // phpcs:enable //$result=$this->fetch_lines(); @@ -492,7 +492,7 @@ class CommandeFournisseur extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - public function valid($user,$idwarehouse=0,$notrigger=0) + public function valid($user, $idwarehouse = 0, $notrigger = 0) { global $langs,$conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -611,7 +611,7 @@ class CommandeFournisseur extends CommonOrder * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto * @return string Label */ - public function getLibStatut($mode=0) + public function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode,$this->billed); } @@ -625,7 +625,7 @@ class CommandeFournisseur extends CommonOrder * @param int $billed 1=Billed * @return string Label of status */ - function LibStatut($statut,$mode=0,$billed=0) + function LibStatut($statut, $mode = 0, $billed = 0) { // phpcs:enable global $conf, $langs; @@ -719,7 +719,7 @@ class CommandeFournisseur extends CommonOrder * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chain with URL */ - public function getNomUrl($withpicto=0, $option='', $notooltip=0, $save_lastsearch_value=-1) + public function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $save_lastsearch_value = -1) { global $langs, $conf; @@ -879,7 +879,7 @@ class CommandeFournisseur extends CommonOrder * @param int $secondlevel 0=Standard approval, 1=Second level approval (used when option SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED is set) * @return int <0 if KO, >0 if OK */ - public function approve($user, $idwarehouse=0, $secondlevel=0) + public function approve($user, $idwarehouse = 0, $secondlevel = 0) { global $langs,$conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -1088,7 +1088,7 @@ class CommandeFournisseur extends CommonOrder * @param int $idwarehouse Id warehouse to use for stock change (not used for supplier orders). * @return int >0 if Ok, <0 if Ko */ - function Cancel($user, $idwarehouse=-1) + function Cancel($user, $idwarehouse = -1) { // phpcs:enable global $langs,$conf; @@ -1150,7 +1150,7 @@ class CommandeFournisseur extends CommonOrder * @param string $comment Comment * @return int <0 if KO, >0 if OK */ - public function commande($user, $date, $methode, $comment='') + public function commande($user, $date, $methode, $comment = '') { global $langs; dol_syslog(get_class($this)."::commande"); @@ -1208,7 +1208,7 @@ class CommandeFournisseur extends CommonOrder * @param int $notrigger Disable all triggers * @return int <0 if KO, Id of supplier order if OK */ - public function create($user, $notrigger=0) + public function create($user, $notrigger = 0) { global $langs,$conf,$hookmanager; @@ -1495,7 +1495,7 @@ class CommandeFournisseur extends CommonOrder * @param int $origin_id Id of origin object * @return int <=0 if KO, >0 if OK */ - public function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $fk_product=0, $fk_prod_fourn_price=0, $ref_supplier='', $remise_percent=0.0, $price_base_type='HT', $pu_ttc=0.0, $type=0, $info_bits=0, $notrigger=false, $date_start=null, $date_end=null, $array_options=0, $fk_unit=null, $pu_ht_devise=0, $origin='', $origin_id=0) + public function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1 = 0.0, $txlocaltax2 = 0.0, $fk_product = 0, $fk_prod_fourn_price = 0, $ref_supplier = '', $remise_percent = 0.0, $price_base_type = 'HT', $pu_ttc = 0.0, $type = 0, $info_bits = 0, $notrigger = false, $date_start = null, $date_end = null, $array_options = 0, $fk_unit = null, $pu_ht_devise = 0, $origin = '', $origin_id = 0) { global $langs,$mysoc,$conf; @@ -1754,7 +1754,7 @@ class CommandeFournisseur extends CommonOrder * @param int $notrigger 1 = notrigger * @return int <0 if KO, >0 if OK */ - public function dispatchProduct($user, $product, $qty, $entrepot, $price=0, $comment='', $eatby='', $sellby='', $batch='', $fk_commandefourndet=0, $notrigger=0) + public function dispatchProduct($user, $product, $qty, $entrepot, $price = 0, $comment = '', $eatby = '', $sellby = '', $batch = '', $fk_commandefourndet = 0, $notrigger = 0) { global $conf, $langs; @@ -1856,7 +1856,7 @@ class CommandeFournisseur extends CommonOrder * @param int $notrigger 1=Disable call to triggers * @return int <0 if KO, >0 if OK */ - public function deleteline($idline, $notrigger=0) + public function deleteline($idline, $notrigger = 0) { if ($this->statut == 0) { @@ -1892,7 +1892,7 @@ class CommandeFournisseur extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - public function delete(User $user, $notrigger=0) + public function delete(User $user, $notrigger = 0) { global $langs,$conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -2049,7 +2049,7 @@ class CommandeFournisseur extends CommonOrder * @param int $status Filter on stats (-1 = no filter, 0 = lines draft to be approved, 1 = approved lines) * @return array Array of lines */ - public function getDispachedLines($status=-1) + public function getDispachedLines($status = -1) { $ret = array(); @@ -2219,7 +2219,7 @@ class CommandeFournisseur extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function set_date_livraison($user, $date_livraison, $notrigger=0) + function set_date_livraison($user, $date_livraison, $notrigger = 0) { // phpcs:enable if ($user->rights->fournisseur->commande->creer) @@ -2285,7 +2285,7 @@ class CommandeFournisseur extends CommonOrder * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 si ko, >0 si ok */ - function set_id_projet($user, $id_projet, $notrigger=0) + function set_id_projet($user, $id_projet, $notrigger = 0) { // phpcs:enable if ($user->rights->fournisseur->commande->creer) @@ -2467,7 +2467,7 @@ class CommandeFournisseur extends CommonOrder * @param string $ref_supplier Supplier ref * @return int < 0 if error, > 0 if ok */ - public function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type=0, $notrigger=0, $date_start='', $date_end='', $array_options=0, $fk_unit=null, $pu_ht_devise=0, $ref_supplier='') + public function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1 = 0, $txlocaltax2 = 0, $price_base_type = 'HT', $info_bits = 0, $type = 0, $notrigger = 0, $date_start = '', $date_end = '', $array_options = 0, $fk_unit = null, $pu_ht_devise = 0, $ref_supplier = '') { global $mysoc, $conf; dol_syslog(get_class($this)."::updateline $rowid, $desc, $pu, $qty, $remise_percent, $txtva, $price_base_type, $info_bits, $type, $fk_unit"); @@ -2889,7 +2889,7 @@ class CommandeFournisseur extends CommonOrder * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf, $langs; @@ -3014,7 +3014,7 @@ class CommandeFournisseur extends CommonOrder * @param string $comment Comment * @return int <0 if KO, 0 if not applicable, >0 if OK */ - public function calcAndSetStatusDispatch(User $user, $closeopenorder=1, $comment='') + public function calcAndSetStatusDispatch(User $user, $closeopenorder = 1, $comment = '') { global $conf, $langs; @@ -3153,7 +3153,7 @@ class CommandeFournisseur extends CommonOrder * @param int $filtre_statut Filter on shipment status * @return int <0 if KO, Nb of lines found if OK */ - function loadReceptions($filtre_statut=-1) + function loadReceptions($filtre_statut = -1) { $this->receptions = array(); @@ -3350,7 +3350,7 @@ class CommandeFournisseurLigne extends CommonOrderLine * @param int $notrigger 1 = disable triggers * @return int <0 if KO, >0 if OK */ - public function insert($notrigger=0) + public function insert($notrigger = 0) { global $conf, $user; @@ -3476,7 +3476,7 @@ class CommandeFournisseurLigne extends CommonOrderLine * @param int $notrigger 1 = disable triggers * @return int <0 si ko, >0 si ok */ - public function update($notrigger=0) + public function update($notrigger = 0) { global $conf,$user; diff --git a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php index ee4602d7093..0e1ad52d46c 100644 --- a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php +++ b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php @@ -135,7 +135,7 @@ class CommandeFournisseurDispatch extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs, $hookmanager; $error=0; @@ -256,7 +256,7 @@ class CommandeFournisseurDispatch extends CommonObject * @param string $ref Ref * @return int <0 if KO, >0 if OK */ - function fetch($id,$ref='') + function fetch($id, $ref = '') { global $langs; $sql = "SELECT"; @@ -325,7 +325,7 @@ class CommandeFournisseurDispatch extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -420,7 +420,7 @@ class CommandeFournisseurDispatch extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -534,7 +534,7 @@ class CommandeFournisseurDispatch extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -547,7 +547,7 @@ class CommandeFournisseurDispatch extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Long label, 5=Short label + Picto * @return string Label of status */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -623,7 +623,7 @@ class CommandeFournisseurDispatch extends CommonObject * * @return int <0 if KO, >0 if OK */ - public function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, array $filter = array(), $filtermode='AND') + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') { dol_syslog(__METHOD__, LOG_DEBUG); diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 1dab0e9f82e..6a0ca6abddf 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -547,7 +547,7 @@ class FactureFournisseur extends CommonInvoice * @param string $ref Ref supplier invoice * @return int <0 if KO, >0 if OK, 0 if not found */ - public function fetch($id='',$ref='') + public function fetch($id = '', $ref = '') { global $langs; @@ -813,7 +813,7 @@ class FactureFournisseur extends CommonInvoice * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - public function update($user=null, $notrigger=0) + public function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -1045,7 +1045,7 @@ class FactureFournisseur extends CommonInvoice * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - public function delete(User $user, $notrigger=0) + public function delete(User $user, $notrigger = 0) { global $langs,$conf; @@ -1196,7 +1196,7 @@ class FactureFournisseur extends CommonInvoice * @param string $close_note Commentaire renseigne si on classe a payee alors que paiement incomplet. Not implementd yet. * @return int <0 si ko, >0 si ok */ - function set_paid($user, $close_code='', $close_note='') + function set_paid($user, $close_code = '', $close_note = '') { // phpcs:enable global $conf,$langs; @@ -1295,7 +1295,7 @@ class FactureFournisseur extends CommonInvoice * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, =0 if nothing to do, >0 if OK */ - public function validate($user, $force_number='', $idwarehouse=0, $notrigger=0) + public function validate($user, $force_number = '', $idwarehouse = 0, $notrigger = 0) { global $conf,$langs; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -1458,7 +1458,7 @@ class FactureFournisseur extends CommonInvoice * @param int $idwarehouse Id warehouse to use for stock change. * @return int <0 if KO, >0 if OK */ - function set_draft($user, $idwarehouse=-1) + function set_draft($user, $idwarehouse = -1) { // phpcs:enable global $conf,$langs; @@ -1557,7 +1557,7 @@ class FactureFournisseur extends CommonInvoice * @param string $ref_supplier Supplier ref * @return int >0 if OK, <0 if KO */ - public function addline($desc, $pu, $txtva, $txlocaltax1, $txlocaltax2, $qty, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits='', $price_base_type='HT', $type=0, $rang=-1, $notrigger=false, $array_options=0, $fk_unit=null, $origin_id=0, $pu_ht_devise=0, $ref_supplier='') + public function addline($desc, $pu, $txtva, $txlocaltax1, $txlocaltax2, $qty, $fk_product = 0, $remise_percent = 0, $date_start = '', $date_end = '', $ventil = 0, $info_bits = '', $price_base_type = 'HT', $type = 0, $rang = -1, $notrigger = false, $array_options = 0, $fk_unit = null, $origin_id = 0, $pu_ht_devise = 0, $ref_supplier = '') { global $langs, $mysoc, $conf; @@ -1799,7 +1799,7 @@ class FactureFournisseur extends CommonInvoice * @param string $ref_supplier Supplier ref * @return int <0 if KO, >0 if OK */ - public function updateline($id, $desc, $pu, $vatrate, $txlocaltax1=0, $txlocaltax2=0, $qty=1, $idproduct=0, $price_base_type='HT', $info_bits=0, $type=0, $remise_percent=0, $notrigger=false, $date_start='', $date_end='', $array_options=0, $fk_unit = null, $pu_ht_devise=0, $ref_supplier='') + public function updateline($id, $desc, $pu, $vatrate, $txlocaltax1 = 0, $txlocaltax2 = 0, $qty = 1, $idproduct = 0, $price_base_type = 'HT', $info_bits = 0, $type = 0, $remise_percent = 0, $notrigger = false, $date_start = '', $date_end = '', $array_options = 0, $fk_unit = null, $pu_ht_devise = 0, $ref_supplier = '') { global $mysoc; dol_syslog(get_class($this)."::updateline $id,$desc,$pu,$vatrate,$qty,$idproduct,$price_base_type,$info_bits,$type,$remise_percent,$notrigger,$date_start,$date_end,$fk_unit,$pu_ht_devise,$ref_supplier", LOG_DEBUG); @@ -1927,7 +1927,7 @@ class FactureFournisseur extends CommonInvoice * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - public function deleteline($rowid, $notrigger=0) + public function deleteline($rowid, $notrigger = 0) { if (!$rowid) { $rowid = $this->id; @@ -2038,7 +2038,7 @@ class FactureFournisseur extends CommonInvoice * @return array|int Tableau des factures ('id'=>id, 'ref'=>ref, 'status'=>status, 'paymentornot'=>0/1) * <0 if error */ - function list_replacable_supplier_invoices($socid=0) + function list_replacable_supplier_invoices($socid = 0) { // phpcs:enable global $conf; @@ -2090,7 +2090,7 @@ class FactureFournisseur extends CommonInvoice * @return array|int Tableau des factures ($id => array('ref'=>,'paymentornot'=>,'status'=>,'paye'=>) * <0 if error */ - function list_qualified_avoir_supplier_invoices($socid=0) + function list_qualified_avoir_supplier_invoices($socid = 0) { // phpcs:enable global $conf; @@ -2204,7 +2204,7 @@ class FactureFournisseur extends CommonInvoice * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - public function getNomUrl($withpicto=0, $option='',$max=0, $short=0, $moretitle='', $notooltip=0, $save_lastsearch_value=-1) + public function getNomUrl($withpicto = 0, $option = '', $max = 0, $short = 0, $moretitle = '', $notooltip = 0, $save_lastsearch_value = -1) { global $langs, $conf; @@ -2281,7 +2281,7 @@ class FactureFournisseur extends CommonInvoice * @param string $mode 'next' for next value or 'last' for last value * @return string free ref or last ref */ - public function getNextNumRef($soc,$mode='next') + public function getNextNumRef($soc, $mode = 'next') { global $db, $langs, $conf; $langs->load("orders"); @@ -2335,7 +2335,7 @@ class FactureFournisseur extends CommonInvoice * @param string $option ''=Create a specimen invoice with lines, 'nolines'=No lines * @return void */ - public function initAsSpecimen($option='') + public function initAsSpecimen($option = '') { global $langs,$conf; include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; @@ -2481,7 +2481,7 @@ class FactureFournisseur extends CommonInvoice * @param int $invertdetail Reverse sign of amounts for lines * @return int New id of clone */ - public function createFromClone($fromid,$invertdetail=0) + public function createFromClone($fromid, $invertdetail = 0) { global $user,$langs; @@ -2560,7 +2560,7 @@ class FactureFournisseur extends CommonInvoice * @param null|array $moreparams Array to provide more information * @return int <0 if KO, 0 if nothing done, >0 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf, $user, $langs; @@ -3047,7 +3047,7 @@ class SupplierInvoiceLine extends CommonObjectLine * @param int $notrigger 1 no triggers * @return int <0 if KO, >0 if OK */ - public function insert($notrigger=0) + public function insert($notrigger = 0) { global $user,$conf; diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index d721a4a9254..1918013a966 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -224,7 +224,7 @@ class ProductFournisseur extends Product * @param string $desc_fourn Custom description for product_fourn_price * @return int <0 if KO, >=0 if OK */ - function update_buyprice($qty, $buyprice, $user, $price_base_type, $fourn, $availability, $ref_fourn, $tva_tx, $charges=0, $remise_percent=0, $remise=0, $newnpr=0, $delivery_time_days=0, $supplier_reputation='', $localtaxes_array=array(), $newdefaultvatcode='', $multicurrency_buyprice=0, $multicurrency_price_base_type='HT',$multicurrency_tx=1,$multicurrency_code='', $desc_fourn='') + function update_buyprice($qty, $buyprice, $user, $price_base_type, $fourn, $availability, $ref_fourn, $tva_tx, $charges = 0, $remise_percent = 0, $remise = 0, $newnpr = 0, $delivery_time_days = 0, $supplier_reputation = '', $localtaxes_array = array(), $newdefaultvatcode = '', $multicurrency_buyprice = 0, $multicurrency_price_base_type = 'HT', $multicurrency_tx = 1, $multicurrency_code = '', $desc_fourn = '') { // phpcs:enable global $conf, $langs; @@ -542,7 +542,7 @@ class ProductFournisseur extends Product * @param int $offset Offset * @return array Array of Products with new properties to define supplier price */ - function list_product_fournisseur_price($prodid, $sortfield='', $sortorder='', $limit=0, $offset=0) + function list_product_fournisseur_price($prodid, $sortfield = '', $sortorder = '', $limit = 0, $offset = 0) { // phpcs:enable global $conf; @@ -643,7 +643,7 @@ class ProductFournisseur extends Product * @param int $socid get min price for specific supplier * @return int <0 if KO, 0=Not found of no product id provided, >0 if OK */ - function find_min_price_product_fournisseur($prodid, $qty=0, $socid=0) + function find_min_price_product_fournisseur($prodid, $qty = 0, $socid = 0) { // phpcs:enable global $conf; @@ -815,7 +815,7 @@ class ProductFournisseur extends Product * @return string String with supplier price * TODO Remove this method. Use getNomUrl directly. */ - function getSocNomUrl($withpicto=0,$option='supplier',$maxlen=0,$notooltip=0) + function getSocNomUrl($withpicto = 0, $option = 'supplier', $maxlen = 0, $notooltip = 0) { $thirdparty = new Fournisseur($this->db); $thirdparty->fetch($this->fourn_id); @@ -835,7 +835,7 @@ class ProductFournisseur extends Product * to display in table format. * @return string String with supplier price */ - function display_price_product_fournisseur($showunitprice=1,$showsuptitle=1,$maxlen=0,$notooltip=0, $productFournList=array()) + function display_price_product_fournisseur($showunitprice = 1, $showsuptitle = 1, $maxlen = 0, $notooltip = 0, $productFournList = array()) { // phpcs:enable global $langs; @@ -888,7 +888,7 @@ class ProductFournisseur extends Product * @param int $offset Offset * @return array Array of Log prices */ - function listProductFournisseurPriceLog($fourn_id, $sortfield='', $sortorder='', $limit=0, $offset=0) + function listProductFournisseurPriceLog($fourn_id, $sortfield = '', $sortorder = '', $limit = 0, $offset = 0) { global $conf; @@ -934,7 +934,7 @@ class ProductFournisseur extends Product * to display in table format. * @return string HTML String with supplier price */ - function displayPriceProductFournisseurLog($productFournLogList=array()) + function displayPriceProductFournisseurLog($productFournLogList = array()) { global $langs; @@ -968,7 +968,7 @@ class ProductFournisseur extends Product * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; diff --git a/htdocs/fourn/class/paiementfourn.class.php b/htdocs/fourn/class/paiementfourn.class.php index ee92374149b..a7469367fb6 100644 --- a/htdocs/fourn/class/paiementfourn.class.php +++ b/htdocs/fourn/class/paiementfourn.class.php @@ -82,7 +82,7 @@ class PaiementFourn extends Paiement * @param int $fk_bank Id of bank line associated to payment * @return int <0 if KO, -2 if not found, >0 if OK */ - function fetch($id, $ref='', $fk_bank='') + function fetch($id, $ref = '', $fk_bank = '') { $error=0; @@ -145,7 +145,7 @@ class PaiementFourn extends Paiement * @param int $closepaidinvoices 1=Also close payed invoices to paid, 0=Do nothing more * @return int id of created payment, < 0 if error */ - function create($user, $closepaidinvoices=0) + function create($user, $closepaidinvoices = 0) { global $langs,$conf; @@ -317,7 +317,7 @@ class PaiementFourn extends Paiement * @param int $notrigger No trigger * @return int <0 si ko, >0 si ok */ - function delete($notrigger=0) + function delete($notrigger = 0) { global $conf, $user, $langs; @@ -463,7 +463,7 @@ class PaiementFourn extends Paiement * @param string $filter SQL filter * @return array Array of supplier invoice id */ - function getBillsArray($filter='') + function getBillsArray($filter = '') { $sql = 'SELECT fk_facturefourn'; $sql.= ' FROM '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf, '.MAIN_DB_PREFIX.'facture_fourn as f'; @@ -501,7 +501,7 @@ class PaiementFourn extends Paiement * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -514,7 +514,7 @@ class PaiementFourn extends Paiement * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle du statut */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; @@ -568,7 +568,7 @@ class PaiementFourn extends Paiement * @param int $notooltip 1=Disable tooltip * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $option='', $mode='withlistofinvoices', $notooltip=0) + function getNomUrl($withpicto = 0, $option = '', $mode = 'withlistofinvoices', $notooltip = 0) { global $langs; @@ -604,7 +604,7 @@ class PaiementFourn extends Paiement * @param string $option ''=Create a specimen invoice with lines, 'nolines'=No lines * @return void */ - function initAsSpecimen($option='') + function initAsSpecimen($option = '') { global $user,$langs,$conf; @@ -629,7 +629,7 @@ class PaiementFourn extends Paiement * @param string $mode 'next' for next value or 'last' for last value * @return string free ref or last ref */ - function getNextNumRef($soc,$mode='next') + function getNextNumRef($soc, $mode = 'next') { global $conf, $db, $langs; $langs->load("bills"); @@ -715,7 +715,7 @@ class PaiementFourn extends Paiement * @param null|array $moreparams Array to provide more information * @return int <0 if KO, 0 if nothing done, >0 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf, $user, $langs; @@ -781,7 +781,7 @@ class PaiementFourn extends Paiement * @param int $force_thirdparty_id Force thirdparty id * @return int <0 if KO, >0 if OK */ - function fetch_thirdparty($force_thirdparty_id=0) + function fetch_thirdparty($force_thirdparty_id = 0) { // phpcs:enable require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture.class.php'; diff --git a/htdocs/ftp/index.php b/htdocs/ftp/index.php index fd2e5e80772..449be9daccf 100644 --- a/htdocs/ftp/index.php +++ b/htdocs/ftp/index.php @@ -698,7 +698,7 @@ $db->close(); * @param integer $ftp_passive Use a passive mode * @return int <0 if OK, >0 if KO */ -function dol_ftp_connect($ftp_server, $ftp_port, $ftp_user, $ftp_password, $section, $ftp_passive=0) +function dol_ftp_connect($ftp_server, $ftp_port, $ftp_user, $ftp_password, $section, $ftp_passive = 0) { global $langs, $conf; @@ -798,7 +798,7 @@ function dol_ftp_connect($ftp_server, $ftp_port, $ftp_user, $ftp_password, $sect * @param string $dir Directory * @return int 1=directory, 0=not a directory */ -function ftp_isdir($connect_id,$dir) +function ftp_isdir($connect_id, $dir) { if (@ftp_chdir($connect_id,$dir)) { diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php index f5761876795..6248b3d0bce 100644 --- a/htdocs/holiday/class/holiday.class.php +++ b/htdocs/holiday/class/holiday.class.php @@ -250,7 +250,7 @@ class Holiday extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf; $error=0; @@ -336,7 +336,7 @@ class Holiday extends CommonObject * @param string $ref Ref object * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { global $langs; @@ -420,7 +420,7 @@ class Holiday extends CommonObject * @param string $filter SQL Filter * @return int -1 if KO, 1 if OK, 2 if no result */ - function fetchByUser($user_id, $order='', $filter='') + function fetchByUser($user_id, $order = '', $filter = '') { global $langs, $conf; @@ -548,7 +548,7 @@ class Holiday extends CommonObject * @param string $filter SQL Filter * @return int -1 if KO, 1 if OK, 2 if no result */ - function fetchAll($order,$filter) + function fetchAll($order, $filter) { global $langs; @@ -674,7 +674,7 @@ class Holiday extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function validate($user=null, $notrigger=0) + function validate($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -745,7 +745,7 @@ class Holiday extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function approve($user=null, $notrigger=0) + function approve($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -858,7 +858,7 @@ class Holiday extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -972,7 +972,7 @@ class Holiday extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -1030,7 +1030,7 @@ class Holiday extends CommonObject * @return boolean False = New range overlap an existing holiday, True = no overlapping (is never on holiday during checked period). * @see verifDateHolidayForTimestamp */ - function verifDateHolidayCP($fk_user, $dateStart, $dateEnd, $halfday=0) + function verifDateHolidayCP($fk_user, $dateStart, $dateEnd, $halfday = 0) { $this->fetchByUser($fk_user,'',''); @@ -1112,7 +1112,7 @@ class Holiday extends CommonObject * @return array array('morning'=> ,'afternoon'=> ), Boolean is true if user is available for day timestamp. * @see verifDateHolidayCP */ - function verifDateHolidayForTimestamp($fk_user, $timestamp, $status='-1') + function verifDateHolidayForTimestamp($fk_user, $timestamp, $status = '-1') { global $langs, $conf; @@ -1175,7 +1175,7 @@ class Holiday extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $save_lastsearch_value = -1) { global $langs; @@ -1211,7 +1211,7 @@ class Holiday extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut, $mode, $this->date_debut); } @@ -1225,7 +1225,7 @@ class Holiday extends CommonObject * @param date $startdate Date holiday should start * @return string Label */ - function LibStatut($statut, $mode=0, $startdate='') + function LibStatut($statut, $mode = 0, $startdate = '') { // phpcs:enable global $langs; @@ -1290,7 +1290,7 @@ class Holiday extends CommonObject * @param string $htmlname Name of HTML select field * @return string Show select of status */ - function selectStatutCP($selected='', $htmlname='select_statut') + function selectStatutCP($selected = '', $htmlname = 'select_statut') { global $langs; @@ -1324,7 +1324,7 @@ class Holiday extends CommonObject * @param string $value vrai si mise à jour OK sinon faux * @return boolean ok or ko */ - function updateConfCP($name,$value) + function updateConfCP($name, $value) { $sql = "UPDATE ".MAIN_DB_PREFIX."holiday_config SET"; @@ -1348,7 +1348,7 @@ class Holiday extends CommonObject * @param string $createifnotfound 'stringvalue'=Create entry with string value if not found. For example 'YYYYMMDDHHMMSS'. * @return string Value of parameter. Example: 'YYYYMMDDHHMMSS' or < 0 if error */ - function getConfCP($name, $createifnotfound='') + function getConfCP($name, $createifnotfound = '') { $sql = "SELECT value"; $sql.= " FROM ".MAIN_DB_PREFIX."holiday_config"; @@ -1403,7 +1403,7 @@ class Holiday extends CommonObject * @param int $fk_type Type of vacation * @return int 0=Nothing done, 1=OK, -1=KO */ - function updateSoldeCP($userID='',$nbHoliday='', $fk_type='') + function updateSoldeCP($userID = '', $nbHoliday = '', $fk_type = '') { global $user, $langs; @@ -1579,7 +1579,7 @@ class Holiday extends CommonObject * @param int $userid Id user * @return void */ - function createCPusers($single=false,$userid='') + function createCPusers($single = false, $userid = '') { // Si c'est l'ensemble des utilisateurs à ajouter if (! $single) @@ -1631,7 +1631,7 @@ class Holiday extends CommonObject * @param int $fk_type Filter on type * @return float Retourne le solde de congés payés de l'utilisateur */ - function getCPforUser($user_id, $fk_type=0) + function getCPforUser($user_id, $fk_type = 0) { $sql = "SELECT nb_holiday"; $sql.= " FROM ".MAIN_DB_PREFIX."holiday_users"; @@ -1661,7 +1661,7 @@ class Holiday extends CommonObject * @param string $filters Filters * @return array|string|int Return an array */ - function fetchUsers($stringlist=true, $type=true, $filters='') + function fetchUsers($stringlist = true, $type = true, $filters = '') { global $conf; @@ -2045,7 +2045,7 @@ class Holiday extends CommonObject * @param string $filter Filtre de séléction * @return int -1 si erreur, 1 si OK et 2 si pas de résultat */ - function fetchLog($order,$filter) + function fetchLog($order, $filter) { global $langs; @@ -2122,7 +2122,7 @@ class Holiday extends CommonObject * @param int $affect Filter on affect (a request will change sold or not). -1 = Both * @return array Return array with list of types */ - function getTypes($active=-1, $affect=-1) + function getTypes($active = -1, $affect = -1) { global $mysoc; diff --git a/htdocs/hrm/class/establishment.class.php b/htdocs/hrm/class/establishment.class.php index 4153972d27c..7e967176582 100644 --- a/htdocs/hrm/class/establishment.class.php +++ b/htdocs/hrm/class/establishment.class.php @@ -296,7 +296,7 @@ class Establishment extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -309,7 +309,7 @@ class Establishment extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; @@ -396,7 +396,7 @@ class Establishment extends CommonObject * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @return string String with URL */ - function getNomUrl($withpicto=0) + function getNomUrl($withpicto = 0) { global $langs; diff --git a/htdocs/imports/class/import.class.php b/htdocs/imports/class/import.class.php index a0d33d4c28a..441535d11fd 100644 --- a/htdocs/imports/class/import.class.php +++ b/htdocs/imports/class/import.class.php @@ -73,7 +73,7 @@ class Import * @param string $filter Load a particular dataset only. Index will start to 0. * @return int <0 if KO, >0 if OK */ - function load_arrays($user,$filter='') + function load_arrays($user, $filter = '') { // phpcs:enable global $langs,$conf; @@ -196,7 +196,7 @@ class Import * @param string $datatoimport Dataset to import * @return string <0 if KO, >0 if OK */ - function build_example_file($model, $headerlinefields, $contentlinevalues,$datatoimport) + function build_example_file($model, $headerlinefields, $contentlinevalues, $datatoimport) { // phpcs:enable global $conf,$langs; @@ -316,7 +316,7 @@ class Import * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; diff --git a/htdocs/imports/import.php b/htdocs/imports/import.php index 04fc651685f..b1d59b648b3 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -1925,7 +1925,7 @@ $db->close(); * @param int $nostyle Hide style * @return void */ -function show_elem($fieldssource,$pos,$key,$var,$nostyle='') +function show_elem($fieldssource, $pos, $key, $var, $nostyle = '') { global $langs,$bc; @@ -1997,7 +1997,7 @@ function show_elem($fieldssource,$pos,$key,$var,$nostyle='') * @param array $listofkey Array of keys * @return integer */ -function getnewkey(&$fieldssource,&$listofkey) +function getnewkey(&$fieldssource, &$listofkey) { $i=count($fieldssource)+1; // Max number of key diff --git a/htdocs/index.php b/htdocs/index.php index 1ef48ea9bae..3a6802abbf8 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -696,7 +696,7 @@ $db->close(); * @param string $options More parameters on img tag * @return string Return img tag of weather */ -function showWeather($totallate,$text,$options) +function showWeather($totallate, $text, $options) { global $conf; diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index 54b34b89e8c..6c2cdcead72 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -374,7 +374,7 @@ function conf($dolibarr_main_document_root) * @param string $csstable Css for table * @return void */ -function pHeader($subtitle,$next,$action='set',$param='',$forcejqueryurl='',$csstable='main-inside') +function pHeader($subtitle, $next, $action = 'set', $param = '', $forcejqueryurl = '', $csstable = 'main-inside') { global $conf; global $langs; @@ -451,7 +451,7 @@ function pHeader($subtitle,$next,$action='set',$param='',$forcejqueryurl='',$css * @param integer $withpleasewait Add also please wait tags * @return void */ -function pFooter($nonext=0,$setuplang='',$jscheckfunction='', $withpleasewait=0) +function pFooter($nonext = 0, $setuplang = '', $jscheckfunction = '', $withpleasewait = 0) { global $conf,$langs; @@ -508,7 +508,7 @@ function pFooter($nonext=0,$setuplang='',$jscheckfunction='', $withpleasewait=0) * @param int $level Level of log * @return void */ -function dolibarr_install_syslog($message, $level=LOG_DEBUG) +function dolibarr_install_syslog($message, $level = LOG_DEBUG) { if (! defined('LOG_DEBUG')) define('LOG_DEBUG',6); dol_syslog($message,$level); diff --git a/htdocs/install/step1.php b/htdocs/install/step1.php index 48fdb15b655..a55c14195e5 100644 --- a/htdocs/install/step1.php +++ b/htdocs/install/step1.php @@ -816,7 +816,7 @@ if ($ret) exit($ret); * @param string $main_dir Full path name to main.inc.php file * @return void */ -function write_main_file($mainfile,$main_dir) +function write_main_file($mainfile, $main_dir) { $fp = @fopen("$mainfile", "w"); if($fp) @@ -837,7 +837,7 @@ function write_main_file($mainfile,$main_dir) * @param string $main_dir Full path name to master.inc.php file * @return void */ -function write_master_file($masterfile,$main_dir) +function write_master_file($masterfile, $main_dir) { $fp = @fopen("$masterfile", "w"); if($fp) diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index cf6cbf28e45..acddde53988 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -590,7 +590,7 @@ if ($ret) exit($ret); * @param Conf $conf Object conf * @return void */ -function migrate_paiements($db,$langs,$conf) +function migrate_paiements($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -684,7 +684,7 @@ function migrate_paiements($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_paiements_orphelins_1($db,$langs,$conf) +function migrate_paiements_orphelins_1($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -811,7 +811,7 @@ function migrate_paiements_orphelins_1($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_paiements_orphelins_2($db,$langs,$conf) +function migrate_paiements_orphelins_2($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -954,7 +954,7 @@ function migrate_paiements_orphelins_2($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_contracts_det($db,$langs,$conf) +function migrate_contracts_det($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -1052,7 +1052,7 @@ function migrate_contracts_det($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_links_transfert($db,$langs,$conf) +function migrate_links_transfert($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -1136,7 +1136,7 @@ function migrate_links_transfert($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_contracts_date1($db,$langs,$conf) +function migrate_contracts_date1($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -1167,7 +1167,7 @@ function migrate_contracts_date1($db,$langs,$conf) /* * Mise a jour date contrat avec date min effective mise en service si inferieur */ -function migrate_contracts_date2($db,$langs,$conf) +function migrate_contracts_date2($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -1236,7 +1236,7 @@ function migrate_contracts_date2($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_contracts_date3($db,$langs,$conf) +function migrate_contracts_date3($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -1263,7 +1263,7 @@ function migrate_contracts_date3($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_contracts_open($db,$langs,$conf) +function migrate_contracts_open($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -1322,7 +1322,7 @@ function migrate_contracts_open($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_paiementfourn_facturefourn($db,$langs,$conf) +function migrate_paiementfourn_facturefourn($db, $langs, $conf) { global $bc; @@ -1439,7 +1439,7 @@ function migrate_paiementfourn_facturefourn($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_price_facture($db,$langs,$conf) +function migrate_price_facture($db, $langs, $conf) { $err=0; @@ -1558,7 +1558,7 @@ function migrate_price_facture($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_price_propal($db,$langs,$conf) +function migrate_price_propal($db, $langs, $conf) { $tmpmysoc=new Societe($db); $tmpmysoc->setMysoc($conf); @@ -1666,7 +1666,7 @@ function migrate_price_propal($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_price_contrat($db,$langs,$conf) +function migrate_price_contrat($db, $langs, $conf) { $db->begin(); @@ -1755,7 +1755,7 @@ function migrate_price_contrat($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_price_commande($db,$langs,$conf) +function migrate_price_commande($db, $langs, $conf) { $db->begin(); @@ -1872,7 +1872,7 @@ function migrate_price_commande($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_price_commande_fournisseur($db,$langs,$conf) +function migrate_price_commande_fournisseur($db, $langs, $conf) { $db->begin(); @@ -1989,7 +1989,7 @@ function migrate_price_commande_fournisseur($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_modeles($db,$langs,$conf) +function migrate_modeles($db, $langs, $conf) { //print '<br>'; //print '<b>'.$langs->trans('UpdateModelsTable')."</b><br>\n"; @@ -2047,7 +2047,7 @@ function migrate_modeles($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_commande_expedition($db,$langs,$conf) +function migrate_commande_expedition($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_commande_expedition"); @@ -2124,7 +2124,7 @@ function migrate_commande_expedition($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_commande_livraison($db,$langs,$conf) +function migrate_commande_livraison($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_commande_livraison"); @@ -2217,7 +2217,7 @@ function migrate_commande_livraison($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_detail_livraison($db,$langs,$conf) +function migrate_detail_livraison($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_detail_livraison"); @@ -2338,7 +2338,7 @@ function migrate_detail_livraison($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_stocks($db,$langs,$conf) +function migrate_stocks($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_stocks"); @@ -2412,7 +2412,7 @@ function migrate_stocks($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_menus($db,$langs,$conf) +function migrate_menus($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_menus"); @@ -2494,7 +2494,7 @@ function migrate_menus($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_commande_deliveryaddress($db,$langs,$conf) +function migrate_commande_deliveryaddress($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_commande_deliveryaddress"); @@ -2578,7 +2578,7 @@ function migrate_commande_deliveryaddress($db,$langs,$conf) * @param Conf $conf Object conf * @return integer|null */ -function migrate_restore_missing_links($db,$langs,$conf) +function migrate_restore_missing_links($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_restore_missing_links"); @@ -2734,7 +2734,7 @@ function migrate_restore_missing_links($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_project_user_resp($db,$langs,$conf) +function migrate_project_user_resp($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_project_user_resp"); @@ -2831,7 +2831,7 @@ function migrate_project_user_resp($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_project_task_actors($db,$langs,$conf) +function migrate_project_task_actors($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_project_task_actors"); @@ -2928,7 +2928,7 @@ function migrate_project_task_actors($db,$langs,$conf) * @param string $targettype Type of element target * @return void */ -function migrate_relationship_tables($db,$langs,$conf,$table,$fk_source,$sourcetype,$fk_target,$targettype) +function migrate_relationship_tables($db, $langs, $conf, $table, $fk_source, $sourcetype, $fk_target, $targettype) { print '<tr><td colspan="4">'; @@ -3024,7 +3024,7 @@ function migrate_relationship_tables($db,$langs,$conf,$table,$fk_source,$sourcet * @param Conf $conf Object conf * @return void */ -function migrate_project_task_time($db,$langs,$conf) +function migrate_project_task_time($db, $langs, $conf) { dolibarr_install_syslog("upgrade2::migrate_project_task_time"); @@ -3145,7 +3145,7 @@ function migrate_project_task_time($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_customerorder_shipping($db,$langs,$conf) +function migrate_customerorder_shipping($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -3246,7 +3246,7 @@ function migrate_customerorder_shipping($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_shipping_delivery($db,$langs,$conf) +function migrate_shipping_delivery($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -3358,7 +3358,7 @@ function migrate_shipping_delivery($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_shipping_delivery2($db,$langs,$conf) +function migrate_shipping_delivery2($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -3442,7 +3442,7 @@ function migrate_shipping_delivery2($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_actioncomm_element($db,$langs,$conf) +function migrate_actioncomm_element($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -3508,7 +3508,7 @@ function migrate_actioncomm_element($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_mode_reglement($db,$langs,$conf) +function migrate_mode_reglement($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -3608,7 +3608,7 @@ function migrate_mode_reglement($db,$langs,$conf) * @param string $versionto Version target * @return void */ -function migrate_clean_association($db,$langs,$conf,$versionto) +function migrate_clean_association($db, $langs, $conf, $versionto) { $result = $db->DDLDescTable(MAIN_DB_PREFIX."categorie_association"); if ($result) // result defined for version 3.2 or - @@ -3695,7 +3695,7 @@ function migrate_clean_association($db,$langs,$conf,$versionto) * @param Conf $conf Object conf * @return void */ -function migrate_categorie_association($db,$langs,$conf) +function migrate_categorie_association($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -3788,7 +3788,7 @@ function migrate_categorie_association($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_event_assignement($db,$langs,$conf) +function migrate_event_assignement($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -3865,7 +3865,7 @@ function migrate_event_assignement($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_event_assignement_contact($db,$langs,$conf) +function migrate_event_assignement_contact($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -3943,7 +3943,7 @@ function migrate_event_assignement_contact($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_reset_blocked_log($db,$langs,$conf) +function migrate_reset_blocked_log($db, $langs, $conf) { global $user; @@ -4061,7 +4061,7 @@ function migrate_reset_blocked_log($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_remise_entity($db,$langs,$conf) +function migrate_remise_entity($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -4138,7 +4138,7 @@ function migrate_remise_entity($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_remise_except_entity($db,$langs,$conf) +function migrate_remise_except_entity($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -4250,7 +4250,7 @@ function migrate_remise_except_entity($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_user_rights_entity($db,$langs,$conf) +function migrate_user_rights_entity($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -4326,7 +4326,7 @@ function migrate_user_rights_entity($db,$langs,$conf) * @param Conf $conf Object conf * @return void */ -function migrate_usergroup_rights_entity($db,$langs,$conf) +function migrate_usergroup_rights_entity($db, $langs, $conf) { print '<tr><td colspan="4">'; @@ -4536,7 +4536,7 @@ function migrate_delete_old_dir($db, $langs, $conf) * @param int $force 1=Reload module even if not already loaded * @return void */ -function migrate_reload_modules($db, $langs, $conf, $listofmodule=array(), $force=0) +function migrate_reload_modules($db, $langs, $conf, $listofmodule = array(), $force = 0) { if (count($listofmodule) == 0) return; @@ -4786,7 +4786,7 @@ function migrate_reload_modules($db, $langs, $conf, $listofmodule=array(), $forc * @param string $versionto Version target * @return void */ -function migrate_reload_menu($db,$langs,$conf,$versionto) +function migrate_reload_menu($db, $langs, $conf, $versionto) { global $conf; dolibarr_install_syslog("upgrade2::migrate_reload_menu"); diff --git a/htdocs/livraison/class/livraison.class.php b/htdocs/livraison/class/livraison.class.php index 9968f4d3d38..db1f81be705 100644 --- a/htdocs/livraison/class/livraison.class.php +++ b/htdocs/livraison/class/livraison.class.php @@ -554,7 +554,7 @@ class Livraison extends CommonObject * @param array $array_options extrafields array * @return int <0 if KO, >0 if OK */ - function update_line($id, $array_options=0) + function update_line($id, $array_options = 0) { // phpcs:enable global $conf; @@ -716,7 +716,7 @@ class Livraison extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $save_lastsearch_value = -1) { global $langs; @@ -811,7 +811,7 @@ class Livraison extends CommonObject * @param int $mode Mode * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -824,7 +824,7 @@ class Livraison extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label */ - function LibStatut($statut,$mode) + function LibStatut($statut, $mode) { // phpcs:enable global $langs; @@ -1035,7 +1035,7 @@ class Livraison extends CommonObject * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs='',$hidedetails=0,$hidedesc=0,$hideref=0) + public function generateDocument($modele, $outputlangs = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf,$user,$langs; diff --git a/htdocs/loan/class/loan.class.php b/htdocs/loan/class/loan.class.php index 3805704fbb9..09fddcb5599 100644 --- a/htdocs/loan/class/loan.class.php +++ b/htdocs/loan/class/loan.class.php @@ -393,7 +393,7 @@ class Loan extends CommonObject * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) * @return string Label */ - function getLibStatut($mode=0,$alreadypaid=-1) + function getLibStatut($mode = 0, $alreadypaid = -1) { return $this->LibStatut($this->paid,$mode,$alreadypaid); } @@ -407,7 +407,7 @@ class Loan extends CommonObject * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) * @return string Label */ - function LibStatut($statut,$mode=0,$alreadypaid=-1) + function LibStatut($statut, $mode = 0, $alreadypaid = -1) { // phpcs:enable global $langs; @@ -460,7 +460,7 @@ class Loan extends CommonObject * @param int $maxlen Label max length * @return string Chaine with URL */ - function getNomUrl($withpicto=0,$maxlen=0) + function getNomUrl($withpicto = 0, $maxlen = 0) { global $langs; diff --git a/htdocs/loan/class/loanschedule.class.php b/htdocs/loan/class/loanschedule.class.php index 7373bfb4ab1..09adf4b3e16 100644 --- a/htdocs/loan/class/loanschedule.class.php +++ b/htdocs/loan/class/loanschedule.class.php @@ -270,7 +270,7 @@ class LoanSchedule extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - public function update($user=0, $notrigger=0) + public function update($user = 0, $notrigger = 0) { global $conf, $langs; $error=0; @@ -354,7 +354,7 @@ class LoanSchedule extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - public function delete($user, $notrigger=0) + public function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; diff --git a/htdocs/loan/class/paymentloan.class.php b/htdocs/loan/class/paymentloan.class.php index b9cbe0d6b58..f11842bf0c1 100644 --- a/htdocs/loan/class/paymentloan.class.php +++ b/htdocs/loan/class/paymentloan.class.php @@ -273,7 +273,7 @@ class PaymentLoan extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=0, $notrigger=0) + function update($user = 0, $notrigger = 0) { global $conf, $langs; $error=0; @@ -361,7 +361,7 @@ class PaymentLoan extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -546,7 +546,7 @@ class PaymentLoan extends CommonObject * @param int $maxlen Max length label * @return string Chaine with URL */ - function getNomUrl($withpicto=0,$maxlen=0) + function getNomUrl($withpicto = 0, $maxlen = 0) { global $langs; diff --git a/htdocs/mailmanspip/class/mailmanspip.class.php b/htdocs/mailmanspip/class/mailmanspip.class.php index 213febdc4b5..fadf6ecf778 100644 --- a/htdocs/mailmanspip/class/mailmanspip.class.php +++ b/htdocs/mailmanspip/class/mailmanspip.class.php @@ -321,7 +321,7 @@ class MailmanSpip * @param array $listes To force mailing-list (string separated with ,) * @return int <0 if KO, >=0 if OK */ - function add_to_mailman($object,$listes='') + function add_to_mailman($object, $listes = '') { // phpcs:enable global $conf,$langs,$user; @@ -395,7 +395,7 @@ class MailmanSpip * @param array $listes To force mailing-list (string separated with ,) * @return int <0 if KO, >=0 if OK */ - function del_to_mailman($object,$listes='') + function del_to_mailman($object, $listes = '') { // phpcs:enable global $conf,$langs,$user; diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index e7bdbe07f67..2fd75e4f4c6 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1074,7 +1074,7 @@ if (! function_exists("llxHeader")) * @param string $replacemainareaby Replace call to main_area() by a print of this string * @return void */ - function llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='') + function llxHeader($head = '', $title = '', $help_url = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $morecssonbody = '', $replacemainareaby = '') { global $conf; @@ -1112,7 +1112,7 @@ if (! function_exists("llxHeader")) * @param int $forcenocache Force disabling of cache for the page * @return void */ -function top_httphead($contenttype='text/html', $forcenocache=0) +function top_httphead($contenttype = 'text/html', $forcenocache = 0) { global $db, $conf, $hookmanager; @@ -1178,7 +1178,7 @@ function top_httphead($contenttype='text/html', $forcenocache=0) * @param int $disablenofollow Disable no follow tag * @return void */ -function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $disablejmobile=0, $disablenofollow=0) +function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $disablejmobile = 0, $disablenofollow = 0) { global $db, $conf, $langs, $user, $hookmanager; @@ -1501,7 +1501,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs * For other external page: http://server/url * @return void */ -function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $helppagename='') +function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $helppagename = '') { global $user, $conf, $langs, $db; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -1706,7 +1706,7 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a * @param string $acceptdelayedhtml 1 if caller request to have html delayed content not returned but saved into global $delayedhtmlcontent (so caller can show it at end of page to avoid flash FOUC effect) * @return void */ -function left_menu($menu_array_before, $helppagename='', $notused='', $menu_array_after='', $leftmenuwithoutmainarea=0, $title='', $acceptdelayedhtml=0) +function left_menu($menu_array_before, $helppagename = '', $notused = '', $menu_array_after = '', $leftmenuwithoutmainarea = 0, $title = '', $acceptdelayedhtml = 0) { global $user, $conf, $langs, $db, $form; global $hookmanager, $menumanager; @@ -1883,7 +1883,7 @@ function left_menu($menu_array_before, $helppagename='', $notused='', $menu_arra * @param string $title Title * @return void */ -function main_area($title='') +function main_area($title = '') { global $conf, $langs; @@ -1904,7 +1904,7 @@ function main_area($title='') * @param Translate $langs Language * @return array Array of help urls */ -function getHelpParamFor($helppagename,$langs) +function getHelpParamFor($helppagename, $langs) { $helpbaseurl=''; $helppage=''; @@ -1957,7 +1957,7 @@ function getHelpParamFor($helppagename,$langs) * @param string $autofocus Set autofocus on field * @return string */ -function printSearchForm($urlaction, $urlobject, $title, $htmlmorecss, $htmlinputname, $accesskey='', $prefhtmlinputname='',$img='', $showtitlebefore=0, $autofocus=0) +function printSearchForm($urlaction, $urlobject, $title, $htmlmorecss, $htmlinputname, $accesskey = '', $prefhtmlinputname = '', $img = '', $showtitlebefore = 0, $autofocus = 0) { global $conf,$langs,$user; @@ -1994,7 +1994,7 @@ if (! function_exists("llxFooter")) * @param int $disabledoutputofmessages Clear all messages stored into session without diplaying them * @return void */ - function llxFooter($comment='',$zone='private', $disabledoutputofmessages=0) + function llxFooter($comment = '', $zone = 'private', $disabledoutputofmessages = 0) { global $conf, $langs, $user, $object; global $delayedhtmlcontent; diff --git a/htdocs/modulebuilder/template/class/actions_mymodule.class.php b/htdocs/modulebuilder/template/class/actions_mymodule.class.php index 64076e07359..9143d8bf273 100644 --- a/htdocs/modulebuilder/template/class/actions_mymodule.class.php +++ b/htdocs/modulebuilder/template/class/actions_mymodule.class.php @@ -76,7 +76,7 @@ class ActionsMyModule * =0 if OK but we want to process standard actions too, * >0 if OK and we want to replace standard actions. */ - function getNomUrl($parameters,&$object,&$action) + function getNomUrl($parameters, &$object, &$action) { global $db,$langs,$conf,$user; $this->resprints = ''; diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php index 6f3b76a4f1b..b1ebc9759d9 100644 --- a/htdocs/modulebuilder/template/class/myobject.class.php +++ b/htdocs/modulebuilder/template/class/myobject.class.php @@ -340,7 +340,7 @@ class MyObject extends CommonObject * @param string $filtermode Filter mode (AND or OR) * @return array|int int <0 if KO, array of pages if OK */ - public function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, array $filter=array(), $filtermode='AND') + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') { global $conf; @@ -442,7 +442,7 @@ class MyObject extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs, $hookmanager; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -512,7 +512,7 @@ class MyObject extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function getLibStatut($mode=0) + public function getLibStatut($mode = 0) { return $this->LibStatut($this->status, $mode); } @@ -525,7 +525,7 @@ class MyObject extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - public function LibStatut($status, $mode=0) + public function LibStatut($status, $mode = 0) { // phpcs:enable if (empty($this->labelstatus)) diff --git a/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php b/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php index 460df7e96bf..c9364284f0a 100644 --- a/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php +++ b/htdocs/modulebuilder/template/core/modules/mailings/mailinglist_mymodule_myobject.modules.php @@ -192,7 +192,7 @@ class mailing_mailinglist_mymodule_myobject extends MailingTargets * @param string $option Options * @return int Nb of recipients or -1 if KO */ - function getNbOfRecipients($filter=1,$option='') + function getNbOfRecipients($filter = 1, $option = '') { $a=parent::getNbOfRecipients("select count(distinct(email)) as nb from ".MAIN_DB_PREFIX."myobject as p where email IS NOT NULL AND email != ''"); diff --git a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php index 5781b93e94d..279411c33c2 100644 --- a/htdocs/modulebuilder/template/core/modules/modMyModule.class.php +++ b/htdocs/modulebuilder/template/core/modules/modMyModule.class.php @@ -309,7 +309,7 @@ class modMyModule extends DolibarrModules * @param string $options Options when enabling module ('', 'noboxes') * @return int 1 if OK, 0 if KO */ - public function init($options='') + public function init($options = '') { $result=$this->_load_tables('/mymodule/sql/'); if ($result < 0) return -1; // Do not activate module if not allowed errors found on module SQL queries (the _load_table run sql with run_sql with error allowed parameter to 'default') diff --git a/htdocs/multicurrency/class/multicurrency.class.php b/htdocs/multicurrency/class/multicurrency.class.php index 549f0fd411a..e1a68a18acd 100644 --- a/htdocs/multicurrency/class/multicurrency.class.php +++ b/htdocs/multicurrency/class/multicurrency.class.php @@ -519,7 +519,7 @@ class MultiCurrency extends CommonObject * @return array [0] => id currency * [1] => rate */ - public static function getIdAndTxFromCode(&$db, $code, $date_document='') + public static function getIdAndTxFromCode(&$db, $code, $date_document = '') { global $conf; @@ -556,7 +556,7 @@ class MultiCurrency extends CommonObject * @param string $table facture or facture_fourn * @return double amount converted */ - public static function getAmountConversionFromInvoiceRate($fk_facture, $amount, $way='dolibarr', $table='facture') + public static function getAmountConversionFromInvoiceRate($fk_facture, $amount, $way = 'dolibarr', $table = 'facture') { global $db; @@ -577,7 +577,7 @@ class MultiCurrency extends CommonObject * @param string $table facture or facture_fourn * @return bool */ - public static function getInvoiceRate($fk_facture, $table='facture') + public static function getInvoiceRate($fk_facture, $table = 'facture') { global $db; diff --git a/htdocs/opensurvey/class/opensurveysondage.class.php b/htdocs/opensurvey/class/opensurveysondage.class.php index 807d550e35c..fa114b1e8ea 100644 --- a/htdocs/opensurvey/class/opensurveysondage.class.php +++ b/htdocs/opensurvey/class/opensurveysondage.class.php @@ -121,7 +121,7 @@ class Opensurveysondage extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create(User $user, $notrigger=0) + function create(User $user, $notrigger = 0) { $error=0; @@ -208,7 +208,7 @@ class Opensurveysondage extends CommonObject * @param string $numsurvey Ref of survey (admin or not) * @return int <0 if KO, >0 if OK */ - function fetch($id, $numsurvey='') + function fetch($id, $numsurvey = '') { $sql = "SELECT"; $sql.= " t.id_sondage,"; @@ -283,7 +283,7 @@ class Opensurveysondage extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update(User $user, $notrigger=0) + function update(User $user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -356,7 +356,7 @@ class Opensurveysondage extends CommonObject * @param string $numsondage Num sondage admin to delete * @return int <0 if KO, >0 if OK */ - function delete(User $user, $notrigger=0, $numsondage='') + function delete(User $user, $notrigger = 0, $numsondage = '') { global $conf, $langs; $error=0; @@ -424,7 +424,7 @@ class Opensurveysondage extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -637,7 +637,7 @@ class Opensurveysondage extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($status,$mode) + function LibStatut($status, $mode) { // phpcs:enable global $langs, $conf; diff --git a/htdocs/opensurvey/fonctions.php b/htdocs/opensurvey/fonctions.php index 3df5b37c88f..e0cce1ae150 100644 --- a/htdocs/opensurvey/fonctions.php +++ b/htdocs/opensurvey/fonctions.php @@ -69,7 +69,7 @@ function opensurvey_prepare_head(Opensurveysondage $object) * @param array $arrayofcss Array of complementary css files * @return void */ -function llxHeaderSurvey($title, $head="", $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='') +function llxHeaderSurvey($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '') { global $conf, $mysoc; diff --git a/htdocs/paybox/lib/paybox.lib.php b/htdocs/paybox/lib/paybox.lib.php index 849d8a7129c..5ccc09b6bc3 100644 --- a/htdocs/paybox/lib/paybox.lib.php +++ b/htdocs/paybox/lib/paybox.lib.php @@ -36,7 +36,7 @@ * @param string $TAG Full tag * @return int 1 if OK, -1 if ERROR */ -function print_paybox_redirect($PRICE,$CURRENCY,$EMAIL,$urlok,$urlko,$TAG) +function print_paybox_redirect($PRICE, $CURRENCY, $EMAIL, $urlok, $urlko, $TAG) { global $conf, $langs, $db; diff --git a/htdocs/paypal/lib/paypal.lib.php b/htdocs/paypal/lib/paypal.lib.php index 37cc2fdbeba..5dcf57dca66 100644 --- a/htdocs/paypal/lib/paypal.lib.php +++ b/htdocs/paypal/lib/paypal.lib.php @@ -62,7 +62,7 @@ function paypaladmin_prepare_head() * @param string $ref Ref of object * @return string Url string */ -function showPaypalPaymentUrl($type,$ref) +function showPaypalPaymentUrl($type, $ref) { global $conf, $langs; @@ -88,7 +88,7 @@ function showPaypalPaymentUrl($type,$ref) * @param string $freetag Free tag * @return string Url string */ -function getPaypalPaymentUrl($mode,$type,$ref='',$amount='9.99',$freetag='your_free_tag') +function getPaypalPaymentUrl($mode, $type, $ref = '', $amount = '9.99', $freetag = 'your_free_tag') { global $conf; @@ -194,7 +194,7 @@ function getPaypalPaymentUrl($mode,$type,$ref='',$amount='9.99',$freetag='your_f * @param string $tag Full tag * @return string No return (a redirect is done) if OK, or Error message if KO */ -function print_paypal_redirect($paymentAmount,$currencyCodeType,$paymentType,$returnURL,$cancelURL,$tag) +function print_paypal_redirect($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL, $tag) { //declaring of global variables global $conf, $langs; @@ -330,7 +330,7 @@ function print_paypal_redirect($paymentAmount,$currencyCodeType,$paymentType,$re * @param string $desc Description * @return array Array */ -function callSetExpressCheckout($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL, $tag, $solutionType, $landingPage, $shipToName, $shipToStreet, $shipToCity, $shipToState, $shipToCountryCode, $shipToZip, $shipToStreet2, $phoneNum, $email='', $desc='') +function callSetExpressCheckout($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL, $tag, $solutionType, $landingPage, $shipToName, $shipToStreet, $shipToCity, $shipToState, $shipToCountryCode, $shipToZip, $shipToStreet2, $phoneNum, $email = '', $desc = '') { //------------------------------------------------------------------------------------------------------------------------------------ // Construct the parameter string that describes the SetExpressCheckout API call in the shortcut implementation @@ -583,7 +583,7 @@ function DirectPayment($paymentType, $paymentAmount, $creditCardType, $creditCar * @param string $nvpStr is nvp string. * @return array returns an associtive array containing the response from the server. */ -function hash_call($methodName,$nvpStr) +function hash_call($methodName, $nvpStr) { //declaring of global variables global $conf, $langs; diff --git a/htdocs/product/canvas/product/actions_card_product.class.php b/htdocs/product/canvas/product/actions_card_product.class.php index cf9fcff98c8..897f9e98c6b 100644 --- a/htdocs/product/canvas/product/actions_card_product.class.php +++ b/htdocs/product/canvas/product/actions_card_product.class.php @@ -73,7 +73,7 @@ class ActionsCardProduct * @param string $ref Ref of object * @return void */ - function assign_values(&$action, $id=0, $ref='') + function assign_values(&$action, $id = 0, $ref = '') { // phpcs:enable global $limit, $offset, $sortfield, $sortorder; diff --git a/htdocs/product/canvas/service/actions_card_service.class.php b/htdocs/product/canvas/service/actions_card_service.class.php index 7ba746af06e..fefa1f4da1f 100644 --- a/htdocs/product/canvas/service/actions_card_service.class.php +++ b/htdocs/product/canvas/service/actions_card_service.class.php @@ -48,7 +48,7 @@ class ActionsCardService * @param string $canvas Name of canvas * @param string $card Name of tab (sub-canvas) */ - function __construct($db,$targetmodule,$canvas,$card) + function __construct($db, $targetmodule, $canvas, $card) { $this->db = $db; $this->targetmodule = $targetmodule; @@ -72,7 +72,7 @@ class ActionsCardService * @param string $ref Ref of object * @return void */ - function assign_values(&$action, $id=0, $ref='') + function assign_values(&$action, $id = 0, $ref = '') { // phpcs:enable global $limit, $offset, $sortfield, $sortorder; diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index afacbb158b5..c0e0b485d71 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -68,7 +68,7 @@ class Products extends DolibarrApi * @throws 403 * @throws 404 */ - function get($id, $ref='', $ref_ext='', $barcode='', $includestockdata=0) + function get($id, $ref = '', $ref_ext = '', $barcode = '', $includestockdata = 0) { if (empty($id) && empty($ref) && empty($ref_ext) && empty($barcode)) { throw new RestException(400, 'bad value for parameter id, ref, ref_ext or barcode'); diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php index 9a22c93d042..4ddda70c7c0 100644 --- a/htdocs/product/class/html.formproduct.class.php +++ b/htdocs/product/class/html.formproduct.class.php @@ -69,7 +69,7 @@ class FormProduct * @param array $exclude warehouses ids to exclude * @return int Nb of loaded lines, 0 if already loaded, <0 if KO */ - function loadWarehouses($fk_product=0, $batch = '', $status='', $sumStock = true, $exclude='') + function loadWarehouses($fk_product = 0, $batch = '', $status = '', $sumStock = true, $exclude = '') { global $conf, $langs; @@ -173,7 +173,7 @@ class FormProduct * @param String $final_label full label with all parents, separated by ' >> ' (completed on each call) * @return String full label with all parents, separated by ' >> ' */ - private function get_parent_path($tab, $final_label='') + private function get_parent_path($tab, $final_label = '') { //phpcs:enable if(empty($final_label)) $final_label = $tab['label']; @@ -210,7 +210,7 @@ class FormProduct * @param int $showfullpath 1=Show full path of name (parent ref into label), 0=Show only ref of current warehouse * @return string HTML select */ - function selectWarehouses($selected='',$htmlname='idwarehouse',$filterstatus='',$empty=0,$disabled=0,$fk_product=0,$empty_label='', $showstock=0, $forcecombo=0, $events=array(), $morecss='minwidth200', $exclude='', $showfullpath=1) + function selectWarehouses($selected = '', $htmlname = 'idwarehouse', $filterstatus = '', $empty = 0, $disabled = 0, $fk_product = 0, $empty_label = '', $showstock = 0, $forcecombo = 0, $events = array(), $morecss = 'minwidth200', $exclude = '', $showfullpath = 1) { global $conf,$langs,$user; @@ -255,7 +255,7 @@ class FormProduct * @param int $addempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. * @return void */ - function formSelectWarehouses($page, $selected='', $htmlname='warehouse_id', $addempty=0) + function formSelectWarehouses($page, $selected = '', $htmlname = 'warehouse_id', $addempty = 0) { global $langs; if ($htmlname != "none") { @@ -291,7 +291,7 @@ class FormProduct * @param int $adddefault Add empty unit called "Default" * @return void */ - function select_measuring_units($name='measuring_units', $measuring_style='', $default='0', $adddefault=0) + function select_measuring_units($name = 'measuring_units', $measuring_style = '', $default = '0', $adddefault = 0) { //phpcs:enable print $this->load_measuring_units($name, $measuring_style, $default, $adddefault); @@ -308,7 +308,7 @@ class FormProduct * @param int $adddefault Add empty unit called "Default" * @return string */ - function load_measuring_units($name='measuring_units', $measuring_style='', $default='0', $adddefault=0) + function load_measuring_units($name = 'measuring_units', $measuring_style = '', $default = '0', $adddefault = 0) { //phpcs:enable global $langs,$conf,$mysoc; @@ -358,7 +358,7 @@ class FormProduct * * @return string HTML select */ - function selectLotStock($selected='',$htmlname='batch_id',$filterstatus='',$empty=0,$disabled=0,$fk_product=0,$fk_entrepot=0,$objectLines = array(),$empty_label='', $forcecombo=0, $events=array(), $morecss='minwidth200') + function selectLotStock($selected = '', $htmlname = 'batch_id', $filterstatus = '', $empty = 0, $disabled = 0, $fk_product = 0, $fk_entrepot = 0, $objectLines = array(), $empty_label = '', $forcecombo = 0, $events = array(), $morecss = 'minwidth200') { global $langs; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index e299921488b..8eae7052a74 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -423,7 +423,7 @@ class Product extends CommonObject * @param int $notrigger Disable triggers * @return int Id of product/service if OK, < 0 if KO */ - function create($user,$notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; @@ -727,7 +727,7 @@ class Product extends CommonObject * -2 ErrorBarCodeRequired * -3 ErrorBarCodeAlreadyUsed */ - function check_barcode($valuetotest,$typefortest) + function check_barcode($valuetotest, $typefortest) { // phpcs:enable global $conf; @@ -764,7 +764,7 @@ class Product extends CommonObject * @param string $action Current action for hookmanager ('add' or 'update') * @return int 1 if OK, -1 if ref already exists, -2 if other error */ - function update($id, $user, $notrigger=false, $action='update') + function update($id, $user, $notrigger = false, $action = 'update') { global $langs, $conf, $hookmanager; @@ -1056,7 +1056,7 @@ class Product extends CommonObject * @param int $notrigger Do not execute trigger * @return int < 0 if KO, 0 = Not possible, > 0 if OK */ - function delete(User $user, $notrigger=0) + function delete(User $user, $notrigger = 0) { // Deprecation warning if ($id > 0) { @@ -1466,7 +1466,7 @@ class Product extends CommonObject * @param int $level price level to change * @return int <0 if KO, >0 if OK */ - function _log_price($user,$level=0) + function _log_price($user, $level = 0) { // phpcs:enable global $conf; @@ -1536,7 +1536,7 @@ class Product extends CommonObject * @return array Array of price information * @see get_buyprice() */ - function getSellPrice($thirdparty_seller, $thirdparty_buyer, $pqp=0) + function getSellPrice($thirdparty_seller, $thirdparty_buyer, $pqp = 0) { global $conf, $db; @@ -1648,7 +1648,7 @@ class Product extends CommonObject * @return int <-1 if KO, -1 if qty not enough, 0 if OK but nothing found, id_product if OK and found. May also initialize some properties like (->ref_supplier, buyprice, fourn_pu, vatrate_supplier...) * @see getSellPrice() */ - function get_buyprice($prodfournprice, $qty, $product_id=0, $fourn_ref='', $fk_soc=0) + function get_buyprice($prodfournprice, $qty, $product_id = 0, $fourn_ref = '', $fk_soc = 0) { // phpcs:enable global $conf; @@ -1798,7 +1798,7 @@ class Product extends CommonObject * @param string $newdefaultvatcode Default vat code * @return int <0 if KO, >0 if OK */ - function updatePrice($newprice, $newpricebase, $user, $newvat='',$newminprice=0, $level=0, $newnpr=0, $newpbq=0, $ignore_autogen=0, $localtaxes_array=array(), $newdefaultvatcode='') + function updatePrice($newprice, $newpricebase, $user, $newvat = '', $newminprice = 0, $level = 0, $newnpr = 0, $newpbq = 0, $ignore_autogen = 0, $localtaxes_array = array(), $newdefaultvatcode = '') { global $conf,$langs; @@ -1980,7 +1980,7 @@ class Product extends CommonObject * @param int $ignore_expression Ignores the math expression for calculating price and uses the db value instead * @return int <0 if KO, 0 if not found, >0 if OK */ - function fetch($id='', $ref='', $ref_ext='', $barcode='', $ignore_expression=0) + function fetch($id = '', $ref = '', $ref_ext = '', $barcode = '', $ignore_expression = 0) { include_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -2333,7 +2333,7 @@ class Product extends CommonObject * @param int $socid Id societe * @return array Tableau des stats */ - function load_stats_propale($socid=0) + function load_stats_propale($socid = 0) { // phpcs:enable global $conf; @@ -2380,7 +2380,7 @@ class Product extends CommonObject * @param int $socid Id thirdparty * @return array Tableau des stats */ - function load_stats_proposal_supplier($socid=0) + function load_stats_proposal_supplier($socid = 0) { // phpcs:enable global $conf; @@ -2429,7 +2429,7 @@ class Product extends CommonObject * @param int $forVirtualStock Ignore rights filter for virtual stock calculation. * @return array Array of stats (nb=nb of order, qty=qty ordered) */ - function load_stats_commande($socid=0,$filtrestatut='', $forVirtualStock = 0) + function load_stats_commande($socid = 0, $filtrestatut = '', $forVirtualStock = 0) { // phpcs:enable global $conf,$user; @@ -2524,7 +2524,7 @@ class Product extends CommonObject * @param int $forVirtualStock Ignore rights filter for virtual stock calculation. * @return array Tableau des stats */ - function load_stats_commande_fournisseur($socid=0,$filtrestatut='', $forVirtualStock = 0) + function load_stats_commande_fournisseur($socid = 0, $filtrestatut = '', $forVirtualStock = 0) { // phpcs:enable global $conf,$user; @@ -2572,7 +2572,7 @@ class Product extends CommonObject * @param int $forVirtualStock Ignore rights filter for virtual stock calculation. * @return array Tableau des stats */ - function load_stats_sending($socid=0,$filtrestatut='', $forVirtualStock = 0) + function load_stats_sending($socid = 0, $filtrestatut = '', $forVirtualStock = 0) { // phpcs:enable global $conf,$user; @@ -2624,7 +2624,7 @@ class Product extends CommonObject * @param int $forVirtualStock Ignore rights filter for virtual stock calculation. * @return array Tableau des stats */ - function load_stats_reception($socid=0,$filtrestatut='', $forVirtualStock = 0) + function load_stats_reception($socid = 0, $filtrestatut = '', $forVirtualStock = 0) { // phpcs:enable global $conf,$user; @@ -2670,7 +2670,7 @@ class Product extends CommonObject * @param int $socid Id societe * @return array Tableau des stats */ - function load_stats_contrat($socid=0) + function load_stats_contrat($socid = 0) { // phpcs:enable global $conf; @@ -2716,7 +2716,7 @@ class Product extends CommonObject * @param int $socid Id societe * @return array Tableau des stats */ - function load_stats_facture($socid=0) + function load_stats_facture($socid = 0) { // phpcs:enable global $conf; @@ -2762,7 +2762,7 @@ class Product extends CommonObject * @param int $socid Id societe * @return array Tableau des stats */ - function load_stats_facture_fournisseur($socid=0) + function load_stats_facture_fournisseur($socid = 0) { // phpcs:enable global $conf; @@ -2810,7 +2810,7 @@ class Product extends CommonObject * @param int $year Year (0=current year) * @return array <0 if KO, result[month]=array(valuex,valuey) where month is 0 to 11 */ - function _get_stats($sql, $mode, $year=0) + function _get_stats($sql, $mode, $year = 0) { // phpcs:enable $resql = $this->db->query($sql); @@ -2876,7 +2876,7 @@ class Product extends CommonObject * @param string $morefilter More sql filters * @return array <0 if KO, result[month]=array(valuex,valuey) where month is 0 to 11 */ - function get_nb_vente($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') + function get_nb_vente($socid, $mode, $filteronproducttype = -1, $year = 0, $morefilter = '') { // phpcs:enable global $conf; @@ -2921,7 +2921,7 @@ class Product extends CommonObject * @param string $morefilter More sql filters * @return array <0 if KO, result[month]=array(valuex,valuey) where month is 0 to 11 */ - function get_nb_achat($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') + function get_nb_achat($socid, $mode, $filteronproducttype = -1, $year = 0, $morefilter = '') { // phpcs:enable global $conf; @@ -2965,7 +2965,7 @@ class Product extends CommonObject * @param string $morefilter More sql filters * @return array <0 if KO, result[month]=array(valuex,valuey) where month is 0 to 11 */ - function get_nb_propal($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') + function get_nb_propal($socid, $mode, $filteronproducttype = -1, $year = 0, $morefilter = '') { // phpcs:enable global $conf; @@ -3009,7 +3009,7 @@ class Product extends CommonObject * @param string $morefilter More sql filters * @return array <0 if KO, result[month]=array(valuex,valuey) where month is 0 to 11 */ - function get_nb_propalsupplier($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') + function get_nb_propalsupplier($socid, $mode, $filteronproducttype = -1, $year = 0, $morefilter = '') { // phpcs:enable global $conf; @@ -3053,7 +3053,7 @@ class Product extends CommonObject * @param string $morefilter More sql filters * @return array <0 if KO, result[month]=array(valuex,valuey) where month is 0 to 11 */ - function get_nb_order($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') + function get_nb_order($socid, $mode, $filteronproducttype = -1, $year = 0, $morefilter = '') { // phpcs:enable global $conf, $user; @@ -3096,7 +3096,7 @@ class Product extends CommonObject * @param string $morefilter More sql filters * @return array <0 if KO, result[month]=array(valuex,valuey) where month is 0 to 11 */ - function get_nb_ordersupplier($socid, $mode, $filteronproducttype=-1, $year=0, $morefilter='') + function get_nb_ordersupplier($socid, $mode, $filteronproducttype = -1, $year = 0, $morefilter = '') { // phpcs:enable global $conf, $user; @@ -3138,7 +3138,7 @@ class Product extends CommonObject * @param int $incdec 1=Increase/decrease stock of child when parent stock increase/decrease * @return int < 0 if KO, > 0 if OK */ - function add_sousproduit($id_pere, $id_fils, $qty, $incdec=1) + function add_sousproduit($id_pere, $id_fils, $qty, $incdec = 1) { // phpcs:enable // Clean parameters @@ -3196,7 +3196,7 @@ class Product extends CommonObject * @param int $incdec 1=Increase/decrease stock of child when parent stock increase/decrease * @return int < 0 if KO, > 0 if OK */ - function update_sousproduit($id_pere, $id_fils, $qty, $incdec=1) + function update_sousproduit($id_pere, $id_fils, $qty, $incdec = 1) { // phpcs:enable // Clean parameters @@ -3543,7 +3543,7 @@ class Product extends CommonObject * @param int $id_parent Id parent * @return void */ - function fetch_prod_arbo($prod, $compl_path="", $multiply=1, $level=1, $id_parent=0) + function fetch_prod_arbo($prod, $compl_path = "", $multiply = 1, $level = 1, $id_parent = 0) { // phpcs:enable global $conf,$langs; @@ -3600,7 +3600,7 @@ class Product extends CommonObject * @param int $multiply Because each sublevel must be multiplicated by parent nb * @return array $this->res */ - function get_arbo_each_prod($multiply=1) + function get_arbo_each_prod($multiply = 1) { // phpcs:enable $this->res = array(); @@ -3735,7 +3735,7 @@ class Product extends CommonObject * @param int $level Level of recursing call (start to 1) * @return array Return array(prodid=>array(0=prodid, 1=>qty, 2=> ...) */ - public function getChildsArbo($id, $firstlevelonly=0, $level=1) + public function getChildsArbo($id, $firstlevelonly = 0, $level = 1) { global $alreadyfound; @@ -3823,7 +3823,7 @@ class Product extends CommonObject * @param int $notooltip No tooltip * @return string String with URL */ - public function getNomUrl($withpicto=0, $option='', $maxlength=0, $save_lastsearch_value=-1, $notooltip=0) + public function getNomUrl($withpicto = 0, $option = '', $maxlength = 0, $save_lastsearch_value = -1, $notooltip = 0) { global $conf, $langs, $hookmanager; include_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; @@ -3965,7 +3965,7 @@ class Product extends CommonObject * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf,$user,$langs; @@ -3994,7 +3994,7 @@ class Product extends CommonObject * @param int $type 0=Sell, 1=Buy, 2=Batch Number management * @return string Label of status */ - public function getLibStatut($mode=0, $type=0) + public function getLibStatut($mode = 0, $type = 0) { switch ($type) { @@ -4019,7 +4019,7 @@ class Product extends CommonObject * @param int $type 0=Status "to sell", 1=Status "to buy", 2=Status "to Batch" * @return string Label of status */ - function LibStatut($status,$mode=0,$type=0) + function LibStatut($status, $mode = 0, $type = 0) { // phpcs:enable global $conf, $langs; @@ -4122,7 +4122,7 @@ class Product extends CommonObject * @param int $origin_id Origin id of element * @return int <0 if KO, >0 if OK */ - function correct_stock($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $inventorycode='', $origin_element='', $origin_id=null) + function correct_stock($user, $id_entrepot, $nbpiece, $movement, $label = '', $price = 0, $inventorycode = '', $origin_element = '', $origin_id = null) { // phpcs:enable if ($id_entrepot) { @@ -4170,7 +4170,7 @@ class Product extends CommonObject * @param int $origin_id Origin id of element * @return int <0 if KO, >0 if OK */ - function correct_stock_batch($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $dlc='', $dluo='',$lot='', $inventorycode='', $origin_element='', $origin_id=null) + function correct_stock_batch($user, $id_entrepot, $nbpiece, $movement, $label = '', $price = 0, $dlc = '', $dluo = '', $lot = '', $inventorycode = '', $origin_element = '', $origin_id = null) { // phpcs:enable if ($id_entrepot) { @@ -4210,7 +4210,7 @@ class Product extends CommonObject * @return int < 0 if KO, > 0 if OK * @see load_virtual_stock(), loadBatchInfo() */ - function load_stock($option='') + function load_stock($option = '') { // phpcs:enable global $conf; @@ -4477,7 +4477,7 @@ class Product extends CommonObject * @param int $nbmax Nombre maximum de photos (0=pas de max) * @return array Tableau de photos */ - function liste_photos($dir,$nbmax=0) + function liste_photos($dir, $nbmax = 0) { // phpcs:enable include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -4648,7 +4648,7 @@ class Product extends CommonObject * @param string $type Barcode type (ean, isbn, ...) * @return void */ - function get_barcode($object,$type='') + function get_barcode($object, $type = '') { // phpcs:enable global $conf; @@ -4724,7 +4724,7 @@ class Product extends CommonObject * @param string $type Label type (long or short) * @return string|int <0 if ko, label if ok */ - function getLabelOfUnit($type='long') + function getLabelOfUnit($type = 'long') { global $langs; diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index d16c6ccc6ec..5dd1fbbb0d4 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -70,7 +70,7 @@ class Productbatch extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -201,7 +201,7 @@ class Productbatch extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -271,7 +271,7 @@ class Productbatch extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -420,7 +420,7 @@ class Productbatch extends CommonObject * @param string $batch_number batch number for object * @return int <0 if KO, >0 if OK */ - function find($fk_product_stock=0, $eatby='',$sellby='',$batch_number='') + function find($fk_product_stock = 0, $eatby = '', $sellby = '', $batch_number = '') { global $langs; $where = array(); @@ -480,7 +480,7 @@ class Productbatch extends CommonObject * @param int $fk_product If set to a product id, get eatby and sellby from table llx_product_lot * @return array <0 if KO, array of batch */ - public static function findAll($db, $fk_product_stock, $with_qty=0, $fk_product=0) + public static function findAll($db, $fk_product_stock, $with_qty = 0, $fk_product = 0) { global $langs; $ret = array(); diff --git a/htdocs/product/class/propalmergepdfproduct.class.php b/htdocs/product/class/propalmergepdfproduct.class.php index 3aeae37249c..f487a909b82 100644 --- a/htdocs/product/class/propalmergepdfproduct.class.php +++ b/htdocs/product/class/propalmergepdfproduct.class.php @@ -72,7 +72,7 @@ class Propalmergepdfproduct extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -228,7 +228,7 @@ class Propalmergepdfproduct extends CommonObject * @param string $lang Lang string code * @return int <0 if KO, >0 if OK */ - function fetch_by_product($product_id, $lang='') + function fetch_by_product($product_id, $lang = '') { // phpcs:enable global $langs,$conf; @@ -303,7 +303,7 @@ class Propalmergepdfproduct extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=0, $notrigger=0) + function update($user = 0, $notrigger = 0) { global $conf, $langs; $error=0; @@ -379,7 +379,7 @@ class Propalmergepdfproduct extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; $error=0; @@ -440,7 +440,7 @@ class Propalmergepdfproduct extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete_by_product($user, $product_id, $lang_id='', $notrigger=0) + function delete_by_product($user, $product_id, $lang_id = '', $notrigger = 0) { // phpcs:enable global $conf, $langs; diff --git a/htdocs/product/dynamic_price/class/price_expression.class.php b/htdocs/product/dynamic_price/class/price_expression.class.php index 6b73b413522..f02aa4a1fd1 100644 --- a/htdocs/product/dynamic_price/class/price_expression.class.php +++ b/htdocs/product/dynamic_price/class/price_expression.class.php @@ -75,7 +75,7 @@ class PriceExpression * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { $error=0; @@ -257,7 +257,7 @@ class PriceExpression * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=0, $notrigger=0) + function update($user = 0, $notrigger = 0) { $error=0; @@ -317,7 +317,7 @@ class PriceExpression * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete(User $user, $notrigger=0) + function delete(User $user, $notrigger = 0) { $error=0; diff --git a/htdocs/product/dynamic_price/class/price_global_variable.class.php b/htdocs/product/dynamic_price/class/price_global_variable.class.php index 4cd900979ab..f93b0f3d708 100644 --- a/htdocs/product/dynamic_price/class/price_global_variable.class.php +++ b/htdocs/product/dynamic_price/class/price_global_variable.class.php @@ -81,7 +81,7 @@ class PriceGlobalVariable * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { $error=0; @@ -182,7 +182,7 @@ class PriceGlobalVariable * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=0, $notrigger=0) + function update($user = 0, $notrigger = 0) { $error=0; @@ -242,7 +242,7 @@ class PriceGlobalVariable * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($rowid, $user, $notrigger=0) + function delete($rowid, $user, $notrigger = 0) { $error=0; diff --git a/htdocs/product/dynamic_price/class/price_global_variable_updater.class.php b/htdocs/product/dynamic_price/class/price_global_variable_updater.class.php index c4dda3481bb..bf770ed97bf 100644 --- a/htdocs/product/dynamic_price/class/price_global_variable_updater.class.php +++ b/htdocs/product/dynamic_price/class/price_global_variable_updater.class.php @@ -93,7 +93,7 @@ class PriceGlobalVariableUpdater * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { $error=0; @@ -202,7 +202,7 @@ class PriceGlobalVariableUpdater * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=0, $notrigger=0) + function update($user = 0, $notrigger = 0) { $error=0; @@ -265,7 +265,7 @@ class PriceGlobalVariableUpdater * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($rowid, $user, $notrigger=0) + function delete($rowid, $user, $notrigger = 0) { $error=0; @@ -569,7 +569,7 @@ class PriceGlobalVariableUpdater * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update_next_update($next_update, $user=0, $notrigger=0) + function update_next_update($next_update, $user = 0, $notrigger = 0) { // phpcs:enable $error=0; @@ -615,7 +615,7 @@ class PriceGlobalVariableUpdater * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update_status($last_status, $user=0, $notrigger=0) + function update_status($last_status, $user = 0, $notrigger = 0) { // phpcs:enable $error=0; diff --git a/htdocs/product/inventory/class/inventory.class.php b/htdocs/product/inventory/class/inventory.class.php index 076e3392bc0..691d08ec970 100644 --- a/htdocs/product/inventory/class/inventory.class.php +++ b/htdocs/product/inventory/class/inventory.class.php @@ -321,7 +321,7 @@ class Inventory extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -370,7 +370,7 @@ class Inventory extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -383,7 +383,7 @@ class Inventory extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 5=Long label + Picto, 6=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/product/inventory/lib/inventory.lib.php b/htdocs/product/inventory/lib/inventory.lib.php index d6230e4f3e7..175c772cb61 100644 --- a/htdocs/product/inventory/lib/inventory.lib.php +++ b/htdocs/product/inventory/lib/inventory.lib.php @@ -64,7 +64,7 @@ function inventoryAdminPrepareHead() * * @return array Array of head */ -function inventoryPrepareHead(&$inventory, $title='Inventory', $get='') +function inventoryPrepareHead(&$inventory, $title = 'Inventory', $get = '') { global $langs; diff --git a/htdocs/product/stock/class/entrepot.class.php b/htdocs/product/stock/class/entrepot.class.php index 9bc0fd8477f..454f7870bcf 100644 --- a/htdocs/product/stock/class/entrepot.class.php +++ b/htdocs/product/stock/class/entrepot.class.php @@ -252,7 +252,7 @@ class Entrepot extends CommonObject * @param int $notrigger 1=No trigger * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { $this->db->begin(); @@ -323,7 +323,7 @@ class Entrepot extends CommonObject * @param string $ref Warehouse label * @return int >0 if OK, <0 if KO */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { global $conf; @@ -434,7 +434,7 @@ class Entrepot extends CommonObject * @param int $status Status * @return array Array list of warehouses */ - function list_array($status=1) + function list_array($status = 1) { // phpcs:enable $liste = array(); @@ -535,7 +535,7 @@ class Entrepot extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -548,7 +548,7 @@ class Entrepot extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label of status */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -599,7 +599,7 @@ class Entrepot extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string String with URL */ - function getNomUrl($withpicto=0, $option='',$showfullpath=0, $notooltip=0) + function getNomUrl($withpicto = 0, $option = '', $showfullpath = 0, $notooltip = 0) { global $conf, $langs; $langs->load("stocks"); @@ -747,7 +747,7 @@ class Entrepot extends CommonObject * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs='',$hidedetails=0,$hidedesc=0,$hideref=0) + public function generateDocument($modele, $outputlangs = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf,$user,$langs; diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index e19df0aaa1a..82fc8cb7561 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -111,7 +111,7 @@ class MouvementStock extends CommonObject * @param int $id_product_batch Id product_batch (when skip_batch is false and we already know which record of product_batch to use) * @return int <0 if KO, 0 if fk_product is null, >0 if OK */ - function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $inventorycode='', $datem='',$eatby='',$sellby='',$batch='',$skip_batch=false, $id_product_batch=0) + function _create($user, $fk_product, $entrepot_id, $qty, $type, $price = 0, $label = '', $inventorycode = '', $datem = '', $eatby = '', $sellby = '', $batch = '', $skip_batch = false, $id_product_batch = 0) { global $conf, $langs; @@ -640,7 +640,7 @@ class MouvementStock extends CommonObject * @param string $inventorycode Inventory code * @return int <0 if KO, 0 if OK */ - function _createSubProduct($user, $idProduct, $entrepot_id, $qty, $type, $price=0, $label='', $inventorycode='') + function _createSubProduct($user, $idProduct, $entrepot_id, $qty, $type, $price = 0, $label = '', $inventorycode = '') { global $langs; @@ -712,7 +712,7 @@ class MouvementStock extends CommonObject * @param int $id_product_batch Id product_batch * @return int <0 if KO, >0 if OK */ - function livraison($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $datem='', $eatby='', $sellby='', $batch='', $id_product_batch=0) + function livraison($user, $fk_product, $entrepot_id, $qty, $price = 0, $label = '', $datem = '', $eatby = '', $sellby = '', $batch = '', $id_product_batch = 0) { global $conf; @@ -735,7 +735,7 @@ class MouvementStock extends CommonObject * @param string $batch batch number * @return int <0 if KO, >0 if OK */ - function reception($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $eatby='', $sellby='', $batch='') + function reception($user, $fk_product, $entrepot_id, $qty, $price = 0, $label = '', $eatby = '', $sellby = '', $batch = '') { return $this->_create($user, $fk_product, $entrepot_id, $qty, 3, $price, $label, '', '', $eatby, $sellby, $batch); } @@ -994,7 +994,7 @@ class MouvementStock extends CommonObject * @param string $morecss Add more css on link * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='') + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $maxlen = 24, $morecss = '') { global $langs, $conf, $db; @@ -1027,7 +1027,7 @@ class MouvementStock extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($mode); } @@ -1039,7 +1039,7 @@ class MouvementStock extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($mode=0) + function LibStatut($mode = 0) { // phpcs:enable global $langs; @@ -1076,7 +1076,7 @@ class MouvementStock extends CommonObject * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs='',$hidedetails=0,$hidedesc=0,$hideref=0) + public function generateDocument($modele, $outputlangs = '', $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf,$user,$langs; diff --git a/htdocs/product/stock/class/productlot.class.php b/htdocs/product/stock/class/productlot.class.php index 60ce7bc02d2..287a8f9f1d6 100644 --- a/htdocs/product/stock/class/productlot.class.php +++ b/htdocs/product/stock/class/productlot.class.php @@ -485,7 +485,7 @@ class Productlot extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut(0,$mode); } @@ -498,7 +498,7 @@ class Productlot extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label of status */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -521,7 +521,7 @@ class Productlot extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $maxlen = 24, $morecss = '', $save_lastsearch_value = -1) { global $langs, $conf, $db; global $dolibarr_main_authentication, $dolibarr_main_demo; diff --git a/htdocs/product/stock/class/productstockentrepot.class.php b/htdocs/product/stock/class/productstockentrepot.class.php index c5c66ad8d50..9acf70a3bed 100644 --- a/htdocs/product/stock/class/productstockentrepot.class.php +++ b/htdocs/product/stock/class/productstockentrepot.class.php @@ -166,7 +166,7 @@ class ProductStockEntrepot extends CommonObject * @param int $fk_entrepot Id warehouse * @return int <0 if KO, 0 if not found, >0 if OK */ - public function fetch($id, $fk_product=0, $fk_entrepot=0) + public function fetch($id, $fk_product = 0, $fk_entrepot = 0) { if(empty($id) && (empty($fk_product) || empty($fk_entrepot))) return -1; @@ -237,7 +237,7 @@ class ProductStockEntrepot extends CommonObject * * @return int <0 if KO, >0 if OK */ - public function fetchAll($fk_product='', $fk_entrepot='', $sortorder='', $sortfield='', $limit=0, $offset=0, array $filter = array(), $filtermode='AND') + public function fetchAll($fk_product = '', $fk_entrepot = '', $sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') { dol_syslog(__METHOD__, LOG_DEBUG); @@ -478,7 +478,7 @@ class ProductStockEntrepot extends CommonObject * @param string $morecss Add more css on link * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='') + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $maxlen = 24, $morecss = '') { global $langs, $conf, $db; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -512,7 +512,7 @@ class ProductStockEntrepot extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -525,7 +525,7 @@ class ProductStockEntrepot extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/projet/class/api_projects.class.php b/htdocs/projet/class/api_projects.class.php index a1f2ce6d26c..3afccd3c129 100644 --- a/htdocs/projet/class/api_projects.class.php +++ b/htdocs/projet/class/api_projects.class.php @@ -215,7 +215,7 @@ class Projects extends DolibarrApi * * @url GET {id}/tasks */ - function getLines($id, $includetimespent=0) + function getLines($id, $includetimespent = 0) { if(! DolibarrApiAccess::$user->rights->projet->lire) { throw new RestException(401); @@ -258,7 +258,7 @@ class Projects extends DolibarrApi * * @return int */ - function getRoles($id, $userid=0) + function getRoles($id, $userid = 0) { global $db; @@ -503,7 +503,7 @@ class Projects extends DolibarrApi * "notrigger": 0 * } */ - function validate($id, $notrigger=0) + function validate($id, $notrigger = 0) { if(! DolibarrApiAccess::$user->rights->projet->creer) { throw new RestException(401); diff --git a/htdocs/projet/class/api_tasks.class.php b/htdocs/projet/class/api_tasks.class.php index 050e7313e95..e64c9fed7a1 100644 --- a/htdocs/projet/class/api_tasks.class.php +++ b/htdocs/projet/class/api_tasks.class.php @@ -64,7 +64,7 @@ class Tasks extends DolibarrApi * * @throws RestException */ - function get($id, $includetimespent=0) + function get($id, $includetimespent = 0) { if(! DolibarrApiAccess::$user->rights->projet->lire) { throw new RestException(401); @@ -265,7 +265,7 @@ class Tasks extends DolibarrApi * * @return int */ - function getRoles($id, $userid=0) + function getRoles($id, $userid = 0) { global $db; @@ -505,7 +505,7 @@ class Tasks extends DolibarrApi * * @return array */ - function addTimeSpent($id, $date, $duration, $user_id=0, $note='') + function addTimeSpent($id, $date, $duration, $user_id = 0, $note = '') { diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 6cb54cfb572..454ccf446e0 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -170,7 +170,7 @@ class Project extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, id of created project if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; @@ -299,7 +299,7 @@ class Project extends CommonObject * @param int $notrigger 1=Disable all triggers * @return int <=0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { global $langs, $conf; @@ -431,7 +431,7 @@ class Project extends CommonObject * @param string $ref Ref of project * @return int >0 if OK, 0 if not found, <0 if KO */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { global $conf; @@ -515,7 +515,7 @@ class Project extends CommonObject * @param int $socid To filter on a particular third party * @return array List of projects */ - function liste_array($socid='') + function liste_array($socid = '') { // phpcs:enable global $conf; @@ -563,7 +563,7 @@ class Project extends CommonObject * @param string $projectkey Equivalent key to fk_projet for actual type * @return mixed Array list of object ids linked to project, < 0 or string if error */ - function get_element_list($type, $tablename, $datefieldname='', $dates='', $datee='', $projectkey='fk_projet') + function get_element_list($type, $tablename, $datefieldname = '', $dates = '', $datee = '', $projectkey = 'fk_projet') { // phpcs:enable $elements = array(); @@ -647,7 +647,7 @@ class Project extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, 0 if not possible, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $langs, $conf; require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; @@ -811,7 +811,7 @@ class Project extends CommonObject * @param int $notrigger 1=Disable triggers * @return int <0 if KO, >0 if OK */ - function setValid($user, $notrigger=0) + function setValid($user, $notrigger = 0) { global $langs, $conf; @@ -937,7 +937,7 @@ class Project extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut, $mode); } @@ -950,7 +950,7 @@ class Project extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function LibStatut($statut, $mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -1013,7 +1013,7 @@ class Project extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $addlabel=0, $moreinpopup='', $sep=' - ', $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $addlabel = 0, $moreinpopup = '', $sep = ' - ', $notooltip = 0, $save_lastsearch_value = -1) { global $conf, $langs, $user, $hookmanager; @@ -1147,7 +1147,7 @@ class Project extends CommonObject * @param string $mode Type of permission we want to know: 'read', 'write' * @return int >0 if user has permission, <0 if user has no permission */ - function restrictedProjectArea($user, $mode='read') + function restrictedProjectArea($user, $mode = 'read') { // To verify role of users $userAccess = 0; @@ -1200,7 +1200,7 @@ class Project extends CommonObject * @param string $filter additionnal filter on project (statut, ref, ...) * @return array or string Array of projects id, or string with projects id separated with "," if list is 1 */ - function getProjectsAuthorizedForUser($user, $mode=0, $list=0, $socid=0, $filter='') + function getProjectsAuthorizedForUser($user, $mode = 0, $list = 0, $socid = 0, $filter = '') { $projects = array(); $temp = array(); @@ -1300,7 +1300,7 @@ class Project extends CommonObject * @param int $newthirdpartyid New thirdparty id * @return int New id of clone */ - function createFromClone($fromid,$clone_contact=false,$clone_task=true,$clone_project_file=false,$clone_task_file=false,$clone_note=true,$move_date=true,$notrigger=0,$newthirdpartyid=0) + function createFromClone($fromid, $clone_contact = false, $clone_task = true, $clone_project_file = false, $clone_task_file = false, $clone_note = true, $move_date = true, $notrigger = 0, $newthirdpartyid = 0) { global $user,$langs,$conf; @@ -1693,7 +1693,7 @@ class Project extends CommonObject * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf,$langs; @@ -1725,7 +1725,7 @@ class Project extends CommonObject * @param int $userid Time spent by a particular user * @return int <0 if OK, >0 if KO */ - public function loadTimeSpent($datestart, $taskid=0, $userid=0) + public function loadTimeSpent($datestart, $taskid = 0, $userid = 0) { $error=0; diff --git a/htdocs/projet/class/projectstats.class.php b/htdocs/projet/class/projectstats.class.php index ae30ac43dae..5f771574dc7 100644 --- a/htdocs/projet/class/projectstats.class.php +++ b/htdocs/projet/class/projectstats.class.php @@ -193,7 +193,7 @@ class ProjectStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; @@ -222,7 +222,7 @@ class ProjectStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with amount by month */ - function getAmountByMonth($year, $format=0) + function getAmountByMonth($year, $format = 0) { global $user; @@ -253,7 +253,7 @@ class ProjectStats extends Stats * @param int $wonlostfilter Add a filter on status won/lost * @return array Array of values */ - function getWeightedAmountByMonthWithPrevYear($endyear,$startyear,$cachedelay=0,$wonlostfilter=1) + function getWeightedAmountByMonthWithPrevYear($endyear, $startyear, $cachedelay = 0, $wonlostfilter = 1) { global $conf,$user,$langs; @@ -346,7 +346,7 @@ class ProjectStats extends Stats * @param int $wonlostfilter Add a filter on status won/lost * @return array Array with amount by month */ - function getWeightedAmountByMonth($year, $wonlostfilter=1) + function getWeightedAmountByMonth($year, $wonlostfilter = 1) { global $user; @@ -456,7 +456,7 @@ class ProjectStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array with amount by month */ - function getTransformRateByMonth($year, $format=0) + function getTransformRateByMonth($year, $format = 0) { global $user; diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index 49e0c34a0dc..b7fd084e2fd 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -132,7 +132,7 @@ class Task extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs; @@ -231,7 +231,7 @@ class Task extends CommonObject * @param int $loadparentdata Also load parent data * @return int <0 if KO, 0 if not found, >0 if OK */ - function fetch($id, $ref='', $loadparentdata=0) + function fetch($id, $ref = '', $loadparentdata = 0) { global $langs, $conf; @@ -333,7 +333,7 @@ class Task extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <=0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs; $error=0; @@ -444,7 +444,7 @@ class Task extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf, $langs; @@ -643,7 +643,7 @@ class Task extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string Chaine avec URL */ - function getNomUrl($withpicto=0,$option='',$mode='task', $addlabel=0, $sep=' - ', $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $mode = 'task', $addlabel = 0, $sep = ' - ', $notooltip = 0, $save_lastsearch_value = -1) { global $conf, $langs, $user; @@ -731,7 +731,7 @@ class Task extends CommonObject * @param string $filterontaskuser Filter on user assigned to task * @return array Array of tasks */ - function getTasksArray($usert=null, $userp=null, $projectid=0, $socid=0, $mode=0, $filteronproj='', $filteronprojstatus='-1', $morewherefilter='',$filteronprojuser=0,$filterontaskuser=0) + function getTasksArray($usert = null, $userp = null, $projectid = 0, $socid = 0, $mode = 0, $filteronproj = '', $filteronprojstatus = '-1', $morewherefilter = '', $filteronprojuser = 0, $filterontaskuser = 0) { global $conf; @@ -890,7 +890,7 @@ class Task extends CommonObject * @param integer $filteronprojstatus Filter on project status if userp is set. Not used if userp not defined. * @return array Array (projectid => 'list of roles for project' or taskid => 'list of roles for task') */ - function getUserRolesForProjectsOrTasks($userp, $usert, $projectid='', $taskid=0, $filteronprojstatus=-1) + function getUserRolesForProjectsOrTasks($userp, $usert, $projectid = '', $taskid = 0, $filteronprojstatus = -1) { $arrayroles = array(); @@ -967,7 +967,7 @@ class Task extends CommonObject * @param string $source Source * @return array Array of id of contacts */ - function getListContactId($source='internal') + function getListContactId($source = 'internal') { $contactAlreadySelected = array(); $tab = $this->liste_contact(-1,$source); @@ -991,7 +991,7 @@ class Task extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <=0 if KO, >0 if OK */ - function addTimeSpent($user, $notrigger=0) + function addTimeSpent($user, $notrigger = 0) { global $conf,$langs; @@ -1096,7 +1096,7 @@ class Task extends CommonObject * @param string $morewherefilter Add more filter into where SQL request (must start with ' AND ...') * @return array Array of info for task array('min_date', 'max_date', 'total_duration', 'total_amount', 'nblines', 'nblinesnull') */ - function getSummaryOfTimeSpent($userobj=null, $morewherefilter='') + function getSummaryOfTimeSpent($userobj = null, $morewherefilter = '') { global $langs; @@ -1159,7 +1159,7 @@ class Task extends CommonObject * @param string $datee End date (ex 23:59:59) * @return array Array of info for task array('amount','nbseconds','nblinesnull') */ - function getSumOfAmount($fuser='', $dates='', $datee='') + function getSumOfAmount($fuser = '', $dates = '', $datee = '') { global $langs; @@ -1266,7 +1266,7 @@ class Task extends CommonObject * @param string $morewherefilter Add more filter into where SQL request (must start with ' AND ...') * @return int <0 if KO, array of time spent if OK */ - function fetchAllTimeSpent(User $userobj, $morewherefilter='') + function fetchAllTimeSpent(User $userobj, $morewherefilter = '') { global $langs; @@ -1356,7 +1356,7 @@ class Task extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function updateTimeSpent($user, $notrigger=0) + function updateTimeSpent($user, $notrigger = 0) { global $conf,$langs; @@ -1441,7 +1441,7 @@ class Task extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function delTimeSpent($user, $notrigger=0) + function delTimeSpent($user, $notrigger = 0) { global $conf, $langs; @@ -1516,7 +1516,7 @@ class Task extends CommonObject * @param bool $clone_prog clone progress of project * @return int New id of clone */ - function createFromClone($fromid,$project_id,$parent_task_id,$clone_change_dt=false,$clone_affectation=false,$clone_time=false,$clone_file=false,$clone_note=false,$clone_prog=false) + function createFromClone($fromid, $project_id, $parent_task_id, $clone_change_dt = false, $clone_affectation = false, $clone_time = false, $clone_file = false, $clone_note = false, $clone_prog = false) { global $user,$langs,$conf; @@ -1743,7 +1743,7 @@ class Task extends CommonObject * @param integer $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->fk_statut, $mode); } @@ -1756,7 +1756,7 @@ class Task extends CommonObject * @param integer $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function LibStatut($statut, $mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable // list of Statut of the task @@ -1844,7 +1844,7 @@ class Task extends CommonObject * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf,$langs; diff --git a/htdocs/projet/class/taskstats.class.php b/htdocs/projet/class/taskstats.class.php index 4164c1427b6..c71a2ea0746 100644 --- a/htdocs/projet/class/taskstats.class.php +++ b/htdocs/projet/class/taskstats.class.php @@ -166,7 +166,7 @@ class TaskStats extends Stats * @param int $format 0=Label of absiss is a translated text, 1=Label of absiss is month number, 2=Label of absiss is first letter of month * @return array Array of values */ - function getNbByMonth($year, $format=0) + function getNbByMonth($year, $format = 0) { global $user; diff --git a/htdocs/projet/ganttchart.inc.php b/htdocs/projet/ganttchart.inc.php index dc76e098b59..c1c38e1ae66 100644 --- a/htdocs/projet/ganttchart.inc.php +++ b/htdocs/projet/ganttchart.inc.php @@ -168,7 +168,7 @@ else * @param int $project_id Id of project * @return void */ -function constructGanttLine($tarr, $task, $task_dependencies, $level=0, $project_id=null) +function constructGanttLine($tarr, $task, $task_dependencies, $level = 0, $project_id = null) { global $langs; global $dateformatinput2; diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php index 79485ee9820..669c64877ba 100644 --- a/htdocs/public/members/new.php +++ b/htdocs/public/members/new.php @@ -91,7 +91,7 @@ $user->loadDefaultValues(); * @param array $arrayofcss Array of complementary css files * @return void */ -function llxHeaderVierge($title, $head="", $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='') +function llxHeaderVierge($title, $head = "", $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '') { global $user, $conf, $langs, $mysoc; diff --git a/htdocs/reception/class/reception.class.php b/htdocs/reception/class/reception.class.php index 4cddbb1134e..8f3c45b3128 100644 --- a/htdocs/reception/class/reception.class.php +++ b/htdocs/reception/class/reception.class.php @@ -176,7 +176,7 @@ class Reception extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 si erreur, id reception creee si ok */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $hookmanager; @@ -358,7 +358,7 @@ class Reception extends CommonObject * @param string $ref_int Internal reference of other object * @return int >0 if OK, 0 if not found, <0 if KO */ - function fetch($id, $ref='', $ref_ext='', $ref_int='') + function fetch($id, $ref = '', $ref_ext = '', $ref_int = '') { global $conf; @@ -488,7 +488,7 @@ class Reception extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if OK, >0 if KO */ - function valid($user, $notrigger=0) + function valid($user, $notrigger = 0) { global $conf, $langs; @@ -712,7 +712,7 @@ class Reception extends CommonObject * @param string $batch Lot number * @return int <0 if KO, >0 if OK */ - function addline($entrepot_id, $id, $qty, $array_options=0, $comment='', $eatby='', $sellby='', $batch='') + function addline($entrepot_id, $id, $qty, $array_options = 0, $comment = '', $eatby = '', $sellby = '', $batch = '') { global $conf, $langs, $user; @@ -763,7 +763,7 @@ class Reception extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf; $error=0; @@ -1082,7 +1082,7 @@ class Reception extends CommonObject * @param int $notooltip 1=No tooltip * @return string String with URL */ - function getNomUrl($withpicto=0,$option=0,$max=0,$short=0,$notooltip=0) + function getNomUrl($withpicto = 0, $option = 0, $max = 0, $short = 0, $notooltip = 0) { global $langs; $result=''; @@ -1123,7 +1123,7 @@ class Reception extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Long label, 5=Short label + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -1136,7 +1136,7 @@ class Reception extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Long label, 5=Short label + Picto * @return string Label of status */ - function LibStatut($statut,$mode) + function LibStatut($statut, $mode) { // phpcs:enable global $langs; @@ -1322,7 +1322,7 @@ class Reception extends CommonObject * @param int $id only this carrier, all if none * @return void */ - function list_delivery_methods($id='') + function list_delivery_methods($id = '') { // phpcs:enable global $langs; @@ -1359,7 +1359,7 @@ class Reception extends CommonObject * * @return void */ - function update_delivery_method($id='') + function update_delivery_method($id = '') { // phpcs:enable if ($id=='') @@ -1422,7 +1422,7 @@ class Reception extends CommonObject * @param string $value Value * @return void */ - function getUrlTrackingStatus($value='') + function getUrlTrackingStatus($value = '') { if (! empty($this->shipping_method_id)) { @@ -1935,7 +1935,7 @@ class Reception extends CommonObject * @param int $hideref Hide ref * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs,$hidedetails=0, $hidedesc=0, $hideref=0) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0) { global $conf,$langs; diff --git a/htdocs/reception/class/receptionstats.class.php b/htdocs/reception/class/receptionstats.class.php index 3f60a9846fb..9a25d5944d1 100644 --- a/htdocs/reception/class/receptionstats.class.php +++ b/htdocs/reception/class/receptionstats.class.php @@ -52,7 +52,7 @@ class ReceptionStats extends Stats * @param string $mode Option (not used) * @param int $userid Id user for filter (creation user) */ - function __construct($db, $socid, $mode, $userid=0) + function __construct($db, $socid, $mode, $userid = 0) { global $user, $conf; diff --git a/htdocs/resource/class/dolresource.class.php b/htdocs/resource/class/dolresource.class.php index ec184cd856d..6cc403b9ade 100644 --- a/htdocs/resource/class/dolresource.class.php +++ b/htdocs/resource/class/dolresource.class.php @@ -77,7 +77,7 @@ class Dolresource extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, Id of created object if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf, $langs, $hookmanager; $error=0; @@ -181,7 +181,7 @@ class Dolresource extends CommonObject * @param string $ref Ref of object * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='') + function fetch($id, $ref = '') { global $langs; $sql = "SELECT"; @@ -242,7 +242,7 @@ class Dolresource extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user=null, $notrigger=0) + function update($user = null, $notrigger = 0) { global $conf, $langs, $hookmanager; $error=0; @@ -405,7 +405,7 @@ class Dolresource extends CommonObject * @param int $notrigger Disable all triggers * @return int >0 if OK, <0 if KO */ - function delete($rowid, $notrigger=0) + function delete($rowid, $notrigger = 0) { global $user,$langs,$conf; @@ -495,7 +495,7 @@ class Dolresource extends CommonObject * @param array $filter filter output * @return int <0 if KO, >0 if OK */ - function fetch_all($sortorder, $sortfield, $limit, $offset, $filter='') + function fetch_all($sortorder, $sortfield, $limit, $offset, $filter = '') { // phpcs:enable global $conf; @@ -592,7 +592,7 @@ class Dolresource extends CommonObject * @param array $filter filter output * @return int <0 if KO, >0 if OK */ - function fetch_all_resources($sortorder, $sortfield, $limit, $offset, $filter='') + function fetch_all_resources($sortorder, $sortfield, $limit, $offset, $filter = '') { // phpcs:enable global $conf; @@ -670,7 +670,7 @@ class Dolresource extends CommonObject * @param array $filter filter output * @return int <0 if KO, >0 if OK */ - function fetch_all_used($sortorder, $sortfield, $limit, $offset=1, $filter='') + function fetch_all_used($sortorder, $sortfield, $limit, $offset = 1, $filter = '') { // phpcs:enable global $conf; @@ -769,7 +769,7 @@ class Dolresource extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update_element_resource($user=null, $notrigger=0) + function update_element_resource($user = null, $notrigger = 0) { // phpcs:enable global $conf, $langs; @@ -839,7 +839,7 @@ class Dolresource extends CommonObject * @param string $resource_type Type * @return array Aray of resources */ - function getElementResources($element,$element_id,$resource_type='') + function getElementResources($element, $element_id, $resource_type = '') { // Links beetween objects are stored in this table $sql = 'SELECT rowid, resource_id, resource_type, busy, mandatory'; @@ -878,7 +878,7 @@ class Dolresource extends CommonObject * * @return int */ - function fetchElementResources($element,$element_id) + function fetchElementResources($element, $element_id) { $resources = $this->getElementResources($element,$element_id); $i=0; @@ -941,7 +941,7 @@ class Dolresource extends CommonObject * @param int $notooltip 1=Disable tooltip * @return string String with URL */ - function getNomUrl($withpicto=0,$option='', $get_params='', $notooltip=0) + function getNomUrl($withpicto = 0, $option = '', $get_params = '', $notooltip = 0) { global $langs; @@ -973,7 +973,7 @@ class Dolresource extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -986,7 +986,7 @@ class Dolresource extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 5=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/resource/class/html.formresource.class.php b/htdocs/resource/class/html.formresource.class.php index c118643aa7d..6d641aedce7 100644 --- a/htdocs/resource/class/html.formresource.class.php +++ b/htdocs/resource/class/html.formresource.class.php @@ -75,7 +75,7 @@ class FormResource * @param int $limit Limit number of answers * @return string HTML string with */ - function select_resource_list($selected='',$htmlname='fk_resource',$filter='',$showempty=0, $showtype=0, $forcecombo=0, $event=array(), $filterkey='', $outputmode=0, $limit=20) + function select_resource_list($selected = '', $htmlname = 'fk_resource', $filter = '', $showempty = 0, $showtype = 0, $forcecombo = 0, $event = array(), $filterkey = '', $outputmode = 0, $limit = 20) { // phpcs:enable global $conf,$user,$langs; @@ -168,7 +168,7 @@ class FormResource * @param int $maxlength Max length of label * @return void */ - function select_types_resource($selected='',$htmlname='type_resource',$filtertype='',$format=0, $empty=0, $noadmininfo=0,$maxlength=0) + function select_types_resource($selected = '', $htmlname = 'type_resource', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0) { // phpcs:enable global $langs,$user; diff --git a/htdocs/societe/canvas/actions_card_common.class.php b/htdocs/societe/canvas/actions_card_common.class.php index ffcd7c7a00f..3b2fd88c6c6 100644 --- a/htdocs/societe/canvas/actions_card_common.class.php +++ b/htdocs/societe/canvas/actions_card_common.class.php @@ -61,7 +61,7 @@ abstract class ActionsCardCommon * @param ref $ref Object ref * @return object Object loaded */ - protected function getObject($id,$ref='') + protected function getObject($id, $ref = '') { //$ret = $this->getInstanceDao(); @@ -79,7 +79,7 @@ abstract class ActionsCardCommon * @param string $ref Ref of object * @return void */ - function assign_values(&$action, $id=0, $ref='') + function assign_values(&$action, $id = 0, $ref = '') { // phpcs:enable global $conf, $langs, $user, $mysoc, $canvas; diff --git a/htdocs/societe/canvas/company/actions_card_company.class.php b/htdocs/societe/canvas/company/actions_card_company.class.php index c8b1a296e24..5184fa36264 100644 --- a/htdocs/societe/canvas/company/actions_card_company.class.php +++ b/htdocs/societe/canvas/company/actions_card_company.class.php @@ -76,7 +76,7 @@ class ActionsCardCompany extends ActionsCardCommon * @param string $ref Ref of object * @return void */ - function assign_values(&$action, $id=0, $ref='') + function assign_values(&$action, $id = 0, $ref = '') { // phpcs:enable global $conf, $langs, $user, $mysoc; @@ -215,7 +215,7 @@ class ActionsCardCompany extends ActionsCardCommon * @param string $dbt_select Field name for select if not rowid. (optional) * @return int 1 */ - function restrictedArea($user, $features='societe', $objectid=0, $dbtablename='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid') + function restrictedArea($user, $features = 'societe', $objectid = 0, $dbtablename = '', $feature2 = '', $dbt_keyfield = 'fk_soc', $dbt_select = 'rowid') { return restrictedArea($user,$features,$objectid,$dbtablename,$feature2,$dbt_keyfield,$dbt_select); } diff --git a/htdocs/societe/canvas/individual/actions_card_individual.class.php b/htdocs/societe/canvas/individual/actions_card_individual.class.php index 6107d8ac8b1..842cc096a71 100644 --- a/htdocs/societe/canvas/individual/actions_card_individual.class.php +++ b/htdocs/societe/canvas/individual/actions_card_individual.class.php @@ -93,7 +93,7 @@ class ActionsCardIndividual extends ActionsCardCommon * @param string $ref Ref of object * @return void */ - function assign_values(&$action, $id=0, $ref='') + function assign_values(&$action, $id = 0, $ref = '') { // phpcs:enable global $conf, $langs; @@ -132,7 +132,7 @@ class ActionsCardIndividual extends ActionsCardCommon * @param string $dbt_select Field name for select if not rowid. (optional) * @return int 1 */ - function restrictedArea($user, $features='societe', $objectid=0, $dbtablename='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid') + function restrictedArea($user, $features = 'societe', $objectid = 0, $dbtablename = '', $feature2 = '', $dbt_keyfield = 'fk_soc', $dbt_select = 'rowid') { return restrictedArea($user,$features,$objectid,$dbtablename,$feature2,$dbt_keyfield,$dbt_select); } diff --git a/htdocs/societe/class/address.class.php b/htdocs/societe/class/address.class.php index b381e7cf8a2..90ec5911dd0 100644 --- a/htdocs/societe/class/address.class.php +++ b/htdocs/societe/class/address.class.php @@ -85,7 +85,7 @@ class Address * @param User $user Object user making creation * @return int 0 if OK, < 0 if KO */ - function create($socid, $user='') + function create($socid, $user = '') { global $langs,$conf; @@ -175,7 +175,7 @@ class Address * @param User $user Utilisateur qui demande la mise a jour * @return int <0 if KO, >=0 if OK */ - function update($id, $socid, $user='') + function update($id, $socid, $user = '') { global $langs; @@ -251,7 +251,7 @@ class Address * @param User $user Objet de l'utilisateur * @return int >0 si ok, <0 si ko */ - function fetch_lines($socid, $user=null) + function fetch_lines($socid, $user = null) { // phpcs:enable global $langs, $conf; @@ -346,7 +346,7 @@ class Address * @param User $user Objet de l'utilisateur * @return int >0 si ok, <0 si ko */ - function fetch_address($id, $user=null) + function fetch_address($id, $user = null) { // phpcs:enable global $langs; @@ -415,7 +415,7 @@ class Address * @param int $socid id third party * @return <0 KO >0 OK */ - function delete($id,$socid) + function delete($id, $socid) { dol_syslog("Address::Delete"); @@ -440,7 +440,7 @@ class Address * @param string $option Where the link point to * @return string String with URL */ - function getNomUrl($withpicto=0,$option='') + function getNomUrl($withpicto = 0, $option = '') { global $langs; diff --git a/htdocs/societe/class/api_thirdparties.class.php b/htdocs/societe/class/api_thirdparties.class.php index 50d9710be40..08d61651e68 100644 --- a/htdocs/societe/class/api_thirdparties.class.php +++ b/htdocs/societe/class/api_thirdparties.class.php @@ -117,7 +117,7 @@ class Thirdparties extends DolibarrApi * @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.nom:like:'TheCompany%') and (t.date_creation:<:'20160101')" * @return array Array of thirdparty objects */ - function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $mode=0, $sqlfilters = '') + function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $mode = 0, $sqlfilters = '') { global $db, $conf; @@ -739,7 +739,7 @@ class Thirdparties extends DolibarrApi * @throws 401 * @throws 404 */ - function getOutStandingProposals($id, $mode='customer') + function getOutStandingProposals($id, $mode = 'customer') { $obj_ret = array(); @@ -783,7 +783,7 @@ class Thirdparties extends DolibarrApi * @throws 401 * @throws 404 */ - function getOutStandingOrder($id, $mode='customer') + function getOutStandingOrder($id, $mode = 'customer') { $obj_ret = array(); @@ -826,7 +826,7 @@ class Thirdparties extends DolibarrApi * @throws 401 * @throws 404 */ - function getOutStandingInvoices($id, $mode='customer') + function getOutStandingInvoices($id, $mode = 'customer') { $obj_ret = array(); @@ -872,7 +872,7 @@ class Thirdparties extends DolibarrApi * @throws 404 * @throws 503 */ - function getFixedAmountDiscounts($id, $filter="none", $sortfield = "f.type", $sortorder = 'ASC') + function getFixedAmountDiscounts($id, $filter = "none", $sortfield = "f.type", $sortorder = 'ASC') { $obj_ret = array(); @@ -1281,7 +1281,7 @@ class Thirdparties extends DolibarrApi * * @url GET {id}/gateways/ */ - function getSocieteAccounts($id, $site=null) + function getSocieteAccounts($id, $site = null) { global $db, $conf; diff --git a/htdocs/societe/class/client.class.php b/htdocs/societe/class/client.class.php index 39a90c43eb9..fb1110e52ac 100644 --- a/htdocs/societe/class/client.class.php +++ b/htdocs/societe/class/client.class.php @@ -98,7 +98,7 @@ class Client extends Societe * @param int $active 1=Active only, 0=Not active only, -1=All * @return int <0 if KO, >0 if OK */ - function loadCacheOfProspStatus($active=1) + function loadCacheOfProspStatus($active = 1) { global $langs; diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index 2891724ac7e..bd41e5edad7 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -67,7 +67,7 @@ class CompanyBankAccount extends Account * @param int $notrigger 1=Disable triggers * @return int <0 if KO, >= 0 if OK */ - function create(User $user = null, $notrigger=0) + function create(User $user = null, $notrigger = 0) { $now = dol_now(); $error = 0; @@ -201,7 +201,7 @@ class CompanyBankAccount extends Account * @param int $type If id of company filled, we say if we want record of this type only * @return int <0 if KO, >0 if OK */ - function fetch($id, $socid=0, $default=1, $type='ban') + function fetch($id, $socid = 0, $default = 1, $type = 'ban') { if (empty($id) && empty($socid)) return -1; @@ -263,7 +263,7 @@ class CompanyBankAccount extends Account * @param int $notrigger 1=Disable triggers * @return int <0 if KO, >0 if OK */ - function delete(User $user = null, $notrigger=0) + function delete(User $user = null, $notrigger = 0) { global $conf; @@ -333,7 +333,7 @@ class CompanyBankAccount extends Account * @param int $rib RIB id * @return int 0 if KO, 1 if OK */ - function setAsDefault($rib=0) + function setAsDefault($rib = 0) { $sql1 = "SELECT rowid as id, fk_soc FROM ".MAIN_DB_PREFIX."societe_rib"; $sql1.= " WHERE rowid = ".($rib?$rib:$this->id); diff --git a/htdocs/societe/class/companypaymentmode.class.php b/htdocs/societe/class/companypaymentmode.class.php index 3594773e7f8..9b41d666cdf 100644 --- a/htdocs/societe/class/companypaymentmode.class.php +++ b/htdocs/societe/class/companypaymentmode.class.php @@ -349,7 +349,7 @@ class CompanyPaymentMode extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -407,7 +407,7 @@ class CompanyPaymentMode extends CommonObject * @param string $alltypes 1=The default is for all payment types instead of per type * @return int 0 if KO, 1 if OK */ - function setAsDefault($id=0, $alltypes=0) + function setAsDefault($id = 0, $alltypes = 0) { $sql1 = "SELECT rowid as id, fk_soc, type FROM ".MAIN_DB_PREFIX."societe_rib"; $sql1.= " WHERE rowid = ".($id?$id:$this->id); @@ -467,7 +467,7 @@ class CompanyPaymentMode extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -480,7 +480,7 @@ class CompanyPaymentMode extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 1e152331aff..0c68562cb75 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -812,7 +812,7 @@ class Societe extends CommonObject * @param int $nosyncmember Do not synchronize info of linked member * @return int <0 if KO, >=0 if OK */ - function update($id, $user='', $call_trigger=1, $allowmodcodeclient=0, $allowmodcodefournisseur=0, $action='update', $nosyncmember=1) + function update($id, $user = '', $call_trigger = 1, $allowmodcodeclient = 0, $allowmodcodefournisseur = 0, $action = 'update', $nosyncmember = 1) { global $langs,$conf,$hookmanager; @@ -1224,7 +1224,7 @@ class Societe extends CommonObject * @param string $ref_alias Name_alias of third party (Warning, this can return several records) * @return int >0 if OK, <0 if KO or if two records found for same ref or idprof, 0 if not found. */ - function fetch($rowid, $ref='', $ref_ext='', $ref_int='', $idprof1='',$idprof2='',$idprof3='',$idprof4='',$idprof5='',$idprof6='', $email='', $ref_alias='') + function fetch($rowid, $ref = '', $ref_ext = '', $ref_int = '', $idprof1 = '', $idprof2 = '', $idprof3 = '', $idprof4 = '', $idprof5 = '', $idprof6 = '', $email = '', $ref_alias = '') { global $langs; global $conf; @@ -1449,7 +1449,7 @@ class Societe extends CommonObject * @param int $call_trigger 0=No, 1=yes * @return int <0 if KO, 0 if nothing done, >0 if OK */ - function delete($id, User $fuser=null, $call_trigger=1) + function delete($id, User $fuser = null, $call_trigger = 1) { global $langs, $conf, $user; @@ -1745,7 +1745,7 @@ class Societe extends CommonObject * @param int $discount_type 0 => customer discount, 1 => supplier discount * @return int <0 if KO, id of discount record if OK */ - function set_remise_except($remise, User $user, $desc, $tva_tx=0, $discount_type=0) + function set_remise_except($remise, User $user, $desc, $tva_tx = 0, $discount_type = 0) { // phpcs:enable global $langs; @@ -1805,7 +1805,7 @@ class Societe extends CommonObject * @param int $discount_type 0 => customer discount, 1 => supplier discount * @return int <0 if KO, Credit note amount otherwise */ - function getAvailableDiscounts($user='',$filter='',$maxvalue=0,$discount_type=0) + function getAvailableDiscounts($user = '', $filter = '', $maxvalue = 0, $discount_type = 0) { require_once DOL_DOCUMENT_ROOT.'/core/class/discount.class.php'; @@ -1829,7 +1829,7 @@ class Societe extends CommonObject * @param int $mode 0=Array with properties, 1=Array of id. * @return array Array of sales representatives of third party */ - function getSalesRepresentatives(User $user, $mode=0) + function getSalesRepresentatives(User $user, $mode = 0) { global $conf; @@ -2000,7 +2000,7 @@ class Societe extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $maxlen=0, $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $maxlen = 0, $notooltip = 0, $save_lastsearch_value = -1) { global $conf, $langs, $hookmanager; @@ -2195,7 +2195,7 @@ class Societe extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Libelle */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -2208,7 +2208,7 @@ class Societe extends CommonObject * @param int $mode 0=Long label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Long label, 5=Short label + Picto, 6=Long label + Picto * @return string Libelle du statut */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -2258,7 +2258,7 @@ class Societe extends CommonObject * @param int $addthirdparty 1=Add also a record for thirdparty email * @return array Array of contacts emails */ - function thirdparty_and_contact_email_array($addthirdparty=0) + function thirdparty_and_contact_email_array($addthirdparty = 0) { // phpcs:enable global $langs; @@ -2303,7 +2303,7 @@ class Societe extends CommonObject * @param int $hidedisabled 1=Hide contact if disabled * @return array Array of contacts emails or mobile. Example: array(id=>'Name <email>') */ - function contact_property_array($mode='email', $hidedisabled=0) + function contact_property_array($mode = 'email', $hidedisabled = 0) { // phpcs:enable global $langs; @@ -2444,7 +2444,7 @@ class Societe extends CommonObject * @param string $mode 'email' or 'mobile' * @return string Email of contact with format: "Full name <email>" */ - function contact_get_property($rowid,$mode) + function contact_get_property($rowid, $mode) { // phpcs:enable $contact_property=''; @@ -2483,7 +2483,7 @@ class Societe extends CommonObject * @param string $mode 'label' or 'rum' or 'format' * @return string Bank number */ - function display_rib($mode='label') + function display_rib($mode = 'label') { // phpcs:enable require_once DOL_DOCUMENT_ROOT . '/societe/class/companybankaccount.class.php'; @@ -2553,7 +2553,7 @@ class Societe extends CommonObject * @param int $type Should be 0 to say customer * @return void */ - function get_codeclient($objsoc=0,$type=0) + function get_codeclient($objsoc = 0, $type = 0) { // phpcs:enable global $conf; @@ -2585,7 +2585,7 @@ class Societe extends CommonObject * @param int $type Should be 1 to say supplier * @return void */ - function get_codefournisseur($objsoc=0,$type=1) + function get_codefournisseur($objsoc = 0, $type = 1) { // phpcs:enable global $conf; @@ -2884,7 +2884,7 @@ class Societe extends CommonObject * @param int $socid Id of thirdparty to exclude (if update) * @return boolean True if exists, False if not */ - function id_prof_exists($idprof, $value, $socid=0) + function id_prof_exists($idprof, $value, $socid = 0) { // phpcs:enable $field = $idprof; @@ -2944,7 +2944,7 @@ class Societe extends CommonObject * @return int <=0 if KO, >0 if OK * TODO better to have this in a lib than into a business class */ - function id_prof_check($idprof,$soc) + function id_prof_check($idprof, $soc) { // phpcs:enable global $conf; @@ -3095,7 +3095,7 @@ class Societe extends CommonObject * @return string Url or empty string if no URL known * TODO better in a lib than into business class */ - function id_prof_url($idprof,$thirdparty) + function id_prof_url($idprof, $thirdparty) { // phpcs:enable global $conf,$langs,$hookmanager; @@ -3310,7 +3310,7 @@ class Societe extends CommonObject * @param string $customercode Customer code * @return int <0 if KO, id of created account if OK */ - function create_from_member(Adherent $member, $socname='', $socalias='', $customercode='') + function create_from_member(Adherent $member, $socname = '', $socalias = '', $customercode = '') { // phpcs:enable global $user,$langs; @@ -3508,7 +3508,7 @@ class Societe extends CommonObject * @param int $localTaxNum To get info for only localtax1 or localtax2 * @return boolean true or false */ - function useLocalTax($localTaxNum=0) + function useLocalTax($localTaxNum = 0) { $sql = "SELECT t.localtax1, t.localtax2"; $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as c"; @@ -3627,7 +3627,7 @@ class Societe extends CommonObject * @param string $label Label to use for status for added status * @return string Libelle */ - function getLibProspCommStatut($mode=0, $label='') + function getLibProspCommStatut($mode = 0, $label = '') { return $this->LibProspCommStatut($this->stcomm_id, $mode, $label); } @@ -3641,7 +3641,7 @@ class Societe extends CommonObject * @param string $label Label to use for status for added status * @return string Libelle du statut */ - function LibProspCommStatut($statut, $mode=0, $label='') + function LibProspCommStatut($statut, $mode = 0, $label = '') { // phpcs:enable global $langs; @@ -3707,7 +3707,7 @@ class Societe extends CommonObject * @param string $mode 'customer' or 'supplier' * @return array array('opened'=>Amount, 'total'=>Total amount) */ - function getOutstandingProposals($mode='customer') + function getOutstandingProposals($mode = 'customer') { $table='propal'; if ($mode == 'supplier') $table = 'supplier_proposal'; @@ -3747,7 +3747,7 @@ class Societe extends CommonObject * @param string $mode 'customer' or 'supplier' * @return array array('opened'=>Amount, 'total'=>Total amount) */ - function getOutstandingOrders($mode='customer') + function getOutstandingOrders($mode = 'customer') { $table='commande'; if ($mode == 'supplier') $table = 'commande_fournisseur'; @@ -3787,7 +3787,7 @@ class Societe extends CommonObject * @param string $mode 'customer' or 'supplier' * @return array array('opened'=>Amount, 'total'=>Total amount) */ - function getOutstandingBills($mode='customer') + function getOutstandingBills($mode = 'customer') { $table='facture'; if ($mode == 'supplier') $table = 'facture_fourn'; @@ -3942,7 +3942,7 @@ class Societe extends CommonObject * @param null|array $moreparams Array to provide more information * @return int <0 if KO, >0 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$user,$langs; diff --git a/htdocs/societe/class/societeaccount.class.php b/htdocs/societe/class/societeaccount.class.php index 153959938e5..a1a713d334c 100644 --- a/htdocs/societe/class/societeaccount.class.php +++ b/htdocs/societe/class/societeaccount.class.php @@ -288,7 +288,7 @@ class SocieteAccount extends CommonObject * @param int $status Status (0=test, 1=live) * @return string Stripe customer ref 'cu_xxxxxxxxxxxxx' or '' */ - public function getCustomerAccount($id, $site, $status=0) + public function getCustomerAccount($id, $site, $status = 0) { $sql = "SELECT sa.key_account as key_account, sa.entity"; $sql.= " FROM " . MAIN_DB_PREFIX . "societe_account as sa"; @@ -348,7 +348,7 @@ class SocieteAccount extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -407,7 +407,7 @@ class SocieteAccount extends CommonObject * @param int $withpicto Add download picto into link * @return string HTML link to file */ - function getDirectExternalLink($withpicto=0) + function getDirectExternalLink($withpicto = 0) { return 'todo'; } @@ -418,7 +418,7 @@ class SocieteAccount extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -431,7 +431,7 @@ class SocieteAccount extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto, 6=Long label + Picto * @return string Label of status */ - static function LibStatut($status,$mode=0) + static function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php index d8e7168e5c0..55d989a7075 100644 --- a/htdocs/stripe/class/stripe.class.php +++ b/htdocs/stripe/class/stripe.class.php @@ -80,7 +80,7 @@ class Stripe extends CommonObject * @param string $mode 'StripeTest' or 'StripeLive' * @return string Stripe account 'acc_....' or '' if no OAuth token found */ - public function getStripeAccount($mode='StripeTest') + public function getStripeAccount($mode = 'StripeTest') { global $conf; @@ -120,7 +120,7 @@ class Stripe extends CommonObject * @param int $status Status * @return string Stripe customer ref 'cu_xxxxxxxxxxxxx' or '' */ - public function getStripeCustomerAccount($id, $status=0) + public function getStripeCustomerAccount($id, $status = 0) { include_once DOL_DOCUMENT_ROOT.'/societe/class/societeaccount.class.php'; $societeaccount = new SocieteAccount($this->db); @@ -137,7 +137,7 @@ class Stripe extends CommonObject * @param int $createifnotlinkedtostripe 1=Create the stripe customer and the link if the thirdparty is not yet linked to a stripe customer * @return \Stripe\StripeCustomer|null Stripe Customer or null if not found */ - public function customerStripe(Societe $object, $key='', $status=0, $createifnotlinkedtostripe=0) + public function customerStripe(Societe $object, $key = '', $status = 0, $createifnotlinkedtostripe = 0) { global $conf, $user; @@ -248,7 +248,7 @@ class Stripe extends CommonObject * @param int $createifnotlinkedtostripe 1=Create the stripe card and the link if the card is not yet linked to a stripe card * @return \Stripe\StripeCard|null Stripe Card or null if not found */ - public function cardStripe($cu, CompanyPaymentMode $object, $stripeacc='', $status=0, $createifnotlinkedtostripe=0) + public function cardStripe($cu, CompanyPaymentMode $object, $stripeacc = '', $status = 0, $createifnotlinkedtostripe = 0) { global $conf, $user; @@ -358,7 +358,7 @@ class Stripe extends CommonObject * @param boolean $capture Set capture flag to true (take payment) or false (wait) * @return Stripe */ - public function createPaymentStripe($amount, $currency, $origin, $item, $source, $customer, $account, $status=0, $usethirdpartyemailforreceiptemail=0, $capture=true) + public function createPaymentStripe($amount, $currency, $origin, $item, $source, $customer, $account, $status = 0, $usethirdpartyemailforreceiptemail = 0, $capture = true) { global $conf; diff --git a/htdocs/stripe/lib/stripe.lib.php b/htdocs/stripe/lib/stripe.lib.php index fbafd47c3ab..bafa83c21cf 100644 --- a/htdocs/stripe/lib/stripe.lib.php +++ b/htdocs/stripe/lib/stripe.lib.php @@ -60,7 +60,7 @@ function stripeadmin_prepare_head() * @param string $ref Ref of object * @return string Url string */ -function showStripePaymentUrl($type,$ref) +function showStripePaymentUrl($type, $ref) { global $conf, $langs; @@ -87,7 +87,7 @@ function showStripePaymentUrl($type,$ref) * @param string $freetag Free tag * @return string Url string */ -function getStripePaymentUrl($mode,$type,$ref='',$amount='9.99',$freetag='your_free_tag') +function getStripePaymentUrl($mode, $type, $ref = '', $amount = '9.99', $freetag = 'your_free_tag') { global $conf; @@ -140,7 +140,7 @@ function getStripePaymentUrl($mode,$type,$ref='',$amount='9.99',$freetag='your_f * @param Translate $langs Output language * @return void */ -function html_print_stripe_footer($fromcompany,$langs) +function html_print_stripe_footer($fromcompany, $langs) { global $conf; diff --git a/htdocs/supplier_proposal/class/supplier_proposal.class.php b/htdocs/supplier_proposal/class/supplier_proposal.class.php index a32b973d00a..4582d2582b0 100644 --- a/htdocs/supplier_proposal/class/supplier_proposal.class.php +++ b/htdocs/supplier_proposal/class/supplier_proposal.class.php @@ -211,7 +211,7 @@ class SupplierProposal extends CommonObject * @param int $socid Id third party * @param int $supplier_proposalid Id supplier_proposal */ - function __construct($db, $socid="", $supplier_proposalid=0) + function __construct($db, $socid = "", $supplier_proposalid = 0) { global $conf,$langs; @@ -237,7 +237,7 @@ class SupplierProposal extends CommonObject * TODO Remplacer les appels a cette fonction par generation objet Ligne * insere dans tableau $this->products */ - function add_product($idproduct, $qty, $remise_percent=0) + function add_product($idproduct, $qty, $remise_percent = 0) { // phpcs:enable global $conf, $mysoc; @@ -394,7 +394,7 @@ class SupplierProposal extends CommonObject * * @see add_product */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $price_base_type='HT', $pu_ttc=0, $info_bits=0, $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=0, $pa_ht=0, $label='',$array_option=0, $ref_supplier='', $fk_unit='', $origin='', $origin_id=0, $pu_ht_devise=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1 = 0, $txlocaltax2 = 0, $fk_product = 0, $remise_percent = 0, $price_base_type = 'HT', $pu_ttc = 0, $info_bits = 0, $type = 0, $rang = -1, $special_code = 0, $fk_parent_line = 0, $fk_fournprice = 0, $pa_ht = 0, $label = '', $array_option = 0, $ref_supplier = '', $fk_unit = '', $origin = '', $origin_id = 0, $pu_ht_devise = 0) { global $mysoc, $conf; @@ -656,7 +656,7 @@ class SupplierProposal extends CommonObject * @param int $fk_unit Id of the unit to use. * @return int 0 if OK, <0 if KO */ - function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0, $txlocaltax2=0, $desc='', $price_base_type='HT', $info_bits=0, $special_code=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=0, $pa_ht=0, $label='', $type=0, $array_option=0, $ref_supplier='', $fk_unit='') + function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1 = 0, $txlocaltax2 = 0, $desc = '', $price_base_type = 'HT', $info_bits = 0, $special_code = 0, $fk_parent_line = 0, $skip_update_total = 0, $fk_fournprice = 0, $pa_ht = 0, $label = '', $type = 0, $array_option = 0, $ref_supplier = '', $fk_unit = '') { global $conf,$user,$langs, $mysoc; @@ -841,7 +841,7 @@ class SupplierProposal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >=0 if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $langs, $conf, $mysoc, $hookmanager; $error=0; @@ -1119,7 +1119,7 @@ class SupplierProposal extends CommonObject * @param int $socid Id of thirdparty * @return int New id of clone */ - function createFromClone($socid=0) + function createFromClone($socid = 0) { global $user,$langs,$conf,$hookmanager; @@ -1214,7 +1214,7 @@ class SupplierProposal extends CommonObject * @param string $ref Ref of proposal * @return int >0 if OK, <0 if KO */ - function fetch($rowid,$ref='') + function fetch($rowid, $ref = '') { global $conf; @@ -1424,7 +1424,7 @@ class SupplierProposal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >=0 if OK */ - function valid($user, $notrigger=0) + function valid($user, $notrigger = 0) { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -1643,7 +1643,7 @@ class SupplierProposal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function reopen($user, $statut, $note='', $notrigger=0) + function reopen($user, $statut, $note = '', $notrigger = 0) { global $langs,$conf; @@ -1912,7 +1912,7 @@ class SupplierProposal extends CommonObject * @param string $sortorder Sort order * @return int -1 if KO, array with result if OK */ - function liste_array($shortlist=0, $draft=0, $notcurrentuser=0, $socid=0, $limit=0, $offset=0, $sortfield='p.datec', $sortorder='DESC') + function liste_array($shortlist = 0, $draft = 0, $notcurrentuser = 0, $socid = 0, $limit = 0, $offset = 0, $sortfield = 'p.datec', $sortorder = 'DESC') { // phpcs:enable global $conf,$user; @@ -1983,7 +1983,7 @@ class SupplierProposal extends CommonObject * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int 1 if ok, otherwise if error */ - function delete($user, $notrigger=0) + function delete($user, $notrigger = 0) { global $conf,$langs; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -2156,7 +2156,7 @@ class SupplierProposal extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -2169,7 +2169,7 @@ class SupplierProposal extends CommonObject * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ - function LibStatut($statut,$mode=1) + function LibStatut($statut, $mode = 1) { // phpcs:enable // Init/load array of translation of status @@ -2214,7 +2214,7 @@ class SupplierProposal extends CommonObject * @param int $mode "opened" for askprice to close, "signed" for proposal to invoice * @return int <0 if KO, >0 if OK */ - function load_board($user,$mode) + function load_board($user, $mode) { // phpcs:enable global $conf, $user, $langs; @@ -2480,7 +2480,7 @@ class SupplierProposal extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $get_params='', $notooltip=0, $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $get_params = '', $notooltip = 0, $save_lastsearch_value = -1) { global $langs, $conf, $user; @@ -2638,7 +2638,7 @@ class SupplierProposal extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf, $langs; @@ -2941,7 +2941,7 @@ class SupplierProposalLine extends CommonObjectLine * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if KO, >0 if OK */ - function insert($notrigger=0) + function insert($notrigger = 0) { global $conf,$langs,$user; @@ -3126,7 +3126,7 @@ class SupplierProposalLine extends CommonObjectLine * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @return int <0 if ko, >0 if ok */ - function update($notrigger=0) + function update($notrigger = 0) { global $conf,$langs,$user; diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php index c1cf83097b6..9b975db5dc3 100644 --- a/htdocs/support/inc.php +++ b/htdocs/support/inc.php @@ -201,7 +201,7 @@ function conf($dolibarr_main_document_root) * @param string $action Action code * @return void */ -function pHeader($soutitre,$next,$action='none') +function pHeader($soutitre, $next, $action = 'none') { global $conf; global $langs; @@ -241,7 +241,7 @@ function pHeader($soutitre,$next,$action='none') * @param string $setuplang Language code * @return void */ -function pFooter($nonext=0,$setuplang='') +function pFooter($nonext = 0, $setuplang = '') { global $langs; $langs->load("main"); diff --git a/htdocs/ticket/class/actions_ticket.class.php b/htdocs/ticket/class/actions_ticket.class.php index e67cd7a313c..b4a106d48e5 100644 --- a/htdocs/ticket/class/actions_ticket.class.php +++ b/htdocs/ticket/class/actions_ticket.class.php @@ -109,7 +109,7 @@ class ActionsTicket * @param Ticket $object Object Ticket * @return int 0 */ - public function doActions(&$action = '', Ticket $object=null) + public function doActions(&$action = '', Ticket $object = null) { global $conf, $user, $langs, $mysoc; diff --git a/htdocs/ticket/class/ticket.class.php b/htdocs/ticket/class/ticket.class.php index 43002f30f99..28ba0ce4938 100644 --- a/htdocs/ticket/class/ticket.class.php +++ b/htdocs/ticket/class/ticket.class.php @@ -1329,7 +1329,7 @@ class Ticket extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $db, $conf, $langs; global $dolibarr_main_authentication, $dolibarr_main_demo; diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index 2c189ad07d1..8a7c778ad0e 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -219,7 +219,7 @@ class User extends CommonObject * @param int $entity If a value is >= 0, we force the search on a specific entity. If -1, means search depens on default setup. * @return int <0 if KO, 0 not found, >0 if OK */ - function fetch($id='', $login='', $sid='', $loadpersonalconf=0, $entity=-1) + function fetch($id = '', $login = '', $sid = '', $loadpersonalconf = 0, $entity = -1) { global $conf, $user; @@ -501,7 +501,7 @@ class User extends CommonObject * @return int > 0 if OK, < 0 if KO * @see clearrights, delrights, getrights */ - function addrights($rid, $allmodule='', $allperms='', $entity=0, $notrigger=0) + function addrights($rid, $allmodule = '', $allperms = '', $entity = 0, $notrigger = 0) { global $conf, $user, $langs; @@ -627,7 +627,7 @@ class User extends CommonObject * @return int > 0 if OK, < 0 if OK * @see clearrights, addrights, getrights */ - function delrights($rid, $allmodule='', $allperms='', $entity=0, $notrigger=0) + function delrights($rid, $allmodule = '', $allperms = '', $entity = 0, $notrigger = 0) { global $conf, $user, $langs; @@ -762,7 +762,7 @@ class User extends CommonObject * @return void * @see clearrights, delrights, addrights */ - function getrights($moduletag='', $forcereload=0) + function getrights($moduletag = '', $forcereload = 0) { global $conf; @@ -1102,7 +1102,7 @@ class User extends CommonObject * @param int $notrigger 1=do not execute triggers, 0 otherwise * @return int <0 if KO, id of created user if OK */ - function create($user, $notrigger=0) + function create($user, $notrigger = 0) { global $conf,$langs; global $mysoc; @@ -1236,7 +1236,7 @@ class User extends CommonObject * @param string $password Password to force * @return int <0 if error, if OK returns id of created user */ - function create_from_contact($contact,$login='',$password='') + function create_from_contact($contact, $login = '', $password = '') { // phpcs:enable global $conf,$user,$langs; @@ -1316,7 +1316,7 @@ class User extends CommonObject * @param string $login Login to force * @return int <0 if KO, if OK, return id of created account */ - function create_from_member($member,$login='') + function create_from_member($member, $login = '') { // phpcs:enable global $conf,$user,$langs; @@ -1438,7 +1438,7 @@ class User extends CommonObject * @param int $nosynccontact 0=Synchronize linked contact, 1=Do not synchronize linked contact * @return int <0 si KO, >=0 si OK */ - function update($user, $notrigger=0, $nosyncmember=0, $nosyncmemberpass=0, $nosynccontact=0) + function update($user, $notrigger = 0, $nosyncmember = 0, $nosyncmemberpass = 0, $nosynccontact = 0) { global $conf, $langs; @@ -1777,7 +1777,7 @@ class User extends CommonObject * @param int $nosyncmember Do not synchronize linked member * @return string If OK return clear password, 0 if no change, < 0 if error */ - function setPassword($user, $password='', $changelater=0, $notrigger=0, $nosyncmember=0) + function setPassword($user, $password = '', $changelater = 0, $notrigger = 0, $nosyncmember = 0) { global $conf, $langs; require_once DOL_DOCUMENT_ROOT .'/core/lib/security2.lib.php'; @@ -1909,7 +1909,7 @@ class User extends CommonObject * @param int $changelater 0=Send clear passwod into email, 1=Change password only after clicking on confirm email. @TODO Add method 2 = Send link to reset password * @return int < 0 si erreur, > 0 si ok */ - function send_password($user, $password='', $changelater=0) + function send_password($user, $password = '', $changelater = 0) { // phpcs:enable global $conf, $langs; @@ -2102,7 +2102,7 @@ class User extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, >0 if OK */ - function SetInGroup($group, $entity, $notrigger=0) + function SetInGroup($group, $entity, $notrigger = 0) { // phpcs:enable global $conf, $langs, $user; @@ -2164,7 +2164,7 @@ class User extends CommonObject * @param int $notrigger Disable triggers * @return int <0 if KO, >0 if OK */ - function RemoveFromGroup($group, $entity, $notrigger=0) + function RemoveFromGroup($group, $entity, $notrigger = 0) { // phpcs:enable global $conf,$langs,$user; @@ -2224,7 +2224,7 @@ class User extends CommonObject * @param string $imagesize 'mini', 'small' or '' (original) * @return string String with URL link */ - function getPhotoUrl($width, $height, $cssclass='', $imagesize='') + function getPhotoUrl($width, $height, $cssclass = '', $imagesize = '') { $result ='<a href="'.DOL_URL_ROOT.'/user/card.php?id='.$this->id.'">'; $result.=Form::showphoto('userphoto', $this, $width, $height, 0, $cssclass, $imagesize); @@ -2248,7 +2248,7 @@ class User extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpictoimg=0, $option='', $infologin=0, $notooltip=0, $maxlen=24, $hidethirdpartylogo=0, $mode='',$morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpictoimg = 0, $option = '', $infologin = 0, $notooltip = 0, $maxlen = 24, $hidethirdpartylogo = 0, $mode = '', $morecss = '', $save_lastsearch_value = -1) { global $langs, $conf, $db, $hookmanager, $user; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -2385,7 +2385,7 @@ class User extends CommonObject * @param string $option Sur quoi pointe le lien * @return string Chaine avec URL */ - function getLoginUrl($withpicto=0,$option='') + function getLoginUrl($withpicto = 0, $option = '') { global $langs, $user; @@ -2422,7 +2422,7 @@ class User extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->statut,$mode); } @@ -2435,7 +2435,7 @@ class User extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -2484,7 +2484,7 @@ class User extends CommonObject * 2=Return key only (RDN) (uid=qqq) * @return string DN */ - function _load_ldap_dn($info,$mode=0) + function _load_ldap_dn($info, $mode = 0) { // phpcs:enable global $conf; @@ -2735,7 +2735,7 @@ class User extends CommonObject * @param int $admin Filter on admin tag * @return int Number of users */ - function getNbOfUsers($limitTo, $option='', $admin=-1) + function getNbOfUsers($limitTo, $option = '', $admin = -1) { global $conf; @@ -2891,7 +2891,7 @@ class User extends CommonObject * @param string $filter SQL filter on users * @return array Array of users $this->users. Note: $this->parentof is also set. */ - function get_full_tree($deleteafterid=0, $filter='') + function get_full_tree($deleteafterid = 0, $filter = '') { // phpcs:enable global $conf, $user; @@ -2993,7 +2993,7 @@ class User extends CommonObject * @return array Array of user id lower than user (all levels under user). This overwrite this->users. * @see get_children */ - function getAllChildIds($addcurrentuser=0) + function getAllChildIds($addcurrentuser = 0) { $childids=array(); @@ -3031,7 +3031,7 @@ class User extends CommonObject * @param int $protection Deep counter to avoid infinite loop (no more required, a protection is added with array useridfound) * @return int < 0 if KO (infinit loop), >= 0 if OK */ - function build_path_from_id_user($id_user,$protection=0) + function build_path_from_id_user($id_user, $protection = 0) { // phpcs:enable dol_syslog(get_class($this)."::build_path_from_id_user id_user=".$id_user." protection=".$protection, LOG_DEBUG); @@ -3134,7 +3134,7 @@ class User extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf, $user, $langs; @@ -3166,7 +3166,7 @@ class User extends CommonObject * @param string $mode 'email' or 'mobile' * @return string Email of user with format: "Full name <email>" */ - function user_get_property($rowid,$mode) + function user_get_property($rowid, $mode) { // phpcs:enable $user_property=''; @@ -3208,7 +3208,7 @@ class User extends CommonObject * @param string $filtermode Filter mode (AND or OR) * @return int <0 if KO, >0 if OK */ - function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, $filter=array(), $filtermode='AND') + function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, $filter = array(), $filtermode = 'AND') { global $conf; diff --git a/htdocs/user/class/userbankaccount.class.php b/htdocs/user/class/userbankaccount.class.php index 7870fe9c35e..d18ece1f89e 100644 --- a/htdocs/user/class/userbankaccount.class.php +++ b/htdocs/user/class/userbankaccount.class.php @@ -62,7 +62,7 @@ class UserBankAccount extends Account * @param int $notrigger 1=Disable triggers * @return int <0 if KO, >= 0 if OK */ - function create(User $user=null, $notrigger=0) + function create(User $user = null, $notrigger = 0) { $now=dol_now(); @@ -92,7 +92,7 @@ class UserBankAccount extends Account * @param int $notrigger 1=Disable triggers * @return int <=0 if KO, >0 if OK */ - function update(User $user=null, $notrigger=0) + function update(User $user = null, $notrigger = 0) { global $conf; @@ -139,7 +139,7 @@ class UserBankAccount extends Account * @param int $userid User id * @return int <0 if KO, >0 if OK */ - function fetch($id, $ref='', $userid=0) + function fetch($id, $ref = '', $userid = 0) { if (empty($id) && empty($ref) && empty($userid)) return -1; diff --git a/htdocs/user/class/usergroup.class.php b/htdocs/user/class/usergroup.class.php index f70f61e2ed6..0695e1b84bb 100644 --- a/htdocs/user/class/usergroup.class.php +++ b/htdocs/user/class/usergroup.class.php @@ -107,7 +107,7 @@ class UserGroup extends CommonObject * @param boolean $load_members Load all members of the group * @return int <0 if KO, >0 if OK */ - function fetch($id='', $groupname='', $load_members = true) + function fetch($id = '', $groupname = '', $load_members = true) { global $conf; @@ -224,7 +224,7 @@ class UserGroup extends CommonObject * @param int $mode 0=Return array of user instance, 1=Return array of users id only * @return mixed Array of users or -1 on error */ - function listUsersForGroup($excludefilter='', $mode=0) + function listUsersForGroup($excludefilter = '', $mode = 0) { global $conf, $user; @@ -289,7 +289,7 @@ class UserGroup extends CommonObject * @param int $entity Entity to use * @return int > 0 if OK, < 0 if KO */ - function addrights($rid, $allmodule='', $allperms='', $entity=0) + function addrights($rid, $allmodule = '', $allperms = '', $entity = 0) { global $conf, $user, $langs; @@ -415,7 +415,7 @@ class UserGroup extends CommonObject * @param int $entity Entity to use * @return int > 0 if OK, < 0 if OK */ - function delrights($rid, $allmodule='', $allperms='', $entity=0) + function delrights($rid, $allmodule = '', $allperms = '', $entity = 0) { global $conf, $user, $langs; @@ -537,7 +537,7 @@ class UserGroup extends CommonObject * @param string $moduletag Name of module we want permissions ('' means all) * @return int <0 if KO, >0 if OK */ - function getrights($moduletag='') + function getrights($moduletag = '') { global $conf; @@ -676,7 +676,7 @@ class UserGroup extends CommonObject * @param int $notrigger 0=triggers enabled, 1=triggers disabled * @return int <0 if KO, >=0 if OK */ - function create($notrigger=0) + function create($notrigger = 0) { global $user, $conf, $langs, $hookmanager; @@ -747,7 +747,7 @@ class UserGroup extends CommonObject * @param int $notrigger 0=triggers enabled, 1=triggers disabled * @return int <0 if KO, >=0 if OK */ - function update($notrigger=0) + function update($notrigger = 0) { global $user, $conf, $langs, $hookmanager; @@ -817,7 +817,7 @@ class UserGroup extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut(0,$mode); } @@ -830,7 +830,7 @@ class UserGroup extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($statut,$mode=0) + function LibStatut($statut, $mode = 0) { // phpcs:enable global $langs; @@ -849,7 +849,7 @@ class UserGroup extends CommonObject * @param int $save_lastsearch_value -1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1) + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $morecss = '', $save_lastsearch_value = -1) { global $langs, $conf, $db, $hookmanager; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -925,7 +925,7 @@ class UserGroup extends CommonObject * 2=Return key only (uid=qqq) * @return string DN */ - function _load_ldap_dn($info,$mode=0) + function _load_ldap_dn($info, $mode = 0) { // phpcs:enable global $conf; @@ -1011,7 +1011,7 @@ class UserGroup extends CommonObject * @param null|array $moreparams Array to provide more information * @return int 0 if KO, 1 if OK */ - public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $moreparams=null) + public function generateDocument($modele, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0, $moreparams = null) { global $conf,$user,$langs; diff --git a/htdocs/webservices/server_actioncomm.php b/htdocs/webservices/server_actioncomm.php index a9edcb0557a..763dd500366 100644 --- a/htdocs/webservices/server_actioncomm.php +++ b/htdocs/webservices/server_actioncomm.php @@ -244,7 +244,7 @@ $server->register( * @param int $id Id of object * @return mixed */ -function getActionComm($authentication,$id) +function getActionComm($authentication, $id) { global $db,$conf,$langs; @@ -408,7 +408,7 @@ function getListActionCommType($authentication) * @param ActionComm $actioncomm $actioncomm * @return array Array result */ -function createActionComm($authentication,$actioncomm) +function createActionComm($authentication, $actioncomm) { global $db,$conf,$langs; @@ -491,7 +491,7 @@ function createActionComm($authentication,$actioncomm) * @param ActionComm $actioncomm $actioncomm * @return array Array result */ -function updateActionComm($authentication,$actioncomm) +function updateActionComm($authentication, $actioncomm) { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_category.php b/htdocs/webservices/server_category.php index a941c2aceff..491122f748c 100644 --- a/htdocs/webservices/server_category.php +++ b/htdocs/webservices/server_category.php @@ -186,7 +186,7 @@ $server->register( * @param int $id Id of object * @return mixed */ -function getCategory($authentication,$id) +function getCategory($authentication, $id) { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_contact.php b/htdocs/webservices/server_contact.php index edb429af0d3..8143b4cd178 100644 --- a/htdocs/webservices/server_contact.php +++ b/htdocs/webservices/server_contact.php @@ -235,7 +235,7 @@ $server->register( * @param string $ref_ext Ref external of object * @return mixed */ -function getContact($authentication,$id,$ref_ext) +function getContact($authentication, $id, $ref_ext) { global $db,$conf,$langs; @@ -352,7 +352,7 @@ function getContact($authentication,$id,$ref_ext) * @param Contact $contact $contact * @return array Array result */ -function createContact($authentication,$contact) +function createContact($authentication, $contact) { global $db,$conf,$langs; @@ -463,7 +463,7 @@ function createContact($authentication,$contact) * @param int $idthirdparty Id thirdparty * @return array Array result */ -function getContactsForThirdParty($authentication,$idthirdparty) +function getContactsForThirdParty($authentication, $idthirdparty) { global $db,$conf,$langs; @@ -595,7 +595,7 @@ function getContactsForThirdParty($authentication,$idthirdparty) * @param Contact $contact Contact * @return array Array result */ -function updateContact($authentication,$contact) +function updateContact($authentication, $contact) { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_invoice.php b/htdocs/webservices/server_invoice.php index 4e8d3ec41d8..8287d3bff48 100644 --- a/htdocs/webservices/server_invoice.php +++ b/htdocs/webservices/server_invoice.php @@ -286,7 +286,7 @@ $server->register( * @param string $ref_ext Ref_ext * @return array Array result */ -function getInvoice($authentication,$id='',$ref='',$ref_ext='') +function getInvoice($authentication, $id = '', $ref = '', $ref_ext = '') { global $db,$conf,$langs; @@ -399,7 +399,7 @@ function getInvoice($authentication,$id='',$ref='',$ref_ext='') * @param int $idthirdparty Id thirdparty * @return array Array result */ -function getInvoicesForThirdParty($authentication,$idthirdparty) +function getInvoicesForThirdParty($authentication, $idthirdparty) { global $db,$conf,$langs; @@ -534,7 +534,7 @@ function getInvoicesForThirdParty($authentication,$idthirdparty) * @param Facture $invoice Invoice * @return array Array result */ -function createInvoice($authentication,$invoice) +function createInvoice($authentication, $invoice) { global $db,$conf,$langs; @@ -654,7 +654,7 @@ function createInvoice($authentication,$invoice) * @param string $ref_ext_order ref_ext of order to copy invoice from * @return array Array result */ -function createInvoiceFromOrder($authentication,$id_order='', $ref_order='', $ref_ext_order='') +function createInvoiceFromOrder($authentication, $id_order = '', $ref_order = '', $ref_ext_order = '') { global $db,$conf; @@ -740,7 +740,7 @@ function createInvoiceFromOrder($authentication,$id_order='', $ref_order='', $re * @param Facture $invoice Invoice * @return array Array result */ -function updateInvoice($authentication,$invoice) +function updateInvoice($authentication, $invoice) { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_order.php b/htdocs/webservices/server_order.php index c74b5660873..0d38d601b99 100644 --- a/htdocs/webservices/server_order.php +++ b/htdocs/webservices/server_order.php @@ -344,7 +344,7 @@ $server->register( * @param string $ref_ext Ref_ext * @return array Array result */ -function getOrder($authentication,$id='',$ref='',$ref_ext='') +function getOrder($authentication, $id = '', $ref = '', $ref_ext = '') { global $db,$conf,$langs; @@ -496,7 +496,7 @@ function getOrder($authentication,$id='',$ref='',$ref_ext='') * @param int $idthirdparty Id of thirdparty * @return array Array result */ -function getOrdersForThirdParty($authentication,$idthirdparty) +function getOrdersForThirdParty($authentication, $idthirdparty) { global $db,$conf,$langs; @@ -655,7 +655,7 @@ function getOrdersForThirdParty($authentication,$idthirdparty) * @param array $order Order info * @return int Id of new order */ -function createOrder($authentication,$order) +function createOrder($authentication, $order) { global $db,$conf,$langs; @@ -795,7 +795,7 @@ function createOrder($authentication,$order) * @param int $id_warehouse Id of warehouse to use for stock decrease * @return array Array result */ -function validOrder($authentication,$id='',$id_warehouse=0) +function validOrder($authentication, $id = '', $id_warehouse = 0) { global $db,$conf,$langs; @@ -875,7 +875,7 @@ function validOrder($authentication,$id='',$id_warehouse=0) * @param array $order Order info * @return array Array result */ -function updateOrder($authentication,$order) +function updateOrder($authentication, $order) { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_other.php b/htdocs/webservices/server_other.php index 895e5d55af4..6037b5285e0 100644 --- a/htdocs/webservices/server_other.php +++ b/htdocs/webservices/server_other.php @@ -181,7 +181,7 @@ function getVersions($authentication) * @param string $refname Ref of object to check permission for external users (autodetect if not provided) * @return void */ -function getDocument($authentication, $modulepart, $file, $refname='') +function getDocument($authentication, $modulepart, $file, $refname = '') { global $db,$conf,$langs,$mysoc; diff --git a/htdocs/webservices/server_productorservice.php b/htdocs/webservices/server_productorservice.php index 1e301350063..93e85827c14 100644 --- a/htdocs/webservices/server_productorservice.php +++ b/htdocs/webservices/server_productorservice.php @@ -333,7 +333,7 @@ $server->register( * @param string $lang Lang to force * @return mixed */ -function getProductOrService($authentication,$id='',$ref='',$ref_ext='',$lang='') +function getProductOrService($authentication, $id = '', $ref = '', $ref_ext = '', $lang = '') { global $db,$conf,$langs; @@ -467,7 +467,7 @@ function getProductOrService($authentication,$id='',$ref='',$ref_ext='',$lang='' * @param Product $product Product * @return array Array result */ -function createProductOrService($authentication,$product) +function createProductOrService($authentication, $product) { global $db,$conf,$langs; @@ -635,7 +635,7 @@ function createProductOrService($authentication,$product) * @param Product $product Product * @return array Array result */ -function updateProductOrService($authentication,$product) +function updateProductOrService($authentication, $product) { global $db,$conf,$langs; @@ -823,7 +823,7 @@ function updateProductOrService($authentication,$product) * @param string $listofidstring List of id with comma * @return array Array result */ -function deleteProductOrService($authentication,$listofidstring) +function deleteProductOrService($authentication, $listofidstring) { global $db,$conf,$langs; @@ -920,7 +920,7 @@ function deleteProductOrService($authentication,$listofidstring) * @param array $filterproduct Filter fields * @return array Array result */ -function getListOfProductsOrServices($authentication,$filterproduct) +function getListOfProductsOrServices($authentication, $filterproduct) { global $db,$conf,$langs; @@ -997,7 +997,7 @@ function getListOfProductsOrServices($authentication,$filterproduct) * @param $lang $lang Force lang * @return array Array result */ -function getProductsForCategory($authentication,$id,$lang='') +function getProductsForCategory($authentication, $id, $lang = '') { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_project.php b/htdocs/webservices/server_project.php index 822081011aa..a064eff1ebc 100644 --- a/htdocs/webservices/server_project.php +++ b/htdocs/webservices/server_project.php @@ -329,7 +329,7 @@ function createProject($authentication, $project) * @param string $ref internal reference * @return array Array result */ -function getProject($authentication,$id='',$ref='') +function getProject($authentication, $id = '', $ref = '') { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_supplier_invoice.php b/htdocs/webservices/server_supplier_invoice.php index 50e5498dbe1..c5005dab24d 100644 --- a/htdocs/webservices/server_supplier_invoice.php +++ b/htdocs/webservices/server_supplier_invoice.php @@ -223,7 +223,7 @@ $server->register( * @param string $ref_ext Ref_ext * @return array Array result */ -function getSupplierInvoice($authentication,$id='',$ref='',$ref_ext='') +function getSupplierInvoice($authentication, $id = '', $ref = '', $ref_ext = '') { global $db,$conf,$langs; @@ -333,7 +333,7 @@ function getSupplierInvoice($authentication,$id='',$ref='',$ref_ext='') * @return array Array result * */ -function getSupplierInvoicesForThirdParty($authentication,$idthirdparty) +function getSupplierInvoicesForThirdParty($authentication, $idthirdparty) { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_thirdparty.php b/htdocs/webservices/server_thirdparty.php index 7f0b590ee9a..1587a403940 100644 --- a/htdocs/webservices/server_thirdparty.php +++ b/htdocs/webservices/server_thirdparty.php @@ -283,7 +283,7 @@ $server->register( * @param string $ref_ext external reference * @return array Array result */ -function getThirdParty($authentication,$id='',$ref='',$ref_ext='') +function getThirdParty($authentication, $id = '', $ref = '', $ref_ext = '') { global $db,$conf,$langs; @@ -399,7 +399,7 @@ function getThirdParty($authentication,$id='',$ref='',$ref_ext='') * @param Societe $thirdparty Thirdparty * @return array Array result */ -function createThirdParty($authentication,$thirdparty) +function createThirdParty($authentication, $thirdparty) { global $db,$conf,$langs; @@ -525,7 +525,7 @@ function createThirdParty($authentication,$thirdparty) * @param Societe $thirdparty Thirdparty * @return array Array result */ -function updateThirdParty($authentication,$thirdparty) +function updateThirdParty($authentication, $thirdparty) { global $db,$conf,$langs; @@ -655,7 +655,7 @@ function updateThirdParty($authentication,$thirdparty) * @param array $filterthirdparty Filter fields (key=>value to filer on. For example 'client'=>2, 'supplier'=>1, 'category'=>idcateg, 'name'=>'searchstring', ...) * @return array Array result */ -function getListOfThirdParties($authentication,$filterthirdparty) +function getListOfThirdParties($authentication, $filterthirdparty) { global $db,$conf,$langs; @@ -760,7 +760,7 @@ function getListOfThirdParties($authentication,$filterthirdparty) * @param string $ref_ext external reference * @return array Array result */ -function deleteThirdParty($authentication,$id='',$ref='',$ref_ext='') +function deleteThirdParty($authentication, $id = '', $ref = '', $ref_ext = '') { global $db,$conf,$langs; diff --git a/htdocs/webservices/server_user.php b/htdocs/webservices/server_user.php index 81702c55456..5bc8350d563 100644 --- a/htdocs/webservices/server_user.php +++ b/htdocs/webservices/server_user.php @@ -301,7 +301,7 @@ $server->register( * @param string $ref_ext Ref external of object * @return mixed */ -function getUser($authentication,$id,$ref='',$ref_ext='') +function getUser($authentication, $id, $ref = '', $ref_ext = '') { global $db,$conf,$langs; @@ -473,7 +473,7 @@ function getListOfGroups($authentication) * @param array $thirdpartywithuser Datas * @return mixed */ -function createUserFromThirdparty($authentication,$thirdpartywithuser) +function createUserFromThirdparty($authentication, $thirdpartywithuser) { global $db,$conf,$langs; @@ -681,7 +681,7 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser) * @param array $shortuser Array of login/password info * @return mixed */ -function setUserPassword($authentication,$shortuser) +function setUserPassword($authentication, $shortuser) { global $db,$conf,$langs; diff --git a/htdocs/website/class/website.class.php b/htdocs/website/class/website.class.php index 0e6ee83aa9d..e0cd985ced1 100644 --- a/htdocs/website/class/website.class.php +++ b/htdocs/website/class/website.class.php @@ -301,7 +301,7 @@ class Website extends CommonObject * * @return int <0 if KO, >0 if OK */ - public function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, array $filter = array(), $filtermode='AND') + public function fetchAll($sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') { dol_syslog(__METHOD__, LOG_DEBUG); @@ -517,7 +517,7 @@ class Website extends CommonObject * @param string $newlang New language * @return mixed New object created, <0 if KO */ - public function createFromClone($user, $fromid, $newref, $newlang='') + public function createFromClone($user, $fromid, $newref, $newlang = '') { global $hookmanager, $langs; global $dolibarr_main_data_root; @@ -671,7 +671,7 @@ class Website extends CommonObject * @param string $morecss Add more css on link * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='') + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $maxlen = 24, $morecss = '') { global $langs, $conf, $db; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -707,7 +707,7 @@ class Website extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -720,7 +720,7 @@ class Website extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; @@ -1094,7 +1094,7 @@ class Website extends CommonObject * @param string $htmlname Suffix for HTML name * @return string HTML select component */ - public function componentSelectLang($languagecodes, $weblangs, $morecss='', $htmlname='') + public function componentSelectLang($languagecodes, $weblangs, $morecss = '', $htmlname = '') { global $websitepagefile, $website; diff --git a/htdocs/website/class/websitepage.class.php b/htdocs/website/class/websitepage.class.php index ffa2176f142..778998f8ac2 100644 --- a/htdocs/website/class/websitepage.class.php +++ b/htdocs/website/class/websitepage.class.php @@ -256,7 +256,7 @@ class WebsitePage extends CommonObject * @param string $filtermode Filter mode (AND or OR) * @return array|int int <0 if KO, array of pages if OK */ - public function fetchAll($websiteid, $sortorder='', $sortfield='', $limit=0, $offset=0, array $filter=array(), $filtermode='AND') + public function fetchAll($websiteid, $sortorder = '', $sortfield = '', $limit = 0, $offset = 0, array $filter = array(), $filtermode = 'AND') { dol_syslog(__METHOD__, LOG_DEBUG); @@ -407,7 +407,7 @@ class WebsitePage extends CommonObject * @param int $keeptitleunchanged 1=Keep title unchanged * @return mixed New object created, <0 if KO */ - public function createFromClone(User $user, $fromid, $newref, $newlang='', $istranslation=0, $newwebsite=0, $keeptitleunchanged=0) + public function createFromClone(User $user, $fromid, $newref, $newlang = '', $istranslation = 0, $newwebsite = 0, $keeptitleunchanged = 0) { global $hookmanager, $langs; @@ -472,7 +472,7 @@ class WebsitePage extends CommonObject * @param string $morecss Add more css on link * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='') + function getNomUrl($withpicto = 0, $option = '', $notooltip = 0, $maxlen = 24, $morecss = '') { global $langs, $conf, $db; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -507,7 +507,7 @@ class WebsitePage extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function getLibStatut($mode=0) + function getLibStatut($mode = 0) { return $this->LibStatut($this->status,$mode); } @@ -520,7 +520,7 @@ class WebsitePage extends CommonObject * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto * @return string Label of status */ - function LibStatut($status,$mode=0) + function LibStatut($status, $mode = 0) { // phpcs:enable global $langs; diff --git a/scripts/contracts/email_expire_services_to_customers.php b/scripts/contracts/email_expire_services_to_customers.php index 43a0b2524e6..9e51804857c 100755 --- a/scripts/contracts/email_expire_services_to_customers.php +++ b/scripts/contracts/email_expire_services_to_customers.php @@ -220,7 +220,7 @@ else * @param int $duration_value duration value * @return int <0 if KO, >0 if OK */ -function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldtarget,$duration_value) +function envoi_mail($mode, $oldemail, $message, $total, $userlang, $oldtarget, $duration_value) { global $conf,$langs; diff --git a/scripts/contracts/email_expire_services_to_representatives.php b/scripts/contracts/email_expire_services_to_representatives.php index a23652a779f..8ee56ddf2eb 100755 --- a/scripts/contracts/email_expire_services_to_representatives.php +++ b/scripts/contracts/email_expire_services_to_representatives.php @@ -187,7 +187,7 @@ else * @param int $duration_value duration value * @return int <0 if KO, >0 if OK */ -function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldsalerepresentative,$duration_value) +function envoi_mail($mode, $oldemail, $message, $total, $userlang, $oldsalerepresentative, $duration_value) { global $conf,$langs; diff --git a/scripts/cron/cron_run_jobs.php b/scripts/cron/cron_run_jobs.php index 873fc0ae9fb..228f130dbb3 100755 --- a/scripts/cron/cron_run_jobs.php +++ b/scripts/cron/cron_run_jobs.php @@ -255,7 +255,7 @@ exit(0); * @param string $script_file filename * @return void */ -function usage($path,$script_file) +function usage($path, $script_file) { global $conf; diff --git a/scripts/invoices/email_unpaid_invoices_to_customers.php b/scripts/invoices/email_unpaid_invoices_to_customers.php index 57fdeeed76f..23026336347 100755 --- a/scripts/invoices/email_unpaid_invoices_to_customers.php +++ b/scripts/invoices/email_unpaid_invoices_to_customers.php @@ -218,7 +218,7 @@ else * @param string $oldtarget Target name * @return int <0 if KO, >0 if OK */ -function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldtarget) +function envoi_mail($mode, $oldemail, $message, $total, $userlang, $oldtarget) { global $conf,$langs; diff --git a/scripts/invoices/email_unpaid_invoices_to_representatives.php b/scripts/invoices/email_unpaid_invoices_to_representatives.php index 37b421bcefd..d79d402863e 100755 --- a/scripts/invoices/email_unpaid_invoices_to_representatives.php +++ b/scripts/invoices/email_unpaid_invoices_to_representatives.php @@ -192,7 +192,7 @@ else * @param string $oldsalerepresentative Old sale representative * @return int <0 if KO, >0 if OK */ -function envoi_mail($mode,$oldemail,$message,$total,$userlang,$oldsalerepresentative) +function envoi_mail($mode, $oldemail, $message, $total, $userlang, $oldsalerepresentative) { global $conf,$langs; diff --git a/test/phpunit/FactureRecTest.php b/test/phpunit/FactureRecTest.php index 07d728eb0ec..432c3556ff0 100644 --- a/test/phpunit/FactureRecTest.php +++ b/test/phpunit/FactureRecTest.php @@ -171,7 +171,7 @@ class FactureRecTest extends PHPUnit_Framework_TestCase * @param array $fieldstoignorearray Array of fields to ignore in diff * @return array Array with differences */ - public function objCompare($oA,$oB,$ignoretype=true,$fieldstoignorearray=array('id')) + public function objCompare($oA, $oB, $ignoretype = true, $fieldstoignorearray = array('id')) { $retAr=array(); diff --git a/test/phpunit/FactureTest.php b/test/phpunit/FactureTest.php index cb23c7d092e..abf1f286a90 100644 --- a/test/phpunit/FactureTest.php +++ b/test/phpunit/FactureTest.php @@ -349,7 +349,7 @@ class FactureTest extends PHPUnit_Framework_TestCase * @param array $fieldstoignorearray Array of fields to ignore in diff * @return array Array with differences */ - public function objCompare($oA,$oB,$ignoretype=true,$fieldstoignorearray=array('id')) + public function objCompare($oA, $oB, $ignoretype = true, $fieldstoignorearray = array('id')) { $retAr=array(); diff --git a/test/phpunit/UserTest.php b/test/phpunit/UserTest.php index 9b8e5217183..58e08affb69 100644 --- a/test/phpunit/UserTest.php +++ b/test/phpunit/UserTest.php @@ -321,7 +321,7 @@ class UserTest extends PHPUnit_Framework_TestCase * @param array $fieldstoignorearray Array of fields to ignore in diff * @return array Array with differences */ - public function objCompare($oA,$oB,$ignoretype=true,$fieldstoignorearray=array('id')) + public function objCompare($oA, $oB, $ignoretype = true, $fieldstoignorearray = array('id')) { $retAr=array(); From b8ec33d29b7c8e3707eec2b47c6dfe3cc9e69feb Mon Sep 17 00:00:00 2001 From: Philippe GRAND <philippe.grand@atoo-net.com> Date: Sun, 27 Jan 2019 17:28:18 +0100 Subject: [PATCH 039/130] fix translations --- .../core/modules/expedition/modules_expedition.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/core/modules/expedition/modules_expedition.php b/htdocs/core/modules/expedition/modules_expedition.php index a22ae0d0f99..583e315d564 100644 --- a/htdocs/core/modules/expedition/modules_expedition.php +++ b/htdocs/core/modules/expedition/modules_expedition.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr> * Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2011-2013 Philippe Grand <philippe.grand@atoo-net.com> + * Copyright (C) 2011-2019 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com> * * This program is free software; you can redistribute it and/or modify @@ -44,7 +44,7 @@ abstract class ModelePdfExpedition extends CommonDocGenerator // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps /** - * Return list of active generation modules + * Return list of active generation models * * @param DoliDB $db Database handler * @param integer $maxfilenamelength Max length of value to show @@ -56,12 +56,12 @@ abstract class ModelePdfExpedition extends CommonDocGenerator global $conf; $type='shipping'; - $liste=array(); + $list=array(); include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; - $liste=getListOfModels($db,$type,$maxfilenamelength); + $list=getListOfModels($db,$type,$maxfilenamelength); - return $liste; + return $list; } } @@ -112,7 +112,7 @@ abstract class ModelNumRefExpedition /** * Test if existing numbers make problems with numbering * - * @return boolean false if conflit, true if ok + * @return boolean false if conflict, true if ok */ function canBeActivated() { From d59097f65c25c9b8529a402475f1ac211aaed850 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Sun, 27 Jan 2019 17:40:56 +0100 Subject: [PATCH 040/130] Fix upload of module file --- htdocs/admin/modules.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index ae87a19e433..7a9241fb9d4 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -141,6 +141,12 @@ if ($action=='install') setEventMessages($langs->trans("ErrorFilenameDosNotMatchDolibarrPackageRules",$original_file, 'module_*-x.y*.zip'), null, 'errors'); $error++; } + if (empty($_FILES['fileinstall']['tmp_name'])) + { + $langs->load("errors"); + setEventMessages($langs->trans("ErrorFileNotUploaded"), null, 'errors'); + $error++; + } } if (! $error) @@ -151,14 +157,14 @@ if ($action=='install') dol_mkdir($conf->admin->dir_temp.'/'.$original_file); } - $tmpdir=preg_replace('/\.zip$/','',$original_file).'.dir'; + $tmpdir=preg_replace('/\.zip$/i','',$original_file).'.dir'; if ($tmpdir) { @dol_delete_dir_recursive($conf->admin->dir_temp.'/'.$tmpdir); dol_mkdir($conf->admin->dir_temp.'/'.$tmpdir); } - $result=dol_move_uploaded_file($_FILES['fileinstall']['tmp_name'],$newfile,1,0,$_FILES['fileinstall']['error']); + $result=dol_move_uploaded_file($_FILES['fileinstall']['tmp_name'], $newfile, 1, 0, $_FILES['fileinstall']['error']); if ($result > 0) { $result=dol_uncompress($newfile,$conf->admin->dir_temp.'/'.$tmpdir); @@ -206,6 +212,7 @@ if ($action=='install') } else { + setEventMessages($langs->trans("ErrorFailToRenameFile", $_FILES['fileinstall']['tmp_name'], $newfile), null, 'errors'); $error++; } } @@ -1002,6 +1009,7 @@ if ($mode == 'deploy') print '<br>'; print '<form enctype="multipart/form-data" method="POST" class="noborder" action="'.$_SERVER["PHP_SELF"].'" name="forminstall">'; + print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="action" value="install">'; print '<input type="hidden" name="mode" value="deploy">'; @@ -1027,6 +1035,20 @@ if ($mode == 'deploy') print '<input type="submit" name="send" value="'.dol_escape_htmltag($langs->trans("Send")).'" class="button">'; + if (! empty($conf->global->MAIN_UPLOAD_DOC)) + { + if ($user->admin) + { + $langs->load('other'); + print ' '; + print info_admin($langs->trans("ThisLimitIsDefinedInSetup",$max,$maxphp),1); + } + } + else + { + print ' ('.$langs->trans("UploadDisabled").')'; + } + print '</form>'; print '<br>'; From 56838bc6598a568e5154a06f222fbe8ee04815a3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Sun, 27 Jan 2019 18:11:18 +0100 Subject: [PATCH 041/130] Fix missing field into migration --- htdocs/install/mysql/migration/9.0.0-10.0.0.sql | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/htdocs/install/mysql/migration/9.0.0-10.0.0.sql b/htdocs/install/mysql/migration/9.0.0-10.0.0.sql index 83a34b80db5..2d2fc43e1ef 100644 --- a/htdocs/install/mysql/migration/9.0.0-10.0.0.sql +++ b/htdocs/install/mysql/migration/9.0.0-10.0.0.sql @@ -90,3 +90,7 @@ ALTER TABLE llx_bank_url ADD UNIQUE INDEX uk_bank_url (fk_bank, url_id, type); ALTER TABLE llx_actioncomm ADD COLUMN calling_duration integer; + + +ALTER TABLE llx_don ADD COLUMN fk_soc integer NULL; + From 97545af1fde0d59ba5f3de0d40387d0722becb9d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Sun, 27 Jan 2019 18:26:18 +0100 Subject: [PATCH 042/130] Translation --- build/exe/doliwamp/Languages/MyEnglish.isl | 6 +++--- build/exe/doliwamp/Languages/MyFrench.isl | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/exe/doliwamp/Languages/MyEnglish.isl b/build/exe/doliwamp/Languages/MyEnglish.isl index 8a8ced59ddb..18068087804 100644 --- a/build/exe/doliwamp/Languages/MyEnglish.isl +++ b/build/exe/doliwamp/Languages/MyEnglish.isl @@ -11,9 +11,9 @@ LaunchProgram=Launch %1 AssocFileExtension=&Associate %1 with the %2 file extension AssocingFileExtension=Associating %1 with the %2 file extension... -YouWillInstallDoliWamp=You will install or upgrade DoliWamp (Apache+Mysql+PHP+Dolibarr) on your computer. -ThisAssistantInstallOrUpgrade=This assistant installs or upgrades Dolibarr ERP-CRM and all required third party softwares (Apache, Mysql and PHP) optimized for a Dolibarr usage. -IfYouHaveTechnicalKnowledge=If you are looking for a hosted version in the Cloud, you should look at https://saas.dolibarr.org. If you have technical knowledge and want to manage your Apache, Mysql and PHP yourself, you should not use this assistant and make a manual installation of Dolibarr on your existing Apache, Mysql and PHP installation. +YouWillInstallDoliWamp=You will install or upgrade DoliWamp (so Dolibarr + all required third party softwares like Apache, Mysql and PHP) on your computer. +ThisAssistantInstallOrUpgrade=WARNING: Using an ERP CRM installed on a local computer can be dangerous: if your computer break down, you can lose all your data. Do this if you are ready to manage backup yourself seriously. If not, use an installation in Saas instead (see https://saas.dolibarr.org). +IfYouHaveTechnicalKnowledge=Moreover, if you have technical knowledges and want to manage your Apache, Mysql and PHP yourself, you should not use this assistant and make a manual installation of Dolibarr on your existing server with Apache, Mysql and PHP. ButIfYouLook=But if you look for an automatic setup on your local computer, you''re on the good way... DoYouWantToStart=Do you want to start installation/upgrade process ? diff --git a/build/exe/doliwamp/Languages/MyFrench.isl b/build/exe/doliwamp/Languages/MyFrench.isl index 1caaf25b693..2e93a44081e 100644 --- a/build/exe/doliwamp/Languages/MyFrench.isl +++ b/build/exe/doliwamp/Languages/MyFrench.isl @@ -11,10 +11,10 @@ LaunchProgram=Ex AssocFileExtension=&Associer %1 avec l'extension de fichier %2 AssocingFileExtension=Associe %1 avec l'extension de fichier %2... -YouWillInstallDoliWamp=Vous allez installer ou mettre à jour DoliWamp (Apache+Mysql+PHP+Dolibarr) sur votre ordinateur. -ThisAssistantInstallOrUpgrade=Cet assistant installe ou met à jour Dolibarr ERP-CRM et tous ses composants prérequis (Apache, Mysql et PHP) optimisés pour une utilisation de Dolibarr. -IfYouHaveTechnicalKnowledge=Si vous avez des compétences techniques et envisagez de partager votre Apache, Mysql et PHP avec d'autres applications que Dolibarr, vous ne devriez pas utiliser cet assistant mais faire plutôt une installation manuelle de Dolibarr sur un socle Apache, Mysql et PHP existant. -ButIfYouLook=Mais si vous recherchez une installation clé en main automatisée, vous êtes sur la bonne voie... +YouWillInstallDoliWamp=Vous allez installer ou mettre à jour DoliWamp sur votre ordinateur (donc Dolibarr + tous ses composants prérequis comme Apache, Mysql et PHP). +ThisAssistantInstallOrUpgrade=AVERTISSEMENT: L'utilisation d'un ERP CRM installé sur un ordinateur local peut être dangereuse: si votre ordinateur tombe en panne, vous pouvez perdre toutes vos données. Faites-le si vous êtes prêt à gérer les sauvegardes vous-même sérieusement. Sinon, utilisez plutôt une installation en Saas (voir https://saas.dolibarr.org). +IfYouHaveTechnicalKnowledge=De plus, si vous avez des compétences techniques et envisagez de partager votre Apache, Mysql et PHP avec d''autres applications que Dolibarr, vous ne devriez pas utiliser cet assistant mais faire plutôt une installation manuelle de Dolibarr sur un serveur existant équipé de Apache, Mysql et PHP. +ButIfYouLook=Mais si vous recherchez une installation clé en main automatisée sur une poste local, vous êtes sur la bonne voie... DoYouWantToStart=Voulez-vous démarrer le processus d'installation/mise à jour ? TechnicalParameters=Paramètres techniques From de0a057b8aff3914f3888e565683611176a73d77 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Sun, 27 Jan 2019 19:41:14 +0100 Subject: [PATCH 043/130] Fix div not closed --- htdocs/societe/checkvat/checkVatPopup.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/societe/checkvat/checkVatPopup.php b/htdocs/societe/checkvat/checkVatPopup.php index 0c125ae3b4c..689df14f3d7 100644 --- a/htdocs/societe/checkvat/checkVatPopup.php +++ b/htdocs/societe/checkvat/checkVatPopup.php @@ -40,8 +40,7 @@ $conf->dol_hide_leftmenu=1; llxHeader('', $langs->trans("VATIntraCheckableOnEUSite")); -print '<div>'; -print '<div>'; +print '<div class="vatcheckarea" style="margin-bottom: 10px">'; print load_fiche_titre($langs->trans("VATIntraCheckableOnEUSite"),'','title_setup'); @@ -174,6 +173,8 @@ if ($messagetoshow) print nl2br($messagetoshow); } +print '</div>'; + // End of page llxFooter(); $db->close(); From b2c57cb4f2e9f2f2f83851b70523b60336600ca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= <frederic34@users.noreply.github.com> Date: Sun, 27 Jan 2019 19:43:56 +0100 Subject: [PATCH 044/130] fix travis --- htdocs/core/modules/expensereport/mod_expensereport_jade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/expensereport/mod_expensereport_jade.php b/htdocs/core/modules/expensereport/mod_expensereport_jade.php index 4690b64e0b5..1be0c815bd9 100644 --- a/htdocs/core/modules/expensereport/mod_expensereport_jade.php +++ b/htdocs/core/modules/expensereport/mod_expensereport_jade.php @@ -78,7 +78,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport /** - * Test whether the numbers already in force in the base do not cause conflicts + * Test whether the numbers already in force in the base do not cause conflicts * that would prevent this numbering from working. * * @return boolean false si conflit, true si ok From 46bc078481f0a82623f133ea82f574200e1cbaf6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Sun, 27 Jan 2019 23:10:10 +0100 Subject: [PATCH 045/130] Fix phpcs --- htdocs/core/modules/expensereport/mod_expensereport_jade.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/htdocs/core/modules/expensereport/mod_expensereport_jade.php b/htdocs/core/modules/expensereport/mod_expensereport_jade.php index 4690b64e0b5..e5fc023010b 100644 --- a/htdocs/core/modules/expensereport/mod_expensereport_jade.php +++ b/htdocs/core/modules/expensereport/mod_expensereport_jade.php @@ -44,7 +44,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport /** * @var string Nom du modele * @deprecated - * @see name + * @see $name */ public $nom='Jade'; @@ -78,7 +78,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport /** - * Test whether the numbers already in force in the base do not cause conflicts + * Test whether the numbers already in force in the base do not cause conflicts * that would prevent this numbering from working. * * @return boolean false si conflit, true si ok @@ -154,7 +154,6 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport endif; $ref_number_int = ($newref+1)-1; - $update_number_int = true; $user_author_infos = dolGetFirstLastname($fuser->firstname, $fuser->lastname); From 764a928cd6f1b51b800039a30aef82b3ff513b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= <frederic.france@free.fr> Date: Sun, 27 Jan 2019 23:48:36 +0100 Subject: [PATCH 046/130] wip --- htdocs/core/modules/expensereport/mod_expensereport_jade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/expensereport/mod_expensereport_jade.php b/htdocs/core/modules/expensereport/mod_expensereport_jade.php index 4690b64e0b5..1be0c815bd9 100644 --- a/htdocs/core/modules/expensereport/mod_expensereport_jade.php +++ b/htdocs/core/modules/expensereport/mod_expensereport_jade.php @@ -78,7 +78,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport /** - * Test whether the numbers already in force in the base do not cause conflicts + * Test whether the numbers already in force in the base do not cause conflicts * that would prevent this numbering from working. * * @return boolean false si conflit, true si ok From 26dea99375473046cc264b6c9f1bfc05e135dab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= <frederic34@users.noreply.github.com> Date: Mon, 28 Jan 2019 00:07:38 +0100 Subject: [PATCH 047/130] Update box_task.php --- htdocs/core/boxes/box_task.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/htdocs/core/boxes/box_task.php b/htdocs/core/boxes/box_task.php index bfcf5d2c301..5f576c3a83d 100644 --- a/htdocs/core/boxes/box_task.php +++ b/htdocs/core/boxes/box_task.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2012-2018 Charlene BENKE <charlie@patas-monkey.com> - * Copyright (C) 2015 Frederic France <frederic.france@free.fr> + * Copyright (C) 2015-2019 Frederic France <frederic.france@netlogic.fr> * * 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 @@ -104,12 +104,10 @@ class box_task extends ModeleBoxes $sql.= $db->plimit($max, 0); $result = $db->query($sql); - if ($result) - { + $i = 0; + if ($result) { $num = $db->num_rows($result); - $i = 0; - while ($i < $num) - { + while ($i < $num) { $objp = $db->fetch_object($result); $this->info_box_contents[$i][] = array( 'td' => '', @@ -131,11 +129,11 @@ class box_task extends ModeleBoxes $i++; } - } - else dol_print_error($this->db); + } else { + dol_print_error($this->db); + } } - // Add the sum at the bottom of the boxes $this->info_box_contents[$i][] = array('tr' => 'class="liste_total"', 'td' => '', 'text' => $langs->trans("Total")." ".$textHead); $this->info_box_contents[$i][] = array('td' => 'align="right" ', 'text' => number_format($totalnb, 0, ',', ' ')." ".$langs->trans("Tasks")); From f7bcd1ef6d01a628c711406edee7cb9bd4c0f4d1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 01:35:12 +0100 Subject: [PATCH 048/130] Fix trans --- htdocs/compta/facture/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 03172f2c54d..cf25ab9d9ab 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -4650,7 +4650,7 @@ else if ($id > 0 || ! empty($ref)) } else { - print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseDispatchedInAccounting") . '">' . $langs->trans('Modify') . '</span></div>'; + print '<div class="inline-block divButAction"><span class="butActionRefused" title="' . $langs->trans("DisabledBecauseDispatchedInBookkeeping") . '">' . $langs->trans('Modify') . '</span></div>'; } } From 4398649af6b5ff956aa3e83634fc184f5166f5c1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 01:46:59 +0100 Subject: [PATCH 049/130] Add hooks to add column in list of payment modes --- htdocs/modulebuilder/template/myobject_list.php | 1 + htdocs/societe/paymentmodes.php | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index eeabbb11b1e..6eb76ae0360 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -446,6 +446,7 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; $parameters=array('arrayfields'=>$arrayfields,'param'=>$param,'sortfield'=>$sortfield,'sortorder'=>$sortorder); $reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; +// Action column print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"],'','','','align="center"',$sortfield,$sortorder,'maxwidthsearch ')."\n"; print '</tr>'."\n"; diff --git a/htdocs/societe/paymentmodes.php b/htdocs/societe/paymentmodes.php index 0853b7ee571..3e72c33c142 100644 --- a/htdocs/societe/paymentmodes.php +++ b/htdocs/societe/paymentmodes.php @@ -832,6 +832,11 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard' print '<td align="center">'.$langs->trans('Default').'</td>'; print '<td>'.$langs->trans('Note').'</td>'; print '<td>'.$langs->trans('DateModification').'</td>'; + // Hook fields + $parameters=array('arrayfields'=>array(),'param'=>'','sortfield'=>'','sortorder'=>''); + $reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column print "<td></td>"; print "</tr>\n"; @@ -917,6 +922,11 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard' print '<td>'; print dol_print_date($companypaymentmodetemp->tms, 'dayhour'); print '</td>'; + // Fields from hook + $parameters=array('arrayfields'=>array(), 'obj'=>$obj); + $reshook=$hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column print '<td align="right" class="nowraponall">'; if ($user->rights->societe->creer) { From 31f4513a7e13f3d3c2eb4451b2ca24fcb9f8d97f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 02:46:31 +0100 Subject: [PATCH 050/130] Fix bad function --- htdocs/public/payment/paymentok.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php index 2831da07b13..763edcce559 100644 --- a/htdocs/public/payment/paymentok.php +++ b/htdocs/public/payment/paymentok.php @@ -663,7 +663,7 @@ if ($ispaymentok) $result=$paiement->addPaymentToBank($user,'payment',$label, $bankaccountid, '', ''); if ($result < 0) { - $postactionmessages[] = $paiement->error.' '.joint("<br>\n", $paiement->errors); + $postactionmessages[] = $paiement->error.' '.join("<br>\n", $paiement->errors); $ispostactionok = -1; $error++; } From 273c396fb992c71e0d8619cd13ee95e6c0fa3e77 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 02:46:31 +0100 Subject: [PATCH 051/130] Fix bad function --- htdocs/public/payment/paymentok.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php index e48fc014749..7537d281feb 100644 --- a/htdocs/public/payment/paymentok.php +++ b/htdocs/public/payment/paymentok.php @@ -663,7 +663,7 @@ if ($ispaymentok) $result=$paiement->addPaymentToBank($user,'payment',$label, $bankaccountid, '', ''); if ($result < 0) { - $postactionmessages[] = $paiement->error.' '.joint("<br>\n", $paiement->errors); + $postactionmessages[] = $paiement->error.' '.join("<br>\n", $paiement->errors); $ispostactionok = -1; $error++; } From 1ebd7048fb5d802f7dc88289543c41bff776dd66 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 03:00:28 +0100 Subject: [PATCH 052/130] Add hook in list of stripe payment mode list --- htdocs/societe/paymentmodes.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/htdocs/societe/paymentmodes.php b/htdocs/societe/paymentmodes.php index 3e72c33c142..5f0cdb4d4c0 100644 --- a/htdocs/societe/paymentmodes.php +++ b/htdocs/societe/paymentmodes.php @@ -833,7 +833,7 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard' print '<td>'.$langs->trans('Note').'</td>'; print '<td>'.$langs->trans('DateModification').'</td>'; // Hook fields - $parameters=array('arrayfields'=>array(),'param'=>'','sortfield'=>'','sortorder'=>''); + $parameters=array('arrayfields'=>array(),'param'=>'','sortfield'=>'','sortorder'=>'', 'linetype'=>'stripetitle'); $reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Action column @@ -851,7 +851,7 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard' $companypaymentmodetemp = new CompanyPaymentMode($db); $sql='SELECT rowid FROM '.MAIN_DB_PREFIX."societe_rib"; - $sql.=" WHERE type in ('card', 'paypal')"; + $sql.=" WHERE type in ('card')"; $sql.=" AND fk_soc = ".$object->id; $sql.=" AND status = ".$servicestatus; @@ -923,7 +923,7 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard' print dol_print_date($companypaymentmodetemp->tms, 'dayhour'); print '</td>'; // Fields from hook - $parameters=array('arrayfields'=>array(), 'obj'=>$obj); + $parameters=array('arrayfields'=>array(), 'obj'=>$obj, 'linetype'=>'stripecard'); $reshook=$hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; // Action column @@ -1052,6 +1052,11 @@ if ($socid && $action != 'edit' && $action != 'create' && $action != 'editcard' //var_dump($src); print ''; print '</td>'; + // Fields from hook + $parameters=array('arrayfields'=>array(), 'stripesource'=>$src, 'linetype'=>'stripecardremoteonly'); + $reshook=$hookmanager->executeHooks('printFieldListValue', $parameters, $object); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column print '<td align="right" class="nowraponall">'; if ($user->rights->societe->creer) { From 5dbc9ddae09e2034cd1929211ae9b688a1736c30 Mon Sep 17 00:00:00 2001 From: John BOTELLA <john.botella@atm-consulting.fr> Date: Mon, 28 Jan 2019 11:56:20 +0100 Subject: [PATCH 053/130] fix travis --- htdocs/compta/sociales/class/chargesociales.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index da8f7c8f250..fbba5c13e63 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -280,7 +280,7 @@ class ChargeSociales extends CommonObject * @param User $user Utilisateur qui modifie * @return int <0 si erreur, >0 si ok */ - function update($user, $notrigger=0) + function update($user,$notrigger=0) { $error=0; $this->db->begin(); From 6f12cdf23686aab9f29b0a048f74915ecb2eb1e0 Mon Sep 17 00:00:00 2001 From: John BOTELLA <john.botella@atm-consulting.fr> Date: Mon, 28 Jan 2019 11:58:16 +0100 Subject: [PATCH 054/130] Fix travis --- htdocs/compta/sociales/class/chargesociales.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index fbba5c13e63..c3995a2202d 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -278,6 +278,7 @@ class ChargeSociales extends CommonObject * Met a jour une charge sociale * * @param User $user Utilisateur qui modifie + * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 si erreur, >0 si ok */ function update($user,$notrigger=0) From 2dea4f01f598849f8245f8928298d45095ebbbda Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 16:22:36 +0100 Subject: [PATCH 055/130] Fix lang format of en_ZA --- htdocs/langs/en_ZA/main.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_ZA/main.lang b/htdocs/langs/en_ZA/main.lang index 4c30b385ef8..58dfee14958 100644 --- a/htdocs/langs/en_ZA/main.lang +++ b/htdocs/langs/en_ZA/main.lang @@ -7,7 +7,7 @@ SeparatorThousand=, FormatDateShort=%Y/%m/%d FormatDateShortInput=%Y/%m/%d FormatDateShortJava=yyy/MM/dd -FormatDateShortJavaInput=yyyy/MM/yy +FormatDateShortJavaInput=yyyy/MM/dd FormatDateShortJQuery=yy/mm/yy FormatDateShortJQueryInput=yy/mm/dd FormatHourShortJQuery=HH:MI From 820db4e78b3970b2059707cd817a2c6ef52cac1d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 16:22:53 +0100 Subject: [PATCH 056/130] Fix lang format --- htdocs/langs/en_ZA/main.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_ZA/main.lang b/htdocs/langs/en_ZA/main.lang index 58dfee14958..1f6a0b9245d 100644 --- a/htdocs/langs/en_ZA/main.lang +++ b/htdocs/langs/en_ZA/main.lang @@ -8,7 +8,7 @@ FormatDateShort=%Y/%m/%d FormatDateShortInput=%Y/%m/%d FormatDateShortJava=yyy/MM/dd FormatDateShortJavaInput=yyyy/MM/dd -FormatDateShortJQuery=yy/mm/yy +FormatDateShortJQuery=yy/mm/dd FormatDateShortJQueryInput=yy/mm/dd FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M From 4545c0f13ad30da02ab2b9ef2e8f9c157b03dcfc Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 16:22:36 +0100 Subject: [PATCH 057/130] Fix lang format of en_ZA --- htdocs/langs/en_ZA/main.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_ZA/main.lang b/htdocs/langs/en_ZA/main.lang index 4c30b385ef8..58dfee14958 100644 --- a/htdocs/langs/en_ZA/main.lang +++ b/htdocs/langs/en_ZA/main.lang @@ -7,7 +7,7 @@ SeparatorThousand=, FormatDateShort=%Y/%m/%d FormatDateShortInput=%Y/%m/%d FormatDateShortJava=yyy/MM/dd -FormatDateShortJavaInput=yyyy/MM/yy +FormatDateShortJavaInput=yyyy/MM/dd FormatDateShortJQuery=yy/mm/yy FormatDateShortJQueryInput=yy/mm/dd FormatHourShortJQuery=HH:MI From 9dbf41d6b2728ccc6ed5a28328b2a234c2834af4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 16:22:53 +0100 Subject: [PATCH 058/130] Fix lang format --- htdocs/langs/en_ZA/main.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_ZA/main.lang b/htdocs/langs/en_ZA/main.lang index 58dfee14958..1f6a0b9245d 100644 --- a/htdocs/langs/en_ZA/main.lang +++ b/htdocs/langs/en_ZA/main.lang @@ -8,7 +8,7 @@ FormatDateShort=%Y/%m/%d FormatDateShortInput=%Y/%m/%d FormatDateShortJava=yyy/MM/dd FormatDateShortJavaInput=yyyy/MM/dd -FormatDateShortJQuery=yy/mm/yy +FormatDateShortJQuery=yy/mm/dd FormatDateShortJQueryInput=yy/mm/dd FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M From 9d1a02b0d7feb3f067f64cbb1a57d6e57325221a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Mon, 28 Jan 2019 16:25:37 +0100 Subject: [PATCH 059/130] Fix language --- htdocs/langs/en_ZA/main.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_ZA/main.lang b/htdocs/langs/en_ZA/main.lang index 4c30b385ef8..1f6a0b9245d 100644 --- a/htdocs/langs/en_ZA/main.lang +++ b/htdocs/langs/en_ZA/main.lang @@ -7,8 +7,8 @@ SeparatorThousand=, FormatDateShort=%Y/%m/%d FormatDateShortInput=%Y/%m/%d FormatDateShortJava=yyy/MM/dd -FormatDateShortJavaInput=yyyy/MM/yy -FormatDateShortJQuery=yy/mm/yy +FormatDateShortJavaInput=yyyy/MM/dd +FormatDateShortJQuery=yy/mm/dd FormatDateShortJQueryInput=yy/mm/dd FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M From cc88c4f8ffc705937e184f5328a75fe1c6d08d48 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO <aspangaro.dolibarr@gmail.com> Date: Mon, 28 Jan 2019 21:39:22 +0100 Subject: [PATCH 060/130] Move my email to the new one --- .mailmap | 6 +++--- htdocs/accountancy/admin/account.php | 2 +- htdocs/accountancy/admin/accountmodel.php | 2 +- htdocs/accountancy/admin/card.php | 2 +- htdocs/accountancy/admin/categories.php | 2 +- htdocs/accountancy/admin/categories_list.php | 2 +- htdocs/accountancy/admin/export.php | 2 +- htdocs/accountancy/admin/fiscalyear.php | 2 +- htdocs/accountancy/admin/fiscalyear_card.php | 2 +- htdocs/accountancy/admin/fiscalyear_info.php | 2 +- htdocs/accountancy/admin/importaccounts.php | 2 +- htdocs/accountancy/admin/index.php | 2 +- htdocs/accountancy/admin/journals_list.php | 2 +- htdocs/accountancy/admin/productaccount.php | 2 +- htdocs/accountancy/bookkeeping/balance.php | 2 +- htdocs/accountancy/bookkeeping/balancebymonth.php | 2 +- htdocs/accountancy/bookkeeping/card.php | 2 +- htdocs/accountancy/bookkeeping/list.php | 2 +- htdocs/accountancy/bookkeeping/listbyaccount.php | 2 +- .../bookkeeping/thirdparty_lettering_customer.php | 2 +- .../bookkeeping/thirdparty_lettering_supplier.php | 2 +- htdocs/accountancy/class/accountancycategory.class.php | 2 +- htdocs/accountancy/class/accountancyexport.class.php | 2 +- htdocs/accountancy/class/accountancysystem.class.php | 2 +- htdocs/accountancy/class/accountingaccount.class.php | 2 +- htdocs/accountancy/class/accountingjournal.class.php | 2 +- htdocs/accountancy/class/bookkeeping.class.php | 2 +- htdocs/accountancy/class/lettering.class.php | 2 +- htdocs/accountancy/customer/card.php | 2 +- htdocs/accountancy/customer/index.php | 2 +- htdocs/accountancy/customer/lines.php | 2 +- htdocs/accountancy/expensereport/card.php | 2 +- htdocs/accountancy/expensereport/index.php | 2 +- htdocs/accountancy/expensereport/lines.php | 2 +- htdocs/accountancy/expensereport/list.php | 2 +- htdocs/accountancy/journal/expensereportsjournal.php | 2 +- htdocs/accountancy/journal/purchasesjournal.php | 2 +- htdocs/accountancy/journal/sellsjournal.php | 2 +- htdocs/accountancy/supplier/card.php | 2 +- htdocs/accountancy/supplier/index.php | 2 +- htdocs/accountancy/supplier/lines.php | 2 +- htdocs/accountancy/supplier/list.php | 2 +- htdocs/accountancy/tpl/export_journal.tpl.php | 2 +- htdocs/adherents/card.php | 2 +- htdocs/adherents/class/adherent.class.php | 2 +- htdocs/adherents/list.php | 2 +- htdocs/adherents/subscription.php | 2 +- htdocs/adherents/type.php | 2 +- htdocs/admin/accountant.php | 2 +- htdocs/admin/company.php | 2 +- htdocs/admin/dict.php | 2 +- htdocs/admin/loan.php | 2 +- htdocs/admin/mails_templates.php | 2 +- htdocs/admin/openinghours.php | 2 +- htdocs/admin/salaries.php | 2 +- htdocs/admin/taxes.php | 2 +- htdocs/asset/admin/assets_extrafields.php | 2 +- htdocs/asset/admin/assets_type_extrafields.php | 2 +- htdocs/asset/admin/setup.php | 2 +- htdocs/asset/card.php | 2 +- htdocs/asset/class/asset.class.php | 2 +- htdocs/asset/class/asset_type.class.php | 2 +- htdocs/asset/document.php | 2 +- htdocs/asset/info.php | 2 +- htdocs/asset/list.php | 2 +- htdocs/asset/note.php | 2 +- htdocs/asset/type.php | 2 +- htdocs/comm/action/card.php | 2 +- htdocs/comm/card.php | 2 +- htdocs/compta/bank/bankentries_list.php | 2 +- htdocs/compta/bank/card.php | 2 +- htdocs/compta/bank/class/account.class.php | 2 +- htdocs/compta/bank/class/paymentvarious.class.php | 2 +- htdocs/compta/bank/ligne.php | 2 +- htdocs/compta/bank/various_payment/card.php | 2 +- htdocs/compta/bank/various_payment/document.php | 2 +- htdocs/compta/bank/various_payment/info.php | 2 +- htdocs/compta/bank/various_payment/list.php | 2 +- htdocs/compta/cashcontrol/report.php | 2 +- htdocs/compta/charges/index.php | 2 +- htdocs/compta/facture/class/facture.class.php | 2 +- htdocs/compta/facture/fiche-rec.php | 2 +- htdocs/compta/facture/invoicetemplate_list.php | 2 +- htdocs/compta/journal/purchasesjournal.php | 2 +- htdocs/compta/journal/sellsjournal.php | 2 +- htdocs/compta/paiement/cheque/card.php | 2 +- htdocs/compta/paiement/cheque/list.php | 2 +- htdocs/compta/paiement/list.php | 2 +- htdocs/compta/resultat/result.php | 2 +- htdocs/compta/salaries/card.php | 2 +- htdocs/compta/salaries/class/paymentsalary.class.php | 2 +- htdocs/compta/salaries/class/salariesstats.class.php | 2 +- htdocs/compta/salaries/document.php | 2 +- htdocs/compta/salaries/info.php | 2 +- htdocs/compta/salaries/list.php | 2 +- htdocs/compta/salaries/stats/index.php | 2 +- htdocs/compta/sociales/card.php | 2 +- htdocs/compta/sociales/class/chargesociales.class.php | 2 +- htdocs/compta/sociales/payments.php | 2 +- htdocs/compta/tva/card.php | 2 +- htdocs/compta/tva/class/tva.class.php | 2 +- htdocs/compta/tva/info.php | 2 +- htdocs/compta/tva/list.php | 2 +- htdocs/contact/agenda.php | 2 +- htdocs/contact/card.php | 2 +- htdocs/contact/class/contact.class.php | 2 +- htdocs/contact/document.php | 2 +- htdocs/contact/list.php | 2 +- htdocs/core/class/commonobject.class.php | 2 +- htdocs/core/class/fiscalyear.class.php | 2 +- htdocs/core/class/html.form.class.php | 2 +- htdocs/core/class/html.formaccounting.class.php | 2 +- htdocs/core/class/html.formbank.class.php | 2 +- htdocs/core/lib/accounting.lib.php | 2 +- htdocs/core/lib/asset.lib.php | 2 +- htdocs/core/lib/bank.lib.php | 2 +- htdocs/core/lib/company.lib.php | 2 +- htdocs/core/lib/doleditor.lib.php | 2 +- htdocs/core/lib/donation.lib.php | 2 +- htdocs/core/lib/fiscalyear.lib.php | 2 +- htdocs/core/lib/functions.lib.php | 2 +- htdocs/core/lib/hrm.lib.php | 2 +- htdocs/core/lib/loan.lib.php | 2 +- htdocs/core/lib/member.lib.php | 2 +- htdocs/core/lib/usergroups.lib.php | 2 +- htdocs/core/lib/vat.lib.php | 2 +- htdocs/core/modules/dons/html_cerfafr.modules.php | 2 +- .../core/modules/expensereport/doc/pdf_standard.modules.php | 2 +- htdocs/core/modules/modAccounting.class.php | 2 +- htdocs/core/modules/modAdherent.class.php | 2 +- htdocs/core/modules/modAsset.class.php | 2 +- htdocs/core/modules/modDon.class.php | 2 +- htdocs/core/modules/modHRM.class.php | 2 +- htdocs/core/modules/modLoan.class.php | 2 +- htdocs/core/modules/modSalaries.class.php | 2 +- htdocs/core/modules/modSocialNetworks.class.php | 2 +- htdocs/core/modules/modStripe.class.php | 2 +- .../supplier_invoice/mod_facture_fournisseur_cactus.php | 2 +- .../supplier_invoice/mod_facture_fournisseur_tulip.php | 2 +- htdocs/don/admin/donation.php | 2 +- htdocs/don/admin/donation_extrafields.php | 2 +- htdocs/don/card.php | 2 +- htdocs/don/class/don.class.php | 2 +- htdocs/don/class/paymentdonation.class.php | 2 +- htdocs/don/document.php | 2 +- htdocs/don/info.php | 2 +- htdocs/don/note.php | 2 +- htdocs/don/payment/card.php | 2 +- htdocs/don/payment/payment.php | 2 +- htdocs/don/stats/index.php | 2 +- htdocs/ecm/dir_add_card.php | 2 +- htdocs/ecm/index_auto.php | 2 +- htdocs/expensereport/card.php | 2 +- htdocs/expensereport/class/expensereport.class.php | 2 +- htdocs/expensereport/class/paymentexpensereport.class.php | 2 +- htdocs/expensereport/index.php | 2 +- htdocs/expensereport/list.php | 2 +- htdocs/expensereport/payment/card.php | 2 +- htdocs/expensereport/payment/info.php | 2 +- htdocs/expensereport/payment/payment.php | 2 +- htdocs/fichinter/card-rec.php | 2 +- htdocs/fourn/class/fournisseur.facture.class.php | 2 +- htdocs/fourn/facture/card.php | 2 +- htdocs/fourn/facture/document.php | 2 +- htdocs/fourn/facture/info.php | 2 +- htdocs/fourn/facture/paiement.php | 2 +- htdocs/holiday/card.php | 2 +- htdocs/hrm/admin/admin_establishment.php | 2 +- htdocs/hrm/admin/admin_hrm.php | 2 +- htdocs/hrm/class/establishment.class.php | 2 +- htdocs/hrm/establishment/card.php | 2 +- htdocs/hrm/establishment/info.php | 2 +- htdocs/hrm/index.php | 2 +- htdocs/install/mysql/data/llx_00_c_country.sql | 2 +- htdocs/install/mysql/data/llx_accounting_abc.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_be.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_bf.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_bj.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_cd.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_cf.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_cg.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_ci.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_cl.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_cm.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_dk.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_es.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_fr.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_ga.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_gq.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_km.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_ml.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_ne.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_sn.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_td.sql | 2 +- htdocs/install/mysql/data/llx_accounting_account_tg.sql | 2 +- htdocs/install/mysql/data/llx_accounting_category.sql | 2 +- htdocs/install/mysql/data/llx_c_hrm_department.sql | 2 +- htdocs/install/mysql/data/llx_c_hrm_function.sql | 2 +- htdocs/install/mysql/tables/llx_accounting_account.sql | 2 +- htdocs/install/mysql/tables/llx_accounting_bookkeeping.sql | 2 +- .../install/mysql/tables/llx_accounting_bookkeeping_tmp.sql | 2 +- htdocs/install/mysql/tables/llx_accounting_fiscalyear.sql | 2 +- htdocs/install/mysql/tables/llx_accounting_journal.key.sql | 2 +- htdocs/install/mysql/tables/llx_accounting_journal.sql | 2 +- htdocs/install/mysql/tables/llx_accounting_system.sql | 2 +- htdocs/install/mysql/tables/llx_asset.key.sql | 2 +- htdocs/install/mysql/tables/llx_asset.sql | 2 +- htdocs/install/mysql/tables/llx_asset_extrafields.sql | 2 +- htdocs/install/mysql/tables/llx_asset_type.key.sql | 2 +- htdocs/install/mysql/tables/llx_asset_type.sql | 2 +- .../install/mysql/tables/llx_asset_type_extrafields.key.sql | 2 +- htdocs/install/mysql/tables/llx_asset_type_extrafields.sql | 2 +- htdocs/install/mysql/tables/llx_bank_account.sql | 2 +- .../install/mysql/tables/llx_c_accounting_category.key.sql | 2 +- htdocs/install/mysql/tables/llx_c_accounting_category.sql | 2 +- htdocs/install/mysql/tables/llx_c_country.sql | 2 +- htdocs/install/mysql/tables/llx_c_hrm_department.sql | 2 +- htdocs/install/mysql/tables/llx_c_hrm_function.sql | 2 +- htdocs/install/mysql/tables/llx_c_paiement.sql | 2 +- htdocs/install/mysql/tables/llx_c_tva.sql | 2 +- htdocs/install/mysql/tables/llx_c_type_fees.sql | 2 +- htdocs/install/mysql/tables/llx_chargesociales.sql | 2 +- htdocs/install/mysql/tables/llx_don.sql | 2 +- htdocs/install/mysql/tables/llx_don_extrafields.key.sql | 2 +- htdocs/install/mysql/tables/llx_don_extrafields.sql | 2 +- htdocs/install/mysql/tables/llx_establishment.sql | 2 +- htdocs/install/mysql/tables/llx_loan.sql | 2 +- htdocs/install/mysql/tables/llx_loan_schedule.sql | 2 +- htdocs/install/mysql/tables/llx_payment_donation.sql | 2 +- htdocs/install/mysql/tables/llx_payment_expensereport.sql | 2 +- htdocs/install/mysql/tables/llx_payment_loan.sql | 2 +- htdocs/install/mysql/tables/llx_payment_salary.sql | 2 +- htdocs/install/mysql/tables/llx_payment_various.sql | 2 +- htdocs/install/mysql/tables/llx_user_rib.sql | 2 +- htdocs/langs/en_US/assets.lang | 2 +- htdocs/langs/fr_FR/assets.lang | 2 +- htdocs/langs/lv_LV/assets.lang | 2 +- htdocs/langs/pt_BR/assets.lang | 2 +- htdocs/loan/card.php | 2 +- htdocs/loan/class/loan.class.php | 2 +- htdocs/loan/class/paymentloan.class.php | 2 +- htdocs/loan/createschedule.php | 2 +- htdocs/loan/document.php | 2 +- htdocs/loan/info.php | 2 +- htdocs/loan/list.php | 2 +- htdocs/loan/note.php | 2 +- htdocs/loan/payment/card.php | 2 +- htdocs/loan/payment/payment.php | 2 +- htdocs/loan/schedule.php | 2 +- htdocs/opensurvey/wizard/create_survey.php | 2 +- htdocs/product/class/product.class.php | 2 +- htdocs/product/fournisseurs.php | 2 +- htdocs/product/price.php | 2 +- htdocs/projet/element.php | 2 +- htdocs/public/members/new.php | 2 +- htdocs/public/members/public_card.php | 2 +- htdocs/public/stripe/newpayment.php | 2 +- htdocs/societe/card.php | 2 +- htdocs/societe/class/societe.class.php | 2 +- htdocs/societe/contact.php | 2 +- htdocs/stripe/admin/stripe.php | 2 +- htdocs/stripe/config.php | 2 +- htdocs/stripe/lib/stripe.lib.php | 2 +- htdocs/theme/md/style.css.php | 2 +- htdocs/user/bank.php | 2 +- htdocs/user/card.php | 2 +- htdocs/user/class/user.class.php | 2 +- htdocs/user/class/userbankaccount.class.php | 2 +- htdocs/user/list.php | 2 +- scripts/accountancy/export-thirdpartyaccount.php | 2 +- 270 files changed, 272 insertions(+), 272 deletions(-) diff --git a/.mailmap b/.mailmap index 436b557ee63..ae4b0eb7146 100644 --- a/.mailmap +++ b/.mailmap @@ -21,9 +21,9 @@ Florian Henry <florian.henry@open-concept.pro> FHenry <florian.henry.mail@gmail. Florian Henry <florian.henry@open-concept.pro> Florian HENRY <florian.henry@open-conept.pro> Florian Henry <florian.henry@open-concept.pro> FHenry <florian.henry@open-concept.pro> Florian Henry <florian.henry@open-concept.pro> HENRY Florian <florian.henry@open-concept.pro> -Alexandre Spangaro <aspangaro.dolibarr@gmail.com> aspangaro <aspangaro.dolibarr@gmail.com> -Alexandre Spangaro <aspangaro.dolibarr@gmail.com> Spangaro Alexandre <aspangaro.dolibarr@gmail.com> -Alexandre Spangaro <aspangaro.dolibarr@gmail.com> Alexandre SPANGARO <aspangaro.dolibarr@gmail.com> +Alexandre Spangaro <aspangaro@open-dsi.fr> aspangaro <aspangaro@open-dsi.fr> +Alexandre Spangaro <aspangaro@open-dsi.fr> Spangaro Alexandre <aspangaro@open-dsi.fr> +Alexandre Spangaro <aspangaro@open-dsi.fr> Alexandre SPANGARO <aspangaro@open-dsi.fr> Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> Raphaël Doursenaud <rdoursenaud@free.fr> Philippe Grand <philippe.grand@atoo-net.com> Grand Philippe <contact@atoo-net.com> Philippe Grand <philippe.grand@atoo-net.com> Philippe GRAND <philippe.grand@atoo-net.com> diff --git a/htdocs/accountancy/admin/account.php b/htdocs/accountancy/admin/account.php index 45ecb5cd6e6..78493da1e71 100644 --- a/htdocs/accountancy/admin/account.php +++ b/htdocs/accountancy/admin/account.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016-2018 Laurent Destailleur <eldy@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/admin/accountmodel.php b/htdocs/accountancy/admin/accountmodel.php index 0d1d5625958..159173ce1af 100644 --- a/htdocs/accountancy/admin/accountmodel.php +++ b/htdocs/accountancy/admin/accountmodel.php @@ -8,7 +8,7 @@ * Copyright (C) 2011 Remy Younes <ryounes@gmail.com> * Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr> - * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * diff --git a/htdocs/accountancy/admin/card.php b/htdocs/accountancy/admin/card.php index b8e6945b632..449d425b846 100644 --- a/htdocs/accountancy/admin/card.php +++ b/htdocs/accountancy/admin/card.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/admin/categories.php b/htdocs/accountancy/admin/categories.php index 290aa93c0b7..14eec9fa58a 100644 --- a/htdocs/accountancy/admin/categories.php +++ b/htdocs/accountancy/admin/categories.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2016 Jamal Elbaz <jamelbaz@gmail.pro> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/accountancy/admin/categories_list.php b/htdocs/accountancy/admin/categories_list.php index ebd8011469e..a508b7ed6c8 100644 --- a/htdocs/accountancy/admin/categories_list.php +++ b/htdocs/accountancy/admin/categories_list.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/accountancy/admin/export.php b/htdocs/accountancy/admin/export.php index 6ef4bdda90b..21fef9a1930 100644 --- a/htdocs/accountancy/admin/export.php +++ b/htdocs/accountancy/admin/export.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> diff --git a/htdocs/accountancy/admin/fiscalyear.php b/htdocs/accountancy/admin/fiscalyear.php index 26620c635e2..06641d7d0a9 100644 --- a/htdocs/accountancy/admin/fiscalyear.php +++ b/htdocs/accountancy/admin/fiscalyear.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/accountancy/admin/fiscalyear_card.php b/htdocs/accountancy/admin/fiscalyear_card.php index 42a6710c3c1..19f6da0c922 100644 --- a/htdocs/accountancy/admin/fiscalyear_card.php +++ b/htdocs/accountancy/admin/fiscalyear_card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/admin/fiscalyear_info.php b/htdocs/accountancy/admin/fiscalyear_info.php index 3141a624194..9dfa7a681e2 100644 --- a/htdocs/accountancy/admin/fiscalyear_info.php +++ b/htdocs/accountancy/admin/fiscalyear_info.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/accountancy/admin/importaccounts.php b/htdocs/accountancy/admin/importaccounts.php index d3a62b5a6ab..236ca09cfee 100644 --- a/htdocs/accountancy/admin/importaccounts.php +++ b/htdocs/accountancy/admin/importaccounts.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/accountancy/admin/index.php b/htdocs/accountancy/admin/index.php index 536b3c38148..b3b8a67241b 100644 --- a/htdocs/accountancy/admin/index.php +++ b/htdocs/accountancy/admin/index.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> diff --git a/htdocs/accountancy/admin/journals_list.php b/htdocs/accountancy/admin/journals_list.php index f26aba437e5..f9d495968ac 100644 --- a/htdocs/accountancy/admin/journals_list.php +++ b/htdocs/accountancy/admin/journals_list.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/accountancy/admin/productaccount.php b/htdocs/accountancy/admin/productaccount.php index bce4f12e559..78d2ac08e14 100644 --- a/htdocs/accountancy/admin/productaccount.php +++ b/htdocs/accountancy/admin/productaccount.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com> diff --git a/htdocs/accountancy/bookkeeping/balance.php b/htdocs/accountancy/bookkeeping/balance.php index 6a323121a6e..8b35c9b4cec 100644 --- a/htdocs/accountancy/bookkeeping/balance.php +++ b/htdocs/accountancy/bookkeeping/balance.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2016 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2016 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2016-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/bookkeeping/balancebymonth.php b/htdocs/accountancy/bookkeeping/balancebymonth.php index a01c42b285a..a5327a6cd35 100644 --- a/htdocs/accountancy/bookkeeping/balancebymonth.php +++ b/htdocs/accountancy/bookkeeping/balancebymonth.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * diff --git a/htdocs/accountancy/bookkeeping/card.php b/htdocs/accountancy/bookkeeping/card.php index 4cc03f7a529..105c87409c1 100644 --- a/htdocs/accountancy/bookkeeping/card.php +++ b/htdocs/accountancy/bookkeeping/card.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2017 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php index 509dcd88abe..41939ffd0ce 100644 --- a/htdocs/accountancy/bookkeeping/list.php +++ b/htdocs/accountancy/bookkeeping/list.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/accountancy/bookkeeping/listbyaccount.php b/htdocs/accountancy/bookkeeping/listbyaccount.php index c2991ce2598..34481d7680d 100644 --- a/htdocs/accountancy/bookkeeping/listbyaccount.php +++ b/htdocs/accountancy/bookkeeping/listbyaccount.php @@ -2,7 +2,7 @@ /* Copyright (C) 2016 Neil Orley <neil.orley@oeris.fr> * Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php b/htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php index 19e0dcbaaac..7ca432bbbc1 100644 --- a/htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php +++ b/htdocs/accountancy/bookkeeping/thirdparty_lettering_customer.php @@ -3,7 +3,7 @@ * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/bookkeeping/thirdparty_lettering_supplier.php b/htdocs/accountancy/bookkeeping/thirdparty_lettering_supplier.php index 27d04962e1b..f9489040c36 100644 --- a/htdocs/accountancy/bookkeeping/thirdparty_lettering_supplier.php +++ b/htdocs/accountancy/bookkeeping/thirdparty_lettering_supplier.php @@ -3,7 +3,7 @@ * Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 70752f6d268..6885df63b61 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2016 Jamal Elbaz <jamelbaz@gmail.pro> - * Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/class/accountancyexport.class.php b/htdocs/accountancy/class/accountancyexport.class.php index 6f9c0534d2f..d61932884dc 100644 --- a/htdocs/accountancy/class/accountancyexport.class.php +++ b/htdocs/accountancy/class/accountancyexport.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2015 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2016 Pierre-Henry Favre <phf@atm-consulting.fr> - * Copyright (C) 2016-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2017 Elarifr. Ari Elbaz <github@accedinfo.com> * Copyright (C) 2017 Frédéric France <frederic.france@netlogic.fr> diff --git a/htdocs/accountancy/class/accountancysystem.class.php b/htdocs/accountancy/class/accountancysystem.class.php index b70fa7238bb..65852258867 100644 --- a/htdocs/accountancy/class/accountancysystem.class.php +++ b/htdocs/accountancy/class/accountancysystem.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/class/accountingaccount.class.php b/htdocs/accountancy/class/accountingaccount.class.php index 38f4e49f2a6..681073332d7 100644 --- a/htdocs/accountancy/class/accountingaccount.class.php +++ b/htdocs/accountancy/class/accountingaccount.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com> diff --git a/htdocs/accountancy/class/accountingjournal.class.php b/htdocs/accountancy/class/accountingjournal.class.php index 94cfbf3bd66..2a2d050af7b 100644 --- a/htdocs/accountancy/class/accountingjournal.class.php +++ b/htdocs/accountancy/class/accountingjournal.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 047628a7b96..2aaf918b197 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2014-2017 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015-2017 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/accountancy/class/lettering.class.php b/htdocs/accountancy/class/lettering.class.php index 1130020b01d..a0b2c763d96 100644 --- a/htdocs/accountancy/class/lettering.class.php +++ b/htdocs/accountancy/class/lettering.class.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/customer/card.php b/htdocs/accountancy/customer/card.php index 7d506c6c72c..5c1dfc5ccbb 100644 --- a/htdocs/accountancy/customer/card.php +++ b/htdocs/accountancy/customer/card.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index 36f840315aa..9c9d0db38a4 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * diff --git a/htdocs/accountancy/customer/lines.php b/htdocs/accountancy/customer/lines.php index 4a4cfa928ac..0a4065762aa 100644 --- a/htdocs/accountancy/customer/lines.php +++ b/htdocs/accountancy/customer/lines.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2014-2016 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> diff --git a/htdocs/accountancy/expensereport/card.php b/htdocs/accountancy/expensereport/card.php index b245e2539a7..eb620d7bf14 100644 --- a/htdocs/accountancy/expensereport/card.php +++ b/htdocs/accountancy/expensereport/card.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> diff --git a/htdocs/accountancy/expensereport/index.php b/htdocs/accountancy/expensereport/index.php index f34456a95b9..81b1f81416a 100644 --- a/htdocs/accountancy/expensereport/index.php +++ b/htdocs/accountancy/expensereport/index.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/expensereport/lines.php b/htdocs/accountancy/expensereport/lines.php index c6fa1202171..12182bdaa43 100644 --- a/htdocs/accountancy/expensereport/lines.php +++ b/htdocs/accountancy/expensereport/lines.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> diff --git a/htdocs/accountancy/expensereport/list.php b/htdocs/accountancy/expensereport/list.php index 078a91bc96e..c0d77fc753a 100644 --- a/htdocs/accountancy/expensereport/list.php +++ b/htdocs/accountancy/expensereport/list.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>s diff --git a/htdocs/accountancy/journal/expensereportsjournal.php b/htdocs/accountancy/journal/expensereportsjournal.php index cb58737b6f5..34a8d219b90 100644 --- a/htdocs/accountancy/journal/expensereportsjournal.php +++ b/htdocs/accountancy/journal/expensereportsjournal.php @@ -3,7 +3,7 @@ * Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info> * Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> diff --git a/htdocs/accountancy/journal/purchasesjournal.php b/htdocs/accountancy/journal/purchasesjournal.php index 2ff45e51bd5..54024fe6471 100644 --- a/htdocs/accountancy/journal/purchasesjournal.php +++ b/htdocs/accountancy/journal/purchasesjournal.php @@ -3,7 +3,7 @@ * Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info> * Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index 09bc9a18e9a..9526bc763ec 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -4,7 +4,7 @@ * Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> diff --git a/htdocs/accountancy/supplier/card.php b/htdocs/accountancy/supplier/card.php index 8de24e09a9e..10e52d6c029 100644 --- a/htdocs/accountancy/supplier/card.php +++ b/htdocs/accountancy/supplier/card.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> diff --git a/htdocs/accountancy/supplier/index.php b/htdocs/accountancy/supplier/index.php index d63f8ee52fa..fcc6bbecd81 100644 --- a/htdocs/accountancy/supplier/index.php +++ b/htdocs/accountancy/supplier/index.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/accountancy/supplier/lines.php b/htdocs/accountancy/supplier/lines.php index 585c8400680..cf5d36d6e80 100644 --- a/htdocs/accountancy/supplier/lines.php +++ b/htdocs/accountancy/supplier/lines.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2016 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2013-2016 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> diff --git a/htdocs/accountancy/supplier/list.php b/htdocs/accountancy/supplier/list.php index 1a315897f02..e04be12df3b 100644 --- a/htdocs/accountancy/supplier/list.php +++ b/htdocs/accountancy/supplier/list.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>s diff --git a/htdocs/accountancy/tpl/export_journal.tpl.php b/htdocs/accountancy/tpl/export_journal.tpl.php index ca3c9c49ea0..97f0da548ca 100644 --- a/htdocs/accountancy/tpl/export_journal.tpl.php +++ b/htdocs/accountancy/tpl/export_journal.tpl.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Charlie Benke <charlie@patas-monkey.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index 2f2c5f9dde8..7a6898da9d3 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2018 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2012 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012-2018 Philippe Grand <philippe.grand@atoo-net.com> - * Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index d12d4b31aa2..959dacba2c1 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2009-2017 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2015-2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index 8a8186fcd2b..d27c2365f47 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2013-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2014-2016 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/adherents/subscription.php b/htdocs/adherents/subscription.php index 86c31e6cd04..0c5618ca1d9 100644 --- a/htdocs/adherents/subscription.php +++ b/htdocs/adherents/subscription.php @@ -3,7 +3,7 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org> * Copyright (C) 2004-2018 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012-2017 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index b5407646359..499f41dce3e 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/admin/accountant.php b/htdocs/admin/accountant.php index 92d80464088..7b24260cd8d 100644 --- a/htdocs/admin/accountant.php +++ b/htdocs/admin/accountant.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 41786c2c55b..c0599a666dc 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -4,7 +4,7 @@ * Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2011-2017 Philippe Grand <philippe.grand@atoo-net.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index c57a511b3c9..990bbec2932 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -8,7 +8,7 @@ * Copyright (C) 2011 Remy Younes <ryounes@gmail.com> * Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr> - * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * diff --git a/htdocs/admin/loan.php b/htdocs/admin/loan.php index 419f6efbee9..20e0b59199a 100644 --- a/htdocs/admin/loan.php +++ b/htdocs/admin/loan.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2014-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index 35f5e5d6e72..49db8b8af23 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -8,7 +8,7 @@ * Copyright (C) 2011 Remy Younes <ryounes@gmail.com> * Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr> - * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> diff --git a/htdocs/admin/openinghours.php b/htdocs/admin/openinghours.php index 19225273bfc..da5aed70c81 100644 --- a/htdocs/admin/openinghours.php +++ b/htdocs/admin/openinghours.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/admin/salaries.php b/htdocs/admin/salaries.php index f724bd9e50c..057c2cfa3db 100644 --- a/htdocs/admin/salaries.php +++ b/htdocs/admin/salaries.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2014-2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/admin/taxes.php b/htdocs/admin/taxes.php index 76e7496cc4e..b3fd9ef4359 100644 --- a/htdocs/admin/taxes.php +++ b/htdocs/admin/taxes.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2011-2013 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/admin/assets_extrafields.php b/htdocs/asset/admin/assets_extrafields.php index f220d5cb849..2735981b564 100644 --- a/htdocs/asset/admin/assets_extrafields.php +++ b/htdocs/asset/admin/assets_extrafields.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/admin/assets_type_extrafields.php b/htdocs/asset/admin/assets_type_extrafields.php index a791078f37b..7038f6df5a0 100644 --- a/htdocs/asset/admin/assets_type_extrafields.php +++ b/htdocs/asset/admin/assets_type_extrafields.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/admin/setup.php b/htdocs/asset/admin/setup.php index 57738309abd..236315b52d8 100644 --- a/htdocs/asset/admin/setup.php +++ b/htdocs/asset/admin/setup.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/card.php b/htdocs/asset/card.php index d8b8f3aa056..e24e6a96c83 100644 --- a/htdocs/asset/card.php +++ b/htdocs/asset/card.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/class/asset.class.php b/htdocs/asset/class/asset.class.php index 93f2e88f725..aafdbacc791 100644 --- a/htdocs/asset/class/asset.class.php +++ b/htdocs/asset/class/asset.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/class/asset_type.class.php b/htdocs/asset/class/asset_type.class.php index 54421b8910f..29851185391 100644 --- a/htdocs/asset/class/asset_type.class.php +++ b/htdocs/asset/class/asset_type.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/document.php b/htdocs/asset/document.php index c1332ed10a2..6433b30a543 100644 --- a/htdocs/asset/document.php +++ b/htdocs/asset/document.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2007-2017 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/info.php b/htdocs/asset/info.php index e01316ae685..3c6260ffde7 100644 --- a/htdocs/asset/info.php +++ b/htdocs/asset/info.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/list.php b/htdocs/asset/list.php index fa1ef9f2760..c6710f290cc 100644 --- a/htdocs/asset/list.php +++ b/htdocs/asset/list.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2007-2017 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/asset/note.php b/htdocs/asset/note.php index f76c6ea028f..7e74ec0a805 100644 --- a/htdocs/asset/note.php +++ b/htdocs/asset/note.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2007-2017 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/asset/type.php b/htdocs/asset/type.php index 861bbd2130e..31c328d9326 100644 --- a/htdocs/asset/type.php +++ b/htdocs/asset/type.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 0c2bbb2e10f..053d6809c40 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -6,7 +6,7 @@ * Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014 Cedric GROSS <c.gross@kreiz-it.fr> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index 916143b896a..cc5a0e6e29a 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -6,7 +6,7 @@ * Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr> * Copyright (C) 2010-2014 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Frederic France <frederic.france@free.fr> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/bank/bankentries_list.php b/htdocs/compta/bank/bankentries_list.php index a3928cbc0ca..67e6deace4c 100644 --- a/htdocs/compta/bank/bankentries_list.php +++ b/htdocs/compta/bank/bankentries_list.php @@ -6,7 +6,7 @@ * Copyright (C) 2014 Florian Henry <florian.henry@open-cooncept.pro> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2016 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index b63136c8581..d20802dabbd 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org> * Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2014-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2014-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2016 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 9e94d262c18..7c72ad8c362 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -6,7 +6,7 @@ * Copyright (C) 2005-2010 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2015-2016 Marcos García <marcosgdf@gmail.com> - * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/bank/class/paymentvarious.class.php b/htdocs/compta/bank/class/paymentvarious.class.php index cb8f21ecc5a..e126937e95c 100644 --- a/htdocs/compta/bank/class/paymentvarious.class.php +++ b/htdocs/compta/bank/class/paymentvarious.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/bank/ligne.php b/htdocs/compta/bank/ligne.php index d359a5c814f..f73073f2fe1 100644 --- a/htdocs/compta/bank/ligne.php +++ b/htdocs/compta/bank/ligne.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004 Christophe Combelles <ccomb@free.fr> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2016 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> diff --git a/htdocs/compta/bank/various_payment/card.php b/htdocs/compta/bank/various_payment/card.php index d2adc857ec7..d9fa5c3c9a1 100644 --- a/htdocs/compta/bank/various_payment/card.php +++ b/htdocs/compta/bank/various_payment/card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/bank/various_payment/document.php b/htdocs/compta/bank/various_payment/document.php index c255ef19c16..6b864c09f81 100644 --- a/htdocs/compta/bank/various_payment/document.php +++ b/htdocs/compta/bank/various_payment/document.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/compta/bank/various_payment/info.php b/htdocs/compta/bank/various_payment/info.php index d9f8709b155..34be85c6975 100644 --- a/htdocs/compta/bank/various_payment/info.php +++ b/htdocs/compta/bank/various_payment/info.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/compta/bank/various_payment/list.php b/htdocs/compta/bank/various_payment/list.php index 91608666601..c6e5d95e3db 100644 --- a/htdocs/compta/bank/various_payment/list.php +++ b/htdocs/compta/bank/various_payment/list.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/compta/cashcontrol/report.php b/htdocs/compta/cashcontrol/report.php index 01c5aed49e7..85ef39a6c97 100644 --- a/htdocs/compta/cashcontrol/report.php +++ b/htdocs/compta/cashcontrol/report.php @@ -6,7 +6,7 @@ * Copyright (C) 2014 Florian Henry <florian.henry@open-cooncept.pro> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2016 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Andreu Bisquerra <jove@bisquerra.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/charges/index.php b/htdocs/compta/charges/index.php index 66dc955aee7..9fe05e57bd9 100644 --- a/htdocs/compta/charges/index.php +++ b/htdocs/compta/charges/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2010 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2011-2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 14d01419037..9ed5e234882 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -15,7 +15,7 @@ * Copyright (C) 2013 Cedric Gross <c.gross@kreiz-it.fr> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index 7cc63b10e72..c0dd351f009 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -6,7 +6,7 @@ * Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Meziane Sof <virtualsof@yahoo.fr> * Copyright (C) 2017-2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/compta/facture/invoicetemplate_list.php b/htdocs/compta/facture/invoicetemplate_list.php index 1b70c50c8f4..a025829f274 100644 --- a/htdocs/compta/facture/invoicetemplate_list.php +++ b/htdocs/compta/facture/invoicetemplate_list.php @@ -6,7 +6,7 @@ * Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Meziane Sof <virtualsof@yahoo.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/journal/purchasesjournal.php b/htdocs/compta/journal/purchasesjournal.php index 2ab17905715..e979e297dd7 100644 --- a/htdocs/compta/journal/purchasesjournal.php +++ b/htdocs/compta/journal/purchasesjournal.php @@ -3,7 +3,7 @@ * Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info> * Copyright (C) 2011-2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2011-2012 Alexandre spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2012 Alexandre spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/compta/journal/sellsjournal.php b/htdocs/compta/journal/sellsjournal.php index 42b2c8a95af..5aec70b1dec 100644 --- a/htdocs/compta/journal/sellsjournal.php +++ b/htdocs/compta/journal/sellsjournal.php @@ -3,7 +3,7 @@ * Copyright (C) 2007-2010 Jean Heimburger <jean@tiaris.info> * Copyright (C) 2011-2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2011-2012 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2012 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2012 Cédric Salvador <csalvador@gpcsolutions.fr> * Copyright (C) 2013 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2014 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> diff --git a/htdocs/compta/paiement/cheque/card.php b/htdocs/compta/paiement/cheque/card.php index e186dfce4cd..f710ff2615e 100644 --- a/htdocs/compta/paiement/cheque/card.php +++ b/htdocs/compta/paiement/cheque/card.php @@ -4,7 +4,7 @@ * Copyright (C) 2009-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2011-2016 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Philippe Grand <philippe.grand@atoo-net.com> - * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/paiement/cheque/list.php b/htdocs/compta/paiement/cheque/list.php index d84b26f78b2..ab074e58541 100644 --- a/htdocs/compta/paiement/cheque/list.php +++ b/htdocs/compta/paiement/cheque/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2007-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2009-2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Juanjo Menent <jmenent@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/paiement/list.php b/htdocs/compta/paiement/list.php index 12669947cff..9234ca1e68d 100644 --- a/htdocs/compta/paiement/list.php +++ b/htdocs/compta/paiement/list.php @@ -5,7 +5,7 @@ * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com> * diff --git a/htdocs/compta/resultat/result.php b/htdocs/compta/resultat/result.php index 16d2631686c..85f38cb9905 100644 --- a/htdocs/compta/resultat/result.php +++ b/htdocs/compta/resultat/result.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2016-2017 Jamal Elbaz <jamelbaz@gmail.com> - * Copyright (C) 2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Laurent Destailleur <eldy@destailleur.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/compta/salaries/card.php b/htdocs/compta/salaries/card.php index 474fcd0a6cb..91c0e169b5d 100644 --- a/htdocs/compta/salaries/card.php +++ b/htdocs/compta/salaries/card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2011-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2011-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2015 Charlie BENKE <charlie@patas-monkey.com> diff --git a/htdocs/compta/salaries/class/paymentsalary.class.php b/htdocs/compta/salaries/class/paymentsalary.class.php index 8f55b5804cc..21423f85e87 100644 --- a/htdocs/compta/salaries/class/paymentsalary.class.php +++ b/htdocs/compta/salaries/class/paymentsalary.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2011-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2011-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/salaries/class/salariesstats.class.php b/htdocs/compta/salaries/class/salariesstats.class.php index 1a96fbc56aa..befd0dd5c51 100644 --- a/htdocs/compta/salaries/class/salariesstats.class.php +++ b/htdocs/compta/salaries/class/salariesstats.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (c) 2018 Fidesio <contact@fidesio.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/salaries/document.php b/htdocs/compta/salaries/document.php index 33e92ecaf3b..0ce0fb66e52 100644 --- a/htdocs/compta/salaries/document.php +++ b/htdocs/compta/salaries/document.php @@ -6,7 +6,7 @@ * Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com> * Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/compta/salaries/info.php b/htdocs/compta/salaries/info.php index 87d24ceb406..c7a180346fb 100644 --- a/htdocs/compta/salaries/info.php +++ b/htdocs/compta/salaries/info.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2005-2015 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2015 Charlie BENKE <charlie@patas-monkey.com> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/compta/salaries/list.php b/htdocs/compta/salaries/list.php index c7f5970723e..761d40a5227 100644 --- a/htdocs/compta/salaries/list.php +++ b/htdocs/compta/salaries/list.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * diff --git a/htdocs/compta/salaries/stats/index.php b/htdocs/compta/salaries/stats/index.php index 6471f66cf57..5b1d5c1b973 100644 --- a/htdocs/compta/salaries/stats/index.php +++ b/htdocs/compta/salaries/stats/index.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Fidesio <contact@fidesio.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/sociales/card.php b/htdocs/compta/sociales/card.php index 6a0d53d6987..b31339a8d5f 100644 --- a/htdocs/compta/sociales/card.php +++ b/htdocs/compta/sociales/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2013 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2016-2018 Frédéric France <frederic.france@netlogic.fr> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 1828e750914..57646cebc7c 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2016 Frédéric France <frederic.france@free.fr> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/compta/sociales/payments.php b/htdocs/compta/sociales/payments.php index efdd39d2205..bb194f8cb3e 100644 --- a/htdocs/compta/sociales/payments.php +++ b/htdocs/compta/sociales/payments.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2010 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2011-2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * diff --git a/htdocs/compta/tva/card.php b/htdocs/compta/tva/card.php index d5779266661..985c0b834a5 100644 --- a/htdocs/compta/tva/card.php +++ b/htdocs/compta/tva/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2013 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/compta/tva/class/tva.class.php b/htdocs/compta/tva/class/tva.class.php index 5da7b0e144c..fba25b0e752 100644 --- a/htdocs/compta/tva/class/tva.class.php +++ b/htdocs/compta/tva/class/tva.class.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2002-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/compta/tva/info.php b/htdocs/compta/tva/info.php index 4a2308bd0bd..feea451f1db 100644 --- a/htdocs/compta/tva/info.php +++ b/htdocs/compta/tva/info.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/compta/tva/list.php b/htdocs/compta/tva/list.php index 0d3b7ec135d..d54a99acc76 100644 --- a/htdocs/compta/tva/list.php +++ b/htdocs/compta/tva/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2018 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/contact/agenda.php b/htdocs/contact/agenda.php index fbd3e46b9a7..3df7945a08e 100644 --- a/htdocs/contact/agenda.php +++ b/htdocs/contact/agenda.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index 9371f1e3200..6b6bc9f69da 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 4dbd78f5085..bd7819ee299 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -6,7 +6,7 @@ * Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerker@telenet.be> * Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * diff --git a/htdocs/contact/document.php b/htdocs/contact/document.php index d118c4de3b9..3dbf5f660a7 100644 --- a/htdocs/contact/document.php +++ b/htdocs/contact/document.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Frederic France <frederic.france@free.fr> * Copyright (C) 2017 Regis Houssin <regis.houssin@inodbox.com> * diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php index 087db5ddea6..8ca5ce040ac 100644 --- a/htdocs/contact/list.php +++ b/htdocs/contact/list.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com> * Copyright (C) 2018 Juanjo Menent <jmenent@2byte.es> diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 649b9d317b7..fecc8b560c0 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -7,7 +7,7 @@ * Copyright (C) 2012-2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Bahfir abbes <dolipar@dolipar.org> * Copyright (C) 2017 ATM Consulting <support@atm-consulting.fr> * Copyright (C) 2017 Nicolas ZABOURI <info@inovea-conseil.com> diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php index cf6a3cf345d..e3f52f703b3 100644 --- a/htdocs/core/class/fiscalyear.class.php +++ b/htdocs/core/class/fiscalyear.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index bb710c5e29f..68edd564020 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -15,7 +15,7 @@ * Copyright (C) 2012-2016 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr> * Copyright (C) 2012-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> - * Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com> diff --git a/htdocs/core/class/html.formaccounting.class.php b/htdocs/core/class/html.formaccounting.class.php index 41476fb4966..8b4c4e5390d 100644 --- a/htdocs/core/class/html.formaccounting.class.php +++ b/htdocs/core/class/html.formaccounting.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2016 Marcos García <marcosgdf@gmail.com> - * Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/class/html.formbank.class.php b/htdocs/core/class/html.formbank.class.php index 9cf60cc45b1..b4fd2df88f3 100644 --- a/htdocs/core/class/html.formbank.class.php +++ b/htdocs/core/class/html.formbank.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2012 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Marcos García <marcosgdf@gmail.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/accounting.lib.php b/htdocs/core/lib/accounting.lib.php index 30ace607536..3eebbde72e5 100644 --- a/htdocs/core/lib/accounting.lib.php +++ b/htdocs/core/lib/accounting.lib.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/asset.lib.php b/htdocs/core/lib/asset.lib.php index b0a4a6b81a9..2a7fbba5fc1 100644 --- a/htdocs/core/lib/asset.lib.php +++ b/htdocs/core/lib/asset.lib.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index c03cd09ff16..15a2e90e7bf 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2006-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Juanjo Menent <jmenent@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 55b4d80ac68..c63883bdb29 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -6,7 +6,7 @@ * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2013-2014 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Christophe Battarel <contact@altairis.fr> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015-2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2017 Rui Strecht <rui.strecht@aliartalentos.com> diff --git a/htdocs/core/lib/doleditor.lib.php b/htdocs/core/lib/doleditor.lib.php index 5ed80465428..5df18c652bf 100644 --- a/htdocs/core/lib/doleditor.lib.php +++ b/htdocs/core/lib/doleditor.lib.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2006-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2010-2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/lib/donation.lib.php b/htdocs/core/lib/donation.lib.php index 665ff7cb4e3..77de332f5e3 100644 --- a/htdocs/core/lib/donation.lib.php +++ b/htdocs/core/lib/donation.lib.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/lib/fiscalyear.lib.php b/htdocs/core/lib/fiscalyear.lib.php index 083930ee9f9..6ea24bfacc2 100644 --- a/htdocs/core/lib/fiscalyear.lib.php +++ b/htdocs/core/lib/fiscalyear.lib.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 81a3adecdd6..52e5257907d 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -9,7 +9,7 @@ * Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr> * Copyright (C) 2010-2018 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Cédric GROSS <c.gross@kreiz-it.fr> * Copyright (C) 2014-2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> diff --git a/htdocs/core/lib/hrm.lib.php b/htdocs/core/lib/hrm.lib.php index 08b0e3be01a..f38d72ec275 100644 --- a/htdocs/core/lib/hrm.lib.php +++ b/htdocs/core/lib/hrm.lib.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/lib/loan.lib.php b/htdocs/core/lib/loan.lib.php index 0b617bb0d5c..0624a7df072 100644 --- a/htdocs/core/lib/loan.lib.php +++ b/htdocs/core/lib/loan.lib.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Frederic France <frederic.france@free.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/member.lib.php b/htdocs/core/lib/member.lib.php index a5016579cd4..7a6ed21cb4a 100644 --- a/htdocs/core/lib/member.lib.php +++ b/htdocs/core/lib/member.lib.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2006-2015 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2017 Regis Houssin <regis.houssin@inodbox.com> * diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 224d8407c48..70566cc8e0e 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2006-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2010-2017 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/lib/vat.lib.php b/htdocs/core/lib/vat.lib.php index 1cb564da4ac..9ba4a1617ae 100644 --- a/htdocs/core/lib/vat.lib.php +++ b/htdocs/core/lib/vat.lib.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Philippe Grand <philippe.grand@atoo-net.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/dons/html_cerfafr.modules.php b/htdocs/core/modules/dons/html_cerfafr.modules.php index faf5b00d2c7..0673ed304e3 100644 --- a/htdocs/core/modules/dons/html_cerfafr.modules.php +++ b/htdocs/core/modules/dons/html_cerfafr.modules.php @@ -3,7 +3,7 @@ * Copyright (C) 2005-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2012 Marcos García <marcosgdf@gmail.com> - * Copyright (C) 2014-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2014-2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Benoit Bruchard <benoitb21@gmail.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index ec65dd80f93..db1c5c51bd2 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2015 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016-2018 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018 Francis Appels <francis.appels@z-application.com> diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index c47e8d310f1..aea8a7f9ae2 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2016-2017 Laurent Destailleur <eldy@users.sourceforge.net> diff --git a/htdocs/core/modules/modAdherent.class.php b/htdocs/core/modules/modAdherent.class.php index 006c529fc02..192ed2ae953 100644 --- a/htdocs/core/modules/modAdherent.class.php +++ b/htdocs/core/modules/modAdherent.class.php @@ -6,7 +6,7 @@ * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2014-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/modules/modAsset.class.php b/htdocs/core/modules/modAsset.class.php index fc123cb3cd6..2cb6f7031dc 100644 --- a/htdocs/core/modules/modAsset.class.php +++ b/htdocs/core/modules/modAsset.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2004-2018 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/modules/modDon.class.php b/htdocs/core/modules/modDon.class.php index 10665c91b93..f92c1cea2a5 100644 --- a/htdocs/core/modules/modDon.class.php +++ b/htdocs/core/modules/modDon.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/modules/modHRM.class.php b/htdocs/core/modules/modHRM.class.php index 9c2559f1218..4a083f272c0 100644 --- a/htdocs/core/modules/modHRM.class.php +++ b/htdocs/core/modules/modHRM.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/modules/modLoan.class.php b/htdocs/core/modules/modLoan.class.php index 2c098961cc1..2624d6075a8 100644 --- a/htdocs/core/modules/modLoan.class.php +++ b/htdocs/core/modules/modLoan.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/modules/modSalaries.class.php b/htdocs/core/modules/modSalaries.class.php index 9fe00cead73..a35070ef303 100644 --- a/htdocs/core/modules/modSalaries.class.php +++ b/htdocs/core/modules/modSalaries.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2014 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/modules/modSocialNetworks.class.php b/htdocs/core/modules/modSocialNetworks.class.php index 137547bfb15..dfc325d3e68 100644 --- a/htdocs/core/modules/modSocialNetworks.class.php +++ b/htdocs/core/modules/modSocialNetworks.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2013 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Laurent Destailleur <eldy@users.sourceforge.net> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/modStripe.class.php b/htdocs/core/modules/modStripe.class.php index 9a1584da477..5124d46e69a 100644 --- a/htdocs/core/modules/modStripe.class.php +++ b/htdocs/core/modules/modStripe.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Saasprov <saasprov@gmail.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php index b4954a1dd9b..80bdd94c2c2 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_cactus.php @@ -2,7 +2,7 @@ /* Copyright (C) 2005-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013-2018 Philippe Grand <philippe.grand@atoo-net.com> - * Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php index 39efa7d676b..6f2106fd380 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -4,7 +4,7 @@ * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013-2018 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/don/admin/donation.php b/htdocs/don/admin/donation.php index 99a801e9e25..7fda34c1508 100644 --- a/htdocs/don/admin/donation.php +++ b/htdocs/don/admin/donation.php @@ -2,7 +2,7 @@ /* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012-2015 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013-2017 Philippe Grand <philippe.grand@atoo-net.com> - * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Benoit Bruchard <benoitb21@gmail.com> * Copyright (C) 2019 Thibault FOUCART <support@ptibogxiv.net> * diff --git a/htdocs/don/admin/donation_extrafields.php b/htdocs/don/admin/donation_extrafields.php index c819cde1e08..82e3a92c2b0 100644 --- a/htdocs/don/admin/donation_extrafields.php +++ b/htdocs/don/admin/donation_extrafields.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 0efcd09f2f0..ef7dd8cf84c 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018-2019 Thibault FOUCART <support@ptibogxiv.net> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index ec0e3006974..d62b81708a6 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2009 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2019 Thibault FOUCART <support@ptibogxiv.net> * diff --git a/htdocs/don/class/paymentdonation.class.php b/htdocs/don/class/paymentdonation.class.php index ba322f9fe08..7012a7f6601 100644 --- a/htdocs/don/class/paymentdonation.class.php +++ b/htdocs/don/class/paymentdonation.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/don/document.php b/htdocs/don/document.php index cdcb5648501..fa738702b80 100644 --- a/htdocs/don/document.php +++ b/htdocs/don/document.php @@ -6,7 +6,7 @@ * Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com> * Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/don/info.php b/htdocs/don/info.php index 30c2129b6c6..a57070190ad 100644 --- a/htdocs/don/info.php +++ b/htdocs/don/info.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/don/note.php b/htdocs/don/note.php index 60bf2c1939f..be95e0db0d1 100644 --- a/htdocs/don/note.php +++ b/htdocs/don/note.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/don/payment/card.php b/htdocs/don/payment/card.php index bf9c2768815..c18c3bc1790 100644 --- a/htdocs/don/payment/card.php +++ b/htdocs/don/payment/card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/don/payment/payment.php b/htdocs/don/payment/payment.php index e016bb80a8e..948646996a2 100644 --- a/htdocs/don/payment/payment.php +++ b/htdocs/don/payment/payment.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/don/stats/index.php b/htdocs/don/stats/index.php index 56657694f80..383a57fd59d 100644 --- a/htdocs/don/stats/index.php +++ b/htdocs/don/stats/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/ecm/dir_add_card.php b/htdocs/ecm/dir_add_card.php index a2c0762321c..c1aba1b628b 100644 --- a/htdocs/ecm/dir_add_card.php +++ b/htdocs/ecm/dir_add_card.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2008-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2008-2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/ecm/index_auto.php b/htdocs/ecm/index_auto.php index a3390475f44..3c13a221e2b 100644 --- a/htdocs/ecm/index_auto.php +++ b/htdocs/ecm/index_auto.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2008-2014 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2008-2010 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index a2713bd836f..ac4b86c172a 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index de310fe0516..52768896073 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com> * Copyright (C) 2015 Laurent Destailleur <eldy@users.sourceforge.net> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com> * Copyright (c) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2016-2018 Ferran Marcet <fmarcet@2byte.es> diff --git a/htdocs/expensereport/class/paymentexpensereport.class.php b/htdocs/expensereport/class/paymentexpensereport.class.php index b18eae8c514..0762a8c0cf5 100644 --- a/htdocs/expensereport/class/paymentexpensereport.class.php +++ b/htdocs/expensereport/class/paymentexpensereport.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index 4748bd2c2a4..516f4a5a534 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index 7e94a10418a..0278c2d37c8 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2018 Charlene Benke <charlie@patas-monkey.com> * diff --git a/htdocs/expensereport/payment/card.php b/htdocs/expensereport/payment/card.php index 7e1a1bf0d61..4593129a7fc 100644 --- a/htdocs/expensereport/payment/card.php +++ b/htdocs/expensereport/payment/card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/expensereport/payment/info.php b/htdocs/expensereport/payment/info.php index 6c7f8dd99c6..2de6684cf1b 100644 --- a/htdocs/expensereport/payment/info.php +++ b/htdocs/expensereport/payment/info.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2013 Marcos García <marcosgdf@gmail.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/expensereport/payment/payment.php b/htdocs/expensereport/payment/payment.php index a4346ce34bc..3985f813edd 100644 --- a/htdocs/expensereport/payment/payment.php +++ b/htdocs/expensereport/payment/payment.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/fichinter/card-rec.php b/htdocs/fichinter/card-rec.php index 837b77eb3aa..62e16c0e483 100644 --- a/htdocs/fichinter/card-rec.php +++ b/htdocs/fichinter/card-rec.php @@ -6,7 +6,7 @@ * Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016-2018 Charlie Benke <charlie@patas-monkey.com> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index e4463d7ba65..1f8b7b3ba8b 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -10,7 +10,7 @@ * Copyright (C) 2014-2016 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2015 Bahfir Abbes <bafbes@gmail.com> * Copyright (C) 2015 Ferran Marcet <fmarcet@2byte.es> - * Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 5c616a70b0e..a2a96762d9d 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -8,7 +8,7 @@ * Copyright (C) 2013-2015 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2014-2016 Marcos García <marcosgdf@gmail.com> - * Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index c13be230789..6954473ee43 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -4,7 +4,7 @@ * Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr> - * Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/facture/info.php b/htdocs/fourn/facture/info.php index dfca394c7cb..4fd287b1eb5 100644 --- a/htdocs/fourn/facture/info.php +++ b/htdocs/fourn/facture/info.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2016 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index c5194aa7344..377407831de 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -8,7 +8,7 @@ * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index f6b6586a9ec..3360a150959 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -3,7 +3,7 @@ * Copyright (C) 2012-2016 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012-2016 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014-2017 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * diff --git a/htdocs/hrm/admin/admin_establishment.php b/htdocs/hrm/admin/admin_establishment.php index 98221ce6594..bd6e5b012cd 100644 --- a/htdocs/hrm/admin/admin_establishment.php +++ b/htdocs/hrm/admin/admin_establishment.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/hrm/admin/admin_hrm.php b/htdocs/hrm/admin/admin_hrm.php index c61480347bb..13f678e40d8 100644 --- a/htdocs/hrm/admin/admin_hrm.php +++ b/htdocs/hrm/admin/admin_hrm.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/hrm/class/establishment.class.php b/htdocs/hrm/class/establishment.class.php index 7e967176582..e686a93aefd 100644 --- a/htdocs/hrm/class/establishment.class.php +++ b/htdocs/hrm/class/establishment.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/hrm/establishment/card.php b/htdocs/hrm/establishment/card.php index 4343e3a2c50..0bb32c4f4c3 100644 --- a/htdocs/hrm/establishment/card.php +++ b/htdocs/hrm/establishment/card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/hrm/establishment/info.php b/htdocs/hrm/establishment/info.php index 35e4f483e3d..7fee0e8bc79 100644 --- a/htdocs/hrm/establishment/info.php +++ b/htdocs/hrm/establishment/info.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +/* Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/hrm/index.php b/htdocs/hrm/index.php index 3129760bc7a..af334e3c456 100644 --- a/htdocs/hrm/index.php +++ b/htdocs/hrm/index.php @@ -2,7 +2,7 @@ /* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com> * Copyright (C) 2013-2015 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012-2014 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/install/mysql/data/llx_00_c_country.sql b/htdocs/install/mysql/data/llx_00_c_country.sql index 0ea1a55d3d3..a4c09f8ae30 100644 --- a/htdocs/install/mysql/data/llx_00_c_country.sql +++ b/htdocs/install/mysql/data/llx_00_c_country.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> -- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_abc.sql b/htdocs/install/mysql/data/llx_accounting_abc.sql index 6e4c62d8228..b1dcdb64c35 100644 --- a/htdocs/install/mysql/data/llx_accounting_abc.sql +++ b/htdocs/install/mysql/data/llx_accounting_abc.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> -- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> --- Copyright (C) 2011-2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2011-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- Copyright (C) 2015-2017 Juanjo Menent <jmenent@2byte.es> -- Copyright (C) 2018 Abbes bahfir <dolipar@dolipar.org> -- diff --git a/htdocs/install/mysql/data/llx_accounting_account_be.sql b/htdocs/install/mysql/data/llx_accounting_account_be.sql index 610913ed36e..75ee10f7de8 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_be.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_be.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> -- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> --- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_bf.sql b/htdocs/install/mysql/data/llx_accounting_account_bf.sql index 337ae5b905d..51961097b77 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_bf.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_bf.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_bj.sql b/htdocs/install/mysql/data/llx_accounting_account_bj.sql index 0bca4b646a4..13aa8b135e7 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_bj.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_bj.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_cd.sql b/htdocs/install/mysql/data/llx_accounting_account_cd.sql index 0df56ea4bbf..25e1e5b7809 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_cd.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_cd.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_cf.sql b/htdocs/install/mysql/data/llx_accounting_account_cf.sql index b38c3c02a09..6968641d6ae 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_cf.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_cf.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_cg.sql b/htdocs/install/mysql/data/llx_accounting_account_cg.sql index 7317b8f0bee..92d3fa34428 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_cg.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_cg.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_ci.sql b/htdocs/install/mysql/data/llx_accounting_account_ci.sql index b12a8e1068f..9df71c78316 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_ci.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_ci.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_cl.sql b/htdocs/install/mysql/data/llx_accounting_account_cl.sql index 3029bc9350d..3e962a18680 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_cl.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_cl.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> -- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> --- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- Copyright (C) 2017 Juanjo Menent <jmenent@2byte.es> -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_accounting_account_cm.sql b/htdocs/install/mysql/data/llx_accounting_account_cm.sql index 26bbbce4338..c2514a83379 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_cm.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_cm.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_dk.sql b/htdocs/install/mysql/data/llx_accounting_account_dk.sql index f7b3ea7e519..83d9942d9db 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_dk.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_dk.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> -- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> --- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_es.sql b/htdocs/install/mysql/data/llx_accounting_account_es.sql index ef7d5aaa634..93a80265bb9 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_es.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_es.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> -- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> --- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_fr.sql b/htdocs/install/mysql/data/llx_accounting_account_fr.sql index ef8ef176597..267602143f3 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_fr.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_fr.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt <guillaume.delecourt@opensides.be> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> -- Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> --- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_ga.sql b/htdocs/install/mysql/data/llx_accounting_account_ga.sql index 06a14f69214..f99a42df171 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_ga.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_ga.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_gq.sql b/htdocs/install/mysql/data/llx_accounting_account_gq.sql index f38dc2365f8..dd82a35d64c 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_gq.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_gq.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_km.sql b/htdocs/install/mysql/data/llx_accounting_account_km.sql index 64b42ee3730..14cb877f999 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_km.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_km.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_ml.sql b/htdocs/install/mysql/data/llx_accounting_account_ml.sql index c18fb8a4166..d54f0fb7844 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_ml.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_ml.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_ne.sql b/htdocs/install/mysql/data/llx_accounting_account_ne.sql index dbdf2837bda..e43ff41a0a1 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_ne.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_ne.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_sn.sql b/htdocs/install/mysql/data/llx_accounting_account_sn.sql index 525f927bf17..c4eec7245a5 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_sn.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_sn.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_td.sql b/htdocs/install/mysql/data/llx_accounting_account_td.sql index c09548f12e3..71871663bc3 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_td.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_td.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_account_tg.sql b/htdocs/install/mysql/data/llx_accounting_account_tg.sql index 31bcbe2ae27..21e3989fd74 100644 --- a/htdocs/install/mysql/data/llx_accounting_account_tg.sql +++ b/htdocs/install/mysql/data/llx_accounting_account_tg.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_accounting_category.sql b/htdocs/install/mysql/data/llx_accounting_category.sql index 3d96ea205eb..a569114506e 100644 --- a/htdocs/install/mysql/data/llx_accounting_category.sql +++ b/htdocs/install/mysql/data/llx_accounting_category.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> -- Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net> -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/data/llx_c_hrm_department.sql b/htdocs/install/mysql/data/llx_c_hrm_department.sql index c4865ad9e30..714963896cc 100644 --- a/htdocs/install/mysql/data/llx_c_hrm_department.sql +++ b/htdocs/install/mysql/data/llx_c_hrm_department.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2013 Jean-François Ferry <jfefe@aternatik.fr> --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/data/llx_c_hrm_function.sql b/htdocs/install/mysql/data/llx_c_hrm_function.sql index dd5c6e832bd..900439f9709 100644 --- a/htdocs/install/mysql/data/llx_c_hrm_function.sql +++ b/htdocs/install/mysql/data/llx_c_hrm_function.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2013 Jean-François Ferry <jfefe@aternatik.fr> --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_accounting_account.sql b/htdocs/install/mysql/tables/llx_accounting_account.sql index 79215115cfb..727965f6a9d 100644 --- a/htdocs/install/mysql/tables/llx_accounting_account.sql +++ b/htdocs/install/mysql/tables/llx_accounting_account.sql @@ -1,7 +1,7 @@ -- ============================================================================ -- Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> -- Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> --- Copyright (C) 2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_accounting_bookkeeping.sql b/htdocs/install/mysql/tables/llx_accounting_bookkeeping.sql index af6cd66826d..af693c273a4 100644 --- a/htdocs/install/mysql/tables/llx_accounting_bookkeeping.sql +++ b/htdocs/install/mysql/tables/llx_accounting_bookkeeping.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> --- Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_accounting_bookkeeping_tmp.sql b/htdocs/install/mysql/tables/llx_accounting_bookkeeping_tmp.sql index 2798a3d48e9..d8b1fd81066 100644 --- a/htdocs/install/mysql/tables/llx_accounting_bookkeeping_tmp.sql +++ b/htdocs/install/mysql/tables/llx_accounting_bookkeeping_tmp.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2013-2017 Olivier Geffroy <jeff@jeffinfo.com> --- Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_accounting_fiscalyear.sql b/htdocs/install/mysql/tables/llx_accounting_fiscalyear.sql index 89fd3ac8780..4cff341ed52 100644 --- a/htdocs/install/mysql/tables/llx_accounting_fiscalyear.sql +++ b/htdocs/install/mysql/tables/llx_accounting_fiscalyear.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_accounting_journal.key.sql b/htdocs/install/mysql/tables/llx_accounting_journal.key.sql index 701c39e06a2..7e16f707710 100644 --- a/htdocs/install/mysql/tables/llx_accounting_journal.key.sql +++ b/htdocs/install/mysql/tables/llx_accounting_journal.key.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2016 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_accounting_journal.sql b/htdocs/install/mysql/tables/llx_accounting_journal.sql index 51f1f972859..80d129ba3f6 100644 --- a/htdocs/install/mysql/tables/llx_accounting_journal.sql +++ b/htdocs/install/mysql/tables/llx_accounting_journal.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2016-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_accounting_system.sql b/htdocs/install/mysql/tables/llx_accounting_system.sql index 69f31eaa15f..cbee4ee25d3 100644 --- a/htdocs/install/mysql/tables/llx_accounting_system.sql +++ b/htdocs/install/mysql/tables/llx_accounting_system.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net> --- Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2011-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_asset.key.sql b/htdocs/install/mysql/tables/llx_asset.key.sql index 31bed33a3ee..101a5d50250 100644 --- a/htdocs/install/mysql/tables/llx_asset.key.sql +++ b/htdocs/install/mysql/tables/llx_asset.key.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_asset.sql b/htdocs/install/mysql/tables/llx_asset.sql index d6eba5ed93b..a0891ef4b0e 100644 --- a/htdocs/install/mysql/tables/llx_asset.sql +++ b/htdocs/install/mysql/tables/llx_asset.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_asset_extrafields.sql b/htdocs/install/mysql/tables/llx_asset_extrafields.sql index bc5eedae6d6..19a3edf6ddc 100644 --- a/htdocs/install/mysql/tables/llx_asset_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_asset_extrafields.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_asset_type.key.sql b/htdocs/install/mysql/tables/llx_asset_type.key.sql index 2186a4aafd2..412f2ffff20 100644 --- a/htdocs/install/mysql/tables/llx_asset_type.key.sql +++ b/htdocs/install/mysql/tables/llx_asset_type.key.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_asset_type.sql b/htdocs/install/mysql/tables/llx_asset_type.sql index 6b6a8b23db1..7a8866456b1 100644 --- a/htdocs/install/mysql/tables/llx_asset_type.sql +++ b/htdocs/install/mysql/tables/llx_asset_type.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_asset_type_extrafields.key.sql b/htdocs/install/mysql/tables/llx_asset_type_extrafields.key.sql index dbcc2500df8..22c2eee9753 100644 --- a/htdocs/install/mysql/tables/llx_asset_type_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_asset_type_extrafields.key.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_asset_type_extrafields.sql b/htdocs/install/mysql/tables/llx_asset_type_extrafields.sql index 1b98bd3f524..2faae65702b 100644 --- a/htdocs/install/mysql/tables/llx_asset_type_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_asset_type_extrafields.sql @@ -1,4 +1,4 @@ --- Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_bank_account.sql b/htdocs/install/mysql/tables/llx_bank_account.sql index 3da5a8d4ec8..ebe6672e70d 100644 --- a/htdocs/install/mysql/tables/llx_bank_account.sql +++ b/htdocs/install/mysql/tables/llx_bank_account.sql @@ -2,7 +2,7 @@ -- Copyright (C) 2000-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net> -- Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_accounting_category.key.sql b/htdocs/install/mysql/tables/llx_c_accounting_category.key.sql index be927f6e761..91fe439e46d 100644 --- a/htdocs/install/mysql/tables/llx_c_accounting_category.key.sql +++ b/htdocs/install/mysql/tables/llx_c_accounting_category.key.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_accounting_category.sql b/htdocs/install/mysql/tables/llx_c_accounting_category.sql index 9df9a9d6ab0..275e001f18d 100644 --- a/htdocs/install/mysql/tables/llx_c_accounting_category.sql +++ b/htdocs/install/mysql/tables/llx_c_accounting_category.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> -- Copyright (C) 2016 Jamal Elbaz <jamelbaz@gmail.pro> -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_c_country.sql b/htdocs/install/mysql/tables/llx_c_country.sql index a955d76ea81..ab3935c3103 100644 --- a/htdocs/install/mysql/tables/llx_c_country.sql +++ b/htdocs/install/mysql/tables/llx_c_country.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2004 Laurent Destailleur <eldy@users.sourceforge.net> --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_hrm_department.sql b/htdocs/install/mysql/tables/llx_c_hrm_department.sql index f9432d8b821..3407f38d0bd 100644 --- a/htdocs/install/mysql/tables/llx_c_hrm_department.sql +++ b/htdocs/install/mysql/tables/llx_c_hrm_department.sql @@ -1,6 +1,6 @@ -- -- Copyright (C) 2013 Jean-François Ferry <jfefe@aternatik.fr> --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_hrm_function.sql b/htdocs/install/mysql/tables/llx_c_hrm_function.sql index f3f87461866..38b63bfc5db 100644 --- a/htdocs/install/mysql/tables/llx_c_hrm_function.sql +++ b/htdocs/install/mysql/tables/llx_c_hrm_function.sql @@ -1,6 +1,6 @@ -- -- Copyright (C) 2013 Jean-François Ferry <jfefe@aternatik.fr> --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_paiement.sql b/htdocs/install/mysql/tables/llx_c_paiement.sql index 9e752b7e186..8286e4c8e1f 100644 --- a/htdocs/install/mysql/tables/llx_c_paiement.sql +++ b/htdocs/install/mysql/tables/llx_c_paiement.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net> --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- Copyright (C) 2017 Regis Houssin <regis.houssin@inodbox.com> -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_c_tva.sql b/htdocs/install/mysql/tables/llx_c_tva.sql index 91e141ad4d1..62d5b04125f 100644 --- a/htdocs/install/mysql/tables/llx_c_tva.sql +++ b/htdocs/install/mysql/tables/llx_c_tva.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net> -- Copyright (C) 2010-2015 Juanjo Menent <jmenent@2byte.es> --- Copyright (C) 2011-2012 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2011-2012 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_c_type_fees.sql b/htdocs/install/mysql/tables/llx_c_type_fees.sql index 15c6fe52182..787aac8d2c8 100644 --- a/htdocs/install/mysql/tables/llx_c_type_fees.sql +++ b/htdocs/install/mysql/tables/llx_c_type_fees.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2001-2002,2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2004 Laurent Destailleur <eldy@users.sourceforge.net> --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_chargesociales.sql b/htdocs/install/mysql/tables/llx_chargesociales.sql index e1556689a29..9efef8aec68 100644 --- a/htdocs/install/mysql/tables/llx_chargesociales.sql +++ b/htdocs/install/mysql/tables/llx_chargesociales.sql @@ -1,7 +1,7 @@ -- ======================================================================== -- Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_don.sql b/htdocs/install/mysql/tables/llx_don.sql index 4cb081045ee..c9948133954 100644 --- a/htdocs/install/mysql/tables/llx_don.sql +++ b/htdocs/install/mysql/tables/llx_don.sql @@ -2,7 +2,7 @@ -- Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org> -- Copyright (C) 2009 Regis Houssin <regis.houssin@inodbox.com> -- Copyright (C) 2011 Laurent Destailleur <eldy@users.sourceforge.net> --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_don_extrafields.key.sql b/htdocs/install/mysql/tables/llx_don_extrafields.key.sql index e8da3084d34..46a77f1c162 100644 --- a/htdocs/install/mysql/tables/llx_don_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_don_extrafields.key.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_don_extrafields.sql b/htdocs/install/mysql/tables/llx_don_extrafields.sql index 72b4d0a862a..a854098a20f 100644 --- a/htdocs/install/mysql/tables/llx_don_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_don_extrafields.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_establishment.sql b/htdocs/install/mysql/tables/llx_establishment.sql index 667d512762d..cb9aa676d40 100644 --- a/htdocs/install/mysql/tables/llx_establishment.sql +++ b/htdocs/install/mysql/tables/llx_establishment.sql @@ -1,5 +1,5 @@ -- ============================================================================ --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_loan.sql b/htdocs/install/mysql/tables/llx_loan.sql index f153e25dd22..abb1eab0c09 100644 --- a/htdocs/install/mysql/tables/llx_loan.sql +++ b/htdocs/install/mysql/tables/llx_loan.sql @@ -1,5 +1,5 @@ -- ======================================================================== --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- Copyright (C) 2015 Frederic France <frederic.france@free.fr> -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_loan_schedule.sql b/htdocs/install/mysql/tables/llx_loan_schedule.sql index 005ae07528e..11c167ae305 100644 --- a/htdocs/install/mysql/tables/llx_loan_schedule.sql +++ b/htdocs/install/mysql/tables/llx_loan_schedule.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- Copyright (C) 2015 Frederic France <frederic.france@free.fr> -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_payment_donation.sql b/htdocs/install/mysql/tables/llx_payment_donation.sql index d452d4da054..67f6eade0f0 100644 --- a/htdocs/install/mysql/tables/llx_payment_donation.sql +++ b/htdocs/install/mysql/tables/llx_payment_donation.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_payment_expensereport.sql b/htdocs/install/mysql/tables/llx_payment_expensereport.sql index deeb82f615c..aadd0a090fd 100644 --- a/htdocs/install/mysql/tables/llx_payment_expensereport.sql +++ b/htdocs/install/mysql/tables/llx_payment_expensereport.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_payment_loan.sql b/htdocs/install/mysql/tables/llx_payment_loan.sql index 10801fc7454..28edaf6cb37 100644 --- a/htdocs/install/mysql/tables/llx_payment_loan.sql +++ b/htdocs/install/mysql/tables/llx_payment_loan.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2014 Alexandre Spangaro <aspangaro@open-dsi.fr> -- Copyright (C) 2015 Frederic France <frederic.france@free.fr> -- -- This program is free software; you can redistribute it and/or modify diff --git a/htdocs/install/mysql/tables/llx_payment_salary.sql b/htdocs/install/mysql/tables/llx_payment_salary.sql index c56e6459aa0..3540725173b 100644 --- a/htdocs/install/mysql/tables/llx_payment_salary.sql +++ b/htdocs/install/mysql/tables/llx_payment_salary.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2011-2018 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2011-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_payment_various.sql b/htdocs/install/mysql/tables/llx_payment_various.sql index d3351287e58..880fb4b5698 100644 --- a/htdocs/install/mysql/tables/llx_payment_various.sql +++ b/htdocs/install/mysql/tables/llx_payment_various.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +-- Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/install/mysql/tables/llx_user_rib.sql b/htdocs/install/mysql/tables/llx_user_rib.sql index 05738ce4582..d6d397c5787 100644 --- a/htdocs/install/mysql/tables/llx_user_rib.sql +++ b/htdocs/install/mysql/tables/llx_user_rib.sql @@ -1,5 +1,5 @@ -- ============================================================================= --- Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> +-- Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> -- -- 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 diff --git a/htdocs/langs/en_US/assets.lang b/htdocs/langs/en_US/assets.lang index 6fb40755fdb..293d9b205f6 100644 --- a/htdocs/langs/en_US/assets.lang +++ b/htdocs/langs/en_US/assets.lang @@ -1,4 +1,4 @@ -# Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +# Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> # # 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 diff --git a/htdocs/langs/fr_FR/assets.lang b/htdocs/langs/fr_FR/assets.lang index 356245e8761..847e5a6cb15 100644 --- a/htdocs/langs/fr_FR/assets.lang +++ b/htdocs/langs/fr_FR/assets.lang @@ -1,4 +1,4 @@ -# Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +# Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> # # 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 diff --git a/htdocs/langs/lv_LV/assets.lang b/htdocs/langs/lv_LV/assets.lang index f632913c15e..7afddf85d74 100644 --- a/htdocs/langs/lv_LV/assets.lang +++ b/htdocs/langs/lv_LV/assets.lang @@ -1,4 +1,4 @@ -# Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +# Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> # # 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 diff --git a/htdocs/langs/pt_BR/assets.lang b/htdocs/langs/pt_BR/assets.lang index 877bd41ecd1..56f4a48c9fc 100644 --- a/htdocs/langs/pt_BR/assets.lang +++ b/htdocs/langs/pt_BR/assets.lang @@ -1,4 +1,4 @@ -# Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> +# Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> # # 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 diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php index 3bab5474b08..9edb77dee7f 100644 --- a/htdocs/loan/card.php +++ b/htdocs/loan/card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Frederic France <frederic.france@free.fr> * Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net> * diff --git a/htdocs/loan/class/loan.class.php b/htdocs/loan/class/loan.class.php index 09fddcb5599..6f99adb5cbd 100644 --- a/htdocs/loan/class/loan.class.php +++ b/htdocs/loan/class/loan.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015-2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/loan/class/paymentloan.class.php b/htdocs/loan/class/paymentloan.class.php index f11842bf0c1..8f65617d2a2 100644 --- a/htdocs/loan/class/paymentloan.class.php +++ b/htdocs/loan/class/paymentloan.class.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015-2018 Frederic France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/loan/createschedule.php b/htdocs/loan/createschedule.php index 7a68d3e38a8..203ab1d8c19 100644 --- a/htdocs/loan/createschedule.php +++ b/htdocs/loan/createschedule.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2017 Franck Moreau <franck.moreau@theobald.com> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/loan/document.php b/htdocs/loan/document.php index 553bbc258e8..e24a77c82cf 100644 --- a/htdocs/loan/document.php +++ b/htdocs/loan/document.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/loan/info.php b/htdocs/loan/info.php index cc923b17fea..276528fc721 100644 --- a/htdocs/loan/info.php +++ b/htdocs/loan/info.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/loan/list.php b/htdocs/loan/list.php index 780d28df081..707ae473358 100644 --- a/htdocs/loan/list.php +++ b/htdocs/loan/list.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Frederic France <frederic.france@free.fr> * Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2016 Laurent Destailleur <eldy@users.sourceforge.net> diff --git a/htdocs/loan/note.php b/htdocs/loan/note.php index e066ef07a8e..a4ed60de2f0 100644 --- a/htdocs/loan/note.php +++ b/htdocs/loan/note.php @@ -4,7 +4,7 @@ * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2015 Frederic France <frederic.france@free.fr> - * Copyright (C) 2016-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2016-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/loan/payment/card.php b/htdocs/loan/payment/card.php index 017f6a26254..cd916c6e868 100644 --- a/htdocs/loan/payment/card.php +++ b/htdocs/loan/payment/card.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/loan/payment/payment.php b/htdocs/loan/payment/payment.php index 2ca310a1689..f09ae3d1cce 100644 --- a/htdocs/loan/payment/payment.php +++ b/htdocs/loan/payment/payment.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2014-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015-2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/loan/schedule.php b/htdocs/loan/schedule.php index 30ba126aefb..7f5b0cf53bc 100644 --- a/htdocs/loan/schedule.php +++ b/htdocs/loan/schedule.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2017 Franck Moreau <franck.moreau@theobald.com> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/opensurvey/wizard/create_survey.php b/htdocs/opensurvey/wizard/create_survey.php index 8664e616c55..7add3ffc425 100644 --- a/htdocs/opensurvey/wizard/create_survey.php +++ b/htdocs/opensurvey/wizard/create_survey.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2014 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com> - * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 9e07dc90d46..8205b54c0b7 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -8,7 +8,7 @@ * Copyright (C) 2012 Cedric Salvador <csalvador@gpcsolutions.fr> * Copyright (C) 2013-2014 Cedric GROSS <c.gross@kreiz-it.fr> * Copyright (C) 2013-2016 Marcos García <marcosgdf@gmail.com> - * Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2011-2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Henry Florian <florian.henry@open-concept.pro> * Copyright (C) 2014-2016 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2014 Ion agorria <ion@agorria.com> diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index e190e3a55d1..1e643c7f192 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -6,7 +6,7 @@ * Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012 Christophe Battarel <christophe.battarel@altairis.fr> * Copyright (C) 2014 Ion Agorria <ion@agorria.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 1c73758c5f2..804dabe7e4f 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -8,7 +8,7 @@ * Copyright (C) 2014-2018 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2014-2019 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2014 Ion agorria <ion@agorria.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2016 Ferran Marcet <fmarcet@2byte.es> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index d4b0e4c8dae..66eeeedc97f 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2010 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2012-2016 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2016 Josep Lluís Amador <joseplluis@lliuretic.cat> * diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php index efbf449ae26..fe5116137f2 100644 --- a/htdocs/public/members/new.php +++ b/htdocs/public/members/new.php @@ -5,7 +5,7 @@ * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2012 J. Fernando Lagrange <fernando@demo-tic.org> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/public/members/public_card.php b/htdocs/public/members/public_card.php index c2df82fb2f2..cee3bb1ee16 100644 --- a/htdocs/public/members/public_card.php +++ b/htdocs/public/members/public_card.php @@ -3,7 +3,7 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo <jlb@j1b.org> * Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2018 Alexandre Spangaro <aspangaro@zendsi.com> + * Copyright (C) 2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/public/stripe/newpayment.php b/htdocs/public/stripe/newpayment.php index cb22aa72cd4..25fa3365840 100644 --- a/htdocs/public/stripe/newpayment.php +++ b/htdocs/public/stripe/newpayment.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Saasprov <saasprov@gmail.com> * Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es> diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php index dbb7fbcd91b..9518e3db0c8 100644 --- a/htdocs/societe/card.php +++ b/htdocs/societe/card.php @@ -6,7 +6,7 @@ * Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net> * Copyright (C) 2010-2016 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2011-2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2013 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 90c20ca1cf2..bc368a10b2c 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -8,7 +8,7 @@ * Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net> * Copyright (C) 2010-2018 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr> * Copyright (C) 2014-2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> diff --git a/htdocs/societe/contact.php b/htdocs/societe/contact.php index 4077a0b1815..112ac46900c 100644 --- a/htdocs/societe/contact.php +++ b/htdocs/societe/contact.php @@ -6,7 +6,7 @@ * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2008 Patrick Raguin <patrick.raguin@auguria.net> * Copyright (C) 2010-2016 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2011-2013 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2011-2013 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> diff --git a/htdocs/stripe/admin/stripe.php b/htdocs/stripe/admin/stripe.php index 6a4dd8713f7..a0846cdd79e 100644 --- a/htdocs/stripe/admin/stripe.php +++ b/htdocs/stripe/admin/stripe.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2017 Saasprov <saasprov@gmail.com> * Copyright (C) 2018 ptibogxiv <support@ptibogxiv.net> diff --git a/htdocs/stripe/config.php b/htdocs/stripe/config.php index cea97efe0a3..b313e97b9fa 100644 --- a/htdocs/stripe/config.php +++ b/htdocs/stripe/config.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2017 Saasprov <saasprov@gmail.com> * Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es.com> * diff --git a/htdocs/stripe/lib/stripe.lib.php b/htdocs/stripe/lib/stripe.lib.php index bafa83c21cf..099bffefa45 100644 --- a/htdocs/stripe/lib/stripe.lib.php +++ b/htdocs/stripe/lib/stripe.lib.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@zendsi.com> +/* Copyright (C) 2017 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index e20ffbe43e2..d3e2368217e 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -4,7 +4,7 @@ * Copyright (C) 2007-2017 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/user/bank.php b/htdocs/user/bank.php index c76cab34f3b..527a7af5cb7 100644 --- a/htdocs/user/bank.php +++ b/htdocs/user/bank.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr> * Copyright (C) 2015-2016 Marcos García <marcosgdf@gmail.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * * 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 diff --git a/htdocs/user/card.php b/htdocs/user/card.php index f4799e7b17f..f0b3aa361cc 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -8,7 +8,7 @@ * Copyright (C) 2011 Herve Prot <herve.prot@symeos.com> * Copyright (C) 2012-2018 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013-2016 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015-2017 Jean-François Ferry <jfefe@aternatik.fr> * Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2015-2018 Charlene Benke <charlie@patas-monkey.com> diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index fbc0237c37b..15139bd0291 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -8,7 +8,7 @@ * Copyright (C) 2005 Lionel Cousteix <etm_ltd@tiscali.co.uk> * Copyright (C) 2011 Herve Prot <herve.prot@symeos.com> * Copyright (C) 2013-2018 Philippe Grand <philippe.grand@atoo-net.com> - * Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013-2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2018 charlene Benke <charlie@patas-monkey.com> * Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com> diff --git a/htdocs/user/class/userbankaccount.class.php b/htdocs/user/class/userbankaccount.class.php index d18ece1f89e..8e9ad2745c3 100644 --- a/htdocs/user/class/userbankaccount.class.php +++ b/htdocs/user/class/userbankaccount.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2010-2013 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2013 Peter Fontaine <contact@peterfontaine.fr> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Marcos García <marcosgdf@gmail.com> * * This program is free software; you can redistribute it and/or modify diff --git a/htdocs/user/list.php b/htdocs/user/list.php index ea8d340e0ae..4a449771a64 100644 --- a/htdocs/user/list.php +++ b/htdocs/user/list.php @@ -2,7 +2,7 @@ /* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2017 Regis Houssin <regis.houssin@inodbox.com> - * Copyright (C) 2015 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2015 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2016 Marcos García <marcosgdf@gmail.com> * * This program is free software; you can redistribute it and/or modify diff --git a/scripts/accountancy/export-thirdpartyaccount.php b/scripts/accountancy/export-thirdpartyaccount.php index e8468d64ece..90a072ebeba 100755 --- a/scripts/accountancy/export-thirdpartyaccount.php +++ b/scripts/accountancy/export-thirdpartyaccount.php @@ -1,7 +1,7 @@ #!/usr/bin/env php <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> - * Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro.dolibarr@gmail.com> + * Copyright (C) 2013-2014 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro> * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * From 64975b3b9eb4d017c0de9f33b442b414f86fef4c Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO <aspangaro.dolibarr@gmail.com> Date: Mon, 28 Jan 2019 22:27:55 +0100 Subject: [PATCH 061/130] NEW: When you create product or service, sell accountancy account by default are proposed --- htdocs/accountancy/admin/defaultaccounts.php | 4 ++- htdocs/langs/en_US/accountancy.lang | 2 ++ htdocs/product/card.php | 30 ++++++++++++++++---- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/htdocs/accountancy/admin/defaultaccounts.php b/htdocs/accountancy/admin/defaultaccounts.php index 2f41dfa4bfd..1cd00627aa3 100644 --- a/htdocs/accountancy/admin/defaultaccounts.php +++ b/htdocs/accountancy/admin/defaultaccounts.php @@ -1,7 +1,7 @@ <?php /* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com> * Copyright (C) 2013-2014 Florian Henry <florian.henry@open-concept.pro> - * Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> + * Copyright (C) 2013-2019 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2014-2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es> @@ -55,6 +55,8 @@ $list_account_main = array ( $list_account = array ( 'ACCOUNTING_PRODUCT_BUY_ACCOUNT', 'ACCOUNTING_PRODUCT_SOLD_ACCOUNT', + 'ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT', + 'ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT', 'ACCOUNTING_SERVICE_BUY_ACCOUNT', 'ACCOUNTING_SERVICE_SOLD_ACCOUNT', 'ACCOUNTING_VAT_BUY_ACCOUNT', diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index 144caf49dde..c85593925f5 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -155,6 +155,8 @@ ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscript ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for bought products (used if not defined in the product sheet) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT_INTRA=Accounting account by default for the sold products in CEE (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT_EXPORT=Accounting account by default for the sold products export out of CEE (used if not defined in the product sheet) ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (used if not defined in the service sheet) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (used if not defined in the service sheet) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 512a5caa322..46f57193eb2 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1176,7 +1176,13 @@ else // Accountancy_code_sell print '<tr><td class="titlefieldcreate">'.$langs->trans("ProductAccountancySellCode").'</td>'; print '<td>'; - print $formaccounting->select_account(GETPOST('accountancy_code_sell'), 'accountancy_code_sell', 1, null, 1, 1, ''); + if($type = 0) + { + $accountancy_code_sell = (GETPOST('accountancy_code_sell','alpha')?(GETPOST('accountancy_code_sell','alpha')):$conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT); + } else { + $accountancy_code_sell = (GETPOST('accountancy_code_sell','alpha')?(GETPOST('accountancy_code_sell','alpha')):$conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT); + } + print $formaccounting->select_account($accountancy_code_sell, 'accountancy_code_sell', 1, null, 1, 1, ''); print '</td></tr>'; // Accountancy_code_sell_intra @@ -1184,20 +1190,32 @@ else { print '<tr><td class="titlefieldcreate">'.$langs->trans("ProductAccountancySellIntraCode").'</td>'; print '<td>'; - print $formaccounting->select_account(GETPOST('accountancy_code_sell_intra'), 'accountancy_code_sell_intra', 1, null, 1, 1, ''); - print '</td></tr>'; + if($type = 0) + { + $accountancy_code_sell_intra = (GETPOST('accountancy_code_sell_intra','alpha')?(GETPOST('accountancy_code_sell_intra','alpha')):$conf->global->ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT); + } else { + $accountancy_code_sell_intra = GETPOST('accountancy_code_sell_intra','alpha'); + } + print $formaccounting->select_account($accountancy_code_sell_intra, 'accountancy_code_sell_intra', 1, null, 1, 1, ''); + print '</td></tr>'; } // Accountancy_code_sell_export print '<tr><td class="titlefieldcreate">'.$langs->trans("ProductAccountancySellExportCode").'</td>'; print '<td>'; - print $formaccounting->select_account(GETPOST('accountancy_code_sell_export'), 'accountancy_code_sell_export', 1, null, 1, 1, ''); - print '</td></tr>'; + if($type = 0) + { + $accountancy_code_sell_export = (GETPOST('accountancy_code_sell_export','alpha')?(GETPOST('accountancy_code_sell_export','alpha')):$conf->global->ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT); + } else { + $accountancy_code_sell_export = GETPOST('accountancy_code_sell_export','alpha'); + } + print $formaccounting->select_account($accountancy_code_sell_export, 'accountancy_code_sell_export', 1, null, 1, 1, ''); + print '</td></tr>'; // Accountancy_code_buy print '<tr><td>'.$langs->trans("ProductAccountancyBuyCode").'</td>'; print '<td>'; - print $formaccounting->select_account(GETPOST('accountancy_code_buy'), 'accountancy_code_buy', 1, null, 1, 1, ''); + print $formaccounting->select_account(GETPOST('accountancy_code_buy','alpha'), 'accountancy_code_buy', 1, null, 1, 1, ''); print '</td></tr>'; } else // For external software From b24f5fda68f3f6800a68fce44676db8dcb59d910 Mon Sep 17 00:00:00 2001 From: Xebax <xebax@wanadoo.fr> Date: Tue, 29 Jan 2019 08:47:46 +0100 Subject: [PATCH 062/130] FIX Fix PHP warning "count(): Parameter must be an array..." --- htdocs/api/class/api.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/api/class/api.class.php b/htdocs/api/class/api.class.php index 2d18568bf2d..b9e7f2075ef 100644 --- a/htdocs/api/class/api.class.php +++ b/htdocs/api/class/api.class.php @@ -251,7 +251,7 @@ class DolibarrApi //$tmp=preg_replace_all('/'.$regexstring.'/', '', $sqlfilters); $tmp=$sqlfilters; $ok=0; - $i=0; $nb=count($tmp); + $i=0; $nb=strlen($tmp); $counter=0; while ($i < $nb) { From f6be0f768648ebea75c359d9e3d26acd877e9d6f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 10:48:45 +0100 Subject: [PATCH 063/130] Fix duplicate log when using mass action email send --- htdocs/core/actions_massactions.inc.php | 2212 ++++++++++++----------- 1 file changed, 1143 insertions(+), 1069 deletions(-) diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index 5b4f0c28d0e..d01f0705817 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -37,8 +37,8 @@ // Protection if (empty($objectclass) || empty($uploaddir)) { - dol_print_error(null, 'include of actions_massactions.inc.php is done but var $massaction or $objectclass or $uploaddir was not defined'); - exit; + dol_print_error(null, 'include of actions_massactions.inc.php is done but var $massaction or $objectclass or $uploaddir was not defined'); + exit; } @@ -46,1047 +46,1060 @@ if (empty($objectclass) || empty($uploaddir)) $maxformassaction=(empty($conf->global->MAIN_LIMIT_FOR_MASS_ACTIONS)?1000:$conf->global->MAIN_LIMIT_FOR_MASS_ACTIONS); if (! empty($massaction) && count($toselect) < 1) { - $error++; - setEventMessages($langs->trans("NoRecordSelected"), null, "warnings"); + $error++; + setEventMessages($langs->trans("NoRecordSelected"), null, "warnings"); } if (! $error && is_array($toselect) && count($toselect) > $maxformassaction) { - setEventMessages($langs->trans('TooManyRecordForMassAction',$maxformassaction), null, 'errors'); - $error++; + setEventMessages($langs->trans('TooManyRecordForMassAction',$maxformassaction), null, 'errors'); + $error++; } if (! $error && $massaction == 'confirm_presend' && ! GETPOST('sendmail')) // If we do not choose button send (for example when we change template or limit), we must not send email, but keep on send email form { - $massaction='presend'; + $massaction='presend'; } if (! $error && $massaction == 'confirm_presend') { - $resaction = ''; - $nbsent = 0; - $nbignored = 0; - $langs->load("mails"); - include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - $listofobjectid=array(); - $listofobjectthirdparties=array(); - $listofobjectref=array(); - - if (! $error) - { - $thirdparty=new Societe($db); - if ($objecttmp->element == 'expensereport') $thirdparty=new User($db); - if ($objecttmp->element == 'holiday') $thirdparty=new User($db); - - $objecttmp=new $objectclass($db); - foreach($toselect as $toselectid) - { - $objecttmp=new $objectclass($db); // we must create new instance because instance is saved into $listofobjectref array for future use - $result=$objecttmp->fetch($toselectid); - if ($result > 0) - { - $listofobjectid[$toselectid]=$toselectid; - $thirdpartyid=($objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid); - if ($objecttmp->element == 'societe') $thirdpartyid=$objecttmp->id; - if ($objecttmp->element == 'expensereport') $thirdpartyid=$objecttmp->fk_user_author; - if ($objecttmp->element == 'holiday') $thirdpartyid=$objecttmp->fk_user; - $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; - $listofobjectref[$thirdpartyid][$toselectid]=$objecttmp; - } - } - } - - // Check mandatory parameters - if (GETPOST('fromtype','alpha') === 'user' && empty($user->email)) - { - $error++; - setEventMessages($langs->trans("NoSenderEmailDefined"), null, 'warnings'); - $massaction='presend'; - } - - $receiver=$_POST['receiver']; - if (! is_array($receiver)) - { - if (empty($receiver) || $receiver == '-1') $receiver=array(); - else $receiver=array($receiver); - } - if (! trim($_POST['sendto']) && count($receiver) == 0 && count($listofobjectthirdparties) == 1) // if only one recipient, receiver is mandatory - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Recipient")), null, 'warnings'); - $massaction='presend'; - } - - if (! GETPOST('subject','none')) - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("MailTopic")), null, 'warnings'); - $massaction='presend'; - } - - // Loop on each recipient/thirdparty - if (! $error) - { - foreach ($listofobjectthirdparties as $thirdpartyid) - { - $result = $thirdparty->fetch($thirdpartyid); - if ($result < 0) - { - dol_print_error($db); - exit; - } - - $sendto=''; - $sendtocc=''; - $sendtobcc=''; - $sendtoid = array(); - - // Define $sendto - $tmparray=array(); - if (trim($_POST['sendto'])) - { - // Recipients are provided into free text - $tmparray[] = trim($_POST['sendto']); - } - if (count($receiver)>0) - { - foreach($receiver as $key=>$val) - { - // Recipient was provided from combo list - if ($val == 'thirdparty') // Id of third party or user - { - $tmparray[] = $thirdparty->name.' <'.$thirdparty->email.'>'; - } - elseif ($val && method_exists($thirdparty, 'contact_get_property')) // Id of contact - { - $tmparray[] = $thirdparty->contact_get_property((int) $val,'email'); - $sendtoid[] = $val; - } - } - } - $sendto=implode(',',$tmparray); - - // Define $sendtocc - $receivercc=$_POST['receivercc']; - if (! is_array($receivercc)) - { - if ($receivercc == '-1') $receivercc=array(); - else $receivercc=array($receivercc); - } - $tmparray=array(); - if (trim($_POST['sendtocc'])) - { - $tmparray[] = trim($_POST['sendtocc']); - } - if (count($receivercc) > 0) - { - foreach($receivercc as $key=>$val) - { - // Recipient was provided from combo list - if ($val == 'thirdparty') // Id of third party - { - $tmparray[] = $thirdparty->name.' <'.$thirdparty->email.'>'; - } - elseif ($val) // Id du contact - { - $tmparray[] = $thirdparty->contact_get_property((int) $val,'email'); - //$sendtoid[] = $val; TODO Add also id of contact in CC ? - } - } - } - $sendtocc=implode(',',$tmparray); - - //var_dump($listofobjectref);exit; - $attachedfiles=array('paths'=>array(), 'names'=>array(), 'mimes'=>array()); - $listofqualifiedobj=array(); - $listofqualifiedref=array(); - $thirdpartywithoutemail=array(); - - foreach($listofobjectref[$thirdpartyid] as $objectid => $objectobj) - { - //var_dump($thirdpartyid.' - '.$objectid.' - '.$objectobj->statut); - if ($objectclass == 'Propal' && $objectobj->statut == Propal::STATUS_DRAFT) - { - $langs->load("errors"); - $nbignored++; - $resaction.='<div class="error">'.$langs->trans('ErrorOnlyProposalNotDraftCanBeSentInMassAction',$objectobj->ref).'</div><br>'; - continue; // Payment done or started or canceled - } - if ($objectclass == 'Commande' && $objectoj->statut == Commande::STATUS_DRAFT) - { - $langs->load("errors"); - $nbignored++; - $resaction.='<div class="error">'.$langs->trans('ErrorOnlyOrderNotDraftCanBeSentInMassAction',$objectobj->ref).'</div><br>'; - continue; - } - if ($objectclass == 'Facture' && $objectobj->statut == Facture::STATUS_DRAFT) - { - $langs->load("errors"); - $nbignored++; - $resaction.='<div class="error">'.$langs->trans('ErrorOnlyInvoiceValidatedCanBeSentInMassAction',$objectobj->ref).'</div><br>'; - continue; // Payment done or started or canceled - } - - // Test recipient - if (empty($sendto)) // For the case, no recipient were set (multi thirdparties send) - { - if ($objectobj->element == 'expensereport') - { - $fuser = new User($db); - $fuser->fetch($objectobj->fk_user_author); - $sendto = $fuser->email; - } - else - { - $objectobj->fetch_thirdparty(); - $sendto = $objectobj->thirdparty->email; - } - } - - if (empty($sendto)) - { - //print "No recipient for thirdparty ".$objectobj->thirdparty->name; - $nbignored++; - if (empty($thirdpartywithoutemail[$objectobj->thirdparty->id])) - { - $resaction.='<div class="error">'.$langs->trans('NoRecipientEmail',$objectobj->thirdparty->name).'</div><br>'; - } - dol_syslog('No recipient for thirdparty: '.$objectobj->thirdparty->name, LOG_WARNING); - $thirdpartywithoutemail[$objectobj->thirdparty->id]=1; - continue; - } - - if ($_POST['addmaindocfile']) - { - // TODO Use future field $objectobj->fullpathdoc to know where is stored default file - // TODO If not defined, use $objectobj->modelpdf (or defaut invoice config) to know what is template to use to regenerate doc. - $filename=dol_sanitizeFileName($objectobj->ref).'.pdf'; - $filedir=$uploaddir . '/' . dol_sanitizeFileName($objectobj->ref); - $file = $filedir . '/' . $filename; - $mime = dol_mimetype($file); - - if (dol_is_file($file)) - { - // Create form object - $attachedfiles=array( - 'paths'=>array_merge($attachedfiles['paths'],array($file)), - 'names'=>array_merge($attachedfiles['names'],array($filename)), - 'mimes'=>array_merge($attachedfiles['mimes'],array($mime)) - ); - } - else - { - $nbignored++; - $langs->load("errors"); - $resaction.='<div class="error">'.$langs->trans('ErrorCantReadFile',$file).'</div><br>'; - dol_syslog('Failed to read file: '.$file, LOG_WARNING); - continue; - } - } - - // Object of thirdparty qualified - $listofqualifiedobj[$objectid]=$objectobj; - $listofqualifiedref[$objectid]=$objectobj->ref; - - - //var_dump($listofqualifiedref); - } - - // Send email if there is at least one qualified record - if (count($listofqualifiedobj) > 0) - { - $langs->load("commercial"); - - $fromtype = GETPOST('fromtype'); - if ($fromtype === 'user') { - $from = $user->getFullName($langs) .' <'.$user->email.'>'; - } - elseif ($fromtype === 'company') { - $from = $conf->global->MAIN_INFO_SOCIETE_NOM .' <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>'; - } - elseif (preg_match('/user_aliases_(\d+)/', $fromtype, $reg)) { - $tmp=explode(',', $user->email_aliases); - $from = trim($tmp[($reg[1] - 1)]); - } - elseif (preg_match('/global_aliases_(\d+)/', $fromtype, $reg)) { - $tmp=explode(',', $conf->global->MAIN_INFO_SOCIETE_MAIL_ALIASES); - $from = trim($tmp[($reg[1] - 1)]); - } - elseif (preg_match('/senderprofile_(\d+)_(\d+)/', $fromtype, $reg)) { - $sql='SELECT rowid, label, email FROM '.MAIN_DB_PREFIX.'c_email_senderprofile WHERE rowid = '.(int) $reg[1]; - $resql = $db->query($sql); - $obj = $db->fetch_object($resql); - if ($obj) - { - $from = $obj->label.' <'.$obj->email.'>'; - } - } - else { - $from = $_POST['fromname'] . ' <' . $_POST['frommail'] .'>'; - } - - $replyto = $from; - $subject = GETPOST('subject','none'); - $message = GETPOST('message','none'); - - $sendtobcc = GETPOST('sendtoccc'); - if ($objectclass == 'Propal') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO)); - if ($objectclass == 'Commande') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO)); - if ($objectclass == 'Facture') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO)); - if ($objectclass == 'Supplier_Proposal') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_PROPOSAL_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_PROPOSAL_TO)); - if ($objectclass == 'CommandeFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_ORDER_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_ORDER_TO)); - if ($objectclass == 'FactureFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO)); - - // $listofqualifiedobj is array with key = object id and value is instance of qualified objects, for the current thirdparty (but thirdparty property is not loaded yet) - $oneemailperrecipient=(GETPOST('oneemailperrecipient')=='on'?1:0); - $looparray=array(); - if (! $oneemailperrecipient) - { - $looparray = $listofqualifiedobj; - foreach ($looparray as $key => $objecttmp) - { - $looparray[$key]->thirdparty = $thirdparty; - } - } - else - { - $objectforloop=new $objectclass($db); - $objectforloop->thirdparty = $thirdparty; - $looparray[0]=$objectforloop; - } - //var_dump($looparray);exit; - - foreach ($looparray as $objecttmp) // $objecttmp is a real object or an empty object if we choose to send one email per thirdparty instead of one per record - { - // Make substitution in email content - $substitutionarray=getCommonSubstitutionArray($langs, 0, null, $objecttmp); - $substitutionarray['__ID__'] = ($oneemailperrecipient ? join(', ',array_keys($listofqualifiedobj)) : $objecttmp->id); - $substitutionarray['__REF__'] = ($oneemailperrecipient ? join(', ',$listofqualifiedref) : $objecttmp->ref); - $substitutionarray['__EMAIL__'] = $thirdparty->email; - $substitutionarray['__CHECK_READ__'] = '<img src="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-read.php?tag='.$thirdparty->tag.'&securitykey='.urlencode($conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY).'" width="1" height="1" style="width:1px;height:1px" border="0"/>'; - - $parameters=array('mode'=>'formemail'); - - if ( ! empty( $listofobjectthirdparties ) ) { - $parameters['listofobjectthirdparties'] = $listofobjectthirdparties; - } - if ( ! empty( $listofobjectref ) ) { - $parameters['listofobjectref'] = $listofobjectref; - } - - complete_substitutions_array($substitutionarray, $langs, $objecttmp, $parameters); - - $subject=make_substitutions($subject, $substitutionarray); - $message=make_substitutions($message, $substitutionarray); - - $filepath = $attachedfiles['paths']; - $filename = $attachedfiles['names']; - $mimetype = $attachedfiles['mimes']; - - // Define the trackid when emails sent from the mass action - if ($oneemailperrecipient) - { - $trackid='thi'.$thirdparty->id; - if ($objecttmp->element == 'expensereport') $trackid='use'.$thirdparty->id; - if ($objecttmp->element == 'holiday') $trackid='use'.$thirdparty->id; - } - else - { - $trackid=strtolower(get_class($objecttmp)); - if (get_class($objecttmp)=='Contrat') $trackid='con'; - if (get_class($objecttmp)=='Propal') $trackid='pro'; - if (get_class($objecttmp)=='Commande') $trackid='ord'; - if (get_class($objecttmp)=='Facture') $trackid='inv'; - if (get_class($objecttmp)=='Supplier_Proposal') $trackid='spr'; - if (get_class($objecttmp)=='CommandeFournisseur') $trackid='sor'; - if (get_class($objecttmp)=='FactureFournisseur') $trackid='sin'; - - $trackid.=$objecttmp->id; - } - //var_dump($filepath); - //var_dump($trackid);exit; - - // Send mail (substitutionarray must be done just before this) - require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; - $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,$sendtobcc,$deliveryreceipt,-1,'','',$trackid); - if ($mailfile->error) - { - $resaction.='<div class="error">'.$mailfile->error.'</div>'; - } - else - { - $result=$mailfile->sendfile(); - if ($result) - { - $resaction.=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2)).'<br>'; // Must not contain " - - $error=0; - - // Insert logs into agenda - foreach($listofqualifiedobj as $objid => $objectobj) - { - dol_syslog("Try to insert email event into agenda for objid=".$objid." => objectobj=".get_class($objectobj)); - - /*if ($objectclass == 'Propale') $actiontypecode='AC_PROP'; - if ($objectclass == 'Commande') $actiontypecode='AC_COM'; - if ($objectclass == 'Facture') $actiontypecode='AC_FAC'; - if ($objectclass == 'Supplier_Proposal') $actiontypecode='AC_SUP_PRO'; - if ($objectclass == 'CommandeFournisseur') $actiontypecode='AC_SUP_ORD'; - if ($objectclass == 'FactureFournisseur') $actiontypecode='AC_SUP_INV';*/ - - $actionmsg=$langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto; - if ($message) - { - if ($sendtocc) $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc); - $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subject); - $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('TextUsedInTheMessageBody') . ":"); - $actionmsg = dol_concatdesc($actionmsg, $message); - } - $actionmsg2=''; - - // Initialisation donnees - $objectobj->sendtoid = 0; - $objectobj->actionmsg = $actionmsg; // Long text - $objectobj->actionmsg2 = $actionmsg2; // Short text - $objectobj->fk_element = $objid; - $objectobj->elementtype = $objectobj->element; - - $triggername = strtoupper(get_class($objectobj)) .'_SENTBYMAIL'; - if ($triggername == 'SOCIETE_SENTBYMAIL') $triggername = 'COMPANY_SENTBYMAIL'; - if ($triggername == 'CONTRAT_SENTBYMAIL') $triggername = 'CONTRACT_SENTBYMAIL'; - if ($triggername == 'COMMANDE_SENTBYMAIL') $triggername = 'ORDER_SENTBYMAIL'; - if ($triggername == 'FACTURE_SENTBYMAIL') $triggername = 'BILL_SENTBYMAIL'; - if ($triggername == 'EXPEDITION_SENTBYMAIL') $triggername = 'SHIPPING_SENTBYMAIL'; - if ($triggername == 'COMMANDEFOURNISSEUR_SENTBYMAIL') $triggername = 'ORDER_SUPPLIER_SENTBYMAIL'; - if ($triggername == 'FACTUREFOURNISSEUR_SENTBYMAIL') $triggername = 'BILL_SUPPLIER_SENTBYMAIL'; - if ($triggername == 'SUPPLIERPROPOSAL_SENTBYMAIL') $triggername = 'PROPOSAL_SUPPLIER_SENTBYMAIL'; - - if (! empty($triggername)) - { - // Appel des triggers - include_once DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"; - $interface=new Interfaces($db); - $result=$interface->run_triggers($triggername, $objectobj, $user, $langs, $conf); - if ($result < 0) { $error++; $errors=$interface->errors; } - // Fin appel triggers - - if ($error) - { - setEventMessages($db->lasterror(), $errors, 'errors'); - dol_syslog("Error in trigger ".$triggername.' '.$db->lasterror(), LOG_ERR); - } - } - - $nbsent++; - } - } - else - { - $langs->load("other"); - if ($mailfile->error) - { - $resaction.=$langs->trans('ErrorFailedToSendMail',$from,$sendto); - $resaction.='<br><div class="error">'.$mailfile->error.'</div>'; - } - else - { - $resaction.='<div class="warning">No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS</div>'; - } - } - } - } - } - } - - $resaction.=($resaction?'<br>':$resaction); - $resaction.='<strong>'.$langs->trans("ResultOfMailSending").':</strong><br>'."\n"; - $resaction.=$langs->trans("NbSelected").': '.count($toselect)."\n<br>"; - $resaction.=$langs->trans("NbIgnored").': '.($nbignored?$nbignored:0)."\n<br>"; - $resaction.=$langs->trans("NbSent").': '.($nbsent?$nbsent:0)."\n<br>"; - - if ($nbsent) - { - $action=''; // Do not show form post if there was at least one successfull sent - //setEventMessages($langs->trans("EMailSentToNRecipients", $nbsent.'/'.count($toselect)), null, 'mesgs'); - setEventMessages($langs->trans("EMailSentForNElements", $nbsent.'/'.count($toselect)), null, 'mesgs'); - setEventMessages($resaction, null, 'mesgs'); - } - else - { - //setEventMessages($langs->trans("EMailSentToNRecipients", 0), null, 'warnings'); // May be object has no generated PDF file - setEventMessages($resaction, null, 'warnings'); - } - - $action='list'; - $massaction=''; - } + $resaction = ''; + $nbsent = 0; + $nbignored = 0; + $langs->load("mails"); + include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $listofobjectid=array(); + $listofobjectthirdparties=array(); + $listofobjectref=array(); + + if (! $error) + { + $thirdparty=new Societe($db); + + $objecttmp=new $objectclass($db); + if ($objecttmp->element == 'expensereport') $thirdparty=new User($db); + if ($objecttmp->element == 'holiday') $thirdparty=new User($db); + + foreach($toselect as $toselectid) + { + $objecttmp=new $objectclass($db); // we must create new instance because instance is saved into $listofobjectref array for future use + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + $listofobjectid[$toselectid]=$toselectid; + + $thirdpartyid=($objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid); + if ($objecttmp->element == 'societe') $thirdpartyid=$objecttmp->id; + if ($objecttmp->element == 'expensereport') $thirdpartyid=$objecttmp->fk_user_author; + if ($objecttmp->element == 'holiday') $thirdpartyid=$objecttmp->fk_user; + if (empty($thirdpartyid)) $thirdpartyid=0; + + $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; + $listofobjectref[$thirdpartyid][$toselectid]=$objecttmp; + } + } + } + + // Check mandatory parameters + if (GETPOST('fromtype','alpha') === 'user' && empty($user->email)) + { + $error++; + setEventMessages($langs->trans("NoSenderEmailDefined"), null, 'warnings'); + $massaction='presend'; + } + + $receiver=$_POST['receiver']; + if (! is_array($receiver)) + { + if (empty($receiver) || $receiver == '-1') $receiver=array(); + else $receiver=array($receiver); + } + if (! trim($_POST['sendto']) && count($receiver) == 0 && count($listofobjectthirdparties) == 1) // if only one recipient, receiver is mandatory + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Recipient")), null, 'warnings'); + $massaction='presend'; + } + + if (! GETPOST('subject','none')) + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("MailTopic")), null, 'warnings'); + $massaction='presend'; + } + + // Loop on each recipient/thirdparty + if (! $error) + { + foreach ($listofobjectthirdparties as $thirdpartyid) + { + $result = $thirdparty->fetch($thirdpartyid); + if ($result < 0) + { + dol_print_error($db); + exit; + } + + $sendto=''; + $sendtocc=''; + $sendtobcc=''; + $sendtoid = array(); + + // Define $sendto + $tmparray=array(); + if (trim($_POST['sendto'])) + { + // Recipients are provided into free text + $tmparray[] = trim($_POST['sendto']); + } + if (count($receiver)>0) + { + foreach($receiver as $key=>$val) + { + // Recipient was provided from combo list + if ($val == 'thirdparty') // Id of third party or user + { + $tmparray[] = $thirdparty->name.' <'.$thirdparty->email.'>'; + } + elseif ($val && method_exists($thirdparty, 'contact_get_property')) // Id of contact + { + $tmparray[] = $thirdparty->contact_get_property((int) $val,'email'); + $sendtoid[] = $val; + } + } + } + $sendto=implode(',',$tmparray); + + // Define $sendtocc + $receivercc=$_POST['receivercc']; + if (! is_array($receivercc)) + { + if ($receivercc == '-1') $receivercc=array(); + else $receivercc=array($receivercc); + } + $tmparray=array(); + if (trim($_POST['sendtocc'])) + { + $tmparray[] = trim($_POST['sendtocc']); + } + if (count($receivercc) > 0) + { + foreach($receivercc as $key=>$val) + { + // Recipient was provided from combo list + if ($val == 'thirdparty') // Id of third party + { + $tmparray[] = $thirdparty->name.' <'.$thirdparty->email.'>'; + } + elseif ($val) // Id du contact + { + $tmparray[] = $thirdparty->contact_get_property((int) $val,'email'); + //$sendtoid[] = $val; TODO Add also id of contact in CC ? + } + } + } + $sendtocc=implode(',',$tmparray); + + //var_dump($listofobjectref);exit; + $attachedfiles=array('paths'=>array(), 'names'=>array(), 'mimes'=>array()); + $listofqualifiedobj=array(); + $listofqualifiedref=array(); + $thirdpartywithoutemail=array(); + + foreach($listofobjectref[$thirdpartyid] as $objectid => $objectobj) + { + //var_dump($thirdpartyid.' - '.$objectid.' - '.$objectobj->statut); + if ($objectclass == 'Propal' && $objectobj->statut == Propal::STATUS_DRAFT) + { + $langs->load("errors"); + $nbignored++; + $resaction.='<div class="error">'.$langs->trans('ErrorOnlyProposalNotDraftCanBeSentInMassAction',$objectobj->ref).'</div><br>'; + continue; // Payment done or started or canceled + } + if ($objectclass == 'Commande' && $objectoj->statut == Commande::STATUS_DRAFT) + { + $langs->load("errors"); + $nbignored++; + $resaction.='<div class="error">'.$langs->trans('ErrorOnlyOrderNotDraftCanBeSentInMassAction',$objectobj->ref).'</div><br>'; + continue; + } + if ($objectclass == 'Facture' && $objectobj->statut == Facture::STATUS_DRAFT) + { + $langs->load("errors"); + $nbignored++; + $resaction.='<div class="error">'.$langs->trans('ErrorOnlyInvoiceValidatedCanBeSentInMassAction',$objectobj->ref).'</div><br>'; + continue; // Payment done or started or canceled + } + + // Test recipient + if (empty($sendto)) // For the case, no recipient were set (multi thirdparties send) + { + if ($objectobj->element == 'expensereport') + { + $fuser = new User($db); + $fuser->fetch($objectobj->fk_user_author); + $sendto = $fuser->email; + } + elseif ($objectobj->element == 'holiday') + { + $fuser = new User($db); + $fuser->fetch($objectobj->fk_user); + $sendto = $fuser->email; + } + else + { + $objectobj->fetch_thirdparty(); + $sendto = $objectobj->thirdparty->email; + } + } + + if (empty($sendto)) + { + //print "No recipient for thirdparty ".$objectobj->thirdparty->name; + $nbignored++; + if (empty($thirdpartywithoutemail[$objectobj->thirdparty->id])) + { + $resaction.='<div class="error">'.$langs->trans('NoRecipientEmail',$objectobj->thirdparty->name).'</div><br>'; + } + dol_syslog('No recipient for thirdparty: '.$objectobj->thirdparty->name, LOG_WARNING); + $thirdpartywithoutemail[$objectobj->thirdparty->id]=1; + continue; + } + + if ($_POST['addmaindocfile']) + { + // TODO Use future field $objectobj->fullpathdoc to know where is stored default file + // TODO If not defined, use $objectobj->modelpdf (or defaut invoice config) to know what is template to use to regenerate doc. + $filename=dol_sanitizeFileName($objectobj->ref).'.pdf'; + $filedir=$uploaddir . '/' . dol_sanitizeFileName($objectobj->ref); + $file = $filedir . '/' . $filename; + $mime = dol_mimetype($file); + + if (dol_is_file($file)) + { + // Create form object + $attachedfiles=array( + 'paths'=>array_merge($attachedfiles['paths'],array($file)), + 'names'=>array_merge($attachedfiles['names'],array($filename)), + 'mimes'=>array_merge($attachedfiles['mimes'],array($mime)) + ); + } + else + { + $nbignored++; + $langs->load("errors"); + $resaction.='<div class="error">'.$langs->trans('ErrorCantReadFile',$file).'</div><br>'; + dol_syslog('Failed to read file: '.$file, LOG_WARNING); + continue; + } + } + + // Object of thirdparty qualified, we add it + $listofqualifiedobj[$objectid]=$objectobj; + $listofqualifiedref[$objectid]=$objectobj->ref; + + //var_dump($listofqualifiedref); + } + + // Send email if there is at least one qualified object for current thirdparty + if (count($listofqualifiedobj) > 0) + { + $langs->load("commercial"); + + $fromtype = GETPOST('fromtype'); + if ($fromtype === 'user') { + $from = $user->getFullName($langs) .' <'.$user->email.'>'; + } + elseif ($fromtype === 'company') { + $from = $conf->global->MAIN_INFO_SOCIETE_NOM .' <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>'; + } + elseif (preg_match('/user_aliases_(\d+)/', $fromtype, $reg)) { + $tmp=explode(',', $user->email_aliases); + $from = trim($tmp[($reg[1] - 1)]); + } + elseif (preg_match('/global_aliases_(\d+)/', $fromtype, $reg)) { + $tmp=explode(',', $conf->global->MAIN_INFO_SOCIETE_MAIL_ALIASES); + $from = trim($tmp[($reg[1] - 1)]); + } + elseif (preg_match('/senderprofile_(\d+)_(\d+)/', $fromtype, $reg)) { + $sql='SELECT rowid, label, email FROM '.MAIN_DB_PREFIX.'c_email_senderprofile WHERE rowid = '.(int) $reg[1]; + $resql = $db->query($sql); + $obj = $db->fetch_object($resql); + if ($obj) + { + $from = $obj->label.' <'.$obj->email.'>'; + } + } + else { + $from = $_POST['fromname'] . ' <' . $_POST['frommail'] .'>'; + } + + $replyto = $from; + $subject = GETPOST('subject','none'); + $message = GETPOST('message','none'); + + $sendtobcc = GETPOST('sendtoccc'); + if ($objectclass == 'Propal') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO)); + if ($objectclass == 'Commande') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO)); + if ($objectclass == 'Facture') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO)); + if ($objectclass == 'Supplier_Proposal') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_PROPOSAL_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_PROPOSAL_TO)); + if ($objectclass == 'CommandeFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_ORDER_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_ORDER_TO)); + if ($objectclass == 'FactureFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO)); + + // $listofqualifiedobj is array with key = object id and value is instance of qualified objects, for the current thirdparty (but thirdparty property is not loaded yet) + // $looparray will be an array with number of email to send for the current thirdparty (so 1 or n if n object for same thirdparty) + $oneemailperrecipient=(GETPOST('oneemailperrecipient','alpha')=='on'?1:0); + $looparray=array(); + if (! $oneemailperrecipient) + { + $looparray = $listofqualifiedobj; + foreach ($looparray as $key => $objecttmp) + { + $looparray[$key]->thirdparty = $thirdparty; // Force thirdparty on object + } + } + else + { + $objectforloop=new $objectclass($db); + $objectforloop->thirdparty = $thirdparty; // Force thirdparty on object (even if object was not loaded) + $looparray[0]=$objectforloop; + } + //var_dump($looparray);exit; + dol_syslog("We have set an array of ".count($looparray)." emails to send"); + + foreach ($looparray as $objectid => $objecttmp) // $objecttmp is a real object or an empty object if we choose to send one email per thirdparty instead of one per object + { + // Make substitution in email content + $substitutionarray=getCommonSubstitutionArray($langs, 0, null, $objecttmp); + $substitutionarray['__ID__'] = ($oneemailperrecipient ? join(', ',array_keys($listofqualifiedobj)) : $objecttmp->id); + $substitutionarray['__REF__'] = ($oneemailperrecipient ? join(', ',$listofqualifiedref) : $objecttmp->ref); + $substitutionarray['__EMAIL__'] = $thirdparty->email; + $substitutionarray['__CHECK_READ__'] = '<img src="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-read.php?tag='.$thirdparty->tag.'&securitykey='.urlencode($conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY).'" width="1" height="1" style="width:1px;height:1px" border="0"/>'; + + $parameters=array('mode'=>'formemail'); + + if ( ! empty( $listofobjectthirdparties ) ) { + $parameters['listofobjectthirdparties'] = $listofobjectthirdparties; + } + if ( ! empty( $listofobjectref ) ) { + $parameters['listofobjectref'] = $listofobjectref; + } + + complete_substitutions_array($substitutionarray, $langs, $objecttmp, $parameters); + + $subject=make_substitutions($subject, $substitutionarray); + $message=make_substitutions($message, $substitutionarray); + + $filepath = $attachedfiles['paths']; + $filename = $attachedfiles['names']; + $mimetype = $attachedfiles['mimes']; + + // Define the trackid when emails sent from the mass action + if ($oneemailperrecipient) + { + $trackid='thi'.$thirdparty->id; + if ($objecttmp->element == 'expensereport') $trackid='use'.$thirdparty->id; + if ($objecttmp->element == 'holiday') $trackid='use'.$thirdparty->id; + } + else + { + $trackid=strtolower(get_class($objecttmp)); + if (get_class($objecttmp)=='Contrat') $trackid='con'; + if (get_class($objecttmp)=='Propal') $trackid='pro'; + if (get_class($objecttmp)=='Commande') $trackid='ord'; + if (get_class($objecttmp)=='Facture') $trackid='inv'; + if (get_class($objecttmp)=='Supplier_Proposal') $trackid='spr'; + if (get_class($objecttmp)=='CommandeFournisseur') $trackid='sor'; + if (get_class($objecttmp)=='FactureFournisseur') $trackid='sin'; + + $trackid.=$objecttmp->id; + } + //var_dump($filepath); + //var_dump($trackid);exit; + + // Send mail (substitutionarray must be done just before this) + require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; + $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,$sendtobcc,$deliveryreceipt,-1,'','',$trackid); + if ($mailfile->error) + { + $resaction.='<div class="error">'.$mailfile->error.'</div>'; + } + else + { + $result=$mailfile->sendfile(); + if ($result) + { + $resaction.=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2)).'<br>'; // Must not contain " + + $error=0; + + // Insert logs into agenda + foreach($listofqualifiedobj as $objid2 => $objectobj2) + { + if ((! $oneemailperrecipient) && $objid2 != $objid) continue; // We discard this pass to avoid duplicate with other pass in looparray at higher level + + dol_syslog("Try to insert email event into agenda for objid=".$objid2." => objectobj=".get_class($objectobj2)); + + /*if ($objectclass == 'Propale') $actiontypecode='AC_PROP'; + if ($objectclass == 'Commande') $actiontypecode='AC_COM'; + if ($objectclass == 'Facture') $actiontypecode='AC_FAC'; + if ($objectclass == 'Supplier_Proposal') $actiontypecode='AC_SUP_PRO'; + if ($objectclass == 'CommandeFournisseur') $actiontypecode='AC_SUP_ORD'; + if ($objectclass == 'FactureFournisseur') $actiontypecode='AC_SUP_INV';*/ + + $actionmsg=$langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto; + if ($message) + { + if ($sendtocc) $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc); + $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subject); + $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('TextUsedInTheMessageBody') . ":"); + $actionmsg = dol_concatdesc($actionmsg, $message); + } + $actionmsg2=''; + + // Initialisation donnees + $objectobj2->sendtoid = 0; + $objectobj2->actionmsg = $actionmsg; // Long text + $objectobj2->actionmsg2 = $actionmsg2; // Short text + $objectobj2->fk_element = $objid2; + $objectobj2->elementtype = $objectobj2->element; + + $triggername = strtoupper(get_class($objectobj2)) .'_SENTBYMAIL'; + if ($triggername == 'SOCIETE_SENTBYMAIL') $triggername = 'COMPANY_SENTBYMAIL'; + if ($triggername == 'CONTRAT_SENTBYMAIL') $triggername = 'CONTRACT_SENTBYMAIL'; + if ($triggername == 'COMMANDE_SENTBYMAIL') $triggername = 'ORDER_SENTBYMAIL'; + if ($triggername == 'FACTURE_SENTBYMAIL') $triggername = 'BILL_SENTBYMAIL'; + if ($triggername == 'EXPEDITION_SENTBYMAIL') $triggername = 'SHIPPING_SENTBYMAIL'; + if ($triggername == 'COMMANDEFOURNISSEUR_SENTBYMAIL') $triggername = 'ORDER_SUPPLIER_SENTBYMAIL'; + if ($triggername == 'FACTUREFOURNISSEUR_SENTBYMAIL') $triggername = 'BILL_SUPPLIER_SENTBYMAIL'; + if ($triggername == 'SUPPLIERPROPOSAL_SENTBYMAIL') $triggername = 'PROPOSAL_SUPPLIER_SENTBYMAIL'; + + if (! empty($triggername)) + { + // Appel des triggers + include_once DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"; + $interface=new Interfaces($db); + $result=$interface->run_triggers($triggername, $objectobj2, $user, $langs, $conf); + if ($result < 0) { $error++; $errors=$interface->errors; } + // Fin appel triggers + + if ($error) + { + setEventMessages($db->lasterror(), $errors, 'errors'); + dol_syslog("Error in trigger ".$triggername.' '.$db->lasterror(), LOG_ERR); + } + } + } + + $nbsent++; // Nb of email sent (may be lower than number of record selected if we group thirdparties) + } + else + { + $langs->load("other"); + if ($mailfile->error) + { + $resaction.=$langs->trans('ErrorFailedToSendMail',$from,$sendto); + $resaction.='<br><div class="error">'.$mailfile->error.'</div>'; + } + else + { + $resaction.='<div class="warning">No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS</div>'; + } + } + } + } + } + } + + $resaction.=($resaction?'<br>':$resaction); + $resaction.='<strong>'.$langs->trans("ResultOfMailSending").':</strong><br>'."\n"; + $resaction.=$langs->trans("NbSelected").': '.count($toselect)."\n<br>"; + $resaction.=$langs->trans("NbIgnored").': '.($nbignored?$nbignored:0)."\n<br>"; + $resaction.=$langs->trans("NbSent").': '.($nbsent?$nbsent:0)."\n<br>"; + + if ($nbsent) + { + $action=''; // Do not show form post if there was at least one successfull sent + //setEventMessages($langs->trans("EMailSentToNRecipients", $nbsent.'/'.count($toselect)), null, 'mesgs'); + setEventMessages($langs->trans("EMailSentForNElements", $nbsent.'/'.count($toselect)), null, 'mesgs'); + setEventMessages($resaction, null, 'mesgs'); + } + else + { + //setEventMessages($langs->trans("EMailSentToNRecipients", 0), null, 'warnings'); // May be object has no generated PDF file + setEventMessages($resaction, null, 'warnings'); + } + + $action='list'; + $massaction=''; + } } if ($massaction == 'confirm_createbills') { - $orders = GETPOST('toselect','array'); - $createbills_onebythird = GETPOST('createbills_onebythird', 'int'); - $validate_invoices = GETPOST('valdate_invoices', 'int'); - - $TFact = array(); - $TFactThird = array(); - - $nb_bills_created = 0; - - $db->begin(); - - foreach($orders as $id_order) - { - $cmd = new Commande($db); - if ($cmd->fetch($id_order) <= 0) continue; - - $objecttmp = new Facture($db); - if (!empty($createbills_onebythird) && !empty($TFactThird[$cmd->socid])) $objecttmp = $TFactThird[$cmd->socid]; // If option "one bill per third" is set, we use already created order. - else { - // Load extrafields of order - $cmd->fetch_optionals(); - - $objecttmp->socid = $cmd->socid; - $objecttmp->type = Facture::TYPE_STANDARD; - $objecttmp->cond_reglement_id = $cmd->cond_reglement_id; - $objecttmp->mode_reglement_id = $cmd->mode_reglement_id; - $objecttmp->fk_project = $cmd->fk_project; - - $datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); - if (empty($datefacture)) - { - $datefacture = dol_mktime(date("h"), date("M"), 0, date("m"), date("d"), date("Y")); - } - - $objecttmp->date = $datefacture; - $objecttmp->origin = 'commande'; - $objecttmp->origin_id = $id_order; - - $objecttmp->array_options = $cmd->array_options; // Copy extrafields - - $res = $objecttmp->create($user); - - if($res > 0) $nb_bills_created++; - } - - if ($objecttmp->id > 0) - { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_element ("; - $sql.= "fk_source"; - $sql.= ", sourcetype"; - $sql.= ", fk_target"; - $sql.= ", targettype"; - $sql.= ") VALUES ("; - $sql.= $id_order; - $sql.= ", '".$objecttmp->origin."'"; - $sql.= ", ".$objecttmp->id; - $sql.= ", '".$objecttmp->element."'"; - $sql.= ")"; - - if (! $db->query($sql)) - { - $error++; - } - - if (! $error) - { - $lines = $cmd->lines; - if (empty($lines) && method_exists($cmd, 'fetch_lines')) - { - $cmd->fetch_lines(); - $lines = $cmd->lines; - } - - $fk_parent_line=0; - $num=count($lines); - - for ($i=0;$i<$num;$i++) - { - $desc=($lines[$i]->desc?$lines[$i]->desc:$lines[$i]->libelle); - if ($lines[$i]->subprice < 0) - { - // Negative line, we create a discount line - $discount = new DiscountAbsolute($db); - $discount->fk_soc=$objecttmp->socid; - $discount->amount_ht=abs($lines[$i]->total_ht); - $discount->amount_tva=abs($lines[$i]->total_tva); - $discount->amount_ttc=abs($lines[$i]->total_ttc); - $discount->tva_tx=$lines[$i]->tva_tx; - $discount->fk_user=$user->id; - $discount->description=$desc; - $discountid=$discount->create($user); - if ($discountid > 0) - { - $result=$objecttmp->insert_discount($discountid); - //$result=$discount->link_to_invoice($lineid,$id); - } - else - { - setEventMessages($discount->error, $discount->errors, 'errors'); - $error++; - break; - } - } - else - { - // Positive line - $product_type=($lines[$i]->product_type?$lines[$i]->product_type:0); - // Date start - $date_start=false; - if ($lines[$i]->date_debut_prevue) $date_start=$lines[$i]->date_debut_prevue; - if ($lines[$i]->date_debut_reel) $date_start=$lines[$i]->date_debut_reel; - if ($lines[$i]->date_start) $date_start=$lines[$i]->date_start; - //Date end - $date_end=false; - if ($lines[$i]->date_fin_prevue) $date_end=$lines[$i]->date_fin_prevue; - if ($lines[$i]->date_fin_reel) $date_end=$lines[$i]->date_fin_reel; - if ($lines[$i]->date_end) $date_end=$lines[$i]->date_end; - // Reset fk_parent_line for no child products and special product - if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) - { - $fk_parent_line = 0; - } - - // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { - $lines[$i]->fetch_optionals($lines[$i]->rowid); - $array_options = $lines[$i]->array_options; - } - - $result = $objecttmp->addline( - $desc, - $lines[$i]->subprice, - $lines[$i]->qty, - $lines[$i]->tva_tx, - $lines[$i]->localtax1_tx, - $lines[$i]->localtax2_tx, - $lines[$i]->fk_product, - $lines[$i]->remise_percent, - $date_start, - $date_end, - 0, - $lines[$i]->info_bits, - $lines[$i]->fk_remise_except, - 'HT', - 0, - $product_type, - $ii, - $lines[$i]->special_code, - $objecttmp->origin, - $lines[$i]->rowid, - $fk_parent_line, - $lines[$i]->fk_fournprice, - $lines[$i]->pa_ht, - $lines[$i]->label, - $array_options - ); - if ($result > 0) - { - $lineid=$result; - } - else - { - $lineid=0; - $error++; - break; - } - // Defined the new fk_parent_line - if ($result > 0 && $lines[$i]->product_type == 9) - { - $fk_parent_line = $result; - } - } - } - } - } - - //$cmd->classifyBilled($user); // Disabled. This behavior must be set or not using the workflow module. - - if(!empty($createbills_onebythird) && empty($TFactThird[$cmd->socid])) $TFactThird[$cmd->socid] = $objecttmp; - else $TFact[$objecttmp->id] = $objecttmp; - } - - // Build doc with all invoices - $TAllFact = empty($createbills_onebythird) ? $TFact : $TFactThird; - $toselect = array(); - - if (! $error && $validate_invoices) - { - $massaction = $action = 'builddoc'; - - foreach($TAllFact as &$objecttmp) - { - $result = $objecttmp->validate($user); - if ($result <= 0) - { - $error++; - setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); - break; - } - - $id = $objecttmp->id; // For builddoc action - $object = $objecttmp; - - // Builddoc - $donotredirect = 1; - $upload_dir = $conf->facture->dir_output; - $permissioncreate=$user->rights->facture->creer; - - // Call action to build doc - $savobject = $object; - $object = $objecttmp; - include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; - $object = $savobject; - } - - $massaction = $action = 'confirm_createbills'; - } - - if (! $error) - { - $db->commit(); - setEventMessages($langs->trans('BillCreated', $nb_bills_created), null, 'mesgs'); - - // Make a redirect to avoid to bill twice if we make a refresh or back - $param=''; - if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); - if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.urlencode($limit); - if ($sall) $param.='&sall='.urlencode($sall); - if ($socid > 0) $param.='&socid='.urlencode($socid); - if ($viewstatut != '') $param.='&viewstatut='.urlencode($viewstatut); - if ($search_orderday) $param.='&search_orderday='.urlencode($search_orderday); - if ($search_ordermonth) $param.='&search_ordermonth='.urlencode($search_ordermonth); - if ($search_orderyear) $param.='&search_orderyear='.urlencode($search_orderyear); - if ($search_deliveryday) $param.='&search_deliveryday='.urlencode($search_deliveryday); - if ($search_deliverymonth) $param.='&search_deliverymonth='.urlencode($search_deliverymonth); - if ($search_deliveryyear) $param.='&search_deliveryyear='.urlencode($search_deliveryyear); - if ($search_ref) $param.='&search_ref='.urlencode($search_ref); - if ($search_company) $param.='&search_company='.urlencode($search_company); - if ($search_ref_customer) $param.='&search_ref_customer='.urlencode($search_ref_customer); - if ($search_user > 0) $param.='&search_user='.urlencode($search_user); - if ($search_sale > 0) $param.='&search_sale='.urlencode($search_sale); - if ($search_total_ht != '') $param.='&search_total_ht='.urlencode($search_total_ht); - if ($search_total_vat != '') $param.='&search_total_vat='.urlencode($search_total_vat); - if ($search_total_ttc != '') $param.='&search_total_ttc='.urlencode($search_total_ttc); - if ($search_project_ref >= 0) $param.="&search_project_ref=".urlencode($search_project_ref); - if ($show_files) $param.='&show_files=' .urlencode($show_files); - if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss); - if ($billed != '') $param.='&billed='.urlencode($billed); - - header("Location: ".$_SERVER['PHP_SELF'].'?'.$param); - exit; - } - else - { - $db->rollback(); - $action='create'; - $_GET["origin"]=$_POST["origin"]; - $_GET["originid"]=$_POST["originid"]; - setEventMessages("Error", null, 'errors'); - $error++; - } + $orders = GETPOST('toselect','array'); + $createbills_onebythird = GETPOST('createbills_onebythird', 'int'); + $validate_invoices = GETPOST('valdate_invoices', 'int'); + + $TFact = array(); + $TFactThird = array(); + + $nb_bills_created = 0; + + $db->begin(); + + foreach($orders as $id_order) + { + $cmd = new Commande($db); + if ($cmd->fetch($id_order) <= 0) continue; + + $objecttmp = new Facture($db); + if (!empty($createbills_onebythird) && !empty($TFactThird[$cmd->socid])) $objecttmp = $TFactThird[$cmd->socid]; // If option "one bill per third" is set, we use already created order. + else { + // Load extrafields of order + $cmd->fetch_optionals(); + + $objecttmp->socid = $cmd->socid; + $objecttmp->type = Facture::TYPE_STANDARD; + $objecttmp->cond_reglement_id = $cmd->cond_reglement_id; + $objecttmp->mode_reglement_id = $cmd->mode_reglement_id; + $objecttmp->fk_project = $cmd->fk_project; + + $datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); + if (empty($datefacture)) + { + $datefacture = dol_mktime(date("h"), date("M"), 0, date("m"), date("d"), date("Y")); + } + + $objecttmp->date = $datefacture; + $objecttmp->origin = 'commande'; + $objecttmp->origin_id = $id_order; + + $objecttmp->array_options = $cmd->array_options; // Copy extrafields + + $res = $objecttmp->create($user); + + if($res > 0) $nb_bills_created++; + } + + if ($objecttmp->id > 0) + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_element ("; + $sql.= "fk_source"; + $sql.= ", sourcetype"; + $sql.= ", fk_target"; + $sql.= ", targettype"; + $sql.= ") VALUES ("; + $sql.= $id_order; + $sql.= ", '".$objecttmp->origin."'"; + $sql.= ", ".$objecttmp->id; + $sql.= ", '".$objecttmp->element."'"; + $sql.= ")"; + + if (! $db->query($sql)) + { + $error++; + } + + if (! $error) + { + $lines = $cmd->lines; + if (empty($lines) && method_exists($cmd, 'fetch_lines')) + { + $cmd->fetch_lines(); + $lines = $cmd->lines; + } + + $fk_parent_line=0; + $num=count($lines); + + for ($i=0;$i<$num;$i++) + { + $desc=($lines[$i]->desc?$lines[$i]->desc:$lines[$i]->libelle); + if ($lines[$i]->subprice < 0) + { + // Negative line, we create a discount line + $discount = new DiscountAbsolute($db); + $discount->fk_soc=$objecttmp->socid; + $discount->amount_ht=abs($lines[$i]->total_ht); + $discount->amount_tva=abs($lines[$i]->total_tva); + $discount->amount_ttc=abs($lines[$i]->total_ttc); + $discount->tva_tx=$lines[$i]->tva_tx; + $discount->fk_user=$user->id; + $discount->description=$desc; + $discountid=$discount->create($user); + if ($discountid > 0) + { + $result=$objecttmp->insert_discount($discountid); + //$result=$discount->link_to_invoice($lineid,$id); + } + else + { + setEventMessages($discount->error, $discount->errors, 'errors'); + $error++; + break; + } + } + else + { + // Positive line + $product_type=($lines[$i]->product_type?$lines[$i]->product_type:0); + // Date start + $date_start=false; + if ($lines[$i]->date_debut_prevue) $date_start=$lines[$i]->date_debut_prevue; + if ($lines[$i]->date_debut_reel) $date_start=$lines[$i]->date_debut_reel; + if ($lines[$i]->date_start) $date_start=$lines[$i]->date_start; + //Date end + $date_end=false; + if ($lines[$i]->date_fin_prevue) $date_end=$lines[$i]->date_fin_prevue; + if ($lines[$i]->date_fin_reel) $date_end=$lines[$i]->date_fin_reel; + if ($lines[$i]->date_end) $date_end=$lines[$i]->date_end; + // Reset fk_parent_line for no child products and special product + if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) + { + $fk_parent_line = 0; + } + + // Extrafields + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + $lines[$i]->fetch_optionals($lines[$i]->rowid); + $array_options = $lines[$i]->array_options; + } + + $result = $objecttmp->addline( + $desc, + $lines[$i]->subprice, + $lines[$i]->qty, + $lines[$i]->tva_tx, + $lines[$i]->localtax1_tx, + $lines[$i]->localtax2_tx, + $lines[$i]->fk_product, + $lines[$i]->remise_percent, + $date_start, + $date_end, + 0, + $lines[$i]->info_bits, + $lines[$i]->fk_remise_except, + 'HT', + 0, + $product_type, + $ii, + $lines[$i]->special_code, + $objecttmp->origin, + $lines[$i]->rowid, + $fk_parent_line, + $lines[$i]->fk_fournprice, + $lines[$i]->pa_ht, + $lines[$i]->label, + $array_options + ); + if ($result > 0) + { + $lineid=$result; + } + else + { + $lineid=0; + $error++; + break; + } + // Defined the new fk_parent_line + if ($result > 0 && $lines[$i]->product_type == 9) + { + $fk_parent_line = $result; + } + } + } + } + } + + //$cmd->classifyBilled($user); // Disabled. This behavior must be set or not using the workflow module. + + if(!empty($createbills_onebythird) && empty($TFactThird[$cmd->socid])) $TFactThird[$cmd->socid] = $objecttmp; + else $TFact[$objecttmp->id] = $objecttmp; + } + + // Build doc with all invoices + $TAllFact = empty($createbills_onebythird) ? $TFact : $TFactThird; + $toselect = array(); + + if (! $error && $validate_invoices) + { + $massaction = $action = 'builddoc'; + + foreach($TAllFact as &$objecttmp) + { + $result = $objecttmp->validate($user); + if ($result <= 0) + { + $error++; + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + break; + } + + $id = $objecttmp->id; // For builddoc action + $object = $objecttmp; + + // Builddoc + $donotredirect = 1; + $upload_dir = $conf->facture->dir_output; + $permissioncreate=$user->rights->facture->creer; + + // Call action to build doc + $savobject = $object; + $object = $objecttmp; + include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; + $object = $savobject; + } + + $massaction = $action = 'confirm_createbills'; + } + + if (! $error) + { + $db->commit(); + setEventMessages($langs->trans('BillCreated', $nb_bills_created), null, 'mesgs'); + + // Make a redirect to avoid to bill twice if we make a refresh or back + $param=''; + if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); + if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.urlencode($limit); + if ($sall) $param.='&sall='.urlencode($sall); + if ($socid > 0) $param.='&socid='.urlencode($socid); + if ($viewstatut != '') $param.='&viewstatut='.urlencode($viewstatut); + if ($search_orderday) $param.='&search_orderday='.urlencode($search_orderday); + if ($search_ordermonth) $param.='&search_ordermonth='.urlencode($search_ordermonth); + if ($search_orderyear) $param.='&search_orderyear='.urlencode($search_orderyear); + if ($search_deliveryday) $param.='&search_deliveryday='.urlencode($search_deliveryday); + if ($search_deliverymonth) $param.='&search_deliverymonth='.urlencode($search_deliverymonth); + if ($search_deliveryyear) $param.='&search_deliveryyear='.urlencode($search_deliveryyear); + if ($search_ref) $param.='&search_ref='.urlencode($search_ref); + if ($search_company) $param.='&search_company='.urlencode($search_company); + if ($search_ref_customer) $param.='&search_ref_customer='.urlencode($search_ref_customer); + if ($search_user > 0) $param.='&search_user='.urlencode($search_user); + if ($search_sale > 0) $param.='&search_sale='.urlencode($search_sale); + if ($search_total_ht != '') $param.='&search_total_ht='.urlencode($search_total_ht); + if ($search_total_vat != '') $param.='&search_total_vat='.urlencode($search_total_vat); + if ($search_total_ttc != '') $param.='&search_total_ttc='.urlencode($search_total_ttc); + if ($search_project_ref >= 0) $param.="&search_project_ref=".urlencode($search_project_ref); + if ($show_files) $param.='&show_files=' .urlencode($show_files); + if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss); + if ($billed != '') $param.='&billed='.urlencode($billed); + + header("Location: ".$_SERVER['PHP_SELF'].'?'.$param); + exit; + } + else + { + $db->rollback(); + $action='create'; + $_GET["origin"]=$_POST["origin"]; + $_GET["originid"]=$_POST["originid"]; + setEventMessages("Error", null, 'errors'); + $error++; + } } if (!$error && $massaction == 'cancelorders') { - - $db->begin(); - - $nbok = 0; - - - $orders = GETPOST('toselect', 'array'); - foreach ($orders as $id_order) - { - - $cmd = new Commande($db); - if ($cmd->fetch($id_order) <= 0) - continue; - - if ($cmd->statut != Commande::STATUS_VALIDATED) - { - $langs->load('errors'); - setEventMessages($langs->trans("ErrorObjectMustHaveStatusValidToBeCanceled", $cmd->ref), null, 'errors'); - $error++; - break; - } - else - $result = $cmd->cancel(); - - if ($result < 0) - { - setEventMessages($cmd->error, $cmd->errors, 'errors'); - $error++; - break; - } - else - $nbok++; - } - if (!$error) - { - if ($nbok > 1) - setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); - else - setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); - $db->commit(); - } - else - { - $db->rollback(); - } + + $db->begin(); + + $nbok = 0; + + + $orders = GETPOST('toselect', 'array'); + foreach ($orders as $id_order) + { + + $cmd = new Commande($db); + if ($cmd->fetch($id_order) <= 0) + continue; + + if ($cmd->statut != Commande::STATUS_VALIDATED) + { + $langs->load('errors'); + setEventMessages($langs->trans("ErrorObjectMustHaveStatusValidToBeCanceled", $cmd->ref), null, 'errors'); + $error++; + break; + } + else + $result = $cmd->cancel(); + + if ($result < 0) + { + setEventMessages($cmd->error, $cmd->errors, 'errors'); + $error++; + break; + } + else + $nbok++; + } + if (!$error) + { + if ($nbok > 1) + setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); + else + setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); + $db->commit(); + } + else + { + $db->rollback(); + } } if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_search')) { - if (empty($diroutputmassaction)) - { - dol_print_error(null, 'include of actions_massactions.inc.php is done but var $diroutputmassaction was not defined'); - exit; - } - - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; - - $objecttmp=new $objectclass($db); - $listofobjectid=array(); - $listofobjectthirdparties=array(); - $listofobjectref=array(); - foreach($toselect as $toselectid) - { - $objecttmp=new $objectclass($db); // must create new instance because instance is saved into $listofobjectref array for future use - $result=$objecttmp->fetch($toselectid); - if ($result > 0) - { - $listofobjectid[$toselectid]=$toselectid; - $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; - $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; - $listofobjectref[$toselectid]=$objecttmp->ref; - } - } - - $arrayofinclusion=array(); - foreach($listofobjectref as $tmppdf) $arrayofinclusion[]='^'.preg_quote(dol_sanitizeFileName($tmppdf),'/').'\.pdf$'; - foreach($listofobjectref as $tmppdf) $arrayofinclusion[]='^'.preg_quote(dol_sanitizeFileName($tmppdf),'/').'_[a-zA-Z0-9-_]+\.pdf$'; // To include PDF generated from ODX files - $listoffiles = dol_dir_list($uploaddir,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC,0,true); - - // build list of files with full path - $files = array(); - foreach($listofobjectref as $basename) - { - $basename = dol_sanitizeFileName($basename); - foreach($listoffiles as $filefound) - { - if (strstr($filefound["name"],$basename)) - { - $files[] = $uploaddir.'/'.$basename.'/'.$filefound["name"]; - break; - } - } - } - - // Define output language (Here it is not used because we do only merging existing PDF) - $outputlangs = $langs; - $newlang=''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','aZ09')) $newlang=GETPOST('lang_id','aZ09'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$objecttmp->thirdparty->default_lang; - if (! empty($newlang)) - { - $outputlangs = new Translate("",$conf); - $outputlangs->setDefaultLang($newlang); - } - - if (!empty($conf->global->USE_PDFTK_FOR_PDF_CONCAT)) - { - // Create output dir if not exists - dol_mkdir($diroutputmassaction); - - // Defined name of merged file - $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); - $filename=preg_replace('/\s/','_',$filename); - - // Save merged file - if (in_array($objecttmp->element, array('facture', 'facture_fournisseur')) && $search_status == Facture::STATUS_VALIDATED) - { - if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))).'_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); - else $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))); - } - if ($year) $filename.='_'.$year; - if ($month) $filename.='_'.$month; - - if (count($files)>0) - { - $now=dol_now(); - $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; - - $input_files = ''; - foreach($files as $f) { - $input_files.=' '.escapeshellarg($f); - } - - $cmd = 'pdftk '.escapeshellarg($input_files).' cat output '.escapeshellarg($file); - exec($cmd); - - if (! empty($conf->global->MAIN_UMASK)) - @chmod($file, octdec($conf->global->MAIN_UMASK)); - - $langs->load("exports"); - setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); - } - else - { - setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors'); - } - } - else { - // Create empty PDF - $formatarray=pdf_getFormat(); - $page_largeur = $formatarray['width']; - $page_hauteur = $formatarray['height']; - $format = array($page_largeur,$page_hauteur); - - $pdf=pdf_getInstance($format); - - if (class_exists('TCPDF')) - { - $pdf->setPrintHeader(false); - $pdf->setPrintFooter(false); - } - $pdf->SetFont(pdf_getPDFFont($outputlangs)); - - if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); - - // Add all others - foreach($files as $file) - { - // Charge un document PDF depuis un fichier. - $pagecount = $pdf->setSourceFile($file); - for ($i = 1; $i <= $pagecount; $i++) - { - $tplidx = $pdf->importPage($i); - $s = $pdf->getTemplatesize($tplidx); - $pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L'); - $pdf->useTemplate($tplidx); - } - } - - // Create output dir if not exists - dol_mkdir($diroutputmassaction); - - // Defined name of merged file - $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); - $filename=preg_replace('/\s/','_',$filename); - - // Save merged file - if (in_array($objecttmp->element, array('facture', 'facture_fournisseur')) && $search_status == Facture::STATUS_VALIDATED) - { - if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))).'_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); - else $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))); - } - if ($year) $filename.='_'.$year; - if ($month) $filename.='_'.$month; - if ($pagecount) - { - $now=dol_now(); - $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; - $pdf->Output($file,'F'); - if (! empty($conf->global->MAIN_UMASK)) - @chmod($file, octdec($conf->global->MAIN_UMASK)); - - $langs->load("exports"); - setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); - } - else - { - setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors'); - } - } + if (empty($diroutputmassaction)) + { + dol_print_error(null, 'include of actions_massactions.inc.php is done but var $diroutputmassaction was not defined'); + exit; + } + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; + + $objecttmp=new $objectclass($db); + $listofobjectid=array(); + $listofobjectthirdparties=array(); + $listofobjectref=array(); + foreach($toselect as $toselectid) + { + $objecttmp=new $objectclass($db); // must create new instance because instance is saved into $listofobjectref array for future use + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + $listofobjectid[$toselectid]=$toselectid; + $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; + $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; + $listofobjectref[$toselectid]=$objecttmp->ref; + } + } + + $arrayofinclusion=array(); + foreach($listofobjectref as $tmppdf) $arrayofinclusion[]='^'.preg_quote(dol_sanitizeFileName($tmppdf),'/').'\.pdf$'; + foreach($listofobjectref as $tmppdf) $arrayofinclusion[]='^'.preg_quote(dol_sanitizeFileName($tmppdf),'/').'_[a-zA-Z0-9-_]+\.pdf$'; // To include PDF generated from ODX files + $listoffiles = dol_dir_list($uploaddir,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC,0,true); + + // build list of files with full path + $files = array(); + foreach($listofobjectref as $basename) + { + $basename = dol_sanitizeFileName($basename); + foreach($listoffiles as $filefound) + { + if (strstr($filefound["name"],$basename)) + { + $files[] = $uploaddir.'/'.$basename.'/'.$filefound["name"]; + break; + } + } + } + + // Define output language (Here it is not used because we do only merging existing PDF) + $outputlangs = $langs; + $newlang=''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','aZ09')) $newlang=GETPOST('lang_id','aZ09'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$objecttmp->thirdparty->default_lang; + if (! empty($newlang)) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($newlang); + } + + if (!empty($conf->global->USE_PDFTK_FOR_PDF_CONCAT)) + { + // Create output dir if not exists + dol_mkdir($diroutputmassaction); + + // Defined name of merged file + $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); + $filename=preg_replace('/\s/','_',$filename); + + // Save merged file + if (in_array($objecttmp->element, array('facture', 'facture_fournisseur')) && $search_status == Facture::STATUS_VALIDATED) + { + if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))).'_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); + else $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))); + } + if ($year) $filename.='_'.$year; + if ($month) $filename.='_'.$month; + + if (count($files)>0) + { + $now=dol_now(); + $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; + + $input_files = ''; + foreach($files as $f) { + $input_files.=' '.escapeshellarg($f); + } + + $cmd = 'pdftk '.escapeshellarg($input_files).' cat output '.escapeshellarg($file); + exec($cmd); + + if (! empty($conf->global->MAIN_UMASK)) + @chmod($file, octdec($conf->global->MAIN_UMASK)); + + $langs->load("exports"); + setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); + } + else + { + setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors'); + } + } + else { + // Create empty PDF + $formatarray=pdf_getFormat(); + $page_largeur = $formatarray['width']; + $page_hauteur = $formatarray['height']; + $format = array($page_largeur,$page_hauteur); + + $pdf=pdf_getInstance($format); + + if (class_exists('TCPDF')) + { + $pdf->setPrintHeader(false); + $pdf->setPrintFooter(false); + } + $pdf->SetFont(pdf_getPDFFont($outputlangs)); + + if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); + + // Add all others + foreach($files as $file) + { + // Charge un document PDF depuis un fichier. + $pagecount = $pdf->setSourceFile($file); + for ($i = 1; $i <= $pagecount; $i++) + { + $tplidx = $pdf->importPage($i); + $s = $pdf->getTemplatesize($tplidx); + $pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L'); + $pdf->useTemplate($tplidx); + } + } + + // Create output dir if not exists + dol_mkdir($diroutputmassaction); + + // Defined name of merged file + $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); + $filename=preg_replace('/\s/','_',$filename); + + // Save merged file + if (in_array($objecttmp->element, array('facture', 'facture_fournisseur')) && $search_status == Facture::STATUS_VALIDATED) + { + if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))).'_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); + else $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))); + } + if ($year) $filename.='_'.$year; + if ($month) $filename.='_'.$month; + if ($pagecount) + { + $now=dol_now(); + $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; + $pdf->Output($file,'F'); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($file, octdec($conf->global->MAIN_UMASK)); + + $langs->load("exports"); + setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); + } + else + { + setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors'); + } + } } // Remove a file from massaction area if ($action == 'remove_file') { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - $langs->load("other"); - $upload_dir = $diroutputmassaction; - $file = $upload_dir . '/' . GETPOST('file'); - $ret=dol_delete_file($file); - if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('file')), null, 'mesgs'); - else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), null, 'errors'); - $action=''; + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $langs->load("other"); + $upload_dir = $diroutputmassaction; + $file = $upload_dir . '/' . GETPOST('file'); + $ret=dol_delete_file($file); + if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('file')), null, 'mesgs'); + else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), null, 'errors'); + $action=''; } // Validate records if (! $error && $massaction == 'validate' && $permtocreate) { - $objecttmp=new $objectclass($db); - - if ($objecttmp->element == 'invoice' && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL)) - { - $langs->load("errors"); - setEventMessages($langs->trans('ErrorMassValidationNotAllowedWhenStockIncreaseOnAction'), null, 'errors'); - $error++; - } - if ($objecttmp->element == 'invoice_supplier' && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL)) - { - $langs->load("errors"); - setEventMessages($langs->trans('ErrorMassValidationNotAllowedWhenStockIncreaseOnAction'), null, 'errors'); - $error++; - } - if (! $error) - { - $db->begin(); - - $nbok = 0; - foreach($toselect as $toselectid) - { - $result=$objecttmp->fetch($toselectid); - if ($result > 0) - { - //if (in_array($objecttmp->element, array('societe','member'))) $result = $objecttmp->delete($objecttmp->id, $user, 1); - //else - $result = $objecttmp->validate($user); - if ($result == 0) - { - $langs->load("errors"); - setEventMessages($langs->trans("ErrorObjectMustHaveStatusDraftToBeValidated", $objecttmp->ref), null, 'errors'); - $error++; - break; - } - elseif ($result < 0) - { - setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); - $error++; - break; - } - else $nbok++; - } - else - { - setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); - $error++; - break; - } - } - - if (! $error) - { - if ($nbok > 1) setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); - else setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); - $db->commit(); - } - else - { - $db->rollback(); - } - //var_dump($listofobjectthirdparties);exit; - } + $objecttmp=new $objectclass($db); + + if ($objecttmp->element == 'invoice' && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL)) + { + $langs->load("errors"); + setEventMessages($langs->trans('ErrorMassValidationNotAllowedWhenStockIncreaseOnAction'), null, 'errors'); + $error++; + } + if ($objecttmp->element == 'invoice_supplier' && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL)) + { + $langs->load("errors"); + setEventMessages($langs->trans('ErrorMassValidationNotAllowedWhenStockIncreaseOnAction'), null, 'errors'); + $error++; + } + if (! $error) + { + $db->begin(); + + $nbok = 0; + foreach($toselect as $toselectid) + { + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + //if (in_array($objecttmp->element, array('societe','member'))) $result = $objecttmp->delete($objecttmp->id, $user, 1); + //else + $result = $objecttmp->validate($user); + if ($result == 0) + { + $langs->load("errors"); + setEventMessages($langs->trans("ErrorObjectMustHaveStatusDraftToBeValidated", $objecttmp->ref), null, 'errors'); + $error++; + break; + } + elseif ($result < 0) + { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + else $nbok++; + } + else + { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + } + + if (! $error) + { + if ($nbok > 1) setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); + else setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); + $db->commit(); + } + else + { + $db->rollback(); + } + //var_dump($listofobjectthirdparties);exit; + } } // Closed records if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclose) { $db->begin(); - + $objecttmp = new $objectclass($db); $nbok = 0; foreach ($toselect as $toselectid) { @@ -1106,13 +1119,13 @@ if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclo break; } } - + if (!$error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); - else - setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); - $db->commit(); + else + setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); + $db->commit(); } else { $db->rollback(); @@ -1121,66 +1134,127 @@ if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclo // Delete record from mass action (massaction = 'delete' for direct delete, action/confirm='delete'/'yes' with a confirmation step before) if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == 'yes')) && $permtodelete) { - $db->begin(); + $db->begin(); + + $objecttmp=new $objectclass($db); + $nbok = 0; + foreach($toselect as $toselectid) + { + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + // Refuse deletion for some objects/status + if ($objectclass == 'Facture' && empty($conf->global->INVOICE_CAN_ALWAYS_BE_REMOVED) && $objecttmp->status != Facture::STATUS_DRAFT) + { + $langs->load("errors"); + $nbignored++; + $resaction.='<div class="error">'.$langs->trans('ErrorOnlyDraftStatusCanBeDeletedInMassAction',$objecttmp->ref).'</div><br>'; + continue; + } + + if ($objectclass == "Task" && $objecttmp->hasChildren() > 0) + { + $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task SET fk_task_parent = 0 WHERE fk_task_parent = ".$objecttmp->id; + $res = $db->query($sql); + + if (!$res) + { + setEventMessage('ErrorRecordParentingNotModified', 'errors'); + $error++; + } + } + + if (in_array($objecttmp->element, array('societe', 'member'))) $result = $objecttmp->delete($objecttmp->id, $user, 1); + else $result = $objecttmp->delete($user); + + if ($result <= 0) + { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + else $nbok++; + } + else + { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + } + + if (! $error) + { + if ($nbok > 1) setEventMessages($langs->trans("RecordsDeleted", $nbok), null, 'mesgs'); + else setEventMessages($langs->trans("RecordDeleted", $nbok), null, 'mesgs'); + $db->commit(); + } + else + { + $db->rollback(); + } + //var_dump($listofobjectthirdparties);exit; +} - $objecttmp=new $objectclass($db); - $nbok = 0; - foreach($toselect as $toselectid) - { - $result=$objecttmp->fetch($toselectid); - if ($result > 0) - { - // Refuse deletion for some objects/status - if ($objectclass == 'Facture' && empty($conf->global->INVOICE_CAN_ALWAYS_BE_REMOVED) && $objecttmp->status != Facture::STATUS_DRAFT) - { - $langs->load("errors"); - $nbignored++; - $resaction.='<div class="error">'.$langs->trans('ErrorOnlyDraftStatusCanBeDeletedInMassAction',$objecttmp->ref).'</div><br>'; - continue; - } - - if ($objectclass == "Task" && $objecttmp->hasChildren() > 0) - { - $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task SET fk_task_parent = 0 WHERE fk_task_parent = ".$objecttmp->id; - $res = $db->query($sql); - - if (!$res) - { - setEventMessage('ErrorRecordParentingNotModified', 'errors'); - $error++; - } - } - - if (in_array($objecttmp->element, array('societe', 'member'))) $result = $objecttmp->delete($objecttmp->id, $user, 1); - else $result = $objecttmp->delete($user); - - if ($result <= 0) - { - setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); - $error++; - break; - } - else $nbok++; - } - else - { - setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); - $error++; - break; - } - } - - if (! $error) - { - if ($nbok > 1) setEventMessages($langs->trans("RecordsDeleted", $nbok), null, 'mesgs'); - else setEventMessages($langs->trans("RecordDeleted", $nbok), null, 'mesgs'); - $db->commit(); - } - else - { - $db->rollback(); - } - //var_dump($listofobjectthirdparties);exit; +// Generate document foreach object according to model linked to object +// @TODO : propose model selection +if (! $error && $massaction == 'generate_doc' && $permtoread) +{ + $db->begin(); + + $objecttmp=new $objectclass($db); + $nbok = 0; + foreach($toselect as $toselectid) + { + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + $outputlangs = $langs; + $newlang=''; + + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','aZ09')) $newlang=GETPOST('lang_id','aZ09'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && isset($objecttmp->thirdparty->default_lang)) $newlang=$objecttmp->thirdparty->default_lang; // for proposal, order, invoice, ... + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && isset($objecttmp->default_lang)) $newlang=$objecttmp->default_lang; // for thirdparty + if (! empty($newlang)) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($newlang); + } + + // To be sure vars is defined + if (empty($hidedetails)) $hidedetails=0; + if (empty($hidedesc)) $hidedesc=0; + if (empty($hideref)) $hideref=0; + if (empty($moreparams)) $moreparams=null; + + $result= $objecttmp->generateDocument($objecttmp->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + + if ($result <= 0) + { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + else $nbok++; + } + else + { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + } + + if (! $error) + { + if ($nbok > 1) setEventMessages($langs->trans("RecordsGenerated", $nbok), null, 'mesgs'); + else setEventMessages($langs->trans("RecordGenerated", $nbok), null, 'mesgs'); + $db->commit(); + } + else + { + $db->rollback(); + } } $parameters['toselect']=$toselect; From c84b189a05474228beba41cff703211538fb43f0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 10:40:25 +0100 Subject: [PATCH 064/130] Fix duplicate recording of event when using mass action send --- htdocs/core/actions_massactions.inc.php | 57 +++++++++++++++---------- 1 file changed, 35 insertions(+), 22 deletions(-) diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index 630c67e9979..9839c39cfe9 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -74,10 +74,11 @@ if (! $error && $massaction == 'confirm_presend') if (! $error) { $thirdparty=new Societe($db); + + $objecttmp=new $objectclass($db); if ($objecttmp->element == 'expensereport') $thirdparty=new User($db); if ($objecttmp->element == 'holiday') $thirdparty=new User($db); - $objecttmp=new $objectclass($db); foreach($toselect as $toselectid) { $objecttmp=new $objectclass($db); // we must create new instance because instance is saved into $listofobjectref array for future use @@ -85,12 +86,15 @@ if (! $error && $massaction == 'confirm_presend') if ($result > 0) { $listofobjectid[$toselectid]=$toselectid; + $thirdpartyid=($objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid); if ($objecttmp->element == 'societe') $thirdpartyid=$objecttmp->id; if ($objecttmp->element == 'expensereport') $thirdpartyid=$objecttmp->fk_user_author; if ($objecttmp->element == 'holiday') $thirdpartyid=$objecttmp->fk_user; - $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; - $listofobjectref[$thirdpartyid][$toselectid]=$objecttmp; + if (empty($thirdpartyid)) $thirdpartyid=0; + + $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; + $listofobjectref[$thirdpartyid][$toselectid]=$objecttmp; } } } @@ -235,6 +239,12 @@ if (! $error && $massaction == 'confirm_presend') $fuser->fetch($objectobj->fk_user_author); $sendto = $fuser->email; } + elseif ($objectobj->element == 'holiday') + { + $fuser = new User($db); + $fuser->fetch($objectobj->fk_user); + $sendto = $fuser->email; + } else { $objectobj->fetch_thirdparty(); @@ -283,15 +293,14 @@ if (! $error && $massaction == 'confirm_presend') } } - // Object of thirdparty qualified + // Object of thirdparty qualified, we add it $listofqualifiedobj[$objectid]=$objectobj; $listofqualifiedref[$objectid]=$objectobj->ref; - //var_dump($listofqualifiedref); } - // Send email if there is at least one qualified record + // Send email if there is at least one qualified object for current thirdparty if (count($listofqualifiedobj) > 0) { $langs->load("commercial"); @@ -337,25 +346,27 @@ if (! $error && $massaction == 'confirm_presend') if ($objectclass == 'FactureFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO)); // $listofqualifiedobj is array with key = object id and value is instance of qualified objects, for the current thirdparty (but thirdparty property is not loaded yet) - $oneemailperrecipient=(GETPOST('oneemailperrecipient')=='on'?1:0); + // $looparray will be an array with number of email to send for the current thirdparty (so 1 or n if n object for same thirdparty) + $oneemailperrecipient=(GETPOST('oneemailperrecipient','alpha')=='on'?1:0); $looparray=array(); if (! $oneemailperrecipient) { $looparray = $listofqualifiedobj; foreach ($looparray as $key => $objecttmp) { - $looparray[$key]->thirdparty = $thirdparty; + $looparray[$key]->thirdparty = $thirdparty; // Force thirdparty on object } } else { $objectforloop=new $objectclass($db); - $objectforloop->thirdparty = $thirdparty; + $objectforloop->thirdparty = $thirdparty; // Force thirdparty on object (even if object was not loaded) $looparray[0]=$objectforloop; } //var_dump($looparray);exit; + dol_syslog("We have set an array of ".count($looparray)." emails to send"); - foreach ($looparray as $objecttmp) // $objecttmp is a real object or an empty object if we choose to send one email per thirdparty instead of one per record + foreach ($looparray as $objectid => $objecttmp) // $objecttmp is a real object or an empty object if we choose to send one email per thirdparty instead of one per object { // Make substitution in email content $substitutionarray=getCommonSubstitutionArray($langs, 0, null, $objecttmp); @@ -422,9 +433,11 @@ if (! $error && $massaction == 'confirm_presend') $error=0; // Insert logs into agenda - foreach($listofqualifiedobj as $objid => $objectobj) + foreach($listofqualifiedobj as $objid2 => $objectobj2) { - dol_syslog("Try to insert email event into agenda for objid=".$objid." => objectobj=".get_class($objectobj)); + if (()! $oneemailperrecipient) && $objid2 != $objid) continue; // We discard this pass to avoid duplicate with other pass in looparray at higher level + + dol_syslog("Try to insert email event into agenda for objid=".$objid2." => objectobj=".get_class($objectobj2)); /*if ($objectclass == 'Propale') $actiontypecode='AC_PROP'; if ($objectclass == 'Commande') $actiontypecode='AC_COM'; @@ -444,13 +457,13 @@ if (! $error && $massaction == 'confirm_presend') $actionmsg2=''; // Initialisation donnees - $objectobj->sendtoid = 0; - $objectobj->actionmsg = $actionmsg; // Long text - $objectobj->actionmsg2 = $actionmsg2; // Short text - $objectobj->fk_element = $objid; - $objectobj->elementtype = $objectobj->element; + $objectobj2->sendtoid = 0; + $objectobj2->actionmsg = $actionmsg; // Long text + $objectobj2->actionmsg2 = $actionmsg2; // Short text + $objectobj2->fk_element = $objid2; + $objectobj2->elementtype = $objectobj2->element; - $triggername = strtoupper(get_class($objectobj)) .'_SENTBYMAIL'; + $triggername = strtoupper(get_class($objectobj2)) .'_SENTBYMAIL'; if ($triggername == 'SOCIETE_SENTBYMAIL') $triggername = 'COMPANY_SENTBYMAIL'; if ($triggername == 'CONTRAT_SENTBYMAIL') $triggername = 'CONTRACT_SENTBYMAIL'; if ($triggername == 'COMMANDE_SENTBYMAIL') $triggername = 'ORDER_SENTBYMAIL'; @@ -465,7 +478,7 @@ if (! $error && $massaction == 'confirm_presend') // Appel des triggers include_once DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"; $interface=new Interfaces($db); - $result=$interface->run_triggers($triggername, $objectobj, $user, $langs, $conf); + $result=$interface->run_triggers($triggername, $objectobj2, $user, $langs, $conf); if ($result < 0) { $error++; $errors=$interface->errors; } // Fin appel triggers @@ -475,9 +488,9 @@ if (! $error && $massaction == 'confirm_presend') dol_syslog("Error in trigger ".$triggername.' '.$db->lasterror(), LOG_ERR); } } - - $nbsent++; } + + $nbsent++; // Nb of email sent (may be lower than number of record selected if we group thirdparties) } else { @@ -544,7 +557,7 @@ if ($massaction == 'confirm_createbills') else { // Load extrafields of order $cmd->fetch_optionals(); - + $objecttmp->socid = $cmd->socid; $objecttmp->type = Facture::TYPE_STANDARD; $objecttmp->cond_reglement_id = $cmd->cond_reglement_id; From 77e322b2503b001694715760ac365b205812b947 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 10:49:51 +0100 Subject: [PATCH 065/130] Fix bad var --- htdocs/core/actions_massactions.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index 9839c39cfe9..ba94300ae22 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -435,7 +435,7 @@ if (! $error && $massaction == 'confirm_presend') // Insert logs into agenda foreach($listofqualifiedobj as $objid2 => $objectobj2) { - if (()! $oneemailperrecipient) && $objid2 != $objid) continue; // We discard this pass to avoid duplicate with other pass in looparray at higher level + if ((! $oneemailperrecipient) && $objid2 != $objectid) continue; // We discard this pass to avoid duplicate with other pass in looparray at higher level dol_syslog("Try to insert email event into agenda for objid=".$objid2." => objectobj=".get_class($objectobj2)); From 43c0a2232ceaa785e97fd27d98362aea9c85fc27 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 10:51:34 +0100 Subject: [PATCH 066/130] Fix massaction --- htdocs/core/actions_massactions.inc.php | 250 ++++++++++++------------ 1 file changed, 125 insertions(+), 125 deletions(-) diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index d01f0705817..0c0dba126c7 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -66,19 +66,19 @@ if (! $error && $massaction == 'confirm_presend') $nbignored = 0; $langs->load("mails"); include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - + $listofobjectid=array(); $listofobjectthirdparties=array(); $listofobjectref=array(); - + if (! $error) { $thirdparty=new Societe($db); - + $objecttmp=new $objectclass($db); if ($objecttmp->element == 'expensereport') $thirdparty=new User($db); if ($objecttmp->element == 'holiday') $thirdparty=new User($db); - + foreach($toselect as $toselectid) { $objecttmp=new $objectclass($db); // we must create new instance because instance is saved into $listofobjectref array for future use @@ -86,19 +86,19 @@ if (! $error && $massaction == 'confirm_presend') if ($result > 0) { $listofobjectid[$toselectid]=$toselectid; - + $thirdpartyid=($objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid); if ($objecttmp->element == 'societe') $thirdpartyid=$objecttmp->id; if ($objecttmp->element == 'expensereport') $thirdpartyid=$objecttmp->fk_user_author; if ($objecttmp->element == 'holiday') $thirdpartyid=$objecttmp->fk_user; if (empty($thirdpartyid)) $thirdpartyid=0; - + $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; $listofobjectref[$thirdpartyid][$toselectid]=$objecttmp; } } } - + // Check mandatory parameters if (GETPOST('fromtype','alpha') === 'user' && empty($user->email)) { @@ -106,7 +106,7 @@ if (! $error && $massaction == 'confirm_presend') setEventMessages($langs->trans("NoSenderEmailDefined"), null, 'warnings'); $massaction='presend'; } - + $receiver=$_POST['receiver']; if (! is_array($receiver)) { @@ -119,14 +119,14 @@ if (! $error && $massaction == 'confirm_presend') setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Recipient")), null, 'warnings'); $massaction='presend'; } - + if (! GETPOST('subject','none')) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("MailTopic")), null, 'warnings'); $massaction='presend'; } - + // Loop on each recipient/thirdparty if (! $error) { @@ -138,12 +138,12 @@ if (! $error && $massaction == 'confirm_presend') dol_print_error($db); exit; } - + $sendto=''; $sendtocc=''; $sendtobcc=''; $sendtoid = array(); - + // Define $sendto $tmparray=array(); if (trim($_POST['sendto'])) @@ -168,7 +168,7 @@ if (! $error && $massaction == 'confirm_presend') } } $sendto=implode(',',$tmparray); - + // Define $sendtocc $receivercc=$_POST['receivercc']; if (! is_array($receivercc)) @@ -198,13 +198,13 @@ if (! $error && $massaction == 'confirm_presend') } } $sendtocc=implode(',',$tmparray); - + //var_dump($listofobjectref);exit; $attachedfiles=array('paths'=>array(), 'names'=>array(), 'mimes'=>array()); $listofqualifiedobj=array(); $listofqualifiedref=array(); $thirdpartywithoutemail=array(); - + foreach($listofobjectref[$thirdpartyid] as $objectid => $objectobj) { //var_dump($thirdpartyid.' - '.$objectid.' - '.$objectobj->statut); @@ -229,7 +229,7 @@ if (! $error && $massaction == 'confirm_presend') $resaction.='<div class="error">'.$langs->trans('ErrorOnlyInvoiceValidatedCanBeSentInMassAction',$objectobj->ref).'</div><br>'; continue; // Payment done or started or canceled } - + // Test recipient if (empty($sendto)) // For the case, no recipient were set (multi thirdparties send) { @@ -251,7 +251,7 @@ if (! $error && $massaction == 'confirm_presend') $sendto = $objectobj->thirdparty->email; } } - + if (empty($sendto)) { //print "No recipient for thirdparty ".$objectobj->thirdparty->name; @@ -264,7 +264,7 @@ if (! $error && $massaction == 'confirm_presend') $thirdpartywithoutemail[$objectobj->thirdparty->id]=1; continue; } - + if ($_POST['addmaindocfile']) { // TODO Use future field $objectobj->fullpathdoc to know where is stored default file @@ -273,7 +273,7 @@ if (! $error && $massaction == 'confirm_presend') $filedir=$uploaddir . '/' . dol_sanitizeFileName($objectobj->ref); $file = $filedir . '/' . $filename; $mime = dol_mimetype($file); - + if (dol_is_file($file)) { // Create form object @@ -292,19 +292,19 @@ if (! $error && $massaction == 'confirm_presend') continue; } } - + // Object of thirdparty qualified, we add it $listofqualifiedobj[$objectid]=$objectobj; $listofqualifiedref[$objectid]=$objectobj->ref; - + //var_dump($listofqualifiedref); } - + // Send email if there is at least one qualified object for current thirdparty if (count($listofqualifiedobj) > 0) { $langs->load("commercial"); - + $fromtype = GETPOST('fromtype'); if ($fromtype === 'user') { $from = $user->getFullName($langs) .' <'.$user->email.'>'; @@ -332,11 +332,11 @@ if (! $error && $massaction == 'confirm_presend') else { $from = $_POST['fromname'] . ' <' . $_POST['frommail'] .'>'; } - + $replyto = $from; $subject = GETPOST('subject','none'); $message = GETPOST('message','none'); - + $sendtobcc = GETPOST('sendtoccc'); if ($objectclass == 'Propal') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO)); if ($objectclass == 'Commande') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO)); @@ -344,7 +344,7 @@ if (! $error && $massaction == 'confirm_presend') if ($objectclass == 'Supplier_Proposal') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_PROPOSAL_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_PROPOSAL_TO)); if ($objectclass == 'CommandeFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_ORDER_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_ORDER_TO)); if ($objectclass == 'FactureFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO)); - + // $listofqualifiedobj is array with key = object id and value is instance of qualified objects, for the current thirdparty (but thirdparty property is not loaded yet) // $looparray will be an array with number of email to send for the current thirdparty (so 1 or n if n object for same thirdparty) $oneemailperrecipient=(GETPOST('oneemailperrecipient','alpha')=='on'?1:0); @@ -365,7 +365,7 @@ if (! $error && $massaction == 'confirm_presend') } //var_dump($looparray);exit; dol_syslog("We have set an array of ".count($looparray)." emails to send"); - + foreach ($looparray as $objectid => $objecttmp) // $objecttmp is a real object or an empty object if we choose to send one email per thirdparty instead of one per object { // Make substitution in email content @@ -374,25 +374,25 @@ if (! $error && $massaction == 'confirm_presend') $substitutionarray['__REF__'] = ($oneemailperrecipient ? join(', ',$listofqualifiedref) : $objecttmp->ref); $substitutionarray['__EMAIL__'] = $thirdparty->email; $substitutionarray['__CHECK_READ__'] = '<img src="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-read.php?tag='.$thirdparty->tag.'&securitykey='.urlencode($conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY).'" width="1" height="1" style="width:1px;height:1px" border="0"/>'; - + $parameters=array('mode'=>'formemail'); - + if ( ! empty( $listofobjectthirdparties ) ) { $parameters['listofobjectthirdparties'] = $listofobjectthirdparties; } if ( ! empty( $listofobjectref ) ) { $parameters['listofobjectref'] = $listofobjectref; } - + complete_substitutions_array($substitutionarray, $langs, $objecttmp, $parameters); - + $subject=make_substitutions($subject, $substitutionarray); $message=make_substitutions($message, $substitutionarray); - + $filepath = $attachedfiles['paths']; $filename = $attachedfiles['names']; $mimetype = $attachedfiles['mimes']; - + // Define the trackid when emails sent from the mass action if ($oneemailperrecipient) { @@ -410,12 +410,12 @@ if (! $error && $massaction == 'confirm_presend') if (get_class($objecttmp)=='Supplier_Proposal') $trackid='spr'; if (get_class($objecttmp)=='CommandeFournisseur') $trackid='sor'; if (get_class($objecttmp)=='FactureFournisseur') $trackid='sin'; - + $trackid.=$objecttmp->id; } //var_dump($filepath); //var_dump($trackid);exit; - + // Send mail (substitutionarray must be done just before this) require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,$sendtobcc,$deliveryreceipt,-1,'','',$trackid); @@ -429,23 +429,23 @@ if (! $error && $massaction == 'confirm_presend') if ($result) { $resaction.=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2)).'<br>'; // Must not contain " - + $error=0; - + // Insert logs into agenda foreach($listofqualifiedobj as $objid2 => $objectobj2) { - if ((! $oneemailperrecipient) && $objid2 != $objid) continue; // We discard this pass to avoid duplicate with other pass in looparray at higher level - + if ((! $oneemailperrecipient) && $objid2 != $objectid) continue; // We discard this pass to avoid duplicate with other pass in looparray at higher level + dol_syslog("Try to insert email event into agenda for objid=".$objid2." => objectobj=".get_class($objectobj2)); - + /*if ($objectclass == 'Propale') $actiontypecode='AC_PROP'; if ($objectclass == 'Commande') $actiontypecode='AC_COM'; if ($objectclass == 'Facture') $actiontypecode='AC_FAC'; if ($objectclass == 'Supplier_Proposal') $actiontypecode='AC_SUP_PRO'; if ($objectclass == 'CommandeFournisseur') $actiontypecode='AC_SUP_ORD'; if ($objectclass == 'FactureFournisseur') $actiontypecode='AC_SUP_INV';*/ - + $actionmsg=$langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto; if ($message) { @@ -455,14 +455,14 @@ if (! $error && $massaction == 'confirm_presend') $actionmsg = dol_concatdesc($actionmsg, $message); } $actionmsg2=''; - + // Initialisation donnees $objectobj2->sendtoid = 0; $objectobj2->actionmsg = $actionmsg; // Long text $objectobj2->actionmsg2 = $actionmsg2; // Short text $objectobj2->fk_element = $objid2; $objectobj2->elementtype = $objectobj2->element; - + $triggername = strtoupper(get_class($objectobj2)) .'_SENTBYMAIL'; if ($triggername == 'SOCIETE_SENTBYMAIL') $triggername = 'COMPANY_SENTBYMAIL'; if ($triggername == 'CONTRAT_SENTBYMAIL') $triggername = 'CONTRACT_SENTBYMAIL'; @@ -472,7 +472,7 @@ if (! $error && $massaction == 'confirm_presend') if ($triggername == 'COMMANDEFOURNISSEUR_SENTBYMAIL') $triggername = 'ORDER_SUPPLIER_SENTBYMAIL'; if ($triggername == 'FACTUREFOURNISSEUR_SENTBYMAIL') $triggername = 'BILL_SUPPLIER_SENTBYMAIL'; if ($triggername == 'SUPPLIERPROPOSAL_SENTBYMAIL') $triggername = 'PROPOSAL_SUPPLIER_SENTBYMAIL'; - + if (! empty($triggername)) { // Appel des triggers @@ -481,7 +481,7 @@ if (! $error && $massaction == 'confirm_presend') $result=$interface->run_triggers($triggername, $objectobj2, $user, $langs, $conf); if ($result < 0) { $error++; $errors=$interface->errors; } // Fin appel triggers - + if ($error) { setEventMessages($db->lasterror(), $errors, 'errors'); @@ -489,7 +489,7 @@ if (! $error && $massaction == 'confirm_presend') } } } - + $nbsent++; // Nb of email sent (may be lower than number of record selected if we group thirdparties) } else @@ -509,13 +509,13 @@ if (! $error && $massaction == 'confirm_presend') } } } - + $resaction.=($resaction?'<br>':$resaction); $resaction.='<strong>'.$langs->trans("ResultOfMailSending").':</strong><br>'."\n"; $resaction.=$langs->trans("NbSelected").': '.count($toselect)."\n<br>"; $resaction.=$langs->trans("NbIgnored").': '.($nbignored?$nbignored:0)."\n<br>"; $resaction.=$langs->trans("NbSent").': '.($nbsent?$nbsent:0)."\n<br>"; - + if ($nbsent) { $action=''; // Do not show form post if there was at least one successfull sent @@ -528,7 +528,7 @@ if (! $error && $massaction == 'confirm_presend') //setEventMessages($langs->trans("EMailSentToNRecipients", 0), null, 'warnings'); // May be object has no generated PDF file setEventMessages($resaction, null, 'warnings'); } - + $action='list'; $massaction=''; } @@ -539,48 +539,48 @@ if ($massaction == 'confirm_createbills') $orders = GETPOST('toselect','array'); $createbills_onebythird = GETPOST('createbills_onebythird', 'int'); $validate_invoices = GETPOST('valdate_invoices', 'int'); - + $TFact = array(); $TFactThird = array(); - + $nb_bills_created = 0; - + $db->begin(); - + foreach($orders as $id_order) { $cmd = new Commande($db); if ($cmd->fetch($id_order) <= 0) continue; - + $objecttmp = new Facture($db); if (!empty($createbills_onebythird) && !empty($TFactThird[$cmd->socid])) $objecttmp = $TFactThird[$cmd->socid]; // If option "one bill per third" is set, we use already created order. else { // Load extrafields of order $cmd->fetch_optionals(); - + $objecttmp->socid = $cmd->socid; $objecttmp->type = Facture::TYPE_STANDARD; $objecttmp->cond_reglement_id = $cmd->cond_reglement_id; $objecttmp->mode_reglement_id = $cmd->mode_reglement_id; $objecttmp->fk_project = $cmd->fk_project; - + $datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); if (empty($datefacture)) { $datefacture = dol_mktime(date("h"), date("M"), 0, date("m"), date("d"), date("Y")); } - + $objecttmp->date = $datefacture; $objecttmp->origin = 'commande'; $objecttmp->origin_id = $id_order; - + $objecttmp->array_options = $cmd->array_options; // Copy extrafields - + $res = $objecttmp->create($user); - + if($res > 0) $nb_bills_created++; } - + if ($objecttmp->id > 0) { $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_element ("; @@ -594,12 +594,12 @@ if ($massaction == 'confirm_createbills') $sql.= ", ".$objecttmp->id; $sql.= ", '".$objecttmp->element."'"; $sql.= ")"; - + if (! $db->query($sql)) { $error++; } - + if (! $error) { $lines = $cmd->lines; @@ -608,10 +608,10 @@ if ($massaction == 'confirm_createbills') $cmd->fetch_lines(); $lines = $cmd->lines; } - + $fk_parent_line=0; $num=count($lines); - + for ($i=0;$i<$num;$i++) { $desc=($lines[$i]->desc?$lines[$i]->desc:$lines[$i]->libelle); @@ -658,13 +658,13 @@ if ($massaction == 'confirm_createbills') { $fk_parent_line = 0; } - + // Extrafields if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals($lines[$i]->rowid); $array_options = $lines[$i]->array_options; } - + $result = $objecttmp->addline( $desc, $lines[$i]->subprice, @@ -711,21 +711,21 @@ if ($massaction == 'confirm_createbills') } } } - + //$cmd->classifyBilled($user); // Disabled. This behavior must be set or not using the workflow module. - + if(!empty($createbills_onebythird) && empty($TFactThird[$cmd->socid])) $TFactThird[$cmd->socid] = $objecttmp; else $TFact[$objecttmp->id] = $objecttmp; } - + // Build doc with all invoices $TAllFact = empty($createbills_onebythird) ? $TFact : $TFactThird; $toselect = array(); - + if (! $error && $validate_invoices) { $massaction = $action = 'builddoc'; - + foreach($TAllFact as &$objecttmp) { $result = $objecttmp->validate($user); @@ -735,30 +735,30 @@ if ($massaction == 'confirm_createbills') setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); break; } - + $id = $objecttmp->id; // For builddoc action $object = $objecttmp; - + // Builddoc $donotredirect = 1; $upload_dir = $conf->facture->dir_output; $permissioncreate=$user->rights->facture->creer; - + // Call action to build doc $savobject = $object; $object = $objecttmp; include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; $object = $savobject; } - + $massaction = $action = 'confirm_createbills'; } - + if (! $error) { $db->commit(); setEventMessages($langs->trans('BillCreated', $nb_bills_created), null, 'mesgs'); - + // Make a redirect to avoid to bill twice if we make a refresh or back $param=''; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); @@ -784,7 +784,7 @@ if ($massaction == 'confirm_createbills') if ($show_files) $param.='&show_files=' .urlencode($show_files); if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss); if ($billed != '') $param.='&billed='.urlencode($billed); - + header("Location: ".$_SERVER['PHP_SELF'].'?'.$param); exit; } @@ -801,20 +801,20 @@ if ($massaction == 'confirm_createbills') if (!$error && $massaction == 'cancelorders') { - + $db->begin(); - + $nbok = 0; - - + + $orders = GETPOST('toselect', 'array'); foreach ($orders as $id_order) { - + $cmd = new Commande($db); if ($cmd->fetch($id_order) <= 0) continue; - + if ($cmd->statut != Commande::STATUS_VALIDATED) { $langs->load('errors'); @@ -824,7 +824,7 @@ if (!$error && $massaction == 'cancelorders') } else $result = $cmd->cancel(); - + if ($result < 0) { setEventMessages($cmd->error, $cmd->errors, 'errors'); @@ -856,11 +856,11 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se dol_print_error(null, 'include of actions_massactions.inc.php is done but var $diroutputmassaction was not defined'); exit; } - + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; - + $objecttmp=new $objectclass($db); $listofobjectid=array(); $listofobjectthirdparties=array(); @@ -877,12 +877,12 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $listofobjectref[$toselectid]=$objecttmp->ref; } } - + $arrayofinclusion=array(); foreach($listofobjectref as $tmppdf) $arrayofinclusion[]='^'.preg_quote(dol_sanitizeFileName($tmppdf),'/').'\.pdf$'; foreach($listofobjectref as $tmppdf) $arrayofinclusion[]='^'.preg_quote(dol_sanitizeFileName($tmppdf),'/').'_[a-zA-Z0-9-_]+\.pdf$'; // To include PDF generated from ODX files $listoffiles = dol_dir_list($uploaddir,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC,0,true); - + // build list of files with full path $files = array(); foreach($listofobjectref as $basename) @@ -897,7 +897,7 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se } } } - + // Define output language (Here it is not used because we do only merging existing PDF) $outputlangs = $langs; $newlang=''; @@ -908,16 +908,16 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $outputlangs = new Translate("",$conf); $outputlangs->setDefaultLang($newlang); } - + if (!empty($conf->global->USE_PDFTK_FOR_PDF_CONCAT)) { // Create output dir if not exists dol_mkdir($diroutputmassaction); - + // Defined name of merged file $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); $filename=preg_replace('/\s/','_',$filename); - + // Save merged file if (in_array($objecttmp->element, array('facture', 'facture_fournisseur')) && $search_status == Facture::STATUS_VALIDATED) { @@ -926,23 +926,23 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se } if ($year) $filename.='_'.$year; if ($month) $filename.='_'.$month; - + if (count($files)>0) { $now=dol_now(); $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; - + $input_files = ''; foreach($files as $f) { $input_files.=' '.escapeshellarg($f); } - + $cmd = 'pdftk '.escapeshellarg($input_files).' cat output '.escapeshellarg($file); exec($cmd); - + if (! empty($conf->global->MAIN_UMASK)) @chmod($file, octdec($conf->global->MAIN_UMASK)); - + $langs->load("exports"); setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); } @@ -957,18 +957,18 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $page_largeur = $formatarray['width']; $page_hauteur = $formatarray['height']; $format = array($page_largeur,$page_hauteur); - + $pdf=pdf_getInstance($format); - + if (class_exists('TCPDF')) { $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); } $pdf->SetFont(pdf_getPDFFont($outputlangs)); - + if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); - + // Add all others foreach($files as $file) { @@ -982,14 +982,14 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $pdf->useTemplate($tplidx); } } - + // Create output dir if not exists dol_mkdir($diroutputmassaction); - + // Defined name of merged file $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); $filename=preg_replace('/\s/','_',$filename); - + // Save merged file if (in_array($objecttmp->element, array('facture', 'facture_fournisseur')) && $search_status == Facture::STATUS_VALIDATED) { @@ -1005,7 +1005,7 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $pdf->Output($file,'F'); if (! empty($conf->global->MAIN_UMASK)) @chmod($file, octdec($conf->global->MAIN_UMASK)); - + $langs->load("exports"); setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); } @@ -1020,7 +1020,7 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se if ($action == 'remove_file') { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - + $langs->load("other"); $upload_dir = $diroutputmassaction; $file = $upload_dir . '/' . GETPOST('file'); @@ -1034,7 +1034,7 @@ if ($action == 'remove_file') if (! $error && $massaction == 'validate' && $permtocreate) { $objecttmp=new $objectclass($db); - + if ($objecttmp->element == 'invoice' && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL)) { $langs->load("errors"); @@ -1050,7 +1050,7 @@ if (! $error && $massaction == 'validate' && $permtocreate) if (! $error) { $db->begin(); - + $nbok = 0; foreach($toselect as $toselectid) { @@ -1082,7 +1082,7 @@ if (! $error && $massaction == 'validate' && $permtocreate) break; } } - + if (! $error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); @@ -1099,7 +1099,7 @@ if (! $error && $massaction == 'validate' && $permtocreate) // Closed records if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclose) { $db->begin(); - + $objecttmp = new $objectclass($db); $nbok = 0; foreach ($toselect as $toselectid) { @@ -1119,7 +1119,7 @@ if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclo break; } } - + if (!$error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); @@ -1135,7 +1135,7 @@ if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclo if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == 'yes')) && $permtodelete) { $db->begin(); - + $objecttmp=new $objectclass($db); $nbok = 0; foreach($toselect as $toselectid) @@ -1151,22 +1151,22 @@ if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == $resaction.='<div class="error">'.$langs->trans('ErrorOnlyDraftStatusCanBeDeletedInMassAction',$objecttmp->ref).'</div><br>'; continue; } - + if ($objectclass == "Task" && $objecttmp->hasChildren() > 0) { $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task SET fk_task_parent = 0 WHERE fk_task_parent = ".$objecttmp->id; $res = $db->query($sql); - + if (!$res) { setEventMessage('ErrorRecordParentingNotModified', 'errors'); $error++; } } - + if (in_array($objecttmp->element, array('societe', 'member'))) $result = $objecttmp->delete($objecttmp->id, $user, 1); else $result = $objecttmp->delete($user); - + if ($result <= 0) { setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); @@ -1182,7 +1182,7 @@ if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == break; } } - + if (! $error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsDeleted", $nbok), null, 'mesgs'); @@ -1201,7 +1201,7 @@ if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == if (! $error && $massaction == 'generate_doc' && $permtoread) { $db->begin(); - + $objecttmp=new $objectclass($db); $nbok = 0; foreach($toselect as $toselectid) @@ -1211,7 +1211,7 @@ if (! $error && $massaction == 'generate_doc' && $permtoread) { $outputlangs = $langs; $newlang=''; - + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','aZ09')) $newlang=GETPOST('lang_id','aZ09'); if ($conf->global->MAIN_MULTILANGS && empty($newlang) && isset($objecttmp->thirdparty->default_lang)) $newlang=$objecttmp->thirdparty->default_lang; // for proposal, order, invoice, ... if ($conf->global->MAIN_MULTILANGS && empty($newlang) && isset($objecttmp->default_lang)) $newlang=$objecttmp->default_lang; // for thirdparty @@ -1220,15 +1220,15 @@ if (! $error && $massaction == 'generate_doc' && $permtoread) $outputlangs = new Translate("",$conf); $outputlangs->setDefaultLang($newlang); } - + // To be sure vars is defined if (empty($hidedetails)) $hidedetails=0; if (empty($hidedesc)) $hidedesc=0; if (empty($hideref)) $hideref=0; if (empty($moreparams)) $moreparams=null; - + $result= $objecttmp->generateDocument($objecttmp->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); - + if ($result <= 0) { setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); @@ -1244,7 +1244,7 @@ if (! $error && $massaction == 'generate_doc' && $permtoread) break; } } - + if (! $error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsGenerated", $nbok), null, 'mesgs'); From 08a181bfbf7ed1105aae0d30452eb413f56b7e78 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 11:00:17 +0100 Subject: [PATCH 067/130] Fix substitution of REF_CLIENT and REF_SUPPLIER --- htdocs/core/lib/functions.lib.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index fffe95cbb0c..7187a765de4 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -5858,8 +5858,8 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob { $substitutionarray['__ID__'] = '__ID__'; $substitutionarray['__REF__'] = '__REF__'; - $substitutionarray['__REFCLIENT__'] = '__REFCLIENT__'; - $substitutionarray['__REFSUPPLIER__'] = '__REFSUPPLIER__'; + $substitutionarray['__REF_CLIENT__'] = '__REF_CLIENT__'; + $substitutionarray['__REF_SUPPLIER__'] = '__REF_SUPPLIER__'; $substitutionarray['__EXTRAFIELD_XXX__'] = '__EXTRAFIELD_XXX__'; $substitutionarray['__THIRDPARTY_ID__'] = '__THIRDPARTY_ID__'; @@ -5905,6 +5905,9 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob { $substitutionarray['__ID__'] = $object->id; $substitutionarray['__REF__'] = $object->ref; + $substitutionarray['__REF_CLIENT__'] = (isset($object->ref_client) ? $object->ref_client : (isset($object->ref_customer) ? $object->ref_customer : null)); + $substitutionarray['__REF_SUPPLIER__'] = (isset($object->ref_supplier) ? $object->ref_supplier : null); + // For backward compatibility $substitutionarray['__REFCLIENT__'] = (isset($object->ref_client) ? $object->ref_client : (isset($object->ref_customer) ? $object->ref_customer : null)); $substitutionarray['__REFSUPPLIER__'] = (isset($object->ref_supplier) ? $object->ref_supplier : null); From eca1a2cd6472efa4b6ffae90e91263da8536e0db Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 11:08:13 +0100 Subject: [PATCH 068/130] Update societe.class.php --- htdocs/societe/class/societe.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index a240c83b89f..18a4dbda8f2 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -3798,6 +3798,7 @@ class Societe extends CommonObject $sql .= " WHERE fk_soc = ". $this->id; $sql .= " AND paye = 0"; $sql .= " AND fk_statut <> 0"; // Not a draft + $sql .= " AND entity IN (".getEntity('invoice').")"; //$sql .= " AND (fk_statut <> 3 OR close_code <> 'abandon')"; // Not abandonned for undefined reason $sql .= " AND fk_statut <> 3"; // Not abandonned $sql .= " AND fk_statut <> 2"; // Not clasified as paid From 508fb5c9cb82234a6523a35560d3c10cce473091 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 11:13:11 +0100 Subject: [PATCH 069/130] =?UTF-8?q?Prise=20en=20charge=20des=20Travaux=20s?= =?UTF-8?q?uppl=C3=A9mentaires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corrige la filtration lors des situations client afin de prendre en compte la possibilité d'ajouter des travaux en cours de chantier. --- htdocs/core/tpl/objectline_view.tpl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index 313a4ee4def..ac2de384ddc 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -283,7 +283,7 @@ $domData .= ' data-product_type="'.$line->product_type.'"'; <td class="linecoldelete" align="center"><?php $coldisplay++; ?> <?php - if (($this->situation_counter == 1 || !$this->situation_cycle_ref) && empty($disableremove)) { + if (($line->fk_prev_id == NULL ) && empty($disableremove)) { //La suppression n'est autorisée que si il n'y a pas de ligne dans une précédente situation print '<a href="' . $_SERVER["PHP_SELF"] . '?id=' . $this->id . '&action=ask_deleteline&lineid=' . $line->id . '">'; print img_delete(); print '</a>'; From 30548d977fc46ccb6dee6952e5523e2438a01745 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 11:19:11 +0100 Subject: [PATCH 070/130] =?UTF-8?q?Prise=20en=20charge=20des=20Travaux=20s?= =?UTF-8?q?uppl=C3=A9mentaires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corrige la filtration pour permettre l'ajout de ligne lors de la présence de travaux supplémentaires en cours de chantier. --- htdocs/compta/facture/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 9ad79393499..bec4097935f 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -4540,7 +4540,7 @@ else if ($id > 0 || ! empty($ref)) $ret = $object->printObjectLines($action, $mysoc, $soc, $lineid, 1); // Form to add new line - if ($object->statut == 0 && $user->rights->facture->creer && $action != 'valid' && $action != 'editline' && ($object->is_first() || !$object->situation_cycle_ref)) + if ($object->statut == 0 && $usercancreate && $action != 'valid' && $action != 'editline') { if ($action != 'editline' && $action != 'selectlines') { From e5d6c551dd6e0c101d2eb7877f1fd8a6fe2b8260 Mon Sep 17 00:00:00 2001 From: Philippe GRAND <philippe.grand@atoo-net.com> Date: Tue, 29 Jan 2019 11:27:53 +0100 Subject: [PATCH 071/130] fix translation --- htdocs/expedition/card.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index 4f08da56365..ebc3b2995fe 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -205,8 +205,7 @@ if (empty($reshook)) $date_delivery = dol_mktime(GETPOST('date_deliveryhour','int'), GETPOST('date_deliverymin','int'), 0, GETPOST('date_deliverymonth','int'), GETPOST('date_deliveryday','int'), GETPOST('date_deliveryyear','int')); - // On va boucler sur chaque ligne du document d'origine pour completer objet expedition - // avec info diverses + qte a livrer + // We will loop on each line of the original document to complete the shipping object with various info and quantity to deliver $classname = ucfirst($object->origin); $objectsrc = new $classname($db); $objectsrc->fetch($object->origin_id); @@ -839,13 +838,13 @@ if (empty($reshook)) } else { - header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition + header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // To redisplay the form being edited exit(); } } elseif ($action == 'updateline' && $user->rights->expedition->creer && GETPOST('cancel','alpha') == $langs->trans('Cancel')) { - header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition + header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // To redisplay the form being edited exit(); } From dd0f6b38290a6660b2a68b0bd1960cd882c1d110 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 11:30:14 +0100 Subject: [PATCH 072/130] =?UTF-8?q?Edition=20Ligne=20Travaux=20Suppl=C3=A9?= =?UTF-8?q?mentaires?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correction pour permettre l'édition si la ligne n'existe pas dans une précédente situation. Permet l'édition d'une ligne si elle a été ajouté dans la situation actuelle. --- htdocs/core/tpl/objectline_edit.tpl.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index d3dc9807c5a..62387001de5 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -99,7 +99,7 @@ $coldisplay=-1; // We remove first td } // Do not allow editing during a situation cycle - if (empty($this->situation_cycle_ref) || $this->situation_counter == 1) + if ($line->fk_prev_id == NULL ) { // editeur wysiwyg require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; @@ -137,7 +137,7 @@ $coldisplay=-1; // We remove first td } $coldisplay++; - if ($this->situation_counter == 1 || !$this->situation_cycle_ref) { + if ($line->fk_prev_id == NULL ) { print '<td align="right">' . $form->load_tva('tva_tx', $line->tva_tx.($line->vat_src_code?(' ('.$line->vat_src_code.')'):''), $seller, $buyer, 0, $line->info_bits, $line->product_type, false, 1) . '</td>'; } else { print '<td align="right"><input size="1" type="text" class="flat right" name="tva_tx" value="' . price($line->tva_tx) . '" readonly />%</td>'; @@ -145,7 +145,7 @@ $coldisplay=-1; // We remove first td $coldisplay++; print '<td align="right"><input type="text" class="flat right" size="5" id="price_ht" name="price_ht" value="' . (isset($line->pu_ht)?price($line->pu_ht,0,'',0):price($line->subprice,0,'',0)) . '"'; - if ($this->situation_counter > 1) print ' readonly'; + if ($line->fk_prev_id != NULL ) print ' readonly'; print '></td>'; if (!empty($conf->multicurrency->enabled) && $this->multicurrency_code != $conf->currency) { @@ -156,7 +156,7 @@ $coldisplay=-1; // We remove first td { $coldisplay++; print '<td align="right"><input type="text" class="flat right" size="5" id="price_ttc" name="price_ttc" value="'.(isset($line->pu_ttc)?price($line->pu_ttc,0,'',0):'').'"'; - if ($this->situation_counter > 1) print ' readonly'; + if ($line->fk_prev_id != NULL ) print ' readonly'; print '></td>'; } ?> @@ -167,7 +167,7 @@ $coldisplay=-1; // We remove first td // must also not be output for most entities (proposal, intervention, ...) //if($line->qty > $line->stock) print img_picto($langs->trans("StockTooLow"),"warning", 'style="vertical-align: bottom;"')." "; print '<input size="3" type="text" class="flat right" name="qty" id="qty" value="' . $line->qty . '"'; - if ($this->situation_counter > 1) print ' readonly'; + if ($line->fk_prev_id != NULL ) print ' readonly'; print '>'; } else { ?>   @@ -186,7 +186,7 @@ $coldisplay=-1; // We remove first td <td align="right" class="nowrap"><?php $coldisplay++; ?> <?php if (($line->info_bits & 2) != 2) { print '<input size="1" type="text" class="flat right" name="remise_percent" id="remise_percent" value="' . $line->remise_percent . '"'; - if ($this->situation_counter > 1) print ' readonly'; + if ($line->fk_prev_id != NULL ) print ' readonly'; print '>%'; } else { ?>   From f9b86225454e6a15f141fdec5c264fc45d0ae476 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 11:33:22 +0100 Subject: [PATCH 073/130] Prise en charge de Multicompany MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Correction pour éviter que les factures appartenant à d'autres entités n'apparaissent dans celle qui est consultée sur le moment. --- htdocs/fourn/recap-fourn.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/fourn/recap-fourn.php b/htdocs/fourn/recap-fourn.php index e680c18074e..577ffc6a99a 100644 --- a/htdocs/fourn/recap-fourn.php +++ b/htdocs/fourn/recap-fourn.php @@ -1,6 +1,7 @@ <?php /* Copyright (C) 2001-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> * Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net> + * Copyright (C) 2019 Pierre Ardoin <mapiolca@me.com> * * 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 @@ -76,6 +77,7 @@ if ($socid > 0) $sql.= " u.login, u.rowid as userid"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture_fourn as f,".MAIN_DB_PREFIX."user as u"; $sql.= " WHERE f.fk_soc = s.rowid AND s.rowid = ".$societe->id; + $sql.= " AND f.entity IN (".getEntity("facture_fourn").")"; // Reconaissance de l'entité attribuée à cette facture pour Multicompany $sql.= " AND f.fk_user_valid = u.rowid"; $sql.= " ORDER BY f.datef DESC"; From e75170137e5ded0c3bd1145c2b87ac71aac12ab1 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 11:42:44 +0100 Subject: [PATCH 074/130] =?UTF-8?q?Correction=20de=20la=20filtration=20de?= =?UTF-8?q?=20l'entit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corrige pour que la marge réalisée sur d'autres entités n'apparaisse pas sur celle sur laquelle l'utilisateur est connecté. --- htdocs/margin/tabs/productMargins.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index e6c51e2217d..3b826501614 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -147,7 +147,7 @@ if ($id > 0 || ! empty($ref)) if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE f.fk_soc = s.rowid"; $sql.= " AND f.fk_statut > 0"; - $sql.= " AND s.entity = ".$conf->entity; + $sql.= " AND f.entity IN (".getEntity('invoice').")"; $sql.= " AND d.fk_facture = f.rowid"; $sql.= " AND d.fk_product =".$object->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; From b6df02e795664a188d3f9981f49d7707b8594386 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 11:47:39 +0100 Subject: [PATCH 075/130] Correction oubli date de livraison Corrige l'oubli de la substitution de la date de livraison pour les commandes et demande de prix fournisseurs --- htdocs/core/lib/functions.lib.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 90167504f3f..792da337aac 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -5993,6 +5993,7 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob $substitutionarray['__REF__'] = $object->ref; $substitutionarray['__REFCLIENT__'] = (isset($object->ref_client) ? $object->ref_client : (isset($object->ref_customer) ? $object->ref_customer : '')); $substitutionarray['__REFSUPPLIER__'] = (isset($object->ref_supplier) ? $object->ref_supplier : ''); + $substitutionarray['__SUPPLIER_ORDER_DATE_DELIVERY__'] = (isset($object->date_livraison) ? dol_print_date($object->date_livraison, 'day', 0, $outputlangs): ''); // TODO Use this ? $msgishtml = 0; From 39b696af026dffc11362fc02ddae7436e861daa7 Mon Sep 17 00:00:00 2001 From: Regis Houssin <regis.houssin@inodbox.com> Date: Tue, 29 Jan 2019 12:01:40 +0100 Subject: [PATCH 076/130] FIX multicompany compatibility --- htdocs/comm/card.php | 2 +- htdocs/fourn/class/fournisseur.product.class.php | 3 ++- htdocs/societe/class/societe.class.php | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index 2cf3c120af6..fc2c027713a 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -387,7 +387,7 @@ if ($object->id > 0) print '<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.img_edit($langs->trans("Modify")).'</a>'; } print '</td></tr></table>'; - print '</td><td>'.($object->remise_percent?'<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.$object->remise_percent.'%</a>':'').'</td>'; + print '</td><td>'.($object->remise_percent?'<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.price2num($object->remise_percent).'%</a>':'').'</td>'; print '</tr>'; // Absolute discounts (Discounts-Drawbacks-Rebates) diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index 5c50597195a..781eaa3cd1e 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -653,11 +653,12 @@ class ProductFournisseur extends Product $sql.= " ,pfp.multicurrency_price, pfp.multicurrency_unitprice, pfp.multicurrency_tx, pfp.fk_multicurrency, pfp.multicurrency_code"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= " WHERE s.entity IN (".getEntity('societe').")"; + $sql.= " AND pfp.entity = ".$conf->entity; // only current entity $sql.= " AND pfp.fk_product = ".$prodid; $sql.= " AND pfp.fk_soc = s.rowid"; $sql.= " AND s.status = 1"; // only enabled society if ($qty > 0) $sql.= " AND pfp.quantity <= ".$qty; - if ($socid > 0) $sql.= ' AND pfp.fk_soc = '.$socid; + if ($socid > 0) $sql.= ' AND pfp.fk_soc = '.$socid; dol_syslog(get_class($this)."::find_min_price_product_fournisseur", LOG_DEBUG); diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index fcdf4e9741a..1b86c04bbc8 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1162,7 +1162,7 @@ class Societe extends CommonObject $sql .= ', s.fk_forme_juridique as forme_juridique_code'; $sql .= ', s.webservices_url, s.webservices_key'; $sql .= ', s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur, s.parent, s.barcode'; - $sql .= ', s.fk_departement, s.fk_pays as country_id, s.fk_stcomm, s.remise_client, s.remise_supplier, s.mode_reglement, s.cond_reglement, s.fk_account, s.tva_assuj'; + $sql .= ', s.fk_departement, s.fk_pays as country_id, s.fk_stcomm, s.remise_supplier, s.mode_reglement, s.cond_reglement, s.fk_account, s.tva_assuj'; $sql .= ', s.mode_reglement_supplier, s.cond_reglement_supplier, s.localtax1_assuj, s.localtax1_value, s.localtax2_assuj, s.localtax2_value, s.fk_prospectlevel, s.default_lang, s.logo'; $sql .= ', s.fk_shipping_method'; $sql .= ', s.outstanding_limit, s.import_key, s.canvas, s.fk_incoterms, s.location_incoterms'; @@ -1175,6 +1175,7 @@ class Societe extends CommonObject $sql .= ', st.libelle as stcomm'; $sql .= ', te.code as typent_code'; $sql .= ', i.libelle as libelle_incoterms'; + $sql .= ', sr.remise_client'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe as s'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_effectif as e ON s.fk_effectif = e.id'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c ON s.fk_pays = c.rowid'; @@ -1183,6 +1184,7 @@ class Societe extends CommonObject $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_departements as d ON s.fk_departement = d.rowid'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_typent as te ON s.fk_typent = te.id'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON s.fk_incoterms = i.rowid'; + $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_remise as sr ON sr.fk_soc = s.rowid AND sr.rowid = (SELECT MAX(rowid) FROM '.MAIN_DB_PREFIX.'societe_remise WHERE entity = '.$conf->entity.')'; $sql .= ' WHERE s.entity IN ('.getEntity($this->element).')'; if ($rowid) $sql .= ' AND s.rowid = '.$rowid; From 9539bea68ad112ad1c717e44aef843a618cb7a13 Mon Sep 17 00:00:00 2001 From: Regis Houssin <regis.houssin@inodbox.com> Date: Tue, 29 Jan 2019 12:17:51 +0100 Subject: [PATCH 077/130] FIX bad sql request --- htdocs/societe/class/societe.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 1b86c04bbc8..e4f5a32783c 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1184,7 +1184,7 @@ class Societe extends CommonObject $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_departements as d ON s.fk_departement = d.rowid'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_typent as te ON s.fk_typent = te.id'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON s.fk_incoterms = i.rowid'; - $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_remise as sr ON sr.fk_soc = s.rowid AND sr.rowid = (SELECT MAX(rowid) FROM '.MAIN_DB_PREFIX.'societe_remise WHERE entity = '.$conf->entity.')'; + $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'societe_remise as sr ON sr.rowid = (SELECT MAX(rowid) FROM '.MAIN_DB_PREFIX.'societe_remise WHERE fk_soc = s.rowid AND entity = '.$conf->entity.')'; $sql .= ' WHERE s.entity IN ('.getEntity($this->element).')'; if ($rowid) $sql .= ' AND s.rowid = '.$rowid; From 835d22254383b73a84622cd35c3b7b2bd20d6667 Mon Sep 17 00:00:00 2001 From: ptibogxiv <support@ptibogxiv.net> Date: Tue, 29 Jan 2019 14:10:08 +0100 Subject: [PATCH 078/130] ADD: list of stripe's payout --- htdocs/stripe/payout.php | 231 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 htdocs/stripe/payout.php diff --git a/htdocs/stripe/payout.php b/htdocs/stripe/payout.php new file mode 100644 index 00000000000..e80b818ece3 --- /dev/null +++ b/htdocs/stripe/payout.php @@ -0,0 +1,231 @@ +<?php +/* Copyright (C) 2018 Thibault FOUCART <support@ptibogxiv.net> + * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> + * + * 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 + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Put here all includes required by your class file + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; +require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; +require_once DOL_DOCUMENT_ROOT.'/stripe/class/stripe.class.php'; +//require_once DOL_DOCUMENT_ROOT.'/core/lib/stripe.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; +require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; +if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/accountancy/class/accountingjournal.class.php'; + +// Load translation files required by the page +$langs->loadLangs(array('compta', 'salaries', 'bills', 'hrm', 'stripe')); + +// Security check +$socid = GETPOST("socid","int"); +if ($user->societe_id) $socid=$user->societe_id; +//$result = restrictedArea($user, 'salaries', '', '', ''); + +$limit = GETPOST('limit','int')?GETPOST('limit','int'):$conf->liste_limit; +$rowid = GETPOST("rowid",'alpha'); +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + + + +/* + * View + */ + +$form = new Form($db); +$societestatic = new Societe($db); +$memberstatic = new Adherent($db); +$acc = new Account($db); +$stripe = new Stripe($db); + +llxHeader('', $langs->trans("StripePayoutList")); + +if (! empty($conf->stripe->enabled) && (empty($conf->global->STRIPE_LIVE) || GETPOST('forcesandbox','alpha'))) +{ + $service = 'StripeTest'; + $servicestatus = '0'; + dol_htmloutput_mesg($langs->trans('YouAreCurrentlyInSandboxMode', 'Stripe'), '', 'warning'); +} +else +{ + $service = 'StripeLive'; + $servicestatus = '1'; +} + +$stripeacc = $stripe->getStripeAccount($service); +/*if (empty($stripeaccount)) +{ + print $langs->trans('ErrorStripeAccountNotDefined'); +}*/ + +if (! $rowid) { + + print '<form method="POST" action="' . $_SERVER["PHP_SELF"] . '">'; + if ($optioncss != '') + print '<input type="hidden" name="optioncss" value="' . $optioncss . '">'; + print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">'; + print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">'; + print '<input type="hidden" name="action" value="list">'; + print '<input type="hidden" name="sortfield" value="' . $sortfield . '">'; + print '<input type="hidden" name="sortorder" value="' . $sortorder . '">'; + print '<input type="hidden" name="page" value="' . $page . '">'; + + $title=$langs->trans("StripePayoutList"); + $title.=($stripeaccount?' (Stripe connection with Stripe OAuth Connect account '.$stripeacc.')':' (Stripe connection with keys from Stripe module setup)'); + + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $totalnboflines, 'title_accountancy.png', 0, '', '', $limit); + + print '<div class="div-table-responsive">'; + print '<table class="tagtable liste' . ($moreforfilter ? " listwithfilterbefore" : "") . '">' . "\n"; + + print '<tr class="liste_titre">'; + print_liste_field_titre("Ref", $_SERVER["PHP_SELF"], "", "", "", "", $sortfield, $sortorder); + //print_liste_field_titre("StripeCustomerId",$_SERVER["PHP_SELF"],"","","","",$sortfield,$sortorder); + //print_liste_field_titre("CustomerId", $_SERVER["PHP_SELF"], "", "", "", "", $sortfield, $sortorder); + //print_liste_field_titre("Origin", $_SERVER["PHP_SELF"], "", "", "", "", $sortfield, $sortorder); + print_liste_field_titre("DatePayment", $_SERVER["PHP_SELF"], "", "", "", 'align="center"', $sortfield, $sortorder); + print_liste_field_titre("DateOperation", $_SERVER["PHP_SELF"], "", "", "", 'align="center"', $sortfield, $sortorder); + print_liste_field_titre("Description", $_SERVER["PHP_SELF"], "", "", "", 'align="left"', $sortfield, $sortorder); + print_liste_field_titre("Paid", $_SERVER["PHP_SELF"], "", "", "", 'align="right"', $sortfield, $sortorder); + print_liste_field_titre("Fee", $_SERVER["PHP_SELF"], "", "", "", 'align="right"', $sortfield, $sortorder); + print_liste_field_titre("Status", $_SERVER["PHP_SELF"], "", "", "", 'align="right"'); + print "</tr>\n"; + + print "</tr>\n"; + + if ($stripeacc) + { + $payout = \Stripe\Payout::all(array("limit" => $limit), array("stripe_account" => $stripeacc)); + } + else + { + $payout = \Stripe\Payout::all(array("limit" => $limit)); + } + + foreach ($payout->data as $payout) + { + //$charge = $payout; + //var_dump($payout); + + // The metadata FULLTAG is defined by the online payment page + /*$FULLTAG=$charge->metadata->FULLTAG; + + // Save into $tmparray all metadata + $tmparray = dolExplodeIntoArray($FULLTAG,'.','='); + // Load origin object according to metadata + if (! empty($tmparray['CUS'])) + { + $societestatic->fetch($tmparray['CUS']); + } + else + { + $societestatic->id = 0; + } + if (! empty($tmparray['MEM'])) + { + $memberstatic->fetch($tmparray['MEM']); + } + else + { + $memberstatic->id = 0; + }*/ + + $societestatic->fetch($charge->metadata->idcustomer); + $societestatic->id = $charge->metadata->idcustomer; + $societestatic->lastname = $obj->lastname; + $societestatic->firstname = $obj->firstname; + $societestatic->admin = $obj->admin; + $societestatic->login = $obj->login; + $societestatic->email = $obj->email; + $societestatic->societe_id = $obj->fk_soc; + + print '<tr class="oddeven">'; + + // Ref + if (!empty($stripeacc)) $connect=$stripeacc.'/'; + + $url='https://dashboard.stripe.com/'.$connect.'test/payouts/'.$payout->id; + if ($servicestatus) { + $url='https://dashboard.stripe.com/'.$connect.'/payouts/'.$payout->id; + } + + print "<td><a href='".$url."' target='_stripe'>".img_picto($langs->trans('ShowInStripe'), 'object_globe')." " . $payout->id . "</a></td>\n"; + + + // Stripe customer + //print "<td>".$charge->customer."</td>\n"; + // Link + /*print "<td>"; + if ($societestatic->id > 0) + { + print $societestatic->getNomUrl(1); + } + if ($memberstatic->id > 0) + { + print $memberstatic->getNomUrl(1); + } + print "</td>\n";*/ + // Origine + //print "<td>"; + ////if ($charge->metadata->dol_type=="order"){ + // $object = new Commande($db); + // $object->fetch($charge->metadata->dol_id); + // print "<a href='".DOL_URL_ROOT."/commande/card.php?id=".$charge->metadata->dol_id."'>".img_picto('', 'object_order')." ".$object->ref."</a>"; + //} elseif ($charge->metadata->dol_type=="invoice"){ + // $object = new Facture($db); + // $object->fetch($charge->metadata->dol_id); + // print "<a href='".DOL_URL_ROOT."/compta/facture/card.php?facid=".$charge->metadata->dol_id."'>".img_picto('', 'object_invoice')." ".$object->ref."</a>"; + //} + //print "</td>\n"; + // Date payment + print '<td align="center">' . dol_print_date($payout->created, '%d/%m/%Y %H:%M') . "</td>\n"; + // Date payment + print '<td align="center">' . dol_print_date($payout->arrival_date, '%d/%m/%Y %H:%M') . "</td>\n"; + // Type + print '<td>' . $payout->description . '</td>'; + // Amount + print "<td align=\"right\">" . price(($payout->amount) / 100, 0, '', 1, - 1, - 1, strtoupper($payout->currency)) . "</td>"; + print "<td align=\"right\">" . price(($payout->fee) / 100, 0, '', 1, - 1, - 1, strtoupper($payout->currency)) . "</td>"; + // Status + print "<td align='right'>"; + if ($payout->status=='paid') + {print img_picto($langs->trans("".$payout->status.""),'statut4');} + elseif ($payout->status=='pending') + {print img_picto($langs->trans("".$payout->status.""),'statut7');} + elseif ($payout->status=='in_transit') + {print img_picto($langs->trans("".$payout->status.""),'statut7');} + elseif ($payout->status=='failed') + {print img_picto($langs->trans("".$payout->status.""),'statut7');} + elseif ($payout->status=='canceled') + {print img_picto($langs->trans("".$payout->status.""),'statut8');} + print '</td>'; + print "</tr>\n"; + } + print "</table>"; + print '</div>'; + print '</form>'; +} + +// End of page +llxFooter(); +$db->close(); From a3b648824ab58bbdae1619f142c1308c4aee948f Mon Sep 17 00:00:00 2001 From: ptibogxiv <support@ptibogxiv.net> Date: Tue, 29 Jan 2019 14:12:35 +0100 Subject: [PATCH 079/130] ADD payout link --- htdocs/core/modules/modStripe.class.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/htdocs/core/modules/modStripe.class.php b/htdocs/core/modules/modStripe.class.php index 9a1584da477..039f4a68fca 100644 --- a/htdocs/core/modules/modStripe.class.php +++ b/htdocs/core/modules/modStripe.class.php @@ -150,6 +150,18 @@ class modStripe extends DolibarrModules 'target' => '', 'user' => 0 ); + $this->menu[$r] = array( + 'fk_menu' => 'fk_mainmenu=bank,fk_leftmenu=stripe', + 'type' => 'left', + 'titre' => 'StripePayoutList', + 'url' => '/stripe/payout.php', + 'langs' => 'stripe', + 'position' => 103, + 'enabled' => '$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1', + 'perms' => '$user->rights->banque->lire', + 'target' => '', + 'user' => 0 + ); // Exports $r=1; From 85b402ab5753d503d4b34ad36e3e6e54bf309f03 Mon Sep 17 00:00:00 2001 From: ptibogxiv <support@ptibogxiv.net> Date: Tue, 29 Jan 2019 14:14:42 +0100 Subject: [PATCH 080/130] Update payout.php --- htdocs/stripe/payout.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/htdocs/stripe/payout.php b/htdocs/stripe/payout.php index e80b818ece3..db2d2f4f7d7 100644 --- a/htdocs/stripe/payout.php +++ b/htdocs/stripe/payout.php @@ -1,6 +1,5 @@ <?php -/* Copyright (C) 2018 Thibault FOUCART <support@ptibogxiv.net> - * Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> +/* Copyright (C) 2018-2019 Thibault FOUCART <support@ptibogxiv.net> * * 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 From 5ea1cf077502d05f7f89fd20a24113579a8726f5 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 14:25:34 +0100 Subject: [PATCH 081/130] Update objectline_edit.tpl.php --- htdocs/core/tpl/objectline_edit.tpl.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index 62387001de5..00fc4f8e885 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -99,7 +99,7 @@ $coldisplay=-1; // We remove first td } // Do not allow editing during a situation cycle - if ($line->fk_prev_id == NULL ) + if ($line->fk_prev_id == null ) { // editeur wysiwyg require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; @@ -137,7 +137,7 @@ $coldisplay=-1; // We remove first td } $coldisplay++; - if ($line->fk_prev_id == NULL ) { + if ($line->fk_prev_id == null ) { print '<td align="right">' . $form->load_tva('tva_tx', $line->tva_tx.($line->vat_src_code?(' ('.$line->vat_src_code.')'):''), $seller, $buyer, 0, $line->info_bits, $line->product_type, false, 1) . '</td>'; } else { print '<td align="right"><input size="1" type="text" class="flat right" name="tva_tx" value="' . price($line->tva_tx) . '" readonly />%</td>'; @@ -145,7 +145,7 @@ $coldisplay=-1; // We remove first td $coldisplay++; print '<td align="right"><input type="text" class="flat right" size="5" id="price_ht" name="price_ht" value="' . (isset($line->pu_ht)?price($line->pu_ht,0,'',0):price($line->subprice,0,'',0)) . '"'; - if ($line->fk_prev_id != NULL ) print ' readonly'; + if ($line->fk_prev_id != null ) print ' readonly'; print '></td>'; if (!empty($conf->multicurrency->enabled) && $this->multicurrency_code != $conf->currency) { @@ -156,7 +156,7 @@ $coldisplay=-1; // We remove first td { $coldisplay++; print '<td align="right"><input type="text" class="flat right" size="5" id="price_ttc" name="price_ttc" value="'.(isset($line->pu_ttc)?price($line->pu_ttc,0,'',0):'').'"'; - if ($line->fk_prev_id != NULL ) print ' readonly'; + if ($line->fk_prev_id != null ) print ' readonly'; print '></td>'; } ?> @@ -167,7 +167,7 @@ $coldisplay=-1; // We remove first td // must also not be output for most entities (proposal, intervention, ...) //if($line->qty > $line->stock) print img_picto($langs->trans("StockTooLow"),"warning", 'style="vertical-align: bottom;"')." "; print '<input size="3" type="text" class="flat right" name="qty" id="qty" value="' . $line->qty . '"'; - if ($line->fk_prev_id != NULL ) print ' readonly'; + if ($line->fk_prev_id != null ) print ' readonly'; print '>'; } else { ?>   @@ -186,7 +186,7 @@ $coldisplay=-1; // We remove first td <td align="right" class="nowrap"><?php $coldisplay++; ?> <?php if (($line->info_bits & 2) != 2) { print '<input size="1" type="text" class="flat right" name="remise_percent" id="remise_percent" value="' . $line->remise_percent . '"'; - if ($line->fk_prev_id != NULL ) print ' readonly'; + if ($line->fk_prev_id != null ) print ' readonly'; print '>%'; } else { ?>   From 80cfe86508535e74b407fa118de6def4c69f8343 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 14:26:14 +0100 Subject: [PATCH 082/130] Update objectline_view.tpl.php --- htdocs/core/tpl/objectline_view.tpl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index ac2de384ddc..e8ede7c59e7 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -283,7 +283,7 @@ $domData .= ' data-product_type="'.$line->product_type.'"'; <td class="linecoldelete" align="center"><?php $coldisplay++; ?> <?php - if (($line->fk_prev_id == NULL ) && empty($disableremove)) { //La suppression n'est autorisée que si il n'y a pas de ligne dans une précédente situation + if (($line->fk_prev_id == null ) && empty($disableremove)) { //La suppression n'est autorisée que si il n'y a pas de ligne dans une précédente situation print '<a href="' . $_SERVER["PHP_SELF"] . '?id=' . $this->id . '&action=ask_deleteline&lineid=' . $line->id . '">'; print img_delete(); print '</a>'; From c6755b3cf1196c812f6095ef0dafa943f61eae47 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 15:59:41 +0100 Subject: [PATCH 083/130] Fix formatting of number in quantity field --- htdocs/core/tpl/objectline_view.tpl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index 313a4ee4def..603412daf15 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -209,7 +209,7 @@ $domData .= ' data-product_type="'.$line->product_type.'"'; // for example always visible on invoice but must be visible only if stock module on and stock decrease option is on invoice validation and status is not validated // must also not be output for most entities (proposal, intervention, ...) //if($line->qty > $line->stock) print img_picto($langs->trans("StockTooLow"),"warning", 'style="vertical-align: bottom;"')." "; - echo $line->qty; + echo price($line->qty, 0, '', 0, 0); // Yes, it is a quantity, not a price, but we just want the formating role of function price } else echo ' '; ?> </td> From f4ecf843eeb33ef84f139aab8b4ef885087ceec4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 18:30:12 +0100 Subject: [PATCH 084/130] FIX Exclude not required field from log --- htdocs/blockedlog/class/blockedlog.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/blockedlog/class/blockedlog.class.php b/htdocs/blockedlog/class/blockedlog.class.php index 2b4198eb08e..0d24b71b343 100644 --- a/htdocs/blockedlog/class/blockedlog.class.php +++ b/htdocs/blockedlog/class/blockedlog.class.php @@ -385,7 +385,7 @@ class BlockedLog $this->object_data=new stdClass(); // Add fields to exclude $arrayoffieldstoexclude = array( - 'table_element','fields','ref_previous','ref_next','origin','origin_id','oldcopy','picto','error','errors','modelpdf','civility_id','contact','contact_id', + 'table_element','fields','ref_previous','ref_next','origin','origin_id','oldcopy','picto','error','errors','modelpdf','last_main_doc','civility_id','contact','contact_id', 'table_element_line','ismultientitymanaged','isextrafieldmanaged', 'linkedObjectsIds','linkedObjects','fk_delivery_address', 'context', From 9ef93bcecac1fea04d72cc9961457cb79abe5d11 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 18:40:47 +0100 Subject: [PATCH 085/130] FIX last_main_doc var not saved --- htdocs/core/class/commonobject.class.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 649b9d317b7..1eed6c82a11 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -310,6 +310,12 @@ abstract class CommonObject */ public $modelpdf; + /** + * @var string + * Contains relative path of last generated main file + */ + public $last_main_doc; + /** * @var int Bank account ID * @see SetBankAccount() @@ -4667,10 +4673,15 @@ abstract class CommonObject if (! empty($obj->update_main_doc_field)) $update_main_doc_field=1; if ($update_main_doc_field && ! empty($this->table_element)) { - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element." SET last_main_doc = '".($ecmfile->filepath.'/'.$ecmfile->filename)."'"; + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element." SET last_main_doc = '".$this->db->escape($ecmfile->filepath.'/'.$ecmfile->filename)."'"; $sql.= ' WHERE rowid = '.$this->id; + $resql = $this->db->query($sql); if (! $resql) dol_print_error($this->db); + else + { + $this->last_main_doc = $ecmfile->filepath.'/'.$ecmfile->filename; + } } } } @@ -4900,7 +4911,7 @@ abstract class CommonObject //var_dump('key '.$key.' '.$value.' type='.$extrafields->attributes[$this->table_element]['type'][$key].' '.$this->array_options["options_".$key]); } } - + // If field is a computed field, value must become result of compute foreach ($tab as $key => $value) { if (! empty($extrafields) && !empty($extrafields->attributes[$this->table_element]['computed'][$key])) From 3215870ae6fdcc57baef86fe7b84adca707f92ce Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 18:30:12 +0100 Subject: [PATCH 086/130] FIX Exclude not required field from log --- htdocs/blockedlog/class/blockedlog.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/blockedlog/class/blockedlog.class.php b/htdocs/blockedlog/class/blockedlog.class.php index b64524569c6..b723d6d19f8 100644 --- a/htdocs/blockedlog/class/blockedlog.class.php +++ b/htdocs/blockedlog/class/blockedlog.class.php @@ -385,7 +385,7 @@ class BlockedLog $this->object_data=new stdClass(); // Add fields to exclude $arrayoffieldstoexclude = array( - 'table_element','fields','ref_previous','ref_next','origin','origin_id','oldcopy','picto','error','errors','modelpdf','civility_id','contact','contact_id', + 'table_element','fields','ref_previous','ref_next','origin','origin_id','oldcopy','picto','error','errors','modelpdf','last_main_doc','civility_id','contact','contact_id', 'table_element_line','ismultientitymanaged','isextrafieldmanaged', 'linkedObjectsIds','linkedObjects','fk_delivery_address', 'context', From 3d218cadb77a4aaed3b18459293344afb15eed9c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Tue, 29 Jan 2019 18:40:47 +0100 Subject: [PATCH 087/130] FIX last_main_doc var not saved Conflicts: htdocs/core/class/commonobject.class.php --- htdocs/core/class/commonobject.class.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index bc414ed722c..09df72c6543 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -311,6 +311,12 @@ abstract class CommonObject */ public $modelpdf; + /** + * @var string + * Contains relative path of last generated main file + */ + public $last_main_doc; + /** * @var int Bank account ID * @see SetBankAccount() @@ -4611,10 +4617,15 @@ abstract class CommonObject if (! empty($obj->update_main_doc_field)) $update_main_doc_field=1; if ($update_main_doc_field && ! empty($this->table_element)) { - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element." SET last_main_doc = '".($ecmfile->filepath.'/'.$ecmfile->filename)."'"; + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element." SET last_main_doc = '".$this->db->escape($ecmfile->filepath.'/'.$ecmfile->filename)."'"; $sql.= ' WHERE rowid = '.$this->id; + $resql = $this->db->query($sql); if (! $resql) dol_print_error($this->db); + else + { + $this->last_main_doc = $ecmfile->filepath.'/'.$ecmfile->filename; + } } } } From 99892c13b0eda7b26747701f14567e9ae0c79e72 Mon Sep 17 00:00:00 2001 From: Pierre Ardoin <32256817+mapiolca@users.noreply.github.com> Date: Tue, 29 Jan 2019 23:26:08 +0100 Subject: [PATCH 088/130] FIX : Erreur dans le Total Corrige l'erreur de calcul dans le total des produits et services --- htdocs/product/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 9f11813fdee..bfd6f6ad18f 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -184,7 +184,7 @@ else if ($type == '1') else { print $statProducts.$statServices; - $total=round($prodser[1][0])+round($prodser[1][1])+round($prodser[1][2])+round($prodser[0][0])+round($prodser[0][1])+round($prodser[0][2]); + $total=round($prodser[0][0])+round($prodser[0][1])+round($prodser[0][2])+round($prodser[0][3])+round($prodser[1][0])+round($prodser[1][1])+round($prodser[1][2])+round($prodser[1][3]); //Calcul du Total des Produits et Services } print '<tr class="liste_total"><td>'.$langs->trans("Total").'</td><td align="right">'; print $total; From bb6159784aa3826db99aab8bc3cc1c5705de2a8e Mon Sep 17 00:00:00 2001 From: Philippe GRAND <philippe.grand@atoo-net.com> Date: Wed, 30 Jan 2019 08:42:31 +0100 Subject: [PATCH 089/130] update with html5 compliant code --- htdocs/accountancy/admin/account.php | 2 +- htdocs/accountancy/admin/accountmodel.php | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/htdocs/accountancy/admin/account.php b/htdocs/accountancy/admin/account.php index 45ecb5cd6e6..067ba21af70 100644 --- a/htdocs/accountancy/admin/account.php +++ b/htdocs/accountancy/admin/account.php @@ -298,7 +298,7 @@ if ($resql) if (! empty($arrayfields['aa.pcg_type']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" size="6" name="search_pcgtype" value="' . $search_pcgtype . '"></td>'; if (! empty($arrayfields['aa.pcg_subtype']['checked'])) print '<td class="liste_titre"><input type="text" class="flat" size="6" name="search_pcgsubtype" value="' . $search_pcgsubtype . '"></td>'; if (! empty($arrayfields['aa.active']['checked'])) print '<td class="liste_titre"> </td>'; - print '<td align="right" class="liste_titre">'; + print '<td class="liste_titre right">'; $searchpicto=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1); print $searchpicto; print '</td>'; diff --git a/htdocs/accountancy/admin/accountmodel.php b/htdocs/accountancy/admin/accountmodel.php index 0d1d5625958..822c7ea789b 100644 --- a/htdocs/accountancy/admin/accountmodel.php +++ b/htdocs/accountancy/admin/accountmodel.php @@ -517,7 +517,7 @@ if ($id) // dans les dictionnaires de donnees $valuetoshow=ucfirst($fieldlist[$field]); // Par defaut $valuetoshow=$langs->trans($valuetoshow); // try to translate - $align="left"; + $class="left"; if ($fieldlist[$field]=='code') { $valuetoshow=$langs->trans("Code"); } if ($fieldlist[$field]=='libelle' || $fieldlist[$field]=='label') { @@ -573,7 +573,7 @@ if ($id) fieldListAccountModel($fieldlist,$obj,$tabname[$id],'add'); } - print '<td colspan="3" align="right">'; + print '<td colspan="3" class="right">'; print '<input type="submit" class="button" name="actionadd" value="'.$langs->trans("Add").'">'; print '</td>'; print "</tr>"; @@ -606,7 +606,7 @@ if ($id) // There is several pages if ($num > $listlimit) { - print '<tr class="none"><td align="right" colspan="'.(3+count($fieldlist)).'">'; + print '<tr class="none"><td class="right" colspan="'.(3+count($fieldlist)).'">'; print_fleche_navigation($page, $_SERVER["PHP_SELF"], $paramwithsearch, ($num > $listlimit), '<li class="pagination"><span>'.$langs->trans("Page").' '.($page+1).'</span></li>'); print '</td></tr>'; } @@ -634,7 +634,7 @@ if ($id) } } print '<td class="liste_titre"></td>'; - print '<td class="liste_titre" colspan="2" align="right">'; + print '<td class="liste_titre right" colspan="2">'; $searchpicto=$form->showFilterAndCheckAddButtons(0); print $searchpicto; print '</td>'; @@ -647,7 +647,7 @@ if ($id) // Determine le nom du champ par rapport aux noms possibles // dans les dictionnaires de donnees $showfield=1; // By defaut - $align="left"; + $class="left"; $sortable=1; $valuetoshow=''; /* @@ -702,7 +702,7 @@ if ($id) if (empty($reshook)) fieldListAccountModel($fieldlist,$obj,$tabname[$id],'edit'); - print '<td colspan="3" align="right"><a name="'.(! empty($obj->rowid)?$obj->rowid:$obj->code).'"> </a><input type="submit" class="button" name="actionmodify" value="'.$langs->trans("Modify").'">'; + print '<td colspan="3" class="right"><a name="'.(! empty($obj->rowid)?$obj->rowid:$obj->code).'"> </a><input type="submit" class="button" name="actionmodify" value="'.$langs->trans("Modify").'">'; print ' <input type="submit" class="button" name="actioncancel" value="'.$langs->trans("Cancel").'"></td>'; } else @@ -719,7 +719,7 @@ if ($id) { $showfield=1; - $align="left"; + $class="left"; $valuetoshow=$obj->{$fieldlist[$field]}; if ($value == 'type_template') { From cf27065ed1a53f9e880fdc1917dceba82b33384c Mon Sep 17 00:00:00 2001 From: Philippe GRAND <philippe.grand@atoo-net.com> Date: Wed, 30 Jan 2019 09:24:22 +0100 Subject: [PATCH 090/130] update with html5 compliant code --- htdocs/accountancy/admin/categories_list.php | 10 +++++----- htdocs/accountancy/admin/journals_list.php | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/htdocs/accountancy/admin/categories_list.php b/htdocs/accountancy/admin/categories_list.php index ebd8011469e..b268f83381e 100644 --- a/htdocs/accountancy/admin/categories_list.php +++ b/htdocs/accountancy/admin/categories_list.php @@ -467,7 +467,7 @@ if ($id) // dans les dictionnaires de donnees $valuetoshow=ucfirst($fieldlist[$field]); // Par defaut $valuetoshow=$langs->trans($valuetoshow); // try to translate - $align="left"; + $class="left"; if ($fieldlist[$field]=='type') { if ($tabname[$id] == MAIN_DB_PREFIX."c_paiement") $valuetoshow=$form->textwithtooltip($langs->trans("Type"),$langs->trans("TypePaymentDesc"),2,1,img_help(1,'')); else $valuetoshow=$langs->trans("Type"); @@ -531,7 +531,7 @@ if ($id) fieldListAccountingCategories($fieldlist,$obj,$tabname[$id],'add'); } - print '<td colspan="4" align="right">'; + print '<td colspan="4" class="right">'; print '<input type="submit" class="button" name="actionadd" value="'.$langs->trans("Add").'">'; print '</td>'; print "</tr>"; @@ -559,7 +559,7 @@ if ($id) // There is several pages if ($num > $listlimit) { - print '<tr class="none"><td align="right" colspan="'.(3+count($fieldlist)).'">'; + print '<tr class="none"><td class="right" colspan="'.(3+count($fieldlist)).'">'; print_fleche_navigation($page, $_SERVER["PHP_SELF"], $paramwithsearch, ($num > $listlimit), '<li class="pagination"><span>'.$langs->trans("Page").' '.($page+1).'</span></li>'); print '</td></tr>'; } @@ -607,7 +607,7 @@ if ($id) // Determine le nom du champ par rapport aux noms possibles // dans les dictionnaires de donnees $showfield=1; // By defaut - $align="left"; + $class="left"; $sortable=1; $valuetoshow=''; @@ -693,7 +693,7 @@ if ($id) { $showfield=1; - $align="left"; + $class="left"; $valuetoshow=$obj->{$fieldlist[$field]}; if ($value == 'category_type') { diff --git a/htdocs/accountancy/admin/journals_list.php b/htdocs/accountancy/admin/journals_list.php index f26aba437e5..706d7bfddd2 100644 --- a/htdocs/accountancy/admin/journals_list.php +++ b/htdocs/accountancy/admin/journals_list.php @@ -429,7 +429,7 @@ if ($id) // dans les dictionnaires de donnees $valuetoshow=ucfirst($fieldlist[$field]); // Par defaut $valuetoshow=$langs->trans($valuetoshow); // try to translate - $align="left"; + $class="left"; if ($fieldlist[$field]=='code') { $valuetoshow=$langs->trans("Code"); } if ($fieldlist[$field]=='libelle' || $fieldlist[$field]=='label') { @@ -480,7 +480,7 @@ if ($id) fieldListJournal($fieldlist,$obj,$tabname[$id],'add'); } - print '<td colspan="4" align="right">'; + print '<td colspan="4" class="right">'; print '<input type="submit" class="button" name="actionadd" value="'.$langs->trans("Add").'">'; print '</td>'; print "</tr>"; @@ -508,7 +508,7 @@ if ($id) // There is several pages if ($num > $listlimit) { - print '<tr class="none"><td align="right" colspan="'.(3+count($fieldlist)).'">'; + print '<tr class="none"><td class="right" colspan="'.(3+count($fieldlist)).'">'; print_fleche_navigation($page, $_SERVER["PHP_SELF"], $paramwithsearch, ($num > $listlimit), '<li class="pagination"><span>'.$langs->trans("Page").' '.($page+1).'</span></li>'); print '</td></tr>'; } @@ -537,7 +537,7 @@ if ($id) // Determine le nom du champ par rapport aux noms possibles // dans les dictionnaires de donnees $showfield=1; // By defaut - $align="left"; + $class="left"; $sortable=1; $valuetoshow=''; /* @@ -606,7 +606,7 @@ if ($id) { $showfield=1; - $align="left"; + $class="left"; $valuetoshow=$obj->{$fieldlist[$field]}; if ($valuetoshow=='all') { $valuetoshow=$langs->trans('All'); From cda89c65cd1afb7f5b9a10491f80657fd1c1ada4 Mon Sep 17 00:00:00 2001 From: Philippe GRAND <philippe.grand@atoo-net.com> Date: Wed, 30 Jan 2019 09:30:55 +0100 Subject: [PATCH 091/130] update with html5 compliant code --- htdocs/accountancy/bookkeeping/balance.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/accountancy/bookkeeping/balance.php b/htdocs/accountancy/bookkeeping/balance.php index 6a323121a6e..df593d3e274 100644 --- a/htdocs/accountancy/bookkeeping/balance.php +++ b/htdocs/accountancy/bookkeeping/balance.php @@ -235,7 +235,7 @@ if ($action != 'export_csv') print $langs->trans('to'); print $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, ''); print '</td>'; - print '<td align="right" class="liste_titre">'; + print '<td class="liste_titre right">'; $searchpicto=$form->showFilterAndCheckAddButtons(0); print $searchpicto; print '</td>'; @@ -245,9 +245,9 @@ if ($action != 'export_csv') print '<tr class="liste_titre">'; print_liste_field_titre("AccountAccounting", $_SERVER['PHP_SELF'], "t.numero_compte", "", $param, "", $sortfield, $sortorder); print_liste_field_titre("Label", $_SERVER['PHP_SELF'], "t.label_operation", "", $param, "", $sortfield, $sortorder); - print_liste_field_titre("Debit", $_SERVER['PHP_SELF'], "t.debit", "", $param, 'align="right"', $sortfield, $sortorder); - print_liste_field_titre("Credit", $_SERVER['PHP_SELF'], "t.credit", "", $param, 'align="right"', $sortfield, $sortorder); - print_liste_field_titre("Balance", $_SERVER["PHP_SELF"], "", $param, "", 'align="right"', $sortfield, $sortorder); + print_liste_field_titre("Debit", $_SERVER['PHP_SELF'], "t.debit", "", $param, 'class="right"', $sortfield, $sortorder); + print_liste_field_titre("Credit", $_SERVER['PHP_SELF'], "t.credit", "", $param, 'class="right"', $sortfield, $sortorder); + print_liste_field_titre("Balance", $_SERVER["PHP_SELF"], "", $param, "", 'class="right"', $sortfield, $sortorder); print_liste_field_titre('', $_SERVER["PHP_SELF"], "", $param, "", 'width="60" align="center"', $sortfield, $sortorder); print "</tr>\n"; @@ -274,7 +274,7 @@ if ($action != 'export_csv') { // Affiche un Sous-Total par compte comptable if ($displayed_account != "") { - print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("SubTotal") . ':</td><td class="nowrap" align="right">' . price($sous_total_debit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit) . '</td><td class="nowrap" align="right">' . price(price2num($sous_total_credit - $sous_total_debit)) . '</td>'; + print '<tr class="liste_total"><td class="right" colspan="2">' . $langs->trans("SubTotal") . ':</td><td class="nowrap right">' . price($sous_total_debit) . '</td><td class="nowrap right">' . price($sous_total_credit) . '</td><td class="nowrap right">' . price(price2num($sous_total_credit - $sous_total_debit)) . '</td>'; print "<td> </td>\n"; print '</tr>'; } @@ -305,11 +305,11 @@ if ($action != 'export_csv') $sous_total_credit += $line->credit; } - print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("SubTotal") . ':</td><td class="nowrap" align="right">' . price($sous_total_debit) . '</td><td class="nowrap" align="right">' . price($sous_total_credit) . '</td><td class="nowrap" align="right">' . price(price2num($sous_total_credit - $sous_total_debit)) . '</td>'; + print '<tr class="liste_total"><td class="right" colspan="2">' . $langs->trans("SubTotal") . ':</td><td class="nowrap right">' . price($sous_total_debit) . '</td><td class="nowrap right">' . price($sous_total_credit) . '</td><td class="nowrap right">' . price(price2num($sous_total_credit - $sous_total_debit)) . '</td>'; print "<td> </td>\n"; print '</tr>'; - print '<tr class="liste_total"><td align="right" colspan="2">' . $langs->trans("AccountBalance") . ':</td><td class="nowrap" align="right">' . price($total_debit) . '</td><td class="nowrap" align="right">' . price($total_credit) . '</td><td class="nowrap" align="right">' . price(price2num($total_credit - $total_debit)) . '</td>'; + print '<tr class="liste_total"><td class="right" colspan="2">' . $langs->trans("AccountBalance") . ':</td><td class="nowrap right">' . price($total_debit) . '</td><td class="nowrap right">' . price($total_credit) . '</td><td class="nowrap right">' . price(price2num($total_credit - $total_debit)) . '</td>'; print "<td> </td>\n"; print '</tr>'; From 1eb57b65426f7bd6717e35cc8d70c647e79740ba Mon Sep 17 00:00:00 2001 From: Philippe GRAND <philippe.grand@atoo-net.com> Date: Wed, 30 Jan 2019 09:32:19 +0100 Subject: [PATCH 092/130] update with html5 compliant code --- .../bookkeeping/balancebymonth.php | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/htdocs/accountancy/bookkeeping/balancebymonth.php b/htdocs/accountancy/bookkeeping/balancebymonth.php index a01c42b285a..05b7b2bb9f9 100644 --- a/htdocs/accountancy/bookkeeping/balancebymonth.php +++ b/htdocs/accountancy/bookkeeping/balancebymonth.php @@ -117,19 +117,19 @@ if ($resql) { $row = $db->fetch_row($resql); print '<tr class="oddeven"><td width="14%">' . length_accountg($row[0]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[1]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[2]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[3]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[4]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[5]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[6]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[7]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[8]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[9]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[10]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[11]) . '</td>'; - print '<td align="right" width="6.5%">' . price($row[12]) . '</td>'; - print '<td align="right" width="8%"><strong>' . price($row[13]) . '</strong></td>'; + print '<td class="right" width="6.5%">' . price($row[1]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[2]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[3]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[4]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[5]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[6]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[7]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[8]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[9]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[10]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[11]) . '</td>'; + print '<td class="right" width="6.5%">' . price($row[12]) . '</td>'; + print '<td class="right" width="8%"><strong>' . price($row[13]) . '</strong></td>'; print '</tr>'; $i ++; From 1b675ba0b61f0273458e8992e31fb6ac928d7ef4 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO <aspangaro.dolibarr@gmail.com> Date: Wed, 30 Jan 2019 09:51:29 +0100 Subject: [PATCH 093/130] FIX: FEC Compatibility for import in ledger --- htdocs/core/modules/modAccounting.class.php | 35 ++++++++++++++++----- htdocs/langs/en_US/accountancy.lang | 4 ++- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index c47e8d310f1..c2f9459c49b 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -262,15 +262,34 @@ class modAccounting extends DolibarrModules $this->import_icon[$r]=$this->picto; $this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon $this->import_tables_array[$r]=array('b'=>MAIN_DB_PREFIX.'accounting_bookkeeping'); // List of tables to insert into (insert done in same order) - $this->import_fields_array[$r]=array('b.doc_date'=>"Docdate",'b.code_journal'=>'Codejournal','b.numero_compte'=>'AccountAccountingShort','b.label_operation'=>'LabelOperation','b.debit'=>"Debit",'b.credit'=>"Credit",'b.date_creation'=>"DateCreation"); - $this->import_fieldshidden_array[$r]=array('b.fk_user'=>'user->id'); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent) - $this->import_convertvalue_array[$r]=array( - 't.fk_projet'=>array('rule'=>'fetchidfromref','classfile'=>'/projet/class/project.class.php','class'=>'Project','method'=>'fetch','element'=>'Project'), - 't.ref'=>array('rule'=>'getrefifauto') - ); - //$this->import_convertvalue_array[$r]=array('s.fk_soc'=>array('rule'=>'lastrowid',table='t'); + $this->import_fields_array[$r]=array( + 'b.doc_date'=>"Docdate", + 'b.piece_num'=>"TransactionNumShort", + 'b.code_journal'=>'Codejournal', + 'b.journal_label'=>'JournalLabel', + 'b.numero_compte'=>'AccountAccounting', + 'b.label_compte'=>'LabelAccount', + 'b.subledger_account'=>'SubledgerAccount', + 'b.subledger_label'=>'SubledgerAccountLabel', + 'b.label_operation'=>'LabelOperation', + 'b.debit'=>"Debit", + 'b.credit'=>"Credit" + ); + $this->import_fieldshidden_array[$r]=array('b.fk_user_author'=>'user->id'); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent) $this->import_regex_array[$r]=array('b.doc_date'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$'); - //$this->import_examplevalues_array[$r]=array('t.fk_projet'=>'MyProjectRef','t.ref'=>"auto or TK2010-1234",'t.label'=>"My task",'t.progress'=>"0 (not started) to 100 (finished)",'t.datec'=>'1972-10-10','t.note_private'=>"My private note",'t.note_public'=>"My public note"); + $this->import_examplevalues_array[$r]=array( + 'b.doc_date'=>'2019-01-01', + 'b.piece_num'=>'1', + 'b.code_journal'=>"VTE", + 'b.journal_label'=>"Journal des ventes", + 'b.numero_compte'=>"707", + 'b.label_compte'=>'Ventes', + 'b.subledger_account'=>'', + 'b.subledger_label'=>'', + 'b.label_operation'=>"Ventes services", + 'b.debit'=>"0,00", + 'b.credit'=>"100,00" + ); // Chart of accounts $r++; diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index 144caf49dde..a118151355c 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -84,7 +84,8 @@ ChangeAndLoad=Change and load Addanaccount=Add an accounting account AccountAccounting=Accounting account AccountAccountingShort=Account -SubledgerAccount=Subledger Account +SubledgerAccount=Subledger account +SubledgerAccountLabel=Subledger account label ShowAccountingAccount=Show accounting account ShowAccountingJournal=Show accounting journal AccountAccountingSuggest=Accounting account suggested @@ -166,6 +167,7 @@ LabelOperation=Label operation Sens=Sens LetteringCode=Lettering code Codejournal=Journal +JournalLabel=Journal label NumPiece=Piece number TransactionNumShort=Num. transaction AccountingCategory=Personalized groups From 412940b5ca801747636a7941afcb9b063a2eab65 Mon Sep 17 00:00:00 2001 From: gauthier <gauthier.verdol@atm-consulting.fr> Date: Wed, 30 Jan 2019 10:19:13 +0100 Subject: [PATCH 094/130] FIX : $conf->fournisseur->commande->enabled doesn't exist, we must use $conf->fournisseur->enabled --- .../triggers/interface_20_modWorkflow_WorkflowManager.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php index 94aaaeaa542..e478e265652 100644 --- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php +++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php @@ -175,7 +175,7 @@ class InterfaceWorkflowManager extends DolibarrTriggers dol_syslog( "Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id ); // First classify billed the order to allow the proposal classify process - if (! empty($conf->fournisseur->commande->enabled) && ! empty($conf->global->WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER)) + if (! empty($conf->fournisseur->enabled) && ! empty($conf->global->WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER)) { $object->fetchObjectLinked('','order_supplier',$object->id,$object->element); if (! empty($object->linkedObjects)) From 94909292162a303223760a79da5a7d31c91e0ee0 Mon Sep 17 00:00:00 2001 From: gauthier <gauthier.verdol@atm-consulting.fr> Date: Wed, 30 Jan 2019 10:49:32 +0100 Subject: [PATCH 095/130] FIX : $conf->fournisseur->commande->enabled doesn't exist, we must use $conf->fournisseur->enabled --- .../triggers/interface_20_modWorkflow_WorkflowManager.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php index 3c9880ef4ec..6ebbd24ac58 100644 --- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php +++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php @@ -175,7 +175,7 @@ class InterfaceWorkflowManager extends DolibarrTriggers dol_syslog( "Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id ); // First classify billed the order to allow the proposal classify process - if (! empty($conf->fournisseur->commande->enabled) && ! empty($conf->global->WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER)) + if (! empty($conf->fournisseur->enabled) && ! empty($conf->global->WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER)) { $object->fetchObjectLinked('','order_supplier',$object->id,$object->element); if (! empty($object->linkedObjects)) From 84ecfd96fb74a72226161f5cba7336669c37ea00 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO <aspangaro.dolibarr@gmail.com> Date: Wed, 30 Jan 2019 11:22:01 +0100 Subject: [PATCH 096/130] Update example --- htdocs/core/modules/modAccounting.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index c2f9459c49b..1ebb4b0f2d3 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -278,7 +278,7 @@ class modAccounting extends DolibarrModules $this->import_fieldshidden_array[$r]=array('b.fk_user_author'=>'user->id'); // aliastable.field => ('user->id' or 'lastrowid-'.tableparent) $this->import_regex_array[$r]=array('b.doc_date'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$'); $this->import_examplevalues_array[$r]=array( - 'b.doc_date'=>'2019-01-01', + 'b.doc_date'=>'formatted as \'.dol_print_date(dol_now(),\'%Y-%m-%d\')', 'b.piece_num'=>'1', 'b.code_journal'=>"VTE", 'b.journal_label'=>"Journal des ventes", From f955f3f4eea6613eceb8c19395bb3397f0df68a4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 12:23:34 +0100 Subject: [PATCH 097/130] Fix report error only if return code < 0 --- htdocs/core/tpl/card_presend.tpl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/tpl/card_presend.tpl.php b/htdocs/core/tpl/card_presend.tpl.php index 0d1fd84923c..8f68cf0748f 100644 --- a/htdocs/core/tpl/card_presend.tpl.php +++ b/htdocs/core/tpl/card_presend.tpl.php @@ -91,7 +91,7 @@ if ($action == 'presend') if ((! $file || ! is_readable($file)) && method_exists($object, 'generateDocument')) { $result = $object->generateDocument(GETPOST('model') ? GETPOST('model') : $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - if ($result <= 0) { + if ($result < 0) { dol_print_error($db, $object->error, $object->errors); exit(); } From 340412ed00996b21dc23a84f9e7963cca62cda2f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 14:07:50 +0100 Subject: [PATCH 098/130] FIX generation of document for supplie rinvoice --- htdocs/admin/supplier_invoice.php | 2 ++ htdocs/core/tpl/card_presend.tpl.php | 22 ++++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/htdocs/admin/supplier_invoice.php b/htdocs/admin/supplier_invoice.php index 45d588fb031..1e93448e659 100644 --- a/htdocs/admin/supplier_invoice.php +++ b/htdocs/admin/supplier_invoice.php @@ -43,6 +43,8 @@ accessforbidden(); $type=GETPOST('type', 'alpha'); $value=GETPOST('value', 'alpha'); $action=GETPOST('action', 'alpha'); + +$label = GETPOST('label', 'alpha'); $scandir = GETPOST('scan_dir','alpha'); $specimenthirdparty=new Societe($db); diff --git a/htdocs/core/tpl/card_presend.tpl.php b/htdocs/core/tpl/card_presend.tpl.php index 8f68cf0748f..58758daab09 100644 --- a/htdocs/core/tpl/card_presend.tpl.php +++ b/htdocs/core/tpl/card_presend.tpl.php @@ -48,12 +48,15 @@ if ($action == 'presend') $ref = dol_sanitizeFileName($object->ref); include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; - $fileparams = dol_most_recent_file($diroutput . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); - // + // Special case if ($object->element == 'invoice_supplier') { $fileparams = dol_most_recent_file($diroutput . '/' . get_exdir($object->id,2,0,0,$object,$object->element).$ref, preg_quote($ref,'/').'([^\-])+'); } + else + { + $fileparams = dol_most_recent_file($diroutput . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + } $file = $fileparams['fullname']; } @@ -86,7 +89,10 @@ if ($action == 'presend') } // Build document if it not exists - if (! in_array($object->element, array('societe', 'user', 'member'))) + $forcebuilddoc=true; + if (in_array($object->element, array('societe', 'user', 'member'))) $forcebuilddoc=false; + if ($object->element == 'invoice_supplier' && empty($conf->global->INVOICE_SUPPLIER_ADDON_PDF)) $forcebuilddoc=false; + if ($forcebuilddoc) // If there is no default value for supplier invoice, we do not generate file, even if modelpdf was set by a manual generation { if ((! $file || ! is_readable($file)) && method_exists($object, 'generateDocument')) { @@ -95,7 +101,15 @@ if ($action == 'presend') dol_print_error($db, $object->error, $object->errors); exit(); } - $fileparams = dol_most_recent_file($diroutput . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + if ($object->element == 'invoice_supplier') + { + $fileparams = dol_most_recent_file($diroutput . '/' . get_exdir($object->id,2,0,0,$object,$object->element).$ref, preg_quote($ref,'/').'([^\-])+'); + } + else + { + $fileparams = dol_most_recent_file($diroutput . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + } + $file = $fileparams['fullname']; } } From 1a292839ca411699defd953e0ced15ad83d241b4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 15:31:18 +0100 Subject: [PATCH 099/130] Fix regression in look and feel (if empty, we do not sho value) --- htdocs/comm/card.php | 2 +- htdocs/societe/class/societe.class.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index 1037d083514..3ac0ab2822b 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -387,7 +387,7 @@ if ($object->id > 0) print '<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.img_edit($langs->trans("Modify")).'</a>'; } print '</td></tr></table>'; - print '</td><td>'.($object->remise_percent?'<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.price2num($object->remise_percent).'%</a>':'').'</td>'; + print '</td><td>'.($object->remise_percent?'<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.$object->remise_percent.'%</a>':'').'</td>'; print '</tr>'; // Absolute discounts (Discounts-Drawbacks-Rebates) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 77849bf8e81..854ee1811f3 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1379,7 +1379,7 @@ class Societe extends CommonObject $this->prefix_comm = $obj->prefix_comm; - $this->remise_percent = $obj->remise_client; + $this->remise_percent = price2num($obj->remise_client); // 0.000000 must be 0 $this->remise_supplier_percent = $obj->remise_supplier; $this->mode_reglement_id = $obj->mode_reglement; $this->cond_reglement_id = $obj->cond_reglement; From 869159c09f41f5b585bdb93bd292f9518f000eb4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 15:31:18 +0100 Subject: [PATCH 100/130] Fix regression in look and feel (if empty, we do not sho value) --- htdocs/comm/card.php | 2 +- htdocs/societe/class/societe.class.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index fc2c027713a..2cf3c120af6 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -387,7 +387,7 @@ if ($object->id > 0) print '<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.img_edit($langs->trans("Modify")).'</a>'; } print '</td></tr></table>'; - print '</td><td>'.($object->remise_percent?'<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.price2num($object->remise_percent).'%</a>':'').'</td>'; + print '</td><td>'.($object->remise_percent?'<a href="'.DOL_URL_ROOT.'/comm/remise.php?id='.$object->id.'">'.$object->remise_percent.'%</a>':'').'</td>'; print '</tr>'; // Absolute discounts (Discounts-Drawbacks-Rebates) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index e4f5a32783c..a78aaf83a9d 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1296,7 +1296,7 @@ class Societe extends CommonObject $this->prefix_comm = $obj->prefix_comm; - $this->remise_percent = $obj->remise_client; + $this->remise_percent = price2num($obj->remise_client); // 0.000000 must be 0 $this->remise_supplier_percent = $obj->remise_supplier; $this->mode_reglement_id = $obj->mode_reglement; $this->cond_reglement_id = $obj->cond_reglement; From 5fd75f0824a04868561551bd20b8923a44574178 Mon Sep 17 00:00:00 2001 From: ptibogxiv <support@ptibogxiv.net> Date: Wed, 30 Jan 2019 16:15:15 +0100 Subject: [PATCH 101/130] Fix url payout --- htdocs/stripe/payout.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/stripe/payout.php b/htdocs/stripe/payout.php index db2d2f4f7d7..8989adba058 100644 --- a/htdocs/stripe/payout.php +++ b/htdocs/stripe/payout.php @@ -165,7 +165,7 @@ if (! $rowid) { $url='https://dashboard.stripe.com/'.$connect.'test/payouts/'.$payout->id; if ($servicestatus) { - $url='https://dashboard.stripe.com/'.$connect.'/payouts/'.$payout->id; + $url='https://dashboard.stripe.com/'.$connect.'payouts/'.$payout->id; } print "<td><a href='".$url."' target='_stripe'>".img_picto($langs->trans('ShowInStripe'), 'object_globe')." " . $payout->id . "</a></td>\n"; From 6d992a6d7b4ebc98938fc63be60bd84bb5701d85 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 16:24:27 +0100 Subject: [PATCH 102/130] FIX #10440 --- htdocs/core/modules/stock/doc/pdf_standard.modules.php | 2 +- htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/modules/stock/doc/pdf_standard.modules.php b/htdocs/core/modules/stock/doc/pdf_standard.modules.php index db1fda75219..1b148aeed89 100644 --- a/htdocs/core/modules/stock/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_standard.modules.php @@ -22,7 +22,7 @@ * \brief File of class to build PDF documents for stocks/services */ -require_once DOL_DOCUMENT_ROOT.'/core/modules/stock/modules_stock.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/modules/stock/modules_stock.php'; require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; diff --git a/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php b/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php index 45895a6e44d..447075ee5ef 100644 --- a/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php @@ -22,7 +22,7 @@ * \brief File of class to build PDF documents for stocks movements */ -require_once DOL_DOCUMENT_ROOT.'/core/modules/stock/modules_stock.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/modules/stock/modules_movement.php'; require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; From 97248a830bedf298d20ccdc330ad9f328a44a4b9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 16:24:27 +0100 Subject: [PATCH 103/130] FIX #10440 --- htdocs/core/modules/stock/doc/pdf_standard.modules.php | 2 +- htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/modules/stock/doc/pdf_standard.modules.php b/htdocs/core/modules/stock/doc/pdf_standard.modules.php index ce01124211a..c27eb0e2f81 100644 --- a/htdocs/core/modules/stock/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_standard.modules.php @@ -22,7 +22,7 @@ * \brief File of class to build PDF documents for stocks/services */ -require_once DOL_DOCUMENT_ROOT.'/core/modules/stock/modules_stock.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/modules/stock/modules_stock.php'; require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; diff --git a/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php b/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php index 3ea7e184e35..3a923286f65 100644 --- a/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php +++ b/htdocs/core/modules/stock/doc/pdf_stdmovement.modules.php @@ -22,7 +22,7 @@ * \brief File of class to build PDF documents for stocks movements */ -require_once DOL_DOCUMENT_ROOT.'/core/modules/stock/modules_stock.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/modules/stock/modules_movement.php'; require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; From 7983a85bb275c8e21f4dd66d62486a5106459ca6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 16:29:45 +0100 Subject: [PATCH 104/130] Update accountancy.lang --- htdocs/langs/en_US/accountancy.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index c85593925f5..78e19f8cee2 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -155,8 +155,8 @@ ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscript ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for bought products (used if not defined in the product sheet) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_ACCOUNT_INTRA=Accounting account by default for the sold products in CEE (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_ACCOUNT_EXPORT=Accounting account by default for the sold products export out of CEE (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT_INTRA=Accounting account by default for the sold products in EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT_EXPORT=Accounting account by default for the sold products export out of EEC (used if not defined in the product sheet) ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (used if not defined in the service sheet) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (used if not defined in the service sheet) From 200d30f2b95d39d6866acb2a20c7942658838cef Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 20:01:55 +0100 Subject: [PATCH 105/130] Fix: text for empty line not visible in select --- htdocs/core/class/html.form.class.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 68edd564020..9401dce5622 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -2004,7 +2004,7 @@ class Form } else { - print $this->select_produits_list($selected,$htmlname,$filtertype,$limit,$price_level,'',$status,$finished,0,$socid,$showempty,$forcecombo,$morecss,$hidepriceinlabel, $warehouseStatus); + print $this->select_produits_list($selected, $htmlname, $filtertype, $limit, $price_level, '', $status, $finished, 0, $socid, $showempty, $forcecombo, $morecss, $hidepriceinlabel, $warehouseStatus); } } @@ -2225,6 +2225,10 @@ class Form if ($showempty && ! is_numeric($showempty)) $textifempty=$langs->trans($showempty); else $textifempty.=$langs->trans("All"); } + else + { + if ($showempty && ! is_numeric($showempty)) $textifempty=$langs->trans($showempty); + } if ($showempty) $out.='<option value="0" selected>'.$textifempty.'</option>'; $i = 0; From b197ad72d3b1fcab70a3789da5c5b1ab457ab029 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 20:02:41 +0100 Subject: [PATCH 106/130] Work on billing projects --- htdocs/core/actions_massactions.inc.php | 249 ++++++++++++------------ htdocs/projet/tasks/time.php | 52 ++++- 2 files changed, 173 insertions(+), 128 deletions(-) diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index 7f9760345a1..36e6c4956bf 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -66,19 +66,19 @@ if (! $error && $massaction == 'confirm_presend') $nbignored = 0; $langs->load("mails"); include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - + $listofobjectid=array(); $listofobjectthirdparties=array(); $listofobjectref=array(); - + if (! $error) { $thirdparty=new Societe($db); - + $objecttmp=new $objectclass($db); if ($objecttmp->element == 'expensereport') $thirdparty=new User($db); if ($objecttmp->element == 'holiday') $thirdparty=new User($db); - + foreach($toselect as $toselectid) { $objecttmp=new $objectclass($db); // we must create new instance because instance is saved into $listofobjectref array for future use @@ -86,19 +86,19 @@ if (! $error && $massaction == 'confirm_presend') if ($result > 0) { $listofobjectid[$toselectid]=$toselectid; - + $thirdpartyid=($objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid); if ($objecttmp->element == 'societe') $thirdpartyid=$objecttmp->id; if ($objecttmp->element == 'expensereport') $thirdpartyid=$objecttmp->fk_user_author; if ($objecttmp->element == 'holiday') $thirdpartyid=$objecttmp->fk_user; if (empty($thirdpartyid)) $thirdpartyid=0; - + $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; $listofobjectref[$thirdpartyid][$toselectid]=$objecttmp; } } } - + // Check mandatory parameters if (GETPOST('fromtype','alpha') === 'user' && empty($user->email)) { @@ -106,7 +106,7 @@ if (! $error && $massaction == 'confirm_presend') setEventMessages($langs->trans("NoSenderEmailDefined"), null, 'warnings'); $massaction='presend'; } - + $receiver=$_POST['receiver']; if (! is_array($receiver)) { @@ -119,14 +119,14 @@ if (! $error && $massaction == 'confirm_presend') setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Recipient")), null, 'warnings'); $massaction='presend'; } - + if (! GETPOST('subject','none')) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("MailTopic")), null, 'warnings'); $massaction='presend'; } - + // Loop on each recipient/thirdparty if (! $error) { @@ -138,12 +138,12 @@ if (! $error && $massaction == 'confirm_presend') dol_print_error($db); exit; } - + $sendto=''; $sendtocc=''; $sendtobcc=''; $sendtoid = array(); - + // Define $sendto $tmparray=array(); if (trim($_POST['sendto'])) @@ -168,7 +168,7 @@ if (! $error && $massaction == 'confirm_presend') } } $sendto=implode(',',$tmparray); - + // Define $sendtocc $receivercc=$_POST['receivercc']; if (! is_array($receivercc)) @@ -198,13 +198,13 @@ if (! $error && $massaction == 'confirm_presend') } } $sendtocc=implode(',',$tmparray); - + //var_dump($listofobjectref);exit; $attachedfiles=array('paths'=>array(), 'names'=>array(), 'mimes'=>array()); $listofqualifiedobj=array(); $listofqualifiedref=array(); $thirdpartywithoutemail=array(); - + foreach($listofobjectref[$thirdpartyid] as $objectid => $objectobj) { //var_dump($thirdpartyid.' - '.$objectid.' - '.$objectobj->statut); @@ -229,7 +229,7 @@ if (! $error && $massaction == 'confirm_presend') $resaction.='<div class="error">'.$langs->trans('ErrorOnlyInvoiceValidatedCanBeSentInMassAction',$objectobj->ref).'</div><br>'; continue; // Payment done or started or canceled } - + // Test recipient if (empty($sendto)) // For the case, no recipient were set (multi thirdparties send) { @@ -251,7 +251,7 @@ if (! $error && $massaction == 'confirm_presend') $sendto = $objectobj->thirdparty->email; } } - + if (empty($sendto)) { //print "No recipient for thirdparty ".$objectobj->thirdparty->name; @@ -264,7 +264,7 @@ if (! $error && $massaction == 'confirm_presend') $thirdpartywithoutemail[$objectobj->thirdparty->id]=1; continue; } - + if ($_POST['addmaindocfile']) { // TODO Use future field $objectobj->fullpathdoc to know where is stored default file @@ -273,7 +273,7 @@ if (! $error && $massaction == 'confirm_presend') $filedir=$uploaddir . '/' . dol_sanitizeFileName($objectobj->ref); $file = $filedir . '/' . $filename; $mime = dol_mimetype($file); - + if (dol_is_file($file)) { // Create form object @@ -292,19 +292,19 @@ if (! $error && $massaction == 'confirm_presend') continue; } } - + // Object of thirdparty qualified, we add it $listofqualifiedobj[$objectid]=$objectobj; $listofqualifiedref[$objectid]=$objectobj->ref; - + //var_dump($listofqualifiedref); } - + // Send email if there is at least one qualified object for current thirdparty if (count($listofqualifiedobj) > 0) { $langs->load("commercial"); - + $fromtype = GETPOST('fromtype'); if ($fromtype === 'user') { $from = $user->getFullName($langs) .' <'.$user->email.'>'; @@ -332,11 +332,11 @@ if (! $error && $massaction == 'confirm_presend') else { $from = $_POST['fromname'] . ' <' . $_POST['frommail'] .'>'; } - + $replyto = $from; $subject = GETPOST('subject','none'); $message = GETPOST('message','none'); - + $sendtobcc = GETPOST('sendtoccc'); if ($objectclass == 'Propal') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO)); if ($objectclass == 'Commande') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO)); @@ -344,7 +344,7 @@ if (! $error && $massaction == 'confirm_presend') if ($objectclass == 'Supplier_Proposal') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_PROPOSAL_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_PROPOSAL_TO)); if ($objectclass == 'CommandeFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_ORDER_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_ORDER_TO)); if ($objectclass == 'FactureFournisseur') $sendtobcc .= (empty($conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO) ? '' : (($sendtobcc?", ":"").$conf->global->MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO)); - + // $listofqualifiedobj is array with key = object id and value is instance of qualified objects, for the current thirdparty (but thirdparty property is not loaded yet) // $looparray will be an array with number of email to send for the current thirdparty (so 1 or n if n object for same thirdparty) $oneemailperrecipient=(GETPOST('oneemailperrecipient','alpha')=='on'?1:0); @@ -365,7 +365,7 @@ if (! $error && $massaction == 'confirm_presend') } //var_dump($looparray);exit; dol_syslog("We have set an array of ".count($looparray)." emails to send"); - + foreach ($looparray as $objectid => $objecttmp) // $objecttmp is a real object or an empty object if we choose to send one email per thirdparty instead of one per object { // Make substitution in email content @@ -374,25 +374,25 @@ if (! $error && $massaction == 'confirm_presend') $substitutionarray['__REF__'] = ($oneemailperrecipient ? join(', ',$listofqualifiedref) : $objecttmp->ref); $substitutionarray['__EMAIL__'] = $thirdparty->email; $substitutionarray['__CHECK_READ__'] = '<img src="'.DOL_MAIN_URL_ROOT.'/public/emailing/mailing-read.php?tag='.$thirdparty->tag.'&securitykey='.urlencode($conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY).'" width="1" height="1" style="width:1px;height:1px" border="0"/>'; - + $parameters=array('mode'=>'formemail'); - + if ( ! empty( $listofobjectthirdparties ) ) { $parameters['listofobjectthirdparties'] = $listofobjectthirdparties; } if ( ! empty( $listofobjectref ) ) { $parameters['listofobjectref'] = $listofobjectref; } - + complete_substitutions_array($substitutionarray, $langs, $objecttmp, $parameters); - + $subject=make_substitutions($subject, $substitutionarray); $message=make_substitutions($message, $substitutionarray); - + $filepath = $attachedfiles['paths']; $filename = $attachedfiles['names']; $mimetype = $attachedfiles['mimes']; - + // Define the trackid when emails sent from the mass action if ($oneemailperrecipient) { @@ -410,12 +410,12 @@ if (! $error && $massaction == 'confirm_presend') if (get_class($objecttmp)=='Supplier_Proposal') $trackid='spr'; if (get_class($objecttmp)=='CommandeFournisseur') $trackid='sor'; if (get_class($objecttmp)=='FactureFournisseur') $trackid='sin'; - + $trackid.=$objecttmp->id; } //var_dump($filepath); //var_dump($trackid);exit; - + // Send mail (substitutionarray must be done just before this) require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,$sendtobcc,$deliveryreceipt,-1,'','',$trackid); @@ -429,23 +429,23 @@ if (! $error && $massaction == 'confirm_presend') if ($result) { $resaction.=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2)).'<br>'; // Must not contain " - + $error=0; - + // Insert logs into agenda foreach($listofqualifiedobj as $objid2 => $objectobj2) { if ((! $oneemailperrecipient) && $objid2 != $objectid) continue; // We discard this pass to avoid duplicate with other pass in looparray at higher level - + dol_syslog("Try to insert email event into agenda for objid=".$objid2." => objectobj=".get_class($objectobj2)); - + /*if ($objectclass == 'Propale') $actiontypecode='AC_PROP'; if ($objectclass == 'Commande') $actiontypecode='AC_COM'; if ($objectclass == 'Facture') $actiontypecode='AC_FAC'; if ($objectclass == 'Supplier_Proposal') $actiontypecode='AC_SUP_PRO'; if ($objectclass == 'CommandeFournisseur') $actiontypecode='AC_SUP_ORD'; if ($objectclass == 'FactureFournisseur') $actiontypecode='AC_SUP_INV';*/ - + $actionmsg=$langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto; if ($message) { @@ -455,14 +455,14 @@ if (! $error && $massaction == 'confirm_presend') $actionmsg = dol_concatdesc($actionmsg, $message); } $actionmsg2=''; - + // Initialisation donnees $objectobj2->sendtoid = 0; $objectobj2->actionmsg = $actionmsg; // Long text $objectobj2->actionmsg2 = $actionmsg2; // Short text $objectobj2->fk_element = $objid2; $objectobj2->elementtype = $objectobj2->element; - + $triggername = strtoupper(get_class($objectobj2)) .'_SENTBYMAIL'; if ($triggername == 'SOCIETE_SENTBYMAIL') $triggername = 'COMPANY_SENTBYMAIL'; if ($triggername == 'CONTRAT_SENTBYMAIL') $triggername = 'CONTRACT_SENTBYMAIL'; @@ -472,7 +472,7 @@ if (! $error && $massaction == 'confirm_presend') if ($triggername == 'COMMANDEFOURNISSEUR_SENTBYMAIL') $triggername = 'ORDER_SUPPLIER_SENTBYMAIL'; if ($triggername == 'FACTUREFOURNISSEUR_SENTBYMAIL') $triggername = 'BILL_SUPPLIER_SENTBYMAIL'; if ($triggername == 'SUPPLIERPROPOSAL_SENTBYMAIL') $triggername = 'PROPOSAL_SUPPLIER_SENTBYMAIL'; - + if (! empty($triggername)) { // Appel des triggers @@ -481,7 +481,7 @@ if (! $error && $massaction == 'confirm_presend') $result=$interface->run_triggers($triggername, $objectobj2, $user, $langs, $conf); if ($result < 0) { $error++; $errors=$interface->errors; } // Fin appel triggers - + if ($error) { setEventMessages($db->lasterror(), $errors, 'errors'); @@ -489,7 +489,7 @@ if (! $error && $massaction == 'confirm_presend') } } } - + $nbsent++; // Nb of email sent (may be lower than number of record selected if we group thirdparties) } else @@ -509,13 +509,13 @@ if (! $error && $massaction == 'confirm_presend') } } } - + $resaction.=($resaction?'<br>':$resaction); $resaction.='<strong>'.$langs->trans("ResultOfMailSending").':</strong><br>'."\n"; $resaction.=$langs->trans("NbSelected").': '.count($toselect)."\n<br>"; $resaction.=$langs->trans("NbIgnored").': '.($nbignored?$nbignored:0)."\n<br>"; $resaction.=$langs->trans("NbSent").': '.($nbsent?$nbsent:0)."\n<br>"; - + if ($nbsent) { $action=''; // Do not show form post if there was at least one successfull sent @@ -528,59 +528,59 @@ if (! $error && $massaction == 'confirm_presend') //setEventMessages($langs->trans("EMailSentToNRecipients", 0), null, 'warnings'); // May be object has no generated PDF file setEventMessages($resaction, null, 'warnings'); } - + $action='list'; $massaction=''; } } -if ($massaction == 'confirm_createbills') +if ($massaction == 'confirm_createbills') // Create bills from orders { $orders = GETPOST('toselect','array'); $createbills_onebythird = GETPOST('createbills_onebythird', 'int'); $validate_invoices = GETPOST('valdate_invoices', 'int'); - + $TFact = array(); $TFactThird = array(); - + $nb_bills_created = 0; - + $db->begin(); - + foreach($orders as $id_order) { $cmd = new Commande($db); if ($cmd->fetch($id_order) <= 0) continue; - + $objecttmp = new Facture($db); if (!empty($createbills_onebythird) && !empty($TFactThird[$cmd->socid])) $objecttmp = $TFactThird[$cmd->socid]; // If option "one bill per third" is set, we use already created order. else { // Load extrafields of order $cmd->fetch_optionals(); - + $objecttmp->socid = $cmd->socid; $objecttmp->type = Facture::TYPE_STANDARD; $objecttmp->cond_reglement_id = $cmd->cond_reglement_id; $objecttmp->mode_reglement_id = $cmd->mode_reglement_id; $objecttmp->fk_project = $cmd->fk_project; - + $datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); if (empty($datefacture)) { $datefacture = dol_mktime(date("h"), date("M"), 0, date("m"), date("d"), date("Y")); } - + $objecttmp->date = $datefacture; $objecttmp->origin = 'commande'; $objecttmp->origin_id = $id_order; - + $objecttmp->array_options = $cmd->array_options; // Copy extrafields - + $res = $objecttmp->create($user); - + if($res > 0) $nb_bills_created++; } - + if ($objecttmp->id > 0) { $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_element ("; @@ -594,12 +594,12 @@ if ($massaction == 'confirm_createbills') $sql.= ", ".$objecttmp->id; $sql.= ", '".$objecttmp->element."'"; $sql.= ")"; - + if (! $db->query($sql)) { $error++; } - + if (! $error) { $lines = $cmd->lines; @@ -608,10 +608,10 @@ if ($massaction == 'confirm_createbills') $cmd->fetch_lines(); $lines = $cmd->lines; } - + $fk_parent_line=0; $num=count($lines); - + for ($i=0;$i<$num;$i++) { $desc=($lines[$i]->desc?$lines[$i]->desc:$lines[$i]->libelle); @@ -658,13 +658,13 @@ if ($massaction == 'confirm_createbills') { $fk_parent_line = 0; } - + // Extrafields if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals($lines[$i]->rowid); $array_options = $lines[$i]->array_options; } - + $result = $objecttmp->addline( $desc, $lines[$i]->subprice, @@ -711,21 +711,21 @@ if ($massaction == 'confirm_createbills') } } } - + //$cmd->classifyBilled($user); // Disabled. This behavior must be set or not using the workflow module. - + if(!empty($createbills_onebythird) && empty($TFactThird[$cmd->socid])) $TFactThird[$cmd->socid] = $objecttmp; else $TFact[$objecttmp->id] = $objecttmp; } - + // Build doc with all invoices $TAllFact = empty($createbills_onebythird) ? $TFact : $TFactThird; $toselect = array(); - + if (! $error && $validate_invoices) { $massaction = $action = 'builddoc'; - + foreach($TAllFact as &$objecttmp) { $result = $objecttmp->validate($user); @@ -735,30 +735,30 @@ if ($massaction == 'confirm_createbills') setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); break; } - + $id = $objecttmp->id; // For builddoc action $object = $objecttmp; - + // Builddoc $donotredirect = 1; $upload_dir = $conf->facture->dir_output; $permissioncreate=$user->rights->facture->creer; - + // Call action to build doc $savobject = $object; $object = $objecttmp; include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php'; $object = $savobject; } - + $massaction = $action = 'confirm_createbills'; } - + if (! $error) { $db->commit(); setEventMessages($langs->trans('BillCreated', $nb_bills_created), null, 'mesgs'); - + // Make a redirect to avoid to bill twice if we make a refresh or back $param=''; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); @@ -784,7 +784,7 @@ if ($massaction == 'confirm_createbills') if ($show_files) $param.='&show_files=' .urlencode($show_files); if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss); if ($billed != '') $param.='&billed='.urlencode($billed); - + header("Location: ".$_SERVER['PHP_SELF'].'?'.$param); exit; } @@ -801,20 +801,19 @@ if ($massaction == 'confirm_createbills') if (!$error && $massaction == 'cancelorders') { - $db->begin(); - + $nbok = 0; - - + + $orders = GETPOST('toselect', 'array'); foreach ($orders as $id_order) { - + $cmd = new Commande($db); if ($cmd->fetch($id_order) <= 0) continue; - + if ($cmd->statut != Commande::STATUS_VALIDATED) { $langs->load('errors'); @@ -824,7 +823,7 @@ if (!$error && $massaction == 'cancelorders') } else $result = $cmd->cancel(); - + if ($result < 0) { setEventMessages($cmd->error, $cmd->errors, 'errors'); @@ -856,11 +855,11 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se dol_print_error(null, 'include of actions_massactions.inc.php is done but var $diroutputmassaction was not defined'); exit; } - + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; - + $objecttmp=new $objectclass($db); $listofobjectid=array(); $listofobjectthirdparties=array(); @@ -877,12 +876,12 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $listofobjectref[$toselectid]=$objecttmp->ref; } } - + $arrayofinclusion=array(); foreach($listofobjectref as $tmppdf) $arrayofinclusion[]='^'.preg_quote(dol_sanitizeFileName($tmppdf),'/').'\.pdf$'; foreach($listofobjectref as $tmppdf) $arrayofinclusion[]='^'.preg_quote(dol_sanitizeFileName($tmppdf),'/').'_[a-zA-Z0-9-_]+\.pdf$'; // To include PDF generated from ODX files $listoffiles = dol_dir_list($uploaddir,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC,0,true); - + // build list of files with full path $files = array(); foreach($listofobjectref as $basename) @@ -897,7 +896,7 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se } } } - + // Define output language (Here it is not used because we do only merging existing PDF) $outputlangs = $langs; $newlang=''; @@ -908,16 +907,16 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $outputlangs = new Translate("",$conf); $outputlangs->setDefaultLang($newlang); } - + if (!empty($conf->global->USE_PDFTK_FOR_PDF_CONCAT)) { // Create output dir if not exists dol_mkdir($diroutputmassaction); - + // Defined name of merged file $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); $filename=preg_replace('/\s/','_',$filename); - + // Save merged file if (in_array($objecttmp->element, array('facture', 'facture_fournisseur')) && $search_status == Facture::STATUS_VALIDATED) { @@ -926,23 +925,23 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se } if ($year) $filename.='_'.$year; if ($month) $filename.='_'.$month; - + if (count($files)>0) { $now=dol_now(); $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; - + $input_files = ''; foreach($files as $f) { $input_files.=' '.escapeshellarg($f); } - + $cmd = 'pdftk '.escapeshellarg($input_files).' cat output '.escapeshellarg($file); exec($cmd); - + if (! empty($conf->global->MAIN_UMASK)) @chmod($file, octdec($conf->global->MAIN_UMASK)); - + $langs->load("exports"); setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); } @@ -957,18 +956,18 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $page_largeur = $formatarray['width']; $page_hauteur = $formatarray['height']; $format = array($page_largeur,$page_hauteur); - + $pdf=pdf_getInstance($format); - + if (class_exists('TCPDF')) { $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); } $pdf->SetFont(pdf_getPDFFont($outputlangs)); - + if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); - + // Add all others foreach($files as $file) { @@ -982,14 +981,14 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $pdf->useTemplate($tplidx); } } - + // Create output dir if not exists dol_mkdir($diroutputmassaction); - + // Defined name of merged file $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); $filename=preg_replace('/\s/','_',$filename); - + // Save merged file if (in_array($objecttmp->element, array('facture', 'facture_fournisseur')) && $search_status == Facture::STATUS_VALIDATED) { @@ -1005,7 +1004,7 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se $pdf->Output($file,'F'); if (! empty($conf->global->MAIN_UMASK)) @chmod($file, octdec($conf->global->MAIN_UMASK)); - + $langs->load("exports"); setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); } @@ -1020,7 +1019,7 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se if ($action == 'remove_file') { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - + $langs->load("other"); $upload_dir = $diroutputmassaction; $file = $upload_dir . '/' . GETPOST('file'); @@ -1034,7 +1033,7 @@ if ($action == 'remove_file') if (! $error && $massaction == 'validate' && $permtocreate) { $objecttmp=new $objectclass($db); - + if ($objecttmp->element == 'invoice' && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL)) { $langs->load("errors"); @@ -1050,7 +1049,7 @@ if (! $error && $massaction == 'validate' && $permtocreate) if (! $error) { $db->begin(); - + $nbok = 0; foreach($toselect as $toselectid) { @@ -1082,7 +1081,7 @@ if (! $error && $massaction == 'validate' && $permtocreate) break; } } - + if (! $error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); @@ -1099,7 +1098,7 @@ if (! $error && $massaction == 'validate' && $permtocreate) // Closed records if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclose) { $db->begin(); - + $objecttmp = new $objectclass($db); $nbok = 0; foreach ($toselect as $toselectid) { @@ -1119,7 +1118,7 @@ if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclo break; } } - + if (!$error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs'); @@ -1135,7 +1134,7 @@ if (!$error && $massaction == 'closed' && $objectclass == "Propal" && $permtoclo if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == 'yes')) && $permtodelete) { $db->begin(); - + $objecttmp=new $objectclass($db); $nbok = 0; foreach($toselect as $toselectid) @@ -1151,22 +1150,22 @@ if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == $resaction.='<div class="error">'.$langs->trans('ErrorOnlyDraftStatusCanBeDeletedInMassAction',$objecttmp->ref).'</div><br>'; continue; } - + if ($objectclass == "Task" && $objecttmp->hasChildren() > 0) { $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task SET fk_task_parent = 0 WHERE fk_task_parent = ".$objecttmp->id; $res = $db->query($sql); - + if (!$res) { setEventMessage('ErrorRecordParentingNotModified', 'errors'); $error++; } } - + if (in_array($objecttmp->element, array('societe', 'member'))) $result = $objecttmp->delete($objecttmp->id, $user, 1); else $result = $objecttmp->delete($user); - + if ($result <= 0) { setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); @@ -1182,7 +1181,7 @@ if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == break; } } - + if (! $error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsDeleted", $nbok), null, 'mesgs'); @@ -1201,7 +1200,7 @@ if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm == if (! $error && $massaction == 'generate_doc' && $permtoread) { $db->begin(); - + $objecttmp=new $objectclass($db); $nbok = 0; foreach($toselect as $toselectid) @@ -1211,7 +1210,7 @@ if (! $error && $massaction == 'generate_doc' && $permtoread) { $outputlangs = $langs; $newlang=''; - + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','aZ09')) $newlang=GETPOST('lang_id','aZ09'); if ($conf->global->MAIN_MULTILANGS && empty($newlang) && isset($objecttmp->thirdparty->default_lang)) $newlang=$objecttmp->thirdparty->default_lang; // for proposal, order, invoice, ... if ($conf->global->MAIN_MULTILANGS && empty($newlang) && isset($objecttmp->default_lang)) $newlang=$objecttmp->default_lang; // for thirdparty @@ -1220,15 +1219,15 @@ if (! $error && $massaction == 'generate_doc' && $permtoread) $outputlangs = new Translate("",$conf); $outputlangs->setDefaultLang($newlang); } - + // To be sure vars is defined if (empty($hidedetails)) $hidedetails=0; if (empty($hidedesc)) $hidedesc=0; if (empty($hideref)) $hideref=0; if (empty($moreparams)) $moreparams=null; - + $result= $objecttmp->generateDocument($objecttmp->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); - + if ($result <= 0) { setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); @@ -1244,7 +1243,7 @@ if (! $error && $massaction == 'generate_doc' && $permtoread) break; } } - + if (! $error) { if ($nbok > 1) setEventMessages($langs->trans("RecordsGenerated", $nbok), null, 'mesgs'); diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index e2025812e65..bbb04cc3d76 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -98,6 +98,7 @@ $extralabels_task=$extrafields_task->fetch_name_optionals_label($object->table_e */ if (GETPOST('cancel','alpha')) { $action=''; } +if (! GETPOST('confirmmassaction','alpha') && $massaction != 'presend' && $massaction != 'confirm_presend' && $massaction != 'confirm_generateinvoice') { $massaction=''; } $parameters=array('socid'=>$socid, 'projectid'=>$projectid); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -300,7 +301,7 @@ elseif (GETPOST('project_ref','alpha')) $withproject=1; } -if ($massaction == 'generateinvoice') +if ($massaction == 'confirm_generateinvoice') { if (! empty($projectstatic->socid)) $projectstatic->fetch_thirdparty(); @@ -754,7 +755,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) $arrayfields['t.note']=array('label'=>$langs->trans("Note"), 'checked'=>1); $arrayfields['t.task_duration']=array('label'=>$langs->trans("Duration"), 'checked'=>1); $arrayfields['value'] =array('label'=>$langs->trans("Value"), 'checked'=>1, 'enabled'=>(empty($conf->salaries->enabled)?0:1)); - $arrayfields['valuebilled'] =array('label'=>$langs->trans("Billed"), 'checked'=>1, 'enabled'=>((! empty($conf->global->PROJECT_HIDE_TASKS) || empty($conf->global->PROJECT_BILL_TIME_SPENT))?0:1)); + $arrayfields['valuebilled'] =array('label'=>$langs->trans("Billed"), 'checked'=>1, 'enabled'=>(((! empty($conf->global->PROJECT_HIDE_TASKS) || empty($conf->global->PROJECT_BILL_TIME_SPENT))?0:1) && $projectstatic->bill_time)); // Extra fields if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) { @@ -771,7 +772,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) //'builddoc'=>$langs->trans("PDFMerge"), ); //if ($user->rights->projet->creer) $arrayofmassactions['predelete']=$langs->trans("Delete"); - if (in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array(); + if (in_array($massaction, array('presend','predelete','generateinvoice'))) $arrayofmassactions=array(); $massactionbutton=$form->selectMassAction('', $arrayofmassactions); } @@ -810,6 +811,51 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) print '<input type="hidden" name="projectid" value="'.$projectidforalltimes.'">'; print '<input type="hidden" name="withproject" value="'.$withproject.'">'; + if ($massaction == 'generateinvoice') + { + $langs->load("bills"); + + //var_dump($_REQUEST); + print '<input type="hidden" name="massaction" value="confirm_createbills">'; + + print '<table class="noborder" width="100%" >'; + print '<tr>'; + print '<td class="titlefield">'; + print $langs->trans('DateInvoice'); + print '</td>'; + print '<td>'; + print $form->selectDate('', '', '', '', '', '', 1, 1); + print '</td>'; + print '</tr>'; + if ($conf->service->enabled) + { + print '<tr>'; + print '<td>'; + print $langs->trans('Service'); + print '</td>'; + print '<td>'; + print $form->select_produits('', 'productid', '1', 0, 0, 1, 2, '', 0, array(), 0, 'None', 0, 'maxwidth500'); + print '</td>'; + print '</tr>'; + } + /*print '<tr>'; + print '<td>'; + print $langs->trans('ValidateInvoices'); + print '</td>'; + print '<td>'; + print $form->selectyesno('valdate_invoices', 0, 1); + print '</td>'; + print '</tr>';*/ + print '</table>'; + + print '<br>'; + print '<div class="center">'; + print '<input type="submit" class="button" id="createbills" name="createbills" value="'.$langs->trans('CreateInvoice').'"> '; + print '<input type="submit" class="button" id="cancel" name="cancel" value="'.$langs->trans('Cancel').'">'; + print '</div>'; + print '<br>'; + } + /* * List of time spent */ From c1f3f4c2b5f29ee1a9413540374f6ac79180d616 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 20:01:55 +0100 Subject: [PATCH 107/130] Fix: text for empty line not visible in select --- htdocs/core/class/html.form.class.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 4c4e51c4b13..ee0c35ac3a9 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -1982,7 +1982,7 @@ class Form } else { - print $this->select_produits_list($selected,$htmlname,$filtertype,$limit,$price_level,'',$status,$finished,0,$socid,$showempty,$forcecombo,$morecss,$hidepriceinlabel, $warehouseStatus); + print $this->select_produits_list($selected, $htmlname, $filtertype, $limit, $price_level, '', $status, $finished, 0, $socid, $showempty, $forcecombo, $morecss, $hidepriceinlabel, $warehouseStatus); } } @@ -2175,6 +2175,10 @@ class Form if ($showempty && ! is_numeric($showempty)) $textifempty=$langs->trans($showempty); else $textifempty.=$langs->trans("All"); } + else + { + if ($showempty && ! is_numeric($showempty)) $textifempty=$langs->trans($showempty); + } if ($showempty) $out.='<option value="0" selected>'.$textifempty.'</option>'; $i = 0; From 15bd99acf498e9ee20c53293f00ad2352fef103b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 20:06:05 +0100 Subject: [PATCH 108/130] Fix phpcs --- .../sociales/class/chargesociales.class.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 3c06198b4f2..0623553d90e 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -303,13 +303,13 @@ class ChargeSociales extends CommonObject /** - * Met a jour une charge sociale + * Update social or fiscal contribution * - * @param User $user Utilisateur qui modifie + * @param User $user User that modify * @param int $notrigger 0=launch triggers after, 1=disable triggers - * @return int <0 si erreur, >0 si ok + * @return int <0 if KO, >0 if OK */ - function update($user,$notrigger=0) + function update($user, $notrigger=0) { $error=0; $this->db->begin(); @@ -325,11 +325,11 @@ class ChargeSociales extends CommonObject dol_syslog(get_class($this)."::update", LOG_DEBUG); $resql=$this->db->query($sql); - + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } - + if (! $error) { if (! $notrigger) @@ -340,7 +340,7 @@ class ChargeSociales extends CommonObject // End call triggers } } - + // Commit or rollback if ($error) { @@ -357,8 +357,6 @@ class ChargeSociales extends CommonObject $this->db->commit(); return 1; } - - } /** From 01f1f6162f35dbaffc9dda096a6aec2b3b3af323 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 20:06:05 +0100 Subject: [PATCH 109/130] Fix phpcs --- .../sociales/class/chargesociales.class.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 2912c75b201..c898a512911 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -303,13 +303,13 @@ class ChargeSociales extends CommonObject /** - * Met a jour une charge sociale + * Update social or fiscal contribution * - * @param User $user Utilisateur qui modifie + * @param User $user User that modify * @param int $notrigger 0=launch triggers after, 1=disable triggers - * @return int <0 si erreur, >0 si ok + * @return int <0 if KO, >0 if OK */ - function update($user,$notrigger=0) + function update($user, $notrigger=0) { $error=0; $this->db->begin(); @@ -325,11 +325,11 @@ class ChargeSociales extends CommonObject dol_syslog(get_class($this)."::update", LOG_DEBUG); $resql=$this->db->query($sql); - + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } - + if (! $error) { if (! $notrigger) @@ -340,7 +340,7 @@ class ChargeSociales extends CommonObject // End call triggers } } - + // Commit or rollback if ($error) { @@ -357,8 +357,6 @@ class ChargeSociales extends CommonObject $this->db->commit(); return 1; } - - } /** From a23fd6f09058987a2b0414108cd914215b7c5240 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 20:55:55 +0100 Subject: [PATCH 110/130] Fix phpcs --- htdocs/compta/sociales/class/chargesociales.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 0623553d90e..fe6a3be96ee 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -309,7 +309,7 @@ class ChargeSociales extends CommonObject * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return int <0 if KO, >0 if OK */ - function update($user, $notrigger=0) + function update($user, $notrigger = 0) { $error=0; $this->db->begin(); From 045b8b13ed68721d5b6c961b16c2708a8f1ca7a5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 30 Jan 2019 23:20:57 +0100 Subject: [PATCH 111/130] css --- htdocs/expedition/card.php | 2 +- htdocs/livraison/card.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index f92660a0110..6d5d8b17ffa 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -1752,7 +1752,7 @@ else if ($id || $ref) print '<div class="fichehalfleft">'; print '<div class="underbanner clearboth"></div>'; - print '<table class="border" width="100%">'; + print '<table class="border tableforfield" width="100%">'; // Linked documents if ($typeobject == 'commande' && $object->$typeobject->id && ! empty($conf->commande->enabled)) diff --git a/htdocs/livraison/card.php b/htdocs/livraison/card.php index 260c333f362..36847d9c670 100644 --- a/htdocs/livraison/card.php +++ b/htdocs/livraison/card.php @@ -346,7 +346,7 @@ else print '<input type="hidden" name="id" value="'.$object->id.'">'; print '<input type="hidden" name="ref" value="'.$object->ref.'">'; - dol_fiche_head($head, 'delivery', $langs->trans("Shipment"), 0, 'sending'); + dol_fiche_head($head, 'delivery', $langs->trans("Shipment"), -1, 'sending'); /* * Confirmation de la suppression @@ -434,7 +434,7 @@ else print '<div class="fichecenter">'; print '<div class="underbanner clearboth"></div>'; - print '<table class="border" width="100%">'; + print '<table class="border tableforfield" width="100%">'; // Shipment /* From 6121771c5fa26ecde705c091424f20aae44cb2b8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 10:16:49 +0100 Subject: [PATCH 112/130] FIX XSS --- htdocs/document.php | 2 +- htdocs/viewimage.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/document.php b/htdocs/document.php index ff6c6f6e635..1df59c07a16 100644 --- a/htdocs/document.php +++ b/htdocs/document.php @@ -74,7 +74,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $encoding = ''; $action=GETPOST('action','alpha'); -$original_file=GETPOST('file','alpha'); // Do not use urldecode here ($_GET are already decoded by PHP). +$original_file=GETPOST('file','alphanohtml'); // Do not use urldecode here ($_GET are already decoded by PHP). $hashp=GETPOST('hashp','aZ09'); $modulepart=GETPOST('modulepart','alpha'); $urlsource=GETPOST('urlsource','alpha'); diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index ea29fe0d8bd..2385a558307 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -84,7 +84,7 @@ require 'main.inc.php'; // Load $user and permissions require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $action=GETPOST('action','alpha'); -$original_file=GETPOST('file','alpha'); // Do not use urldecode here ($_GET are already decoded by PHP). +$original_file=GETPOST('file','alphanohtml'); // Do not use urldecode here ($_GET are already decoded by PHP). $hashp=GETPOST('hashp','aZ09'); $modulepart=GETPOST('modulepart','alpha'); $urlsource=GETPOST('urlsource','alpha'); From 21c089fee93126419d716091fdd1c71037a01954 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 10:16:49 +0100 Subject: [PATCH 113/130] FIX XSS --- htdocs/document.php | 2 +- htdocs/viewimage.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/document.php b/htdocs/document.php index ff6c6f6e635..1df59c07a16 100644 --- a/htdocs/document.php +++ b/htdocs/document.php @@ -74,7 +74,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $encoding = ''; $action=GETPOST('action','alpha'); -$original_file=GETPOST('file','alpha'); // Do not use urldecode here ($_GET are already decoded by PHP). +$original_file=GETPOST('file','alphanohtml'); // Do not use urldecode here ($_GET are already decoded by PHP). $hashp=GETPOST('hashp','aZ09'); $modulepart=GETPOST('modulepart','alpha'); $urlsource=GETPOST('urlsource','alpha'); diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index ea29fe0d8bd..2385a558307 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -84,7 +84,7 @@ require 'main.inc.php'; // Load $user and permissions require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $action=GETPOST('action','alpha'); -$original_file=GETPOST('file','alpha'); // Do not use urldecode here ($_GET are already decoded by PHP). +$original_file=GETPOST('file','alphanohtml'); // Do not use urldecode here ($_GET are already decoded by PHP). $hashp=GETPOST('hashp','aZ09'); $modulepart=GETPOST('modulepart','alpha'); $urlsource=GETPOST('urlsource','alpha'); From 5e46a359e073a4eca38753579f3fd924723ede35 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 10:16:49 +0100 Subject: [PATCH 114/130] FIX XSS --- htdocs/document.php | 2 +- htdocs/viewimage.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/document.php b/htdocs/document.php index 725d079a9f6..d912c9a2d55 100644 --- a/htdocs/document.php +++ b/htdocs/document.php @@ -77,7 +77,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $encoding = ''; $action=GETPOST('action','alpha'); -$original_file=GETPOST('file','alpha'); // Do not use urldecode here ($_GET are already decoded by PHP). +$original_file=GETPOST('file','alphanohtml'); // Do not use urldecode here ($_GET are already decoded by PHP). $hashp=GETPOST('hashp','aZ09'); $modulepart=GETPOST('modulepart','alpha'); $urlsource=GETPOST('urlsource','alpha'); diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index ae2a538ca04..17d5026c0bf 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -79,7 +79,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $action=GETPOST('action','alpha'); -$original_file=GETPOST('file','alpha'); // Do not use urldecode here ($_GET are already decoded by PHP). +$original_file=GETPOST('file','alphanohtml'); // Do not use urldecode here ($_GET are already decoded by PHP). $hashp=GETPOST('hashp','aZ09'); $modulepart=GETPOST('modulepart','alpha'); $urlsource=GETPOST('urlsource','alpha'); From 484b4371c137bb57303451a44de2aa61a6a50cfe Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 10:16:49 +0100 Subject: [PATCH 115/130] FIX XSS Conflicts: htdocs/viewimage.php --- htdocs/document.php | 2 +- htdocs/viewimage.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/document.php b/htdocs/document.php index 1c722e4cb55..ee8b9e9c096 100644 --- a/htdocs/document.php +++ b/htdocs/document.php @@ -81,7 +81,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $encoding = ''; $action=GETPOST('action','alpha'); -$original_file=GETPOST('file','alpha'); // Do not use urldecode here ($_GET are already decoded by PHP). +$original_file=GETPOST('file','alphanohtml'); // Do not use urldecode here ($_GET are already decoded by PHP). $hashp=GETPOST('hashp','aZ09'); $modulepart=GETPOST('modulepart','alpha'); $urlsource=GETPOST('urlsource','alpha'); diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index 7493ef6bee9..1053cc530c9 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -62,7 +62,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $action=GETPOST('action','alpha'); -$original_file=GETPOST("file",'alpha'); +$original_file=GETPOST('file','alphanohtml'); // Do not use urldecode here ($_GET are already decoded by PHP). $modulepart=GETPOST('modulepart','alpha'); $urlsource=GETPOST("urlsource",'alpha'); $entity=GETPOST('entity','int')?GETPOST('entity','int'):$conf->entity; From 4c31749f4b384ded577d96ed09ad124f7a141ec9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 11:11:56 +0100 Subject: [PATCH 116/130] Add tooltip on setup --- htdocs/admin/agenda_other.php | 5 +++-- htdocs/langs/en_US/admin.lang | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index f16226c812b..639671b4647 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -35,7 +35,7 @@ if (!$user->admin) accessforbidden(); // Load translation files required by the page -$langs->loadLangs(array('admin', 'other', 'agenda')); +$langs->loadLangs(array('admin', 'other', 'agenda', 'users')); $action = GETPOST('action','alpha'); $value = GETPOST('value','alpha'); @@ -353,7 +353,8 @@ print '</td></tr>'."\n"; // AGENDA_DEFAULT_VIEW print '<tr class="oddeven">'."\n"; -print '<td>'.$langs->trans("AGENDA_DEFAULT_VIEW").'</td>'."\n"; +$htmltext=$langs->trans("ThisValueCanOverwrittenOnUserLevel", $langs->transnoentitiesnoconv("UserGUISetup")); +print '<td>'.$form->textwithpicto($langs->trans("AGENDA_DEFAULT_VIEW"), $htmltext).'</td>'."\n"; print '<td align="center"> </td>'."\n"; print '<td class="right">'."\n"; $tmplist=array(''=>' ', 'show_list'=>$langs->trans("ViewList"), 'show_month'=>$langs->trans("ViewCal"), 'show_week'=>$langs->trans("ViewWeek"), 'show_day'=>$langs->trans("ViewDay"), 'show_peruser'=>$langs->trans("ViewPerUser")); diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 77b5894b709..d92a0b47bcc 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1853,4 +1853,5 @@ ConfirmUnactivation=Confirm module reset OnMobileOnly=On small screen (smartphone) only DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be Prospect or Customer but can't be both) MAIN_OPTIMIZEFORTEXTBROWSER=Simplify interface for blind person -MAIN_OPTIMIZEFORTEXTBROWSERDesc=Enable this option if you are a blind person, or if you use the application from a text browser like Lynx or Links. \ No newline at end of file +MAIN_OPTIMIZEFORTEXTBROWSERDesc=Enable this option if you are a blind person, or if you use the application from a text browser like Lynx or Links. +ThisValueCanOverwrittenOnUserLevel=This value can be overwritten by each user from its user page - tab '%s' \ No newline at end of file From 57797b13096460e1c8e9a631aa4bd73036c86f4f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 12:48:51 +0100 Subject: [PATCH 117/130] Remove image --- .../medias/background_computer_coffee.jpg | Bin 385205 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 htdocs/install/medias/background_computer_coffee.jpg diff --git a/htdocs/install/medias/background_computer_coffee.jpg b/htdocs/install/medias/background_computer_coffee.jpg deleted file mode 100644 index 0a4c8828a585c72cb1df00e127aea7d026c842a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385205 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%0DHvB~0NfFfyTSIAyKD;|F`BX?e-Zxx2H^c7;QoX3 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%0AXb&9{p#9*sl2U{qDt{A5wN=NZTO1| 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%0A%%03Ny`4xb-ZdL1vJW~ITnA6*d)sbO1T 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�?gZ25@FY<cDp;liX2T9 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≪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 From fd67253e408db0f2745018ecf34062823090751c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 13:16:54 +0100 Subject: [PATCH 118/130] Clean package --- build/makepack-dolibarr.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 14f28a71edc..bbdfa564183 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -589,7 +589,8 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpoffice/phpexcel/Examples`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpoffice/phpexcel/unitTests`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpoffice/phpexcel/license.md`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/sabre/sabre/dav/tests`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/sabre/sabre/*/tests`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/stripe/tests`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/stripe/LICENSE`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`; From 14dea537003e631bbc5dd1beaa7088d58dfc6fca Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 15:51:02 +0100 Subject: [PATCH 119/130] FIX Missing field in import/export of users --- htdocs/core/modules/modUser.class.php | 61 ++++++++++++++++++++------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index 355089a09e1..b37fb900d29 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -216,23 +216,43 @@ class modUser extends DolibarrModules $r++; $this->export_code[$r]=$this->rights_class.'_'.$r; - $this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs'; + $this->export_label[$r]='List of users and attributes'; $this->export_permission[$r]=array(array("user","user","export")); $this->export_fields_array[$r]=array( - 'u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.accountancy_code'=>"UserAccountancyCode", - 'u.office_phone'=>'Phone','u.office_fax'=>'Fax','u.email'=>'EMail','u.datec'=>"DateCreation",'u.tms'=>"DateLastModification", - 'u.admin'=>"Administrator",'u.statut'=>'Status','u.note'=>"Note",'u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion', + 'u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.employee'=>"Employee",'u.job'=>"PostOrFunction",'u.gender'=>"Gender", + 'u.accountancy_code'=>"UserAccountancyCode", + 'u.address'=>"Address",'u.zip'=>"Zip",'u.town'=>"Town", + 'u.office_phone'=>'Phone','u.user_mobile'=>"Mobile",'u.office_fax'=>'Fax', + 'u.email'=>"Email",'u.note'=>"Note",'u.signature'=>'Signature', + 'u.fk_user'=>'Supervisor','u.thm'=>'THM','u.tjm'=>'TJM','u.weeklyhours'=>'WeeklyHours', + 'u.dateemployment'=>'DateEmployment','u.salary'=>'Salary','u.color'=>'Color','u.api_key'=>'ApiKey', + 'u.birth'=>'BirthdayDate', + 'u.datec'=>"DateCreation",'u.tms'=>"DateLastModification", + 'u.admin'=>"Administrator",'u.statut'=>'Status','u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion', 'u.fk_socpeople'=>"IdContact",'u.fk_soc'=>"IdCompany",'u.fk_member'=>"MemberId" ); $this->export_TypeFields_array[$r]=array( - 'u.login'=>"Text",'u.lastname'=>"Text",'u.firstname'=>"Text",'u.accountancy_code'=>'Text','u.office_phone'=>'Text','u.office_fax'=>'Text', + 'u.login'=>"Text",'u.lastname'=>"Text",'u.firstname'=>"Text",'u.employee'=>'Boolean','u.job'=>'Text', + 'u.accountancy_code'=>'Text', + 'u.address'=>"Text",'u.zip'=>"Text",'u.town'=>"Text", + 'u.office_phone'=>'Text','u.user_mobile'=>'Text','u.office_fax'=>'Text', 'u.email'=>'Text','u.datec'=>"Date",'u.tms'=>"Date",'u.admin'=>"Boolean",'u.statut'=>'Status','u.note'=>"Text",'u.datelastlogin'=>'Date', - 'u.datepreviouslogin'=>'Date','u.fk_soc'=>"List:societe:nom:rowid",'u.fk_member'=>"List:adherent:firstname" + 'u.fk_user'=>"List:user:login", + 'u.birth'=>'Date', + 'u.datepreviouslogin'=>'Date','u.fk_soc'=>"List:societe:nom:rowid",'u.fk_member'=>"List:adherent:firstname" ); $this->export_entities_array[$r]=array( - 'u.rowid'=>"user",'u.login'=>"user",'u.lastname'=>"user",'u.firstname'=>"user",'u.accountancy_code'=>'user','u.office_phone'=>'user', - 'u.office_fax'=>'user','u.email'=>'user','u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.statut'=>'user','u.note'=>"user", - 'u.datelastlogin'=>'user','u.datepreviouslogin'=>'user','u.fk_socpeople'=>"contact",'u.fk_soc'=>"company",'u.fk_member'=>"member" + 'u.rowid'=>"user",'u.login'=>"user",'u.lastname'=>"user",'u.firstname'=>"user",'u.employee'=>'user','u.job'=>'user','u.gender'=>'user', + 'u.accountancy_code'=>'user', + 'u.address'=>"user",'u.zip'=>"user",'u.town'=>"user", + 'u.office_phone'=>'user','u.user_mobile'=>'user','u.office_fax'=>'user', + 'u.email'=>'user','u.note'=>"user",'u.signature'=>'user', + 'u.fk_user'=>'user','u.thm'=>'user','u.tjm'=>'user','u.weeklyhours'=>'user', + 'u.dateemployment'=>'user','u.salary'=>'user','u.color'=>'user','u.api_key'=>'user', + 'u.birth'=>'user', + 'u.datec'=>"user",'u.tms'=>"user", + 'u.admin'=>"user",'u.statut'=>'user','u.datelastlogin'=>'user','u.datepreviouslogin'=>'user', + 'u.fk_socpeople'=>"contact",'u.fk_soc'=>"company",'u.fk_member'=>"member" ); if (empty($conf->adherent->enabled)) { @@ -255,11 +275,17 @@ class modUser extends DolibarrModules $this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon $this->import_tables_array[$r]=array('u'=>MAIN_DB_PREFIX.'user','extra'=>MAIN_DB_PREFIX.'user_extrafields'); // List of tables to insert into (insert done in same order) $this->import_fields_array[$r]=array( - 'u.lastname'=>"Name*",'u.firstname'=>"Firstname",'u.employee'=>"Employee*",'u.job'=>"Job",'u.gender'=>"Gender",'u.login'=>"Login*", + 'u.login'=>"Login*",'u.lastname'=>"Name*",'u.firstname'=>"Firstname",'u.employee'=>"Employee*",'u.job'=>"PostOrFunction",'u.gender'=>"Gender", + 'u.accountancy_code'=>"UserAccountancyCode", 'u.pass_crypted'=>"Password",'u.admin'=>"Administrator",'u.fk_soc'=>"Company*",'u.address'=>"Address",'u.zip'=>"Zip",'u.town'=>"Town", - 'u.fk_state'=>"StateId",'u.fk_country'=>"CountryCode",'u.office_phone'=>"Phone",'u.user_mobile'=>"Mobile",'u.office_fax'=>"Fax", - 'u.email'=>"Email",'u.note'=>"Note",'u.signature'=>'Signature','u.fk_user'=>'Supervisor','u.thm'=>'THM','u.tjm'=>'TJM', - 'u.dateemployment'=>'DateEmployment','u.salary'=>'Salary','u.color'=>'Color','u.api_key'=>'ApiKey','u.datec'=>"DateCreation" + 'u.fk_state'=>"StateId",'u.fk_country'=>"CountryCode", + 'u.office_phone'=>"Phone",'u.user_mobile'=>"Mobile",'u.office_fax'=>"Fax", + 'u.email'=>"Email",'u.note'=>"Note",'u.signature'=>'Signature', + 'u.fk_user'=>'Supervisor','u.thm'=>'THM','u.tjm'=>'TJM','u.weeklyhours'=>'WeeklyHours', + 'u.dateemployment'=>'DateEmployment','u.salary'=>'Salary','u.color'=>'Color','u.api_key'=>'ApiKey', + 'u.birth'=>'BirthdayDate', + 'u.datec'=>"DateCreation", + 'u.statut'=>'Status' ); // Add extra fields $sql="SELECT name, label, fieldrequired FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'user' AND entity IN (0,".$conf->entity.")"; @@ -283,13 +309,16 @@ class modUser extends DolibarrModules //$this->import_convertvalue_array[$r]=array('s.fk_soc'=>array('rule'=>'lastrowid',table='t'); $this->import_regex_array[$r]=array( 'u.employee'=>'^[0|1]', - 'u.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]( [0-9][0-9]:[0-9][0-9]:[0-9][0-9])?$' + 'u.datec'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]( [0-9][0-9]:[0-9][0-9]:[0-9][0-9])?$', + 'u.dateemployment'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$', + 'u.birth'=>'^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$' ); $this->import_examplevalues_array[$r]=array( - 'u.lastname'=>"Doe",'u.firstname'=>'John','u.login'=>'jdoe','u.employee'=>'0 or 1','u.status'=>"0 (closed) or 1 (active)", + 'u.lastname'=>"Doe",'u.firstname'=>'John','u.login'=>'jdoe','u.employee'=>'0 or 1', 'u.fk_soc'=>'0 (internal user) or company name (external user)','u.datec'=>dol_print_date(dol_now(),'%Y-%m-%d'),'u.address'=>"61 jump street", 'u.zip'=>"123456",'u.town'=>"Big town",'u.fk_country'=>'US, FR, DE...','u.office_phone'=>"0101010101",'u.office_fax'=>"0101010102", - 'u.email'=>"test@mycompany.com",'u.salary'=>"10000",'u.note'=>"This is an example of note for record",'u.datec'=>"2015-01-01 or 2015-01-01 12:30:00" + 'u.email'=>"test@mycompany.com",'u.salary'=>"10000",'u.note'=>"This is an example of note for record",'u.datec'=>"2015-01-01 or 2015-01-01 12:30:00", + 'u.statut'=>"0 (closed) or 1 (active)", ); $this->import_updatekeys_array[$r]=array('u.lastname'=>'Lastname','u.firstname'=>'Firstname','u.login'=>'Login'); From 189323ad58eb9b2101bdee0b24bc8718dc57fedb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 18:12:34 +0100 Subject: [PATCH 120/130] Fix when using image into description --- htdocs/core/lib/pdf.lib.php | 9 +++++++++ htdocs/theme/eldy/ckeditor/config.js | 2 ++ 2 files changed, 11 insertions(+) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 4490a59d055..c4dcfa93b79 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -1175,6 +1175,15 @@ function pdf_writelinedesc(&$pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy,$hide if (empty($reshook)) { $labelproductservice=pdf_getlinedesc($object,$i,$outputlangs,$hideref,$hidedesc,$issupplierline); + + //var_dump($labelproductservice);exit; + + // Fix bug of some HTML editors that replace links <img src="http://localhostgit/viewimage.php?modulepart=medias&file=image/efd.png" into <img src="http://localhostgit/viewimage.php?modulepart=medias&file=image/efd.png" + // We make the reverse, so PDF generation has the real URL. + $labelproductservice = preg_replace('/(<img[^>]*src=")([^"]*)(&)([^"]*")/', '\1\2&\4', $labelproductservice, -1, $nbrep); + + //var_dump($labelproductservice);exit; + // Description $pdf->writeHTMLCell($w, $h, $posx, $posy, $outputlangs->convToOutputCharset($labelproductservice), 0, 1, false, true, 'J',true); $result.=$labelproductservice; diff --git a/htdocs/theme/eldy/ckeditor/config.js b/htdocs/theme/eldy/ckeditor/config.js index 50ff0cc6eed..b52fd6f7e51 100644 --- a/htdocs/theme/eldy/ckeditor/config.js +++ b/htdocs/theme/eldy/ckeditor/config.js @@ -9,6 +9,8 @@ CKEDITOR.editorConfig = function( config ) // http://docs.cksource.com/CKEditor_3.x/Developers_Guide // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html config.enterMode = CKEDITOR.ENTER_BR; + //config.forceSimpleAmpersand = true; // When you put a <img src="x?a=a&b=b"> into the textarea, and go into "source", then ckeditor change the & into &. We don't want this. But this option does not fix this. + //config.entities = false; // When you put a <img src="x?a=a&b=b"> into the textarea, and go into "source", then ckeditor change the & into &. We don't want this. But this option does not fix this. config.resize_enabled = false; //config.resize_maxHeight = 3000; //config.resize_maxWidth = 3000; From 0a56069f678cfafeeb3ae1febfb842cd5edd674f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 19:42:55 +0100 Subject: [PATCH 121/130] Fix trans --- htdocs/langs/fr_FR/members.lang | 2 +- htdocs/langs/fr_FR/other.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/fr_FR/members.lang b/htdocs/langs/fr_FR/members.lang index 6e3a5e7513e..183b11d7e81 100644 --- a/htdocs/langs/fr_FR/members.lang +++ b/htdocs/langs/fr_FR/members.lang @@ -124,7 +124,7 @@ CardContent=Contenu de votre fiche adhérent ThisIsContentOfYourMembershipRequestWasReceived=Nous vous informons que votre demande d'adhésion a bien été reçue. <br> <br> ThisIsContentOfYourMembershipWasValidated=Nous vous informons que votre adhésion a été validé avec les informations suivantes:<br><br> ThisIsContentOfYourSubscriptionWasRecorded=Nous vous informons que votre nouvelle cotisation a été enregistrée.<br><br> -ThisIsContentOfSubscriptionReminderEmail=Nous voulons vous informer que votre abonnement est sur le point d'expirer ou a déjà expiré (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). Nous espérons que vous pourrez le renouveler. <br> <br> +ThisIsContentOfSubscriptionReminderEmail=Nous voulons vous informer que votre cotisation est sur le point d'expirer ou a déjà expiré (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). Nous espérons que vous pourrez le renouveler. <br> <br> ThisIsContentOfYourCard=Ceci est un rappel des informations que nous avons vos concernant. N'hésitez pas à nous contacter en cas d'erreur.<br><br> DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Sujet de l'email reçu en cas d'auto-inscription d'un invité DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Email reçu en cas d'auto-inscription d'un invité diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index ec144505b83..56d3194edeb 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -82,7 +82,7 @@ AttachANewFile=Ajouter un nouveau fichier/document LinkedObject=Objet lié NbOfActiveNotifications=Nombre de notifications (nb de destinataires emails) PredefinedMailTest=__(Hello)__,\nCeci est un mail de test envoyé à __EMAIL__.\nLes deux lignes sont séparées par un saut de ligne.\n\n__USER_SIGNATURE__ -PredefinedMailTestHtml=__(Hello)__\nCeci est un message de <b>test</b> (le mot test doit être en gras).<br>Les 2 lignes sont séparées par un retour à la ligne.<br><br>__SIGNATURE__ +PredefinedMailTestHtml=__(Hello)__<br>Ceci est un message de <b>test</b> (le mot test doit être en gras).<br>Les 2 lignes sont séparées par un retour à la ligne.<br><br>__SIGNATURE__ PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoice=__(Bonjour)__\n\nVeuillez trouver la facture ci-jointe __REF__\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Cordialement)__\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__(Bonjour)__\n\nNous tenons à vous avertir que la facture __REF__ ne semble pas avoir été payée. La facture est jointe, à titre de rappel.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__(Cordialement)__\n\n__USER_SIGNATURE__ From c05628c746d401c593a57d583caa3f16156b6ca3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 20:27:55 +0100 Subject: [PATCH 122/130] Fix edit member module setup --- htdocs/adherents/admin/adherent_emails.php | 41 ++++++++++++---------- htdocs/langs/en_US/members.lang | 4 +-- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/htdocs/adherents/admin/adherent_emails.php b/htdocs/adherents/admin/adherent_emails.php index 9ee06cd3fa7..33d42986256 100644 --- a/htdocs/adherents/admin/adherent_emails.php +++ b/htdocs/adherents/admin/adherent_emails.php @@ -43,6 +43,22 @@ $oldtypetonewone=array('texte'=>'text','chaine'=>'string'); // old type to new o $action = GETPOST('action','alpha'); +$error = 0; + +// Editing global variables not related to a specific theme +$constantes=array( + 'MEMBER_REMINDER_EMAIL'=>array('type'=>'yesno', 'label'=>$langs->trans('MEMBER_REMINDER_EMAIL', $langs->transnoentities("Module2300Name"))), + 'ADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION' =>'emailtemplate:member', + 'ADHERENT_EMAIL_TEMPLATE_AUTOREGISTER' =>'emailtemplate:member', /* old was ADHERENT_AUTOREGISTER_MAIL */ + 'ADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_VALID */ + 'ADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_COTIS */ + 'ADHERENT_EMAIL_TEMPLATE_CANCELATION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_RESIL */ + 'ADHERENT_MAIL_FROM'=>'string', + 'ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT'=>'string', + 'ADHERENT_AUTOREGISTER_NOTIF_MAIL'=>'html', +); + + /* * Actions @@ -133,24 +149,10 @@ $head = member_admin_prepare_head(); dol_fiche_head($head, 'emails', $langs->trans("Members"), -1, 'user'); -print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; -print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; -print '<input type="hidden" name="action" value="updateall">'; - -/* - * Editing global variables not related to a specific theme - */ -$constantes=array( - 'ADHERENT_MAIL_FROM'=>'string', - 'ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT'=>'string', - 'ADHERENT_AUTOREGISTER_NOTIF_MAIL'=>'html', - 'ADHERENT_EMAIL_TEMPLATE_AUTOREGISTER' =>'emailtemplate:member', /* old was ADHERENT_AUTOREGISTER_MAIL */ - 'ADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_VALID */ - 'ADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_COTIS */ - 'ADHERENT_EMAIL_TEMPLATE_CANCELATION' =>'emailtemplate:member', /* old was ADHERENT_MAIL_RESIL */ - 'MEMBER_REMINDER_EMAIL'=>array('type'=>'yesno', 'label'=>$langs->trans('MEMBER_REMINDER_EMAIL', $langs->transnoentities("Module2300Name"))), - 'ADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION' =>'emailtemplate:member', -); +// TODO Use global form +//print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; +//print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; +//print '<input type="hidden" name="action" value="updateall">'; $helptext='*'.$langs->trans("FollowingConstantsWillBeSubstituted").'<br>'; $helptext.='__DOL_MAIN_URL_ROOT__, __ID__, __FIRSTNAME__, __LASTNAME__, __FULLNAME__, __LOGIN__, __PASSWORD__, '; @@ -159,6 +161,9 @@ $helptext.='__COMPANY__, __ADDRESS__, __ZIP__, __TOWN__, __COUNTRY__, __EMAIL__, form_constantes($constantes, 0, $helptext); +//print '<div align="center"><input type="submit" class="button" value="'.$langs->trans("Update").'" name="update"></div>'; +//print '</form>'; + dol_fiche_end(); // End of page diff --git a/htdocs/langs/en_US/members.lang b/htdocs/langs/en_US/members.lang index e28f242d964..89b24166fc2 100644 --- a/htdocs/langs/en_US/members.lang +++ b/htdocs/langs/en_US/members.lang @@ -126,8 +126,8 @@ ThisIsContentOfYourMembershipWasValidated=We want to let you know that your memb ThisIsContentOfYourSubscriptionWasRecorded=We want to let you know that your new subscription was recorded.<br><br> ThisIsContentOfSubscriptionReminderEmail=We want to let you know that your subscription is about to expire or is already expired (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). We hope you can make a renewal of it.<br><br> ThisIsContentOfYourCard=This is a remind of the information we get about you. Feel free to contact us if something looks wrong.<br><br> -DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the e-mail received in case of auto-inscription of a guest -DescADHERENT_AUTOREGISTER_NOTIF_MAIL=E-mail received in case of auto-inscription of a guest +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the e-mail notification received in case of auto-inscription of a guest +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of notificiation e-mail received in case of auto-inscription of a guest DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Template Email to use to send email to a member on member autosubscription DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Template EMail to use to send email to a member on member validation DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Template Email to use to send email to a member on new subscription recording From a0c0b377b2e51c39f025cb59087ae47b2b64d6b9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 20:53:47 +0100 Subject: [PATCH 123/130] css --- htdocs/adherents/admin/website.php | 2 +- htdocs/core/tpl/admin_extrafields_view.tpl.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/adherents/admin/website.php b/htdocs/adherents/admin/website.php index cad250a60d0..02364a3a1d8 100644 --- a/htdocs/adherents/admin/website.php +++ b/htdocs/adherents/admin/website.php @@ -136,7 +136,7 @@ if ($conf->use_javascript_ajax) } -print $langs->trans("BlankSubscriptionFormDesc").'<br><br>'; +print '<span class="opacitymedium">'.$langs->trans("BlankSubscriptionFormDesc").'</span><br><br>'; $enabledisablehtml = $langs->trans("EnablePublicSubscriptionForm").' '; diff --git a/htdocs/core/tpl/admin_extrafields_view.tpl.php b/htdocs/core/tpl/admin_extrafields_view.tpl.php index 79f5a0bad5c..d056f03cd75 100644 --- a/htdocs/core/tpl/admin_extrafields_view.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_view.tpl.php @@ -39,7 +39,7 @@ $langs->load("modulebuilder"); <!-- BEGIN PHP TEMPLATE admin_extrafields_view.tpl.php --> <?php -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'<br>'."\n"; +print '<span class="opacitymedium">'.$langs->trans("DefineHereComplementaryAttributes",$textobject).'</span><br>'."\n"; print '<br>'; // Load attribute_label From 3e6aef472dd7626a0f2572587d94b9ec35ea0c16 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 31 Jan 2019 20:53:59 +0100 Subject: [PATCH 124/130] css --- htdocs/core/lib/admin.lib.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index 77a21100f48..a3f2772c6c1 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -1358,18 +1358,23 @@ function complete_elementList_with_modules(&$elementList) * * @param array $tableau Array of constants array('key'=>array('type'=>type, 'label'=>label) * where type can be 'string', 'text', 'textarea', 'html', 'yesno', 'emailtemplate:xxx', ... - * @param int $strictw3c 0=Include form into table (deprecated), 1=Form is outside table to respect W3C (no form into table), 2=No form nor button at all + * @param int $strictw3c 0=Include form into table (deprecated), 1=Form is outside table to respect W3C (no form into table), 2=No form nor button at all (form is output by caller, recommanded) * @param string $helptext Help * @return void */ function form_constantes($tableau, $strictw3c = 0, $helptext = '') { - global $db,$bc,$langs,$conf,$user; + global $db,$langs,$conf,$user; global $_Avery_Labels; $form = new Form($db); - if (! empty($strictw3c) && $strictw3c == 1) print "\n".'<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; + if (! empty($strictw3c) && $strictw3c == 1) + { + print "\n".'<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; + print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; + print '<input type="hidden" name="action" value="updateall">'; + } print '<table class="noborder" width="100%">'; print '<tr class="liste_titre">'; @@ -1382,7 +1387,6 @@ function form_constantes($tableau, $strictw3c = 0, $helptext = '') print "</tr>\n"; $label=''; - $listofparam=array(); foreach($tableau as $key => $const) // Loop on each param { $label=''; @@ -1550,6 +1554,7 @@ function form_constantes($tableau, $strictw3c = 0, $helptext = '') print "</td>"; } print "</tr>\n"; + if (empty($strictw3c)) print "</form>\n"; } } From 849b3b640b9f7d85c8dd0881fa4cf0d1dde6beed Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Fri, 1 Feb 2019 13:41:23 +0100 Subject: [PATCH 125/130] Code comment --- htdocs/core/class/commonobject.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 09df72c6543..d12c07b7b01 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -6283,6 +6283,7 @@ abstract class CommonObject // Show only the key field in params if (is_array($params) && array_key_exists('onlykey',$params) && $key != $params['onlykey']) continue; + // @TODO Merge column list -> enabled $enabled = 1; if ($enabled && isset($extrafields->attributes[$this->table_element]['list'][$key])) { From b14a16a119384a9eb61d2906e0bf0f593ed90823 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Fri, 1 Feb 2019 13:48:09 +0100 Subject: [PATCH 126/130] Code comment --- htdocs/core/class/commonobject.class.php | 3 ++- htdocs/langs/en_US/modulebuilder.lang | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index d12c07b7b01..fc07a81b44d 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -6283,7 +6283,8 @@ abstract class CommonObject // Show only the key field in params if (is_array($params) && array_key_exists('onlykey',$params) && $key != $params['onlykey']) continue; - // @TODO Merge column list -> enabled + // @TODO Add test also on 'enabled' (different than 'list' that is 'visibility') + $enabled = 1; if ($enabled && isset($extrafields->attributes[$this->table_element]['list'][$key])) { diff --git a/htdocs/langs/en_US/modulebuilder.lang b/htdocs/langs/en_US/modulebuilder.lang index 6aef75a5746..f8d4669b8e5 100644 --- a/htdocs/langs/en_US/modulebuilder.lang +++ b/htdocs/langs/en_US/modulebuilder.lang @@ -76,7 +76,7 @@ ListOfMenusEntries=List of menu entries ListOfPermissionsDefined=List of defined permissions SeeExamples=See examples here EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) -VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only. Using a negative value means field is not shown by default on list but can be selected for viewing) +VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only. Using a negative value means field is not shown by default on list but can be selected for viewing). It can be an expression, for example: preg_match('/public/', $_SERVER['PHP_SELF'])?0:1 IsAMeasureDesc=Can the value of field be cumulated to get a total into list? (Examples: 1 or 0) SearchAllDesc=Is the field used to make a search from the quick search tool? (Examples: 1 or 0) SpecDefDesc=Enter here all documentation you want to provide with your module that is not already defined by other tabs. You can use .md or better, the rich .asciidoc syntax. From ae81bbac935afc0013ce99c87e3f2c356d1861fb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Fri, 1 Feb 2019 13:49:07 +0100 Subject: [PATCH 127/130] Better var name --- htdocs/core/class/commonobject.class.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index fc07a81b44d..76b0ab6f247 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -6284,11 +6284,12 @@ abstract class CommonObject if (is_array($params) && array_key_exists('onlykey',$params) && $key != $params['onlykey']) continue; // @TODO Add test also on 'enabled' (different than 'list' that is 'visibility') - $enabled = 1; - if ($enabled && isset($extrafields->attributes[$this->table_element]['list'][$key])) + + $visibility = 1; + if ($visibility && isset($extrafields->attributes[$this->table_element]['list'][$key])) { - $enabled = dol_eval($extrafields->attributes[$this->table_element]['list'][$key], 1); + $visibility = dol_eval($extrafields->attributes[$this->table_element]['list'][$key], 1); } $perms = 1; @@ -6297,7 +6298,7 @@ abstract class CommonObject $perms = dol_eval($extrafields->attributes[$this->table_element]['perms'][$key], 1); } - if (($mode == 'create' || $mode == 'edit') && abs($enabled) != 1 && abs($enabled) != 3) continue; // <> -1 and <> 1 and <> 3 = not visible on forms, only on list + if (($mode == 'create' || $mode == 'edit') && abs($visibility) != 1 && abs($visibility) != 3) continue; // <> -1 and <> 1 and <> 3 = not visible on forms, only on list if (empty($perms)) continue; // Load language if required From 95a69570352f8dee08d56f52c9dc47ed19218b09 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Fri, 1 Feb 2019 15:04:44 +0100 Subject: [PATCH 128/130] Fix setup doc --- README.md | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index bcff409035f..6cb38b4bb1d 100644 --- a/README.md +++ b/README.md @@ -29,27 +29,6 @@ Other licenses apply for some included dependencies. See [COPYRIGHT](https://git ## INSTALLING -### Download - -Releases can be downloaded from [official website](https://www.dolibarr.org/). - -### Install from composer - -If you do not already have Composer installed, you may do so by following the instructions at [getcomposer.org](https://getcomposer.org/). On Linux and macOS, you may run the following commands: - -```bash -curl -sS https://getcomposer.org/installer | php -mv composer.phar /usr/local/bin/composer -``` - -On Windows, you can download and run https://getcomposer.org/Composer-Setup.exe - -You can then create a new project - -```bash -composer create-project dolibarr/dolibarr erp -``` - ### Simple setup If you have low technical skills and you're looking to install Dolibarr ERP/CRM in just a few clicks, you can use one of the packaged versions: @@ -58,16 +37,23 @@ If you have low technical skills and you're looking to install Dolibarr ERP/CRM - DoliDeb for Debian or Ubuntu - DoliRpm for Redhat, Fedora, OpenSuse, Mandriva or Mageia +Releases can be downloaded from [official website](https://www.dolibarr.org/). + ### Advanced setup You can use a Web server and a supported database (MariaDB, MySQL or PostgreSQL) to install the standard version. -- Uncompress the downloaded archive -- Copy the "dolibarr" directory and all its files inside your web server root or anywhere you'd like and set up your web server to use "*dolibarr/htdocs*" as root for a new web server virtual host (second choice need to be server administrator) -- Create an empty `htdocs/conf/conf.php` file and set permissions for your web server user (*write* permissions will be removed once install is finished) +- Uncompress the downloaded .zip archive to copy the "dolibarr/htdocs" directory and all its files inside your web server root or get the files directly from GitHub (recommanded if you known git): + + git clone https://github.com/dolibarr/dolibarr -b x.y (where x.y is main version like 3.6, 9.0, ...) + +- Set up your web server to use "*dolibarr/htdocs*" as root if you'r web server does not have directory to point to already defined. + +- Create an empty `htdocs/conf/conf.php` file and set *write* permissions for your web server user (*write* permission will be removed once install is finished) + - From your browser, go to the dolibarr "install/" page - The URL will depends on choices made in the first step: + The URL will depends on how you web setup was setup to point to your dolibarr installation. It may looks like: http://localhost/dolibarr/htdocs/install/ From 97c8bca5ee257f286e1a1f495b8e5a647ed5b9ca Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Fri, 1 Feb 2019 15:09:05 +0100 Subject: [PATCH 129/130] Fix doc --- README-FR.md | 58 +++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/README-FR.md b/README-FR.md index 19d4ae25df9..4feb27893e0 100644 --- a/README-FR.md +++ b/README-FR.md @@ -15,37 +15,43 @@ Dolibarr est distribué sous les termes de la licence GNU General Public License ## INSTALLER DOLIBARR -Si vous n'avez pas de connaissances techniques, et que vous recherchez -un programme d'installation qui installe Dolibarr ERP/CRM en quelques clics, -vous devez vous ré-orienter vers DoliWamp (la version tout-en-un -de Dolibarr pour Windows), DoliDeb (la version tout-en-un pour Debian ou -Ubuntu) ou DoliRpm (la version tout-en-un de Dolibarr pour Fedora, Redhat, -OpenSuse, Mandriva ou Mageia). +### Configuration simple -Vous pouvez les télécharger depuis la rubrique *download* du portail officiel: -https://www.dolibarr.org/ +Si vous avez peu de compétences techniques et que vous souhaitez installer Dolibarr ERP/CRM en quelques clics, vous pouvez utiliser l'une des versions pré-packagées avec les prérequis: -Si vous avez déjà installé un serveur Web avec PHP et une base de données (MariaDb/MySql/PostgreSql), -vous pouvez installer Dolibarr avec cette version de la manière suivante: +- DoliWamp pour Windows +- DoliDeb pour Debian ou Ubuntu +- DoliRpm pour Redhat, Fedora, OpenSuse, Mandriva ou Mageia -- Copiez le répertoire "dolibarr" et son contenu dans la racine de votre serveur - web, ou bien copiez le répertoire sur le serveur et configurez ce serveur pour - utiliser "dolibarr/htdocs" comme racine d'un nouveau virtual host (ce second - choix requiert des compétences et habilitations en administration du serveur - web). - -- Créez un fichier vide "htdocs/conf/conf.php" et attribuez les permissions - en lecture et écriture pour le user du serveur web (les permissions en - écriture seront supprimées une fois l'installation terminée). +Les packages peuvent être téléchargés à partir de [site web officiel] (https://www.dolibarr.org/). -- Depuis votre navigateur, appelez la page "install/" de dolibarr. L'url dépend - du choix fait à la première étape: - http://localhost/dolibarr/htdocs/install/ - ou - http://yourdolibarrvirtualhost/install/ - -- Suivez les instructions fournies par l'installateur... +### Configuration avancée +Vous pouvez aussi utiliser un serveur Web et une base de données prise en charge (MariaDB, MySQL ou PostgreSQL) pour installer la version standard. + +- Décompressez l'archive .zip téléchargée pour copier le répertoire "dolibarr/htdocs" et tous ses fichiers à la racine du serveur Web ou récupérez-les directement à partir de GitHub (recommandé si vous connaissez git): + +  git clone https://github.com/dolibarr/dolibarr -b x.y (où x.y est la version principale comme 3.6, 9.0, ...) + +- Configurez votre serveur Web pour qu'il utilise "*dolibarr/htdocs*" en tant que racine si votre serveur Web ne possède pas déjà de répertoire défini vers lequel pointer. +  +- Créez un fichier `htdocs/conf/conf.php` vide et définissez les autorisations d'*écrire* pour l'utilisateur de votre serveur Web (l'autorisation *écrire* sera supprimée une fois l'installation terminée) + +- Depuis votre navigateur, allez à la page "install/" de dolibarr + +    L’URL dépendra de la façon dont votre configuration Web a été configurée pour pointer vers votre installation de dolibarr. Cela peut ressembler à: + +        http://localhost/dolibarr/htdocs/install/ +         +    ou +     +        http://localhost/dolibarr/install/ +         +    ou +     +    http://yourdolibarrvirtualhost/install/ +    +- Suivez les instructions de l'installateur ## METTRE A JOUR DOLIBARR From aa9feaec554ed12d33ff26436a739fe839cc5084 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Fri, 1 Feb 2019 15:19:57 +0100 Subject: [PATCH 130/130] Update doc --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 6cb38b4bb1d..9dfd1a8a750 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,11 @@ You can use a Web server and a supported database (MariaDB, MySQL or PostgreSQL) - Follow the installer instructions +### Saas/Cloud setup + +If you don't have time to install it yourself, you can try some commercial 'ready to use' Cloud offers (See https://saas.dolibarr.org). However, this third solution is not free. + + ## UPGRADING