function publicAdminManager_assign_tree($adminidst)
{
    checkPerm('view');
    if ($adminidst == 0) {
        return;
    }
    require_once _base_ . '/lib/lib.form.php';
    require_once _base_ . '/lib/lib.userselector.php';
    require_once $GLOBALS['where_framework'] . '/lib/lib.publicadminmanager.php';
    $directory = new UserSelector();
    $lang =& DoceboLanguage::createInstance('adminrules', 'framework');
    $lang =& DoceboLanguage::createInstance('public_admin_manager', 'framework');
    $aclManager = new DoceboACLManager();
    $adminManager = new PublicAdminManager();
    if (isset($_POST['okselector'])) {
        $arr_selected = $directory->getSelection($_POST);
        $arr_unselected = $directory->getUnselected();
        foreach ($arr_unselected as $idstTree) {
            $adminManager->removeAdminTree($idstTree, $adminidst);
        }
        foreach ($arr_selected as $idstTree) {
            $adminManager->addAdminTree($idstTree, $adminidst);
        }
        Util::jump_to('index.php?modname=public_admin_manager&op=view');
    } elseif (isset($_POST['cancelselector'])) {
        Util::jump_to('index.php?modname=public_admin_manager&op=view');
    } else {
        if (!isset($_GET['stayon'])) {
            $directory->resetSelection($adminManager->getAdminTree($adminidst));
        }
        $admin_info = $aclManager->getUser($adminidst, false);
        $directory->show_user_selector = FALSE;
        $directory->show_group_selector = TRUE;
        $directory->show_orgchart_selector = TRUE;
        $directory->show_orgchart_simple_selector = TRUE;
        $directory->multi_choice = TRUE;
        $directory->loadSelector('index.php?modname=public_admin_manager&amp;op=assign_tree&amp;adminidst=' . $adminidst . '&amp;stayon=1', $lang->def('_ASSIGN_USERS', 'adminrules'), '<span class="text_bold">' . substr($admin_info[ACL_INFO_USERID], 1) . '</span>', TRUE);
    }
}
Exemple #2
0
function setRoomViewPerm()
{
    checkPerm('view');
    $id_event = importVar('id_event', true, 0);
    require_once $GLOBALS['where_lms'] . '/lib/lib.reservation_perm.php';
    require_once _base_ . '/lib/lib.userselector.php';
    $mdir = new UserSelector();
    $out =& $GLOBALS["page"];
    $out->setWorkingZone("content");
    $lang =& DoceboLanguage::createInstance('reservation', 'lms');
    $roomperm = new ReservationRoomPermissions();
    //$res = getTitleArea($lang->def('_RESERVATION_TITLE'), 'reservation');
    $back_url = 'index.php?modname=reservation&amp;op=reservation&amp;active_tab=subscribed_user';
    if (isset($_POST['okselector'])) {
        $arr_selection = $mdir->getSelection($_POST);
        $arr_unselected = $mdir->getUnselected();
        $roomperm->addReservationPerm("view", $id_event, $arr_selection);
        $roomperm->removeReservationPerm("view", $id_event, $arr_unselected);
        Util::jump_to(str_replace("&amp;", "&", $back_url));
    } else {
        if (isset($_POST['cancelselector'])) {
            Util::jump_to(str_replace("&amp;", "&", $back_url));
        } else {
            if (!isset($_GET['stayon'])) {
                $all_perm = $roomperm->getAllReservationPerm($id_event);
                if (isset($all_perm["view"])) {
                    $mdir->resetSelection($all_perm["view"]);
                }
            }
            $acl_manager =& Docebo::user()->getAclManager();
            $url = 'index.php?modname=reservation&amp;op=set_room_view_perm&amp;id_event=' . $id_event;
            $mdir->setNFields(0);
            $mdir->show_group_selector = TRUE;
            $mdir->show_orgchart_selector = FALSE;
            $arr_idstGroup = $acl_manager->getGroupsIdstFromBasePath('/lms/course/' . (int) $_SESSION['idCourse'] . '/subscribed/');
            $me = array(getLogUserId());
            $mdir->setUserFilter('exclude', $me);
            $mdir->setUserFilter('group', $arr_idstGroup);
            $mdir->setGroupFilter('path', '/lms/course/' . $_SESSION['idCourse'] . '/group');
            $mdir->loadSelector($url, $lang->def('_VIEW_PERMISSION'), "", TRUE);
        }
    }
}