<?php /** * $Id: vw_functional_perms.php 24154 2014-07-24 14:17:58Z kgrisel $ * * @package Mediboard * @subpackage admin * @version $Revision: 24154 $ * @author SARL OpenXtrem * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html */ CCanDo::checkEdit(); $user_id = CCanDo::edit() ? CValue::getOrSession("user_id", "default") : null; $user = CUser::get($user_id); $prof = $user->profile_id ? CUser::get($user->profile_id) : new CUser(); if ($user_id == "default") { $user->_id = null; } $prefvalues = array("default" => CPreferences::get(null, true), "template" => $user->profile_id ? CPreferences::get($user->profile_id, true) : array(), "user" => $user->_id !== "" ? CPreferences::get($user->_id, true) : array()); // common sera toujours au debut $prefs = array("common" => array()); // Classement par module et par permission fonctionnelle CPreferences::loadModules(true); foreach (CPreferences::$modules as $modname => $prefnames) { $module = CModule::getActive($modname); $canRead = $module ? CPermModule::getPermModule($module->_id, PERM_READ, $user_id) : false; if ($modname == "common" || $user_id == "default" || $canRead) { $prefs[$modname] = array(); foreach ($prefnames as $prefname) { $prefs[$modname][$prefname] = array("default" => CMbArray::extract($prefvalues["default"], $prefname), "template" => CMbArray::extract($prefvalues["template"], $prefname), "user" => CMbArray::extract($prefvalues["user"], $prefname)); }
CValue::setSession("elem_concerne", $elem_concerne); CValue::setSession("evenements", $evenements); CValue::setSession("filter_item", $filter_item); $selected_fiche_id = CValue::getOrSession("selected_fiche_id"); $where = array(); if ($elem_concerne) { $where["fiches_ei.elem_concerne"] = "= '{$elem_concerne}'"; } if ($selected_user_id) { $where["fiches_ei.user_id"] = "= '{$selected_user_id}'"; } if ($selected_service_valid_user_id) { $where["fiches_ei.service_valid_user_id"] = "= '{$selected_service_valid_user_id}'"; } $user_id = null; if ($type == "AUTHOR" || CCanDo::edit() && !CCanDo::admin()) { $user_id = $user->_id; } if ($evenements) { $listeFiches = CFicheEi::loadFichesEtat($type, $user_id, $where, 0, false, null, true); $item = new CEiItem(); $item->ei_categorie_id = $evenements; $listTypes = array_keys($item->loadMatchingList()); foreach ($listeFiches as $id => $fiche) { if (count(array_intersect($fiche->_ref_evenement, $listTypes)) == 0) { unset($listeFiches[$id]); } if ($filter_item != "" && strrpos($fiche->evenements, $filter_item) === false) { unset($listeFiches[$id]); } }
<?php /** * $Id$ * * @package Mediboard * @subpackage bloodSalvage * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkRead(); $blood_salvage_id = CValue::getOrSession("blood_salvage_id"); $date = CValue::getOrSession("date", CMbDT::date()); $modif_operation = CCanDo::edit() || $date >= CMbDT::date(); $timing = CValue::getOrSession("timing"); $blood_salvage = new CBloodSalvage(); if ($blood_salvage_id) { $blood_salvage->load($blood_salvage_id); $timing["_recuperation_start"] = array(); $max_add_minutes = CAppUI::conf("dPsalleOp max_add_minutes"); foreach ($timing as $key => $value) { for ($i = -CAppUI::conf("dPsalleOp max_sub_minutes"); $i < $max_add_minutes && $blood_salvage->{$key} !== null; $i++) { $timing[$key][] = CMbDT::time("{$i} minutes", $blood_salvage->{$key}); } } } // Création du template $smarty = new CSmartyDP(); $smarty->assign("blood_salvage", $blood_salvage); $smarty->assign("date", $date);
$planning->addEvent($event); } } } // Ajout des événements (commentaires), OK foreach ($commentaires_by_salle as $salle_id => $_commentaires) { $i = array_search($salle_id, $salles_ids); foreach ($_commentaires as $_commentaire) { $debut = "{$i} " . CMbDT::time($_commentaire->debut); $duree = CMbDT::minutesRelative(CMbDT::time($_commentaire->debut), CMbDT::time($_commentaire->fin)); $com_comm = CMbString::htmlEntities($_commentaire->commentaire); $com_libelle = CMbString::htmlEntities($_commentaire->libelle); $libelle = "<span\n style=\"display: none;\"\n data-entree_prevue=\"{$_commentaire->debut}\"\n data-sortie_prevue=\"{$_commentaire->fin}\"\n data-libelle=\"{$com_libelle}\"\n data-commentaire=\"{$com_comm}\"\n data-duree=\"{$duree}\"\n data-color=\"{$_commentaire->color}\"></span>" . "<span style=\"font-size: 11px; font-weight: bold;\">" . $com_libelle . "</span>" . "\n<span class=\"compact\">" . $com_comm . "</span>"; $event = new CPlanningEvent($_commentaire->_guid, $debut, $duree, $libelle, "#{$_commentaire->color}", true, null, $_commentaire->_guid, false); $event->type = "commentaire_planning"; $event->draggable = $event->resizable = CCanDo::edit(); $event->plage["id"] = $_commentaire->_id; if ($can_edit) { $event->addMenuItem("edit", "Modifier ce commentaire"); $event->addMenuItem("copy", "Copier ce commentaire"); $event->addMenuItem("cancel", "Supprimer ce commentaire"); } $planning->addEvent($event); } } // Ajout des plages, OK foreach ($plages_by_salle as $salle_id => $_plages) { $i = array_search($salle_id, $salles_ids); CMbObject::massLoadRefsNotes($_plages); CMbObject::massLoadFwdRef($_plages, "chir_id"); CMbObject::massLoadFwdRef($_plages, "anesth_id");
if (!$listPlage->countList($where)) { $nbDays--; } } $bank_holidays = array_merge(CMbDate::getHolidays($debut), CMbDate::getHolidays($fin)); // Planning Week $planning = new CPlanningWeek($debut, $debut, $fin, $nbDays, false, "auto"); $user = new CMediusers(); $user->load($chirSel); if ($user->_id) { $user->loadRefFunction(); $planning->title = CMbString::htmlEntities($user->_view); } else { $planning->title = ""; } $can_edit = CCanDo::edit(); $planning->guid = $user->_guid; $planning->hour_min = "07"; $planning->hour_max = "20"; $planning->pauses = array("07", "12", "19"); $planning->dragndrop = $planning->resizable = $can_edit ? 1 : 0; $planning->hour_divider = 60 / CAppUI::conf("dPcabinet CPlageconsult minutes_interval"); $planning->no_dates = 0; $plage = new CPlageconsult(); $whereHP["plageop_id"] = " IS NULL"; $users = array(); $conges_day = array(); if ($user->_id) { $muser = new CMediusers(); $users = $muser->loadUsers(PERM_READ, $user->function_id); }
*/ CCanDo::checkRead(); $user = CUser::get(); $fiche_ei_id = CValue::getOrSession("fiche_ei_id", null); $ficheAnnuleVisible = CValue::getOrSession("ficheAnnuleVisible", 0); $ficheTermineVisible = CValue::getOrSession("ficheTermineVisible", 0); $selected_user_id = CValue::getOrSession("selected_user_id"); $selected_service_valid_user_id = CValue::getOrSession("selected_service_valid_user_id"); $elem_concerne = CValue::getOrSession("elem_concerne"); $evenements = CValue::getOrSession("evenements"); $filter_item = CValue::getOrSession("filter_item"); $catFiche = array(); $fiche = new CFicheEi(); $droitFiche = !$fiche->load($fiche_ei_id); $droitFiche = $droitFiche || !CCanDo::edit() && $fiche->user_id != $user->_id; $droitFiche = $droitFiche || CCanDo::edit() && !CCanDo::admin() && $fiche->user_id != $user->_id && $fiche->service_valid_user_id != $user->_id; // Liste des Catégories d'EI $categorie = new CEiCategorie(); /** @var CEiCategorie[] $listCategories */ $listCategories = $categorie->loadList(null, "nom"); if ($droitFiche) { // Cette fiche n'est pas valide $fiche_ei_id = null; CValue::setSession("fiche_ei_id"); $fiche = new CFicheEi(); } else { $fiche->loadRefsFwd(); $fiche->loadRefItems(); foreach ($listCategories as $keyCat => $_categorie) { foreach ($fiche->_ref_items as $keyItem => $_item) { if ($_item->ei_categorie_id == $keyCat) {
* $Id: vw_idx_pathologies.php 20186 2013-08-19 07:47:12Z phenxdesign $ * * @package Mediboard * @subpackage Hospi * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision: 20186 $ */ CAppUI::requireModuleFile("dPhospi", "inc_vw_affectations"); $affichage_patho = CValue::postOrSession("affichage_patho", "non_complet"); $date = CValue::getOrSession("date", CMbDT::date()); $pathos = new CDiscipline(); $heureLimit = "16:00:00"; // Liste des patients à placer $groupSejourNonAffectes = array(); if (CCanDo::edit()) { // Admissions de la veille $dayBefore = CMbDT::date("-1 days", $date); $where = array("entree_prevue" => "BETWEEN '{$dayBefore} 00:00:00' AND '{$date} 00:00:00'", "type" => "!= 'exte'", "annule" => "= '0'"); $groupSejourNonAffectes["veille"] = loadSejourNonAffectes($where); // Admissions du matin $where = array("entree_prevue" => "BETWEEN '{$date} 00:00:00' AND '{$date} " . CMbDT::time("-1 second", $heureLimit) . "'", "type" => "!= 'exte'", "annule" => "= '0'"); $groupSejourNonAffectes["matin"] = loadSejourNonAffectes($where); // Admissions du soir $where = array("entree_prevue" => "BETWEEN '{$date} {$heureLimit}' AND '{$date} 23:59:59'", "type" => "!= 'exte'", "annule" => "= '0'"); $groupSejourNonAffectes["soir"] = loadSejourNonAffectes($where); // Admissions antérieures $twoDaysBefore = CMbDT::date("-2 days", $date); $where = array("annule" => "= '0'", "'{$twoDaysBefore}' BETWEEN entree_prevue AND sortie_prevue"); $groupSejourNonAffectes["avant"] = loadSejourNonAffectes($where); }