Initial import of docroot-changer

This commit is contained in:
Marek Miklewicz
2026-07-04 12:02:31 +02:00
commit 4c883fd543
16 changed files with 3054 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
#!/bin/bash
set -euo pipefail
PLUGIN_DIR="$(cd "$(dirname "$0")/.." && pwd)"
if [ "$(id -u)" -eq 0 ]; then
chown -R diradmin:diradmin "$PLUGIN_DIR" || true
else
echo "docroot-changer: warning: not running as root, cannot chown to diradmin" >&2
fi
chmod 755 "$PLUGIN_DIR" "$PLUGIN_DIR/hooks" "$PLUGIN_DIR/user" "$PLUGIN_DIR/scripts" "$PLUGIN_DIR/images" || true
chmod 755 "$PLUGIN_DIR/user/index.html" "$PLUGIN_DIR/install.sh" "$PLUGIN_DIR/uninstall.sh" "$PLUGIN_DIR/scripts/install.sh" "$PLUGIN_DIR/scripts/uninstall.sh" "$PLUGIN_DIR/hooks/menu_user.sh" || true
chmod 644 "$PLUGIN_DIR/plugin.conf" "$PLUGIN_DIR/plugin-settings.conf" "$PLUGIN_DIR/hooks/user_txt.html" "$PLUGIN_DIR/user/evolution.css" "$PLUGIN_DIR/images/user_icon.svg" "$PLUGIN_DIR/images/folder.svg" || true
DATA_DIR="$PLUGIN_DIR/data"
mkdir -p "$DATA_DIR/csrf"
chmod 700 "$DATA_DIR" "$DATA_DIR/csrf" || true
if [ "$(id -u)" -eq 0 ]; then
chown -R diradmin:diradmin "$DATA_DIR" || true
fi
CPI_FILE="/usr/local/directadmin/data/admin/custom_package_items.conf"
ITEM_LINE='docroot_changer=checkbox=no&desc=Allow+Docroot+Changer+plugin'
if [ "$(id -u)" -eq 0 ]; then
mkdir -p "$(dirname "$CPI_FILE")"
touch "$CPI_FILE"
if grep -q '^docroot_changer=' "$CPI_FILE"; then
sed -i.bak '/^docroot_changer=/d' "$CPI_FILE"
fi
printf '%s\n' "$ITEM_LINE" >> "$CPI_FILE"
chmod 644 "$CPI_FILE" || true
chown diradmin:diradmin "$CPI_FILE" || true
else
echo "docroot-changer: warning: not running as root, cannot modify custom_package_items.conf" >&2
fi
echo "docroot-changer: install complete"