/** * Retourne la liste des scénarios dont l'utilisateur est ayant droit. * * @param EiUser $user * @return array|null */ public function getScenariosFromUser(EiUser $user) { // On définit la liste qui sera retournée à null. $liste = null; // On définit la requête SQL qui va interroger la base de données afin de récupérer les scénarios visibles par // l'utilisateur. $query = "\n SELECT *\n FROM ei_scenario\n WHERE (project_ref, project_id) IN (\n SELECT project_ref, project_id\n FROM ei_project_user\n WHERE user_ref = " . $user->getRefId() . "\n AND user_id = " . $user->getUserId() . "\n );\n "; // On récupère sous forme de tableau les scénarios. $scenarios = Doctrine_Manager::getInstance()->getCurrentConnection()->fetchAll($query); // Si le nombre de scénarios est supérieur à zéro, on crée les objets associés. if (count($scenarios) > 0) { foreach ($scenarios as $scenarioArray) { $temp = new EiScenario(); $temp->setArray($scenarioArray); $liste[] = $temp; } } return $liste; }