mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-31 05:50:42 +02:00
my turn to break things... harharhar
- checking in permission settings and permission masks - permission presets and documentation not finished yet - added backtrace function to determine file/line for sql errors - fixed marlist for orphan attachments/groups/logs/users - able to change anonymous user settings/permissions now - re-arranged admin permissions a bit (added some and removed some) - setting forum permissions after creating/editing forum now selects every default group (copy permisson/dropdown to be added for adding forums) - finished user permissions in users acp note: the layout for permissions might change devs: please empty the user_permissions in phpbb_users. Also, first change your auth_options table, remove all cache files and then re-set admin permissions. After having set the admin permissions you can update your modules table (else you will not see the permission tabs) - or empty the auth setting within the modules table to be able to see the permission modules (they rely on newly added permission options) git-svn-id: file:///svn/phpbb/trunk@5553 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -361,24 +361,6 @@
|
||||
|
||||
<!-- ELSEIF S_ORPHAN -->
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function marklist(match, name, status)
|
||||
{
|
||||
var object = document.getElementById(match);
|
||||
|
||||
var len = object.length;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
result = eval('object.elements[' + i + '].name.search(/' + name + '.+/)');
|
||||
if (result != -1)
|
||||
object.elements[i].checked = status;
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<form id="orphan" method="post" action="{U_ACTION}">
|
||||
|
||||
<table cellspacing="1">
|
||||
@@ -403,8 +385,8 @@
|
||||
<!-- END orphan -->
|
||||
<tr>
|
||||
<td colspan="3"> </td>
|
||||
<td class="small"><a href="javascript:marklist('attachments', 'add', true);">{L_MARK_ALL}</a> :: <a href="javascript:marklist('attachments', 'add', false);">{L_UNMARK_ALL}</a></td>
|
||||
<td class="small"><a href="javascript:marklist('attachments', 'delete', true);">{L_MARK_ALL}</a> :: <a href="javascript:marklist('attachments', 'delete', false);">{L_UNMARK_ALL}</a></td>
|
||||
<td class="small"><a href="javascript:marklist('orphan', 'add', true);">{L_MARK_ALL}</a> :: <a href="javascript:marklist('orphan', 'add', false);">{L_UNMARK_ALL}</a></td>
|
||||
<td class="small"><a href="javascript:marklist('orphan', 'delete', true);">{L_MARK_ALL}</a> :: <a href="javascript:marklist('orphan', 'delete', false);">{L_UNMARK_ALL}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@@ -210,7 +210,7 @@
|
||||
</div>
|
||||
|
||||
<fieldset class="quick">
|
||||
<span class="small"><a href="javascript:marklist('list', true);">{L_MARK_ALL}</a> :: <a href="javascript:marklist('list', false);">{L_UNMARK_ALL}</a></span><br />
|
||||
<span class="small"><a href="javascript:marklist('list', 'mark', true);">{L_MARK_ALL}</a> :: <a href="javascript:marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></span><br />
|
||||
|
||||
<select name="action"><option class="sep" value="">{L_SELECT_OPTION}</option>{S_ACTION_OPTIONS}</select>
|
||||
<input class="button2" type="submit" name="update" value="{L_SUBMIT}" />
|
||||
|
@@ -62,7 +62,7 @@
|
||||
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<fieldset class="quick">
|
||||
<b class="small"><a href="#" onclick="marklist('list', true);">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('list', false);">{L_UNMARK_ALL}</a></b><br />
|
||||
<b class="small"><a href="#" onclick="marklist('list', 'mark', true);">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></b><br />
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
|
||||
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />
|
||||
</fieldset>
|
||||
|
@@ -1,17 +1,5 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function marklist(status)
|
||||
{
|
||||
for (i = 0; i < document.inactive.length; i++)
|
||||
{
|
||||
document.inactive.elements[i].checked = status;
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<a name="maincontent"></a><h1>{L_WELCOME_PHPBB}</h1>
|
||||
|
||||
<p>{L_ADMIN_INTRO}</p>
|
||||
@@ -140,7 +128,7 @@
|
||||
|
||||
<!-- IF .inactive -->
|
||||
<fieldset class="quick">
|
||||
<p><a href="javascript:marklist(true);">Mark all</a> • <a href="javascript:marklist(false);">Unmark all</a></p>
|
||||
<p><a href="javascript:marklist('inactive', 'mark', true);">{L_MARK_ALL}</a> • <a href="javascript:marklist('inactive', 'mark', false);">{L_UNMARK_ALL}</a></p>
|
||||
<select name="action">{S_INACTIVE_OPTIONS}</select>
|
||||
|
||||
<input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
|
||||
|
318
phpBB/adm/style/acp_permissions.html
Normal file
318
phpBB/adm/style/acp_permissions.html
Normal file
@@ -0,0 +1,318 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<a name="maincontent"></a>
|
||||
|
||||
<!-- IF S_SELECT_VICTIM -->
|
||||
|
||||
<h1>{L_TITLE}</h1>
|
||||
|
||||
<p>{L_EXPLAIN}</p>
|
||||
|
||||
<!-- IF S_FORUM_NAMES -->
|
||||
<p><b>{L_FORUMS}:</b> {FORUM_NAMES}</p>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_SELECT_FORUM -->
|
||||
|
||||
<form id="select_victim" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_FORUM}</legend>
|
||||
<!-- IF S_FORUM_MULTIPLE --><p>{L_LOOK_UP_FORUMS_EXPLAIN}</p><!-- ENDIF -->
|
||||
<dl>
|
||||
<dt><label for="forum">{L_LOOK_UP_FORUM}:</label></dt>
|
||||
<dd><select id="forum" name="forum_id[]"<!-- IF S_FORUM_MULTIPLE --> multiple="multiple"<!-- ENDIF --> size="10">{S_FORUM_OPTIONS}</select></dd>
|
||||
<!-- IF S_FORUM_ALL --><dd><input type="checkbox" name="all_forums" value="1" /> {L_ALL_FORUMS}</dd><!-- ENDIF -->
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_SELECT_USER and S_CAN_SELECT_USER -->
|
||||
|
||||
<form id="select_victim" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input class="medium" type="text" id="username" name="username[]" /></dd>
|
||||
<dd>[ <a href="#" onclick="window.open('{U_FIND_USERNAME}', '_phpbbsearch', 'height=500, resizable=yes, scrollbars=yes, width=740'); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><input type="checkbox" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_SELECT_GROUP and S_CAN_SELECT_GROUP -->
|
||||
|
||||
<form id="select_victim" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_GROUP}</legend>
|
||||
<dl>
|
||||
<dt><label for="group">{L_LOOK_UP_GROUP}:</label></dt>
|
||||
<dd><select name="group_id[]" id="group">{S_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_SELECT_USERGROUP -->
|
||||
|
||||
<div style="float: left; width: 48%;">
|
||||
|
||||
<!-- IF S_CAN_SELECT_USER -->
|
||||
|
||||
<h1>{L_USERS}</h1>
|
||||
|
||||
<form id="users" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_MANAGE_USERS}</legend>
|
||||
<dl>
|
||||
<dd class="full"><select style="width: 100%;" name="user_id[]" multiple="multiple" size="5">{S_DEFINED_USER_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button2" type="submit" name="action[delete]" value="{L_DELETE}" />
|
||||
<input class="button1" type="submit" name="submit_edit_options" value="{L_SET_PERMISSIONS}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<form id="add_user" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ADD_USERS}</legend>
|
||||
<p>{L_USERNAMES_EXPLAIN}</p>
|
||||
<dl>
|
||||
<dd class="full"><textarea id="username" name="usernames" rows="5" cols="5" style="width: 100%; height: 60px;"></textarea></dd>
|
||||
<dd class="full" style="text-align: left;"><input type="checkbox" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button2" type="submit" name="find_username" value="{L_FIND_USERNAME}" onclick="window.open('{U_FIND_USERNAME}', '_phpbbsearch', 'height=500, resizable=yes, scrollbars=yes, width=740'); return false;" />
|
||||
<input class="button1" type="submit" name="submit_add_options" value="{L_SET_PERMISSIONS}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
</div>
|
||||
|
||||
<div style="float: right; width: 48%">
|
||||
|
||||
<!-- IF S_CAN_SELECT_GROUP -->
|
||||
|
||||
<h1>{L_USERGROUPS}</h1>
|
||||
|
||||
<form id="groups" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_MANAGE_GROUPS}</legend>
|
||||
<dl>
|
||||
<dd class="full"><select style="width: 100%;" name="group_id[]" multiple="multiple" size="5">{S_DEFINED_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button2" type="submit" name="action[delete]" value="{L_DELETE}" />
|
||||
<input class="button1" type="submit" name="submit_edit_options" value="{L_SET_PERMISSIONS}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<form id="add_groups" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_ADD_GROUPS}</legend>
|
||||
<dl>
|
||||
<dd class="full"><select name="group_id[]" style="width: 100%; height: 107px;" multiple="multiple">{S_ADD_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" class="button1" name="submit_add_options" value="{L_SET_PERMISSIONS}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ELSEIF S_SELECT_USERGROUP_VIEW -->
|
||||
|
||||
<div style="float: left; width: 48%;">
|
||||
|
||||
<h1>{L_USERS}</h1>
|
||||
|
||||
<form id="users" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_MANAGE_USERS}</legend>
|
||||
<dl>
|
||||
<dd class="full"><select style="width: 100%;" name="user_id[]" multiple="multiple" size="5">{S_DEFINED_USER_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button1" type="submit" name="submit" value="{L_VIEW_PERMISSIONS}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<form id="add_user" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_USER}</legend>
|
||||
<dl>
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input type="text" id="username" name="username[]" /></dd>
|
||||
<dd>[ <a href="#" onclick="window.open('{U_FIND_USERNAME}', '_phpbbsearch', 'height=500, resizable=yes, scrollbars=yes, width=740'); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><input type="checkbox" id="anonymous" name="user_id[]" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_VIEW_PERMISSIONS}" class="button1" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="float: right; width: 48%">
|
||||
|
||||
<h1>{L_USERGROUPS}</h1>
|
||||
|
||||
<form id="groups" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_MANAGE_GROUPS}</legend>
|
||||
<dl>
|
||||
<dd class="full"><select style="width: 100%;" name="group_id[]" multiple="multiple" size="5">{S_DEFINED_GROUP_OPTIONS}</select></dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input class="button1" type="submit" name="submit" value="{L_VIEW_PERMISSIONS}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<form id="group" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{L_LOOK_UP_GROUP}</legend>
|
||||
<dl>
|
||||
<dt><label for="group">{L_LOOK_UP_GROUP}:</label></dt>
|
||||
<dd><select name="group_id[]" id="group">{S_ADD_GROUP_OPTIONS}</select></dd>
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick">
|
||||
{S_HIDDEN_FIELDS}
|
||||
<input type="submit" name="submit" value="{L_VIEW_PERMISSIONS}" class="button1" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_VIEWING_PERMISSIONS -->
|
||||
|
||||
<h1>{L_ACL_VIEW}</h1>
|
||||
|
||||
<p>{L_ACL_VIEW_EXPLAIN}</p>
|
||||
|
||||
<fieldset class="quick">
|
||||
<b>» {L_PERMISSION_TYPE}</b>
|
||||
</fieldset>
|
||||
|
||||
<!-- INCLUDE permission_mask.html -->
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_SETTING_PERMISSIONS -->
|
||||
|
||||
<h1>{L_ACL_SET}</h1>
|
||||
|
||||
<p>{L_ACL_SET_EXPLAIN}</p>
|
||||
|
||||
<br />
|
||||
|
||||
<fieldset class="quick" style="float: right;">
|
||||
<b>» {L_PERMISSION_TYPE}</b>
|
||||
</fieldset>
|
||||
|
||||
<!-- IF S_PERMISSION_DROPDOWN -->
|
||||
<form id="pselect" method="post" action="{U_ACTION}">
|
||||
|
||||
<fieldset class="quick" style="float: left;">
|
||||
{S_HIDDEN_FIELDS}
|
||||
{L_SELECT_TYPE}: <select name="type">{S_PERMISSION_DROPDOWN}</select>
|
||||
|
||||
<input class="button2" type="submit" name="submit" value="{L_GO}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<br /><br />
|
||||
|
||||
<form id="set_permissions" method="post" action="{U_ACTION}">
|
||||
|
||||
{S_HIDDEN_FIELDS}
|
||||
|
||||
<!-- INCLUDE permission_mask.html -->
|
||||
|
||||
<br /><br />
|
||||
|
||||
<fieldset class="quick" style="float: left;">
|
||||
{L_PERM_PRESET_APPLIED_TO_ALL}<br />
|
||||
<a href="javascript:marklist('set_permissions', 'inherit', true);">{L_MARK_ALL}</a> • <a href="javascript:marklist('set_permissions', 'inherit', false);">{L_UNMARK_ALL}</a>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="quick" style="float: right;">
|
||||
<input class="button1" type="submit" name="action[apply_all_permissions]" value="{L_APPLY_ALL_PERMISSIONS}" />
|
||||
</fieldset>
|
||||
|
||||
<br /><br />
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -16,7 +16,7 @@
|
||||
<dt><label for="username">{L_FIND_USERNAME}:</label></dt>
|
||||
<dd><input class="medium" type="text" id="username" name="username" /></dd>
|
||||
<dd>[ <a href="#" onclick="window.open('{U_FIND_USERNAME}', '_phpbbsearch', 'height=500, resizable=yes, scrollbars=yes, width=740'); return false;">{L_FIND_USERNAME}</a> ]</dd>
|
||||
<dd class="full" style="text-align: left;"><input type="checkbox" id="anonymous" name="u" value="{ANONYMOUS_USER_ID}" /> Select Anonymous User</dd>
|
||||
<dd class="full" style="text-align: left;"><input type="checkbox" id="anonymous" name="u" value="{ANONYMOUS_USER_ID}" /> {L_SELECT_ANONYMOUS}</dd>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
|
||||
<!-- IF S_CLEARLOGS -->
|
||||
<fieldset class="quick">
|
||||
<b class="small"><a href="#" onclick="marklist('list', true);">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('list', false);">{L_UNMARK_ALL}</a></b><br />
|
||||
<b class="small"><a href="#" onclick="marklist('list', 'mark', true);">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></b><br />
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
|
||||
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />
|
||||
</fieldset>
|
||||
@@ -696,12 +696,21 @@
|
||||
<!-- ENDIF -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<b class="small"><a href="#" onclick="marklist('user_attachments', true);">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('user_attachments', false);">{L_UNMARK_ALL}</a></b><br />
|
||||
<b class="small"><a href="#" onclick="marklist('user_attachments', 'mark', true);">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('user_attachments', 'mark', false);">{L_UNMARK_ALL}</a></b><br />
|
||||
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
<!-- ELSEIF S_PERMISSIONS -->
|
||||
|
||||
<fieldset class="quick">
|
||||
<a href="{U_USER_PERMISSIONS}">» {L_SET_USERS_PERMISSIONS}</a><br />
|
||||
<a href="{U_USER_FORUM_PERMISSIONS}">» {L_SET_USERS_FORUM_PERMISSIONS}</a>
|
||||
</fieldset>
|
||||
|
||||
<!-- INCLUDE permission_mask.html -->
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- INCLUDE overall_footer.html -->
|
@@ -281,6 +281,7 @@ td {
|
||||
.row1 { background-color: #EFEFEF; }
|
||||
.row2 { background-color: #DEE3E7; }
|
||||
.row3 { background-color: #D1D7DC; }
|
||||
.row4 { background-color: #E4E8EB; }
|
||||
.col1 { background-color: #DEE3E7; }
|
||||
.col2 { background-color: #EFEFEF; }
|
||||
|
||||
@@ -648,6 +649,168 @@ a.button2, a.button2:link, a.button2:visited, a.button2:active {
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
/* Permission related
|
||||
---------------------------------------- */
|
||||
|
||||
.permissions {
|
||||
margin: 15px 0 0 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.permissions table {
|
||||
width: 100%;
|
||||
/*empty-cells: hide;*/
|
||||
border: 1px solid #CCCFD3;
|
||||
background-color: #FFFFFF;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.permissions th {
|
||||
padding: 3px 4px;
|
||||
color: #FFFFFF;
|
||||
background: #DDE1E4 url("../images/gradient2b.gif") bottom left repeat-x;
|
||||
border-top: 1px solid #6DACD2;
|
||||
border-bottom: 1px solid #327AA5;
|
||||
text-align: left;
|
||||
font-size: .85em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.permissions td {
|
||||
text-align: left;
|
||||
font-size: 1.1em;
|
||||
padding: 4px;
|
||||
line-height: 120%;
|
||||
}
|
||||
|
||||
table.pmask {
|
||||
border: none;
|
||||
background: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
table.pmask th {
|
||||
background: none;
|
||||
border-top: none;
|
||||
text-align: center;
|
||||
vertical-align: bottom;
|
||||
color: #115098;
|
||||
padding: 2px 0;
|
||||
}
|
||||
|
||||
table.pmask td {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
table.pmask td.name {
|
||||
padding: 2px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.permissions th.name {
|
||||
text-align: left;
|
||||
width: auto;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.permissions .entry {
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.permissions td.name {
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.permissions table.type3 {
|
||||
float: right;
|
||||
width: 350px; /* Setting the length of the permission view box */
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.permissions table.type3 thead th {
|
||||
background-color: transparent;
|
||||
border-top: none;
|
||||
text-align: center;
|
||||
color: #115098;
|
||||
padding: 0 3px;
|
||||
font-size: .9em;
|
||||
font-weight: normal;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.permissions table.type3 tbody th {
|
||||
border-top: none;
|
||||
text-align: left;
|
||||
text-transform: none;
|
||||
padding: 0;
|
||||
border: none;
|
||||
font-size: 1em;
|
||||
font-weight: normal;
|
||||
width: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.permissions table.type3 td {
|
||||
text-align: center;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.permissions td.yes {
|
||||
width: 20px;
|
||||
background-color: #40C53D;
|
||||
}
|
||||
|
||||
.permissions td.no {
|
||||
width: 20px;
|
||||
background-color: #EC7181;
|
||||
}
|
||||
|
||||
.permissions td.unset {
|
||||
width: 20px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* Preset Styles
|
||||
---------------------------------------- */
|
||||
.preset_yes, .preset_custom, .preset_no, .preset_unset {
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.preset_yes a span, .preset_custom a span, .preset_no a span, .preset_unset a span {
|
||||
float: left;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
cursor: pointer;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.preset_yes a:hover span, .preset_custom a:hover span, .preset_no a:hover span, .preset_unset a:hover span {
|
||||
background: url("../images/arrow_down.gif") no-repeat 50% 50%;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.preset_yes {
|
||||
background: #D3F3D2 url("../images/bg_hash1.gif") repeat;
|
||||
}
|
||||
|
||||
.preset_custom {
|
||||
background: #DAE4EC url("../images/bg_hash2.gif") repeat;
|
||||
}
|
||||
|
||||
.preset_no {
|
||||
background: #ECD7DA url("../images/bg_hash3.gif") repeat;
|
||||
}
|
||||
|
||||
.preset_unset {
|
||||
background: #ECD7DA url("../images/bg_hash4.gif") repeat;
|
||||
}
|
||||
|
||||
/* Action Highlighting
|
||||
---------------------------------------- */
|
||||
|
@@ -45,12 +45,24 @@ function dE(n, s, type)
|
||||
e.style.display = (s == 1) ? type : 'none';
|
||||
}
|
||||
|
||||
function marklist(match, status)
|
||||
// Mark/unmark checkboxes
|
||||
// id = ID of parent container, name = name prefix, state = state [true/false]
|
||||
function marklist(id, name, state)
|
||||
{
|
||||
doc = document.getElementById(match);
|
||||
for (i = 0; i < doc.length; i++)
|
||||
var parent = document.getElementById(id);
|
||||
if (!parent)
|
||||
{
|
||||
doc.elements[i].checked = status;
|
||||
return;
|
||||
}
|
||||
|
||||
var rb = parent.getElementsByTagName('input');
|
||||
|
||||
for (var r = 0; r < rb.length; r++)
|
||||
{
|
||||
if (rb[r].name.substr(0, name.length) == name)
|
||||
{
|
||||
rb[r].checked = state;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
179
phpBB/adm/style/permission_mask.html
Normal file
179
phpBB/adm/style/permission_mask.html
Normal file
@@ -0,0 +1,179 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
var active_pmask = '0';
|
||||
var active_fmask = '0';
|
||||
var active_cat = '0';
|
||||
|
||||
// Show/hide option panels
|
||||
// value = suffix for ID to show
|
||||
function swap_options(pmask, fmask, cat)
|
||||
{
|
||||
id = pmask + fmask + cat;
|
||||
active_option = active_pmask + active_fmask + active_cat;
|
||||
|
||||
if (id == active_option)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Hide active options
|
||||
dE('options' + active_option, -1);
|
||||
dE('head' + active_pmask + active_fmask, 1, 'inline');
|
||||
dE('apply' + active_pmask + active_fmask, -1);
|
||||
|
||||
// Display container
|
||||
dE('options' + id, 1);
|
||||
dE('head' + pmask + fmask, -1, 'inline');
|
||||
dE('apply' + pmask + fmask, 1);
|
||||
|
||||
active_pmask = pmask;
|
||||
active_fmask = fmask;
|
||||
active_cat = cat;
|
||||
}
|
||||
|
||||
// Mark all radio buttons in one panel
|
||||
// id = table ID container, s = status [1/-1/0]
|
||||
function mark_options(id, s)
|
||||
{
|
||||
var t = document.getElementById(id);
|
||||
|
||||
if (!t)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var rb = t.getElementsByTagName('input');
|
||||
|
||||
for (var r = 0; r < rb.length; r++ )
|
||||
{
|
||||
if (rb[r].id.substr(rb[r].id.length-1) == s)
|
||||
{
|
||||
rb[r].checked = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<!-- BEGIN p_mask -->
|
||||
|
||||
<fieldset class="permissions">
|
||||
<!-- IF p_mask.USER_GROUPS_DEFAULT or p_mask.USER_GROUPS_CUSTOM -->
|
||||
<br />
|
||||
<p>
|
||||
<!-- IF p_mask.USER_GROUPS_DEFAULT --><b>{p_mask.NAME}</b> {L_USER_IS_MEMBER_OF_DEFAULT}: <b>{p_mask.USER_GROUPS_DEFAULT}</b><br /><!-- ENDIF -->
|
||||
<!-- IF p_mask.USER_GROUPS_CUSTOM --><b>{p_mask.NAME}</b> {L_USER_IS_MEMBER_OF_CUSTOM}: <b>{p_mask.USER_GROUPS_CUSTOM}</b><!-- ENDIF -->
|
||||
</p>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<table cellspacing="1" class="pmask">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: left; width: 70%">{p_mask.NAME}<!-- IF p_mask.S_LOCAL --><span class="small" style="text-transform: none;"> [{p_mask.L_ACL_TYPE}]</span><!-- ENDIF --></th>
|
||||
<th>{p_mask.CATEGORIES}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<!-- BEGIN f_mask -->
|
||||
<!-- IF p_mask.f_mask.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
|
||||
<td class="name">
|
||||
<table cellspacing="0" cellpadding="0" class="type2" style="background-color: transparent; border: 0;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td width="16">
|
||||
<span id="head{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}"<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW --> style="display: none;"<!-- ENDIF -->>
|
||||
<!-- IF not p_mask.S_VIEW --><input type="checkbox" name="inherit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" value="1" /><!-- ELSE --> <!-- ENDIF -->
|
||||
</span>
|
||||
</td>
|
||||
<td>{p_mask.f_mask.PADDING}<a href="javascript:swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '0');">{p_mask.f_mask.NAME}</a></span></td>
|
||||
<td style="text-align: right;">
|
||||
<!-- IF p_mask.S_VIEW -->
|
||||
|
||||
<!-- ELSE -->
|
||||
<!-- <b>{L_PRESET}:</b> <select name="preset[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]">
|
||||
<option value="">Select preset...</option>
|
||||
<option value="2">Valued Members</option>
|
||||
<option value="3">Restricted Access</option>
|
||||
</select> -->
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
<!-- BEGIN category -->
|
||||
<!-- IF p_mask.f_mask.category.S_YES -->
|
||||
<td class="preset_yes">
|
||||
<!-- ELSEIF p_mask.f_mask.category.S_NO -->
|
||||
<td class="preset_no">
|
||||
<!-- ELSEIF p_mask.f_mask.category.S_UNSET -->
|
||||
<td class="preset_unset">
|
||||
<!-- ELSE -->
|
||||
<td class="preset_custom">
|
||||
<!-- ENDIF -->
|
||||
<a href="javascript:swap_options('{p_mask.S_ROW_COUNT}', '{p_mask.f_mask.S_ROW_COUNT}', '{p_mask.f_mask.category.S_ROW_COUNT}');"><span> </span></a></td>
|
||||
<!-- END category -->
|
||||
</tr>
|
||||
<tr class="row3">
|
||||
<td style="vertical-align: top;">
|
||||
<div id="apply{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" style="text-align: left; width: 98%; margin: 5px;<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW --><!-- ELSE --> display: none;<!-- ENDIF -->">
|
||||
<!-- IF not p_mask.S_VIEW -->
|
||||
<div style="float: left; width: 60%;">
|
||||
<p class="small">{L_APPLY_PERMISSIONS_EXPLAIN}</p>
|
||||
<input class="button1" type="submit" name="psubmit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" value="{L_APPLY_PERMISSIONS}" />
|
||||
</div>
|
||||
<div style="float: right; text-align: right; width: 35%;">
|
||||
<p class="small"><a href="javascript: mark_options('a_options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}', 'y')">{L_ALL_YES}</a> • <a href="javascript: mark_options('a_options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}', 'n')">{L_ALL_NO}</a> • <a href="javascript: mark_options('a_options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}', 'u')">{L_ALL_UNSET}</a></p>
|
||||
</div>
|
||||
<!-- ELSE -->
|
||||
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="{p_mask.S_NUM_CATS}" id="a_options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" style="vertical-align: top; text-align: left;">
|
||||
<div style="width: 350px; height: 0; line-height: 0;"> </div>
|
||||
<!-- BEGIN category -->
|
||||
<table cellspacing="1" id="options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}" class="type3"<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --><!-- ELSE --> style="display: none;"<!-- ENDIF -->>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col" style="text-align: left; padding-left: 0;"><strong>{L_ACL_SETTING} [{p_mask.f_mask.category.CAT_NAME}]</strong></th>
|
||||
<!-- IF p_mask.S_VIEW -->
|
||||
<th scope="col">{L_ACL_YES}</th>
|
||||
<th scope="col">{L_ACL_NO}</th>
|
||||
<!-- ELSE -->
|
||||
<th scope="col"><a href="javascript: mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'y')">{L_ACL_YES}</a></th>
|
||||
<th scope="col"><a href="javascript: mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'u')">{L_ACL_UNSET}</a></th>
|
||||
<th scope="col"><a href="javascript: mark_options('options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}', 'n')">{L_ACL_NO}</a></th>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- BEGIN mask -->
|
||||
<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
|
||||
<th>{p_mask.f_mask.category.mask.PERMISSION}</th>
|
||||
<!-- IF p_mask.S_VIEW -->
|
||||
<td<!-- IF p_mask.f_mask.category.mask.S_YES --> class="yes"<!-- ELSE --> class="unset"<!-- ENDIF -->> </td>
|
||||
<td<!-- IF p_mask.f_mask.category.mask.S_NO --> class="no"<!-- ELSE --> class="unset"<!-- ENDIF -->> </td>
|
||||
<!-- ELSE -->
|
||||
<td class="unset"><input id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_y" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" type="radio"<!-- IF p_mask.f_mask.category.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></td>
|
||||
<td class="unset"><input id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_u" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" type="radio"<!-- IF p_mask.f_mask.category.mask.S_UNSET --> checked="checked"<!-- ENDIF --> value="-1" /></td>
|
||||
<td class="unset"><input id="{p_mask.f_mask.category.mask.S_FIELD_NAME}_n" name="{p_mask.f_mask.category.mask.S_FIELD_NAME}" type="radio"<!-- IF p_mask.f_mask.category.mask.S_NO --> checked="checked"<!-- ENDIF --> value="0" /></td>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
<!-- END mask -->
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- END category -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END f_mask -->
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</fieldset>
|
||||
|
||||
<!-- END p_mask -->
|
@@ -30,19 +30,39 @@ function jumpto()
|
||||
|
||||
// Set display of page element
|
||||
// s[-1,0,1] = hide,toggle display,show
|
||||
function dE(n,s)
|
||||
function dE(n, s, type)
|
||||
{
|
||||
if (!type)
|
||||
{
|
||||
type = 'block';
|
||||
}
|
||||
|
||||
var e = document.getElementById(n);
|
||||
if(!s) s = (e.style.display=='') ? -1:1;
|
||||
e.style.display = (s==1) ? 'block':'none';
|
||||
if (!s)
|
||||
{
|
||||
s = (e.style.display == '') ? -1 : 1;
|
||||
}
|
||||
e.style.display = (s == 1) ? type : 'none';
|
||||
}
|
||||
|
||||
function marklist(match, status)
|
||||
// Mark/unmark checkboxes
|
||||
// id = ID of parent container, name = name prefix, state = state [true/false]
|
||||
function marklist(id, name, state)
|
||||
{
|
||||
doc = document.getElementById(match);
|
||||
for (i = 0; i < doc.length; i++)
|
||||
var parent = document.getElementById(id);
|
||||
if (!parent)
|
||||
{
|
||||
doc.elements[i].checked = status;
|
||||
return;
|
||||
}
|
||||
|
||||
var rb = parent.getElementsByTagName('input');
|
||||
|
||||
for (var r = 0; r < rb.length; r++)
|
||||
{
|
||||
if (rb[r].name.substr(0, name.length) == name)
|
||||
{
|
||||
rb[r].checked = state;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user