protected static function _getAllConfigs($class, $key, $value) { // Chargement des etablissements $group = new CGroups(); /** @var CGroups[] $groups */ $groups = $group->loadList(); // Chargement des services $service = new CService(); $services = $service->loadList(); // Chargement de toutes les configs /** @var self $config */ $config = new $class(); /** @var self[] $all_configs */ $all_configs = $config->loadList(); if ($all_configs == null) { return null; } /** @var self[] $configs_default */ // Creation du tableau de valeur par defaut (quelque soit l'etablissement) foreach ($all_configs as $_config) { if (!$_config->service_id && !$_config->group_id) { $configs_default[$_config->{$key}] = $_config; } else { if ($_config->service_id) { $configs_service[$_config->service_id][$_config->{$key}] = $_config->{$value}; } else { $configs_group[$_config->group_id][$_config->{$key}] = $_config->{$value}; } } } $configs = array(); // Parcours des etablissements foreach ($groups as $group_id => $group) { $group->loadRefsServices(); // Parcours des services foreach ($group->_ref_services as $service_id => $_service) { foreach ($configs_default as $_config_default) { $configs[$group_id][$service_id][$_config_default->{$key}] = $_config_default->{$value}; if (isset($configs_group[$group_id][$_config_default->{$key}])) { $configs[$group_id][$service_id][$_config_default->{$key}] = $configs_group[$group_id][$_config_default->{$key}]; } if (isset($configs_service[$service_id][$_config_default->{$key}])) { $configs[$group_id][$service_id][$_config_default->{$key}] = $configs_service[$service_id][$_config_default->{$key}]; } } } // Si aucun service foreach ($configs_default as $_config_default) { if (isset($configs_group[$group_id][$_config_default->{$key}])) { $configs[$group_id]["none"][$_config_default->{$key}] = $configs_group[$group_id][$_config_default->{$key}]; } else { $configs[$group_id]["none"][$_config_default->{$key}] = $_config_default->{$value}; } } } return $configs; }
*/ $services_ids = CValue::getOrSession("services_ids", array()); $services_ids_suggest = CValue::get("services_ids_suggest", null); $view = CValue::get("view"); $ajax_request = CValue::get("ajax_request", 1); if (!is_array($services_ids_suggest) && !is_null($services_ids_suggest)) { $services_ids = explode(",", $services_ids_suggest); } $group_id = CGroups::loadCurrent()->_id; $where = array(); $where["group_id"] = "= '{$group_id}'"; $where["cancelled"] = "= '0'"; $where["secteur_id"] = "IS NULL"; $order = "externe, nom"; $service = new CService(); $all_services = $service->loadList($where, $order); unset($where["secteur_id"]); $services_allowed = $service->loadListWithPerms(PERM_READ, $where, $order); $where = array(); $where["group_id"] = "= '{$group_id}'"; $secteur = new CSecteur(); $secteurs = $secteur->loadList($where, "nom"); foreach ($secteurs as $_secteur) { $_secteur->loadRefsServices(); $keys2 = array_keys($_secteur->_ref_services); $_secteur->_all_checked = count($_secteur->_ref_services) > 0 ? array_values(array_intersect($services_ids, $keys2)) == $keys2 : false; } $services_ids_hospi = CAppUI::pref("services_ids_hospi"); if (!$services_ids_hospi) { $services_ids_hospi = "{}"; }
<?php /** * $Id$ * * @category Admissions * @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ * @link http://www.mediboard.org */ CCanDo::checkRead(); // Chargement du séjour s'il y en a un $sejour = new CSejour(); $sejour->load(CValue::get("sejour_id")); $service_id = $sejour->service_sortie_id; $service = new CService(); $service->load($service_id); // Chargement des services $order = "nom"; $services = $service->loadList(null, $order); // Création du template $smarty = new CSmartyDP(); $smarty->assign("service", $service); $smarty->assign("services", $services); $smarty->display("inc_vw_services.tpl");