Files
sam-kd/eaccount/api/set_tenant.php
hskwon aca1767eb9 초기 커밋: 5130 레거시 시스템
- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경
- DB 연결 하드코딩 → .env 기반으로 변경
- MySQL strict mode DATE 오류 수정
2025-12-10 20:14:31 +09:00

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);
}
?>