Hello all, here is a patch for dolibarr 9.0.2 wich replace "empty" by "!= '' tests againts fournisseurs accounts because i use "0" as prefix for theses accounts.
i don't know if it could be used in official dolibarr sources ? if yes i can make a pull request for that. Éric -- Éric Seigne | CAP-REL* eric.sei...@cap-rel.fr | +33 (0)6 987 444 01 https://cap-rel.fr | *Réseau Expertise Linux
diff -ru dolibarr-9.0.2/htdocs/accountancy/bookkeeping/listbyaccount.php dolibarr-9.0.2-patched/htdocs/accountancy/bookkeeping/listbyaccount.php --- dolibarr-9.0.2/htdocs/accountancy/bookkeeping/listbyaccount.php 2018-11-05 20:20:32.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/accountancy/bookkeeping/listbyaccount.php 2019-04-23 09:43:02.287851117 +0200 @@ -350,7 +350,7 @@ $colspan = 9; print "<tr>"; print '<td colspan="'.$colspan.'" style="font-weight:bold; border-bottom: 1pt solid black;">'; - if (! empty($line->numero_compte) && $line->numero_compte != '-1') print length_accountg($line->numero_compte) . ' : ' . $object->get_compte_desc($line->numero_compte); + if ($line->numero_compte != "" && $line->numero_compte != '-1') print length_accountg($line->numero_compte) . ' : ' . $object->get_compte_desc($line->numero_compte); else print '<span class="error">'.$langs->trans("Unknown").'</span>'; print '</td>'; print '</tr>'; diff -ru dolibarr-9.0.2/htdocs/accountancy/class/bookkeeping.class.php dolibarr-9.0.2-patched/htdocs/accountancy/class/bookkeeping.class.php --- dolibarr-9.0.2/htdocs/accountancy/class/bookkeeping.class.php 2019-02-12 13:36:31.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/accountancy/class/bookkeeping.class.php 2019-04-23 09:39:04.966776412 +0200 @@ -221,7 +221,7 @@ if (empty($this->credit)) $this->credit = 0; // Check parameters - if (empty($this->numero_compte) || $this->numero_compte == '-1' || $this->numero_compte == 'NotDefined') + if (($this->numero_compte == "") || $this->numero_compte == '-1' || $this->numero_compte == 'NotDefined') { $langs->loadLangs(array("errors")); if (in_array($this->doc_type, array('bank', 'expense_report'))) diff -ru dolibarr-9.0.2/htdocs/accountancy/class/lettering.class.php dolibarr-9.0.2-patched/htdocs/accountancy/class/lettering.class.php --- dolibarr-9.0.2/htdocs/accountancy/class/lettering.class.php 2018-12-04 11:58:12.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/accountancy/class/lettering.class.php 2019-04-23 09:50:56.829785389 +0200 @@ -67,11 +67,11 @@ $sql .= " FROM " . MAIN_DB_PREFIX . "accounting_bookkeeping as bk"; $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "bank_url as bu ON(bk.fk_doc = bu.fk_bank AND bu.type IN ('payment', 'payment_supplier') ) "; $sql .= " WHERE ( "; - if (! empty($object->code_compta)) + if ($object->code_compta != "") $sql .= " bk.subledger_account = '" . $object->code_compta . "' "; - if (! empty($object->code_compta) && ! empty($object->code_compta_fournisseur)) + if ($object->code_compta != "" && $object->code_compta_fournisseur != "") $sql .= " OR "; - if (! empty($object->code_compta_fournisseur)) + if (! $object->code_compta_fournisseur != "") $sql .= " bk.subledger_account = '" . $object->code_compta_fournisseur . "' "; $sql .= " ) AND (bk.date_lettering ='' OR bk.date_lettering IS NULL) "; @@ -99,13 +99,13 @@ $sql .= " AND facf.entity = ".$conf->entity; $sql .= " AND code_journal IN (SELECT code FROM " . MAIN_DB_PREFIX . "accounting_journal WHERE nature=4 AND entity=".$conf->entity.") "; $sql .= " AND ( "; - if (! empty($object->code_compta)) { + if ($object->code_compta != "") { $sql .= " bk.subledger_account = '" . $object->code_compta . "' "; } - if (! empty($object->code_compta) && ! empty($object->code_compta_fournisseur)) { + if ($object->code_compta != "" && $object->code_compta_fournisseur != "") { $sql .= " OR "; } - if (! empty($object->code_compta_fournisseur)) { + if (! $object->code_compta_fournisseur != "") { $sql .= " bk.subledger_account = '" . $object->code_compta_fournisseur . "' "; } $sql .= " ) "; @@ -127,13 +127,13 @@ $sql .= " WHERE bk.code_journal IN (SELECT code FROM " . MAIN_DB_PREFIX . "accounting_journal WHERE nature=3 AND entity=".$conf->entity.") "; $sql .= " AND facf.entity = ".$conf->entity; $sql .= " AND ( "; - if (! empty($object->code_compta)) { + if ($object->code_compta != "") { $sql .= " bk.subledger_account = '" . $object->code_compta . "' "; } - if (! empty($object->code_compta) && ! empty($object->code_compta_fournisseur)) { + if ($object->code_compta != "" && $object->code_compta_fournisseur != "") { $sql .= " OR "; } - if (! empty($object->code_compta_fournisseur)) { + if ($object->code_compta_fournisseur != "") { $sql .= " bk.subledger_account = '" . $object->code_compta_fournisseur . "' "; } $sql .= " ) "; @@ -159,13 +159,13 @@ $sql .= " AND bk.code_journal IN (SELECT code FROM " . MAIN_DB_PREFIX . "accounting_journal WHERE nature=4 AND entity=".$conf->entity.") "; $sql .= " AND fac.entity = ".$conf->entity; $sql .= " AND ( "; - if (! empty($object->code_compta)) { + if ($object->code_compta != "") { $sql .= " bk.subledger_account = '" . $object->code_compta . "' "; } - if (! empty($object->code_compta) && ! empty($object->code_compta_fournisseur)) { + if ($object->code_compta != "" && $object->code_compta_fournisseur != "") { $sql .= " OR "; } - if (! empty($object->code_compta_fournisseur)) { + if ($object->code_compta_fournisseur != "") { $sql .= " bk.subledger_account = '" . $object->code_compta_fournisseur . "' "; } $sql .= " ) "; @@ -187,13 +187,13 @@ $sql .= " WHERE code_journal IN (SELECT code FROM " . MAIN_DB_PREFIX . "accounting_journal WHERE nature=2 AND entity=".$conf->entity.") "; $sql .= " AND fac.entity = ".$conf->entity; $sql .= " AND ( "; - if (! empty($object->code_compta)) { + if ($object->code_compta != "") { $sql .= " bk.subledger_account = '" . $object->code_compta . "' "; } - if (! empty($object->code_compta) && ! empty($object->code_compta_fournisseur)) { + if ($object->code_compta != "" && $object->code_compta_fournisseur != "") { $sql .= " OR "; } - if (! empty($object->code_compta_fournisseur)) { + if ($object->code_compta_fournisseur != "") { $sql .= " bk.subledger_account = '" . $object->code_compta_fournisseur . "' "; } $sql .= " ) "; diff -ru dolibarr-9.0.2/htdocs/accountancy/journal/bankjournal.php dolibarr-9.0.2-patched/htdocs/accountancy/journal/bankjournal.php --- dolibarr-9.0.2/htdocs/accountancy/journal/bankjournal.php 2019-04-23 10:40:41.322898377 +0200 +++ dolibarr-9.0.2-patched/htdocs/accountancy/journal/bankjournal.php 2019-04-23 10:40:42.258880195 +0200 @@ -217,7 +217,7 @@ // Set accountancy code for thirdparty $compta_soc = 'NotDefined'; if ($lineisapurchase > 0) - $compta_soc = (! empty($obj->code_compta_fournisseur) ? $obj->code_compta_fournisseur : $account_supplier); + $compta_soc = (($obj->code_compta_fournisseur != "") ? $obj->code_compta_fournisseur : $account_supplier); if ($lineisasale > 0) $compta_soc = (! empty($obj->code_compta) ? $obj->code_compta : $account_customer); diff -ru dolibarr-9.0.2/htdocs/accountancy/journal/purchasesjournal.php dolibarr-9.0.2-patched/htdocs/accountancy/journal/purchasesjournal.php --- dolibarr-9.0.2/htdocs/accountancy/journal/purchasesjournal.php 2019-02-12 16:48:24.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/accountancy/journal/purchasesjournal.php 2019-04-23 09:39:04.970776499 +0200 @@ -139,7 +139,7 @@ $num = $db->num_rows($result); // Variables - $cptfour = (! empty($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER)) ? $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER : 'NotDefined'; + $cptfour = (! ($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == "")) ? $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER : 'NotDefined'; $cpttva = (! empty($conf->global->ACCOUNTING_VAT_BUY_ACCOUNT)) ? $conf->global->ACCOUNTING_VAT_BUY_ACCOUNT : 'NotDefined'; $i = 0; @@ -147,7 +147,7 @@ $obj = $db->fetch_object($result); // Controls - $compta_soc = (! empty($obj->code_compta_fournisseur)) ? $obj->code_compta_fournisseur : $cptfour; + $compta_soc = (! ($obj->code_compta_fournisseur == "")) ? $obj->code_compta_fournisseur : $cptfour; $compta_prod = $obj->compte; if (empty($compta_prod)) { @@ -741,13 +741,13 @@ journalHead($nom, $nomlink, $period, $periodlink, $description, $builddate, $exportlink, array('action' => ''), '', $varlink); // Button to write into Ledger - if (empty($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER) || $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == '-1') { + if (($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == "") || $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == '-1') { print img_warning().' '.$langs->trans("SomeMandatoryStepsOfSetupWereNotDone"); print ' : '.$langs->trans("AccountancyAreaDescMisc", 4, '<strong>'.$langs->transnoentitiesnoconv("MenuAccountancy").'-'.$langs->transnoentitiesnoconv("MenuAccountancy").'-'.$langs->transnoentitiesnoconv("Setup")."-".$langs->transnoentitiesnoconv("MenuDefaultAccounts").'</strong>'); } print '<div class="tabsAction tabsActionNoBottom">'; if (! empty($conf->global->ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL)) print '<input type="button" class="butAction" name="exportcsv" value="' . $langs->trans("ExportDraftJournal") . '" onclick="launch_export();" />'; - if (empty($conf->global->ACCOUNTING_ACCOUNT_CUSTOMER) || $conf->global->ACCOUNTING_ACCOUNT_CUSTOMER == '-1') { + if (($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == "") || $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER == '-1') { print '<input type="button" class="butActionRefused" title="'.dol_escape_htmltag($langs->trans("SomeMandatoryStepsOfSetupWereNotDone")).'" value="' . $langs->trans("WriteBookKeeping") . '" />'; } else { @@ -876,9 +876,10 @@ // Account print "<td>"; $accountoshow = length_accounta($conf->global->ACCOUNTING_ACCOUNT_SUPPLIER); - if (empty($accountoshow) || $accountoshow == 'NotDefined') +// print "<span> eric : $accountoshow " . $conf->global->ACCOUNTING_ACCOUNT_SUPPLIER . "</span>"; + if (($accountoshow == "") || $accountoshow == 'NotDefined') { - print '<span class="error">'.$langs->trans("MainAccountForCustomersNotDefined").'</span>'; + print '<span class="error">'.$langs->trans("MainAccountForSuppliersNotDefined").'</span>'; } else print $accountoshow; print '</td>'; diff -ru dolibarr-9.0.2/htdocs/compta/journal/purchasesjournal.php dolibarr-9.0.2-patched/htdocs/compta/journal/purchasesjournal.php --- dolibarr-9.0.2/htdocs/compta/journal/purchasesjournal.php 2018-11-11 17:35:54.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/compta/journal/purchasesjournal.php 2019-04-23 09:52:00.895113646 +0200 @@ -139,7 +139,7 @@ { $obj = $db->fetch_object($result); // contrôles - $compta_soc = (! empty($obj->code_compta_fournisseur)?$obj->code_compta_fournisseur:$cptfour); + $compta_soc = (($obj->code_compta_fournisseur != "")?$obj->code_compta_fournisseur:$cptfour); $compta_prod = $obj->accountancy_code_buy; if (empty($compta_prod)) { diff -ru dolibarr-9.0.2/htdocs/core/class/html.formaccounting.class.php dolibarr-9.0.2-patched/htdocs/core/class/html.formaccounting.class.php --- dolibarr-9.0.2/htdocs/core/class/html.formaccounting.class.php 2018-10-31 12:35:40.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/core/class/html.formaccounting.class.php 2019-04-23 09:52:41.199948225 +0200 @@ -391,7 +391,7 @@ $resql = $this->db->query($sql); if ($resql) { while ($obj = $this->db->fetch_object($resql)) { - if (!empty($obj->code_compta_fournisseur)) { + if ($obj->code_compta_fournisseur != "") { $aux_account[$obj->code_compta_fournisseur] = $obj->code_compta_fournisseur.' ('.$obj->nom.')'; } } diff -ru dolibarr-9.0.2/htdocs/core/lib/accounting.lib.php dolibarr-9.0.2-patched/htdocs/core/lib/accounting.lib.php --- dolibarr-9.0.2/htdocs/core/lib/accounting.lib.php 2018-10-31 12:35:40.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/core/lib/accounting.lib.php 2019-04-23 09:39:04.970776499 +0200 @@ -23,6 +23,14 @@ * \brief Library of accountancy functions */ +function is_empty($var, $allow_false = false, $allow_ws = false) { + if (!isset($var) || is_null($var) || ($allow_ws == false && trim($var) == "" && !is_bool($var)) || ($allow_false === false && is_bool($var) && $var === false) || (is_array($var) && empty($var))) { + return true; + } else { + return false; + } +} + /** * Prepare array with list of tabs * @@ -75,12 +83,12 @@ { global $conf; - if ($account < 0 || empty($account)) return ''; + if ($account < 0 || is_empty($account)) return ''; - if (! empty($conf->global->ACCOUNTING_MANAGE_ZERO)) return $account; + if (! is_empty($conf->global->ACCOUNTING_MANAGE_ZERO)) return $account; $g = $conf->global->ACCOUNTING_LENGTH_GACCOUNT; - if (! empty($g)) { + if (! is_empty($g)) { // Clean parameters $i = strlen($account); @@ -110,12 +118,13 @@ { global $conf, $langs; - if ($accounta < 0 || empty($accounta)) return ''; + if ($accounta < 0 || is_empty($accounta)) return ''; + + if (! is_empty($conf->global->ACCOUNTING_MANAGE_ZERO)) return $accounta; - if (! empty($conf->global->ACCOUNTING_MANAGE_ZERO)) return $accounta; $a = $conf->global->ACCOUNTING_LENGTH_AACCOUNT; - if (! empty($a)) { + if (! is_empty($a)) { // Clean parameters $i = strlen($accounta); @@ -156,11 +165,11 @@ { global $langs; - if (empty($hselected)) $hselected='report'; + if (is_empty($hselected)) $hselected='report'; print "\n\n<!-- debut cartouche journal -->\n"; - if(! empty($varlink)) $varlink = '?'.$varlink; + if(! is_empty($varlink)) $varlink = '?'.$varlink; $h=0; $head[$h][0] = $_SERVER["PHP_SELF"].$varlink; diff -ru dolibarr-9.0.2/htdocs/core/modules/societe/mod_codecompta_panicum.php dolibarr-9.0.2-patched/htdocs/core/modules/societe/mod_codecompta_panicum.php --- dolibarr-9.0.2/htdocs/core/modules/societe/mod_codecompta_panicum.php 2018-10-31 12:35:40.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/core/modules/societe/mod_codecompta_panicum.php 2019-04-23 09:55:26.595365789 +0200 @@ -96,8 +96,8 @@ $this->code=''; if (is_object($societe)) { - if ($type == 'supplier') $this->code = (! empty($societe->code_compta_fournisseur)?$societe->code_compta_fournisseur:''); - else $this->code = (! empty($societe->code_compta)?$societe->code_compta:''); + if ($type == 'supplier') $this->code = (($societe->code_compta_fournisseur!="")?$societe->code_compta_fournisseur:''); + else $this->code = (($societe->code_compta!="")?$societe->code_compta:''); } return 0; // return ok diff -ru dolibarr-9.0.2/htdocs/langs/fr_FR/trips.lang dolibarr-9.0.2-patched/htdocs/langs/fr_FR/trips.lang --- dolibarr-9.0.2/htdocs/langs/fr_FR/trips.lang 2018-10-31 12:35:44.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/langs/fr_FR/trips.lang 2019-04-23 09:39:04.974776585 +0200 @@ -49,7 +49,7 @@ TF_ESSENCE=Carburant TF_HOTEL=Hôtel TF_TAXI=Taxi -EX_KME=frais kilométriques +EX_KME=IK EX_FUE=Carburant EX_HOT=Hôtel EX_PAR=Stationnement diff -ru dolibarr-9.0.2/htdocs/societe/class/societe.class.php dolibarr-9.0.2-patched/htdocs/societe/class/societe.class.php --- dolibarr-9.0.2/htdocs/societe/class/societe.class.php 2019-02-05 20:40:35.000000000 +0100 +++ dolibarr-9.0.2-patched/htdocs/societe/class/societe.class.php 2019-04-23 09:53:45.929287005 +0200 @@ -921,7 +921,7 @@ if (! empty($allowmodcodefournisseur) && ! empty($this->fournisseur)) { // Attention get_codecompta peut modifier le code suivant le module utilise - if (empty($this->code_compta_fournisseur)) + if ($this->code_compta_fournisseur != "") { $ret=$this->get_codecompta('supplier'); if ($ret < 0) return -1; @@ -1077,7 +1077,7 @@ if ($supplier) { $sql .= ", code_fournisseur = ".(! empty($this->code_fournisseur)?"'".$this->db->escape($this->code_fournisseur)."'":"null"); - $sql .= ", code_compta_fournisseur = ".(! empty($this->code_compta_fournisseur)?"'".$this->db->escape($this->code_compta_fournisseur)."'":"null"); + $sql .= ", code_compta_fournisseur = ".(($this->code_compta_fournisseur != "")?"'".$this->db->escape($this->code_compta_fournisseur)."'":"null"); } $sql .= ", fk_user_modif = ".($user->id > 0 ? $user->id:"null"); $sql .= ", fk_multicurrency = ".(int) $this->fk_multicurrency;
_______________________________________________ Dolibarr-dev mailing list Dolibarr-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/dolibarr-dev