GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

CommanderRepository   C
last analyzed

Complexity

Total Complexity 68

Size/Duplication

Total Lines 568
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
dl 0
loc 568
rs 5.6756
c 0
b 0
f 0
wmc 68
lcom 1
cbo 5

17 Methods

Rating   Name   Duplication   Size   Complexity  
B select() 0 39 1
A get() 0 16 4
B getBaseCommanders() 0 22 6
B getAllByStatements() 0 21 5
B getCommandersByIds() 0 21 5
B getMovingCommanders() 0 21 5
B getPlayerCommanders() 0 22 6
B getCommandersByLine() 0 21 5
B getIncomingAttacks() 0 25 5
B getOutcomingAttacks() 0 24 5
B getIncomingCommanders() 0 23 5
A countCommandersByLine() 0 6 1
B insert() 0 45 3
B update() 0 104 5
A remove() 0 5 1
B format() 0 61 5
A updateExperience() 0 16 1

How to fix   Complexity   

Complex Class

Complex classes like CommanderRepository often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use CommanderRepository, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
namespace Asylamba\Modules\Ares\Repository;
4
5
use Asylamba\Classes\Entity\AbstractRepository;
6
use Asylamba\Classes\Library\Utils;
7
8
use Asylamba\Modules\Ares\Model\Commander;
9
10
class CommanderRepository extends AbstractRepository {
11
	/**
12
	 * @param string $clause
13
	 * @param array $params
14
	 * @return \PDOStatement
15
	 */
16
	public function select($clause, $params = [])
17
	{
18
		$statement = $this->connection->prepare(
19
			'SELECT c.*,
20
				o.iSchool, o.name AS oName,
21
				p.name AS pName,
22
				p.rColor AS pColor,
23
				pd.population AS destinationPlacePop,
24
				ps.population AS startPlacePop,
25
				dp.name AS dpName,
26
				sp.name AS spName,
27
				sq.id AS sqId,
28
				sq.ship0 AS sqShip0,
29
				sq.ship1 AS sqShip1,
30
				sq.ship2 AS sqShip2,
31
				sq.ship3 AS sqShip3,
32
				sq.ship4 AS sqShip4,
33
				sq.ship5 AS sqShip5,
34
				sq.ship6 AS sqShip6,
35
				sq.ship7 AS sqShip7,
36
				sq.ship8 AS sqShip8,
37
				sq.ship9 AS sqShip9,
38
				sq.ship10 AS sqShip10,
39
				sq.ship11 AS sqShip11,
40
				sq.dCreation AS sqDCreation,
41
				sq.DLastModification AS sqDLastModification
42
			FROM commander AS c
43
			LEFT JOIN orbitalBase AS o ON o.rPlace = c.rBase
44
			LEFT JOIN player AS p ON p.id = c.rPlayer
45
			LEFT JOIN orbitalBase AS dp ON dp.rPlace = c.rDestinationPlace
46
			LEFT JOIN place AS pd ON pd.id = c.rDestinationPlace
47
			LEFT JOIN orbitalBase AS sp ON sp.rPlace = c.rStartPlace
48
			LEFT JOIN place AS ps ON ps.id = c.rStartPlace
49
			LEFT JOIN squadron AS sq ON sq.rCommander = c.id
50
			' . $clause
51
		);
52
		$statement->execute($params);
53
		return $statement;
54
	}
55
	
56
	/**
57
	 * 
58
	 * @param int $id
59
	 * @return Commander
60
	 */
61
	public function get($id)
62
	{
63
		if (($c = $this->unitOfWork->getObject(Commander::class, $id)) !== null) {
64
			return $c;
65
		}
66
		$statement = $this->select('WHERE c.id = :id', ['id' => $id]);
67
		if ($statement->rowCount() === 0) {
68
			return null;
69
		}
70
		$commanders = [];
71
		$currentId = 0;
72
		while ($row = $statement->fetch()) {
73
			$this->format($row, $commanders, $currentId);
74
		}
75
		return $commanders[$currentId];
76
	}
77
	
78
	/**
79
	 * @param int $baseId
80
	 * @param array $statements
81
	 * @param array $orderBy
82
	 * @return array
83
	 */
84
	public function getBaseCommanders($baseId, $statements = [], $orderBy = [])
85
	{
86
		$statementClause = (!empty($statements)) ? ' AND c.statement IN (' . implode(',', $statements) . ') ' : '';
87
		$statement = $this->select('WHERE c.rBase = :base_id ' . $statementClause . $this->getOrderByClause($orderBy), ['base_id' => $baseId]);
88
		$commanders = [];
89
		$currentId = 0;
90
		$persisted = [];
91
		$unPersisted = [];
92
		while ($row = $statement->fetch()) {
93
			if (in_array($row['id'], $persisted)) {
94
				continue;
95
			}
96
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
97
				$currentId = $row['id'];
98
				$commanders[$row['id']] = $c;
99
				$persisted[] = $row['id'];
100
				continue;
101
			}
102
			$this->format($row, $commanders, $currentId, $unPersisted);
103
		}
104
		return array_values($commanders);
105
	}
