113 lines
4.0 KiB
PHP
113 lines
4.0 KiB
PHP
<?php
|
|
// header("Content-Type: application/json; charset=utf-8");
|
|
// require_once $_SERVER['DOCUMENT_ROOT'].'/egbim/skin/member/basic/descope_session.php';
|
|
|
|
// try {
|
|
// $pdo = new PDO(
|
|
// "mysql:host=localhost;dbname=egbim;charset=utf8mb4",
|
|
// "egbim", "baron3840!!",
|
|
// [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
|
|
// );
|
|
|
|
// $productCode = $_POST['product_code'] ?? '';
|
|
// $version = $_POST['version'] ?? '';
|
|
// $userName = $_SESSION['user']['name'] ?? '알수없음';
|
|
|
|
// if(!$productCode){
|
|
// echo json_encode(['status'=>'fail','message'=>'제품 코드 누락']);
|
|
// exit;
|
|
// }
|
|
|
|
// // ✅ 버전이 비어있으면 기본값 "0.0.0"
|
|
// $version = trim($version) !== '' ? $version : '0.0.0';
|
|
|
|
// // ✅ family_version = external_version 동일하게 저장
|
|
// $st = $pdo->prepare("
|
|
// INSERT INTO deploy_versions (product_code, family_version, external_version, external_updated_by, updated_at)
|
|
// VALUES (:pc, :ver, :ver, :user, NOW())
|
|
// ON DUPLICATE KEY UPDATE
|
|
// family_version = VALUES(family_version),
|
|
// external_version = VALUES(external_version),
|
|
// external_updated_by = VALUES(external_updated_by),
|
|
// updated_at = NOW()
|
|
// ");
|
|
// $st->execute([
|
|
// ':pc' => $productCode,
|
|
// ':ver' => $version,
|
|
// ':user' => $userName
|
|
// ]);
|
|
|
|
// echo json_encode([
|
|
// 'status' => 'ok',
|
|
// 'family_version' => $version,
|
|
// 'external_version' => $version,
|
|
// 'updated_by' => $userName
|
|
// ]);
|
|
|
|
// } catch(Exception $e){
|
|
// echo json_encode(['status'=>'fail','message'=>$e->getMessage()]);
|
|
// }
|
|
?>
|
|
|
|
<?php
|
|
header("Content-Type: application/json; charset=utf-8");
|
|
require_once $_SERVER['DOCUMENT_ROOT'].'/eng/skin/member/basic/descope_session.php';
|
|
|
|
try {
|
|
$pdo = new PDO(
|
|
"mysql:host=localhost;dbname=egbim;charset=utf8mb4",
|
|
"egbim", "baron3840!!",
|
|
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
|
|
);
|
|
|
|
$productCode = $_POST['product_code'] ?? '';
|
|
$version = trim($_POST['version'] ?? '');
|
|
$userName = $_SESSION['user']['name'] ?? '알수없음';
|
|
|
|
if (!$productCode) {
|
|
echo json_encode(['status'=>'fail','message'=>'제품 코드 누락']);
|
|
exit;
|
|
}
|
|
|
|
// 현재 family_version 가져오기 (내부 최신 버전)
|
|
$st = $pdo->prepare("SELECT family_version FROM deploy_versions WHERE product_code=? LIMIT 1");
|
|
$st->execute([$productCode]);
|
|
$currentFamily = $st->fetchColumn() ?: '0.0.0';
|
|
|
|
if ($version === '') {
|
|
// ✅ 사용안함 → external_version = 내부 배포 버전(family_version)과 동일
|
|
$externalVer = $currentFamily;
|
|
} else {
|
|
// ✅ 외부 버전 직접 지정 → external_version만 변경
|
|
$externalVer = $version;
|
|
}
|
|
|
|
// DB 업데이트 (family_version은 유지, external_version만 갱신)
|
|
$st = $pdo->prepare("
|
|
INSERT INTO deploy_versions (product_code, family_version, external_version, external_updated_by, updated_at)
|
|
VALUES (:pc, :fam, :ext, :user, NOW())
|
|
ON DUPLICATE KEY UPDATE
|
|
family_version = VALUES(family_version), -- 기존 값 유지 위해 다시 넣음
|
|
external_version = VALUES(external_version),
|
|
external_updated_by = VALUES(external_updated_by),
|
|
updated_at = NOW()
|
|
");
|
|
$st->execute([
|
|
':pc' => $productCode,
|
|
':fam' => $currentFamily, // 유지
|
|
':ext' => $externalVer,
|
|
':user' => $userName
|
|
]);
|
|
|
|
echo json_encode([
|
|
'status' => 'ok',
|
|
'family_version' => $currentFamily,
|
|
'external_version' => $externalVer,
|
|
'updated_by' => $userName
|
|
]);
|
|
|
|
} catch(Exception $e){
|
|
echo json_encode(['status'=>'fail','message'=>$e->getMessage()]);
|
|
}
|
|
|