diff --git a/htdocs/accountancy/admin/productaccount.php b/htdocs/accountancy/admin/productaccount.php
index 562dfd1505b..1c72ea61abd 100644
--- a/htdocs/accountancy/admin/productaccount.php
+++ b/htdocs/accountancy/admin/productaccount.php
@@ -462,7 +462,7 @@ if ($result)
// print '
' . $obj->description . ' | ';
// TODO: we shoul set a user defined value to adjust user square / wide screen size
$trunclengh = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
- print '' . nl2br(dol_trunc($obj->description, $trunclengh)) . ' | ';
+ print '' . nl2br(dol_trunc($obj->description, $trunclengh)) . ' | ';
}
if ($accounting_product_mode == 'ACCOUNTANCY_SELL' || $accounting_product_mode == 'ACCOUNTANCY_SELL_INTRA' || $accounting_product_mode == 'ACCOUNTANCY_SELL_EXPORT')
diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php
index 986267198c5..cb56a4179b8 100644
--- a/htdocs/accountancy/journal/bankjournal.php
+++ b/htdocs/accountancy/journal/bankjournal.php
@@ -964,7 +964,7 @@ if (empty($action) || $action == 'view') {
$varlink = 'id_journal=' . $id_journal;
- journalHead($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
+ journalHead($nom, '', $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink);
// Test that setup is complete
diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php
index c6dda99dcb2..6138fd395f0 100644
--- a/htdocs/adherents/card.php
+++ b/htdocs/adherents/card.php
@@ -653,7 +653,7 @@ if (empty($reshook))
if (empty($labeltouse) || (int) $labeltouse === -1) {
//fallback on the old configuration.
- setEventMessages('WarningMandatorySetupNotComplete', [], 'errors');
+ setEventMessages('WarningMandatorySetupNotComplete', null, 'errors');
$error++;
}
else {
@@ -734,7 +734,7 @@ if (empty($reshook))
if (empty($labeltouse) || (int) $labeltouse === -1) {
//fallback on the old configuration.
- setEventMessages('WarningMandatorySetupNotComplete', [], 'errors');
+ setEventMessages('WarningMandatorySetupNotComplete', null, 'errors');
$error++;
}
else {
diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php
index 1e940df2e26..dc894663e4c 100644
--- a/htdocs/adherents/class/adherent.class.php
+++ b/htdocs/adherents/class/adherent.class.php
@@ -2439,6 +2439,7 @@ class Adherent extends CommonObject
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
+ // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
/**
* Retourne chaine DN complete dans l'annuaire LDAP pour l'objet
*
@@ -2448,7 +2449,7 @@ class Adherent extends CommonObject
* 2=Return key only (uid=qqq)
* @return string DN
*/
- private function _load_ldap_dn($info, $mode = 0)
+ public function _load_ldap_dn($info, $mode = 0)
{
// phpcs:enable
global $conf;
diff --git a/htdocs/adherents/subscription/list.php b/htdocs/adherents/subscription/list.php
index 16d92b20c5e..026ac9b20bf 100644
--- a/htdocs/adherents/subscription/list.php
+++ b/htdocs/adherents/subscription/list.php
@@ -229,7 +229,7 @@ if ($search_type) $param.="&search_type=".urlencode($search_type);
if ($date_select) $param.="&date_select=".urlencode($date_select);
if ($search_lastname) $param.="&search_lastname=".urlencode($search_lastname);
if ($search_login) $param.="&search_login=".urlencode($search_login);
-if ($search_acount) $param.="&search_account=".urlencode($search_account);
+if ($search_account) $param.="&search_account=".urlencode($search_account);
if ($search_amount) $param.="&search_amount=".urlencode($search_amount);
if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss);
// Add $param from extra fields
diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php
index 8a065190373..509a04494d2 100644
--- a/htdocs/admin/ihm.php
+++ b/htdocs/admin/ihm.php
@@ -60,6 +60,7 @@ if (GETPOST('cancel', 'alpha'))
if ($action == 'removebackgroundlogin' && ! empty($conf->global->MAIN_LOGIN_BACKGROUND))
{
+ dolibarr_set_const($db, "MAIN_IHM_PARAMS_REV", (int) $conf->global->MAIN_IHM_PARAMS_REV+1, 'chaine', 0, '', $conf->entity);
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
$logofile=$conf->mycompany->dir_output.'/logos/'.$conf->global->MAIN_LOGIN_BACKGROUND;
@@ -81,6 +82,7 @@ if ($action == 'removebackgroundlogin' && ! empty($conf->global->MAIN_LOGIN_BACK
if ($action == 'update')
{
dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["MAIN_LANG_DEFAULT"], 'chaine', 0, '', $conf->entity);
+ dolibarr_set_const($db, "MAIN_IHM_PARAMS_REV", (int) $conf->global->MAIN_IHM_PARAMS_REV+1, 'chaine', 0, '', $conf->entity);
dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["MAIN_MULTILANGS"], 'chaine', 0, '', $conf->entity);
dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"], 'chaine', 0, '', $conf->entity);
diff --git a/htdocs/admin/supplier_proposal.php b/htdocs/admin/supplier_proposal.php
index 8b17c860fd4..e627068b692 100644
--- a/htdocs/admin/supplier_proposal.php
+++ b/htdocs/admin/supplier_proposal.php
@@ -220,7 +220,7 @@ print load_fiche_titre($langs->trans("SupplierProposalSetup"), $linkback, 'title
$head = supplier_proposal_admin_prepare_head();
-dol_fiche_head($head, 'general', $langs->trans("CommRequests"), 0, 'supplier_proposal');
+dol_fiche_head($head, 'general', $langs->trans("CommRequests"), -1, 'supplier_proposal');
/*
* Module numerotation
diff --git a/htdocs/bom/class/bom.class.php b/htdocs/bom/class/bom.class.php
index 73682c7698c..10601303a61 100644
--- a/htdocs/bom/class/bom.class.php
+++ b/htdocs/bom/class/bom.class.php
@@ -889,7 +889,7 @@ class BOM extends CommonObject
$this->lines=array();
$objectline = new BOMLine($this->db);
- $result = $objectline->fetchAll('ASC', 'rank', 0, 0, array('customsql'=>'fk_bom = '.$this->id));
+ $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_bom = '.$this->id));
if (is_numeric($result))
{
@@ -1044,7 +1044,7 @@ class BOMLine extends CommonObject
'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>-1, 'position'=>60, 'notnull'=>-1,),
'qty' => array('type'=>'double(24,8)', 'label'=>'Quantity', 'enabled'=>1, 'visible'=>1, 'position'=>100, 'notnull'=>1, 'isameasure'=>'1',),
'efficiency' => array('type'=>'double(8,4)', 'label'=>'ManufacturingEfficiency', 'enabled'=>1, 'visible'=>1, 'default'=>1, 'position'=>110, 'notnull'=>1, 'css'=>'maxwidth50imp', 'help'=>'ValueOfMeansLoss'),
- 'rank' => array('type'=>'integer', 'label'=>'Rank', 'enabled'=>1, 'visible'=>0, 'position'=>200, 'notnull'=>1,),
+ 'position' => array('type'=>'integer', 'label'=>'Rank', 'enabled'=>1, 'visible'=>0, 'position'=>200, 'notnull'=>1,),
'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>1000, 'notnull'=>-1,),
);
public $rowid;
@@ -1053,7 +1053,7 @@ class BOMLine extends CommonObject
public $description;
public $qty;
public $efficiency;
- public $rank;
+ public $position;
public $import_key;
// END MODULEBUILDER PROPERTIES
diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php
index 5eedb9b5740..dd4a2af11ee 100644
--- a/htdocs/compta/facture/fiche-rec.php
+++ b/htdocs/compta/facture/fiche-rec.php
@@ -1423,8 +1423,8 @@ else
include_once DOL_DOCUMENT_ROOT . '/core/modules/facture/modules_facture.php';
$list = array();
$models = ModelePDFFactures::liste_modeles($db);
- foreach ($models as $model) {
- $list[] = $model . ':' . $model;
+ foreach ($models as $k => $model) {
+ $list[] = str_replace(':', '|', $k) . ':' . $model;
}
$select = 'select;'.implode(',', $list);
print $form->editfieldval($langs->trans("Model"), 'modelpdf', $object->modelpdf, $object, $user->rights->facture->creer, $select);
diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php
index 21cbd6dbfc4..1b41be78640 100644
--- a/htdocs/compta/prelevement/class/bonprelevement.class.php
+++ b/htdocs/compta/prelevement/class/bonprelevement.class.php
@@ -1393,7 +1393,7 @@ class BonPrelevement extends CommonObject
$sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, c.code as country_code,";
$sql.= " pl.client_nom as nom, pl.code_banque as cb, pl.code_guichet as cg, pl.number as cc, pl.amount as somme,";
- $sql.= " f.ref as fac, pf.fk_facture as idfac, rib.datec, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum";
+ $sql.= " f.ref as fac, pf.fk_facture as idfac, rib.datec, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum, rib.rum";
$sql.= " FROM";
$sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,";
$sql.= " ".MAIN_DB_PREFIX."facture as f,";
@@ -1419,7 +1419,7 @@ class BonPrelevement extends CommonObject
while ($i < $num)
{
$obj = $this->db->fetch_object($resql);
- $fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $obj->fac, $obj->idfac, $obj->iban, $obj->bic, $this->db->jdate($obj->datec), $obj->drum);
+ $fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $obj->fac, $obj->idfac, $obj->iban, $obj->bic, $this->db->jdate($obj->datec), $obj->drum, $obj->rum);
$this->total = $this->total + $obj->somme;
$i++;
}
@@ -1624,15 +1624,16 @@ class BonPrelevement extends CommonObject
* @param string $row_cg pl.code_guichet AS cg, Not used for SEPA
* @param string $row_cc pl.number AS cc, Not used for SEPA
* @param string $row_somme pl.amount AS somme,
- * @param string $row_ref f.ref
+ * @param string $row_ref f.ref
* @param string $row_idfac pf.fk_facture AS idfac,
* @param string $row_iban rib.iban_prefix AS iban,
* @param string $row_bic rib.bic AS bic,
* @param string $row_datec rib.datec,
* @param string $row_drum rib.rowid used to generate rum
+ * @param string $row_rum rib.rum Rum defined on company bank account
* @return string Return string with SEPA part DrctDbtTxInf
*/
- public function EnregDestinataireSEPA($row_code_client, $row_nom, $row_address, $row_zip, $row_town, $row_country_code, $row_cb, $row_cg, $row_cc, $row_somme, $row_ref, $row_idfac, $row_iban, $row_bic, $row_datec, $row_drum)
+ public function EnregDestinataireSEPA($row_code_client, $row_nom, $row_address, $row_zip, $row_town, $row_country_code, $row_cb, $row_cg, $row_cc, $row_somme, $row_ref, $row_idfac, $row_iban, $row_bic, $row_datec, $row_drum, $row_rum)
{
// phpcs:enable
global $conf;
@@ -1644,7 +1645,7 @@ class BonPrelevement extends CommonObject
// Define value for RUM
// Example: RUMCustomerCode-CustomerBankAccountId-01424448606 (note: Date is date of creation of CustomerBankAccountId)
- $Rum = $this->buildRumNumber($row_code_client, $row_datec, $row_drum);
+ $Rum = empty($row_rum) ? $this->buildRumNumber($row_code_client, $row_datec, $row_drum) : $row_rum;
// Define date of RUM signature
$DtOfSgntr = dol_print_date($row_datec, '%Y-%m-%d');
diff --git a/htdocs/compta/stats/byratecountry.php b/htdocs/compta/stats/byratecountry.php
index c69547740dc..fe6e2a9d150 100644
--- a/htdocs/compta/stats/byratecountry.php
+++ b/htdocs/compta/stats/byratecountry.php
@@ -38,7 +38,7 @@ require_once DOL_DOCUMENT_ROOT.'/expensereport/class/paymentexpensereport.class.
// Load translation files required by the page
$langs->loadLangs(array("other","compta","banks","bills","companies","product","trips","admin","accountancy"));
-$modecompta = GETPOST('modecompta', 'alpha');
+$modecompta = (GETPOST('modecompta', 'alpha') ? GETPOST('modecompta', 'alpha') : $conf->global->ACCOUNTING_MODE);
// Date range
$year=GETPOST("year", 'int');
diff --git a/htdocs/compta/tva/quadri_detail.php b/htdocs/compta/tva/quadri_detail.php
index 8b58bde4199..c48bc385c53 100644
--- a/htdocs/compta/tva/quadri_detail.php
+++ b/htdocs/compta/tva/quadri_detail.php
@@ -5,6 +5,7 @@
* Copyright (C) 2006-2015 Yannick Warnier
* Copyright (C) 2014 Ferran Marcet
* Copyright (C) 2018 Frédéric France
+ * Copyright (C) 2019 Eric Seigne
*
* 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
@@ -116,7 +117,8 @@ foreach ($listofparams as $param)
if (GETPOST($param)!='') $morequerystring.=($morequerystring?'&':'').$param.'='.GETPOST($param);
}
-llxHeader('', $langs->trans("VATReport"), '', '', 0, 0, '', '', $morequerystring);
+$title = $langs->trans("VATReport") . " " . dol_print_date($date_start) . " -> " . dol_print_date($date_end);
+llxHeader('', $title, '', '', 0, 0, '', '', $morequerystring);
//print load_fiche_titre($langs->trans("VAT"),"");
@@ -184,8 +186,10 @@ if ($mysoc->tva_assuj) {
$vatsup.=' ('.$langs->trans("ToGetBack").')';
}
-
-report_header($name, '', $period, $periodlink, $description, $builddate, $exportlink, array(), $calcmode);
+$optioncss = GETPOST('optioncss');
+if($optioncss != "print") {
+ report_header($name, '', $period, $periodlink, $description, $builddate, $exportlink, array(), $calcmode);
+}
$vatcust=$langs->trans("VATReceived");
$vatsup=$langs->trans("VATPaid");
diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php
index ca58882b224..38858518dd6 100644
--- a/htdocs/contact/class/contact.class.php
+++ b/htdocs/contact/class/contact.class.php
@@ -499,6 +499,7 @@ class Contact extends CommonObject
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
+ // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
/**
* Retourne chaine DN complete dans l'annuaire LDAP pour l'objet
*
@@ -508,7 +509,7 @@ class Contact extends CommonObject
* 2=Return key only (uid=qqq)
* @return string DN
*/
- private function _load_ldap_dn($info, $mode = 0)
+ public function _load_ldap_dn($info, $mode = 0)
{
// phpcs:enable
global $conf;
diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index 0a300476fb5..0e08bfada90 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -10,7 +10,7 @@
* Copyright (C) 2015 Alexandre Spangaro
* Copyright (C) 2016 Bahfir abbes
* Copyright (C) 2017 ATM Consulting
- * Copyright (C) 2017 Nicolas ZABOURI
+ * Copyright (C) 2017-2019 Nicolas ZABOURI
* Copyright (C) 2017 Rui Strecht
* Copyright (C) 2018 Frédéric France
* Copyright (C) 2018 Josep Lluís Amador
@@ -2443,9 +2443,9 @@ abstract class CommonObject
*/
public function updateRangOfLine($rowid, $rang)
{
- $fieldposition = 'rang'; // @TODO Rename 'rang' and 'position' into 'rank'
+ $fieldposition = 'rang'; // @TODO Rename 'rang' into 'position'
if (in_array($this->table_element_line, array('ecm_files', 'emailcollector_emailcollectoraction'))) $fieldposition = 'position';
- if (in_array($this->table_element_line, array('bom_bomline'))) $fieldposition = 'rank';
+ if (in_array($this->table_element_line, array('bom_bomline'))) $fieldposition = 'position';
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element_line.' SET '.$fieldposition.' = '.$rang;
$sql.= ' WHERE rowid = '.$rowid;
@@ -2749,7 +2749,7 @@ abstract class CommonObject
$MODULE = "";
if ($this->element == 'propal')
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_PROPOSAL";
- elseif ($this->element == 'order')
+ elseif ($this->element == 'commande' || $this->element == 'order')
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_ORDER";
elseif ($this->element == 'facture')
$MODULE = "MODULE_DISALLOW_UPDATE_PRICE_INVOICE";
diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php
index b8f5c0480b5..0e6b0befef9 100644
--- a/htdocs/core/class/extrafields.class.php
+++ b/htdocs/core/class/extrafields.class.php
@@ -1627,6 +1627,8 @@ class ExtraFields
if ($hidden) return ''; // This is a protection. If field is hidden, we should just not call this method.
+ //if ($computed) $value = // $value is already calculated into $value before calling this method
+
$showsize=0;
if ($type == 'date')
{
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index 12cf8893005..31fc85e3c6a 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -154,7 +154,7 @@ class Form
* @param string $value Value to show/edit
* @param object $object Object
* @param boolean $perm Permission to allow button to edit parameter
- * @param string $typeofdata Type of data ('string' by default, 'email', 'amount:99', 'numeric:99', 'text' or 'textarea:rows:cols%', 'datepicker' ('day' do not work, don't know why), 'dayhour' or 'datepickerhour', 'ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols', 'select:xxx'...)
+ * @param string $typeofdata Type of data ('string' by default, 'email', 'amount:99', 'numeric:99', 'text' or 'textarea:rows:cols%', 'datepicker' ('day' do not work, don't know why), 'dayhour' or 'datepickerhour', 'ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols', 'select;xkey:xval,ykey:yval,...')
* @param string $editvalue When in edit mode, use this value as $value instead of value (for example, you can provide here a formated price instead of value). Use '' to use same than $value
* @param object $extObject External object
* @param mixed $custommsg String or Array of custom messages : eg array('success' => 'MyMessage', 'error' => 'MyMessage')
@@ -174,7 +174,7 @@ class Form
if (empty($typeofdata)) return 'ErrorBadParameter';
// When option to edit inline is activated
- if (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE) && ! preg_match('/^select;|datehourpicker/', $typeofdata)) // TODO add jquery timepicker
+ if (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE) && ! preg_match('/^select;|datehourpicker/', $typeofdata)) // TODO add jquery timepicker and support select
{
$ret.=$this->editInPlace($object, $value, $htmlname, $perm, $typeofdata, $editvalue, $extObject, $custommsg);
}
@@ -231,7 +231,8 @@ class Form
foreach($arraydata as $val)
{
$tmp=explode(':', $val);
- $arraylist[$tmp[0]]=$tmp[1];
+ $tmpkey=str_replace('|', ':', $tmp[0]);
+ $arraylist[$tmpkey]=$tmp[1];
}
$ret.=$this->selectarray($htmlname, $arraylist, $value);
}
@@ -300,7 +301,7 @@ class Form
* @param string $value Value to show/edit
* @param string $htmlname DIV ID (field name)
* @param int $condition Condition to edit
- * @param string $inputType Type of input ('string', 'numeric', 'datepicker' ('day' do not work, don't know why), 'textarea:rows:cols', 'ckeditor:dolibarr_zzz:width:height:?:1:rows:cols', 'select:xxx')
+ * @param string $inputType Type of input ('string', 'numeric', 'datepicker' ('day' do not work, don't know why), 'textarea:rows:cols', 'ckeditor:dolibarr_zzz:width:height:?:1:rows:cols', 'select:loadmethod:savemethod:buttononly')
* @param string $editvalue When in edit mode, use this value as $value instead of value
* @param object $extObject External object
* @param mixed $custommsg String or Array of custom messages : eg array('success' => 'MyMessage', 'error' => 'MyMessage')
diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php
index 620b9317995..c6a138b2a02 100644
--- a/htdocs/core/class/html.formother.class.php
+++ b/htdocs/core/class/html.formother.class.php
@@ -422,7 +422,7 @@ class FormOther
if (! empty($user->admin) && empty($user->entity) && $conf->entity == 1) {
$sql_usr.= " WHERE u.entity IS NOT NULL"; // Show all users
} else {
- $sql_usr.= " WHERE EXISTS (SELECT ug.fk_user FROM ".MAIN_DB_PREFIX."usergroup_user as ug WHERE u.rowid = ug.fk_user AND ug.entity IN (".getEntity('user')."))";
+ $sql_usr.= " WHERE EXISTS (SELECT ug.fk_user FROM ".MAIN_DB_PREFIX."usergroup_user as ug WHERE u.rowid = ug.fk_user AND ug.entity IN (".getEntity('usergroup')."))";
$sql_usr.= " OR u.entity = 0"; // Show always superadmin
}
}
@@ -445,7 +445,7 @@ class FormOther
if (! empty($user->admin) && empty($user->entity) && $conf->entity == 1) {
$sql_usr.= " WHERE u2.entity IS NOT NULL"; // Show all users
} else {
- $sql_usr.= " WHERE EXISTS (SELECT ug2.fk_user FROM ".MAIN_DB_PREFIX."usergroup_user as ug2 WHERE u2.rowid = ug2.fk_user AND ug2.entity IN (".getEntity('user')."))";
+ $sql_usr.= " WHERE EXISTS (SELECT ug2.fk_user FROM ".MAIN_DB_PREFIX."usergroup_user as ug2 WHERE u2.rowid = ug2.fk_user AND ug2.entity IN (".getEntity('usergroup')."))";
}
}
else
diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index 7518093bf77..88595cd366a 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -1579,7 +1579,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
{
$langs->load("mrp");
- $newmenu->add("", $langs->trans("MenuBOM"), 0, $user->rights->service->lire, '', $mainmenu, 'service');
+ $newmenu->add("", $langs->trans("MenuBOM"), 0, $user->rights->bom->read, '', $mainmenu, 'bom');
$newmenu->add("/bom/bom_card.php?leftmenu=bom&action=create", $langs->trans("NewBOM"), 1, $user->rights->bom->write);
$newmenu->add("/bom/bom_list.php?leftmenu=bom", $langs->trans("List"), 1, $user->rights->bom->read);
}
diff --git a/htdocs/core/modules/modBanque.class.php b/htdocs/core/modules/modBanque.class.php
index fb2c818043e..21c33d35170 100644
--- a/htdocs/core/modules/modBanque.class.php
+++ b/htdocs/core/modules/modBanque.class.php
@@ -150,14 +150,15 @@ class modBanque extends DolibarrModules
$this->export_fields_array[$r]=array(
'b.rowid'=>'IdTransaction','ba.ref'=>'AccountRef','ba.label'=>'AccountLabel','b.datev'=>'DateValue','b.dateo'=>'DateOperation','b.label'=>'Label',
'b.num_chq'=>'ChequeOrTransferNumber','b.fk_bordereau'=>'ChequeBordereau','-b.amount'=>'Debit','b.amount'=>'Credit',
- 'b.num_releve'=>'AccountStatement','b.datec'=>"DateCreation","bu.url_id"=>"IdThirdParty","s.nom"=>"ThirdParty",
- "s.code_compta"=>"CustomerAccountancyCode","s.code_compta_fournisseur"=>"SupplierAccountancyCode"
+ 'b.num_releve'=>'AccountStatement','b.rappro'=>'Conciliated','b.datec'=>"DateCreation","bu.url_id"=>"IdThirdParty",
+ "s.nom"=>"ThirdParty","s.code_compta"=>"CustomerAccountancyCode","s.code_compta_fournisseur"=>"SupplierAccountancyCode"
);
- $this->export_TypeFields_array[$r]=array('ba.ref'=>'Text','ba.label'=>'Text','b.datev'=>'Date','b.dateo'=>'Date','b.label'=>'Text','b.num_chq'=>'Text','b.fk_bordereau'=>'Text','-b.amount'=>'Numeric','b.amount'=>'Numeric','b.num_releve'=>'Text','b.datec'=>"Date","bu.url_id"=>"Text","s.nom"=>"Text","s.code_compta"=>"Text","s.code_compta_fournisseur"=>"Text");
+ $this->export_TypeFields_array[$r]=array('ba.ref'=>'Text','ba.label'=>'Text','b.datev'=>'Date','b.dateo'=>'Date','b.label'=>'Text','b.num_chq'=>'Text','b.fk_bordereau'=>'Text','-b.amount'=>'Numeric','b.amount'=>'Numeric','b.num_releve'=>'Text','b.rappro'=>'Boolean','b.datec'=>"Date","bu.url_id"=>"Text","s.nom"=>"Text","s.code_compta"=>"Text","s.code_compta_fournisseur"=>"Text");
$this->export_entities_array[$r]=array(
'b.rowid'=>'account','ba.ref'=>'account','ba.label'=>'account','b.datev'=>'account','b.dateo'=>'account','b.label'=>'account',
- 'b.num_chq'=>'account','b.fk_bordereau'=>'account','-b.amount'=>'account','b.amount'=>'account','b.num_releve'=>'account',
- 'b.datec'=>"account","bu.url_id"=>"company","s.nom"=>"company","s.code_compta"=>"company","s.code_compta_fournisseur"=>"company"
+ 'b.num_chq'=>'account','b.fk_bordereau'=>'account','-b.amount'=>'account','b.amount'=>'account',
+ 'b.num_releve'=>'account','b.rappro'=>'account','b.datec'=>"account","bu.url_id"=>"company",
+ "s.nom"=>"company","s.code_compta"=>"company","s.code_compta_fournisseur"=>"company"
);
$this->export_special_array[$r]=array('-b.amount'=>'NULLIFNEG','b.amount'=>'NULLIFNEG');
if (empty($conf->fournisseur->enabled))
diff --git a/htdocs/core/tpl/extrafields_list_print_fields.tpl.php b/htdocs/core/tpl/extrafields_list_print_fields.tpl.php
index 1dad8a6739d..35aefb9f719 100644
--- a/htdocs/core/tpl/extrafields_list_print_fields.tpl.php
+++ b/htdocs/core/tpl/extrafields_list_print_fields.tpl.php
@@ -40,7 +40,17 @@ if (! empty($extrafieldsobjectkey)) // $extrafieldsobject is the $object->table_
{
$value = $obj->$tmpkey;
}
-
+ // If field is a computed field, we make computation to get value
+ if ($extrafields->attributes[$extrafieldsobjectkey]['computed'][$key])
+ {
+ //global $obj, $object;
+ //var_dump($extrafields->attributes[$extrafieldsobjectkey]['computed'][$key]);
+ //var_dump($obj);
+ //var_dump($extrafields->attributes[$extrafieldsobjectkey]['computed'][$key]);
+ $value = dol_eval($extrafields->attributes[$extrafieldsobjectkey]['computed'][$key], 1);
+ //var_dump($value);
+ }
+
print $extrafields->showOutputField($key, $value, '', $extrafieldsobjectkey);
print '';
if (! $i) $totalarray['nbfield']++;
diff --git a/htdocs/debugbar/class/DataCollector/DolLogsCollector.php b/htdocs/debugbar/class/DataCollector/DolLogsCollector.php
index 8e39c68b6b7..dd6fabd508f 100644
--- a/htdocs/debugbar/class/DataCollector/DolLogsCollector.php
+++ b/htdocs/debugbar/class/DataCollector/DolLogsCollector.php
@@ -144,7 +144,7 @@ class DolLogsCollector extends MessagesCollector
$linecounter = $lines;
$pos = -2;
$beginning = false;
- $text = [];
+ $text = array();
while ($linecounter > 0) {
$t = " ";
while ($t != "\n") {
@@ -179,12 +179,12 @@ class DolLogsCollector extends MessagesCollector
$pattern = "/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.*/";
$log_levels = $this->getLevels();
preg_match_all($pattern, $file, $matches);
- $log = [];
+ $log = array();
foreach ($matches as $lines) {
foreach ($lines as $line) {
foreach ($log_levels as $level_key => $level) {
if (strpos(strtolower($line), strtolower($level_key)) == 20) {
- $log[] = ['level' => $level, 'line' => $line];
+ $log[] = array('level' => $level, 'line' => $line);
}
}
}
diff --git a/htdocs/install/mysql/data/llx_c_email_templates.sql b/htdocs/install/mysql/data/llx_c_email_templates.sql
index 0c64fcf7d0d..87741d1054b 100644
--- a/htdocs/install/mysql/data/llx_c_email_templates.sql
+++ b/htdocs/install/mysql/data/llx_c_email_templates.sql
@@ -24,7 +24,7 @@ INSERT INTO llx_c_email_templates (entity,module,type_template,lang,private,fk_u
INSERT INTO llx_c_email_templates (entity,module,type_template,lang,private,fk_user,datec,label,position,enabled,active,topic,content,content_lines,joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnAutoSubscription)' ,10,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipRequestWasReceived)__','__(Hello)__ __MEMBER_FULLNAME__,
\n\n__(ThisIsContentOfYourMembershipRequestWasReceived)__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n
\n__(Sincerely)__
__USER_SIGNATURE__',null, 0);
-INSERT INTO llx_c_email_templates (entity,module,type_template,lang,private,fk_user,datec,label,position,enabled,active,topic,content,content_lines,joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnMemberValidation)' ,20,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasValidated)__', '__(Hello)__ __MEMBER_FULLNAME__,
\n\n__(ThisIsContentOfYourMembershipWasValidated)__
__INFOS__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n
\n__(Sincerely)__
__USER_SIGNATURE__',null, 0);
+INSERT INTO llx_c_email_templates (entity,module,type_template,lang,private,fk_user,datec,label,position,enabled,active,topic,content,content_lines,joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnMemberValidation)' ,20,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasValidated)__', '__(Hello)__ __MEMBER_FULLNAME__,
\n\n__(ThisIsContentOfYourMembershipWasValidated)__
__(FirstName)__ : __MEMBER_FIRSTNAME__
__(LastName)__ : __MEMBER_LASTNAME__
__(ID)__ : __MEMBER_ID__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n
\n__(Sincerely)__
__USER_SIGNATURE__',null, 0);
INSERT INTO llx_c_email_templates (entity,module,type_template,lang,private,fk_user,datec,label,position,enabled,active,topic,content,content_lines,joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnNewSubscription)' ,30,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourSubscriptionWasRecorded)__', '__(Hello)__ __MEMBER_FULLNAME__,
\n\n__(ThisIsContentOfYourSubscriptionWasRecorded)__
\n\n
\n__(Sincerely)__
__USER_SIGNATURE__',null, 1);
INSERT INTO llx_c_email_templates (entity,module,type_template,lang,private,fk_user,datec,label,position,enabled,active,topic,content,content_lines,joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingReminderForExpiredSubscription)',40,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(SubscriptionReminderEmail)__', '__(Hello)__ __MEMBER_FULLNAME__,
\n\n__(ThisIsContentOfSubscriptionReminderEmail)__
\n
__ONLINE_PAYMENT_TEXT_AND_URL__
\n
\n__(Sincerely)__
__USER_SIGNATURE__',null, 0);
INSERT INTO llx_c_email_templates (entity,module,type_template,lang,private,fk_user,datec,label,position,enabled,active,topic,content,content_lines,joinfiles) VALUES (0,'adherent','member','',0,null,null,'(SendingEmailOnCancelation)' ,50,'$conf->adherent->enabled',1,'[__[MAIN_INFO_SOCIETE_NOM]__] __(YourMembershipWasCanceled)__', '__(Hello)__ __MEMBER_FULLNAME__,
\n\n__(YourMembershipWasCanceled)__
\n
\n__(Sincerely)__
__USER_SIGNATURE__',null, 0);
diff --git a/htdocs/install/mysql/migration/10.0.0-11.0.0.sql b/htdocs/install/mysql/migration/10.0.0-11.0.0.sql
index b10ab3b9a85..f8cc3062bde 100644
--- a/htdocs/install/mysql/migration/10.0.0-11.0.0.sql
+++ b/htdocs/install/mysql/migration/10.0.0-11.0.0.sql
@@ -48,3 +48,5 @@ ALTER TABLE llx_facture_fourn DROP COLUMN total;
ALTER TABLE llx_user ADD COLUMN iplastlogin varchar(250);
ALTER TABLE llx_user ADD COLUMN ippreviouslogin varchar(250);
+
+ALTER TABLE llx_events ADD COLUMN prefix_session varchar(255) NULL;
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 bf08e794a65..c2d4809f958 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
@@ -252,12 +252,13 @@ CREATE TABLE llx_bom_bomline(
import_key varchar(14),
qty double(24,8) NOT NULL,
efficiency double(8,4) NOT NULL DEFAULT 1,
- rank integer NOT NULL
+ position integer NOT NULL
-- END MODULEBUILDER FIELDS
) ENGINE=innodb;
ALTER TABLE llx_bom_bomline ADD COLUMN efficiency double(8,4) DEFAULT 1;
ALTER TABLE llx_bom_bomline ADD COLUMN fk_bom_child integer NULL;
+ALTER TABLE llx_bom_bomline ADD COLUMN position integer NOT NULL;
create table llx_bom_bomline_extrafields
(
diff --git a/htdocs/install/mysql/tables/llx_bom_bomline.sql b/htdocs/install/mysql/tables/llx_bom_bomline.sql
index bafaaf73694..4b0aa515950 100644
--- a/htdocs/install/mysql/tables/llx_bom_bomline.sql
+++ b/htdocs/install/mysql/tables/llx_bom_bomline.sql
@@ -23,6 +23,6 @@ CREATE TABLE llx_bom_bomline(
import_key varchar(14),
qty double(24,8) NOT NULL,
efficiency double(8,4) NOT NULL DEFAULT 1,
- rank integer NOT NULL
+ position integer NOT NULL
-- END MODULEBUILDER FIELDS
) ENGINE=innodb;
diff --git a/htdocs/install/mysql/tables/llx_events.sql b/htdocs/install/mysql/tables/llx_events.sql
index f906cf0fcbd..c9f8f034a34 100644
--- a/htdocs/install/mysql/tables/llx_events.sql
+++ b/htdocs/install/mysql/tables/llx_events.sql
@@ -27,6 +27,7 @@ create table llx_events
tms timestamp, -- date creation/modification
type varchar(32) NOT NULL, -- action type
entity integer DEFAULT 1 NOT NULL, -- multi company id
+ prefix_session varchar(255) NULL, -- prefix of session, obtained with dol_getprefix
dateevent datetime, -- date event
fk_user integer, -- id user
description varchar(250) NOT NULL, -- full description of action
diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang
index ece95cfca29..6dfe4fc8c4f 100644
--- a/htdocs/langs/en_US/accountancy.lang
+++ b/htdocs/langs/en_US/accountancy.lang
@@ -301,7 +301,7 @@ ChartofaccountsId=Chart of accounts Id
InitAccountancy=Init accountancy
InitAccountancyDesc=This page can be used to initialize an accounting account on products and services that does not have accounting account defined for sales and purchases.
DefaultBindingDesc=This page can be used to set a default account to use to link transactions record about payment salaries, donation, taxes and vat when no specific accounting account were already set.
-DefaultClosureDesc=This page can be used to set parameters to use to enclose a balance sheet.
+DefaultClosureDesc=This page can be used to set parameters used for accounting closures.
Options=Options
OptionModeProductSell=Mode sales
OptionModeProductSellIntra=Mode sales exported in EEC
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index 458e6649d8a..ee2b14fdf11 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -1200,7 +1200,7 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr
if (! is_object($hookmanager)) $hookmanager = new HookManager($db);
$hookmanager->initHooks(array("main"));
- $ext='layout='.$conf->browser->layout.'&version='.urlencode(DOL_VERSION);
+ $ext='layout='.$conf->browser->layout.'&version='.urlencode(DOL_VERSION);
print "\n";
@@ -1246,7 +1246,7 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr
if (GETPOST('version', 'int')) $ext='version='.GETPOST('version', 'int'); // usefull to force no cache on css/js
$themeparam='?lang='.$langs->defaultlang.'&theme='.$conf->theme.(GETPOST('optioncss', 'aZ09')?'&optioncss='.GETPOST('optioncss', 'aZ09', 1):'').'&userid='.$user->id.'&entity='.$conf->entity;
- $themeparam.=($ext?'&'.$ext:'');
+ $themeparam.=($ext?'&'.$ext:'').'&revision='.$conf->global->MAIN_IHM_PARAMS_REV;
if (! empty($_SESSION['dol_resetcache'])) $themeparam.='&dol_resetcache='.$_SESSION['dol_resetcache'];
if (GETPOST('dol_hide_topmenu', 'int')) { $themeparam.='&dol_hide_topmenu='.GETPOST('dol_hide_topmenu', 'int'); }
if (GETPOST('dol_hide_leftmenu', 'int')) { $themeparam.='&dol_hide_leftmenu='.GETPOST('dol_hide_leftmenu', 'int'); }
diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php
index 6382f352106..d2bd1c6ac03 100644
--- a/htdocs/modulebuilder/template/class/myobject.class.php
+++ b/htdocs/modulebuilder/template/class/myobject.class.php
@@ -689,7 +689,7 @@ class MyObject extends CommonObject
$this->lines=array();
$objectline = new MyObjectLine($this->db);
- $result = $objectline->fetchAll('ASC', 'rank', 0, 0, array('customsql'=>'fk_myobject = '.$this->id));
+ $result = $objectline->fetchAll('ASC', 'position', 0, 0, array('customsql'=>'fk_myobject = '.$this->id));
if (is_numeric($result))
{
@@ -774,5 +774,5 @@ class MyObject extends CommonObject
class MyObjectLine
{
// To complete with content of an object MyObjectLine
- // We should have a field rowid, fk_myobject and rank
+ // We should have a field rowid, fk_myobject and position
}
diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php
index c0038ac17d8..11cbfa9ff14 100644
--- a/htdocs/product/class/product.class.php
+++ b/htdocs/product/class/product.class.php
@@ -272,13 +272,26 @@ class Product extends CommonObject
public $accountancy_code_buy;
/**
- * Main barcode
- * barcode value
+ * Main Barcode value
*
* @var string
*/
public $barcode;
+ /**
+ * Main Barcode type ID
+ *
+ * @var int
+ */
+ public $barcode_type;
+
+ /**
+ * Main Barcode type code
+ *
+ * @var string
+ */
+ public $barcode_type_code;
+
/**
* Additional barcodes (Some products have different barcodes according to the country of origin of manufacture)
*
@@ -294,7 +307,7 @@ class Product extends CommonObject
public $multilangs=array();
- //! Taille de l'image
+ //! Size of image
public $imgWidth;
public $imgHeight;
@@ -348,16 +361,7 @@ class Product extends CommonObject
public $fields = array(
- 'rowid' => array(
- 'type'=>'integer',
- 'label'=>'TechnicalID',
- 'enabled'=>1,
- 'visible'=>-2,
- 'notnull'=>1,
- 'index'=>1,
- 'position'=>1,
- 'comment'=>'Id',
- ),
+ 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'index'=>1, 'position'=>1, 'comment'=>'Id'),
'ref' =>array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'searchall'=>1, 'comment'=>'Reference of object'),
'entity' =>array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'default'=>1, 'notnull'=>1, 'index'=>1, 'position'=>20),
'note_public' =>array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>0, 'position'=>61),
diff --git a/htdocs/public/stripe/confirm_payment.php b/htdocs/public/stripe/confirm_payment.php
index ea59b13dcb9..9ff9662ff84 100644
--- a/htdocs/public/stripe/confirm_payment.php
+++ b/htdocs/public/stripe/confirm_payment.php
@@ -15,6 +15,8 @@
* along with this program. If not, see .
*/
+// TODO Do we really need this page. We alread have a ipn.php page !
+
define("NOLOGIN", 1); // This means this output page does not require to be logged.
define("NOCSRFCHECK", 1); // We accept to go on this page from external web site.
@@ -105,13 +107,13 @@ $intent = null;
try {
if (isset($json_obj->payment_method_id)) {
// Create the PaymentIntent
- $intent = \Stripe\PaymentIntent::create([
+ $intent = \Stripe\PaymentIntent::create(array(
'payment_method' => $json_obj->payment_method_id,
'amount' => 1099,
'currency' => 'eur',
'confirmation_method' => 'manual',
'confirm' => true,
- ]);
+ ));
}
if (isset($json_obj->payment_intent_id)) {
$intent = \Stripe\PaymentIntent::retrieve(
@@ -122,9 +124,9 @@ try {
generatePaymentResponse($intent);
} catch (\Stripe\Error\Base $e) {
// Display error on client
- echo json_encode([
+ echo json_encode(array(
'error' => $e->getMessage()
- ]);
+ ));
}
/*
@@ -138,22 +140,22 @@ function generatePaymentResponse($intent)
if ($intent->status == 'requires_source_action' &&
$intent->next_action->type == 'use_stripe_sdk') {
// Tell the client to handle the action
- echo json_encode([
+ echo json_encode(array(
'requires_action' => true,
'payment_intent_client_secret' => $intent->client_secret
- ]);
+ ));
} elseif ($intent->status == 'succeeded') {
// The payment didn’t need any additional actions and completed!
// Handle post-payment fulfillment
// TODO
- echo json_encode([
+ echo json_encode(array(
"success" => true
- ]);
+ ));
} else {
// Invalid status
http_response_code(500);
- echo json_encode(['error' => 'Invalid PaymentIntent status']);
+ echo json_encode(array('error' => 'Invalid PaymentIntent status'));
}
}
diff --git a/htdocs/societe/class/api_contacts.class.php b/htdocs/societe/class/api_contacts.class.php
index 772d8d3fe10..f94e182b010 100644
--- a/htdocs/societe/class/api_contacts.class.php
+++ b/htdocs/societe/class/api_contacts.class.php
@@ -378,6 +378,48 @@ class Contacts extends DolibarrApi
return $result;
}
+ /**
+ * Add a category to a contact
+ *
+ * @url POST {id}/categories/{category_id}
+ *
+ * @param int $id Id of contact
+ * @param int $category_id Id of category
+ *
+ * @return mixed
+ *
+ * @throws 401 RestException Insufficient rights
+ * @throws 401 RestException Access not allowed for login
+ * @throws 404 RestException Category not found
+ * @throws 404 RestException Contact not found
+ */
+ public function addCategory($id, $category_id)
+ {
+ if(! DolibarrApiAccess::$user->rights->societe->contact->creer) {
+ throw new RestException(401, 'Insufficient rights');
+ }
+
+ $result = $this->contact->fetch($id);
+ if (! $result) {
+ throw new RestException(404, 'Contact not found');
+ }
+ $category = new Categorie($this->db);
+ $result = $category->fetch($category_id);
+ if (! $result) {
+ throw new RestException(404, 'category not found');
+ }
+
+ if (! DolibarrApi::_checkAccessToResource('contact', $this->contact->id)) {
+ throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
+ }
+ if (! DolibarrApi::_checkAccessToResource('category', $category->id)) {
+ throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
+ }
+
+ $category->add_type($this->contact, 'contact');
+
+ return $this->_cleanObjectDatas($this->contact);
+ }
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
/**
diff --git a/htdocs/societe/class/api_thirdparties.class.php b/htdocs/societe/class/api_thirdparties.class.php
index adae31e7677..95aad3a003b 100644
--- a/htdocs/societe/class/api_thirdparties.class.php
+++ b/htdocs/societe/class/api_thirdparties.class.php
@@ -1041,7 +1041,7 @@ $reshook = $hookmanager->executeHooks('replaceThirdparty', array(
$i=0;
- $accounts =[];
+ $accounts = array();
if ($result)
{
@@ -1061,12 +1061,12 @@ $reshook = $hookmanager->executeHooks('replaceThirdparty', array(
}
- $fields = ['socid', 'default_rib', 'frstrecur', '1000110000001', 'datec', 'datem', 'label', 'bank', 'bic', 'iban', 'id', 'rum'];
+ $fields = array('socid', 'default_rib', 'frstrecur', '1000110000001', 'datec', 'datem', 'label', 'bank', 'bic', 'iban', 'id', 'rum');
- $returnAccounts = [];
+ $returnAccounts = array();
foreach($accounts as $account){
- $object= [];
+ $object= array();
foreach($account as $key => $value)
if(in_array($key, $fields)){
$object[$key] = $value;
@@ -1308,7 +1308,7 @@ $reshook = $hookmanager->executeHooks('replaceThirdparty', array(
$i=0;
- $accounts =[];
+ $accounts = array();
$num = $db->num_rows($result);
while ($i < $num)
@@ -1322,12 +1322,12 @@ $reshook = $hookmanager->executeHooks('replaceThirdparty', array(
$i++;
}
- $fields = ['id', 'fk_soc', 'key_account', 'site', 'date_creation', 'tms'];
+ $fields = array('id', 'fk_soc', 'key_account', 'site', 'date_creation', 'tms');
- $returnAccounts = [];
+ $returnAccounts = array();
foreach($accounts as $account){
- $object= [];
+ $object= array();
foreach($account as $key => $value)
if(in_array($key, $fields)){
$object[$key] = $value;
diff --git a/htdocs/societe/paymentmodes.php b/htdocs/societe/paymentmodes.php
index 0e41e11cbaa..51a7ccb24bb 100644
--- a/htdocs/societe/paymentmodes.php
+++ b/htdocs/societe/paymentmodes.php
@@ -639,7 +639,7 @@ if (empty($reshook))
try {
if (preg_match('/pm_/', $source))
{
- $payment_method = \Stripe\PaymentMethod::retrieve($source, ["stripe_account" => $stripeacc]);
+ $payment_method = \Stripe\PaymentMethod::retrieve($source, array("stripe_account" => $stripeacc));
if ($payment_method)
{
$payment_method->detach();
diff --git a/htdocs/stripe/class/stripe.class.php b/htdocs/stripe/class/stripe.class.php
index d8d0c656dab..6b910236e96 100644
--- a/htdocs/stripe/class/stripe.class.php
+++ b/htdocs/stripe/class/stripe.class.php
@@ -389,7 +389,7 @@ class Stripe extends CommonObject
"confirmation_method" => $mode,
"amount" => $stripeamount,
"currency" => $currency_code,
- "payment_method_types" => ["card"],
+ "payment_method_types" => array("card"),
"description" => $description,
"statement_descriptor" => dol_trunc($tag, 10, 'right', 'UTF-8', 1), // 22 chars that appears on bank receipt (company + description)
//"save_payment_method" => true,
diff --git a/htdocs/supplier_proposal/admin/supplier_proposal_extrafields.php b/htdocs/supplier_proposal/admin/supplier_proposal_extrafields.php
index 1b5c08119d1..c97ea508448 100644
--- a/htdocs/supplier_proposal/admin/supplier_proposal_extrafields.php
+++ b/htdocs/supplier_proposal/admin/supplier_proposal_extrafields.php
@@ -64,7 +64,7 @@ print load_fiche_titre($langs->trans("SupplierProposalSetup"), $linkback, 'title
$head = supplier_proposal_admin_prepare_head();
-dol_fiche_head($head, 'attributes', $langs->trans("CommRequests"), 0, 'supplier_proposal');
+dol_fiche_head($head, 'attributes', $langs->trans("CommRequests"), -1, 'supplier_proposal');
print $langs->trans("DefineHereComplementaryAttributes", $textobject).'
'."\n";
diff --git a/htdocs/supplier_proposal/admin/supplier_proposaldet_extrafields.php b/htdocs/supplier_proposal/admin/supplier_proposaldet_extrafields.php
index b3b0e482f62..c54e65ad825 100644
--- a/htdocs/supplier_proposal/admin/supplier_proposaldet_extrafields.php
+++ b/htdocs/supplier_proposal/admin/supplier_proposaldet_extrafields.php
@@ -69,7 +69,7 @@ print load_fiche_titre($langs->trans("SupplierProposalSetup"), $linkback, 'title
$head = supplier_proposal_admin_prepare_head();
-dol_fiche_head($head, 'attributeslines', $langs->trans("CommRequests"), 0, 'supplier_proposal');
+dol_fiche_head($head, 'attributeslines', $langs->trans("CommRequests"), -1, 'supplier_proposal');
print $langs->trans("DefineHereComplementaryAttributes", $textobject).'
'."\n";