}
    }
}
// Praticien concerné
$user = CMediusers::get();
if ($user->isPraticien()) {
    $praticien = $user;
} else {
    $praticien = new CMediusers();
    $praticien->load(CValue::getOrSession("pratSel", CValue::getOrSession("praticien_id")));
}
$praticien->loadRefFunction();
$praticien->_ref_function->loadRefGroup();
$praticien->canDo();
// Compter les modèles d'étiquettes
$modele_etiquette = new CModeleEtiquette();
$where = array();
$where['object_class'] = "= 'COperation'";
$where["group_id"] = " = '" . CGroups::loadCurrent()->_id . "'";
$nb_modeles_etiquettes_operation = $modele_etiquette->countList($where);
$where['object_class'] = "= 'CSejour'";
$nb_modeles_etiquettes_sejour = $modele_etiquette->countList($where);
$nb_printers = 0;
if (CModule::getActive("printing")) {
    // Chargement des imprimantes pour l'impression d'étiquettes
    $user_printers = CMediusers::get();
    $function = $user_printers->loadRefFunction();
    $nb_printers = $function->countBackRefs("printers");
}
$compte_rendu = new CCompteRendu();
$salles = array();
 *
 * @package    Mediboard
 * @subpackage Hospi
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision$
 */
CCanDo::checkEdit();
$modele_etiquette_id = CValue::getOrSession("modele_etiquette_id");
$modele_etiquette = new CModeleEtiquette();
$group_id = CGroups::loadCurrent()->_id;
if ($modele_etiquette_id) {
    $modele_etiquette->load($modele_etiquette_id);
    $modele_etiquette->loadRefsNotes();
}
// Nouveau modèle d'étiquette dans le cas d'un changement d'établissement
if (!$modele_etiquette_id || $modele_etiquette->group_id != $group_id) {
    // Chargement des valeurs par défaut si pas de modele_etiquette_id
    $modele_etiquette = new CModeleEtiquette();
    $modele_etiquette->valueDefaults();
    $modele_etiquette->group_id = $group_id;
}
$classes = CCompteRendu::getTemplatedClasses();
$classes["CRPU"] = CAppUI::tr("CRPU");
// Création du template
$smarty = new CSmartyDP();
$smarty->assign("modele_etiquette", $modele_etiquette);
$smarty->assign("classes", $classes);
$smarty->assign("fields", CModeleEtiquette::$fields);
$smarty->assign("listfonts", CModeleEtiquette::$listfonts);
$smarty->display("inc_edit_modele_etiquette.tpl");
<?php

/**
 * $Id$
 *
 * @package    Mediboard
 * @subpackage Hospi
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision$
 */
$object_class = CValue::get("object_class");
$object_id = CValue::get("object_id");
$unique_id = CValue::get("unique_id");
$custom_function = CValue::get("custom_function");
$modele_etiquette = new CModeleEtiquette();
$modele_etiquette->object_class = $object_class;
$modele_etiquette->group_id = CGroups::loadCurrent()->_id;
$modeles_etiquettes = $modele_etiquette->loadMatchingList();
$smarty = new CSmartyDP();
$smarty->assign("modeles_etiquettes", $modeles_etiquettes);
$smarty->assign("object_class", $object_class);
$smarty->assign("object_id", $object_id);
$smarty->assign("unique_id", $unique_id);
$smarty->assign("custom_function", $custom_function);
$smarty->display("inc_choose_modele_etiquette.tpl");
                            $pdf->WriteHTML($sub_fragments[1], false);
                        }
                    } else {
                        $pdf->WriteHTML($fragment, false);
                    }
                    $was_barcode = 0;
                }
            }
            $x = $x + $largeur_etiq;
            $pdf->SetY($y);
            $pdf->SetX($x);
        }
        if ($printer_id) {
            $file = new CFile();
            $file->_file_path = tempnam("/tmp", "etiq");
            file_put_contents($file->_file_path, $pdf->Output($this->nom . '.pdf', "S"));
            $printer = new CPrinter();
            $printer->load($printer_id);
            $printer->loadRefSource()->sendDocument($file);
            unlink($file->_file_path);
        } else {
            if ($stream) {
                $pdf->Output($this->nom . '.pdf', "I");
            } else {
                return $pdf->OutPut($this->nom . '.pdf', "S");
            }
        }
    }
}
CModeleEtiquette::$fields = array("CPatient" => CPatient::$fields_etiq, "CSejour" => CSejour::$fields_etiq, "COperation" => COperation::$fields_etiq, "General" => array("DATE COURANTE", "HEURE COURANTE"));
<?php

