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); }
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); }
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&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&op=modforumaccess&idForum=' . $id_forum, '', $lang->def('_CHOOSE_FORUM_ACCESS'), true); cout('</div>', 'content'); }
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&op=advice' => $lang->def('_ADVICE'), $lang->def('_VIEW_PERMISSION')), 'advice')); $user_select->loadSelector('index.php?modname=advice&op=modreader&id_advice=' . $id_advice, $lang->def('_ADVICE'), $lang->def('_CHOOSE_READER'), true); }
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&op=project"; if (isset($_POST["cancelselector"])) { Util::jump_to(str_replace("&", "&", $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("&", "&", $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&op=manprjadmin&id=' . $id, false, "", true); } } } else { die("You can't access"); } }