Remove notifications for blocked users

This commit is contained in:
Bob Mottram 2018-01-22 10:41:30 +00:00
parent 1f7ed83d09
commit de8bacd3c2
1 changed files with 2 additions and 1 deletions

View File

@ -82,6 +82,7 @@ function create_pleroma_blocklist {
echo ' if [[ "$blocked" == *"."* || "$blocked" == *"@"* ]]; then' >> $blocking_script_file echo ' if [[ "$blocked" == *"."* || "$blocked" == *"@"* ]]; then' >> $blocking_script_file
echo ' if [ ${#blocked} -gt 4 ]; then' >> $blocking_script_file echo ' if [ ${#blocked} -gt 4 ]; then' >> $blocking_script_file
echo " sudo -u postgres psql -d pleroma -c \"DELETE FROM objects WHERE data->>'content' ilike '%\${blocked}%' or data->>'actor' ilike '%\${blocked}%' or data->>'to' ilike '%\${blocked}%' or data->>'id' ilike '%\${blocked}%' or data->>'external_url' ilike '%\${blocked}%'\"" >> $blocking_script_file echo " sudo -u postgres psql -d pleroma -c \"DELETE FROM objects WHERE data->>'content' ilike '%\${blocked}%' or data->>'actor' ilike '%\${blocked}%' or data->>'to' ilike '%\${blocked}%' or data->>'id' ilike '%\${blocked}%' or data->>'external_url' ilike '%\${blocked}%'\"" >> $blocking_script_file
echo " sudo -u postgres psql -d pleroma -c \"DELETE FROM notifications INNER JOIN users ON users.id = notifications.user_id WHERE users.nickname ilike '%${blocked}%';\"" >> $blocking_script_file
echo " sudo -u postgres psql -d pleroma -c \"DELETE FROM users WHERE nickname ilike '%\${blocked}%'\"" >> $blocking_script_file echo " sudo -u postgres psql -d pleroma -c \"DELETE FROM users WHERE nickname ilike '%\${blocked}%'\"" >> $blocking_script_file
echo ' fi' >> $blocking_script_file echo ' fi' >> $blocking_script_file
echo ' fi' >> $blocking_script_file echo ' fi' >> $blocking_script_file
@ -89,7 +90,7 @@ function create_pleroma_blocklist {
chmod +x $blocking_script_file chmod +x $blocking_script_file
if ! grep -q "$blocking_script_file" /etc/crontab; then if ! grep -q "$blocking_script_file" /etc/crontab; then
echo "*/1 * * * * root $blocking_script_file > /dev/null" >> /etc/crontab echo "*/2 * * * * root $blocking_script_file > /dev/null" >> /etc/crontab
fi fi
} }