aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/adm
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/adm')
-rw-r--r--phpBB/adm/images/arrow_down.gifbin0 -> 113 bytes
-rw-r--r--phpBB/adm/images/bg_hash1.gifbin0 -> 48 bytes
-rw-r--r--phpBB/adm/images/bg_hash2.gifbin0 -> 48 bytes
-rw-r--r--phpBB/adm/images/bg_hash3.gifbin0 -> 48 bytes
-rw-r--r--phpBB/adm/images/bg_hash4.gifbin0 -> 48 bytes
-rw-r--r--phpBB/adm/images/gradient2b.gifbin0 -> 192 bytes
-rw-r--r--phpBB/adm/style/acp_attachments.html22
-rw-r--r--phpBB/adm/style/acp_groups.html2
-rw-r--r--phpBB/adm/style/acp_logs.html2
-rw-r--r--phpBB/adm/style/acp_main.html14
-rw-r--r--phpBB/adm/style/acp_permissions.html318
-rw-r--r--phpBB/adm/style/acp_users.html15
-rw-r--r--phpBB/adm/style/admin.css163
-rw-r--r--phpBB/adm/style/overall_header.html20
-rw-r--r--phpBB/adm/style/permission_mask.html179
-rw-r--r--phpBB/adm/style/simple_header.html34
16 files changed, 720 insertions, 49 deletions
diff --git a/phpBB/adm/images/arrow_down.gif b/phpBB/adm/images/arrow_down.gif
new file mode 100644
index 0000000000..e45c365ecc
--- /dev/null
+++ b/phpBB/adm/images/arrow_down.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_hash1.gif b/phpBB/adm/images/bg_hash1.gif
new file mode 100644
index 0000000000..61163679a8
--- /dev/null
+++ b/phpBB/adm/images/bg_hash1.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_hash2.gif b/phpBB/adm/images/bg_hash2.gif
new file mode 100644
index 0000000000..d31840361c
--- /dev/null
+++ b/phpBB/adm/images/bg_hash2.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_hash3.gif b/phpBB/adm/images/bg_hash3.gif
new file mode 100644
index 0000000000..40bc7e1b5c
--- /dev/null
+++ b/phpBB/adm/images/bg_hash3.gif
Binary files differ
diff --git a/phpBB/adm/images/bg_hash4.gif b/phpBB/adm/images/bg_hash4.gif
new file mode 100644
index 0000000000..54e7f0019f
--- /dev/null
+++ b/phpBB/adm/images/bg_hash4.gif
Binary files differ
diff --git a/phpBB/adm/images/gradient2b.gif b/phpBB/adm/images/gradient2b.gif
new file mode 100644
index 0000000000..a8107659e2
--- /dev/null
+++ b/phpBB/adm/images/gradient2b.gif
Binary files differ
diff --git a/phpBB/adm/style/acp_attachments.html b/phpBB/adm/style/acp_attachments.html
index a08a0f3d85..4d309e9b76 100644
--- a/phpBB/adm/style/acp_attachments.html
+++ b/phpBB/adm/style/acp_attachments.html
@@ -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">&nbsp;</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>
diff --git a/phpBB/adm/style/acp_groups.html b/phpBB/adm/style/acp_groups.html
index c083d930a3..125f39d70d 100644
--- a/phpBB/adm/style/acp_groups.html
+++ b/phpBB/adm/style/acp_groups.html
@@ -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}" />
diff --git a/phpBB/adm/style/acp_logs.html b/phpBB/adm/style/acp_logs.html
index 5d3e49a6a7..4603561d28 100644
--- a/phpBB/adm/style/acp_logs.html
+++ b/phpBB/adm/style/acp_logs.html
@@ -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}" />&nbsp;
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />&nbsp;
</fieldset>
diff --git a/phpBB/adm/style/acp_main.html b/phpBB/adm/style/acp_main.html
index 4b754c3c74..1b521e1ec9 100644
--- a/phpBB/adm/style/acp_main.html
+++ b/phpBB/adm/style/acp_main.html
@@ -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> &bull; <a href="javascript:marklist(false);">Unmark all</a></p>
+ <p><a href="javascript:marklist('inactive', 'mark', true);">{L_MARK_ALL}</a> &bull; <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}" />
diff --git a/phpBB/adm/style/acp_permissions.html b/phpBB/adm/style/acp_permissions.html
new file mode 100644
index 0000000000..a3fe26426f
--- /dev/null
+++ b/phpBB/adm/style/acp_permissions.html
@@ -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" />&nbsp; {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}" /> &nbsp;{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}" /> &nbsp;
+ <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}" /> &nbsp;{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;" /> &nbsp;
+ <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}" />&nbsp;
+ <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}" /> &nbsp;{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>&nbsp;</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>&raquo; {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>&raquo; {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> &bull; <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 --> \ No newline at end of file
diff --git a/phpBB/adm/style/acp_users.html b/phpBB/adm/style/acp_users.html
index 0ecfc49417..35ceefe171 100644
--- a/phpBB/adm/style/acp_users.html
+++ b/phpBB/adm/style/acp_users.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}" /> &nbsp;Select Anonymous User</dd>
+ <dd class="full" style="text-align: left;"><input type="checkbox" id="anonymous" name="u" value="{ANONYMOUS_USER_ID}" /> &nbsp;{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}" />&nbsp;
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />&nbsp;
</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}">&raquo; {L_SET_USERS_PERMISSIONS}</a><br />
+ <a href="{U_USER_FORUM_PERMISSIONS}">&raquo; {L_SET_USERS_FORUM_PERMISSIONS}</a>
+ </fieldset>
+
+ <!-- INCLUDE permission_mask.html -->
+
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html --> \ No newline at end of file
diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css
index aa0cb68871..dd71698c93 100644
--- a/phpBB/adm/style/admin.css
+++ b/phpBB/adm/style/admin.css
@@ -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
---------------------------------------- */
diff --git a/phpBB/adm/style/overall_header.html b/phpBB/adm/style/overall_header.html
index 0cfc50bbdd..9345ae0682 100644
--- a/phpBB/adm/style/overall_header.html
+++ b/phpBB/adm/style/overall_header.html
@@ -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;
+ }
}
}
diff --git a/phpBB/adm/style/permission_mask.html b/phpBB/adm/style/permission_mask.html
new file mode 100644
index 0000000000..263ff3fffa
--- /dev/null
+++ b/phpBB/adm/style/permission_mask.html
@@ -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 -->&nbsp;<!-- 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 -->
+ &nbsp;
+ <!-- ELSE -->
+ <!-- <b>{L_PRESET}:</b>&nbsp; &nbsp;<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>&nbsp;</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> &bull; <a href="javascript: mark_options('a_options{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}', 'n')">{L_ALL_NO}</a> &bull; <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 -->
+ &nbsp;
+ <!-- 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;">&nbsp;</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 -->>&nbsp;</td>
+ <td<!-- IF p_mask.f_mask.category.mask.S_NO --> class="no"<!-- ELSE --> class="unset"<!-- ENDIF -->>&nbsp;</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 -->
diff --git a/phpBB/adm/style/simple_header.html b/phpBB/adm/style/simple_header.html
index 4aab5fe973..3a21c3bdab 100644
--- a/phpBB/adm/style/simple_header.html
+++ b/phpBB/adm/style/simple_header.html
@@ -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)
+ {
+ return;
+ }
+
+ var rb = parent.getElementsByTagName('input');
+
+ for (var r = 0; r < rb.length; r++)
{
- doc.elements[i].checked = status;
+ if (rb[r].name.substr(0, name.length) == name)
+ {
+ rb[r].checked = state;
+ }
}
}