diff --git a/cpanel/gniza/install.json b/cpanel/gniza/install.json index eeae194..64d84e8 100644 --- a/cpanel/gniza/install.json +++ b/cpanel/gniza/install.json @@ -1,10 +1,11 @@ [ { - "target_type": "link", + "type": "link", + "id": "gniza", "name": "gniza Restore", - "category": "files", + "group_id": "files", "description": "Restore files, databases, email, and more from gniza backups", - "url": "gniza/index.live.cgi", + "uri": "gniza/index.live.cgi", "feature": "gniza_restore", "order": 1, "icon": "gniza/assets/gniza-logo.svg" diff --git a/scripts/install.sh b/scripts/install.sh index c91d89b..448a5a2 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -112,10 +112,13 @@ if [[ -d "$CPANEL_BASE" ]]; then cp "$SOURCE_DIR/cpanel/admin/Gniza/Restore.conf" "$ADMINBIN_DIR/" chmod 0700 "$ADMINBIN_DIR/Restore" chmod 0600 "$ADMINBIN_DIR/Restore.conf" - # Register plugin in cPanel interface (install_plugin expects a tar.gz archive) + # Register plugin in cPanel interface (install_plugin expects a tar.gz archive + # containing install.json + the icon file referenced in it) PLUGIN_TMPDIR="$(mktemp -d)" + mkdir -p "$PLUGIN_TMPDIR/gniza/assets" cp "$SOURCE_DIR/cpanel/gniza/install.json" "$PLUGIN_TMPDIR/" - tar -czf "$PLUGIN_TMPDIR/gniza-cpanel.tar.gz" -C "$PLUGIN_TMPDIR" install.json + cp "$SOURCE_DIR/cpanel/gniza/assets/gniza-logo.svg" "$PLUGIN_TMPDIR/gniza/assets/" + tar -czf "$PLUGIN_TMPDIR/gniza-cpanel.tar.gz" -C "$PLUGIN_TMPDIR" install.json gniza/assets/gniza-logo.svg /usr/local/cpanel/scripts/install_plugin "$PLUGIN_TMPDIR/gniza-cpanel.tar.gz" 2>/dev/null || true rm -rf "$PLUGIN_TMPDIR" echo "cPanel user plugin installed — users will see gniza Restore in Files section" diff --git a/scripts/uninstall.sh b/scripts/uninstall.sh index cdd31d1..7938a0c 100755 --- a/scripts/uninstall.sh +++ b/scripts/uninstall.sh @@ -46,10 +46,13 @@ CPANEL_BASE="/usr/local/cpanel/base/frontend/jupiter" ADMINBIN_DIR="/usr/local/cpanel/bin/admin/Gniza" if [[ -d "$CPANEL_BASE/gniza" ]]; then echo "Removing cPanel user plugin..." - # uninstall_plugin expects a tar.gz archive + # uninstall_plugin expects a tar.gz archive with install.json + icon if [[ -f "$CPANEL_BASE/gniza/install.json" ]]; then PLUGIN_TMPDIR="$(mktemp -d)" + mkdir -p "$PLUGIN_TMPDIR/gniza/assets" cp "$CPANEL_BASE/gniza/install.json" "$PLUGIN_TMPDIR/" + cp "$CPANEL_BASE/gniza/assets/gniza-logo.svg" "$PLUGIN_TMPDIR/gniza/assets/" 2>/dev/null || true + tar -czf "$PLUGIN_TMPDIR/gniza-cpanel.tar.gz" -C "$PLUGIN_TMPDIR" install.json gniza/assets/gniza-logo.svg 2>/dev/null || \ tar -czf "$PLUGIN_TMPDIR/gniza-cpanel.tar.gz" -C "$PLUGIN_TMPDIR" install.json /usr/local/cpanel/scripts/uninstall_plugin "$PLUGIN_TMPDIR/gniza-cpanel.tar.gz" 2>/dev/null || true rm -rf "$PLUGIN_TMPDIR"