/** * Construit les destinataires pour un MbObject et ses dépendances * * @param CMbObject &$mbObject L'objet en question * * @return void */ static function makeAllFor(CMbObject &$mbObject) { self::$destByClass = array(); if ($mbObject instanceof CPatient) { $patient = $mbObject; // Garder une référence vers le patient pour l'ajout de correspondants // en modale dans la popup d'édition de document self::$_patient = $patient; self::makeFor($patient); $patient->loadRefsCorrespondants(); self::makeFor($patient->_ref_medecin_traitant, "traitant"); foreach ($patient->_ref_medecins_correspondants as &$corresp) { self::makeFor($corresp->_ref_medecin, "correspondant"); } } if ($mbObject instanceof CConsultation) { $consult = $mbObject; $consult->loadRefPatient(); self::makeAllFor($consult->_ref_patient); } if ($mbObject instanceof CConsultAnesth) { $consultAnesth = $mbObject; $consultAnesth->loadRefConsultation(); self::makeAllFor($consultAnesth->_ref_consultation); } if ($mbObject instanceof CSejour) { $sejour = $mbObject; $sejour->loadRefPatient(); self::makeAllFor($sejour->_ref_patient); $chir = $sejour->loadRefPraticien(); $dest = new CDestinataire("praticien"); $dest->nom = "Dr " . $chir->_user_last_name . " " . $chir->_user_first_name; $dest->email = $chir->_user_email; $dest->_guid_object = "CMedecin-{$chir->_id}"; self::$destByClass[$sejour->_class][] = $dest; } if ($mbObject instanceof COperation) { $operation = $mbObject; $operation->loadRefSejour(); self::makeAllFor($operation->_ref_sejour); } }