|
@@ -274,6 +274,40 @@ function gnusocial_set_title {
|
274
|
274
|
esac
|
275
|
275
|
}
|
276
|
276
|
|
|
277
|
+function gnusocial_set_expire_months {
|
|
278
|
+ GNUSOCIAL_DOMAIN_NAME=$(get_completion_param "gnusocial domain")
|
|
279
|
+ read_config_param "GNUSOCIAL_EXPIRE_MONTHS"
|
|
280
|
+
|
|
281
|
+ data=$(tempfile 2>/dev/null)
|
|
282
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
283
|
+ dialog --title $"GNU Social" \
|
|
284
|
+ --backtitle $"Freedombone Control Panel" \
|
|
285
|
+ --inputbox $'Set an expiry period for posts in months. Anything older will be deleted. Lower values help to keep the database size small and as fast as possible.' 12 60 "$GNUSOCIAL_EXPIRE_MONTHS" 2>$data
|
|
286
|
+ sel=$?
|
|
287
|
+ case $sel in
|
|
288
|
+ 0)
|
|
289
|
+ new_expiry_months=$(<$data)
|
|
290
|
+ if [ ${#new_expiry_months} -gt 0 ]; then
|
|
291
|
+ # should contain no spaces
|
|
292
|
+ if [[ "$new_expiry_months" == *" "* ]]; then
|
|
293
|
+ return
|
|
294
|
+ fi
|
|
295
|
+ # should be a number
|
|
296
|
+ re='^[0-9]+$'
|
|
297
|
+ if ! [[ $new_expiry_months =~ $re ]] ; then
|
|
298
|
+ return
|
|
299
|
+ fi
|
|
300
|
+ # set the new value
|
|
301
|
+ GNUSOCIAL_EXPIRE_MONTHS=$new_expiry_months
|
|
302
|
+ write_config_param "GNUSOCIAL_EXPIRE_MONTHS" "$GNUSOCIAL_EXPIRE_MONTHS"
|
|
303
|
+ expire_gnusocial_posts "$GNUSOCIAL_DOMAIN_NAME" "gnusocial" "$GNUSOCIAL_EXPIRE_MONTHS"
|
|
304
|
+ dialog --title $"Set GNU Social post expiry period" \
|
|
305
|
+ --msgbox $"Expiry period set to $GNUSOCIAL_EXPIRE_MONTHS months" 6 60
|
|
306
|
+ fi
|
|
307
|
+ ;;
|
|
308
|
+ esac
|
|
309
|
+}
|
|
310
|
+
|
277
|
311
|
function configure_interactive_gnusocial {
|
278
|
312
|
while true
|
279
|
313
|
do
|
|
@@ -281,10 +315,11 @@ function configure_interactive_gnusocial {
|
281
|
315
|
trap "rm -f $data" 0 1 2 5 15
|
282
|
316
|
dialog --backtitle $"Freedombone Control Panel" \
|
283
|
317
|
--title $"GNU Social" \
|
284
|
|
- --radiolist $"Choose an operation:" 12 70 3 \
|
|
318
|
+ --radiolist $"Choose an operation:" 13 70 4 \
|
285
|
319
|
1 $"Set a background image" off \
|
286
|
320
|
2 $"Set the title" off \
|
287
|
|
- 3 $"Exit" on 2> $data
|
|
321
|
+ 3 $"Set post expiry period (currently $GNUSOCIAL_EXPIRE_MONTHS months)" off \
|
|
322
|
+ 4 $"Exit" on 2> $data
|
288
|
323
|
sel=$?
|
289
|
324
|
case $sel in
|
290
|
325
|
1) return;;
|
|
@@ -293,7 +328,8 @@ function configure_interactive_gnusocial {
|
293
|
328
|
case $(cat $data) in
|
294
|
329
|
1) gnusocial_set_background_image;;
|
295
|
330
|
2) gnusocial_set_title;;
|
296
|
|
- 3) break;;
|
|
331
|
+ 3) gnusocial_set_expire_months;;
|
|
332
|
+ 4) break;;
|
297
|
333
|
esac
|
298
|
334
|
done
|
299
|
335
|
}
|