#!/bin/bash

# Script untuk prepare deployment ke production server
# Domain: https://qc.suwastama.com/

echo "🚀 Mempersiapkan file untuk deployment..."

# 1. Buat folder deployment
mkdir -p deployment_package

# 2. Copy semua file kecuali yang tidak perlu
echo "📦 Copying files..."
cp -r app deployment_package/
cp -r public deployment_package/
cp -r system deployment_package/
cp -r vendor deployment_package/
cp -r writable deployment_package/

# 3. Copy file .env.production
cp .env.production deployment_package/.env

# 4. Buat folder uploads jika belum ada
mkdir -p deployment_package/public/uploads/inspections
mkdir -p deployment_package/public/uploads/products
mkdir -p deployment_package/writable/cache
mkdir -p deployment_package/writable/logs
mkdir -p deployment_package/writable/session
mkdir -p deployment_package/writable/uploads

# 5. Set permission
echo "🔐 Setting permissions..."
chmod -R 755 deployment_package/writable/
chmod -R 755 deployment_package/public/uploads/

# 6. Create .htaccess in public
cat > deployment_package/public/.htaccess << 'EOF'
# Disable directory browsing
Options -Indexes

# Deny access to hidden files
<FilesMatch "^\.">
    Order allow,deny
    Deny from all
</FilesMatch>

# Redirect to index.php
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    
    # Redirect to HTTPS
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    # Remove index.php from URL
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

# Prevent access to CI system files
<FilesMatch "(^#.*#|\.(bak|conf|dist|fla|in[ci]|log|orig|psd|sh|sql|sw[op])|~)$">
    Order allow,deny
    Deny from all
</FilesMatch>
EOF

# 7. Create archive
echo "📦 Creating archive..."
tar -czf qc_deployment_$(date +%Y%m%d_%H%M%S).tar.gz deployment_package/

echo "✅ Deployment package ready!"
echo "📁 File: qc_deployment_*.tar.gz"
echo ""
echo "Next steps:"
echo "1. Upload file .tar.gz ke server"
echo "2. Extract: tar -xzf qc_deployment_*.tar.gz"
echo "3. Move files ke folder yang sesuai"
echo "4. Import database dari database_structure.sql dan database_users_roles.sql"
echo "5. Edit .env jika perlu"
echo "6. Set permissions: chmod -R 755 writable/ && chmod -R 755 public/uploads/"
echo "7. Test akses: https://qc.suwastama.com/"
