blob: d33dca6886f22a762773a96b9829e5898b8750a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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
|