#!/bin/bash

# Set the path to wp-config.php
WP_CONFIG="/web/html/outrightsystems.org/wp-config.php"

# Extract database credentials from wp-config.php
DB_NAME=$(grep -oP "(?<=define\('DB_NAME', ')[^']*" "$WP_CONFIG")
DB_USER=$(grep -oP "(?<=define\('DB_USER', ')[^']*" "$WP_CONFIG")
DB_PASS=$(grep -oP "(?<=define\('DB_PASSWORD', ')[^']*" "$WP_CONFIG")
DB_HOST=$(grep -oP "(?<=define\('DB_HOST', ')[^']*" "$WP_CONFIG")

# Set backup location
BACKUP_DIR="/web/html/auto_backups/databases"
BACKUP_FILE="wp_backup_$(date +\%Y-\%m-\%d_\%H-\%M-\%S).sql"


# Run MySQL dump
mysqldump -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/$BACKUP_FILE"

# Optional: Delete old backups (older than 7 days)
find "$BACKUP_DIR" -type f -name "*.sql" -mtime +7 -exec rm {} \;

# Log backup
echo "Backup created: $BACKUP_FILE" >> "$BACKUP_DIR/backup.log"
BACKUP_SIZE=$(du -sh "$BACKUP_DIR/$BACKUP_FILE" | cut -f1)

find "$BACKUP_DIR" -type f -name "*.sql" -mtime +15 -exec rm {} \;

# Log cleanup
echo "Deleted backups older than 15 days" >> "$BACKUP_DIR/backup.log"

EMAIL_API_URL="https://crm.outrightsystems.org/index.php?entryPoint=send_email&api_key=hr8jobGGDGXCanKKZuRSKfQAiHkhyHEyOZO9r"
EMAIL_JSON=$(cat <<EOF
{
    "recipients": ["ashish@outrightcrm.com"],
    "subject": "Database Backup Completed for outrightcrm.com",
    "body": "Backup file: $BACKUP_FILE (Size: $BACKUP_SIZE)",
    "attachments": [],
    "username": "outrightcrm19@gmail.com",
    "password": "whsbchnnqizapajq"
}
EOF
)
curl -X POST -H "Content-Type: application/json" -d "$EMAIL_JSON" "$EMAIL_API_URL"