/** * 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_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'; $_pages['confirm.php']['title_var'] = 'confirm'; $_pages['confirm.php']['parent'] = TR_NAV_PUBLIC; $_pages['login.php']['title_var'] = 'login'; $_pages['login.php']['parent'] = TR_NAV_PUBLIC;