diff options
author | frank <frank@schokilade.de> | 2005-02-20 11:45:06 +0100 |
---|---|---|
committer | frank <frank@schokilade.de> | 2005-02-20 11:45:06 +0100 |
commit | 10a76f6fd45bbbf4443fb8626d35aae3a388c490 (patch) | |
tree | ad76b39e0b739d7e87cd2b595bd9f10cf9a5ae76 /inc/html.php | |
parent | 3a8a9050bc97ca54a26f0163fb9b8d50c82f8b3d (diff) | |
download | rpg-10a76f6fd45bbbf4443fb8626d35aae3a388c490.tar.gz rpg-10a76f6fd45bbbf4443fb8626d35aae3a388c490.tar.bz2 |
acl-administration rc1
darcs-hash:20050220104506-b7c55-01c85b4b688597c8405987e0f7ea30aa4fb1472f.gz
Diffstat (limited to 'inc/html.php')
-rw-r--r-- | inc/html.php | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/inc/html.php b/inc/html.php index d848f89b4..9cceee82c 100644 --- a/inc/html.php +++ b/inc/html.php @@ -428,6 +428,10 @@ function html_footer(){ }else{ print html_btn('login',$ID,'',array('do' => 'login')); } + #//acl-admin button + #if($INFO['perm'] == AUTH_GRANT){ + # print html_btn('acl_admin',$ID,'',array('do' => 'acl_admin')); + #} } ?> <?=html_btn(index,$ID,'x',array('do' => 'index'))?> @@ -1171,4 +1175,147 @@ function html_debug(){ print '</body></html>'; } +/** + * prints the acl-admin form(s) + * + * @author Frank Schubert <frank@schokilade.de> + */ +function html_acl_admin(){ + global $lang; + global $ID; + global $INFO; + + print parsedLocale('acl_admin'); +?> + <fieldset style="float:left; text-align:left; white-space:nowrap; width:320px;"> + <legend><?=$lang['acl_admin']?></legend> + + <form name="acl_admin_add" method="post" action="<?=wl($ID)?>" accept-charset="<?=$lang['encoding']?>"> + <input type="hidden" name="do" value="acl_admin_add" /> + <input type="hidden" name="save" value="1" /> + <table> + <tr> + <td><?=$lang['acl_user']?></td> + <td><input type="text" name="acl_user" class="edit" size="20" value="" /></td> + </tr><tr> + <td><?=$lang['acl_scope']?></td> + <td><select name="acl_scope" id="acl_scope" class="edit" size="1" onChange="checkAclLevel();"> + <option value="">(<?=$lang['acl_input_request']?>)</option> + <option><?=$ID?></option> + <?php if( ($ns=getNS($ID)) != NULL) {?> + <option><?=$ns?>:*</option> + <?php }else{ ?> + <option>*</option> + <?php } ?> + </select></td> + </tr><tr> + <td style="vertical-align:top"><?=$lang['acl_level']?></td> + <td> + <input type="checkbox" name="acl_checkbox[1]" value="on" checked="checked" /><?=$lang['acl_read']?><br /> + <input type="checkbox" name="acl_checkbox[2]" value="on" /><?=$lang['acl_edit']?><br /> + <input type="checkbox" name="acl_checkbox[4]" value="on" /><?=$lang['acl_create']?><br /> + <input type="checkbox" name="acl_checkbox[8]" value="on" /><?=$lang['acl_upload']?> + </td> + </tr><tr> + <td></td> + <td><input type="submit" class="button" value="<?=$lang['acl_commit']?>" /></td> + </tr> + </table> + </form> + </fieldset> + + <div style="float:right;"> + <fieldset> + <legend><?=$lang['acl_current']?></legend> + <div style="text-align:left"> + <?php + $acl_config=get_acl_config($ID); + foreach($acl_config as $pagename => $value){ + if($pagename != '*') { + $ID_cur=$pagename; + while(($piece=getNS($ID_cur)) !== false){ + $url="<a href='".wl($piece,'do=acl_admin')."'>".noNS($piece)."</a>:".$url;; + $ID_cur=$piece; + } + $url.="<a href='".wl($pagename,'do=acl_admin')."'>".noNS($pagename)."</a>"; + print $url; + $url=''; + }else{ + print $pagename; + } ?> + <table class="inline"> + <tr> + <th class="inline"></th> + <th class="inline">name</th> + <th class="inline">R</th> + <th class="inline">W</th> + <th class="inline">C</th> + <th class="inline">U</th> + <th class="inline">UPDATE</th> + <th class="inline">DELETE</th> + </tr> + <?php + foreach($value as $conf){ + ?> + <tr> + <!-- user/group --> + <td class="inline"> + <?php + $group = false; + if(substr($conf[0],0,1)=="@"){ + print $lang['acl_group']; + $group = true; + }else{ + print $lang['acl_user']; + } + ?> + </td> + <td class="inline"> + <!-- name --> + <?php + if($group) { print substr($conf[0],1); } else { print $conf[0]; } + ?> + </td> + <form name="acl_admin_change" method="post" action="<?=wl($ID)?>" accept-charset="<?=$lang['encoding']?>"> + <?php + // read,write,create,upload + $acl_nums=array(1,2,4,8); + foreach($acl_nums as $num){ + ?><td class="inline"> + <input type="hidden" name="do" value="acl_admin_change" /> + <input type="hidden" name="save" value="1" /> + <input type="hidden" name="acl_scope" value='<?=urlencode($pagename)?>' /> + <input type="hidden" name="acl_user" value='<?=urlencode($conf[0])?>' /> + <input type="hidden" name="acl_level" value='<?=$conf[1]?>' /> + <input type="checkbox" name="acl_checkbox[<?=$num?>]" value="on"<?php + if($conf[1]>=$num) { + ?> checked="checked"<?php + } + ?> /></td><?php + } + ?> + <td class="inline"><input type="submit" class="button" value="update"></td> + </form> + <td class="inline"> + <!-- delete form --> + <form name="acl_admin_del" method="post" action="<?=wl($ID)?>" accept-charset="<?=$lang['encoding']?>"> + <input type="hidden" name="do" value="acl_admin_del" /> + <input type="hidden" name="save" value="1" /> + <input type="hidden" name="acl_scope" value='<?=urlencode($pagename);?>' /> + <input type="hidden" name="acl_user" value='<?=urlencode($conf[0])?>' /> + <input type="hidden" name="acl_level" value='<?=$conf[1]?>' /> + <input type="submit" class="button" value='DEL' onClick="return window.confirm('<?=$lang['acl_confirm_delete']?>');" /> + </form> + </td> + </tr> + <?php + } + ?></table><?php + } + ?> + </div> + </fieldset> + </div> +<? +} ?> |