diff --git a/lam/HISTORY b/lam/HISTORY index 8b715d611..4690d66fa 100644 --- a/lam/HISTORY +++ b/lam/HISTORY @@ -1,4 +1,5 @@ June 2025 9.2 + - PHP 8.4 compatibility - TAK support added - Active Directory: allow to restore deleted entries in tree view (415) - Multi-edit tool: change operations are combined by DN to allow e.g. adding object classes with required attributes (408) diff --git a/lam/lib/config.inc b/lam/lib/config.inc index 4d933bc02..18894a0ca 100644 --- a/lam/lib/config.inc +++ b/lam/lib/config.inc @@ -2914,7 +2914,7 @@ class LAMCfgMain { const ERROR_REPORTING_DEFAULT = 'default'; /** PHP error reporting setting from php.ini */ const ERROR_REPORTING_SYSTEM = 'system'; - /** PHP error reporting setting as E_ALL | E_STRICT */ + /** PHP error reporting setting as E_ALL */ const ERROR_REPORTING_ALL = 'all'; /** send license warnings via email */ diff --git a/lam/lib/modules.inc b/lam/lib/modules.inc index 75bd8814e..f996a08a0 100644 --- a/lam/lib/modules.inc +++ b/lam/lib/modules.inc @@ -763,14 +763,14 @@ class accountContainer { */ function __construct($type, $base) { if (!($type instanceof ConfiguredType)) { - trigger_error('Argument of accountContainer must be ConfiguredType.', E_USER_ERROR); + die('Argument of accountContainer must be ConfiguredType.'); } if (!is_string($base)) { - trigger_error('Argument of accountContainer must be string.', E_USER_ERROR); + die('Argument base of accountContainer must be string: ' . $base); } $this->type = $type; $this->base = $base; - // Set startpage + // Set start page $this->current_page = 0; $this->subpage = 'attributes'; $this->isNewAccount = false; diff --git a/lam/lib/modules/asteriskAccount.inc b/lam/lib/modules/asteriskAccount.inc index 7af35c075..867b87702 100644 --- a/lam/lib/modules/asteriskAccount.inc +++ b/lam/lib/modules/asteriskAccount.inc @@ -3,7 +3,7 @@ This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) Copyright (C) 2009 - 2012 Pavel Pozdnyak - 2009 - 2024 Roland Gruber + 2009 - 2025 Roland Gruber 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 @@ -1062,7 +1062,7 @@ class asteriskAccount extends baseModule implements passwordService { 'username', $this->messages['AstAccountType'][2], $messages); //add password if ($rawAccounts[$i][$ids['asteriskAccount_AstAccountRealmedPassword']] != "") { - $attributes = ['AstAccountCallerID' => [$partialAccounts[$i]['AstAccountCallerID']]]; // fake attribute list for password building + $attributes = ['AstAccountCallerID' => $partialAccounts[$i]['AstAccountCallerID']]; // fake attribute list for password building $pwdString = asteriskAccount::buildPasswordString($attributes, $this->moduleSettings, $rawAccounts[$i][$ids['asteriskAccount_AstAccountRealmedPassword']]); $partialAccounts[$i]['AstAccountRealmedPassword'] = $pwdString; } diff --git a/lam/templates/upload/massBuildAccounts.php b/lam/templates/upload/massBuildAccounts.php index 71af045f7..e1a65f5f5 100644 --- a/lam/templates/upload/massBuildAccounts.php +++ b/lam/templates/upload/massBuildAccounts.php @@ -137,13 +137,13 @@ if ($_FILES['inputfile'] && ($_FILES['inputfile']['size'] > 0)) { logNewMessage(LOG_DEBUG, 'Reading CSV file'); $handle = fopen($_FILES['inputfile']['tmp_name'], "r"); if ($handle !== false) { - $head = fgetcsv($handle, 2000); + $head = fgetcsv($handle, 2000, escape: ''); if ($head !== false ) { // head row foreach ($head as $i => $headItem) { $ids[$headItem] = $i; } } - while (($line = fgetcsv($handle, 2000)) !== false ) { // account rows + while (($line = fgetcsv($handle, 2000, escape: '')) !== false ) { // account rows $data[] = $line; } fclose($handle);