diff --git a/doc/images/README.md b/doc/images/README.md
index 798cf599b4c..7422d246d40 100644
--- a/doc/images/README.md
+++ b/doc/images/README.md
@@ -10,7 +10,11 @@
https://github.com/Dolibarr/foundation
-* Few icons are from http://led24.de/iconset/. This is original README file for this source:
+* Few icons are / were from website led24.de
+
+* Attention: This website is no longer available!
+
+This is original README file for this source:
-------------------------------------------------------
You can do whatever you want with these icons (use on web or in desktop applications) as long as you don’t pass them off as your own and remove this readme file. A credit statement and a link back to
http://led24.de/iconset/ or http://led24.de/ would be appreciated.
diff --git a/htdocs/accountancy/class/accountancyexport.class.php b/htdocs/accountancy/class/accountancyexport.class.php
index bb1f1b8679c..6c628ae52c3 100644
--- a/htdocs/accountancy/class/accountancyexport.class.php
+++ b/htdocs/accountancy/class/accountancyexport.class.php
@@ -1088,9 +1088,23 @@ class AccountancyExport
{
$soc = $this->db->fetch_object($resql);
- $address = str_replace(array("\t", "\n", "\r"), " ", $soc->address);
+ $address=array('','','');
+ if (strpos($soc->address, "\n")!==false) {
+ $address = explode("\n", $soc->address);
+ if (is_array($address) && count($address)>0) {
+ foreach($address as $key=>$data) {
+ $address[$key]=str_replace(array("\t", "\n", "\r"), "", $data);
+ $address[$key]=dol_trunc($address[$key], 40, 'right', 'UTF-8', 1);
+ }
+ }
+ } else {
+ $address[0] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 0, 40);
+ $address[1] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 41, 40);
+ $address[2] = substr(str_replace(array("\t", "\r"), " ", $soc->address), 82, 40);
+ }
$type_enregistrement = 'C';
+ //TYPE
print $type_enregistrement.$separator;
//NOCL
print $soc->code_client.$separator;
@@ -1099,15 +1113,15 @@ class AccountancyExport
//LIBI
print $separator;
//TITR
- print getFormeJuridiqueLabel($soc->fk_forme_juridique).$separator;
+ print $separator;
//RSSO
print $soc->nom.$separator;
//CAD1
- print substr($address, 0, 40).$separator;
+ print $address[0].$separator;
//CAD2
- print substr($address, 41, 40).$separator;
+ print $address[1].$separator;
//CAD3
- print substr($address, 82, 40).$separator;
+ print $address[2].$separator;
//COPO
print $soc->zip.$separator;
//BUDI
@@ -1129,7 +1143,7 @@ class AccountancyExport
//COMM
print $separator;
//SIRE
- print $soc->siret.$separator;
+ print str_replace(" ", "", $soc->siret).$separator;
//RIBP
print $separator;
//DOBQ
@@ -1267,8 +1281,6 @@ class AccountancyExport
} else {
print $separator;
}
- // SECT
- print $separator;
// CTRE
print $separator;
// NORL
@@ -1286,13 +1298,13 @@ class AccountancyExport
// CDES
print $separator;
// QTUE
- print '0'.$separator;
+ print $separator;
// MTDV
- print $separator;
- // CODV
print '0'.$separator;
- // TXDV
+ // CODV
print $separator;
+ // TXDV
+ print '0'.$separator;
// MOPM
print $separator;
// BONP
diff --git a/htdocs/admin/system/about.php b/htdocs/admin/system/about.php
index 64f8fba72ad..3cfc18accc9 100644
--- a/htdocs/admin/system/about.php
+++ b/htdocs/admin/system/about.php
@@ -86,31 +86,31 @@ print '';
if (preg_match('/^fr_/i', $langs->getDefaultLang()))
{
print '
';
- print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("France")).'';
+ print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("France")).'';
print '';
}
if (preg_match('/^el_/i', $langs->getDefaultLang()))
{
print '';
- print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("Greece")).'';
+ print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("Greece")).'';
print '';
}
if (preg_match('/^es_/i', $langs->getDefaultLang()))
{
print '';
- print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("Spain")).'';
+ print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("Spain")).'';
print '';
}
if (preg_match('/^it_/i', $langs->getDefaultLang()))
{
print '';
- print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("Italy")).'';
+ print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("Italy")).'';
print '';
}
if (preg_match('/^de_/i', $langs->getDefaultLang()))
{
print '';
- print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("Germany")).'';
+ print ''.$langs->trans("OfficialWebSiteLocal", $langs->transnoentitiesnoconv("Germany")).'';
print '';
}
print '';
diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php
index 0eed1a56580..10015e3c363 100644
--- a/htdocs/core/class/fiscalyear.class.php
+++ b/htdocs/core/class/fiscalyear.class.php
@@ -1,5 +1,7 @@
+/* Copyright (C) 2014-2020 Alexandre Spangaro
+ * Copyright (C) 2020 OScss-Shop
+ *
*
* 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
@@ -381,13 +383,19 @@ class Fiscalyear extends CommonObject
* @param int $dateend Date end to scan
* @return string Number of entries
*/
- public function getAccountancyEntriesByFiscalYear($datestart, $dateend)
+ public function getAccountancyEntriesByFiscalYear($datestart = '', $dateend = '')
{
global $conf;
+ if(empty($datestart) )
+ $datestart = $this->date_start;
+ if(empty($dateend) )
+ $dateend = $this->date_end;
+
$sql = "SELECT count(DISTINCT piece_num) as nb";
- $sql.= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping ";
- $sql.= " WHERE doc_date >= '".$datestart."' and doc_date <= '".$dateend."'";
+ $sql.= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping";
+ $sql.= " WHERE entity IN (".getEntity('bookkeeping', 0).")";
+ $sql.= " AND doc_date >= '".$this->db->idate($datestart)."' and doc_date <= '".$this->db->idate($dateend)."'";
$resql=$this->db->query($sql);
if ($resql)
@@ -407,13 +415,19 @@ class Fiscalyear extends CommonObject
* @param int $dateend Date end to scan
* @return string Number of movements
*/
- public function getAccountancyMovementsByFiscalYear($datestart, $dateend)
+ public function getAccountancyMovementsByFiscalYear($datestart = '', $dateend = '')
{
global $conf;
+ if(empty($datestart) )
+ $datestart = $this->date_start;
+ if(empty($dateend) )
+ $dateend = $this->date_end;
+
$sql = "SELECT count(rowid) as nb";
$sql.= " FROM ".MAIN_DB_PREFIX."accounting_bookkeeping ";
- $sql.= " WHERE doc_date >= '".$datestart."' AND doc_date <= '".$dateend."'";
+ $sql.= " WHERE entity IN (".getEntity('bookkeeping', 0).")";
+ $sql.= " AND doc_date >= '".$this->db->idate($datestart)."' and doc_date <= '".$this->db->idate($dateend)."'";
$resql=$this->db->query($sql);
if ($resql)
diff --git a/htdocs/includes/adodbtime/README.txt b/htdocs/includes/adodbtime/README.txt
new file mode 100644
index 00000000000..3e2969a2868
--- /dev/null
+++ b/htdocs/includes/adodbtime/README.txt
@@ -0,0 +1,7 @@
+README
+======
+
+ADOdb Date Library, part of the ADOdb abstraction library
+
+See Wiki: https://adodb.org/dokuwiki/doku.php?id=v5:datetime:datetime_index
+Download: https://github.com/ADOdb/ADOdb/blob/master/adodb-time.inc.php
diff --git a/htdocs/includes/adodbtime/adodb-time.inc.php b/htdocs/includes/adodbtime/adodb-time.inc.php
index c74778bb991..030196db275 100644
--- a/htdocs/includes/adodbtime/adodb-time.inc.php
+++ b/htdocs/includes/adodbtime/adodb-time.inc.php
@@ -1,7 +1,8 @@
transnoentitiesnoconv("Users");
-$help_url='EN:Module_Users|FR:Module_Utilisateurs|ES:Módulo_Usuarios';
+$help_url='EN:Module_Users|FR:Module_Utilisateurs|ES:Módulo_Usuarios|DE:Modul_Benutzer';
llxHeader('', $langs->trans("UsersSetup"), $help_url);
@@ -88,8 +88,8 @@ if ($action != 'create' && $action != 'edit')
/* ************************************************************************** */
/* */
-/* Creation d'un champ optionnel
- /* */
+/* Creation of an optional field */
+/* */
/* ************************************************************************** */
if ($action == 'create')
@@ -102,7 +102,7 @@ if ($action == 'create')
/* ************************************************************************** */
/* */
-/* Edition d'un champ optionnel */
+/* Editing an optional field */
/* */
/* ************************************************************************** */
if ($action == 'edit' && ! empty($attrname))