|
@@ -327,6 +327,64 @@ function gnusocial_hourly_script {
|
327
|
327
|
chmod +x /etc/cron.hourly/${gnusocial_type}-daemons
|
328
|
328
|
}
|
329
|
329
|
|
|
330
|
+function gnusocial_block_user_script {
|
|
331
|
+ echo '#!/bin/bash' > /usr/bin/gnusocial-delete-user
|
|
332
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
333
|
+ echo 'database_name=$1' >> /usr/bin/gnusocial-delete-user
|
|
334
|
+ echo 'remove_user=$2' >> /usr/bin/gnusocial-delete-user
|
|
335
|
+ echo 'MARIADB_PASSWORD=$(freedombone-pass -u root -a mariadb)' >> /usr/bin/gnusocial-delete-user
|
|
336
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
337
|
+ echo 'if [ ${#remove_user} -lt 2 ]; then' >> /usr/bin/gnusocial-delete-user
|
|
338
|
+ echo ' echo $"No user was specified"' >> /usr/bin/gnusocial-delete-user
|
|
339
|
+ echo ' exit 1' >> /usr/bin/gnusocial-delete-user
|
|
340
|
+ echo 'fi' >> /usr/bin/gnusocial-delete-user
|
|
341
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
342
|
+ echo 'if [[ "$remove_user" != *"."* || "$remove_user" != *"@"* ]]; then' >> /usr/bin/gnusocial-delete-user
|
|
343
|
+ echo ' echo $"This doesnt look like a user"' >> /usr/bin/gnusocial-delete-user
|
|
344
|
+ echo ' exit 2' >> /usr/bin/gnusocial-delete-user
|
|
345
|
+ echo 'fi' >> /usr/bin/gnusocial-delete-user
|
|
346
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
347
|
+ echo 'if [ ${#database_name} -lt 2 ]; then' >> /usr/bin/gnusocial-delete-user
|
|
348
|
+ echo ' echo $"No database was specified"' >> /usr/bin/gnusocial-delete-user
|
|
349
|
+ echo ' exit 3' >> /usr/bin/gnusocial-delete-user
|
|
350
|
+ echo 'fi' >> /usr/bin/gnusocial-delete-user
|
|
351
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
352
|
+ echo "nickname=\$(echo \"\$remove_user\" | awk -F '@' '{print \$1}')" >> /usr/bin/gnusocial-delete-user
|
|
353
|
+ echo "remove_domain=\$(echo "\$remove_user" | awk -F '@' '{print \$2}')" >> /usr/bin/gnusocial-delete-user
|
|
354
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
355
|
+ echo 'database_query="select profile.id from profile where nickname = ${nickname} and profileurl like "%${remove_domain}%";"' >> /usr/bin/gnusocial-delete-user
|
|
356
|
+ echo 'declare -a ids=$(mysql -u root --password="$MARIADB_PASSWORD" << EOF' >> /usr/bin/gnusocial-delete-user
|
|
357
|
+ echo 'use $database_name;' >> /usr/bin/gnusocial-delete-user
|
|
358
|
+ echo '$database_query' >> /usr/bin/gnusocial-delete-user
|
|
359
|
+ echo 'EOF' >> /usr/bin/gnusocial-delete-user
|
|
360
|
+ echo ')' >> /usr/bin/gnusocial-delete-user
|
|
361
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
362
|
+ echo 'ctr=0' >> /usr/bin/gnusocial-delete-user
|
|
363
|
+ echo 'for id in $ids' >> /usr/bin/gnusocial-delete-user
|
|
364
|
+ echo 'do' >> /usr/bin/gnusocial-delete-user
|
|
365
|
+ echo ' if [ $ctr -gt 0 ]; then' >> /usr/bin/gnusocial-delete-user
|
|
366
|
+ echo ' #echo "Removing user ID $id on $remove_domain"' >> /usr/bin/gnusocial-delete-user
|
|
367
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
368
|
+ echo ' database_query="delete from conversation where uri like "%${remove_domain}%";"' >> /usr/bin/gnusocial-delete-user
|
|
369
|
+ echo ' mysql -u root --password="$MARIADB_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/gnusocial-delete-user
|
|
370
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
371
|
+ echo ' database_query="delete from reply where profile_id=${id};"' >> /usr/bin/gnusocial-delete-user
|
|
372
|
+ echo ' mysql -u root --password="$MARIADB_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/gnusocial-delete-user
|
|
373
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
374
|
+ echo ' database_query="delete from reply where replied_id=${id};"' >> /usr/bin/gnusocial-delete-user
|
|
375
|
+ echo ' mysql -u root --password="$MARIADB_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/gnusocial-delete-user
|
|
376
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
377
|
+ echo ' database_query="delete from notice where profile_id=${id};"' >> /usr/bin/gnusocial-delete-user
|
|
378
|
+ echo ' mysql -u root --password="$MARIADB_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/gnusocial-delete-user
|
|
379
|
+ echo '' >> /usr/bin/gnusocial-delete-user
|
|
380
|
+ echo ' database_query="delete from profile where id=${id};"' >> /usr/bin/gnusocial-delete-user
|
|
381
|
+ echo ' mysql -u root --password="$MARIADB_PASSWORD" -e "$database_query" $database_name' >> /usr/bin/gnusocial-delete-user
|
|
382
|
+ echo ' fi' >> /usr/bin/gnusocial-delete-user
|
|
383
|
+ echo ' ctr=$((ctr + 1))' >> /usr/bin/gnusocial-delete-user
|
|
384
|
+ echo 'done' >> /usr/bin/gnusocial-delete-user
|
|
385
|
+ chmod +x /usr/bin/gnusocial-delete-user
|
|
386
|
+}
|
|
387
|
+
|
330
|
388
|
function gnusocial_block_domain_script {
|
331
|
389
|
database_name=$1
|
332
|
390
|
|
|
@@ -390,7 +448,11 @@ function gnusocial_block_domain_script {
|
390
|
448
|
echo 'FIREWALL_DOMAINS=$HOME/${PROJECT_NAME}-firewall-domains.cfg' >> /usr/bin/${database_name}-firewall
|
391
|
449
|
echo '' >> /usr/bin/${database_name}-firewall
|
392
|
450
|
echo 'while read block; do' >> /usr/bin/${database_name}-firewall
|
393
|
|
- echo ' /usr/bin/gnusocial-delete-domain "$database_name" "$block"' >> /usr/bin/${database_name}-firewall
|
|
451
|
+ echo ' if [[ "$block" != *"@"* ]]; then' >> /usr/bin/${database_name}-firewall
|
|
452
|
+ echo ' /usr/bin/gnusocial-delete-domain "$database_name" "$block"' >> /usr/bin/${database_name}-firewall
|
|
453
|
+ echo ' else' >> /usr/bin/${database_name}-firewall
|
|
454
|
+ echo ' /usr/bin/gnusocial-delete-user "$database_name" "$block"' >> /usr/bin/${database_name}-firewall
|
|
455
|
+ echo ' fi' >> /usr/bin/${database_name}-firewall
|
394
|
456
|
echo 'done <$FIREWALL_DOMAINS' >> /usr/bin/${database_name}-firewall
|
395
|
457
|
chmod +x /usr/bin/${database_name}-firewall
|
396
|
458
|
|