aboutsummaryrefslogtreecommitdiff
path: root/cli/biest8136-fix.php
blob: c1bad9a5c81b725cfc5f25df4dd8ab76cedfde5f (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
#!/usr/bin/env php
<?php
/**
 * This script adjusts all activities so that anonymous posts will actually be
 * anonymous.
 *
 * @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
 * @see    https://develop.studip.de/trac/ticket/8136
 */

require_once __DIR__ . '/studip_cli_env.inc.php';
require_once __DIR__ . '/../config/config_local.inc.php';

$query = "UPDATE `activities`
          SET `actor_type` = 'anonymous',
              `actor_id` = ''
          WHERE `provider` = :provider
            AND `actor_type` != 'anonymous'
            AND `object_id` IN (
                SELECT `topic_id`
                FROM `forum_entries`
                WHERE `anonymous` != 0
            )";
$statement = DBManager::get()->prepare($query);
$statement->bindValue(':provider', 'Studip\\Activity\\ForumProvider');
$statement->execute();

printf(
    "%u forum post activities were anonymized\n",
    $statement->rowCount()
);