118 lines
3.9 KiB
PHP
118 lines
3.9 KiB
PHP
<?php
|
|
// $Id: alibExPerms.php,v 1.1 2004/07/23 00:22:13 tomas Exp $
|
|
require_once"alib_h.php";
|
|
require_once"alibExTestAuth.php";
|
|
|
|
if(isset($_GET['id']) && is_numeric($_GET['id'])){
|
|
$id = $_GET['id'];
|
|
}else{
|
|
$id = $alib->getRootNode();
|
|
}
|
|
|
|
// prefill data structure for template
|
|
if(!$alib->isClass($id)){
|
|
$d = array(
|
|
'path' => $alib->getPath($id, 'id,name'),
|
|
'perms' => $alib->getObjPerms($id),
|
|
'actions' => $alib->getAllowedActions($alib->getObjType($id)),
|
|
'subjects' => $alib->getSubjects(),
|
|
'id' => $id,
|
|
'loggedAs' => $login
|
|
);
|
|
}else{
|
|
$d = array(
|
|
'path' => '',
|
|
'name' => $alib->getClassName($id),
|
|
'perms' => $alib->getObjPerms($id),
|
|
'actions' => $alib->getAllowedActions('_class'),
|
|
'subjects' => $alib->getSubjects(),
|
|
'id' => $id,
|
|
'loggedAs' => $login
|
|
);
|
|
}
|
|
$d['msg'] = $_SESSION['alertMsg']; unset($_SESSION['alertMsg']);
|
|
|
|
require_once"alib_f.php";
|
|
// template follows:
|
|
?>
|
|
<html><head>
|
|
<title>Alib - permission editor</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<link rel="stylesheet" type="text/css" href="default.css">
|
|
<style type="text/css">
|
|
<!--
|
|
#menu { float:right; margin-right:1em; border:1px solid black; background-color:#ddd; padding:2px 1ex; }
|
|
#tbl { width:60%; }
|
|
-->
|
|
</style>
|
|
</head><body>
|
|
<div id="menu">
|
|
Logged as: <span class="b"><?php echo$d['loggedAs']?></span><br>
|
|
<a href="alibHttp.php?act=logout">Logout</a><br>
|
|
<?php if(is_array($d['path'])){?>
|
|
<a href="alibExTree.php?id=<?php echo$d['id']?>">Tree editor</a><br>
|
|
<?php }else{?>
|
|
<a href="alibExTree.php">Tree editor</a><br>
|
|
<?php }?>
|
|
<a href="alibExCls.php">Class editor</a><br>
|
|
<a href="alibExSubj.php">User/Group editor</a><br>
|
|
</div>
|
|
|
|
<h1>Permission editor</h1>
|
|
<?php if(is_array($d['path'])){?>
|
|
<h2><a href="alibExTree.php?id=<?php echo$d['id']?>" title="Tree editor">Path</a>:
|
|
<?php foreach($d['path'] as $k=>$it) {?>
|
|
<a <?php if($it["id"]!=$id){?>href="?id=<?php echo $it["id"]?>"<?php }?>><?php echo$it["name"]?></a><span class="slash">/</span>
|
|
<?php }?>
|
|
<?php }else{?>Class <a href="alibExCls.php?id=<?php echo$d['id']?>"><?php echo$d['name']?></a>
|
|
<?php }?>
|
|
</h2>
|
|
|
|
<table id="tbl" border="0" cellpadding="5">
|
|
<?php if(is_array($d['perms'])&&count($d['perms'])>0) foreach($d['perms'] as $k=>$row) {?>
|
|
<tr class="<?php echo(($o=1-$o) ? 'odd' : 'ev')?>">
|
|
<td class="b"><a href="alibExPList.php?id=<?php echo$row['subj']?>"><?php echo$row['login']?></a></td>
|
|
<td class="b"><?php echo$row['action']?></td>
|
|
<td><?php echo($row['type']=='A' ? 'allow' : ($row['type']=='D' ? '<b>deny</b>' : $row['type']))?></td>
|
|
<td>
|
|
<a class="lnkbutt" href="alibHttp.php?act=removePerm&permid=<?php echo$row['permid']?>&oid=<?php echo$d['id']?>&reid=<?php echo$d['id']?>">delete</a>
|
|
</td>
|
|
</tr>
|
|
<?php }else{?>
|
|
<tr class="odd"><td colspan="4">none</td></tr>
|
|
<?php }?>
|
|
</table>
|
|
|
|
<form action="alibHttp.php" method="post">
|
|
Add permission
|
|
<select name="allowDeny">
|
|
<option value="A">Allow</option>
|
|
<option value="D">Deny</option>
|
|
</select>
|
|
for action
|
|
<select name="permAction">
|
|
<option value="_all">all</option>
|
|
<?php if(is_array($d['actions'])) foreach($d['actions'] as $k=>$it) {?>
|
|
<option value="<?php echo$it?>"><?php echo$it?></option>
|
|
<?php }?>
|
|
</select>
|
|
to subject
|
|
<select name="subj">
|
|
<?php if(is_array($d['subjects'])) foreach($d['subjects'] as $k=>$it) {?>
|
|
<option value="<?php echo$it['id']?>"><?php echo$it['login']?></option>
|
|
<?php }?>
|
|
</select>
|
|
<input type="hidden" name="act" value="addPerm">
|
|
<input type="hidden" name="reid" value="<?php echo$d['id']?>">
|
|
<input type="hidden" name="id" value="<?php echo$d['id']?>">
|
|
<input type="submit" value="Do it!">
|
|
</form>
|
|
|
|
<?php if($d['msg']){?>
|
|
<script type="text/javascript">
|
|
<!--
|
|
alert('<?php echo$d['msg']?>');
|
|
-->
|
|
</script><noscript><hr><b><?php echo$d['msg']?></b></hr></noscript>
|
|
<?php }?>
|
|
</body></html>
|