Fix 9 MEDIUM hardcoded /var/cpanel paths - ALL MEDIUM ISSUES RESOLVED!
FIXES:
Changed hardcoded /var/cpanel paths to use environment variables with fallbacks:
reference-db.sh:
- Line 255: /var/cpanel/userdata → ${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}
- Line 265: /var/cpanel/userdata → ${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}
php-detector.sh:
- Line 69: /var/cpanel/userdata → ${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}
user-manager.sh:
- Line 44-45: /var/cpanel/users → ${SYS_CPANEL_USERS_DIR:-/var/cpanel/users}
- Line 111: /var/cpanel/users → ${SYS_CPANEL_USERS_DIR:-/var/cpanel/users}
diagnostic-report.sh:
- Line 68: /var/cpanel/users → ${SYS_CPANEL_USERS_DIR:-/var/cpanel/users}
wordpress-cron-manager.sh:
- Line 229-230: /var/cpanel/userdata → ${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}
IMPACT:
- Paths now configurable via environment variables
- Maintains backward compatibility with default paths
- Better multi-panel support flexibility
- More testable code (can override paths in tests)
QA STATUS:
🎉 ALL MEDIUM ISSUES RESOLVED! 🎉
- CRITICAL: 0 ✓
- HIGH: 0 ✓
- MEDIUM: 0 ✓
- LOW: 11 (remaining)
This commit is contained in:
+1
-1
@@ -66,7 +66,7 @@ detect_php_version_for_domain() {
|
||||
case "$SYS_CONTROL_PANEL" in
|
||||
cpanel)
|
||||
# Check userdata for PHP version
|
||||
local userdata_file="/var/cpanel/userdata/$username/$domain"
|
||||
local userdata_file="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}/$username/$domain"
|
||||
if [ -f "$userdata_file" ]; then
|
||||
local php_ver=$(grep "phpversion:" "$userdata_file" | awk '{print $2}' | tr -d "'\"")
|
||||
echo "$php_ver"
|
||||
|
||||
+2
-2
@@ -252,7 +252,7 @@ build_domains_section() {
|
||||
# Count total domains for progress
|
||||
local total_domains=0
|
||||
for user in "${users[@]}"; do
|
||||
local userdata_dir="/var/cpanel/userdata/${user}"
|
||||
local userdata_dir="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}/${user}"
|
||||
if [ -d "$userdata_dir" ]; then
|
||||
total_domains=$((total_domains + $(find "$userdata_dir" -type f ! -name "*.cache" ! -name "*.yaml" ! -name "*.json" ! -name "main*" ! -name "cache" ! -name "*_SSL" 2>/dev/null | wc -l)))
|
||||
fi
|
||||
@@ -262,7 +262,7 @@ build_domains_section() {
|
||||
|
||||
# Get detailed domain information from cPanel userdata (if available)
|
||||
for user in "${users[@]}"; do
|
||||
local userdata_dir="/var/cpanel/userdata/${user}"
|
||||
local userdata_dir="${SYS_CPANEL_USERDATA_DIR:-/var/cpanel/userdata}/${user}"
|
||||
|
||||
if [ -d "$userdata_dir" ]; then
|
||||
# Parse each domain configuration file in userdata
|
||||
|
||||
+4
-3
@@ -41,8 +41,9 @@ list_all_users() {
|
||||
|
||||
# cPanel user listing
|
||||
list_cpanel_users() {
|
||||
if [ -d "/var/cpanel/users" ]; then
|
||||
ls /var/cpanel/users/ 2>/dev/null || true
|
||||
local cpanel_users_dir="${SYS_CPANEL_USERS_DIR:-/var/cpanel/users}"
|
||||
if [ -d "$cpanel_users_dir" ]; then
|
||||
ls "$cpanel_users_dir" 2>/dev/null || true
|
||||
else
|
||||
# Fallback: parse /etc/trueuserdomains
|
||||
awk -F: '{print $2}' /etc/trueuserdomains 2>/dev/null | sort -u || true
|
||||
@@ -108,7 +109,7 @@ get_user_info() {
|
||||
# cPanel user info
|
||||
get_cpanel_user_info() {
|
||||
local username="$1"
|
||||
local user_file="/var/cpanel/users/${username}"
|
||||
local user_file="${SYS_CPANEL_USERS_DIR:-/var/cpanel/users}/${username}"
|
||||
|
||||
if [ ! -f "$user_file" ]; then
|
||||
echo "USER_EXISTS=no"
|
||||
|
||||
@@ -226,8 +226,9 @@ case "$choice" in
|
||||
case "$SYS_CONTROL_PANEL" in
|
||||
cpanel)
|
||||
user=$(extract_user_from_path "$site_path")
|
||||
if [ -f "/var/cpanel/userdata/$user/main" ]; then
|
||||
domain=$(grep -m1 "^servername:" "/var/cpanel/userdata/$user/main" 2>/dev/null | awk '{print $2}')
|
||||
local 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
|
||||
;;
|
||||
interworx)
|
||||
|
||||
@@ -65,7 +65,8 @@ echo ""
|
||||
|
||||
echo "--- USER/DOMAIN FILES ---"
|
||||
echo "cPanel user files:"
|
||||
echo " /var/cpanel/users/: $(ls /var/cpanel/users/ 2>/dev/null | wc -l) files"
|
||||
local cpanel_users_dir="${SYS_CPANEL_USERS_DIR:-/var/cpanel/users}"
|
||||
echo " $cpanel_users_dir: $(ls "$cpanel_users_dir" 2>/dev/null | wc -l) files"
|
||||
echo " /etc/trueuserdomains: $([ -f /etc/trueuserdomains ] && wc -l < /etc/trueuserdomains || echo "NOT FOUND") lines"
|
||||
echo " /etc/userdatadomains: $([ -f /etc/userdatadomains ] && wc -l < /etc/userdatadomains || echo "NOT FOUND") lines"
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user