106
	
107
	/**
108
	 * @param array $statements
109
	 * @return array
110
	 */
111
	public function getAllByStatements($statements)
112
	{
113
		$statement = $this->select('WHERE c.statement IN (' . implode(',', $statements) . ')');
114
		$commanders = [];
115
		$currentId = 0;
116
		$persisted = [];
117
		$unPersisted = [];
118
		while ($row = $statement->fetch()) {
119
			if (in_array($row['id'], $persisted)) {
120
				continue;
121
			}
122
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
123
				$currentId = $row['id'];
124
				$commanders[$row['id']] = $c;
125
				$persisted[] = $row['id'];
126
				continue;
127
			}
128
			$this->format($row, $commanders, $currentId, $unPersisted);
129
		}
130
		return array_values($commanders);
131
	}
132
	
133
	/**
134
	 * @param array $ids
135
	 * @return array
136
	 */
137
	public function getCommandersByIds($ids = [])
138
	{
139
		$statement = $this->select('WHERE c.id IN (' . implode(',', $ids) . ')');
140
		$commanders = [];
141
		$currentId = 0;
142
		$persisted = [];
143
		$unPersisted = [];
144
		while ($row = $statement->fetch()) {
145
			if (in_array($row['id'], $persisted)) {
146
				continue;
147
			}
148
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
149
				$currentId = $row['id'];
150
				$commanders[$row['id']] = $c;
151
				$persisted[] = $row['id'];
152
				continue;
153
			}
154
			$this->format($row, $commanders, $currentId, $unPersisted);
155
		}
156
		return array_values($commanders);
157
	}
158
	
159
	/**
160
	 * @return array
161
	 */
162
	public function getMovingCommanders()
163
	{
164
		$statement = $this->select('WHERE c.statement = ' . Commander::MOVING);
165
		$commanders = [];
166
		$currentId = 0;
167
		$persisted = [];
168
		$unPersisted = [];
169
		while ($row = $statement->fetch()) {
170
			if (in_array($row['id'], $persisted)) {
171
				continue;
172
			}
173
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
174
				$currentId = $row['id'];
175
				$commanders[$row['id']] = $c;
176
				$persisted[] = $row['id'];
177
				continue;
178
			}
179
			$this->format($row, $commanders, $currentId, $unPersisted);
180
		}
181
		return array_values($commanders);
182
	}
183
	
184
	/**
185
	 * @param int $playerId
186
	 * @param array $statements
187
	 * @param array $orderBy
188
	 * @return array
189
	 */
190
	public function getPlayerCommanders($playerId, $statements = [], $orderBy = [])