/**
 * $Id$
 *
 * @package    Mediboard
 * @subpackage Hospi
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision$
 */
if (count($_POST) < 10) {
    CAppUI::stepAjax("Vous pouvez fermer cette fenêtre, car elle ne contient pas les données nécessaire à l'aperçu du modèle d'étiquette");
    CApp::rip();
}
$modele_etiquette = new CModeleEtiquette();
$modele_etiquette->largeur_page = CValue::post("largeur_page");
$modele_etiquette->hauteur_page = CValue::post("hauteur_page");
$modele_etiquette->nb_lignes = CValue::post("nb_lignes");
$modele_etiquette->nb_colonnes = CValue::post("nb_colonnes");
$modele_etiquette->marge_horiz = CValue::post("marge_horiz");
$modele_etiquette->marge_vert = CValue::post("marge_vert");
$modele_etiquette->hauteur_ligne = CValue::post("hauteur_ligne");
$modele_etiquette->nom = CValue::post("nom");
$modele_etiquette->texte = CValue::post("texte");
$modele_etiquette->texte_2 = CValue::post("texte_2");
$modele_etiquette->texte_3 = CValue::post("texte_3");
$modele_etiquette->texte_4 = CValue::post("texte_4");
$modele_etiquette->font = CValue::post("font");
$modele_etiquette->show_border = CValue::post("show_border");
$modele_etiquette->text_align = CValue::post("text_align");
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision$
 */
