Fix api_get_nearby syntax error and Docker key paths
This commit is contained in:
@@ -5,13 +5,31 @@ use Predis\Client;
|
|||||||
|
|
||||||
header('Content-Type: application/json');
|
header('Content-Type: application/json');
|
||||||
|
|
||||||
$INTERNAL_KEY = trim(file_get_contents('/home/location/.internal_socket_key'));
|
function getInternalKey(): string {
|
||||||
$PASS_REDIS = trim(file_get_contents('/home/location/.reds_pass_key'));
|
$envKey = getenv('INTERNAL_SOCKET_KEY');
|
||||||
|
if ($envKey) return trim($envKey);
|
||||||
|
$path = getenv('INTERNAL_SOCKET_KEY_PATH');
|
||||||
|
if ($path && file_exists($path)) return trim((string)@file_get_contents($path));
|
||||||
|
if (file_exists('/keys/.internal_socket_key')) return trim((string)@file_get_contents('/keys/.internal_socket_key'));
|
||||||
|
if (file_exists('/home/location/.internal_socket_key')) return trim((string)@file_get_contents('/home/location/.internal_socket_key'));
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function getRedisPass(): ?string {
|
||||||
|
$path = getenv('REDIS_PASS_KEY_PATH');
|
||||||
|
if ($path && file_exists($path)) return trim((string)@file_get_contents($path));
|
||||||
|
if (file_exists('/keys/.reds_pass_key')) return trim((string)@file_get_contents('/keys/.reds_pass_key'));
|
||||||
|
if (file_exists('/home/location/.reds_pass_key')) return trim((string)@file_get_contents('/home/location/.reds_pass_key'));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$INTERNAL_KEY = getInternalKey();
|
||||||
|
$PASS_REDIS = getRedisPass();
|
||||||
|
|
||||||
$headers = getallheaders();
|
$headers = getallheaders();
|
||||||
$receivedKey = $headers['x-internal-key'] ?? $_SERVER['HTTP_X_INTERNAL_KEY'] ?? '';
|
$receivedKey = $headers['x-internal-key'] ?? $_SERVER['HTTP_X_INTERNAL_KEY'] ?? '';
|
||||||
|
|
||||||
if ($receivedKey !== $INTERNAL_KEY) {
|
if (!empty($INTERNAL_KEY) && $receivedKey !== $INTERNAL_KEY) {
|
||||||
http_response_code(403);
|
http_response_code(403);
|
||||||
echo json_encode(['status' => false, 'msg' => 'Unauthorized']);
|
echo json_encode(['status' => false, 'msg' => 'Unauthorized']);
|
||||||
exit;
|
exit;
|
||||||
@@ -26,14 +44,18 @@ if (!$lat || !$lng) {
|
|||||||
echo json_encode(['status' => false, 'msg' => 'Invalid Coordinates']); exit;
|
echo json_encode(['status' => false, 'msg' => 'Invalid Coordinates']); exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
$redisHost = getenv('REDIS_HOST') ?: ($_ENV['REDIS_HOST'] ?? (file_exists('/.dockerenv') ? 'redis' : '127.0.0.1'));
|
$redisHost = getenv('REDIS_HOST') ?: ($_ENV['REDIS_HOST'] ?? (file_exists('/.dockerenv') ? 'redis' : '127.0.0.1'));
|
||||||
$redis = new Client([
|
$redisConfig = [
|
||||||
'scheme' => 'tcp',
|
'scheme' => 'tcp',
|
||||||
'host' => $redisHost,
|
'host' => $redisHost,
|
||||||
'password' => $PASS_REDIS,
|
|
||||||
'port' => 6379,
|
'port' => 6379,
|
||||||
'database' => 0
|
'database' => 0
|
||||||
]);
|
];
|
||||||
|
if (!empty($PASS_REDIS)) {
|
||||||
|
$redisConfig['password'] = $PASS_REDIS;
|
||||||
|
}
|
||||||
|
$redis = new Client($redisConfig);
|
||||||
$redis->connect();
|
$redis->connect();
|
||||||
|
|
||||||
// 🔥 التعديل هنا: إضافة WITHCOORD لجلب الإحداثيات من الريدز مباشرة
|
// 🔥 التعديل هنا: إضافة WITHCOORD لجلب الإحداثيات من الريدز مباشرة
|
||||||
|
|||||||
Reference in New Issue
Block a user