191
	{
192
		$statementClause = (!empty($statements)) ? ' AND c.statement IN (' . implode(',', $statements) . ') ' : '';
193
		$statement = $this->select('WHERE c.rPlayer = :player_id ' . $statementClause . $this->getOrderByClause($orderBy), ['player_id' => $playerId]);
194
		$commanders = [];
195
		$currentId = 0;
196
		$persisted = [];
197
		$unPersisted = [];
198
		while ($row = $statement->fetch()) {
199
			if (in_array($row['id'], $persisted)) {
200
				continue;
201
			}
202
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
203
				$currentId = $row['id'];
204
				$commanders[$row['id']] = $c;
205
				$persisted[] = $row['id'];
206
				continue;
207
			}
208
			$this->format($row, $commanders, $currentId, $unPersisted);
209
		}
210
		return array_values($commanders);
211
	}
212
	
213
	/**
214
	 * @param int $orbitalBaseId
215
	 * @param int $line
216
	 * @return array
217
	 */
218
	public function getCommandersByLine($orbitalBaseId, $line)
219
	{
220
		$statement = $this->select('WHERE c.rBase = :base_id AND c.line = :line', ['base_id' => $orbitalBaseId, 'line' => $line]);
221
		$commanders = [];
222
		$currentId = 0;
223
		$persisted = [];
224
		$unPersisted = [];
225
		while ($row = $statement->fetch()) {
226
			if (in_array($row['id'], $persisted)) {
227
				continue;
228
			}
229
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
230
				$currentId = $row['id'];
231
				$commanders[$row['id']] = $c;
232
				$persisted[] = $row['id'];
233
				continue;
234
			}
235
			$this->format($row, $commanders, $currentId, $unPersisted);
236
		}
237
		return array_values($commanders);
238
	}
239
	
240
	/**
241
	 * @param int $playerId
242
	 * @return array
243
	 */
244
	public function getIncomingAttacks($playerId)
245
	{
246
		$statement = $this->select(
247
			'WHERE dp.rPlayer = :player_id '.
248
			'AND c.statement = ' . Commander::MOVING . ' ' .
249
			'AND c.travelType IN (' . Commander::COLO . ', ' . Commander::LOOT. ')'
250
		, ['player_id' => $playerId]);
0 ignored issues
show
Coding Style introduced by
Space found before comma in function call
Loading history...
251
		$commanders = [];
252
		$currentId = 0;
253
		$persisted = [];
254
		$unPersisted = [];
255
		while ($row = $statement->fetch()) {
256
			if (in_array($row['id'], $persisted)) {
257
				continue;
258
			}
259
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
260
				$currentId = $row['id'];
261
				$commanders[$row['id']] = $c;
262
				$persisted[] = $row['id'];
263
				continue;
264
			}
265
			$this->format($row, $commanders, $currentId, $unPersisted);
266
		}
267
		return array_values($commanders);
268
	}
269
	
270
	/**
271
	 * @param int $playerId
272
	 * @return array
273
	 */
274
	public function getOutcomingAttacks($playerId)
275
	{
276
		$statement = $this->select(
277
			'WHERE o.rPlayer = :player_id '.
278
			'AND c.statement = ' . Commander::MOVING
279
		, ['player_id' => $playerId]);
0 ignored issues
show
Coding Style introduced by
Space found before comma in function call
Loading history...
280
		$commanders = [];
281
		$currentId = 0;
282
		$persisted = [];
283
		$unPersisted = [];
284
		while ($row = $statement->fetch()) {
285
			if (in_array($row['id'], $persisted)) {
286
				continue;
287
			}
288
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
289
				$currentId = $row['id'];
290
				$commanders[$row['id']] = $c;
291
				$persisted[] = $row['id'];
292
				continue;
293
			}
294
			$this->format($row, $commanders, $currentId, $unPersisted);
295
		}
296
		return array_values($commanders);
297
	}
298
	
299
	/**
300
	 * @param array $placeId
301
	 * @return array
302
	 */
303
	public function getIncomingCommanders($placeId)
