} } */ //operation that is needed before loading grafiphs element, menu and so on switch ($GLOBALS['op']) { //login control case "confirm": if ($GLOBALS['modname'] == 'login') { require_once _base_ . '/lib/lib.usermanager.php'; $manager = new UserManager(); $login_data = $manager->getLoginInfo(); $manager->saveUserLoginData(); if ($login_data['userid'] != '') { if (Get::sett('ldap_used') !== 'on') { require_once _base_ . '/lib/lib.acl.php'; $acl = new DoceboACL(); $acl_man =& $acl->getACLManager(); } $GLOBALS['current_user'] =& DoceboUser::createDoceboUserFromLogin($login_data['userid'], $login_data['password'], 'public_area', $login_data['lang']); if ($GLOBALS['current_user'] === FALSE) { $GLOBALS['current_user'] =& DoceboUser::createDoceboUserFromSession('public_area'); $GLOBALS['access_fail'] = true; $GLOBALS['op'] = 'login'; Util::jump_to('../index.php?access_fail=1'); } else { $_SESSION['logged_in'] = true; //loading related ST Docebo::user()->loadUserSectionST('/lms/course/public/'); $pwd_elapsed = Docebo::user()->isPasswordElapsed(); if ($pwd_elapsed > 0) { //$GLOBALS['modname'] = 'profile';
function checkWikiPerm($wiki_id, $perm, $return_res = FALSE) { $res = FALSE; $user =& $GLOBALS['current_user']; $acl = new DoceboACL(); $role_id = "/framework/wiki/" . $wiki_id . "/" . $perm; if ($role_id != "" && $acl->getRoleST($role_id) != FALSE) { $res = $user->matchUserRole($role_id); } if ($return_res) { return $res; } else { if (!$res) { die("You can't access!"); } } }
function checkPublicForumPerm_old($role, $id_forum) { if (checkPerm('mod', true)) { return true; } $res = false; $role_id = ""; $user =& $GLOBALS['current_user']; $acl = new DoceboACL(); $role_id = '/lms/course/public/public_forum/' . $id_forum . '/' . $role; if ($role_id !== "" && $acl->getRoleST($role_id) != false) { $res = $user->matchUserRole($role_id); } return $res; }
function getUserMandatoryFields($id_user) { $acl = new DoceboACL(); $user_groups = $acl->getUserGroupsST($id_user); $output = array(); if (!empty($user_groups)) { $query = "SELECT ft.id_common, ft.translation, ft.type_field, gft.useraccess, fet.user_entry " . " FROM (" . $this->getFieldTable() . " AS ft " . " JOIN " . $this->getGroupFieldsTable() . " AS gft " . " JOIN " . $this->getTypeFieldTable() . " AS ftt " . " ON (ft.id_common = gft.id_field AND ft.lang_code = '" . getLanguage() . "' AND ft.type_field = ftt.type_field)) " . " LEFT JOIN " . $this->getFieldEntryTable() . " AS fet " . " ON (fet.id_common = ft.id_common AND fet.id_user = "******") " . " WHERE gft.idst IN ('" . implode("','", $user_groups) . "') " . " AND gft.mandatory = 1 " . " ORDER BY ft.sequence"; $res = sql_query($query); if ($res) { while ($obj = sql_fetch_object($res)) { $output[$obj->id_common] = array('translation' => $obj->translation, 'type_field' => $obj->type_field, 'useraccess' => $obj->useraccess, 'user_entry' => $obj->user_entry); } } } return $output; }