Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/nextcloudpi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'etc/ncp-config.d/nc-import-ncp.sh')
-rw-r--r--etc/ncp-config.d/nc-import-ncp.sh76
1 files changed, 76 insertions, 0 deletions
diff --git a/etc/ncp-config.d/nc-import-ncp.sh b/etc/ncp-config.d/nc-import-ncp.sh
new file mode 100644
index 00000000..d33dca68
--- /dev/null
+++ b/etc/ncp-config.d/nc-import-ncp.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+
+# Import NextCloudPlus configuration
+#
+#
+# Copyleft 2017 by Courtney Hicks
+# GPL licensed (see end of file) * Use at your own risk!
+#
+
+FILE_=/media/USBdrive/ncp-config_xxxxxx.cfg
+
+DESCRIPTION="Import NextCloudPlus configuration from file"
+
+configure()
+{
+ [[ -f "$FILE_" ]] || { echo "export file $FILE_ does not exist"; return 1; }
+
+ source /usr/local/etc/library.sh || return 1
+ cd /usr/local/etc/ncp-config.d || return 1
+
+ # extract export
+ local TMP="/tmp/ncp-export"
+ rm -rf "$TMP"
+ mkdir -p "$TMP"
+ tar -xf "$FILE_" -C "$TMP"
+
+ # UGLY workaround to prevent apache from restarting upon activating some extras
+ # which leads to the operation appearing to fail in ncp-web
+ echo "invalid_op" >> /etc/apache2/sites-available/000-default.conf
+
+ # restore configuration and activate
+ for file in /"$TMP"/*; do
+ local SCRIPT="$( basename "$file" .cfg ).sh"
+
+ # restore
+ [ -f /usr/local/etc/ncp-config.d/"$SCRIPT" ] && {
+ local VARS=( $( grep "^[[:alpha:]]\+=" "$file" | cut -d= -f1 ) )
+ local VALS=( $( grep "^[[:alpha:]]\+=" "$file" | cut -d= -f2 ) )
+ for i in $( seq 0 1 ${#VARS[@]} ); do
+ sed -i "s|^${VARS[$i]}_=.*|${VARS[$i]}_=${VALS[$i]}|" "$SCRIPT"
+ done
+ }
+
+ # activate
+ grep -q "^ACTIVE_=yes" "$SCRIPT" && echo && activate_script "$SCRIPT"
+ done
+
+ # Fix invalid configuration
+ sed -i "/^invalid_op/d" /etc/apache2/sites-available/000-default.conf
+
+ # cleanup
+ rm -rf "$TMP"
+ echo -e "\nconfiguration restored"
+
+ # delayed in bg so it does not kill the connection, and we get AJAX response
+ bash -c "sleep 2 && service apache2 reload" &>/dev/null &
+}
+
+install() { :; }
+
+# License
+#
+# This script is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This script is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this script; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+# Boston, MA 02111-1307 USA