ignore_user_abort(true);
$printer_id = CValue::get("printer_id");
$object_id = CValue::get("object_id");
$object_class = CValue::get("object_class");
$modele_etiquette_id = CValue::get("modele_etiquette_id");
$params = CValue::get("params", array());
$object = new $object_class();
$object->load($object_id);
$fields = array();
$object->completeLabelFields($fields, $params);
// Chargement des modèles d'étiquettes
$modele_etiquette = new CModeleEtiquette();
$modele_etiquette->load($modele_etiquette_id);
if ($modele_etiquette->_id) {
    $modele_etiquette->completeLabelFields($fields, $params);
    $modele_etiquette->replaceFields($fields);
    $modele_etiquette->printEtiquettes($printer_id);
    CApp::rip();
}
$where = array();
$where['object_class'] = " = '{$object_class}'";
$where["group_id"] = " = '" . CGroups::loadCurrent()->_id . "'";
if (count($modeles_etiquettes = $modele_etiquette->loadList($where))) {
    // TODO: faire une modale pour proposer les modèles d'étiquettes
    $first_modele = reset($modeles_etiquettes);
    $first_modele->completeLabelFields($fields, $params);
    $first_modele->replaceFields($fields);
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version  $Revision$
 * @link     http://www.mediboard.org
 */
CCanDo::checkRead();
$object_class = CValue::post("object_class");
$sejours_ids = CValue::post("sejours_ids");
$modele_etiquette_id = CValue::post("modele_etiquette_id");
$sejours_ids = explode("-", $sejours_ids);
$sejour = new CSejour();
$where = array();
$where["sejour_id"] = CSQLDataSource::prepareIn($sejours_ids);
$sejours = $sejour->loadList($where, "FIELD(sejour_id, " . implode(",", $sejours_ids) . ")");
CStoredObject::massLoadFwdRef($sejours, "patient_id");
CStoredObject::massLoadFwdRef($sejours, "praticien_id");
$modele_etiquette = new CModeleEtiquette();
$modele_etiquette->load($modele_etiquette_id);
$etiquettes = array();
$uniqid = uniqid();
CSejour::massLoadNDA($sejours);
CSejour::massLoadNRA($sejours);
foreach ($sejours as $_sejour) {
    $fields = array();
    $_sejour->completeLabelFields($fields, array());
    $_modele = unserialize(serialize($modele_etiquette));
    $_modele->completeLabelFields($fields, array());
    $_modele->replaceFields($fields);
    $etiquettes[$_sejour->_id] = tempnam("", "etiq_{$uniqid}");
    file_put_contents($etiquettes[$_sejour->_id], $_modele->printEtiquettes(null, 0));
}
$pdf = new CMbPDFMerger();
Exemple #8
0
 /**
  * @see parent::loadView()
  */
 function loadView()
 {
     parent::loadView();
     if (CBrisDeGlace::isBrisDeGlaceRequired()) {
         $canAccess = CAccessMedicalData::checkForSejour($this);
         if ($canAccess) {
             $this->_can->read = 1;
         }
     }
     $this->loadRefPatient()->loadRefPhotoIdentite();
     $this->loadRefEtablissement();
     $affectations = $this->loadRefsAffectations();
     foreach ($this->loadRefsOperations() as $_operation) {
         $_operation->loadRefChir();
         $_operation->loadRefPlageOp();
     }
     if (is_array($affectations) && count($affectations)) {
         foreach ($affectations as $_affectation) {
             /** @var CAffectation $_affectation */
             if (!$_affectation->lit_id) {
                 $_affectation->_view = $_affectation->loadRefService()->_view;
             } else {
                 $_affectation->loadRefLit()->loadCompleteView();
                 $_affectation->_view = $_affectation->_ref_lit->_view;
             }
             $_affectation->loadRefParentAffectation();
         }
     }
     $this->loadNDA();
     if (CModule::getActive("printing")) {
         // Compter les imprimantes pour l'impression d'étiquettes
         $user_printers = CMediusers::get();
         $function = $user_printers->loadRefFunction();
         $this->_nb_printers = $function->countBackRefs("printers");
     }
     // On compte les modèles d'étiquettes pour :
     // - stream si un seul
     // - modale de choix si plusieurs
     $modele_etiquette = new CModeleEtiquette();
     $modele_etiquette->object_class = "CSejour";
     $modele_etiquette->group_id = $this->group_id;
     $this->_count_modeles_etiq = $modele_etiquette->countMatchingList();
 }
if (!$user->isPraticien() && $user_id) {
    $user = new CMediusers();
    $user->load($user_id);
}
$user->loadRefFunction();
$user->_ref_function->loadRefGroup();
$user->canDo();
if ($object->loadRefsDocs()) {
    foreach ($object->_ref_documents as $_doc) {
        $_doc->loadRefCategory();
        $_doc->isLocked();
        $_doc->canDo();
    }
}
// Compter les modèles d'étiquettes
$modele_etiquette = new CModeleEtiquette();
$modele_etiquette->object_class = $object_class;
$modele_etiquette->group_id = CGroups::loadCurrent()->_id;
$nb_modeles_etiquettes = $modele_etiquette->countMatchingList();
$nb_printers = 0;
if (CModule::getActive("printing")) {
    // Chargement des imprimantes pour l'impression d'étiquettes
    $user_printers = CMediusers::get();
    $function = $user_printers->loadRefFunction();
    $nb_printers = $function->countBackRefs("printers");
}
$compte_rendu = new CCompteRendu();
// Création du template
$smarty = new CSmartyDP();
$smarty->assign("praticien", $user);
$smarty->assign("object", $object);
<?php

/**
 * $Id$
 *
 * @package    Mediboard
 * @subpackage Hospi
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision$
 */
CCanDo::checkEdit();
$filter_class = CValue::getOrSession("filter_class");
$modele_etiquette_id = CValue::getOrSession("modele_etiquette_id");
// Récupération de la liste suivant l'object_class
$modele_etiquette = new CModeleEtiquette();
$modele_etiquette->group_id = CGroups::loadCurrent()->_id;
if ($filter_class != "all") {
    $modele_etiquette->object_class = $filter_class;
}
$liste_modele_etiquette = $modele_etiquette->loadMatchingList("nom");
// Création du template
$smarty = new CSmartyDP();
$smarty->assign("filter_class", $filter_class);
$smarty->assign("modele_etiquette_id", $modele_etiquette_id);
$smarty->assign("liste_modele_etiquette", $liste_modele_etiquette);
$smarty->display("inc_list_modele_etiquette.tpl");