Completed
Push — master ( 7588c2...f404fc )
by Maxence
03:40
created
lib/Service/MembersService.php 2 patches
Doc Comments   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
 	 * @param string $circleUniqueId
104 104
 	 * @param string $name
105 105
 	 *
106
-	 * @return array
106
+	 * @return Member[]
107 107
 	 * @throws \Exception
108 108
 	 */
109 109
 	public function addLocalMember($circleUniqueId, $name) {
@@ -137,7 +137,7 @@  discard block
 block discarded – undo
137 137
 	 * @param string $circleUniqueId
138 138
 	 * @param string $email
139 139
 	 *
140
-	 * @return array
140
+	 * @return Member[]
141 141
 	 * @throws \Exception
142 142
 	 */
143 143
 	public function addEmailAddress($circleUniqueId, $email) {
@@ -181,7 +181,7 @@  discard block
 block discarded – undo
181 181
 	 * @param string $circleUniqueId
182 182
 	 * @param string $groupId
183 183
 	 *
184
-	 * @return array
184
+	 * @return Member[]
185 185
 	 * @throws \Exception
186 186
 	 */
187 187
 	public function importMembersFromGroup($circleUniqueId, $groupId) {
@@ -293,7 +293,7 @@  discard block
 block discarded – undo
293 293
 	/**
294 294
 	 * return the real userId, with its real case
295 295
 	 *
296
-	 * @param $userId
296
+	 * @param string $userId
297 297
 	 *
298 298
 	 * @return string
299 299
 	 * @throws NoUserException
@@ -327,7 +327,7 @@  discard block
 block discarded – undo
327 327
 	 * @param string $name
328 328
 	 * @param int $level
329 329
 	 *
330
-	 * @return array
330
+	 * @return Member[]
331 331
 	 * @throws \Exception
332 332
 	 */
333 333
 	public function levelLocalMember($circleUniqueId, $name, $level) {
@@ -367,7 +367,7 @@  discard block
 block discarded – undo
367 367
 	/**
368 368
 	 * @param Circle $circle
369 369
 	 * @param Member $member
370
-	 * @param $level
370
+	 * @param integer $level
371 371
 	 *
372 372
 	 * @throws \Exception
373 373
 	 */
@@ -420,7 +420,7 @@  discard block
 block discarded – undo
420 420
 	 * @param string $name
421 421
 	 * @param $type
422 422
 	 *
423
-	 * @return array
423
+	 * @return Member[]
424 424
 	 * @throws \Exception
425 425
 	 */
426 426
 	public function removeMember($circleUniqueId, $name, $type) {
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
 	 */
143 143
 	public function addEmailAddress($circleUniqueId, $email) {
144 144
 
145
-		$this->miscService->log('___' . $email);
145
+		$this->miscService->log('___'.$email);
146 146
 		if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
147 147
 			throw new EmailAccountInvalidFormatException(
148 148
 				$this->l10n->t('Email format is not valid')
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
 			throw $e;
164 164
 		}
165 165
 
166
-		$this->miscService->log('___' . json_encode($member));
166
+		$this->miscService->log('___'.json_encode($member));
167 167
 
168 168
 //
169 169
 //		$member->inviteToCircle($circle->getType());
@@ -371,7 +371,7 @@  discard block
 block discarded – undo
371 371
 	 *
372 372
 	 * @throws \Exception
373 373
 	 */
374
-	private function editMemberLevel(Circle $circle, Member &$member, $level) {
374
+	private function editMemberLevel(Circle $circle, Member & $member, $level) {
375 375
 		try {
376 376
 			$isMod = $circle->getHigherViewer();
377 377
 			$isMod->hasToBeModerator();
@@ -395,7 +395,7 @@  discard block
 block discarded – undo
395 395
 	 *
396 396
 	 * @throws \Exception
397 397
 	 */
398
-	private function switchOwner(Circle $circle, Member &$member) {
398
+	private function switchOwner(Circle $circle, Member & $member) {
399 399
 		try {
400 400
 			$isMod = $circle->getHigherViewer();
401 401
 			$isMod->hasToBeOwner();
Please login to merge, or discard this patch.
lib/Activity/Provider.php 1 patch
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -74,7 +74,7 @@  discard block
 block discarded – undo
74 74
 	}
75 75
 
76 76
 
77
-	private function setIcon(IEvent &$event, Circle $circle) {
77
+	private function setIcon(IEvent & $event, Circle $circle) {
78 78
 		$event->setIcon(
79 79
 			CirclesService::getCircleIcon(
80 80
 				$circle->getType(),
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
 	 *
92 92
 	 * @return IEvent
93 93
 	 */
94
-	private function parseAsMember(IEvent &$event, Circle $circle, $params) {
94
+	private function parseAsMember(IEvent & $event, Circle $circle, $params) {
95 95
 		if ($event->getType() !== 'circles_as_member') {
96 96
 			return $event;
97 97
 		}
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
 	 *
127 127
 	 * @return IEvent
128 128
 	 */
129
-	private function parseMemberAsMember(IEvent &$event, Circle $circle) {
129
+	private function parseMemberAsMember(IEvent & $event, Circle $circle) {
130 130
 		$params = $event->getSubjectParameters();
131 131
 		$member = Member::fromJSON($params['member']);
132 132
 
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
 	 *
159 159
 	 * @return IEvent
160 160
 	 */
161
-	private function parseSubjectMemberJoin(IEvent &$event, Circle $circle, Member $member) {
161
+	private function parseSubjectMemberJoin(IEvent & $event, Circle $circle, Member $member) {
162 162
 		if ($circle->getType() === Circle::CIRCLES_CLOSED) {
163 163
 			return $this->parseCircleMemberEvent(
164 164
 				$event, $circle, $member,
@@ -185,7 +185,7 @@  discard block
 block discarded – undo
185 185
 	 *
186 186
 	 * @return IEvent
187 187
 	 */
188
-	private function parseSubjectMemberAdd(IEvent &$event, Circle $circle, Member $member) {
188
+	private function parseSubjectMemberAdd(IEvent & $event, Circle $circle, Member $member) {
189 189
 		if ($circle->getType() === Circle::CIRCLES_CLOSED) {
190 190
 			return $this->parseCircleMemberAdvancedEvent(
191 191
 				$event, $circle, $member,
@@ -215,7 +215,7 @@  discard block
 block discarded – undo
215 215
 	 *
216 216
 	 * @return IEvent
217 217
 	 */
218
-	private function parseSubjectMemberLeft(IEvent &$event, Circle $circle, Member $member) {
218
+	private function parseSubjectMemberLeft(IEvent & $event, Circle $circle, Member $member) {
219 219
 		if ($circle->getType() === Circle::CIRCLES_CLOSED
220 220
 			&& $member->getLevel() === Member::LEVEL_NONE) {
221 221
 			return $this->parseCircleMemberEvent(
@@ -244,7 +244,7 @@  discard block
 block discarded – undo
244 244
 	 *
245 245
 	 * @return IEvent
246 246
 	 */
247
-	private function parseSubjectMemberRemove(IEvent &$event, Circle $circle, Member $member) {
247
+	private function parseSubjectMemberRemove(IEvent & $event, Circle $circle, Member $member) {
248 248
 		if ($circle->getType() === Circle::CIRCLES_CLOSED
249 249
 			&& $member->getLevel() === Member::LEVEL_NONE) {
250 250
 			return $this->parseCircleMemberAdvancedEvent(
@@ -272,7 +272,7 @@  discard block
 block discarded – undo
272 272
 	 * @return IEvent
273 273
 	 * @throws Exception
274 274
 	 */
275
-	private function parseAsModerator(IEvent &$event, Circle $circle, $params) {
275
+	private function parseAsModerator(IEvent & $event, Circle $circle, $params) {
276 276
 		if ($event->getType() !== 'circles_as_moderator') {
277 277
 			return $event;
278 278
 		}
@@ -303,7 +303,7 @@  discard block
 block discarded – undo
303 303
 	 *
304 304
 	 * @return IEvent
305 305
 	 */
306
-	private function parseGroupAsModerator(IEvent &$event, Circle $circle) {
306
+	private function parseGroupAsModerator(IEvent & $event, Circle $circle) {
307 307
 
308 308
 		$params = $event->getSubjectParameters();
309 309
 		$group = Member::fromJSON($params['group']);
@@ -350,7 +350,7 @@  discard block
 block discarded – undo
350 350
 	 *
351 351
 	 * @return IEvent
352 352
 	 */
353
-	private function parseMemberAsModerator(IEvent &$event, Circle $circle) {
353
+	private function parseMemberAsModerator(IEvent & $event, Circle $circle) {
354 354
 
355 355
 		$params = $event->getSubjectParameters();
356 356
 		$member = Member::fromJSON($params['member']);
@@ -398,7 +398,7 @@  discard block
 block discarded – undo
398 398
 	 *
399 399
 	 * @return IEvent
400 400
 	 */
401
-	private function parseLinkAsModerator(IEvent &$event, Circle $circle) {
401
+	private function parseLinkAsModerator(IEvent & $event, Circle $circle) {
402 402
 
403 403
 		$params = $event->getSubjectParameters();
404 404
 		$remote = FederatedLink::fromJSON($params['link']);
@@ -497,7 +497,7 @@  discard block
 block discarded – undo
497 497
 	 * @return IEvent
498 498
 	 */
499 499
 	private function parseCircleEvent(
500
-		IEvent &$event, Circle $circle, $remote, $ownEvent, $othersEvent
500
+		IEvent & $event, Circle $circle, $remote, $ownEvent, $othersEvent
501 501
 	) {
502 502
 		$data = [
503 503
 			'author' => $this->generateViewerParameter($circle),
@@ -525,7 +525,7 @@  discard block
 block discarded – undo
525 525
 	 * @return IEvent
526 526
 	 */
527 527
 	private function parseMemberEvent(
528
-		IEvent &$event, Circle $circle, Member $member, $ownEvent, $othersEvent
528
+		IEvent & $event, Circle $circle, Member $member, $ownEvent, $othersEvent
529 529
 	) {
530 530
 		$data = [
531 531
 			'circle' => $this->generateCircleParameter($circle),
@@ -551,7 +551,7 @@  discard block
 block discarded – undo
551 551
 	 *
552 552
 	 * @return IEvent
553 553
 	 */
554
-	private function parseLinkEvent(IEvent &$event, Circle $circle, FederatedLink $remote, $line) {
554
+	private function parseLinkEvent(IEvent & $event, Circle $circle, FederatedLink $remote, $line) {
555 555
 		$data = [
556 556
 			'circle' => $this->generateCircleParameter($circle),
557 557
 			'remote' => $this->generateRemoteCircleParameter($remote)
@@ -573,7 +573,7 @@  discard block
 block discarded – undo
573 573
 	 * @return IEvent
574 574
 	 */
575 575
 	private function parseCircleMemberEvent(
576
-		IEvent &$event, Circle $circle, Member $member, $ownEvent, $othersEvent
576
+		IEvent & $event, Circle $circle, Member $member, $ownEvent, $othersEvent
577 577
 	) {
578 578
 		$data = [
579 579
 			'author' => $this->generateViewerParameter($circle),
@@ -604,7 +604,7 @@  discard block
 block discarded – undo
604 604
 	 * @return IEvent
605 605
 	 */
606 606
 	private function parseCircleMemberAdvancedEvent(
607
-		IEvent &$event, Circle $circle, Member $member, $ownEvent, $targetEvent, $othersEvent
607
+		IEvent & $event, Circle $circle, Member $member, $ownEvent, $targetEvent, $othersEvent
608 608
 	) {
609 609
 		$data = [
610 610
 			'author' => $this->generateViewerParameter($circle),
@@ -627,13 +627,13 @@  discard block
 block discarded – undo
627 627
 	/**
628 628
 	 * @param IEvent $event
629 629
 	 */
630
-	private function generateParsedSubject(IEvent &$event) {
630
+	private function generateParsedSubject(IEvent & $event) {
631 631
 		$subject = $event->getRichSubject();
632 632
 		$params = $event->getRichSubjectParameters();
633 633
 		$ak = array_keys($params);
634 634
 		foreach ($ak as $k) {
635 635
 			if (is_array($params[$k])) {
636
-				$subject = str_replace('{' . $k . '}', $params[$k]['parsed'], $subject);
636
+				$subject = str_replace('{'.$k.'}', $params[$k]['parsed'], $subject);
637 637
 			}
638 638
 		}
639 639
 
@@ -716,8 +716,8 @@  discard block
 block discarded – undo
716 716
 		return [
717 717
 			'type'   => 'circle',
718 718
 			'id'     => $link->getUniqueId(),
719
-			'name'   => $link->getToken() . '@' . $link->getAddress(),
720
-			'parsed' => $link->getToken() . '@' . $link->getAddress()
719
+			'name'   => $link->getToken().'@'.$link->getAddress(),
720
+			'parsed' => $link->getToken().'@'.$link->getAddress()
721 721
 		];
722 722
 	}
723 723
 
Please login to merge, or discard this patch.
lib/Db/CoreRequestBuilder.php 1 patch
Spacing   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -71,7 +71,7 @@  discard block
 block discarded – undo
71 71
 	 * @param IQueryBuilder $qb
72 72
 	 * @param int $id
73 73
 	 */
74
-	protected function limitToId(IQueryBuilder &$qb, $id) {
74
+	protected function limitToId(IQueryBuilder & $qb, $id) {
75 75
 		$this->limitToDBField($qb, 'id', $id);
76 76
 	}
77 77
 
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 	 * @param IQueryBuilder $qb
83 83
 	 * @param int $uniqueId
84 84
 	 */
85
-	protected function limitToUniqueId(IQueryBuilder &$qb, $uniqueId) {
85
+	protected function limitToUniqueId(IQueryBuilder & $qb, $uniqueId) {
86 86
 		$this->limitToDBField($qb, 'unique_id', $uniqueId);
87 87
 	}
88 88
 
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 	 * @param IQueryBuilder $qb
94 94
 	 * @param string $token
95 95
 	 */
96
-	protected function limitToToken(IQueryBuilder &$qb, $token) {
96
+	protected function limitToToken(IQueryBuilder & $qb, $token) {
97 97
 		$this->limitToDBField($qb, 'token', $token);
98 98
 	}
99 99
 
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
 	 *
107 107
 	 * @internal param int $circleId
108 108
 	 */
109
-	protected function limitToUserId(IQueryBuilder &$qb, $userId) {
109
+	protected function limitToUserId(IQueryBuilder & $qb, $userId) {
110 110
 		$this->limitToDBField($qb, 'user_id', $userId);
111 111
 	}
112 112
 
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
 	 *
121 121
 	 * @internal param int $circleId
122 122
 	 */
123
-	protected function limitToType(IQueryBuilder &$qb, $type) {
123
+	protected function limitToType(IQueryBuilder & $qb, $type) {
124 124
 		$this->limitToDBField($qb, 'type', $type);
125 125
 	}
126 126
 
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
 	 * @param IQueryBuilder $qb
133 133
 	 * @param string $circleUniqueId
134 134
 	 */
135
-	protected function limitToCircleId(IQueryBuilder &$qb, $circleUniqueId) {
135
+	protected function limitToCircleId(IQueryBuilder & $qb, $circleUniqueId) {
136 136
 		$this->limitToDBField($qb, 'circle_id', $circleUniqueId);
137 137
 
138 138
 	}
@@ -144,15 +144,15 @@  discard block
 block discarded – undo
144 144
 	 * @param IQueryBuilder $qb
145 145
 	 * @param string $circleUniqueId
146 146
 	 */
147
-	protected function limitToShortenUniqueId(IQueryBuilder &$qb, $circleUniqueId) {
147
+	protected function limitToShortenUniqueId(IQueryBuilder & $qb, $circleUniqueId) {
148 148
 		$expr = $qb->expr();
149
-		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias . '.' : '';
149
+		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias.'.' : '';
150 150
 
151 151
 		$qb->andWhere(
152 152
 			$expr->eq(
153 153
 				$qb->createNamedParameter($circleUniqueId),
154 154
 				$qb->createFunction(
155
-					'LEFT(' . $pf . 'unique_id' . ', ' . Circle::UNIQUEID_SHORT_LENGTH . ')'
155
+					'LEFT('.$pf.'unique_id'.', '.Circle::UNIQUEID_SHORT_LENGTH.')'
156 156
 				)
157 157
 			)
158 158
 		);
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
 	 * @param IQueryBuilder $qb
167 167
 	 * @param int $groupId
168 168
 	 */
169
-	protected function limitToGroupId(IQueryBuilder &$qb, $groupId) {
169
+	protected function limitToGroupId(IQueryBuilder & $qb, $groupId) {
170 170
 		$this->limitToDBField($qb, 'group_id', $groupId);
171 171
 	}
172 172
 
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
 	 * @param IQueryBuilder $qb
178 178
 	 * @param string $name
179 179
 	 */
180
-	protected function limitToName(IQueryBuilder &$qb, $name) {
180
+	protected function limitToName(IQueryBuilder & $qb, $name) {
181 181
 		$this->limitToDBField($qb, 'name', $name);
182 182
 	}
183 183
 
@@ -189,12 +189,12 @@  discard block
 block discarded – undo
189 189
 	 * @param int $level
190 190
 	 * @param string|array $pf
191 191
 	 */
192
-	protected function limitToLevel(IQueryBuilder &$qb, $level, $pf = '') {
192
+	protected function limitToLevel(IQueryBuilder & $qb, $level, $pf = '') {
193 193
 		$expr = $qb->expr();
194 194
 
195 195
 		if ($pf === '') {
196
-			$p = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias . '.' : '';
197
-			$qb->andWhere($expr->gte($p . 'level', $qb->createNamedParameter($level)));
196
+			$p = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias.'.' : '';
197
+			$qb->andWhere($expr->gte($p.'level', $qb->createNamedParameter($level)));
198 198
 
199 199
 			return;
200 200
 		}
@@ -209,7 +209,7 @@  discard block
 block discarded – undo
209 209
 			if ($p === 'g' && !$this->leftJoinedNCGroupAndUser) {
210 210
 				continue;
211 211
 			}
212
-			$orX->add($expr->gte($p . '.level', $qb->createNamedParameter($level)));
212
+			$orX->add($expr->gte($p.'.level', $qb->createNamedParameter($level)));
213 213
 		}
214 214
 
215 215
 		$qb->andWhere($orX);
@@ -221,15 +221,15 @@  discard block
 block discarded – undo
221 221
 	 *
222 222
 	 * @param IQueryBuilder $qb
223 223
 	 */
224
-	protected function limitToMembersAndAlmost(IQueryBuilder &$qb) {
224
+	protected function limitToMembersAndAlmost(IQueryBuilder & $qb) {
225 225
 		$expr = $qb->expr();
226 226
 
227
-		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias . '.' : '';
227
+		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias.'.' : '';
228 228
 
229 229
 		$orX = $expr->orX();
230
-		$orX->add($expr->eq($pf . 'status', $qb->createNamedParameter(Member::STATUS_MEMBER)));
231
-		$orX->add($expr->eq($pf . 'status', $qb->createNamedParameter(Member::STATUS_INVITED)));
232
-		$orX->add($expr->eq($pf . 'status', $qb->createNamedParameter(Member::STATUS_REQUEST)));
230
+		$orX->add($expr->eq($pf.'status', $qb->createNamedParameter(Member::STATUS_MEMBER)));
231
+		$orX->add($expr->eq($pf.'status', $qb->createNamedParameter(Member::STATUS_INVITED)));
232
+		$orX->add($expr->eq($pf.'status', $qb->createNamedParameter(Member::STATUS_REQUEST)));
233 233
 
234 234
 		$qb->andWhere($orX);
235 235
 	}
@@ -240,10 +240,10 @@  discard block
 block discarded – undo
240 240
 	 * @param string $field
241 241
 	 * @param string|integer $value
242 242
 	 */
243
-	private function limitToDBField(IQueryBuilder &$qb, $field, $value) {
243
+	private function limitToDBField(IQueryBuilder & $qb, $field, $value) {
244 244
 		$expr = $qb->expr();
245
-		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias . '.' : '';
246
-		$qb->andWhere($expr->eq($pf . $field, $qb->createNamedParameter($value)));
245
+		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias.'.' : '';
246
+		$qb->andWhere($expr->eq($pf.$field, $qb->createNamedParameter($value)));
247 247
 	}
248 248
 
249 249
 
@@ -258,9 +258,9 @@  discard block
 block discarded – undo
258 258
 	protected function limitToNCGroupUser(IQueryBuilder $qb, $userId = '') {
259 259
 		$expr = $qb->expr();
260 260
 
261
-		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias . '.' : '';
261
+		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias.'.' : '';
262 262
 
263
-		$and = $expr->andX($expr->eq($pf . 'group_id', 'ncgu.gid'));
263
+		$and = $expr->andX($expr->eq($pf.'group_id', 'ncgu.gid'));
264 264
 		if ($userId !== '') {
265 265
 			$and->add($expr->eq('ncgu.uid', $qb->createNamedParameter($userId)));
266 266
 		} else {
@@ -279,15 +279,15 @@  discard block
 block discarded – undo
279 279
 	 *
280 280
 	 * @deprecated not used (14/07/17)
281 281
 	 */
282
-	protected function rightJoinCircles(IQueryBuilder &$qb) {
282
+	protected function rightJoinCircles(IQueryBuilder & $qb) {
283 283
 		$expr = $qb->expr();
284
-		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias . '.' : '';
284
+		$pf = ($qb->getType() === QueryBuilder::SELECT) ? $this->default_select_alias.'.' : '';
285 285
 
286 286
 		$qb->from(self::TABLE_CIRCLES, 'c')
287 287
 		   ->andWhere(
288 288
 			   $expr->eq(
289
-				   $pf . 'circle_id',
290
-				   $qb->createFunction('LEFT(c.unique_id, ' . Circle::UNIQUEID_SHORT_LENGTH . ')')
289
+				   $pf.'circle_id',
290
+				   $qb->createFunction('LEFT(c.unique_id, '.Circle::UNIQUEID_SHORT_LENGTH.')')
291 291
 			   )
292 292
 		   );
293 293
 	}
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
 				$expr->eq('ncgu.gid', 'g.group_id'),
319 319
 				$expr->eq(
320 320
 					'g.circle_id', $qb->createFunction(
321
-					'LEFT(' . $field . ', ' . Circle::UNIQUEID_SHORT_LENGTH . ')'
321
+					'LEFT('.$field.', '.Circle::UNIQUEID_SHORT_LENGTH.')'
322 322
 				)
323 323
 				)
324 324
 			)
Please login to merge, or discard this patch.