Bob Mottram 8 years ago
parent
commit
ae5ec38024
1 changed files with 79 additions and 78 deletions
  1. 79
    78
      src/freedombone-app-etherpad

+ 79
- 78
src/freedombone-app-etherpad View File

@@ -88,114 +88,114 @@ function etherpad_create_database {
88 88
 }
89 89
 
90 90
 function create_etherpad_settings {
91
-    echo '{' > /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
92
-    echo "  \"title\": \"${ETHERPAD_TITLE}\"," >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
93
-    echo '  "favicon": "favicon.ico",' >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
91
+    settings_file=/var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
92
+    echo '{' > $settings_file
93
+    echo "  \"title\": \"${ETHERPAD_TITLE}\"," >> $settings_file
94
+    echo '  "favicon": "favicon.ico",' >> $settings_file
94 95
 
95
-    echo '  "ip": "0.0.0.0",' >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
96
-    echo "  \"port\" : ${ETHERPAD_PORT}," >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
96
+    echo '  "ip": "0.0.0.0",' >> $settings_file
97
+    echo "  \"port\" : ${ETHERPAD_PORT}," >> $settings_file
97 98
 
98
-    echo '  "showSettingsInAdminPage" : true,' >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
99
+    echo '  "showSettingsInAdminPage" : true,' >> $settings_file
99 100
 
100 101
     if [[ $ONION_ONLY == 'no' ]]; then
101
-        echo '  "ssl" : {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
102
-        echo "            \"key\"  : \"/etc/ssl/private/${ETHERPAD_DOMAIN_NAME}.key\"," >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
103
-        echo "            \"cert\" : \"/etc/ssl/certs/${ETHERPAD_DOMAIN_NAME}.pem\"," >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
104
-        echo '          },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
102
+        echo '  "ssl" : {' >> $settings_file
103
+        echo "            \"key\"  : \"/etc/ssl/private/${ETHERPAD_DOMAIN_NAME}.key\"," >> $settings_file
104
+        echo "            \"cert\" : \"/etc/ssl/certs/${ETHERPAD_DOMAIN_NAME}.pem\"," >> $settings_file
105
+        echo '          },' >> $settings_file
105 106
     fi
106 107
 
107
-    echo '   "dbType" : "mysql",' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
108
-    echo '   "dbSettings" : {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
109
-    echo '                    "user"    : "root",' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
110
-    echo '                    "host"    : "localhost",' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
111
-    echo "                    \"password\": \"${MARIADB_PASSWORD}\"," >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
112
-    echo '                    "database": "etherpad",' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
113
-    echo '                    "charset" : "utf8mb4"' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
114
-    echo '                  },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
108
+    echo '   "dbType" : "mysql",' >> $settings_file
109
+    echo '   "dbSettings" : {' >> $settings_file
110
+    echo '                    "user"    : "root",' >> $settings_file
111
+    echo '                    "host"    : "localhost",' >> $settings_file
112
+    echo "                    \"password\": \"${MARIADB_PASSWORD}\"," >> $settings_file
113
+    echo '                    "database": "etherpad",' >> $settings_file
114
+    echo '                    "charset" : "utf8mb4"' >> $settings_file
115
+    echo '                  },' >> $settings_file
115 116
 
116
-    echo "  \"defaultPadText\" : \"${ETHERPAD_WELCOME_MESSAGE}\"," >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
117
+    echo "  \"defaultPadText\" : \"${ETHERPAD_WELCOME_MESSAGE}\"," >> $settings_file
117 118
 
118
-    echo '  "padOptions": {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
119
-    echo '    "noColors": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
120
-    echo '    "showControls": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
121
-    echo '    "showChat": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
122
-    echo '    "showLineNumbers": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
123
-    echo '    "useMonospaceFont": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
124
-    echo '    "userName": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
125
-    echo '    "userColor": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
126
-    echo '    "rtl": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
127
-    echo '    "alwaysShowChat": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
128
-    echo '    "chatAndUsers": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
129
-    echo '    "lang": "en-gb"' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
130
-    echo '  },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
119
+    echo '  "padOptions": {' >> $settings_file
120
+    echo '    "noColors": false,' >> $settings_file
121
+    echo '    "showControls": true,' >> $settings_file
122
+    echo '    "showChat": true,' >> $settings_file
123
+    echo '    "showLineNumbers": false,' >> $settings_file
124
+    echo '    "useMonospaceFont": false,' >> $settings_file
125
+    echo '    "userName": false,' >> $settings_file
126
+    echo '    "userColor": true,' >> $settings_file
127
+    echo '    "rtl": false,' >> $settings_file
128
+    echo '    "alwaysShowChat": true,' >> $settings_file
129
+    echo '    "chatAndUsers": true,' >> $settings_file
130
+    echo '    "lang": "en-gb"' >> $settings_file
131
+    echo '  },' >> $settings_file
131 132
 
132
-    echo '  "suppressErrorsInPadText" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
133
+    echo '  "suppressErrorsInPadText" : true,' >> $settings_file
133 134
 
134
-    echo '  "requireSession" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
135
+    echo '  "requireSession" : false,' >> $settings_file
135 136
 
136
-    echo '  "editOnly" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
137
+    echo '  "editOnly" : false,' >> $settings_file
137 138
 
138
-    echo '  "sessionNoPassword" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
139
+    echo '  "sessionNoPassword" : false,' >> $settings_file
139 140
 
140
-    echo '  "minify" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
141
+    echo '  "minify" : true,' >> $settings_file
141 142
 
142
-    echo '  "maxAge" : 21600, // 60 * 60 * 6 = 6 hours' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
143
+    echo '  "maxAge" : 21600, // 60 * 60 * 6 = 6 hours' >> $settings_file
143 144
 
144
-    echo '  "abiword" : null,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
145
+    echo '  "abiword" : null,' >> $settings_file
145 146
 
146
-    echo '  "soffice" : null,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
147
+    echo '  "soffice" : null,' >> $settings_file
147 148
 
148
-    echo '  "tidyHtml" : null,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
149
+    echo '  "tidyHtml" : null,' >> $settings_file
149 150
 
150
-    echo '  "allowUnknownFileEnds" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
151
+    echo '  "allowUnknownFileEnds" : false,' >> $settings_file
151 152
 
152
-    echo '  "requireAuthentication" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
153
+    echo '  "requireAuthentication" : true,' >> $settings_file
153 154
 
154
-    echo '  "requireAuthorization" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
155
+    echo '  "requireAuthorization" : true,' >> $settings_file
155 156
 
156
-    echo '  "trustProxy" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
157
+    echo '  "trustProxy" : false,' >> $settings_file
157 158
 
158
-    echo '  "disableIPlogging" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
159
+    echo '  "disableIPlogging" : true,' >> $settings_file
159 160
 
160
-    echo '  "users": {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
161
-    echo "    \"${MY_USERNAME}\": { \"password\": \"${ETHERPAD_ADMIN_PASSWORD}\", \"is_admin\": true }" >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
162
-    echo '  },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
161
+    echo '  "users": {' >> $settings_file
162
+    echo "    \"${MY_USERNAME}\": { \"password\": \"${ETHERPAD_ADMIN_PASSWORD}\", \"is_admin\": true }" >> $settings_file
163
+    echo '  },' >> $settings_file
163 164
 
164
-    echo '  "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
165
+    echo '  "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],' >> $settings_file
165 166
 
166
-    echo '  "loadTest": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
167
+    echo '  "loadTest": false,' >> $settings_file
167 168
 
168
-    echo '  "indentationOnNewLine": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
169
+    echo '  "indentationOnNewLine": false,' >> $settings_file
169 170
 
170
-    echo '  "toolbar": {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
171
-    echo '    "left": [' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
172
-    echo '      ["bold", "italic", "underline", "strikethrough"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
173
-    echo '      ["orderedlist", "unorderedlist", "indent", "outdent"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
174
-    echo '      ["undo", "redo"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
175
-    echo '      ["clearauthorship"]' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
176
-    echo '    ],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
177
-    echo '    "right": [' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
178
-    echo '      ["importexport", "timeslider", "savedrevision"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
179
-    echo '      ["settings", "embed"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
180
-    echo '      ["showusers"]' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
181
-    echo '    ],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
182
-    echo '    "timeslider": [' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
183
-    echo '      ["timeslider_export", "timeslider_returnToPad"]' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
184
-    echo '    ]' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
185
-    echo '  },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
186
-    echo '  "loglevel": "INFO"' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
187
-    echo '}' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
171
+    echo '  "toolbar": {' >> $settings_file
172
+    echo '    "left": [' >> $settings_file
173
+    echo '      ["bold", "italic", "underline", "strikethrough"],' >> $settings_file
174
+    echo '      ["orderedlist", "unorderedlist", "indent", "outdent"],' >> $settings_file
175
+    echo '      ["undo", "redo"],' >> $settings_file
176
+    echo '      ["clearauthorship"]' >> $settings_file
177
+    echo '    ],' >> $settings_file
178
+    echo '    "right": [' >> $settings_file
179
+    echo '      ["importexport", "timeslider", "savedrevision"],' >> $settings_file
180
+    echo '      ["settings", "embed"],' >> $settings_file
181
+    echo '      ["showusers"]' >> $settings_file
182
+    echo '    ],' >> $settings_file
183
+    echo '    "timeslider": [' >> $settings_file
184
+    echo '      ["timeslider_export", "timeslider_returnToPad"]' >> $settings_file
185
+    echo '    ]' >> $settings_file
186
+    echo '  },' >> $settings_file
187
+    echo '  "loglevel": "INFO"' >> $settings_file
188
+    echo '}' >> $settings_file
188 189
 }
