/** * Renvoie les Groupes liés à une collection de DroitGroupes * @param DroitGroupeCollection $droitGroupes * @return GroupeCollection */ public static function getFromDroitGroupes(DroitGroupeCollection $droitGroupes) { $ids = $droitGroupes->getIdGroupes(); if (!$ids) { return new GroupeCollection(); } $req = "SELECT * FROM groupe WHERE idGroupe IN (" . $ids . ");"; return DbHandler::collFromQuery($req, 'Groupe', 'GroupeCollection'); }
/** * Renvoie les ponts sur les rivières de la collection * @param RiviereCollection $rivieres * @return InfrastructureCollection */ public static function getPontsDeRivieres(RiviereCollection $rivieres) { if ($rivieres->count() == 0) { return new InfrastructureCollection(); } $req = "SELECT * FROM infrastructure WHERE "; $prem = true; $req .= ' ( '; foreach ($rivieres as $riviere) { /** @var Riviere $riviere */ if (!$prem) { $req .= ' OR '; } $req .= " ((idHexa = " . $riviere->getIdHexa1() . " AND idHexa2 = " . $riviere->getIdHexa2() . ") OR (idHexa = " . $riviere->getIdHexa2() . " AND idHexa2 = " . $riviere->getIdHexa1() . ")) "; $prem = false; } $req .= ") AND idType=" . Infrastructures::PONT . ";"; return DbHandler::collFromQuery($req, 'Infrastructure', 'InfrastructureCollection'); }
/** * Renvoie les Productions liés aux Qgs de la collection fournie * @var QgCollection $qgs * @return ProductionCollection */ public static function getFromQgs(QgCollection $qgs) { $req = "SELECT * from production WHERE idUnite IN (SELECT unite.idUnite FROM unite WHERE unite.idQg IN (" . $qgs->getIdsStr() . "))"; return DbHandler::collFromQuery($req, 'Production', 'ProductionCollection'); }
/** * Renvoie les Session liées à un Utilisateur * @param Utilisateur $utilisateur * @return SessionCollection */ public static function getByUtilisateur(Utilisateur $utilisateur) { $req = "SELECT * FROM session WHERE idUtilisateur = '" . $utilisateur->getIdUtilisateur() . "';"; return DbHandler::collFromQuery($req, 'Session', 'SessionCollection'); }
/** * @param Batiment $batiment * @return BatimentCollection */ public static function getNiveauxAuDessus(Batiment $batiment) { $req = "SELECT * from batiment WHERE idHexa = " . $batiment->getIdHexa() . " AND idType = " . $batiment->getIdType() . " AND niveau > " . $batiment->getNiveau() . ";"; return DbHandler::collFromQuery($req, 'Batiment', 'BatimentCollection'); }
/** * Renvoie les Qgs liés à une collection de Unites * @param UniteCollection $unites * @return QgCollection */ public static function getFromUnites(UniteCollection $unites) { $ids = $unites->getIdQgs(); if (!$ids) { return new QgCollection(); } $req = "SELECT * FROM qg WHERE idQg IN (" . $ids . ");"; return DbHandler::collFromQuery($req, 'Qg', 'QgCollection'); }
/** * Renvoie les Joueurs liés à une collection de Visibles * @param VisibleCollection $visibles * @return JoueurCollection */ public static function getFromVisibles(VisibleCollection $visibles) { $ids = $visibles->getIdJoueurs(); if (!$ids) { return new JoueurCollection(); } $req = "SELECT * FROM joueur WHERE idJoueur IN (" . $ids . ");"; return DbHandler::collFromQuery($req, 'Joueur', 'JoueurCollection'); }
/** * Renvoie les DroitGroupes liés aux Utilisateurs de la collection fournie * @var UtilisateurCollection $utilisateurs * @return DroitGroupeCollection */ public static function getFromUtilisateurs(UtilisateurCollection $utilisateurs) { $req = "SELECT * from droit_groupe WHERE idGroupe IN (SELECT groupe.idGroupe FROM groupe WHERE groupe.idGroupe IN (" . $utilisateurs->getIdsStr() . "))"; return DbHandler::collFromQuery($req, 'DroitGroupe', 'DroitGroupeCollection'); }
/** * Renvoie les Competences liés aux Hexas de la collection fournie * @var HexaCollection $hexas * @return CompetenceCollection */ public static function getFromHexas(HexaCollection $hexas) { $req = "SELECT * from competence WHERE idQg IN (SELECT qg.idQg FROM qg WHERE qg.idHexa IN (" . $hexas->getIdsStr() . "))"; return DbHandler::collFromQuery($req, 'Competence', 'CompetenceCollection'); }
/** * Renvoie les Hexas liés à une collection de Visibles * @param VisibleCollection $visibles * @return HexaCollection */ public static function getFromVisibles(VisibleCollection $visibles) { $ids = $visibles->getIdHexas(); if (!$ids) { return new HexaCollection(); } $req = "SELECT * FROM hexa WHERE idHexa IN (" . $ids . ");"; return DbHandler::collFromQuery($req, 'Hexa', 'HexaCollection'); }
/** * Renvoie les unités en cours de transfert vers le Qg fourni en paramètre * @param Qg $qg * @return UniteCollection */ public static function getUnitesEnTransfertVersQg(Qg $qg) { $req = "SELECT * from unite WHERE idQgTransfert='" . $qg->getId() . "';"; return DbHandler::collFromQuery($req, 'Unite', 'UniteCollection'); }
/** * Renvoie les Parties liés aux Rivieres de la collection fournie * @var RiviereCollection $rivieres * @return PartieCollection */ public static function getFromRivieres(RiviereCollection $rivieres) { $req = "SELECT * FROM partie WHERE idPartie IN (SELECT hexa.idPartie FROM hexa WHERE hexa.idHexa2 IN (" . $rivieres->getIdHexa2s() . "))"; return DbHandler::collFromQuery($req, 'Partie', 'PartieCollection'); }
/** * Renvoie les Utilisateurs liés aux DroitGroupes de la collection fournie * @var DroitGroupeCollection $droitGroupes * @return UtilisateurCollection */ public static function getFromDroitGroupes(DroitGroupeCollection $droitGroupes) { $req = "SELECT * FROM utilisateur WHERE idGroupe IN (SELECT groupe.idGroupe FROM groupe WHERE groupe.idGroupe IN (" . $droitGroupes->getIdGroupes() . "))"; return DbHandler::collFromQuery($req, 'Utilisateur', 'UtilisateurCollection'); }
/** * Renvoie les Visible liées à un Joueur * @param Joueur $joueur * @return VisibleCollection */ public static function getByJoueur(Joueur $joueur) { $req = "SELECT * FROM visible WHERE idJoueur = '" . $joueur->getIdJoueur() . "';"; return DbHandler::collFromQuery($req, 'Visible', 'VisibleCollection'); }
/** * Renvoie les Trajs liés aux Parties de la collection fournie * @var PartieCollection $parties * @return TrajCollection */ public static function getFromParties(PartieCollection $parties) { $req = "SELECT * from traj WHERE idHexa IN (SELECT hexa.idHexa FROM hexa WHERE hexa.idPartie IN (" . $parties->getIdsStr() . "))"; return DbHandler::collFromQuery($req, 'Traj', 'TrajCollection'); }