$where = array(); $where["date_debut"] = "<= '{$sunday}'"; $where["date_fin"] = ">= '{$monday}'"; $order = "date_debut DESC, date_fin DESC"; /** @var CPlageConge[] $plages_conge */ $plages_conge = $plage_conge->loadList($where, $order); // Début et fin d'activite foreach (CEvenementSSR::getActiveTherapeutes($monday, $sunday) as $_therapeute) { // Pseudo plage de début if (($deb = $_therapeute->deb_activite) && $deb >= $monday) { $plage = CPlageConge::makePseudoPlage($_therapeute->_id, "deb", $monday); $plages_conge[$plage->_id] = $plage; } // Pseudo plage de fin if (($fin = $_therapeute->fin_activite) && $fin <= $sunday) { $plage = CPlageConge::makePseudoPlage($_therapeute->_id, "fin", $sunday); $plages_conge[$plage->_id] = $plage; } } /** @var CSejour[] $sejours */ $sejours = array(); $_sejours = array(); $count_evts = array(); $sejours_count = 0; // Pour chaque plage de conge, recherche foreach ($plages_conge as $_plage_conge) { $kine = $_plage_conge->loadRefUser(); $_sejours = array(); $date_min = max($monday, $_plage_conge->date_debut); $date_max = CMbDT::date("+1 DAY", min($sunday, $_plage_conge->date_fin)); // Cas des remplacements kinés
*/ $sejour_id = CValue::post("sejour_id"); $conge_id = CValue::post("conge_id"); $replacer_id = CValue::post("replacer_id"); // Standard plage $conge = new CPlageConge(); $conge->load($conge_id); // Week dates $date = CValue::getOrSession("date", CMbDT::date()); $monday = CMbDT::date("last monday", CMbDT::date("+1 DAY", $date)); $sunday = CMbDT::date("next sunday", CMbDT::date("-1 DAY", $date)); // Pseudo plage for user activity if (preg_match("/[deb|fin][\\W][\\d]+/", $conge_id)) { list($activite, $user_id) = explode("-", $conge_id); $limit = $activite == "deb" ? $monday : $sunday; $conge = CPlageConge::makePseudoPlage($user_id, $activite, $limit); } // Events to be transfered $evenement = new CEvenementSSR(); $where = array(); $date_min = max($monday, $conge->date_debut); $date_max = CMbDT::date("+1 DAY", min($sunday, $conge->date_fin)); $where["therapeute_id"] = " = '{$conge->user_id}'"; $where["sejour_id"] = " = '{$sejour_id}'"; $where["debut"] = " BETWEEN '{$date_min}' AND '{$date_max}'"; /** @var CEvenementSSR[] $evenements */ $evenements = $evenement->loadList($where); foreach ($evenements as $_evenement) { $_evenement->therapeute_id = $replacer_id; $msg = $_evenement->store(); CAppUI::displayMsg($msg, "CEvenementSSR-msg-modify");