Пример #1
0
function subscribe()
{
    checkPerm('subscribe');
    require_once _base_ . '/lib/lib.userselector.php';
    $lang =& DoceboLanguage::createInstance('groups', 'lms');
    $out =& $GLOBALS['page'];
    $id_group = importVar('id_group', true, 0);
    $acl_man = new DoceboACLManager();
    $user_select = new UserSelector();
    $user_select->show_user_selector = TRUE;
    $user_select->show_group_selector = FALSE;
    $user_select->show_orgchart_selector = FALSE;
    $user_select->show_fncrole_selector = FALSE;
    $user_select->learning_filter = 'course';
    $user_select->nFields = 0;
    if (isset($_GET['load'])) {
        $users = $acl_man->getGroupUMembers($id_group);
        $user_select->resetSelection($users);
    }
    $arr_idstGroup = $acl_man->getGroupsIdstFromBasePath('/lms/course/' . (int) $_SESSION['idCourse'] . '/subscribed/');
    $user_select->setUserFilter('group', $arr_idstGroup);
    $user_select->setPageTitle(getTitleArea(array('index.php?modname=groups&op=groups' => $lang->def('_GROUPS'), $lang->def('_SUBSCRIBE_USER')), 'groups'));
    $user_select->loadSelector('index.php?modname=groups&op=subscribe&id_group=' . $id_group, false, $lang->def('_MANAGE_GROUP_SUBSCRIPTION'), true);
}
Пример #2
0
 function addRegistration()
 {
     checkPerm('mod');
     require_once $GLOBALS['where_lms'] . '/lib/lib.course.php';
     require_once _base_ . '/lib/lib.form.php';
     require_once _base_ . '/lib/lib.userselector.php';
     $id_course = $_SESSION['idCourse'];
     $id_event = importVar('id_event', true, 0);
     $man_res = new Man_Reservation();
     $aclManager = new DoceboACLManager();
     $subscribed = array();
     $subscribed = $man_res->getSubscribedUserIdst($id_event);
     $subscribed_empty = array();
     $lang =& DoceboLanguage::CreateInstance('reservation');
     $out =& $GLOBALS['page'];
     $user_select = new UserSelector();
     $user_select->show_user_selector = TRUE;
     $user_select->show_group_selector = FALSE;
     $user_select->show_orgchart_selector = FALSE;
     $user_select->show_orgchart_simple_selector = FALSE;
     $user_select->show_fncrole_selector = FALSE;
     $user_select->learning_filter = 'course';
     $user_select->nFields = 3;
     if ($subscribed) {
         $user_select->resetSelection($subscribed);
     } else {
         $user_select->resetSelection($subscribed_empty);
     }
     $acl_man =& Docebo::user()->getAclManager();
     $arr_idstGroup = $aclManager->getGroupsIdstFromBasePath('/lms/course/' . (int) $_SESSION['idCourse'] . '/subscribed/');
     $me = array(getLogUserId());
     $user_select->setUserFilter('group', $arr_idstGroup);
     $user_select->setGroupFilter('path', '/lms/course/' . $_SESSION['idCourse'] . '/group');
     $user_select->loadSelector('index.php?modname=reservation&op=add_registration&id_course=' . $id_course . '&id_event=' . $id_event, $lang->def('_SUBSCRIBE_EVENT'), $lang->def('_CHOOSE_SUBSCRIBE'), true);
 }
