- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
59 lines
1.5 KiB
PHP
59 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* 테넌트 선택 API
|
|
* 선택된 테넌트를 세션에 저장합니다.
|
|
*/
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . '/session.php');
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . '/lib/mydb.php');
|
|
|
|
$tenantId = $_POST['tenant_id'] ?? $_GET['tenant_id'] ?? '';
|
|
|
|
if (empty($tenantId)) {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => '테넌트 ID가 필요합니다.'
|
|
], JSON_UNESCAPED_UNICODE);
|
|
exit;
|
|
}
|
|
|
|
// DB에서 테넌트 존재 여부 확인
|
|
try {
|
|
$pdo = db_connect();
|
|
if (!$pdo) {
|
|
throw new Exception("Database connection failed.");
|
|
}
|
|
|
|
$sql = "SELECT id, company_name FROM {$DB}.barobill_companies WHERE id = ?";
|
|
$stmt = $pdo->prepare($sql);
|
|
$stmt->execute([$tenantId]);
|
|
$tenant = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
if (!$tenant) {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => '유효하지 않은 테넌트 ID입니다.'
|
|
], JSON_UNESCAPED_UNICODE);
|
|
exit;
|
|
}
|
|
|
|
// 세션에 저장
|
|
$_SESSION['eaccount_tenant_id'] = $tenantId;
|
|
|
|
echo json_encode([
|
|
'success' => true,
|
|
'tenant_id' => $tenantId,
|
|
'tenant_name' => $tenant['company_name'],
|
|
'message' => '테넌트가 변경되었습니다.'
|
|
], JSON_UNESCAPED_UNICODE);
|
|
|
|
} catch (Exception $e) {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'error' => '테넌트 변경 실패: ' . $e->getMessage()
|
|
], JSON_UNESCAPED_UNICODE);
|
|
}
|
|
?>
|
|
|