189 190
 
190 191
 function remove_user_etherpad {
191 192
     remove_username="$1"
192
-
193
-    read_config_param ETHERPAD_DOMAIN_NAME
193
+    settings_file=/var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
194 194
 
195 195
     ${PROJECT_NAME}-pass -u $remove_username --rmapp etherpad
196 196
 
197
-    if grep -q "\"$remove_username\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
198
-        sed -i "/\"$remove_username\": {/d" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
197
+    if grep -q "\"$remove_username\": {" $settings_file; then
198
+        sed -i "/\"$remove_username\": {/d" $settings_file
199 199
         systemctl restart etherpad
200 200
     fi
201 201
 }
@@ -203,11 +203,12 @@ function remove_user_etherpad {
203 203
 function add_user_etherpad {
204 204
     new_username="$1"
205 205
     new_user_password="$2"
206
-    read_config_param ETHERPAD_DOMAIN_NAME
207
-    if ! grep -q "\"$new_username\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
206
+    settings_file=/var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
207
+
208
+    if ! grep -q "\"$new_username\": {" $settings_file; then
208 209
         ${PROJECT_NAME}-pass -u $new_username -a etherpad -p "$new_user_password"
209
-        sed -i "/\"users\": {/a    \"$new_username\": { \"password\": \"$new_user_password\", \"is_admin\": false }," /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
210
-        if grep -q "\"$new_username\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
210
+        sed -i "/\"users\": {/a    \"$new_username\": { \"password\": \"$new_user_password\", \"is_admin\": false }," $settings_file
211
+        if grep -q "\"$new_username\": {" $settings_file; then
211 212
             systemctl restart etherpad
212 213
         else
213 214
             echo '1'