Пример #3
0
function modforumaccess()
{
    checkPerm('mod');
    require_once _base_ . '/lib/lib.userselector.php';
    $lang =& DoceboLanguage::createInstance('forum', 'lms');
    $out =& $GLOBALS['page'];
    $id_forum = importVar('idForum', true, 0);
    $aclManager = new DoceboACLManager();
    $user_select = new UserSelector();
    $user_select->show_user_selector = TRUE;
    $user_select->show_group_selector = TRUE;
    $user_select->show_orgchart_selector = FALSE;
    $user_select->show_fncrole_selector = FALSE;
    $user_select->learning_filter = 'course';
    $user_select->nFields = 0;
    if (isset($_POST['cancelselector'])) {
        Util::jump_to('index.php?modname=forum&op=forum');
    }
    if (isset($_POST['okselector'])) {
        $user_selected = $user_select->getSelection($_POST);
        $query_reader = "\r\n\t\tSELECT idMember\r\n\t\tFROM " . $GLOBALS['prefix_lms'] . "_forum_access\r\n\t\tWHERE idForum = '" . $id_forum . "'";
        $re_reader = sql_query($query_reader);
        $old_users = array();
        while (list($id_user) = sql_fetch_row($re_reader)) {
            $old_users[] = $id_user;
        }
        $add_reader = array_diff($user_selected, $old_users);
        $del_reader = array_diff($old_users, $user_selected);
        if (is_array($add_reader)) {
            while (list(, $idst) = each($add_reader)) {
                $query_insert = "\r\n\t\t\t\tINSERT INTO " . $GLOBALS['prefix_lms'] . "_forum_access\r\n\t\t\t\t( idForum, idMember ) VALUES\r\n\t\t\t\t( \t'" . $id_forum . "',\r\n\t\t\t\t\t'" . $idst . "' )";
                sql_query($query_insert);
            }
        }
        if (is_array($del_reader)) {
            while (list(, $idst) = each($del_reader)) {
                $query_delete = "\r\n\t\t\t\tDELETE FROM " . $GLOBALS['prefix_lms'] . "_forum_access\r\n\t\t\t\tWHERE idForum = '" . $id_forum . "' AND idMember = '" . $idst . "'";
                sql_query($query_delete);
            }
        }
        Util::jump_to('index.php?modname=forum&op=forum&result=ok');
    }
    if (isset($_GET['load'])) {
        $query_reader = "\r\n\t\tSELECT idMember\r\n\t\tFROM " . $GLOBALS['prefix_lms'] . "_forum_access\r\n\t\tWHERE idForum = '" . $id_forum . "'";
        $re_reader = sql_query($query_reader);
        $users = array();
        while (list($id_user) = sql_fetch_row($re_reader)) {
            $users[$id_user] = $id_user;
        }
        $user_select->resetSelection($users);
    }
    $query_forum_name = "SELECT f.title\r\n\tFROM " . $GLOBALS['prefix_lms'] . "_forum AS f\r\n\tWHERE f.idCourse = " . (int) $_SESSION['idCourse'] . "\r\n\t\tAND f.idForum = " . (int) $id_forum . " ";
    $row = sql_fetch_row(sql_query($query_forum_name));
    $forum_name = $row[0];
    $arr_idstGroup = $aclManager->getGroupsIdstFromBasePath('/lms/course/' . (int) $_SESSION['idCourse'] . '/subscribed/');
    $user_select->setUserFilter('group', $arr_idstGroup);
    $user_select->setGroupFilter('path', '/lms/course/' . $_SESSION['idCourse'] . '/group');
    cout(getTitleArea(array('index.php?modname=forum&amp;op=forum' => $lang->def('_FORUM'), $lang->def('_FORUM_ACCESS') . ' "' . $forum_name . '" ' . $lang->def('_TO') . ''), 'forum') . '<div class="std_block">', 'content');
    $user_select->loadSelector('index.php?modname=forum&amp;op=modforumaccess&amp;idForum=' . $id_forum, '', $lang->def('_CHOOSE_FORUM_ACCESS'), true);
    cout('</div>', 'content');
}
Пример #4
0
function modreader()
{
    checkPerm('mod');
    require_once _base_ . '/lib/lib.userselector.php';
    $lang =& DoceboLanguage::createInstance('advice', 'lms');
    $out =& $GLOBALS['page'];
    $id_advice = importVar('id_advice', true, 0);
    $aclManager = new DoceboACLManager();
    $user_select = new UserSelector();
    $user_select->show_user_selector = TRUE;
    $user_select->show_group_selector = TRUE;
    $user_select->show_orgchart_selector = FALSE;
    $user_select->show_fncrole_selector = FALSE;
    $user_select->nFields = 0;
    $user_select->learning_filter = 'course';
    if (isset($_GET['load'])) {
        $query_reader = "\r\n\t\t\tSELECT idUser\r\n\t\t\tFROM " . $GLOBALS['prefix_lms'] . "_adviceuser\r\n\t\t\tWHERE idAdvice = '" . $id_advice . "'";
        $re_reader = sql_query($query_reader);
        $users = array();
        $all_reader = false;
        while (list($id_user) = sql_fetch_row($re_reader)) {
            if ($id_user == 'all') {
                $all_reader = true;
            }
            $users[] = $id_user;
        }
        if ($all_reader == true) {
            $query_reader = "\r\n\t\t\t\tSELECT idUser\r\n\t\t\t\tFROM " . $GLOBALS['prefix_lms'] . "_courseuser\r\n\t\t\t\tWHERE idCourse = '" . $_SESSION['idCourse'] . "'";
            $re_reader = sql_query($query_reader);
            $users = array();
            while (list($id_user) = sql_fetch_row($re_reader)) {
                $users[] = $id_user;
            }
        }
        $user_select->resetSelection($users);
    }
    $arr_idstGroup = $aclManager->getGroupsIdstFromBasePath('/lms/course/' . (int) $_SESSION['idCourse'] . '/subscribed/');
    $me = array(getLogUserId());
    $user_select->setUserFilter('exclude', $me);
    $user_select->setUserFilter('group', $arr_idstGroup);
    $arr_idstUser = $aclManager->getAllUsersFromIdst($arr_idstGroup);
    $user_select->setUserFilter('user', $arr_idstUser);
    //$user_select->setGroupFilter('path', '/lms/course/'.$_SESSION['idCourse'].'/group');
    $user_select->setPageTitle(getTitleArea(array('index.php?modname=advice&amp;op=advice' => $lang->def('_ADVICE'), $lang->def('_VIEW_PERMISSION')), 'advice'));
    $user_select->loadSelector('index.php?modname=advice&amp;op=modreader&amp;id_advice=' . $id_advice, $lang->def('_ADVICE'), $lang->def('_CHOOSE_READER'), true);
}
Пример #5
0
function manprjadmin()
{
    checkPerm('mod');
    require_once _base_ . '/lib/lib.userselector.php';
    require_once _base_ . '/lib/lib.form.php';
    $out =& $GLOBALS['page'];
    $out->setWorkingZone('content');
    $lang =& DoceboLanguage::createInstance('project', "lms");
    $from = new Form();
    if (!isset($_GET["id"]) || $_GET["id"] < 1) {
        return 0;
    }
    $id = $_GET["id"];
    $myprj = user_projects(Docebo::user()->getIdSt());
    $view_perm = checkPerm('view', true);
    if ($view_perm && in_array($id, $myprj) && is_owner(Docebo::user()->getIdSt(), $id)) {
        $aclManager = new DoceboACLManager();
        $user_select = new UserSelector();
        $user_select->show_user_selector = TRUE;
        $user_select->show_group_selector = FALSE;
        $user_select->show_orgchart_selector = FALSE;
        $user_select->show_fncrole_selector = FALSE;
        $user_select->learning_filter = 'course';
        if (isset($_POST['recipients'])) {
            $recipients = unserialize(urldecode($_POST['recipients']));
        } else {
            $recipients = getAdminList($id);
        }
        $user_select->resetSelection($recipients);
        $back_url = "index.php?modname=project&amp;op=project";
        if (isset($_POST["cancelselector"])) {
            Util::jump_to(str_replace("&amp;", "&", $back_url));
        } else {
            if (isset($_POST["okselector"])) {
                $arr_selection = $user_select->getSelection($_POST);
                //$arr_unselected=$user_select->getUnselected();
                foreach ($arr_unselected as $userid) {
                    $qtxt = "DELETE FROM " . $GLOBALS["prefix_lms"] . "_prj_users ";
                    $qtxt .= "WHERE pid='" . $id . "' AND flag='1' AND userid='" . $userid . "'";
                    $q = sql_query($qtxt);
                }
                foreach ($arr_selection as $userid) {
                    $qtxt = "INSERT INTO " . $GLOBALS["prefix_lms"] . "_prj_users ";
                    $qtxt .= "(pid,userid,flag) VALUES('" . $id . "','{$userid}','1')";
                    $q = sql_query($qtxt);
                }
                Util::jump_to(str_replace("&amp;", "&", $back_url));
            } else {
                //$user_select->setGroupFilter('path', '/lms/course/'.$_SESSION['idCourse'].'/group');
                $group_all = $aclManager->getGroupST('/lms/course/' . (int) $_SESSION['idCourse'] . '/group/alluser');
                $query = "\r\n\t\t\tSELECT pgroup\r\n\t\t\tFROM " . $GLOBALS["prefix_lms"] . "_prj\r\n\t\t\tWHERE cid='" . $_SESSION["idCourse"] . "'\r\n\t\t\t\tAND id = '" . $id . "'";
                list($group) = mysql_fetch_array(sql_query($query));
                if ($group == $group_all) {
                    $arr_idstGroup = $aclManager->getGroupsIdstFromBasePath('/lms/course/' . (int) $_SESSION['idCourse'] . '/subscribed/');
                    $user_select->setUserFilter('group', $arr_idstGroup);
                } else {
                    $user_select->setUserFilter('group', array($group));
                }
                $user_select->setPageTitle(getTitleArea(array($back_url => $lang->def('_PROJECT_MANAGER'), $lang->def('_PADMINS')), 'project', $lang->def('_PROJECT_MANAGER')));
                $user_select->loadSelector('index.php?modname=project&amp;op=manprjadmin&amp;id=' . $id, false, "", true);
            }
        }
    } else {
        die("You can't access");
    }
}