1 | <?php |
||
9 | class GroupeUnite extends Unite { |
||
10 | |||
11 | |||
12 | //-------------------------- BUILDER ----------------------------------------------------------------------------// |
||
13 | //-------------------------- END BUILDER ----------------------------------------------------------------------------// |
||
14 | |||
15 | |||
16 | //-------------------------- GETTER ----------------------------------------------------------------------------// |
||
17 | /** |
||
18 | * fonction qui récupère tous les groupes de la bases |
||
19 | */ |
||
20 | public function getAllGroupeUnite() { |
||
21 | $dbc = App::getDb(); |
||
22 | |||
23 | $query = $dbc->select()->from("_bataille_groupe_unite") |
||
24 | ->where("ID_base", "=", Bataille::getIdBase(), "AND") |
||
25 | ->where("(ID_mission IS NULL OR ID_mission = 0)", "", "", "", true)->get(); |
||
26 | |||
27 | if ((is_array($query)) && (count($query))) { |
||
28 | $groupe = []; |
||
29 | |||
30 | foreach ($query as $obj) { |
||
31 | $b_unites = $this->getAllUnites(Bataille::getIdBase(), $obj->ID_groupe_unite); |
||
32 | |||
33 | if ($b_unites > 0) { |
||
34 | $groupe[] = [ |
||
35 | "id_groupe" => $obj->ID_groupe_unite, |
||
36 | "nom_groue" => $obj->nom_groupe, |
||
37 | "unites" => $this->getAllUnites(Bataille::getIdBase(), $obj->ID_groupe_unite) |
||
38 | ]; |
||
39 | } |
||
40 | else { |
||
41 | $this->setSupprimerGroupe($obj->ID_groupe_unite); |
||
42 | } |
||
43 | } |
||
44 | |||
45 | Bataille::setValues(["groupe_unites" => $groupe]); |
||
46 | } |
||
47 | } |
||
48 | |||
49 | /** |
||
50 | * @param $nom_groupe |
||
51 | * @return bool |
||
52 | * fonction qui test si un groupe existe déjà ou pas dans cette base |
||
53 | */ |
||
54 | private function getTestGroupExist($nom_groupe) { |
||
55 | $dbc = App::getDb(); |
||
56 | |||
57 | $query = $dbc->select("ID_groupe_unite") |
||
58 | ->from("_bataille_groupe_unite") |
||
59 | ->where("nom_groupe", "=", $nom_groupe, "AND") |
||
60 | ->where("ID_base", "=", Bataille::getIdBase()) |
||
61 | ->get(); |
||
62 | |||
63 | if (count($query) > 0) { |
||
64 | return false; |
||
65 | } |
||
66 | |||
67 | return true; |
||
68 | } |
||
69 | //-------------------------- END GETTER ----------------------------------------------------------------------------// |
||
70 | |||
71 | |||
72 | //-------------------------- SETTER ----------------------------------------------------------------------------// |
||
73 | /** |
||
74 | * @param $nom_groupe |
||
75 | * @return bool |
||
76 | * permet de tester le nom d'un groupe si > a 0 caractere et qu'il soit libre |
||
77 | */ |
||
78 | private function testNomGroupe($nom_groupe) { |
||
79 | if (ChaineCaractere::testMinLenght($nom_groupe) == false) { |
||
80 | FlashMessage::setFlash("Le nom du groupe ne peut pas être vide !"); |
||
81 | return false; |
||
82 | } |
||
83 | |||
84 | if ($this->getTestGroupExist($nom_groupe) == false) { |
||
|
|||
85 | FlashMessage::setFlash("Un groupe portant ce nom existe déjà, merci d'en choisir un autre !"); |
||
86 | return false; |
||
87 | } |
||
88 | |||
89 | return true; |
||
90 | } |
||
91 | |||
92 | /** |
||
93 | * @param $nombre_unite |
||
94 | * @param $nom_unite |
||
95 | * @param $type_unite |
||
96 | * @param $nom_groupe |
||
97 | * @return bool |
||
98 | * fonction qui permet de créer un groupe |
||
99 | */ |
||
100 | public function setCreerGroupe($nombre_unite, $nom_unite, $type_unite, $nom_groupe) { |
||
101 | $dbc = App::getDb(); |
||
102 | |||
103 | if ($this->testNomGroupe($nom_groupe) === false) { |
||
104 | return false; |
||
105 | } |
||
106 | |||
107 | if (array_sum($nombre_unite) == 0) { |
||
108 | FlashMessage::setFlash("Vous ne pouvez pas créer un groupe vide !"); |
||
109 | return false; |
||
110 | } |
||
111 | |||
112 | $dbc->insert("nom_groupe", $nom_groupe) |
||
113 | ->insert("niveau_groupe", 1) |
||
114 | ->insert("ID_base", Bataille::getIdBase()) |
||
115 | ->into("_bataille_groupe_unite") |
||
116 | ->set(); |
||
117 | |||
118 | $id_groupe = $dbc->lastInsertId(); |
||
119 | |||
120 | $count = count($nombre_unite); |
||
121 | |||
122 | for ($i=0 ; $i<$count ; $i++) { |
||
123 | $this->setAjouterUniteGroupe($nombre_unite[$i], $nom_unite[$i], $type_unite[$i], $id_groupe); |
||
124 | } |
||
125 | |||
126 | return true; |
||
127 | } |
||
128 | |||
129 | /** |
||
130 | * @param $nombre_unite |
||
131 | * @param $nom_unite |
||
132 | * @param $type_unite |
||
133 | * @param $id_groupe |
||
134 | * @return bool |
||
135 | * fonction qui permet d'ajouter des unités a un groupe |
||
136 | */ |
||
137 | private function setAjouterUniteGroupe($nombre_unite, $nom_unite, $type_unite, $id_groupe) { |
||
158 | |||
159 | /** |
||
160 | * @param $id_groupe |
||
161 | * fonction qui permet de supprimer un groupe vide |
||
162 | */ |
||
163 | private function setSupprimerGroupe($id_groupe) { |
||
169 | |||
170 | /** |
||
171 | * @param $id_groupe |
||
172 | * @param $id_mission |
||
173 | * @return bool |
||
174 | * fonction qui sert à envoyer toutes les troupes d'un groupe en mission |
||
175 | */ |
||
176 | public function setCommencerExpedition($id_groupe, $id_mission) { |
||
193 | |||
194 | /** |
||
195 | * @param $id_mission |
||
196 | * fonction qui termine la mission pour tous les groupes qui y ont été assignés |
||
197 | */ |
||
198 | public function setTerminerExpedition($id_mission) { |
||
203 | //-------------------------- END SETTER ----------------------------------------------------------------------------// |
||
204 | } |
When comparing two booleans, it is generally considered safer to use the strict comparison operator.