/** * Afficher un tag HTML pour la liste des justifications des absences (select) * Les options possibles : id pour l'identifiant du select, name pour son name et selected pour vérifier le quel doit apparaitre en selected * * @param array $options id, name, selected * @return string Liste deroulante des justifications d'absences */ public static function AfficherListeDeroulanteJustifications($options){ $criteria = new Criteria(); $criteria->addAscendingOrderByColumn(AbsenceJustificationPeer::ORDRE); $liste = AbsenceJustificationPeer::doSelect($criteria); $_id = isset($options["id"]) ? $options["id"] : 'idJustif'; $_name = isset($options["name"]) ? $options["name"] : 'namejustif'; $_selected = isset($options["selected"]) ? $options["selected"] : ''; $_class = isset($options["class"]) ? ' class="'.$options["class"].'"' : ''; $retour = '<select id="'.$_id.'" name="'.$_name.'"'.$_class.'>'."\n"; $retour .= '<option value="0">---</option>'."\n"; foreach($liste as $type){ $aff_selected = ''; if ($type->getId() == $_selected){ $aff_selected = ' selected="selected"'; } $retour .= '<option value="'.$type->getId().'"'.$aff_selected.'>'.$type->getNom().'</option>'."\n"; } $retour .= '</select>'."\n"; return $retour; }
/******************* LISTER ******************************/ $c = new Criteria(); $c->addAscendingOrderByColumn('ordre'); switch($type_req){ case 'types': $tout = AbsenceTypePeer::doSelect($c); break; case 'motifs': $tout = AbsenceMotifPeer::doSelect($c); break; case 'actions': $tout = AbsenceActionPeer::doSelect($c); break; case 'justifications': $tout = AbsenceJustificationPeer::doSelect($c); break; default: $tout = NULL; } // switch }catch(exception $e){ // Cette fonction est présente dans /lib/erreurs.php affExceptions($e); } // On précise l'entête HTML pour que le navigateur ne se perde pas . header('Content-Type: text/html; charset:utf-8'); ?> <table id="presentations">