public static function AjouterReferentiel($nom, MListeObjetsMetiers $mListe, $sauveCols = NULL, $dejaCharge = false, $fromAncienRef = false) { self::Initialiser(); $nomRef = ''; if (is_array($nom)) { foreach ($nom as $nomCol) { if ($nomRef !== '') { $nomRef .= ','; } $nomRef .= $nomCol; } } else { $nomRef = $nom; } $contexte = self::ContexteCourant(); if (!array_key_exists($contexte, self::$referentiels[REF_TYPE_DONNEES])) { self::$referentiels[REF_TYPE_DONNEES][$contexte] = array(); } if (!array_key_exists($nomRef, self::$referentiels[REF_TYPE_DONNEES][$contexte])) { $referentiel = array(); if ($fromAncienRef === true) { $ancienRef = NULL; if ($contexte !== REF_CONTEXTE_AUCUN) { $ancienRef = GContexte::Referentiel($contexte, $nomRef, REF_TYPE_DONNEES); } else { $ancienRef = GSession::Referentiel($nomRef, REF_TYPE_DONNEES); } if ($ancienRef === NULL) { $ancienRef = array(); } foreach ($ancienRef as $ancienneValeur) { $mListe->AjouterElementFromTableau($ancienneValeur); } $dejaCharge = true; } $referentiel[REF_DONNEES_LISTE] = $mListe; $referentiel[REF_DONNEES_CHARGEES] = $dejaCharge; $referentiel[REF_DONNEES_COLSASAUVEGARDER] = $sauveCols; $referentiel[REF_DONNEES_DIFFSELOK] = false; self::$referentiels[REF_TYPE_DONNEES][$contexte][$nomRef] = $referentiel; } }
public function SupprimerListeObjetsMetiersFromExistante(MListeObjetsMetiers $mListeObjetsMetiers, $nomChampId = COL_ID) { //$listeIdSupp = $mListeObjetsMetiers->GetListeId(); $listeIdSupp = $mListeObjetsMetiers->ExtraireChamp($nomChampId); foreach ($this->listeContexte as $element) { $mListeObjetsMetiers->AjouterElementFromTableau($element[LISTE_CONTEXTE_CHAMPS], true, true); } foreach ($listeIdSupp as $idSupp) { $mListeObjetsMetiers->SupprimerElement($idSupp, $nomChampId); } $this->InjecterListeObjetsMetiers($mListeObjetsMetiers, true); }