#!/bin/bash
# ============================================
# Hotel Saudi ERP v5.0 - Deployment Script
# ============================================
# 
# Cara pakai:
#   1. Edit variabel di bawah sesuai kebutuhan
#   2. chmod +x deploy.sh
#   3. sudo ./deploy.sh
#
# Tested on: Ubuntu 24.04 LTS
# ============================================

set -e

# ============================================
# CONFIGURATION - EDIT SESUAI KEBUTUHAN
# ============================================
DOMAIN="hotelsaudi.my.id"
WEB_ROOT="/var/www/hotelsaudi"
DB_NAME="wp_hotel"
DB_USER="wp_hotel_user"
DB_PASS="CHANGE_THIS_TO_STRONG_PASSWORD"
WP_ADMIN="admin"
WP_ADMIN_PASS="CHANGE_THIS_TO_STRONG_ADMIN_PASSWORD"
WP_ADMIN_EMAIL="admin@hotelsaudi.my.id"
TABLE_PREFIX="wp_hotel_"

# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# ============================================
# FUNCTIONS
# ============================================

log_info() {
    echo -e "${GREEN}[INFO]${NC} $1"
}

log_warn() {
    echo -e "${YELLOW}[WARN]${NC} $1"
}

log_error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

check_root() {
    if [[ $EUID -ne 0 ]]; then
        log_error "Script ini harus dijalankan sebagai root (sudo)"
        exit 1
    fi
}

# ============================================
# MAIN DEPLOYMENT
# ============================================

echo ""
echo "============================================"
echo "  Hotel Saudi ERP v5.0 - Deployment Script"
echo "============================================"
echo ""
echo "  Domain: ${DOMAIN}"
echo "  Web Root: ${WEB_ROOT}"
echo "  Database: ${DB_NAME}"
echo ""
echo "============================================"
echo ""

check_root

# ------------------------------------------
# Step 1: System Update
# ------------------------------------------
log_info "Step 1/12: Updating system..."
apt update -y > /dev/null 2>&1
apt upgrade -y > /dev/null 2>&1
log_info "System updated ✓"

# ------------------------------------------
# Step 2: Install LEMP Stack
# ------------------------------------------
log_info "Step 2/12: Installing LEMP stack..."

# Nginx
apt install nginx -y > /dev/null 2>&1

# MySQL
debconf-set-selections <<< "mysql-server mysql-server/root_password password ${DB_PASS}"
debconf-set-selections <<< "mysql-server mysql-server/root_password_again password ${DB_PASS}"
apt install mysql-server -y > /dev/null 2>&1

# PHP 8.3
apt install php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
  php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl \
  php8.3-bcmath php8.3-imagick php8.3-soap -y > /dev/null 2>&1

# Enable services
systemctl enable nginx mysql php8.3-fpm > /dev/null 2>&1
systemctl start nginx mysql php8.3-fpm > /dev/null 2>&1

log_info "LEMP stack installed ✓"

# ------------------------------------------
# Step 3: Install WP-CLI
# ------------------------------------------
log_info "Step 3/12: Installing WP-CLI..."
if ! command -v wp &> /dev/null; then
    curl -sO https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > /dev/null 2>&1
    chmod +x wp-cli.phar
    mv wp-cli.phar /usr/local/bin/wp
fi
log_info "WP-CLI installed ✓"

# ------------------------------------------
# Step 4: Install Tesseract OCR
# ------------------------------------------
log_info "Step 4/12: Installing Tesseract OCR..."
apt install tesseract-ocr tesseract-ocr-eng tesseract-ocr-ara -y > /dev/null 2>&1
log_info "Tesseract OCR installed ✓"

# ------------------------------------------
# Step 5: Setup Database
# ------------------------------------------
log_info "Step 5/12: Setting up database..."

mysql -u root -p"${DB_PASS}" -e "
CREATE DATABASE IF NOT EXISTS ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';
GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';
FLUSH PRIVILEGES;
" 2>/dev/null || {
    # Jika password root kosong
    mysql -u root -e "
    CREATE DATABASE IF NOT EXISTS ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER IF NOT EXISTS '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASS}';
    GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';
    FLUSH PRIVILEGES;
    " 2>/dev/null
}

