Fix 22 critical runtime errors from 'local' keyword used outside functions
Removed 'local' keyword from script-level variable declarations in: - website-error-analyzer.sh (8 instances) - wordpress-cron-manager.sh (3 instances) - live-attack-monitor.sh (3 instances) - live-attack-monitor-v2.sh (3 instances) - acronis-uninstall.sh (3 instances) - malware-scanner.sh (1 instance) - acronis-troubleshoot.sh (1 instance) - diagnostic-report.sh (1 instance) The 'local' keyword can only be used inside bash functions. Using it at script-level causes immediate runtime errors.
This commit is contained in:
@@ -215,7 +215,7 @@ case "$CONTROL_PANEL" in
|
||||
done
|
||||
elif [ -n "$FILTER_USER" ]; then
|
||||
# Specific user - use get_user_domains from user-manager.sh
|
||||
local user_domains=$(get_user_domains "$FILTER_USER" 2>/dev/null)
|
||||
user_domains=$(get_user_domains "$FILTER_USER" 2>/dev/null)
|
||||
if [ -n "$user_domains" ]; then
|
||||
while IFS= read -r domain; do
|
||||
for log in "$DOMLOGS_DIR/$domain" "$DOMLOGS_DIR/$domain-"*; do
|
||||
@@ -237,25 +237,25 @@ case "$CONTROL_PANEL" in
|
||||
# InterWorx: Per-domain logs in user home directories
|
||||
if [ -n "$FILTER_DOMAIN" ]; then
|
||||
# Specific domain - find its user
|
||||
local user=$(grep -l "ServerName ${FILTER_DOMAIN}" /etc/httpd/conf.d/vhost_*.conf 2>/dev/null | head -1 | \
|
||||
user=$(grep -l "ServerName ${FILTER_DOMAIN}" /etc/httpd/conf.d/vhost_*.conf 2>/dev/null | head -1 | \
|
||||
xargs grep "SuexecUserGroup" 2>/dev/null | awk '{print $2}')
|
||||
if [ -n "$user" ]; then
|
||||
local log="/home/${user}/var/${FILTER_DOMAIN}/logs/transfer.log"
|
||||
log="/home/${user}/var/${FILTER_DOMAIN}/logs/transfer.log"
|
||||
[ -f "$log" ] && echo "$log|domlog_$FILTER_DOMAIN" >> "$LOG_FILES_LIST"
|
||||
fi
|
||||
elif [ -n "$FILTER_USER" ]; then
|
||||
# Specific user - get their domains
|
||||
local user_domains=$(get_user_domains "$FILTER_USER" 2>/dev/null)
|
||||
user_domains=$(get_user_domains "$FILTER_USER" 2>/dev/null)
|
||||
if [ -n "$user_domains" ]; then
|
||||
while IFS= read -r domain; do
|
||||
local log="/home/${FILTER_USER}/var/${domain}/logs/transfer.log"
|
||||
log="/home/${FILTER_USER}/var/${domain}/logs/transfer.log"
|
||||
[ -f "$log" ] && echo "$log|domlog_$domain" >> "$LOG_FILES_LIST"
|
||||
done <<< "$user_domains"
|
||||
fi
|
||||
else
|
||||
# All domains - find all transfer.log files (InterWorx uses 'transfer.log' not 'access_log')
|
||||
find /home/*/var/*/logs -type f -name "transfer.log" 2>/dev/null | while read -r log; do
|
||||
local domain=$(echo "$log" | grep -oE '/var/[^/]+' | sed 's|/var/||')
|
||||
domain=$(echo "$log" | grep -oE '/var/[^/]+' | sed 's|/var/||')
|
||||
echo "$log|domlog_$domain" >> "$LOG_FILES_LIST"
|
||||
done
|
||||
fi
|
||||
@@ -271,7 +271,7 @@ case "$CONTROL_PANEL" in
|
||||
done
|
||||
elif [ -n "$FILTER_USER" ]; then
|
||||
# Specific user - get their domains
|
||||
local user_domains=$(get_user_domains "$FILTER_USER" 2>/dev/null)
|
||||
user_domains=$(get_user_domains "$FILTER_USER" 2>/dev/null)
|
||||
if [ -n "$user_domains" ]; then
|
||||
while IFS= read -r domain; do
|
||||
for log in /var/www/vhosts/system/"$domain"/logs/access_log \
|
||||
@@ -284,7 +284,7 @@ case "$CONTROL_PANEL" in
|
||||
# All domains
|
||||
find /var/www/vhosts/system/*/logs -type f \( -name "access_log" -o -name "access_ssl_log" \) 2>/dev/null | \
|
||||
while read -r log; do
|
||||
local domain=$(echo "$log" | grep -oE '/system/[^/]+' | sed 's|/system/||')
|
||||
domain=$(echo "$log" | grep -oE '/system/[^/]+' | sed 's|/system/||')
|
||||
echo "$log|domlog_$domain" >> "$LOG_FILES_LIST"
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -226,7 +226,7 @@ case "$choice" in
|
||||
case "$SYS_CONTROL_PANEL" in
|
||||
cpanel)
|
||||
user=$(extract_user_from_path "$site_path")
|
||||
local userdata_dir="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}"
|
||||
userdata_dir="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}"
|
||||
if [ -f "$userdata_dir/$user/main" ]; then
|
||||
domain=$(grep -m1 "^servername:" "$userdata_dir/$user/main" 2>/dev/null | awk '{print $2}')
|
||||
fi
|
||||
@@ -285,7 +285,7 @@ case "$choice" in
|
||||
case "$SYS_CONTROL_PANEL" in
|
||||
cpanel)
|
||||
# Method 1: Check main_domain in /var/cpanel/userdata/*/main files
|
||||
local userdata_base="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}"
|
||||
userdata_base="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}"
|
||||
for userdata_file in "$userdata_base"/*/main; do
|
||||
if grep -q "^main_domain: $domain" "$userdata_file" 2>/dev/null; then
|
||||
user=$(basename "$(dirname "$userdata_file")")
|
||||
@@ -588,7 +588,7 @@ case "$choice" in
|
||||
wp_config=""
|
||||
|
||||
# Method 1: Check main_domain in main files
|
||||
local userdata_base="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}"
|
||||
userdata_base="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}"
|
||||
for userdata_file in "$userdata_base"/*/main; do
|
||||
if grep -q "^main_domain: $domain" "$userdata_file" 2>/dev/null; then
|
||||
user=$(basename "$(dirname "$userdata_file")")
|
||||
|
||||
Reference in New Issue
Block a user