updated translations

This commit is contained in:
Flatlogic Bot 2026-02-24 13:22:36 +00:00
parent 98141c9a34
commit 32a53bae23
2 changed files with 70 additions and 39 deletions

2
.env Normal file
View File

@ -0,0 +1,2 @@
PROJECT_ID=38682
PROJECT_UUID=9d5f8cc1-ff96-4857-9598-039478d542f5

View File

@ -1,64 +1,93 @@
<?php
// OpenAI proxy configuration (workspace scope).
// Reads values from environment variables or executor/.env.
// Reads values from environment variables or .env files.
function findEnvFile() {
$locations = [
__DIR__ . '/../../.env',
__DIR__ . '/../.env',
__DIR__ . '/.env',
'./.env',
'../.env',
];
if (isset($_SERVER['SCRIPT_FILENAME'])) {
$locations[] = dirname($_SERVER['SCRIPT_FILENAME']) . '/.env';
$locations[] = dirname($_SERVER['SCRIPT_FILENAME']) . '/../.env';
$locations[] = dirname($_SERVER['SCRIPT_FILENAME']) . '/../../.env';
}
foreach ($locations as $loc) {
if (file_exists($loc) && is_readable($loc)) {
return $loc;
}
}
return null;
}
$projectUuid = getenv('PROJECT_UUID');
$projectId = getenv('PROJECT_ID');
if (
($projectUuid === false || $projectUuid === null || $projectUuid === '') ||
($projectId === false || $projectId === null || $projectId === '')
) {
$envPath = realpath(__DIR__ . '/../../.env'); // executor/.env
if ($envPath && is_readable($envPath)) {
// Try fallback locations if not in environment
if (empty($projectUuid) || empty($projectId)) {
$envPath = findEnvFile();
if ($envPath) {
$lines = @file($envPath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) ?: [];
foreach ($lines as $line) {
$line = trim($line);
if ($line === '' || $line[0] === '#') {
continue;
}
if (!str_contains($line, '=')) {
continue;
}
[$key, $value] = array_map('trim', explode('=', $line, 2));
if ($key === '') {
continue;
}
if ($line === '' || $line[0] === '#') continue;
if (strpos($line, '=') === false) continue;
$parts = explode('=', $line, 2);
$key = trim($parts[0]);
$value = isset($parts[1]) ? trim($parts[1]) : '';
$value = trim($value, "' ");
if ($key === 'PROJECT_UUID' && (empty($projectUuid))) {
$projectUuid = $value;
}
if ($key === 'PROJECT_ID' && (empty($projectId))) {
$projectId = $value;
}
if ($key === 'PROJECT_UUID' && empty($projectUuid)) $projectUuid = $value;
if ($key === 'PROJECT_ID' && empty($projectId)) $projectId = $value;
if (getenv($key) === false || getenv($key) === '') {
putenv("{$key}={$value}");
if (empty(getenv($key)) && !empty($value)) {
@putenv("{$key}={$value}");
$_ENV[$key] = $value;
$_SERVER[$key] = $value;
}
}
} else {
error_log("AI Config: .env file not found or not readable at " . (__DIR__ . '/../../.env'));
}
}
$projectUuid = ($projectUuid === false || $projectUuid === '') ? null : $projectUuid;
$projectId = ($projectId === false || $projectId === '') ? null : $projectId;
if (empty($projectUuid)) {
error_log("AI Config: PROJECT_UUID is still empty after check.");
// Second fallback: Try to extract from db/config.php
if (empty($projectUuid) || empty($projectId)) {
$possibleDbPaths = [
__DIR__ . '/../db/config.php',
__DIR__ . '/db/config.php',
'./db/config.php',
'../db/config.php'
];
foreach ($possibleDbPaths as $dbPath) {
if (file_exists($dbPath) && is_readable($dbPath)) {
$content = file_get_contents($dbPath);
if (empty($projectUuid) && preg_match("/define\s*\(\s*['"]DB_PASS['"]\s*,\s*['"]([^'"]+)['"]\s*)/", $content, $m)) {
$projectUuid = $m[1];
}
if (empty($projectId) && preg_match("/define\s*\(\s*['"]DB_NAME['"]\s*,\s*['"]app_(\d+)['"]\s*)/", $content, $m)) {
$projectId = $m[1];
}
if (!empty($projectUuid)) break;
}
}
}
$baseUrl = 'https://flatlogic.com';
$responsesPath = $projectId ? "/projects/{$projectId}/ai-request" : null;
// Final values
$projectUuid = !empty($projectUuid) ? $projectUuid : null;
$projectId = !empty($projectId) ? $projectId : null;
return [
'base_url' => $baseUrl,
'responses_path' => $responsesPath,
'base_url' => 'https://flatlogic.com',
'responses_path' => $projectId ? "/projects/{$projectId}/ai-request" : null,
'project_id' => $projectId,
'project_uuid' => $projectUuid,
'project_header' => 'project-uuid',
'default_model' => 'gpt-5-mini',
'timeout' => 30,
'project_header' => 'Project-UUID',
'default_model' => 'gpt-4o-mini',
'timeout' => 60,
'verify_tls' => true,
];