최초 커밋
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
header("Content-Type: application/json; charset=utf-8");
|
||||
|
||||
try {
|
||||
$pdo = new PDO(
|
||||
"mysql:host=localhost;dbname=egbim;charset=utf8mb4",
|
||||
"egbim", "baron3840!!",
|
||||
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
|
||||
);
|
||||
|
||||
$productCode = $_GET['product_code'] ?? '';
|
||||
if (!$productCode) {
|
||||
echo json_encode([
|
||||
'status' => 'fail',
|
||||
'message' => '제품코드 없음'
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
// ✅ 내부 최신 버전 & 외부 버전 가져오기
|
||||
$st = $pdo->prepare("
|
||||
SELECT family_version, external_version
|
||||
FROM deploy_versions
|
||||
WHERE product_code=?
|
||||
ORDER BY updated_at DESC
|
||||
LIMIT 1
|
||||
");
|
||||
$st->execute([$productCode]);
|
||||
$verRow = $st->fetch();
|
||||
|
||||
$familyVer = $verRow['family_version'] ?? '0.0.0';
|
||||
$externalVer = $verRow['external_version'] ?? '';
|
||||
|
||||
// 👉 내부와 외부가 같으면 "사용안함" 으로 표시되도록 빈 값 처리
|
||||
if ($externalVer === $familyVer) {
|
||||
$externalVer = '';
|
||||
}
|
||||
|
||||
// ✅ 배포 확정된 버전 목록 (콤보박스 옵션용)
|
||||
$st = $pdo->prepare("
|
||||
SELECT DISTINCT sw_version
|
||||
FROM deploy_files
|
||||
WHERE product_code=?
|
||||
AND release_date IS NOT NULL
|
||||
AND deleted=0
|
||||
ORDER BY
|
||||
CAST(SUBSTRING_INDEX(sw_version, '.', 1) AS UNSIGNED) DESC,
|
||||
CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(sw_version, '.', 2), '.', -1) AS UNSIGNED) DESC,
|
||||
CAST(SUBSTRING_INDEX(sw_version, '.', -1) AS UNSIGNED) DESC
|
||||
");
|
||||
$st->execute([$productCode]);
|
||||
$allVersions = $st->fetchAll(PDO::FETCH_COLUMN);
|
||||
|
||||
// ✅ 여기서 필터링
|
||||
$filtered = [];
|
||||
foreach ($allVersions as $v) {
|
||||
// 내부 배포버전보다 높은 버전 제외
|
||||
if (version_compare($v, $familyVer, '>')) continue;
|
||||
|
||||
// 현재 외부배포버전이 지정되어 있으면 그보다 낮은 버전 제외
|
||||
if ($externalVer !== '' && version_compare($v, $externalVer, '<')) continue;
|
||||
|
||||
$filtered[] = $v;
|
||||
}
|
||||
|
||||
echo json_encode([
|
||||
'status' => 'ok',
|
||||
'family_version' => $familyVer,
|
||||
'external_version' => $externalVer, // "" 이면 "사용안함"
|
||||
'external_exists' => ($externalVer !== ''),
|
||||
'confirmed_versions' => $filtered // ✅ 필터링된 버전만 내려줌
|
||||
]);
|
||||
|
||||
} catch (Exception $e) {
|
||||
echo json_encode([
|
||||
'status' => 'fail',
|
||||
'message' => $e->getMessage()
|
||||
]);
|
||||
}
|
||||
Reference in New Issue
Block a user