. */ define("ROOTPATH", "../"); define("HEADER_AFTER_ROWS", 25); require_once(ROOTPATH . "include/include.php"); require_once(ROOTPATH . "include/classes/AjaxResponse.php"); $layout = new AdminLayout(isset($_REQUEST['ajax'])); $layout->init(); if( !$layout->hasFunction("role_view") && !$layout->hasFunction("role_edit") ) { $layout->noAccess(); }else { if( isset($_REQUEST['ajax']) ) { $response = new AjaxResponse(); if( isset($_POST['value']) && isset($_POST['function']) && preg_match("/^[0-9]+$/", $_POST['function']) && isset($_POST['role']) && preg_match("/^[0-9]+$/", $_POST['role']) ) { if( $_POST['value']=="yes" ) { $query = "INSERT INTO `function_roles` SET `function_id`=".$GLOBALS['sql']->escape($_POST['function']).", `role_id`=".$GLOBALS['sql']->escape($_POST['role']); }else { $query = "DELETE FROM `function_roles` WHERE `function_id`=".$GLOBALS['sql']->escape($_POST['function'])." AND `role_id`=".$GLOBALS['sql']->escape($_POST['role']); } if( $GLOBALS['sql']->query($query) ) { $response->addRefresh("functionRole-".$_POST['function']."-".$_POST['role'], getImage($_POST['value']=="yes", $_POST['function'], $_POST['role'])); }else { $response->addRefresh("feedback", "Failed executing update query"); } }else { $response->addRefresh("feedback", "Invalid request received"); } $response->sendResponse(); }else { $layout->pageHeader(); $editable = $layout->hasFunction("role_edit"); if( isset($_GET['core']) ) { $_SESSION['roles_type'] = "core"; }elseif( isset($_GET['event']) ) { $_SESSION['roles_type'] = "event"; }elseif( !isset($_SESSION['roles_type']) ) { $_SESSION['roles_type'] = "core"; } $layout->echoln(" "); $layout->echoln(""); $allRoles = array(); $query = "SELECT `id`, `name` FROM `roles` WHERE `type`='" . $GLOBALS['sql']->escape($_SESSION['roles_type']) . "' ORDER BY `name`"; if( $GLOBALS['sql']->query($query) && $GLOBALS['sql']->getNumRows()>0 ) { while( $row = $GLOBALS['sql']->fetchAssoc() ) { $allRoles[ $row['id'] ] = $row['name']; } } $allFunctions = array(); $query = "SELECT `id`, `name` FROM `functions` WHERE `type`='" . $GLOBALS['sql']->escape($_SESSION['roles_type']) . "' ORDER BY `name`"; if( $GLOBALS['sql']->query($query) && $GLOBALS['sql']->getNumRows()>0 ) { while( $row = $GLOBALS['sql']->fetchAssoc() ) { $allFunctions[ $row['id'] ] = $row['name']; } } $layout->echoln("
Click on an access icon to change.
"); $functionRole = array(); $query = "SELECT `role_id`, `function_id` FROM `function_roles`"; if( $GLOBALS['sql']->query($query) && $GLOBALS['sql']->getNumRows()>0 ) { while( $row = $GLOBALS['sql']->fetchAssoc() ) { $functionRole[ $row['function_id'] ][ $row['role_id'] ] = true; } } $layout->echoln("| Function | "); foreach( $allRoles as $name ) { $layout->echoln("".$name." | "); } $layout->echoln("
|---|---|
| ".$function_name." | "); foreach( $allRoles as $role_id => $role_name ) { $layout->echoln("".getImage(isset($functionRole[$function_id][$role_id]), $function_id, $role_id)." | "); } $layout->echoln("