<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");

// 파일 업로드 처리 (bottombar/list.php 방식 적용)
$num = isset($_POST['num']) ? $_POST['num'] : '';
$mode = isset($_POST['mode']) ? $_POST['mode'] : '';

// 업로드된 파일 확인
if (!isset($_FILES['upfile']) || $_FILES['upfile']['error'] !== UPLOAD_ERR_OK) {
    echo json_encode(['success' => false, 'message' => '업로드된 파일이 없거나 오류가 발생했습니다.']);
    exit;
}

try {
    $uploadedFile = $_FILES['upfile'];
    
    // 파일 타입 확인
    $allowedTypes = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif'];
    if (!in_array($uploadedFile['type'], $allowedTypes)) {
        throw new Exception('지원하지 않는 이미지 형식입니다.');
    }
    
    // 파일 크기 확인 (5MB 제한)
    if ($uploadedFile['size'] > 5 * 1024 * 1024) {
        throw new Exception('파일 크기가 너무 큽니다. (최대 5MB)');
    }
    
    // 파일명 생성 (타임스탬프 + 원본 확장자)
    $fileExtension = pathinfo($uploadedFile['name'], PATHINFO_EXTENSION);
    $filename = 'edited_image_' . time() . '.' . $fileExtension;
    
    // 업로드 디렉토리 설정
    $upload_dir = $_SERVER['DOCUMENT_ROOT'] . '/bending/img/';
    
    // 업로드 디렉토리가 없으면 생성
    if (!is_dir($upload_dir)) {
        mkdir($upload_dir, 0755, true);
    }
    
    $filepath = $upload_dir . $filename;
    
    // 파일 이동
    if (!move_uploaded_file($uploadedFile['tmp_name'], $filepath)) {
        throw new Exception('파일 저장 실패');
    }
    
    // 데이터베이스 업데이트 (수정 모드인 경우)
    if (!empty($num) && $mode !== 'insert') {
        require_once($_SERVER['DOCUMENT_ROOT'] . "/common.php");
        require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
        $pdo = db_connect();
        
        // 기존 파일 삭제 (있는 경우)
        $sql = "SELECT imgdata FROM bending WHERE num = ?";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$num]);
        $row = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if ($row && !empty($row['imgdata'])) {
            $oldFile = $upload_dir . $row['imgdata'];
            if (file_exists($oldFile)) {
                unlink($oldFile);
            }
        }
        
        // 새 파일명으로 업데이트
        $sql = "UPDATE bending SET imgdata = ? WHERE num = ?";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$filename, $num]);
    }
    
    echo json_encode([
        'success' => true, 
        'message' => '이미지가 성공적으로 저장되었습니다.',
        'filename' => $filename,
        'filepath' => '/bending/img/' . $filename
    ]);
    
} catch (Exception $e) {
    echo json_encode([
        'success' => false, 
        'message' => '이미지 저장 중 오류가 발생했습니다: ' . $e->getMessage()
    ]);
}
?> 