#!/usr/bin/env bash

# ============================================
# WordPress 도메인 변경 스크립트
# ============================================
# 도메인 변경 명령어
# sudo /tmp/change_domain.sh mydomain.com
set -e

if [[ $# -ne 1 ]]; then
    echo "Usage: sudo bash $0 <new-domain>"
    exit 1
fi

NEW_DOMAIN=$1
WEB_ROOT="/home/www"
NGINX_CONF="/etc/nginx/conf.d/default.conf"

echo "[INFO] 새로운 도메인: $NEW_DOMAIN"

# 1. WordPress DB에서 siteurl, home 변경
echo "[INFO] WordPress 도메인 변경 중 (DB 업데이트)..."
sudo -u www-data wp option update siteurl "http://${NEW_DOMAIN}" --path=$WEB_ROOT
sudo -u www-data wp option update home "http://${NEW_DOMAIN}" --path=$WEB_ROOT

# 2. wp-config.php에 도메인 강제 적용 (선택 사항)
if ! grep -q "WP_HOME" $WEB_ROOT/wp-config.php; then
    echo "[INFO] wp-config.php에 WP_HOME / WP_SITEURL 추가..."
    cat <<EOL >> $WEB_ROOT/wp-config.php

// Added by change_domain.sh
define('WP_HOME', 'http://${NEW_DOMAIN}');
define('WP_SITEURL', 'http://${NEW_DOMAIN}');
EOL
fi

# 3. Nginx 설정 수정
if [[ -f $NGINX_CONF ]]; then
    echo "[INFO] Nginx 설정 수정..."
    sed -i "s|server_name .*;|server_name ${NEW_DOMAIN};|" $NGINX_CONF
    systemctl reload nginx
fi

# 4. /tmp/wpadmin 파일 업데이트
if [[ -f /tmp/wpadmin ]]; then
    echo "[INFO] /tmp/wpadmin 업데이트..."
    sed -i "s|http://.*|http://${NEW_DOMAIN}|g" /tmp/wpadmin
fi

echo "[SUCCESS] 도메인 변경 완료!"
echo "접속 URL: http://${NEW_DOMAIN}"
echo "관리자 페이지: http://${NEW_DOMAIN}/wp-admin/"
