// Élément de formulaire "f_aff_periode" pour le choix d'une période $select_periode = Formulaire::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_periodes_etabl() , $select_nom='f_aff_periode' , $option_first='val' , $selection=false , $optgroup='non'); // On désactive les périodes prédéfinies pour le choix "toute classe / tout groupe" initialement sélectionné $select_periode = preg_replace( '#'.'value="([1-9].*?)"'.'#' , 'value="$1" disabled' , $select_periode ); // Dates par défaut de début et de fin $date_debut = date("d/m/Y",mktime(0,0,0,date("m")-2,date("d"),date("Y"))); // 2 mois avant $date_fin = date("d/m/Y",mktime(0,0,0,date("m")+1,date("d"),date("Y"))); // 1 mois après // Fabrication du tableau javascript "tab_groupe_periode" pour les jointures groupes/périodes $tab_groupe_periode_js = 'var tab_groupe_periode = new Array();'; if(count($tab_id_classe_groupe)) { $tab_memo_groupes = array(); $DB_TAB = DB_STRUCTURE_COMMUN::DB_lister_jointure_groupe_periode($listing_groupe_id = implode(',',$tab_id_classe_groupe)); foreach($DB_TAB as $DB_ROW) { if(!isset($tab_memo_groupes[$DB_ROW['groupe_id']])) { $tab_memo_groupes[$DB_ROW['groupe_id']] = true; $tab_groupe_periode_js .= 'tab_groupe_periode['.$DB_ROW['groupe_id'].'] = new Array();'; } $tab_groupe_periode_js .= 'tab_groupe_periode['.$DB_ROW['groupe_id'].']['.$DB_ROW['periode_id'].']="'.$DB_ROW['jointure_date_debut'].'_'.$DB_ROW['jointure_date_fin'].'";'; } } $select_selection_items = Formulaire::afficher_select(DB_STRUCTURE_COMMUN::DB_OPT_selection_items($_SESSION['USER_ID']) , $select_nom='f_selection_items' , $option_first='oui' , $selection=false , $optgroup='non'); ?> <script type="text/javascript">
} if (!count($tab_classe)) { echo '<p class="danger">Aucune classe ni aucun groupe associé à votre compte n\'est actuellement concerné !</label></p>' . NL; return; // Ne pas exécuter la suite de ce fichier inclus. } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Passer en revue les classes et les groupes et afficher ce qu'il faut en focntion de l'état de la fiche brevet (de la classe) et des droits. // //////////////////////////////////////////////////////////////////////////////////////////////////// // Javascript : tableau utilisé pour désactiver des options d'un select. Layout::add('js_inline_before', 'var tab_disabled = new Array();'); Layout::add('js_inline_before', 'tab_disabled["examiner"] = new Array();'); Layout::add('js_inline_before', 'tab_disabled["imprimer"] = new Array();'); Layout::add('js_inline_before', 'tab_disabled["voir_pdf"] = new Array();'); $listing_classes_id = implode(',', array_keys($tab_classe)); $DB_TAB = DB_STRUCTURE_COMMUN::DB_lister_jointure_groupe_periode($listing_classes_id); foreach ($tab_classe as $classe_id => $tab_groupes) { $etat = $tab_classe_etat[$classe_id]; // État $affich_etat = '<span class="off_etat ' . substr($etat, 1) . '"><span>' . $tab_etats[$etat] . '</span></span>'; // images action : vérification if (in_array($etat, array('2rubrique', '3mixte', '4synthese'))) { $icone_verification = '<q class="detailler" title="Rechercher les saisies manquantes."></q>'; } else { $icone_verification = '<q class="detailler_non" title="La recherche de saisies manquantes est sans objet lorsque l\'accès en saisie est fermé."></q>'; } // images action : consultation contenu en cours d'élaboration (fiche HTML) if ($_SESSION['USER_PROFIL_TYPE'] != 'administrateur') { if ($etat == '1vide') { $icone_voir_html = '<q class="voir_non" title="Consultation du contenu sans objet (fiche déclarée vide)."></q>'; } else {
/** * Fabrication de tableau javascript de jointures à partir des groupes * * @param array $tab_groupes tableau des données [i] => [valeur texte optgroup] * @param bool $tab_groupe_periode charger ou non "tab_groupe_periode" pour les jointures groupes/périodes * @param bool $tab_groupe_niveau charger ou non "tab_groupe_niveau" pour les jointures groupes/niveaux * @return void alimente Layout::$tab_js_inline[] */ public static function fabriquer_tab_js_jointure_groupe($tab_groupes, $tab_groupe_periode, $tab_groupe_niveau) { Layout::add('js_inline_before', 'var tab_groupe_periode = new Array();'); Layout::add('js_inline_before', 'var tab_groupe_niveau = new Array();'); if (is_array($tab_groupes)) { // On liste les ids des classes et groupes $tab_id_classe_groupe = array(); foreach ($tab_groupes as $tab_groupe_infos) { if (!isset($tab_groupe_infos['optgroup']) || $tab_groupe_infos['optgroup'] != 'besoin') { $tab_id_classe_groupe[] = $tab_groupe_infos['valeur']; } } if (count($tab_id_classe_groupe)) { $listing_groupe_id = implode(',', $tab_id_classe_groupe); // Charger le tableau js $tab_groupe_periode de jointures groupes/périodes if ($tab_groupe_periode) { $tab_memo_groupes = array(); $DB_TAB = DB_STRUCTURE_COMMUN::DB_lister_jointure_groupe_periode($listing_groupe_id); foreach ($DB_TAB as $DB_ROW) { if (!isset($tab_memo_groupes[$DB_ROW['groupe_id']])) { $tab_memo_groupes[$DB_ROW['groupe_id']] = TRUE; Layout::add('js_inline_before', 'tab_groupe_periode[' . $DB_ROW['groupe_id'] . '] = new Array();'); } Layout::add('js_inline_before', 'tab_groupe_periode[' . $DB_ROW['groupe_id'] . '][' . $DB_ROW['periode_id'] . ']="' . $DB_ROW['jointure_date_debut'] . '_' . $DB_ROW['jointure_date_fin'] . '";'); } } // Charger le tableau js $tab_groupe_niveau de jointures groupes/périodes if ($tab_groupe_niveau) { $DB_TAB = DB_STRUCTURE_BILAN::DB_recuperer_niveau_groupes($listing_groupe_id); foreach ($DB_TAB as $DB_ROW) { Layout::add('js_inline_before', 'tab_groupe_niveau[' . $DB_ROW['groupe_id'] . '] = new Array(' . $DB_ROW['niveau_id'] . ',"' . html($DB_ROW['niveau_nom']) . '");'); } } } } }