mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-10 09:19:01 +00:00
87 lines
4 KiB
PHP
87 lines
4 KiB
PHP
<?php
|
|
/**
|
|
* This function is beign used to load info that's needed for the show_sgroup page.
|
|
* check if the person browsing this page is a mod/admin, if not he'll be redirected to an error page.
|
|
* if the $_GET['delete'] var is set and the user executing is an admin, an entry will be deleted out of the support group.
|
|
* A list of users that are member of the group will be returned, which can be used by the template.
|
|
* @author Daan Janssens, mentored by Matthew Lagoe
|
|
*/
|
|
function show_sgroup(){
|
|
global $INGAME_WEBPATH;
|
|
global $WEBPATH;
|
|
//if logged in
|
|
if(WebUsers::isLoggedIn()){
|
|
if(Ticket_User::isMod(unserialize($_SESSION['ticket_user']))){
|
|
if( isset($_GET['id'])){
|
|
//['target_id'] holds the id of the group!
|
|
$result['target_id'] = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);
|
|
|
|
//if the $_GET['delete'] var is set and the user executing is an admin, an entry will be deleted out of the support group.
|
|
if(isset($_GET['delete']) && Ticket_User::isAdmin(unserialize($_SESSION['ticket_user']))){
|
|
$delete_id = filter_var($_GET['delete'], FILTER_SANITIZE_NUMBER_INT);
|
|
$result['delete'] = Support_Group::deleteUserOfSupportGroup( $delete_id, $result['target_id'] );
|
|
header("Cache-Control: max-age=1");
|
|
if (Helpers::check_if_game_client()) {
|
|
header("Location: ".$INGAME_WEBPATH."?page=show_sgroup&id=" . $result['target_id']);
|
|
}else{
|
|
header("Location: ".$WEBPATH."?page=show_sgroup&id=" . $result['target_id']);
|
|
}
|
|
throw new SystemExit();
|
|
|
|
}
|
|
|
|
if(Ticket_User::isAdmin(unserialize($_SESSION['ticket_user']))){
|
|
$result['isAdmin'] = "TRUE";
|
|
}
|
|
|
|
$group = Support_Group::getGroup($result['target_id']);
|
|
$result['groupsname'] = $group->getName();
|
|
$result['groupemail'] = $group->getGroupEmail();
|
|
$result['imap_mailserver'] = $group->getIMAP_MailServer();
|
|
$result['imap_username'] = $group->getIMAP_Username();
|
|
$result['userlist'] = Gui_Elements::make_table(Support_Group::getAllUsersOfSupportGroup($result['target_id']), Array("getTUserId","getPermission","getExternId"), Array("tUserId","permission","externId"));
|
|
$i = 0;
|
|
foreach( $result['userlist'] as $user){
|
|
$webuser = new Webusers($user['externId']);
|
|
$result['userlist'][$i]['name'] = $webuser->getUsername();
|
|
$i++;
|
|
}
|
|
global $INGAME_WEBPATH;
|
|
$result['ingame_webpath'] = $INGAME_WEBPATH;
|
|
$result['teamlist'] = Gui_Elements::make_table(Ticket_User::getModsAndAdmins(), Array("getTUserId","getExternId"), Array("tUserId","externId"));
|
|
$i = 0;
|
|
foreach( $result['teamlist'] as $member){
|
|
$web_teammember = new Webusers($member['externId']);
|
|
if (!In_Support_Group::userExistsInSGroup($member['externId'], $result['target_id'])) {
|
|
$result['users'][$i]['name'] = $web_teammember->getUsername();
|
|
}
|
|
$i++;
|
|
}
|
|
|
|
return $result;
|
|
|
|
|
|
}else{
|
|
|
|
//ERROR: No page specified!
|
|
$_SESSION['error_code'] = "404";
|
|
header("Cache-Control: max-age=1");
|
|
header("Location: ams?page=error");
|
|
throw new SystemExit();
|
|
}
|
|
|
|
}else{
|
|
//ERROR: No access!
|
|
$_SESSION['error_code'] = "403";
|
|
header("Cache-Control: max-age=1");
|
|
header("Location: index.php?page=error");
|
|
throw new SystemExit();
|
|
}
|
|
}else{
|
|
//ERROR: not logged in!
|
|
header("Cache-Control: max-age=1");
|
|
header("Location: index.php");
|
|
throw new SystemExit();
|
|
}
|
|
|
|
}
|