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