From ad9f6faf2b6edf1bc34ac0f918056a27dd636fd0 Mon Sep 17 00:00:00 2001
From: Prasad <prasad@vtiger.com>
Date: Tue, 30 Apr 2024 18:51:28 +0530
Subject: [PATCH] Fix for PHP 8.x - to set the variable when it is not null

---
 .../CustomerPortal/modules/CustomerPortal/api.php      | 10 ++++++----
 .../modules/CustomerPortal/apis/AbstractApi.php        |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/api.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/api.php
index 8c0dd2613..9e4ac7e42 100644
--- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/api.php
+++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/api.php
@@ -58,10 +58,12 @@ class CustomerPortal_API_EntryPoint {
 
 				//setting active user language as Portal user language 
 				$current_user = $operationController->getActiveUser();
-				$portal_language = $request->getLanguage();
-				$current_user->column_fields["language"] = $portal_language;
-				$current_user->language = $portal_language;
-
+				if ($current_user) {
+					// ensure user is setActive (ex: not in case of ForgotPassword)
+					$portal_language = $request->getLanguage();
+					$current_user->column_fields["language"] = $portal_language;
+					$current_user->language = $portal_language;
+				}
 				$response = $operationController->process($request);
 			} catch (Exception $e) {
 				$response = new CustomerPortal_API_Response();
diff --git a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/AbstractApi.php b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/AbstractApi.php
index 920f013ee..f1c9b3216 100644
--- a/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/AbstractApi.php
+++ b/pkg/vtiger/modules/CustomerPortal/modules/CustomerPortal/apis/AbstractApi.php
@@ -62,7 +62,7 @@ abstract class CustomerPortal_API_Abstract {
 		$num_rows = $adb->num_rows($result);
 
 		$isAuthenticated = false;
-		if ($num_rows >= 0) {
+		if ($num_rows > 0) {
 			for ($i = 0; $i < $num_rows; ++$i) {
 				$customerId = $adb->query_result($result, $i, 'id');
 				if (Vtiger_Functions::compareEncryptedPassword($password, $adb->query_result($result, $i, 'user_password'), $adb->query_result($result, $i, 'cryptmode'))) {
-- 
GitLab