Example #1
0
 /**
  * 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']) . '");');
                 }
             }
         }
     }
 }