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');
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;
     $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 #3
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_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';