log_info "Database setup complete ✓"

# ------------------------------------------
# Step 6: Download WordPress
# ------------------------------------------
log_info "Step 6/12: Downloading WordPress..."

mkdir -p ${WEB_ROOT}
cd /tmp
wget -q https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz > /dev/null 2>&1
cp -r /tmp/wordpress/* ${WEB_ROOT}/
chown -R www-data:www-data ${WEB_ROOT}

log_info "WordPress downloaded ✓"

# ------------------------------------------
# Step 7: Configure WordPress
# ------------------------------------------
log_info "Step 7/12: Configuring WordPress..."

cd ${WEB_ROOT}
cp wp-config-sample.php wp-config.php

# Update database credentials
sed -i "s/database_name_here/${DB_NAME}/" wp-config.php
sed -i "s/username_here/${DB_USER}/" wp-config.php
sed -i "s/password_here/${DB_PASS}/" wp-config.php
sed -i "s/wp_/${TABLE_PREFIX}/" wp-config.php

# Generate salts
SALTS=$(curl -s https://api.wordpress.org/secret-key/1.1/salt/)
# Replace salt lines
sed -i "/put your unique phrase here/d" wp-config.php
# Insert salts before the "That's all" line
sed -i "/That's all/i\\
define('AUTH_KEY',         '$(echo "$SALTS" | grep AUTH_KEY | cut -d"'" -f4)');\\
define('SECURE_AUTH_KEY',  '$(echo "$SALTS" | grep SECURE_AUTH_KEY | cut -d"'" -f4)');\\
define('LOGGED_IN_KEY',    '$(echo "$SALTS" | grep LOGGED_IN_KEY | cut -d"'" -f4)');\\
define('NONCE_KEY',        '$(echo "$SALTS" | grep NONCE_KEY | cut -d"'" -f4)');\\
define('AUTH_SALT',        '$(echo "$SALTS" | grep AUTH_SALT | cut -d"'" -f4)');\\
define('SECURE_AUTH_SALT', '$(echo "$SALTS" | grep SECURE_AUTH_SALT | cut -d"'" -f4)');\\
define('LOGGED_IN_SALT',   '$(echo "$SALTS" | grep LOGGED_IN_SALT | cut -d"'" -f4)');\\
define('NONCE_SALT',       '$(echo "$SALTS" | grep NONCE_SALT | cut -d"'" -f4)');" wp-config.php

# Performance & Security
sed -i "/WP_MEMORY_LIMIT/d" wp-config.php
sed -i "/That's all/i\\
define('WP_MEMORY_LIMIT', '256M');\\
define('WP_MAX_MEMORY_LIMIT', '512M');\\
define('DISALLOW_FILE_EDIT', true);" wp-config.php

chown www-data:www-data wp-config.php
chmod 600 wp-config.php

log_info "WordPress configured ✓"

# ------------------------------------------
# Step 8: Configure Nginx
# ------------------------------------------
log_info "Step 8/12: Configuring Nginx..."

cat > /etc/nginx/sites-available/${DOMAIN} << NGINX_EOF
server {
    listen 80;
    server_name ${DOMAIN} www.${DOMAIN};
    root ${WEB_ROOT};
    index index.php index.html;

    # Security headers
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-XSS-Protection "1; mode=block" always;

    # WordPress permalinks
    location / {
        try_files \$uri \$uri/ /index.php?\$args;
    }

    # PHP processing
    location ~ \\.php\$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
        include fastcgi_params;
    }

    # Deny sensitive files
    location ~ /\\.ht { deny all; }
    location ~ wp-config.php { deny all; }

    # Static file caching
    location ~* \\.(jpg|jpeg|png|gif|ico|css|js|svg|woff2?)\$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}
NGINX_EOF

ln -sf /etc/nginx/sites-available/${DOMAIN} /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t > /dev/null 2>&1 && systemctl reload nginx

log_info "Nginx configured ✓"

# ------------------------------------------
# Step 9: Install WordPress via WP-CLI
# ------------------------------------------
log_info "Step 9/12: Installing WordPress..."

sudo -u www-data wp core install \
  --url="https://${DOMAIN}" \
  --title="Hotel Saudi - Sistem Manajemen Hotel" \
  --admin_user="${WP_ADMIN}" \
  --admin_password="${WP_ADMIN_PASS}" \
  --admin_email="${WP_ADMIN_EMAIL}" \
  --path=${WEB_ROOT} 2>/dev/null

log_info "WordPress installed ✓"

# ------------------------------------------
# Step 10: Install Plugins & Theme
# ------------------------------------------
log_info "Step 10/12: Installing plugins & theme..."

# Plugins
sudo -u www-data wp plugin install advanced-custom-fields --activate --path=${WEB_ROOT} 2>/dev/null
sudo -u www-data wp plugin install custom-post-type-ui --activate --path=${WEB_ROOT} 2>/dev/null
sudo -u www-data wp plugin install wordpress-seo --activate --path=${WEB_ROOT} 2>/dev/null
sudo -u www-data wp plugin install contact-form-7 --activate --path=${WEB_ROOT} 2>/dev/null
sudo -u www-data wp plugin install elementor --activate --path=${WEB_ROOT} 2>/dev/null

# Theme
sudo -u www-data wp theme install astra --activate --path=${WEB_ROOT} 2>/dev/null

log_info "Plugins & theme installed ✓"

# ------------------------------------------
# Step 11: Install TCPDF
# ------------------------------------------
log_info "Step 11/12: Installing TCPDF..."

mkdir -p ${WEB_ROOT}/wp-content/plugins/tcpdf
cd /tmp
wget -q https://github.com/tecnickcom/tcpdf/releases/download/6.6.5/tcpdf_6_6.5.zip
unzip -o tcpdf_6_6.5.zip -d ${WEB_ROOT}/wp-content/plugins/tcpdf/ > /dev/null 2>&1
chown -R www-data:www-data ${WEB_ROOT}/wp-content/plugins/tcpdf/

log_info "TCPDF installed ✓"

# ------------------------------------------
# Step 12: Create mu-plugins
# ------------------------------------------
log_info "Step 12/12: Creating mu-plugins..."

mkdir -p ${WEB_ROOT}/wp-content/mu-plugins

# CPT mu-plugin
cat > ${WEB_ROOT}/wp-content/mu-plugins/cpt-allotment.php << 'CPTEOF'
<?php
add_action('init', function(){
    register_post_type('allotment_hotel', array(
        'labels' => array('name'=>'Allotment Hotel','singular_name'=>'Allotment','add_new'=>'Tambah Allotment'),
        'public' => true, 'has_archive' => true, 'rewrite' => array('slug'=>'allotment'),
        'supports' => array('title','editor','thumbnail'), 'menu_icon' => 'dashicons-building', 'show_in_rest' => true,
    ));
    register_post_type('manifest', array(
        'labels' => array('name'=>'Manifest Jamaah','singular_name'=>'Jamaah','add_new'=>'Tambah Jamaah'),
        'public' => true, 'has_archive' => true, 'rewrite' => array('slug'=>'jamaah'),
        'supports' => array('title','editor','thumbnail'), 'menu_icon' => 'dashicons-groups', 'show_in_rest' => true,
    ));
    register_post_type('rooming_list', array(
        'labels' => array('name'=>'Rooming List','singular_name'=>'Rooming','add_new'=>'Tambah Rooming'),
        'public' => true, 'has_archive' => true, 'rewrite' => array('slug'=>'rooming'),
        'supports' => array('title'), 'menu_icon' => 'dashicons-bed', 'show_in_rest' => true,
    ));
    register_post_type('kloter_grup', array(
        'labels' => array('name'=>'Kloter/Grup','singular_name'=>'Kloter','add_new'=>'Tambah Kloter'),
        'public' => true, 'has_archive' => true, 'rewrite' => array('slug'=>'kloter'),
        'supports' => array('title','editor'), 'menu_icon' => 'dashicons-nametag', 'show_in_rest' => true,
    ));
});
CPTEOF

# ACF Fields mu-plugin
cat > ${WEB_ROOT}/wp-content/mu-plugins/acf-fields.php << 'ACFEOF'
<?php
add_action('acf/init', function(){
    if(!function_exists('acf_add_local_field_group')) return;
    
    acf_add_local_field_group(array(
        'key' => 'group_allotment', 'title' => 'Data Allotment',
        'fields' => array(
            array('key'=>'field_allot_hotel','label'=>'Nama Hotel','name'=>'allot_hotel','type'=>'text','required'=>1),
            array('key'=>'field_allot_lokasi','label'=>'Lokasi','name'=>'allot_lokasi','type'=>'text'),
            array('key'=>'field_allot_bintang','label'=>'Bintang','name'=>'allot_bintang','type'=>'select','choices'=>array('3'=>'3 Star','4'=>'4 Star','5'=>'5 Star'),'default_value'=>'4'),
            array('key'=>'field_allot_checkin','label'=>'Check-in','name'=>'allot_checkin','type'=>'date_picker'),
            array('key'=>'field_allot_checkout','label'=>'Check-out','name'=>'allot_checkout','type'=>'date_picker'),
            array('key'=>'field_allot_room_type','label'=>'Tipe Kamar','name'=>'allot_room_type','type'=>'select','choices'=>array('double'=>'Double','triple'=>'Triple','quad'=>'Quad')),
            array('key'=>'field_allot_total_rooms','label'=>'Total Kamar','name'=>'allot_total_rooms','type'=>'number'),
            array('key'=>'field_allot_price_sar','label'=>'Harga SAR','name'=>'allot_price_sar','type'=>'number'),
            array('key'=>'field_allot_price_idr','label'=>'Harga IDR','name'=>'allot_price_idr','type'=>'number'),
            array('key'=>'field_allot_status','label'=>'Status','name'=>'allot_status','type'=>'select','choices'=>array('available'=>'Available','booked'=>'Booked','expired'=>'Expired'),'default_value'=>'available'),
        ),
        'location' => array(array(array('param'=>'post_type','operator'=>'==','value'=>'allotment_hotel'))),
    ));

    acf_add_local_field_group(array(
        'key' => 'group_jamaah', 'title' => 'Data Jamaah',
        'fields' => array(
            array('key'=>'field_jam_nama','label'=>'Nama Lengkap','name'=>'jamaah_nama_lengkap','type'=>'text','required'=>1),
            array('key'=>'field_jam_email','label'=>'Email','name'=>'jamaah_email','type'=>'email'),
            array('key'=>'field_jam_telepon','label'=>'Telepon','name'=>'jamaah_telepon','type'=>'text'),
            array('key'=>'field_jam_paspor','label'=>'Nomor Paspor','name'=>'jamaah_nomor_paspor','type'=>'text'),
            array('key'=>'field_jam_tgl_lahir','label'=>'Tanggal Lahir','name'=>'jamaah_tanggal_lahir','type'=>'date_picker'),
            array('key'=>'field_jam_jk','label'=>'Jenis Kelamin','name'=>'jamaah_jk','type'=>'select','choices'=>array('L'=>'Laki-laki','P'=>'Perempuan')),
            array('key'=>'field_jam_alamat','label'=>'Alamat','name'=>'jamaah_alamat','type'=>'textarea'),
            array('key'=>'field_jam_kloter','label'=>'Kloter','name'=>'jamaah_kloter','type'=>'text'),
            array('key'=>'field_jam_paket','label'=>'Paket','name'=>'jamaah_paket_id','type'=>'post_type','post_type'=>array('paket_umroh')),
            array('key'=>'field_jam_status','label'=>'Status','name'=>'jamaah_status','type'=>'select','choices'=>array('aktif'=>'Aktif','pending'=>'Pending','cancel'=>'Cancel'),'default_value'=>'aktif'),
            array('key'=>'field_jam_total_bayar','label'=>'Total Bayar SAR','name'=>'jamaah_total_bayar','type'=>'number'),
            array('key'=>'field_jam_agen_id','label'=>'Agen','name'=>'jamaah_agen_id','type'=>'post_type','post_type'=>array('agen_reseller')),
        ),
        'location' => array(array(array('param'=>'post_type','operator'=>'==','value'=>'manifest'))),
    ));

    acf_add_local_field_group(array(
        'key' => 'group_rooming', 'title' => 'Data Rooming',
        'fields' => array(
            array('key'=>'field_room_allotment','label'=>'Allotment','name'=>'room_allotment_id','type'=>'post_type','post_type'=>array('allotment_hotel')),
            array('key'=>'field_room_kloter','label'=>'Kloter','name'=>'room_kloter','type'=>'text'),
            array('key'=>'field_room_no','label'=>'Nomor Kamar','name':'room_no_kamar','type'=>'text'),
            array('key'=>'field_room_type','label'=>'Tipe Kamar','name':'room_type','type'=>'select','choices'=>array('double'=>'Double','triple'=>'Triple','quad'=>'Quad')),
            array('key'=>'field_room_guest1','label'=>'Tamu 1','name'=>'room_guest1','type'=>'post_type','post_type'=>array('manifest')),
            array('key'=>'field_room_guest2','label'=>'Tamu 2','name'=>'room_guest2','type'=>'post_type','post_type'=>array('manifest')),
            array('key'=>'field_room_guest3','label'=>'Tamu 3','name'=>'room_guest3','type'=>'post_type','post_type'=>array('manifest')),
            array('key'=>'field_room_guest4','label'=>'Tamu 4','name'=>'room_guest4','type'=>'post_type','post_type'=>array('manifest')),
        ),
        'location' => array(array(array('param'=>'post_type','operator'=>'==','value'=>'rooming_list'))),
    ));

    acf_add_local_field_group(array(
        'key' => 'group_kloter', 'title' => 'Data Kloter',
        'fields' => array(
            array('key'=>'field_kl_kode','label'=>'Kode Kloter','name'=>'kloter_kode','type'=>'text','required'=>1),
            array('key'=>'field_kl_nama','label'=>'Nama Kloter','name'=>'kloter_nama','type'=>'text'),
            array('key'=>'field_kl_tgl_berangkat','label'=>'Tanggal Berangkat','name'=>'kloter_tgl_berangkat','type'=>'date_picker'),
            array('key'=>'field_kl_tgl_pulang','label'=>'Tanggal Pulang','name'=>'kloter_tgl_pulang','type'=>'date_picker'),
            array('key'=>'field_kl_maskapai','label'=>'Maskapai','name'=>'kloter_maskapai','type'=>'text'),
            array('key'=>'field_kl_kapasitas','label'=>'Kapasitas','name'=>'kloter_kapasitas','type'=>'number'),
            array('key'=>'field_kl_berangkat_dari','label'=>'Berangkat Dari','name'=>'kloter_berangkat_dari','type'=>'text'),
            array('key'=>'field_kl_status','label'=>'Status','name'=>'kloter_status','type'=>'select','choices'=>array('draft'=>'Draft','aktif'=>'Aktif','berangkat'=>'Berangkat','selesai'=>'Selesai'),'default_value'=>'draft'),
        ),
        'location' => array(array(array('param'=>'post_type','operator'=>'==','value'=>'kloter_grup'))),
    ));

    acf_add_local_field_group(array(
        'key' => 'group_dokumen', 'title' => 'Dokumen Jamaah',
        'fields' => array(
            array('key'=>'field_doc_visa','label'=>'Status Visa','name'=>'doc_visa_status','type'=>'select','choices'=>array('pending','approved','rejected'),'default_value'=>'pending'),
            array('key'=>'field_doc_visa_date','label'=>'Tanggal Visa','name'=>'doc_visa_date','type'=>'date_picker'),
            array('key'=>'field_doc_tiket','label'=>'Status Tiket','name'=>'doc_tiket_status','type'=>'select','choices'=>array('pending','issued','used'),'default_value'=>'pending'),
            array('key'=>'field_doc_vaksin','label'=>'Status Vaksin','name'=>'doc_vaksin_status','type'=>'select','choices'=>array('pending','done','exempt'),'default_value'=>'pending'),
            array('key'=>'field_doc_ktp','label'=>'KTP','name'=>'doc_ktp','type'=>'select','choices'=>array('ada','tidak_ada'),'default_value'=>'ada'),
            array('key'=>'field_doc_kk','label'=>'KK','name'=>'doc_kk','type'=>'select','choices'=>array('ada','tidak_ada'),'default_value'=>'ada'),
            array('key'=>'field_doc_foto','label'=>'Foto','name'=>'doc_foto','type'=>'select','choices'=>array('ada','tidak_ada'),'default_value'=>'ada'),
        ),
        'location' => array(array(array('param'=>'post_type','operator'=>'==','value'=>'manifest'))),
    ));
});
ACFEOF

chown -R www-data:www-data ${WEB_ROOT}/wp-content/mu-plugins/

log_info "mu-plugins created ✓"

# ------------------------------------------
# Set Permissions
# ------------------------------------------
log_info "Setting permissions..."
chown -R www-data:www-data ${WEB_ROOT}
find ${WEB_ROOT} -type d -exec chmod 755 {} \;
find ${WEB_ROOT} -type f -exec chmod 644 {} \;
chmod 600 ${WEB_ROOT}/wp-config.php

# ------------------------------------------
# PHP Optimization
# ------------------------------------------
log_info "Optimizing PHP..."
sed -i 's/upload_max_filesize = .*/upload_max_filesize = 64M/' /etc/php/8.3/fpm/php.ini
sed -i 's/post_max_size = .*/post_max_size = 64M/' /etc/php/8.3/fpm/php.ini
sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/8.3/fpm/php.ini
sed -i 's/max_execution_time = .*/max_execution_time = 300/' /etc/php/8.3/fpm/php.ini
systemctl restart php8.3-fpm