304
	{
305
		$statement = $this->select(
306
			'WHERE c.rDestinationPlace = :place_id AND c.statement = ' . Commander::MOVING . ' ORDER BY c.dArrival ASC'
307
		, ['place_id' => $placeId]);
0 ignored issues
show
Coding Style introduced by
Space found before comma in function call
Loading history...
308
		$commanders = [];
309
		$currentId = 0;
310
		$persisted = [];
311
		$unPersisted = [];
312
		while ($row = $statement->fetch()) {
313
			if (in_array($row['id'], $persisted)) {
314
				continue;
315
			}
316
			if (!in_array($row['id'], $unPersisted) && ($c = $this->unitOfWork->getObject(Commander::class, $row['id'])) !== null) {
317
				$currentId = $row['id'];
318
				$commanders[$row['id']] = $c;
319
				$persisted[] = $row['id'];
320
				continue;
321
			}
322
			$this->format($row, $commanders, $currentId, $unPersisted);
323
		}
324
		return array_values($commanders);
325
	}
326
	
327
	/**
328
	 * @param int $orbitalBaseId
329
	 * @param int $line
330
	 * @return int
331
	 */
332
	public function countCommandersByLine($orbitalBaseId, $line)
333
	{
334
		$statement = $this->connection->prepare('SELECT COUNT(*) AS nb_commanders FROM commander WHERE statement IN (' . Commander::AFFECTED . ', ' . Commander::MOVING . ') AND rBase = :orbital_base_id AND line = :line');
335
		$statement->execute(['orbital_base_id' => $orbitalBaseId, 'line' => $line]);
336
		return (int) $statement->fetch()['nb_commanders'];
337
	}
338
	
339
	public function insert($commander)
340
	{
341
		$statement = $this->connection->prepare(
342
			'INSERT INTO commander SET 
343
			name = :name,
344
			avatar = :avatar,
345
			rPlayer = :player_id,
346
			rBase = :base_id,
347
			sexe = :gender,
348
			age = :age,
349
			level = :level,
350
			experience = :experience,
351
			uCommander = :u_commander,
352
			statement = :statement,
353
			dCreation = :created_at'
354
		);
355
		$statement->execute([
356
			'name' => $commander->name,
357
			'avatar' => $commander->avatar,
358
			'player_id' => $commander->rPlayer,
359
			'base_id' => $commander->rBase,
360
			'gender' => $commander->sexe,
361
			'age' => $commander->age,
362
			'level' => $commander->level,
363
			'experience' => $commander->experience,
364
			'u_commander' => Utils::now(),
365
			'statement' => $commander->statement,
366
			'created_at' => $commander->dCreation,
367
		]);
368
		$commander->setId($this->connection->lastInsertId());
369
		$nbrSquadrons = $commander->getLevel();
370
		
371
		$squadronStatement = $this->connection->prepare('INSERT INTO squadron(rCommander, dCreation) VALUES(:commander_id, NOW())');
372
373
		for ($i = 0; $i < $nbrSquadrons; $i++) {
374
			$squadronStatement->execute(['commander_id' => $commander->getId()]);
375
		}
376
377
		$lastSquadronId = $this->connection->lastInsertId();
378
		$armySize = count($commander->getArmy());
379
		for ($i = 0; $i < $armySize; $i++) {
380
			$commander->getSquadron[$i]->setId($lastSquadronId);
381
			$lastSquadronId--;
382
		}
383
	}
384
	
385
	public function update($commander)
