id_authorities_statut] = array( 'label' => $row->authorities_statut_label, 'class_html' => $row->authorities_statut_class_html, 'available_for' => unserialize($row->authorities_statut_available_for) ); if(!is_array(static::$statuts[$row->id_authorities_statut]['available_for'])){ static::$statuts[$row->id_authorities_statut]['available_for'] = array(); } } } static::$statuts_fetched = true; } } /** * Fonction permettant de générer le selecteur des statut définis pour un type d'autorité * @param integer $auth_type Constante type d'autorité (ou 1000+id authperso) * @param integer $auth_statut_id Identifiant du statut enregistré pour l'autorité courante * @param boolean $selector_search Sélécteur affiché dans la page de recherche * @return string */ public static function get_form_for($auth_type, $auth_statut_id, $search=false){ global $msg; $auth_statut_id=intval($auth_statut_id); $statuts_defined = static::get_statuts_for($auth_type); $on_change=''; $selector = ''; return $selector; } /** * Fonction retournant un tableau des statut défini pour le type d'autorité passé en parametre * @param integer $auth_type Type d'autorité * @return array $statuts_found Tableau des statuts disponible pour le type d'autorité passé en parametre */ private static function get_statuts_for($auth_type){ /** * TODO test sur auth_type pour les authorités perso */ static::get_list(); $statuts_found = array(); foreach(static::$statuts as $id_statut => $statut){ if(in_array($auth_type,$statut['available_for']) || ($id_statut==1)){ $statuts_found[$id_statut] = $statut; } //TODO: array merge authority perso } return $statuts_found; } }