if (isset($_POST['remove'])) { $userGroupPrivilegeDAO = new UserGroupPrivilegeDAO(); if (is_array($_POST['del_privileges_id'])) { foreach ($_POST['del_privileges_id'] as $del_priv_id) { $userGroupPrivilegeDAO->Delete($id, $del_priv_id); } } } } } // interface display if (!isset($id)) { // create user group $privilegesDAO = new PrivilegesDAO(); $savant->assign('privs_to_add_rows', $privilegesDAO->getAll()); } else { // edit existing user group $privilegesDAO = new PrivilegesDAO(); $privs_rows = $privilegesDAO->getUserGroupPrivileges($id); // get privs that are not in user group $privs = array(); if (is_array($privs_rows)) { foreach ($privs_rows as $priv_row) { $privs[] .= $priv_row['privilege_id']; } } $savant->assign('user_group_row', $userGroupsDAO->getUserGroupByID($id)); $savant->assign('privs_rows', $privs_rows); $savant->assign('privs_to_add_rows', $privilegesDAO->getAllPrivsExceptListed($privs)); } $savant->display('user/user_group_create_edit.tmpl.php');
/** * Set top pages array based on login user's priviledge. If there's no login user, use priviledges that are open to public. * @access private * @param none * @return true * @author Cindy Qi Li */ private function setTopPages() { global $_base_path; $priviledgesDAO = new PrivilegesDAO(); if (isset($_SESSION['user_id']) && $_SESSION['user_id'] != 0) { $rows = $priviledgesDAO->getUserPrivileges($_SESSION['user_id']); } else { $rows = $priviledgesDAO->getPublicPrivileges(); } if (is_array($rows)) { foreach ($rows as $id => $row) { $this->pages[AC_NAV_TOP][] = array('url' => $_base_path . $row['link'], 'title' => _AC($row['title_var'])); // add section pages if it has not been defined in $this->pages if (!isset($this->pages[$row['link']])) { $this->pages = array_merge($this->pages, array($row['link'] => array('title_var' => $row['title_var'], 'parent' => AC_NAV_TOP))); } } } return true; }
/** * Set top pages array based on login user's priviledge. If there's no login user, use priviledges that are open to public. * @access private * @param none * @return true * @author Cindy Qi Li */ private function setTopPages() { global $_base_path, $_course_id, $_content_id; $priviledgesDAO = new PrivilegesDAO(); if (isset($_SESSION['user_id']) && $_SESSION['user_id'] != 0) { $rows = $priviledgesDAO->getUserPrivileges($_SESSION['user_id']); } else { $rows = $priviledgesDAO->getPublicPrivileges(); } if (is_array($rows)) { foreach ($rows as $id => $row) { // replace the required constants in link $row['link'] = Utility::replaceConstants($row['link']); list($url, $param) = Utility::separateURLAndParam($row['link']); if (Utility::authenticate($row['user_requirement'], false)) { $this->pages[TR_NAV_TOP][] = array('url' => $_base_path . $row['link'], 'title' => _AT($row['title_var']), 'param' => $param); } // add section pages if it has not been defined in $this->pages if (!isset($this->pages[$url])) { $this->pages = array_merge($this->pages, array($url => array('title_var' => $row['title_var'], 'parent' => TR_NAV_TOP, 'param' => $param))); } else { $this->pages[$url]['param'] = $param; } } } return true; }
define('TR_PRIV_USER_MANAGEMENT', 4); define('TR_PRIV_LANGUAGE_MANAGEMENT', 5); define('TR_PRIV_TRANSLATION', 6); define('TR_PRIV_UPDATER', 7); define('TR_PRIV_MANAGE_TESTS', 8); define('TR_PRIV_FILE_MANAGER', 9); define('TR_PRIV_PROFILE', 10); /* constants used for menu item generation. Used in class Menu (include/classes/Menu.class.php) */ define('TR_NAV_PUBLIC', 'TR_NAV_PUBLIC'); // public menus, when no user login define('TR_NAV_TOP', 'TR_NAV_TOP'); // top tab menus global $_current_user; include_once 'classes/Utility.class.php'; include_once 'classes/DAO/PrivilegesDAO.class.php'; $priviledgesDAO = new PrivilegesDAO(); if (isset($_SESSION['user_id']) && $_SESSION['user_id'] != 0) { $rows = $priviledgesDAO->getUserPrivileges($_SESSION['user_id']); } else { $rows = $priviledgesDAO->getPublicPrivileges(); } foreach ($rows as $row) { $privs[$row['privilege_id']] = $row['user_requirement']; } /* initialize pages accessed by public */ //$_pages[TR_NAV_PUBLIC] = array('index.php' => array('parent'=>TR_NAV_PUBLIC)); /* define all accessible pages */ // 1. public pages $_pages['register.php']['title_var'] = 'registration'; $_pages['register.php']['parent'] = TR_NAV_PUBLIC; $_pages['register.php']['guide'] = 'TR_HELP_REGISTRATION';