/** * Charge les listes de choix pour un utilisateur, ou la fonction et l'établissement de l'utilisateur connecté * * @param int $user_id identifiant de l'utilisateur * @param int $compte_rendu_id identifiant du compte-rendu * * @return void */ function loadLists($user_id, $compte_rendu_id = 0) { $where = array(); $user = CMediusers::get($user_id); $user->loadRefFunction(); if ($user_id) { $where[] = "(\n user_id = '{$user->user_id}' OR\n function_id = '{$user->function_id}' OR\n group_id = '{$user->_ref_function->group_id}'\n )"; } else { $compte_rendu = new CCompteRendu(); $compte_rendu->load($compte_rendu_id); $where[] = "(\n function_id IN('{$user->function_id}', '{$compte_rendu->function_id}') OR\n group_id IN('{$user->_ref_function->group_id}', '{$compte_rendu->group_id}')\n )"; } $where[] = $user->getDS()->prepare("`compte_rendu_id` IS NULL OR compte_rendu_id = %", $compte_rendu_id); $order = "user_id, function_id, group_id, nom ASC"; $lists = new CListeChoix(); $this->allLists = $lists->loadList($where, $order); foreach ($this->allLists as $list) { /** @var CListeChoix $list */ $this->addList($list->nom); } }