Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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_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';
$_pages['confirm.php']['title_var'] = 'confirm';
$_pages['confirm.php']['parent'] = TR_NAV_PUBLIC;