386
	{
387
		$statement = $this->connection->prepare(
388
			'UPDATE commander SET				
389
				name = :name,
390
				avatar = :avatar,
391
				rPlayer = :player_id,
392
				rBase = :base_id,
393
				comment = :comment,
394
				sexe = :gender,
395
				age = :age,
396
				level = :level,
397
				experience = :experience,
398
				uCommander = :u_commander,
399
				palmares = :palmares,
400
				statement = :statement,
401
				`line` = :line,
402
				dStart = :started_at,
403
				dArrival = :arrived_at,
404
				resources = :resources,
405
				travelType = :travel_type,
406
				travelLength = :travel_length,
407
				rStartPlace	= :start_place_id,
408
				rDestinationPlace = :destination_place_id,
409
				dCreation = :created_at,
410
				dAffectation = :affected_at,
411
				dDeath = :died_at
412
			WHERE id = :id'
413
		);
414
		$statement->execute([				
415
			'name' => $commander->name,
416
			'avatar' => $commander->avatar,
417
			'player_id' => $commander->rPlayer,
418
			'base_id' => $commander->rBase,
419
			'comment' => $commander->comment,
420
			'gender' => $commander->sexe,
421
			'age' => $commander->age,
422
			'level' => $commander->level,
423
			'experience' => $commander->experience,
424
			'u_commander' => $commander->uCommander,
425
			'palmares' => $commander->palmares,
426
			'statement' => $commander->statement,
427
			'line' => $commander->line,
428
			'started_at' => $commander->dStart,
429
			'arrived_at' => $commander->dArrival,
430
			'resources' => $commander->resources,
431
			'travel_type' => $commander->travelType,
432
			'travel_length' => $commander->travelLength,
433
			'start_place_id' => $commander->rStartPlace,
434
			'destination_place_id' => $commander->rDestinationPlace,
435
			'created_at' => $commander->dCreation,
436
			'affected_at' => $commander->dAffectation,
437
			'died_at' => $commander->dDeath,
438
			'id' => $commander->id
439
		]);
440
		$squadronStatement = $this->connection->prepare(
441
			'UPDATE squadron SET
442
				rCommander = :commander_id,
443
				ship0 = :ship_0,
444
				ship1 = :ship_1,
445
				ship2 = :ship_2,
446
				ship3 = :ship_3,
447
				ship4 = :ship_4,
448
				ship5 = :ship_5,
449
				ship6 = :ship_6,
450
				ship7 = :ship_7,
451
				ship8 = :ship_8,
452
				ship9 = :ship_9,
453
				ship10 = :ship_10,
454
				ship11 = :ship_11,
455
				DLAstModification = NOW()
456
			WHERE id = :id'
457
		);
458
		foreach($commander->getArmy() as $squadron) {
0 ignored issues
show
Coding Style introduced by
Expected 1 space after FOREACH keyword; 0 found
Loading history...
459
			if ($squadron->getId() === 0) {
460
				continue;
461
			}
462
			$squadronStatement->execute([
463
				'commander_id' => $squadron->getRCommander(),
464
				'ship_0' => $squadron->getNbrShipByType(0),
465
				'ship_1' => $squadron->getNbrShipByType(1),
466
				'ship_2' => $squadron->getNbrShipByType(2),
467
				'ship_3' => $squadron->getNbrShipByType(3),
468
				'ship_4' => $squadron->getNbrShipByType(4),
469
				'ship_5' => $squadron->getNbrShipByType(5),
470
				'ship_6' => $squadron->getNbrShipByType(6),
471
				'ship_7' => $squadron->getNbrShipByType(7),
472
				'ship_8' => $squadron->getNbrShipByType(8),
473
				'ship_9' => $squadron->getNbrShipByType(9),
474
				'ship_10' => $squadron->getNbrShipByType(10),
475
				'ship_11' => $squadron->getNbrShipByType(11),
476
				'id' => $squadron->getId()
477
			]);
478
		}
479
		if ($commander->getLevel() > $commander->getSizeArmy()) {
480
			//on créé un nouveau squadron avec rCommander correspondant
481
			$nbrSquadronToCreate = $commander->getLevel() - $commander->getSizeArmy();
482
			$qr = $this->connection->prepare('INSERT INTO squadron (rCommander, dCreation) VALUES (?, NOW())');
483
			for ($i = 0; $i < $nbrSquadronToCreate; $i++) {
484
				$qr->execute([$commander->getId()]);
485
				$commander->squadronsIds[] = $this->connection->lastInsertId();
486
			}
487
		}
488
	}
489
	
490
	/**
491
	 * @param Commander $commander
492
	 */
493
	public function updateExperience(Commander $commander, $earnedExperience, $earnedLevel)