# ------------------------------------------
# COMPLETE
# ------------------------------------------
echo ""
echo "============================================"
echo "  DEPLOYMENT COMPLETE!"
echo "============================================"
echo ""
echo -e "  ${GREEN}WordPress Admin:${NC}"
echo "    URL:      https://${DOMAIN}/wp-admin"
echo "    Username: ${WP_ADMIN}"
echo "    Password: ${WP_ADMIN_PASS}"
echo ""
echo -e "  ${YELLOW}Next Steps:${NC}"
echo "    1. Setup SSL:"
echo "       sudo certbot --nginx -d ${DOMAIN} -d www.${DOMAIN}"
echo ""
echo "    2. Copy Hotel Saudi Dashboard plugin:"
echo "       scp hotelsaudi-dashboard.php user@server:${WEB_ROOT}/wp-content/plugins/"
echo ""
echo "    3. Activate plugin:"
echo "       sudo -u www-data wp plugin activate hotelsaudi-dashboard --path=${WEB_ROOT}"
echo ""
echo "    4. Create public pages:"
echo "       sudo -u www-data wp post create --post_type=page --post_title='Portal Jamaah' --post_status=publish --post_content='[hs_portal_jamaah]' --path=${WEB_ROOT}"
echo "       sudo -u www-data wp post create --post_type=page --post_title='Paket Umroh Kami' --post_status=publish --post_content='[hs_paket_listing]' --path=${WEB_ROOT}"
echo "       sudo -u www-data wp post create --post_type=page --post_title='Jadwal Transport' --post_status=publish --post_content='[hs_transport_schedule]' --path=${WEB_ROOT}"
echo "       sudo -u www-data wp post create --post_type=page --post_title='Status Kesehatan Jamaah' --post_status=publish --post_content='[hs_health_dashboard]' --path=${WEB_ROOT}"
echo "       sudo -u www-data wp post create --post_type=page --post_title='Laporan Keuangan' --post_status=publish --post_content='[hs_financial_report]' --path=${WEB_ROOT}"
echo "       sudo -u www-data wp post create --post_type=page --post_title='Portal Agen' --post_status=publish --post_content='[hs_agen_portal]' --path=${WEB_ROOT}"
echo "       sudo -u www-data wp post create --post_type=page --post_title='QR Check-in' --post_status=publish --post_content='[hs_qr_checkin]' --post_name='checkin' --path=${WEB_ROOT}"
echo ""
echo "    5. Flush rewrite rules:"
echo "       sudo -u www-data wp rewrite flush --path=${WEB_ROOT}"
echo ""
echo "    6. Set currency rate:"
echo "       sudo -u www-data wp option update hs_currency_rate 2750 --path=${WEB_ROOT}"
echo ""
echo "============================================"
