Esempio n. 1
0
$function = new CFunctions();
$functions = array();
$praticiens = array();
// Aucun filtre de séléctionné : tous les éléments auxquels on a le droit
if (!$filter->_specialite && !$filter->_prat_id) {
    if (!$user->isFromType(array("Anesthésiste")) && !$praticien->isFromType(array("Anesthésiste"))) {
        $functions = $function->loadListWithPerms(PERM_READ);
        $praticiens = $user->loadPraticiens();
    } else {
        $functions = $function->loadList();
        $praticiens = $praticien->loadList();
    }
} elseif ($filter->_specialite) {
    // Filtre sur la specialité : la spec et ses chirs primaires et secondaires
    $function->load($filter->_specialite);
    $function->loadBackRefs("users");
    $function->loadBackRefs("secondary_functions");
    $functions[$function->_id] = $function;
    $praticiens = $function->_back["users"];
    /** @var CSecondaryFunction $sec_func */
    foreach ($function->_back["secondary_functions"] as $sec_func) {
        if (!isset($praticiens[$sec_func->user_id])) {
            $sec_func->loadRefUser();
            $praticiens[$sec_func->user_id] = $sec_func->_ref_user;
        }
    }
} elseif ($filter->_prat_id) {
    // Filtre sur le chir : le chir et ses specs primaires et secondaires
    $praticien->loadRefFunction();
    $praticien->loadBackRefs("secondary_functions");
    $praticiens[$praticien->_id] = $praticien;
Esempio n. 2
0
 * @author   SARL OpenXtrem <*****@*****.**>
 * @license  GNU General Public License, see http://www.gnu.org/licenses/gpl.html 
 * @version  SVN: $Id:\$ 
 * @link     http://www.mediboard.org
 */
CCanDo::checkRead();
$function_id = CValue::getOrSession("function_id");
$page_function = intval(CValue::get('page_function', 0));
$step_sec_function = 25;
$primary_users = array();
$total_sec_functions = null;
$function = new CFunctions();
$function->load($function_id);
$total_sec_functions = $function->countBackRefs("users");
/** @var CMediusers[] $primary_users */
$primary_users = $function->loadBackRefs("users", null, "{$page_function}, {$step_sec_function}");
CStoredObject::massLoadFwdRef($primary_users, "_profile_id");
foreach ($primary_users as $_mediuser) {
    $_mediuser->loadRefProfile();
}
/** @var CSecondaryFunction[] $secondaries_functions */
$secondaries_functions = $function->loadBackRefs("secondary_functions");
$users = CMbObject::massLoadFwdRef($secondaries_functions, "user_id");
CStoredObject::massLoadFwdRef($users, "_profile_id");
foreach ($secondaries_functions as $_sec_function) {
    $_sec_function->loadRefUser();
    $_sec_function->_ref_user->loadRefProfile();
}
$smarty = new CSmartyDP();
$smarty->assign("function", $function);
$smarty->assign("primary_users", $primary_users);