.
*/
if(!defined("SECURECHECK")) {die($lang['error_file_alone']);}
if($sid===false OR empty($sid) AND $sgid!=3) { echo "";} else {
$error='';
$servergroups=$ts3->getElement('data', $ts3->serverGroupList());
$serverinfo=$ts3->getElement('data', $ts3->serverInfo());
$get_build=explode(' ', $serverinfo['virtualserver_version']);
$get_build=str_replace(']', '', $get_build[2]);
foreach($servergroups AS $value)
{
if($sgid==$value['sgid'])
{
$sgroupname=$value['name'];
}
}
if(isset($_POST['showmyperms']) AND $_POST['showmyperms']==1)
{
$showmyperms=1;
}
else
{
$showmyperms=0;
}
if($showmyperms==1 or !empty($_POST['searchperms']))
{
$display="block";
$disp_pic="minus";
}
else
{
$display="none";
$disp_pic="plus";
}
if (isset($_POST['editall']))
{
$delperms=array();
$editperms=array();
$allpermsedit=$_POST['perm'];
foreach($allpermsedit AS $key => $value)
{
if(isset($_POST['granttoall']) AND isset($value['grant']) AND $value['grant']==1 AND isset($value['available']))
{
if($_POST['granttoall']===0 OR $_POST['granttoall']>0)
{
$value['value']=$_POST['granttoall'];
}
}
if(isset($value['delperm']) AND $value['delperm']==1)
{
$delperms[]=$key;
}
elseif(isset($value['grant']) AND $value['grant']==1 AND !isset($value['available']) AND $value['value']==0)
{
}
elseif(isset($value['available']) OR !isset($value['available']) AND !empty($value['value']) OR !isset($value['available']) AND !empty($value['skip']) OR !isset($value['available']) AND !empty($value['negated']))
{
(!isset($value['value']) or empty($value['value'])) ? $editperms[$key][]='0' : $editperms[$key][]=$value['value'];
(!isset($value['skip']) or empty($value['skip'])) ? $editperms[$key][]='0' : $editperms[$key][]=$value['skip'];
(!isset($value['negated']) or empty($value['negated'])) ? $editperms[$key][]='0' : $editperms[$key][]=$value['negated'];
}
}
$sgrouplist=$ts3->getElement('data', $ts3->serverGroupPermList($sgid));
if(!empty($sgrouplist))
{
foreach($sgrouplist AS $value)
{
foreach($editperms AS $key2=>$value2)
{
if($value['permid']==$key2 AND $value['permvalue']==$value2[0] AND $value['permskip']==$value2[1] AND $value['permnegated']==$value2[2])
{
unset($editperms[$key2]);
}
}
}
}
if(!empty($editperms))
{
$ts3->serverGroupAddPerm($sgid, $editperms);
$debug=$ts3->getDebugLog();
foreach($debug AS $key=>$value)
{
$error.=$value."
";
}
}
if(!empty($delperms))
{
$ts3->serverGroupDeletePerm($sgid, $delperms);
$debug=$ts3->getDebugLog();
foreach($debug AS $key=>$value)
{
$error.=$value."
";
}
}
}
$sgrouplist=$ts3->getElement('data', $ts3->serverGroupPermList($sgid));
$allperms=$ts3->permissionList(true);
if(!empty($allperms))
{
if(!empty($sgrouplist))
{
foreach($sgrouplist AS $key => $value)
{
foreach($allperms AS $key2 => $value2)
{
if(isset($value2['permissions']))
{
foreach($value2['permissions'] AS $key3=>$value3)
{
if($value['permid']==$value3['permid'])
{
$allperms[$key2]['permissions'][$key3]['available']=1;
$allperms[$key2]['permissions'][$key3]['permvalue']=$value['permvalue'];
$allperms[$key2]['permissions'][$key3]['permnegated']=$value['permnegated'];
$allperms[$key2]['permissions'][$key3]['permskip']=$value['permskip'];
}
elseif(!isset($allperms[$key2]['permissions'][$key3]['permvalue']))
{
$allperms[$key2]['permissions'][$key3]['available']=0;
$allperms[$key2]['permissions'][$key3]['permvalue']=0;
$allperms[$key2]['permissions'][$key3]['permnegated']=0;
$allperms[$key2]['permissions'][$key3]['permskip']=0;
}
if($value['permid']==$value3['grantpermid'])
{
$allperms[$key2]['permissions'][$key3]['grantav']=1;
$allperms[$key2]['permissions'][$key3]['grant']=$value['permvalue'];
}
elseif(!isset($allperms[$key2]['permissions'][$key3]['grant']))
{
$allperms[$key2]['permissions'][$key3]['grantav']=0;
$allperms[$key2]['permissions'][$key3]['grant']=0;
}
}
}
}
}
}
}
else
{
$error.="The permissions can't show complete because you don't have the permission to see the list!
Needed Permission: b_serverinstance_permission_list
";
}
if(isset($_POST['searchperms']))
{
$smarty->assign("searchperms", trim($_POST['searchperms']));
}
$smarty->assign("error", $error);
$smarty->assign("showmyperms", $showmyperms);
$smarty->assign("display", $display);
$smarty->assign("disp_pic", $disp_pic);
$smarty->assign("sgroupname", secure($sgroupname));
$smarty->assign("allperms", $allperms);
$smarty->assign("build", $get_build);
}
?>