494
	{
495
		$statement = $this->connection->prepare(
496
			'UPDATE commander SET
497
				experience = experience + :experience,
498
				level = level + :level,
499
				uCommander = :updated_at
500
			WHERE id = :id'
501
		);
502
		$statement->execute([
503
			'experience' => $earnedExperience,
504
			'level' => $earnedLevel,
505
			'updated_at' => $commander->getUpdatedAt(),
506
			'id' => $commander->getId()
507
		]);
508
	}
509
	
510
	public function remove($commander)
511
	{
512
		$statement = $this->connection->prepare('DELETE FROM commander WHERE id = :id');
513
		$statement->execute(['id' => $commander->getId()]);
514
	}
515
	
516
	public function format($data, &$commanders, &$currentId = null, &$unPersisted = [])
517
	{
518
		if ($currentId === null || (int) $data['id'] !== $currentId) {
519
			$currentId = $data['id'];
520
			$commanders[$currentId] = new Commander();
521
522
			$commanders[$currentId]->id = (int) $data['id'];
523
			$commanders[$currentId]->name = $data['name'];
524
			$commanders[$currentId]->avatar = $data['avatar'];
525
			$commanders[$currentId]->rPlayer = (int) $data['rPlayer'];
526
			$commanders[$currentId]->playerName = $data['pName'];
527
			$commanders[$currentId]->playerColor = $data['pColor'];
528
			$commanders[$currentId]->rBase = (int) $data['rBase'];
529
			$commanders[$currentId]->comment = $data['comment'];
530
			$commanders[$currentId]->sexe = $data['sexe'];
531
			$commanders[$currentId]->age = (int) $data['age'];
532
			$commanders[$currentId]->level = (int) $data['level'];
533
			$commanders[$currentId]->experience = (int) $data['experience'];
534
			$commanders[$currentId]->uCommander = $data['uCommander'];
535
			$commanders[$currentId]->palmares = $data['palmares'];
536
			$commanders[$currentId]->statement = (int) $data['statement'];
537
			$commanders[$currentId]->line = (int) $data['line'];
538
			$commanders[$currentId]->dCreation = $data['dCreation'];
539
			$commanders[$currentId]->dAffectation = $data['dAffectation'];
540
			$commanders[$currentId]->dDeath = $data['dDeath'];
541
			$commanders[$currentId]->oBName = $data['oName'];
542
543
			$commanders[$currentId]->dStart = $data['dStart'];
544
			$commanders[$currentId]->dArrival = $data['dArrival'];
545
			$commanders[$currentId]->resources = (int) $data['resources'];
546
			$commanders[$currentId]->travelType = $data['travelType'];
547
			$commanders[$currentId]->travelLength = $data['travelLength'];
548
			$commanders[$currentId]->rStartPlace = $data['rStartPlace'];
549
			$commanders[$currentId]->rDestinationPlace = $data['rDestinationPlace'];
550
551
			$commanders[$currentId]->startPlaceName = ($data['spName'] == '') ? 'planète rebelle' : $data['spName'];
552
			$commanders[$currentId]->destinationPlaceName = ($data['dpName'] == '') ? 'planète rebelle' : $data['dpName'];
553
			$commanders[$currentId]->destinationPlacePop = $data['destinationPlacePop'];
554
			$commanders[$currentId]->startPlacePop = $data['startPlacePop'];
555
			
556
			$this->unitOfWork->addObject($commanders[$currentId]);
557
			$unPersisted[] = $currentId;
558
		}
559
		$commanders[$currentId]->squadronsIds[] = (int) $data['sqId'];
560
		$commanders[$currentId]->armyInBegin[] = [
561
			$data['sqShip0'], 
562
			$data['sqShip1'], 
563
			$data['sqShip2'], 
564
			$data['sqShip3'], 
565
			$data['sqShip4'], 
566
			$data['sqShip5'], 
567
			$data['sqShip6'], 
568
			$data['sqShip7'],
569
			$data['sqShip8'], 
570
			$data['sqShip9'], 
571
			$data['sqShip10'], 
572
			$data['sqShip11'], 
573
			$data['sqDCreation'], 
574
			$data['sqDLastModification']
575
		];
576
	}
577
}