function genCase($bubulle, $droit = 'form_non_spe') { global $tool; global $session; global $options; if ($this->droit) { $droit = $this->droit; } // Chargement du template ModeliXe. $mod = new ModeliXe("FX_blocActions.mxt"); $mod->SetModeliXe(); $padaction = true; //la en fait on ne genere pas un lien, qui serait la solution la plus simple, mais l'enjeu est de tout gerer (Post, variables de la classe...) lors de la création de la classe. On ne touche pas aux variables de navigation. Donc on va créer un champ qui - pour l'utilisateur - ressemble comme deux gouttes d'eau à un lien mais qui en fait est un appel javascript remplissant un champ caché par une variable donnée. $data = $this->ListFromIds(array('I', 'E', 'F')); if (!isset($data[id_instance][0])) { $mod->MxBloc('actions.frep', 'delete'); } if ($session->getDroit($droit, 'r')) { for ($i = 0; isset($data[id_instance][$i]); $i++) { //chargement $newInstance = new clFoRmX_manip($this->ids, 'NO_POST_THREAT'); $newInstance->loadInstance($data[id_instance][$i]); $xml = $newInstance->XMLCore; //test sur les droits if ($xml['access'] && !$session->getDroit(utf8_decode((string) $xml['access']), 'r')) { continue; } elseif (!$xml['access'] && !$session->getDroit($this->droit, 'r')) { continue; } $padaction = false; $libelle = $data[libelle][$i]; $id = $data['idformx'][$i]; //$creation = $tool->date_simple($data['dt_creation'][$i]) ; //$modif = $tool->date_simple($data['dt_modif'][$i]) ; $dateCr = new clDate($data['dt_creation'][$i]); $mod->MxText("actions.dateForm", $dateCr->getDate("d/m/y H:i")); if (!$libelle) { $libelle = $data[idformx][$i]; } switch ($data[status][$i]) { case 'I': $mod->MxText("actions.statut", "<span style='color:red'>Initialisée</span>"); break; case 'E': $mod->MxText("actions.statut", "<span style='color:orange'>En cours</span>"); break; case 'F': $mod->MxText("actions.statut", "<span style='color:green'>Fini</span>"); break; default: $mod->MxText("actions.statut", "<span style='color:blue'>Inconnu</span>"); break; } //$mod -> MxText ( "actions.creation", $creation ) ; //$mod -> MxText ( "actions.modif", $modif ) ; $mod->MxText("actions.libelle", $libelle); //eko($id); if (!eregi('Radio', $libelle) and !eregi('Bio', $libelle) and !eregi('Spécialisée', $libelle)) { $mod->MxBloc('actions.frep', 'delete'); } else { if (eregi('Radio', $libelle)) { $libelleC = 'radio'; } elseif (eregi('Bio', $libelle) && eregi('2009', $libelle)) { $libelleC = 'bio2009'; } elseif (eregi('Bio', $libelle)) { $libelleC = 'labo'; } else { $libelleC = 'spe'; } //$mod->Mxattribut("actions.frep.code","document.FoRmXcase.Formulaire2print.value = '".$libelleC."';document.FoRmXcase.submit();"); if (!$options->getOption("imprRadioRadio") && ereg('Radio', $libelle) && ereg('radio', $libelle) || !$options->getOption("imprRadioScanner") && ereg('Radio', $libelle) && ereg('scanner', $libelle) || !$options->getOption("imprRadioEcho") && ereg('Radio', $libelle) && ereg('échographie', $libelle)) { $mod->MxBloc("actions.frep", "delete"); } else { $mod->MxText("actions.frep.lienPrint", "<a href=\"" . URLNAVI . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2)) . "&Formulaire2print={$libelleC}&FormX_ext_goto_=" . $data[id_instance][$i] . "&act_print=1\" target=\"_blank\">"); } } $resume = addslashes(str_replace('"', "'", $newInstance->gen_resume())); $mod->Mxattribut("actions.codemouseover", "return overlib('" . $resume . "', CAPTION, '" . addslashes($data[libelle][$i]) . "');"); unset($newInstance); $mod->Mxattribut("actions.codemouseout", "return nd()"); $mod->Mxattribut("actions.code", "document.FoRmXcase.FormX_ext_goto_.value = '" . $data[id_instance][$i] . "';document.FoRmXcase.submit();"); if ($session->getDroit($droit, 'd')) { $mod->Mxattribut("actions.frem.code", "document.FoRmXcase.FormX_ext_goto_.value = 'RM" . $data[id_instance][$i] . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("actions.frem", "delete"); } if ($session->getDroit($droit, 'a') && $data[status][$i] == 'F') { $mod->Mxattribut("actions.fed.code", "document.FoRmXcase.FormX_ext_goto_.value = 'ED" . $data[id_instance][$i] . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("actions.fed", "delete"); } $mod->MxBloc("actions", "loop"); } } if ($padaction) { $mod->MxBloc("actions.frem", "delete"); $mod->MxBloc("actions.fed", "delete"); $mod->MxBloc("titre", "delete"); } else { $mod->MxBloc("padetitre", "delete"); } //le bouton de creation de nouvelle instance d'action if ($session->getDroit($droit, 'w')) { $mod->Mxattribut("nouveauF.newact_code", "document.FoRmXcase.FormX_ext_goto_.value = 'new';document.FoRmXcase.submit();"); global $options; if ($options->getOption("racBonRadio")) { $mod->Mxattribut("racbonradio.newRadio", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Radio';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonradio", "delete"); } if ($options->getOption("racBonLabo")) { $options->getOption("bio2009") ? $f = "Formulaire_Bio2009" : ($f = "Formulaire_Bio"); $mod->Mxattribut("racbonlabo.newLabo", "document.FoRmXcase.FormX_to_open_.value = '" . $f . "';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonlabo", "delete"); } if ($options->getOption("racBonConSpe")) { $mod->Mxattribut("racboncs.newCS", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Consultation_Specialisee';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racboncs", "delete"); } if ($options->getOption("racBonRadioRadio")) { $mod->Mxattribut("racbonradioradio.newRadioRadio", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Radio_Partie_Radio';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonradioradio", "delete"); } if ($options->getOption("racBonRadioScanner")) { $mod->Mxattribut("racbonradioscanner.newRadioScanner", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Radio_Partie_Scanner';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonradioscanner", "delete"); } if ($options->getOption("racBonRadioEcho")) { $mod->Mxattribut("racbonradioecho.newRadioEcho", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Radio_Partie_Echographies';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("racbonradioecho", "delete"); } if ($options->getOption("DoubleEtablissement")) { $mod->Mxattribut("transfert.newT", "document.FoRmXcase.FormX_to_open_.value = 'Formulaire_Transfert';document.FoRmXcase.FoRmX_selValid.value = 'on';document.FoRmXcase.FoRmX_selValid_x.value = 'on';document.FoRmXcase.ids.value = '" . $this->ids . "';document.FoRmXcase.submit();"); } else { $mod->MxBloc("transfert", "delete"); } } else { $mod->MxBloc("nouveauF", "delete"); } if ($bubulle) { $bubulle->addBulle("nv_action", "Créez une nouvelle action sur ce patient"); } // Variable de navigation. $mod->MxHidden("hidden", "navi=" . $session->genNavi($session->getNavi(0), $session->getNavi(1), $session->getNavi(2))); return $mod->MxWrite("1"); }