<?php /* $Id: $ */ /** * @package Mediboard * @subpackage sante400 * @version $Revision: $ * @author SARL OpenXtrem * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html */ CCanDo::checkRead(); $canSante400 = CModule::getCanDo("dPsante400"); $idex = new CIdSante400(); $idex->load(CValue::get("idex_id")); $idex->loadRefs(); // Chargement du filtre $filter = new CIdSante400(); $filter->object_id = CValue::get("object_id"); $filter->object_class = CValue::get("object_class"); $filter->tag = CValue::get("tag"); $filter->id400 = CValue::get("id400"); $filter->nullifyEmptyFields(); $filter->last_update = CValue::first($idex->last_update, CMbDT::dateTime()); // Rester sur le même filtre en mode dialogue $dialog = CValue::get("dialog"); if ($dialog && $idex->_id) { $filter->object_class = $idex->object_class; $filter->object_id = $idex->object_id; } // Récupération de la liste des classes disponibles if ($filter->object_class && $filter->object_id) {
/** * Trigger when merge failed * * @param CMbObject $mbObject Object * * @return bool */ function onMergeFailure(CMbObject $mbObject) { if (!$this->isHandled($mbObject)) { return false; } // On va réatribuer les idexs en cas de problème dans la fusion foreach ($mbObject->_fusion as $group_id => $infos_fus) { if (!$infos_fus || !array_key_exists("idexs_changed", $infos_fus)) { return false; } foreach ($infos_fus["idexs_changed"] as $idex_id => $tag_name) { $idex = new CIdSante400(); $idex->load($idex_id); if (!$idex->_id) { continue; } // Réattribution sur l'objet non supprimé $sejour_elimine = $infos_fus["sejourElimine"]; $idex->object_id = $sejour_elimine->_id; $idex->tag = $tag_name; $idex->last_update = CMbDT::dateTime(); $idex->store(); } } }
* @package Mediboard * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version SVN: $Id:$ * @link http://www.mediboard.org */ CApp::setTimeLimit(240); CApp::setMemoryLimit("512M"); CCanDo::checkAdmin(); $d1_id = CValue::request("domain_1_id"); $d2_id = CValue::request("domain_2_id"); $idex_ids = CValue::request("idex_ids", array()); /* Traitement prélable pour passer en "trash" les idexs en erreurs */ foreach ($idex_ids as $_idex => $idex_id) { $idex = new CIdSante400(); $idex->load($idex_id); $idex->tag = "trash_{$idex->tag}"; $idex->store(); } /* checkMerge */ $domains_id = array($d1_id, $d2_id); $domains = array(); $checkMerge = array(); if (count($domains_id) != 2) { $checkMerge[] = CAppUI::tr("mergeTooFewObjects"); } foreach ($domains_id as $domain_id) { $domain = new CDomain(); // the CMbObject is loaded if (!$domain->load($domain_id)) { CAppUI::setMsg("Chargement impossible de l'objet [{$domain_id}]", UI_MSG_ERROR);