Passed
Push — master ( eeec3c...c6cf87 )
by Morris
15:11 queued 10s
created
apps/dav/lib/Migration/RemoveClassifiedEventActivity.php 1 patch
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -29,104 +29,104 @@
 block discarded – undo
29 29
 
30 30
 class RemoveClassifiedEventActivity implements IRepairStep {
31 31
 
32
-	/** @var IDBConnection */
33
-	private $connection;
34
-
35
-	public function __construct(IDBConnection $connection) {
36
-		$this->connection = $connection;
37
-	}
38
-
39
-	/**
40
-	 * @inheritdoc
41
-	 */
42
-	public function getName() {
43
-		return 'Remove activity entries of private events';
44
-	}
45
-
46
-	/**
47
-	 * @inheritdoc
48
-	 */
49
-	public function run(IOutput $output) {
50
-		if (!$this->connection->tableExists('activity')) {
51
-			return;
52
-		}
53
-
54
-		$deletedEvents = $this->removePrivateEventActivity();
55
-		$deletedEvents += $this->removeConfidentialUncensoredEventActivity();
56
-
57
-		$output->info("Removed $deletedEvents activity entries");
58
-	}
59
-
60
-	protected function removePrivateEventActivity(): int {
61
-		$deletedEvents = 0;
62
-
63
-		$delete = $this->connection->getQueryBuilder();
64
-		$delete->delete('activity')
65
-			->where($delete->expr()->neq('affecteduser', $delete->createParameter('owner')))
66
-			->andWhere($delete->expr()->eq('object_type', $delete->createParameter('type')))
67
-			->andWhere($delete->expr()->eq('object_id', $delete->createParameter('calendar_id')))
68
-			->andWhere($delete->expr()->like('subjectparams', $delete->createParameter('event_uid')));
69
-
70
-		$query = $this->connection->getQueryBuilder();
71
-		$query->select('c.principaluri', 'o.calendarid', 'o.uid')
72
-			->from('calendarobjects', 'o')
73
-			->leftJoin('o', 'calendars', 'c', $query->expr()->eq('c.id', 'o.calendarid'))
74
-			->where($query->expr()->eq('o.classification', $query->createNamedParameter(CalDavBackend::CLASSIFICATION_PRIVATE)));
75
-		$result = $query->execute();
76
-
77
-		while ($row = $result->fetch()) {
78
-			if ($row['principaluri'] === null) {
79
-				continue;
80
-			}
81
-
82
-			$delete->setParameter('owner', $this->getPrincipal($row['principaluri']))
83
-				->setParameter('type', 'calendar')
84
-				->setParameter('calendar_id', $row['calendarid'])
85
-				->setParameter('event_uid', '%' . $this->connection->escapeLikeParameter('{"id":"' . $row['uid'] . '"') . '%');
86
-			$deletedEvents += $delete->execute();
87
-		}
88
-		$result->closeCursor();
89
-
90
-		return $deletedEvents;
91
-	}
92
-
93
-	protected function removeConfidentialUncensoredEventActivity(): int {
94
-		$deletedEvents = 0;
95
-
96
-		$delete = $this->connection->getQueryBuilder();
97
-		$delete->delete('activity')
98
-			->where($delete->expr()->neq('affecteduser', $delete->createParameter('owner')))
99
-			->andWhere($delete->expr()->eq('object_type', $delete->createParameter('type')))
100
-			->andWhere($delete->expr()->eq('object_id', $delete->createParameter('calendar_id')))
101
-			->andWhere($delete->expr()->like('subjectparams', $delete->createParameter('event_uid')))
102
-			->andWhere($delete->expr()->notLike('subjectparams', $delete->createParameter('filtered_name')));
103
-
104
-		$query = $this->connection->getQueryBuilder();
105
-		$query->select('c.principaluri', 'o.calendarid', 'o.uid')
106
-			->from('calendarobjects', 'o')
107
-			->leftJoin('o', 'calendars', 'c', $query->expr()->eq('c.id', 'o.calendarid'))
108
-			->where($query->expr()->eq('o.classification', $query->createNamedParameter(CalDavBackend::CLASSIFICATION_CONFIDENTIAL)));
109
-		$result = $query->execute();
110
-
111
-		while ($row = $result->fetch()) {
112
-			if ($row['principaluri'] === null) {
113
-				continue;
114
-			}
115
-
116
-			$delete->setParameter('owner', $this->getPrincipal($row['principaluri']))
117
-				->setParameter('type', 'calendar')
118
-				->setParameter('calendar_id', $row['calendarid'])
119
-				->setParameter('event_uid', '%' . $this->connection->escapeLikeParameter('{"id":"' . $row['uid'] . '"') . '%')
120
-				->setParameter('filtered_name', '%' . $this->connection->escapeLikeParameter('{"id":"' . $row['uid'] . '","name":"Busy"') . '%');
121
-			$deletedEvents += $delete->execute();
122
-		}
123
-		$result->closeCursor();
124
-
125
-		return $deletedEvents;
126
-	}
127
-
128
-	protected function getPrincipal(string $principalUri): string {
129
-		$uri = explode('/', $principalUri);
130
-		return array_pop($uri);
131
-	}
32
+    /** @var IDBConnection */
33
+    private $connection;
34
+
35
+    public function __construct(IDBConnection $connection) {
36
+        $this->connection = $connection;
37
+    }
38
+
39
+    /**
40
+     * @inheritdoc
41
+     */
42
+    public function getName() {
43
+        return 'Remove activity entries of private events';
44
+    }
45
+
46
+    /**
47
+     * @inheritdoc
48
+     */
49
+    public function run(IOutput $output) {
50
+        if (!$this->connection->tableExists('activity')) {
51
+            return;
52
+        }
53
+
54
+        $deletedEvents = $this->removePrivateEventActivity();
55
+        $deletedEvents += $this->removeConfidentialUncensoredEventActivity();
56
+
57
+        $output->info("Removed $deletedEvents activity entries");
58
+    }
59
+
60
+    protected function removePrivateEventActivity(): int {
61
+        $deletedEvents = 0;
62
+
63
+        $delete = $this->connection->getQueryBuilder();
64
+        $delete->delete('activity')
65
+            ->where($delete->expr()->neq('affecteduser', $delete->createParameter('owner')))
66
+            ->andWhere($delete->expr()->eq('object_type', $delete->createParameter('type')))
67
+            ->andWhere($delete->expr()->eq('object_id', $delete->createParameter('calendar_id')))
68
+            ->andWhere($delete->expr()->like('subjectparams', $delete->createParameter('event_uid')));
69
+
70
+        $query = $this->connection->getQueryBuilder();
71
+        $query->select('c.principaluri', 'o.calendarid', 'o.uid')
72
+            ->from('calendarobjects', 'o')
73
+            ->leftJoin('o', 'calendars', 'c', $query->expr()->eq('c.id', 'o.calendarid'))
74
+            ->where($query->expr()->eq('o.classification', $query->createNamedParameter(CalDavBackend::CLASSIFICATION_PRIVATE)));
75
+        $result = $query->execute();
76
+
77
+        while ($row = $result->fetch()) {
78
+            if ($row['principaluri'] === null) {
79
+                continue;
80
+            }
81
+
82
+            $delete->setParameter('owner', $this->getPrincipal($row['principaluri']))
83
+                ->setParameter('type', 'calendar')
84
+                ->setParameter('calendar_id', $row['calendarid'])
85
+                ->setParameter('event_uid', '%' . $this->connection->escapeLikeParameter('{"id":"' . $row['uid'] . '"') . '%');
86
+            $deletedEvents += $delete->execute();
87
+        }
88
+        $result->closeCursor();
89
+
90
+        return $deletedEvents;
91
+    }
92
+
93
+    protected function removeConfidentialUncensoredEventActivity(): int {
94
+        $deletedEvents = 0;
95
+
96
+        $delete = $this->connection->getQueryBuilder();
97
+        $delete->delete('activity')
98
+            ->where($delete->expr()->neq('affecteduser', $delete->createParameter('owner')))
99
+            ->andWhere($delete->expr()->eq('object_type', $delete->createParameter('type')))
100
+            ->andWhere($delete->expr()->eq('object_id', $delete->createParameter('calendar_id')))
101
+            ->andWhere($delete->expr()->like('subjectparams', $delete->createParameter('event_uid')))
102
+            ->andWhere($delete->expr()->notLike('subjectparams', $delete->createParameter('filtered_name')));
103
+
104
+        $query = $this->connection->getQueryBuilder();
105
+        $query->select('c.principaluri', 'o.calendarid', 'o.uid')
106
+            ->from('calendarobjects', 'o')
107
+            ->leftJoin('o', 'calendars', 'c', $query->expr()->eq('c.id', 'o.calendarid'))
108
+            ->where($query->expr()->eq('o.classification', $query->createNamedParameter(CalDavBackend::CLASSIFICATION_CONFIDENTIAL)));
109
+        $result = $query->execute();
110
+
111
+        while ($row = $result->fetch()) {
112
+            if ($row['principaluri'] === null) {
113
+                continue;
114
+            }
115
+
116
+            $delete->setParameter('owner', $this->getPrincipal($row['principaluri']))
117
+                ->setParameter('type', 'calendar')
118
+                ->setParameter('calendar_id', $row['calendarid'])
119
+                ->setParameter('event_uid', '%' . $this->connection->escapeLikeParameter('{"id":"' . $row['uid'] . '"') . '%')
120
+                ->setParameter('filtered_name', '%' . $this->connection->escapeLikeParameter('{"id":"' . $row['uid'] . '","name":"Busy"') . '%');
121
+            $deletedEvents += $delete->execute();
122
+        }
123
+        $result->closeCursor();
124
+
125
+        return $deletedEvents;
126
+    }
127
+
128
+    protected function getPrincipal(string $principalUri): string {
129
+        $uri = explode('/', $principalUri);
130
+        return array_pop($uri);
131
+    }
132 132
 }
Please login to merge, or discard this patch.