Initial import of docroot-changer
This commit is contained in:
Executable
+38
@@ -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"
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
PLUGIN_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
|
||||
if [ "$(basename "$PLUGIN_DIR")" != "docroot-changer" ]; then
|
||||
echo "docroot-changer: safety check failed (basename is not docroot-changer): $PLUGIN_DIR" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "$PLUGIN_DIR/plugin.conf" ]; then
|
||||
echo "docroot-changer: safety check failed (plugin.conf missing): $PLUGIN_DIR" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CPI_FILE="/usr/local/directadmin/data/admin/custom_package_items.conf"
|
||||
if [ "$(id -u)" -eq 0 ] && [ -f "$CPI_FILE" ]; then
|
||||
sed -i.bak '/^docroot_changer=/d' "$CPI_FILE" || true
|
||||
fi
|
||||
|
||||
(sleep 3; rm -rf "$PLUGIN_DIR") >/dev/null 2>&1 &
|
||||
|
||||
echo "docroot-changer: uninstall complete"
|
||||
Reference in New Issue
Block a user