diff --git a/ChangeLog b/ChangeLog
index 880406bb189..31bfa1c1cff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,7 +9,8 @@ English Dolibarr ChangeLog
For users:
---------------
-NEW: ...
+NEW: PHP 8.0 compatibility
+
Modules
diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php
index d2528f45dfa..488010609f9 100644
--- a/htdocs/core/lib/agenda.lib.php
+++ b/htdocs/core/lib/agenda.lib.php
@@ -93,7 +93,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
print $form->select_dolgroups($usergroupid, 'usergroup', 1, '', !$canedit, '', '', '0', false, 'minwidth100 maxwidth500 widthcentpercentminusxx');
print '';
- if ($conf->resource->enabled) {
+ if (!empty($conf->resource->enabled)) {
include_once DOL_DOCUMENT_ROOT.'/resource/class/html.formresource.class.php';
$formresource = new FormResource($db);
@@ -105,14 +105,14 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
}
}
- if (!empty($conf->societe->enabled) && $user->rights->societe->lire) {
+ if (!empty($conf->societe->enabled) && !empty($user->rights->societe->lire)) {
print '
';
print img_picto($langs->trans("ThirdParty"), 'company', 'class="fawidth30 inline-block"');
print $form->select_company($socid, 'search_socid', '', ' ', 0, 0, null, 0, 'minwidth100 maxwidth500');
print '
';
}
- if (!empty($conf->projet->enabled) && $user->rights->projet->lire) {
+ if (!empty($conf->projet->enabled) && !empty($user->rights->projet->lire)) {
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
$formproject = new FormProjets($db);
diff --git a/htdocs/core/tpl/list_print_total.tpl.php b/htdocs/core/tpl/list_print_total.tpl.php
index b015dc51fdc..8d84228e2ec 100644
--- a/htdocs/core/tpl/list_print_total.tpl.php
+++ b/htdocs/core/tpl/list_print_total.tpl.php
@@ -14,7 +14,7 @@ if (isset($totalarray['pos'])) {
$i++;
if (!empty($totalarray['pos'][$i])) {
print '';
- if ($totalarray['type'][$i] == 'duration') {
+ if (isset($totalarray['type']) && $totalarray['type'][$i] == 'duration') {
print (!empty($totalarray['val'][$totalarray['pos'][$i]])?convertSecondToTime($totalarray['val'][$totalarray['pos'][$i]], 'allhourmin'):0);
} else {
print price(!empty($totalarray['val'][$totalarray['pos'][$i]])?$totalarray['val'][$totalarray['pos'][$i]]:0);
diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php
index da71a2a795d..0af7e083aec 100644
--- a/htdocs/fourn/class/fournisseur.facture.class.php
+++ b/htdocs/fourn/class/fournisseur.facture.class.php
@@ -2627,7 +2627,7 @@ class FactureFournisseur extends CommonInvoice
// phpcs:enable
global $conf, $langs;
- $sql = 'SELECT ff.rowid, ff.date_lim_reglement as datefin, ff.fk_statut as status';
+ $sql = 'SELECT ff.rowid, ff.date_lim_reglement as datefin, ff.fk_statut as status, ff.total_ht, ff.total_ttc';
$sql .= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as ff';
if (empty($user->rights->societe->client->voir) && !$user->socid) {
$sql .= " JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON ff.fk_soc = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
diff --git a/htdocs/hrm/index.php b/htdocs/hrm/index.php
index 84e336c9b97..c573b78ed51 100644
--- a/htdocs/hrm/index.php
+++ b/htdocs/hrm/index.php
@@ -34,17 +34,17 @@ require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php';
-if ($conf->deplacement->enabled) {
+if (!empty($conf->deplacement->enabled)) {
require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php';
}
-if ($conf->expensereport->enabled) {
+if (!empty($conf->expensereport->enabled)) {
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
}
-if ($conf->recruitment->enabled) {
+if (!empty($conf->recruitment->enabled)) {
require_once DOL_DOCUMENT_ROOT.'/recruitment/class/recruitmentcandidature.class.php';
require_once DOL_DOCUMENT_ROOT.'/recruitment/class/recruitmentjobposition.class.php';
}
-if ($conf->holiday->enabled) {
+if (!empty($conf->holiday->enabled)) {
require_once DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php';
}
@@ -236,7 +236,9 @@ if (!empty($conf->holiday->enabled) && $user->rights->holiday->read) {
print ' | ';
print '| '.$holidaystatic->getNomUrl(1).' | ';
print ''.$userstatic->getNomUrl(-1, 'leave').' | ';
- print ''.dol_escape_htmltag($langs->trans($typeleaves[$obj->fk_type]['code'])).' | ';
+
+ $leavecode = empty($typeleaves[$obj->fk_type]) ? 'Undefined' : $typeleaves[$obj->fk_type]['code'];
+ print ''.dol_escape_htmltag($langs->trans($leavecode)).' | ';
$starthalfday = ($obj->halfday == -1 || $obj->halfday == 2) ? 'afternoon' : 'morning';
$endhalfday = ($obj->halfday == 1 || $obj->halfday == 2) ? 'morning' : 'afternoon';
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index e2d36ab4695..fb04930299b 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -756,6 +756,8 @@ if (!defined('NOLOGIN')) {
$login = '';
}
+ $dol_authmode = '';
+
if ($login) {
$dol_authmode = $conf->authmode; // This properties is defined only when logged, to say what mode was successfully used
$dol_tz = $_POST["tz"];
diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php
index fb9178e1ed0..dc94669d54f 100644
--- a/htdocs/theme/eldy/style.css.php
+++ b/htdocs/theme/eldy/style.css.php
@@ -312,8 +312,8 @@ print 'dol_hide_topmenu='.$dol_hide_topmenu."\n";
print 'dol_hide_leftmenu='.$dol_hide_leftmenu."\n";
print 'dol_optimize_smallscreen='.$dol_optimize_smallscreen."\n";
print 'dol_no_mouse_hover='.$dol_no_mouse_hover."\n";
-print 'dol_screenwidth='.$_SESSION['dol_screenwidth']."\n";
-print 'dol_screenheight='.$_SESSION['dol_screenheight']."\n";
+print 'dol_screenwidth='.(empty($_SESSION['dol_screenwidth']) ? '' : $_SESSION['dol_screenwidth'])."\n";
+print 'dol_screenheight='.(empty($_SESSION['dol_screenheight']) ? '' : $_SESSION['dol_screenheight'])."\n";
print 'fontsize='.$fontsize."\n";
print 'nbtopmenuentries='.$nbtopmenuentries."\n";
print 'fontsizesmaller='.$fontsizesmaller."\n";