SonarCube Suggestion

Rename multiple functions to conform to project naming rules (^[a-z][a-zA-Z0-9]*$). This is a non-functional refactor for style/CI compliance and consistency.
This commit is contained in:
cs2000
2026-02-05 10:15:52 +00:00
committed by GitHub
parent 563c0ea9c4
commit fc33312e79

View File

@@ -23,6 +23,14 @@ use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception; use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\OAuthTokenProvider; use PHPMailer\PHPMailer\OAuthTokenProvider;
if (!defined('GOOGLE_OAUTH_TOKEN_URL')) {
define('GOOGLE_OAUTH_TOKEN_URL', 'https://oauth2.googleapis.com/token');
}
if (!defined('MICROSOFT_OAUTH_BASE_URL')) {
define('MICROSOFT_OAUTH_BASE_URL', 'https://login.microsoftonline.com/');
}
/** ======================================================================= /** =======================================================================
* XOAUTH2 Token Provider for PHPMailer (simple “static” provider) * XOAUTH2 Token Provider for PHPMailer (simple “static” provider)
* ======================================================================= */ * ======================================================================= */
@@ -95,7 +103,7 @@ file_put_contents($lock_file_path, "Locked");
/** ======================================================================= /** =======================================================================
* Mail OAuth helpers + sender function * Mail OAuth helpers + sender function
* ======================================================================= */ * ======================================================================= */
function token_is_expired(?string $expires_at): bool { function tokenIsExpired(?string $expires_at): bool {
if (empty($expires_at)) { if (empty($expires_at)) {
return true; return true;
} }
@@ -109,7 +117,7 @@ function token_is_expired(?string $expires_at): bool {
return ($ts - 60) <= time(); return ($ts - 60) <= time();
} }
function http_form_post(string $url, array $fields): array { function httpFormPost(string $url, array $fields): array {
$ch = curl_init($url); $ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POST, true);
@@ -130,7 +138,7 @@ function http_form_post(string $url, array $fields): array {
]; ];
} }
function persist_mail_oauth_tokens(string $access_token, string $expires_at, ?string $refresh_token = null): void { function persistMailOauthTokens(string $access_token, string $expires_at, ?string $refresh_token = null): void {
global $mysqli; global $mysqli;
$access_token_esc = mysqli_real_escape_string($mysqli, $access_token); $access_token_esc = mysqli_real_escape_string($mysqli, $access_token);
@@ -145,65 +153,57 @@ function persist_mail_oauth_tokens(string $access_token, string $expires_at, ?st
mysqli_query($mysqli, "UPDATE settings SET config_mail_oauth_access_token = '{$access_token_esc}', config_mail_oauth_access_token_expires_at = '{$expires_at_esc}'{$refresh_sql} WHERE company_id = 1"); mysqli_query($mysqli, "UPDATE settings SET config_mail_oauth_access_token = '{$access_token_esc}', config_mail_oauth_access_token_expires_at = '{$expires_at_esc}'{$refresh_sql} WHERE company_id = 1");
} }
function refresh_mail_oauth_access_token(string $provider, string $oauth_client_id, string $oauth_client_secret, string $oauth_tenant_id, string $oauth_refresh_token): ?array { function refreshMailOauthAccessToken(string $provider, string $oauth_client_id, string $oauth_client_secret, string $oauth_tenant_id, string $oauth_refresh_token): ?array {
if (empty($oauth_client_id) || empty($oauth_client_secret) || empty($oauth_refresh_token)) { $result = null;
return null; $response = null;
}
if ($provider === 'google_oauth') { if (!empty($oauth_client_id) && !empty($oauth_client_secret) && !empty($oauth_refresh_token)) {
$response = http_form_post('https://oauth2.googleapis.com/token', [ if ($provider === 'google_oauth') {
'client_id' => $oauth_client_id, $response = httpFormPost(GOOGLE_OAUTH_TOKEN_URL, [
'client_secret' => $oauth_client_secret, 'client_id' => $oauth_client_id,
'refresh_token' => $oauth_refresh_token, 'client_secret' => $oauth_client_secret,
'grant_type' => 'refresh_token', 'refresh_token' => $oauth_refresh_token,
]); 'grant_type' => 'refresh_token',
} elseif ($provider === 'microsoft_oauth') { ]);
if (empty($oauth_tenant_id)) { } elseif ($provider === 'microsoft_oauth' && !empty($oauth_tenant_id)) {
return null; $token_url = MICROSOFT_OAUTH_BASE_URL . rawurlencode($oauth_tenant_id) . "/oauth2/v2.0/token";
$response = httpFormPost($token_url, [
'client_id' => $oauth_client_id,
'client_secret' => $oauth_client_secret,
'refresh_token' => $oauth_refresh_token,
'grant_type' => 'refresh_token',
]);
} }
$token_url = "https://login.microsoftonline.com/" . rawurlencode($oauth_tenant_id) . "/oauth2/v2.0/token";
$response = http_form_post($token_url, [
'client_id' => $oauth_client_id,
'client_secret' => $oauth_client_secret,
'refresh_token' => $oauth_refresh_token,
'grant_type' => 'refresh_token',
]);
} else {
return null;
} }
if (!$response['ok']) { if (is_array($response) && !empty($response['ok'])) {
return null; $json = json_decode($response['body'], true);
if (is_array($json) && !empty($json['access_token'])) {
$expires_at = date('Y-m-d H:i:s', time() + (int)($json['expires_in'] ?? 3600));
$result = [
'access_token' => $json['access_token'],
'expires_at' => $expires_at,
'refresh_token' => $json['refresh_token'] ?? null,
];
}
} }
$json = json_decode($response['body'], true); return $result;
if (!is_array($json) || empty($json['access_token'])) {
return null;
}
$expires_at = date('Y-m-d H:i:s', time() + (int)($json['expires_in'] ?? 3600));
return [
'access_token' => $json['access_token'],
'expires_at' => $expires_at,
'refresh_token' => $json['refresh_token'] ?? null,
];
} }
function resolve_mail_oauth_access_token(string $provider, string $oauth_client_id, string $oauth_client_secret, string $oauth_tenant_id, string $oauth_refresh_token, string $oauth_access_token, string $oauth_access_token_expires_at): ?string { function resolveMailOauthAccessToken(string $provider, string $oauth_client_id, string $oauth_client_secret, string $oauth_tenant_id, string $oauth_refresh_token, string $oauth_access_token, string $oauth_access_token_expires_at): ?string {
if (!empty($oauth_access_token) && !token_is_expired($oauth_access_token_expires_at)) { if (!empty($oauth_access_token) && !tokenIsExpired($oauth_access_token_expires_at)) {
return $oauth_access_token; return $oauth_access_token;
} }
$tokens = refresh_mail_oauth_access_token($provider, $oauth_client_id, $oauth_client_secret, $oauth_tenant_id, $oauth_refresh_token); $tokens = refreshMailOauthAccessToken($provider, $oauth_client_id, $oauth_client_secret, $oauth_tenant_id, $oauth_refresh_token);
if (!is_array($tokens) || empty($tokens['access_token']) || empty($tokens['expires_at'])) { if (!is_array($tokens) || empty($tokens['access_token']) || empty($tokens['expires_at'])) {
return null; return null;
} }
persist_mail_oauth_tokens($tokens['access_token'], $tokens['expires_at'], $tokens['refresh_token'] ?? null); persistMailOauthTokens($tokens['access_token'], $tokens['expires_at'], $tokens['refresh_token'] ?? null);
return $tokens['access_token']; return $tokens['access_token'];
} }
@@ -264,7 +264,7 @@ function sendQueueEmail(
$mail->AuthType = 'XOAUTH2'; $mail->AuthType = 'XOAUTH2';
$mail->Username = $username; $mail->Username = $username;
$access_token = resolve_mail_oauth_access_token( $access_token = resolveMailOauthAccessToken(
$provider, $provider,
trim($oauth_client_id), trim($oauth_client_id),
trim($oauth_client_secret), trim($oauth_client_secret),