Fix: Add PHP 7.4 compatibility
- Changed PHP min-version from 8.0 to 7.4 in appinfo/info.xml - Replaced all str_contains() calls with strpos() !== false - GoogleAnalyticsService.php: 1 instance - LLMService.php: 6 instances - Verified no other PHP 8.0+ features in use - Plugin now compatible with PHP 7.4 and PHP 8.0+
This commit is contained in:
@@ -22,7 +22,7 @@
|
|||||||
<category>integration</category>
|
<category>integration</category>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<nextcloud min-version="25" max-version="26"/>
|
<nextcloud min-version="25" max-version="26"/>
|
||||||
<php min-version="8.0"/>
|
<php min-version="7.4"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<repair-steps>
|
<repair-steps>
|
||||||
<step>Repair steps not needed</step>
|
<step>Repair steps not needed</step>
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ class GoogleAnalyticsService {
|
|||||||
$this->logger->error("Token refresh failed: {$e->getMessage()}");
|
$this->logger->error("Token refresh failed: {$e->getMessage()}");
|
||||||
|
|
||||||
// Check if it's an expired token error
|
// Check if it's an expired token error
|
||||||
if (str_contains($e->getMessage(), 'invalid_grant')) {
|
if (strpos($e->getMessage(), 'invalid_grant') !== false) {
|
||||||
throw new TokenExpiredException('Refresh token expired - re-run OAuth setup');
|
throw new TokenExpiredException('Refresh token expired - re-run OAuth setup');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -136,9 +136,9 @@ PROMPT;
|
|||||||
$errorMessage = $e->getMessage();
|
$errorMessage = $e->getMessage();
|
||||||
|
|
||||||
// Check for rate limit
|
// Check for rate limit
|
||||||
if (str_contains($errorMessage, 'rate_limit') ||
|
if (strpos($errorMessage, 'rate_limit') !== false ||
|
||||||
str_contains($errorMessage, '429') ||
|
strpos($errorMessage, '429') !== false ||
|
||||||
str_contains($errorMessage, 'too_many_requests')) {
|
strpos($errorMessage, 'too_many_requests') !== false) {
|
||||||
|
|
||||||
$this->logger->warning("Rate limited, waiting " . self::RATE_LIMIT_DELAY . "s");
|
$this->logger->warning("Rate limited, waiting " . self::RATE_LIMIT_DELAY . "s");
|
||||||
|
|
||||||
@@ -151,9 +151,9 @@ PROMPT;
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check for timeout
|
// Check for timeout
|
||||||
if (str_contains($errorMessage, 'timeout') ||
|
if (strpos($errorMessage, 'timeout') !== false ||
|
||||||
str_contains($errorMessage, 'connection') ||
|
strpos($errorMessage, 'connection') !== false ||
|
||||||
str_contains($errorMessage, 'timed out')) {
|
strpos($errorMessage, 'timed out') !== false) {
|
||||||
|
|
||||||
if ($attempt < self::MAX_RETRIES - 1) {
|
if ($attempt < self::MAX_RETRIES - 1) {
|
||||||
$this->logger->warning("Timeout, retrying...");
|
$this->logger->warning("Timeout, retrying...");
|
||||||
@@ -235,7 +235,7 @@ PROMPT;
|
|||||||
throw new \Exception('Response too short - likely error');
|
throw new \Exception('Response too short - likely error');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!str_contains($response, '# Weekly Analytics Snapshot')) {
|
if (strpos($response, '# Weekly Analytics Snapshot') === false) {
|
||||||
throw new \Exception('Missing required format');
|
throw new \Exception('Missing required format');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user