-
Bug
-
Resolution: Fixed
-
3.0.x
-
None
-
PHP Environment:
Database:
I found some pages in the ACP which use invalid XHTML, here is a list of those:
[list: 3bi6vjn1]
- Maintenance > Database Restore: When the list of backups is empty:
Error Line 208, Column 54: end tag for "select" which is not finished.
<dd><select id="file" name="file"
size="10"></select></dd> - Permissions > Admin roles > Edit a admin role ("Standard Admin" in my
case):
127 errors, better check yourself.
- Forums > Prune forums:
Warning Line 208, Column 18: reference to nonexistent ID "forum".
<dt><label for="forum">Select a forum:</label></dt>
- General > Authentication:
- Warning Line 250, Column 234: character "&" is the first character
of a delimiter but occurred as data.
…p> would result in the use of
<samp>(&(uid=$username)(objectClass=posixGroup)Line 250, Column > 80: XML Parsing Error: xmlParseEntityRef: no name.
…er filter:</label><br /><span>Optionally you can further limit the
searched o… - Warning Line 250, Column 234: character "&" is the first character
- Posting > BBCodes when the list of custom BBCodes is empty:
- Error Line 217, Column 9: end tag for "tbody" which is not finished.
</tbody>
(same for "Word censoring" and "Topic icons")
- Posting > Manage extension groups > Edit a extension group:
- Error Line 281, Column 52: there is no attribute "name".
…mg src="./../images/spacer.gif" name="image_upload_icon" alt=""
title="" />&nStyles > Styles > Click on "install" on an uninstalled style:
Line 213, Column 13: ID "name" already defined.<dd><b id="name">© 2005 phpBB Group</b></dd>
Line 212, Column 18: reference to nonexistent ID "copyright".
<dt><label for="copyright">Copyright:</label></dt>
(same for "Themes" and "Imagesets")
- Posting > Topic Icons > Edit an topic icon:
- Error Line 262, Column 26: character "[" is not allowed in the value of attribute "id".
<td><select id="order[smile/mrgreen.gif]" name="order[smile/mrgreen.gif]">
I created a patch that fixes all mentioned issues and makes the pages XHTML conform:
Index: language/en/acp/board.php
===================================================================
--- language/en/acp/board.php (revision 8425)
+++ language/en/acp/board.php (working copy)
@@ -323,7 +323,7 @@
'LDAP_USER' => 'LDAP user <var>dn</var>',
'LDAP_USER_EXPLAIN' => 'Leave blank to use anonymous binding. If filled in phpBB uses the specified distinguished name on login attempts to find the correct user, e.g. <samp>uid=Username,ou=MyUnit,o=MyCompany,c=US</samp>. Required for Active Directory Servers.',
'LDAP_USER_FILTER' => 'LDAP user filter',
- 'LDAP_USER_FILTER_EXPLAIN' => 'Optionally you can further limit the searched objects with additional filters. For example <samp>objectClass=posixGroup</samp> would result in the use of <samp>(&(uid=$username)(objectClass=posixGroup))</samp>',
+ 'LDAP_USER_FILTER_EXPLAIN' => 'Optionally you can further limit the searched objects with additional filters. For example <samp>objectClass=posixGroup</samp> would result in the use of <samp>(&(uid=$username)(objectClass=posixGroup))</samp>',
));
// Server Settings
Index: language/en/acp/common.php
===================================================================
--- language/en/acp/common.php (revision 8425)
+++ language/en/acp/common.php (working copy)
@@ -126,6 +126,8 @@
'ACP_MOD_LOGS' => 'Moderator log',
'ACP_MOD_ROLES' => 'Moderator roles',
+ 'ACP_NO_ITEMS' => 'There are no items.',
+
'ACP_ORPHAN_ATTACHMENTS' => 'Orphaned attachments',
'ACP_PERMISSIONS' => 'Permissions',
Index: adm/style/acp_database.html
===================================================================
--- adm/style/acp_database.html (revision 8425)
+++ adm/style/acp_database.html (working copy)
@@ -11,17 +11,19 @@
<fieldset>
<legend>{L_RESTORE_OPTIONS}</legend>
+ <!-- IF .files -->
<dl>
<dt><label for="file">{L_SELECT_FILE}:</label></dt>
<dd><select id="file" name="file" size="10"><!-- BEGIN files --><option value="{files.FILE}"<!-- IF files.S_LAST_ROW --> selected="selected"<!-- ENDIF -->>{files.NAME}</option><!-- END files --></select></dd>
</dl>
- <!-- IF .files -->
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_START_RESTORE}" />
<input class="button2" type="submit" id="delete" name="delete" value="{L_DELETE_BACKUP}" />
<input class="button2" type="submit" id="download" name="download" value="{L_DOWNLOAD_BACKUP}" />
</p>
+ <!-- ELSE -->
+ <p>{L_ACP_NO_ITEMS}</p>
<!-- ENDIF -->
{S_FORM_TOKEN}
</fieldset>
Index: adm/style/acp_attachments.html
===================================================================
--- adm/style/acp_attachments.html (revision 8425)
+++ adm/style/acp_attachments.html (working copy)
@@ -192,7 +192,7 @@
<dd><select name="upload_icon" id="upload_icon" onchange="update_image(this.options[selectedIndex].value);">
<option value="no_image"<!-- IF S_NO_IMAGE --> selected="selected"<!-- ENDIF -->>{L_NO_IMAGE}</option>{S_FILENAME_LIST}
</select></dd>
- <dd> <img <!-- IF S_NO_IMAGE -->src="{PHPBB_ROOT_PATH}images/spacer.gif"<!-- ELSE -->src="{UPLOAD_ICON_SRC}"<!-- ENDIF --> name="image_upload_icon" alt="" title="" /> </dd>
+ <dd> <img <!-- IF S_NO_IMAGE -->src="{PHPBB_ROOT_PATH}images/spacer.gif"<!-- ELSE -->src="{UPLOAD_ICON_SRC}"<!-- ENDIF --> alt="" title="" /> </dd>
</dl>
<dl>
<dt><label for="extgroup_filesize">{L_MAX_EXTGROUP_FILESIZE}:</label></dt>
Index: adm/style/acp_words.html
===================================================================
--- adm/style/acp_words.html (revision 8425)
+++ adm/style/acp_words.html (working copy)
@@ -62,6 +62,10 @@
<td style="text-align: center;">{words.REPLACEMENT}</td>
<td> <a href="{words.U_EDIT}">{ICON_EDIT}</a> <a href="{words.U_DELETE}">{ICON_DELETE}</a> </td>
</tr>
+ <!-- BEGINELSE -->
+ <tr class="row1">
+ <td colspan="3" style="text-align: center;">{L_ACP_NO_ITEMS}</td>
+ </tr>
<!-- END words -->
</tbody>
</table>
Index: adm/style/acp_icons.html
===================================================================
--- adm/style/acp_icons.html (revision 8425)
+++ adm/style/acp_icons.html (working copy)
@@ -117,9 +117,9 @@
<!-- ENDIF -->
</td>
<!-- IF ID or S_ADD -->
- <td><select id="order[{items.IMG}]" name="order[{items.IMG}]">
- <optgroup id="order_disp[{items.IMG}]" label="{L_DISPLAY_POSTING}" <!-- IF not items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_DISPLAY}</optgroup>
- <optgroup id="order_no_disp[{items.IMG}]" label="{L_DISPLAY_POSTING_NO}" <!-- IF items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_UNDISPLAY}</optgroup>
+ <td><select id="order[{items.IMG}]">
+ <optgroup id="order_disp[{items.IMG}]" <!-- IF not items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_DISPLAY}</optgroup>
+ <optgroup id="order_no_disp[{items.IMG}]" <!-- IF items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_UNDISPLAY}</optgroup>
</select></td>
<!-- ENDIF -->
<!-- IF S_ADD -->
@@ -248,6 +248,10 @@
<a href="{items.U_EDIT}">{ICON_EDIT}</a> <a href="{items.U_DELETE}">{ICON_DELETE}</a>
</td>
</tr>
+ <!-- BEGINELSE -->
+ <tr>
+ <td class="row1" colspan="{COLSPAN}" style="text-align: center;">{L_ACP_NO_ITEMS}</td>
+ </tr>
<!-- END items -->
</tbody>
</table>
Index: adm/style/acp_permission_roles.html
===================================================================
--- adm/style/acp_permission_roles.html (revision 8425)
+++ adm/style/acp_permission_roles.html (working copy)
@@ -30,8 +30,7 @@
<form id="acp_roles" method="post" action="{U_ACTION}">
- <br />
- <a href="#acl">» {L_SET_ROLE_PERMISSIONS}</a>
+ <p><a href="#acl">» {L_SET_ROLE_PERMISSIONS}</a></p>
<fieldset>
<legend>{L_ROLE_DETAILS}</legend>
@@ -57,10 +56,9 @@
<!-- ENDIF -->
- <a name="acl"></a>
+ <p><a name="acl"></a></p>
- <a href="#maincontent">» {L_BACK_TO_TOP}</a><br />
- <br /><br />
+ <p><a href="#maincontent">» {L_BACK_TO_TOP}</a></p>
<h1>{L_ACL_TYPE}</h1>
@@ -107,9 +105,9 @@
<!-- IF auth.mask.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
<th class="permissions-name<!-- IF auth.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->">{auth.mask.PERMISSION}</th>
- <td class="permissions-yes"><label for="{auth.mask.FIELD_NAME}_y"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_y" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></label></td>
- <td class="permissions-no"><label for="{auth.mask.FIELD_NAME}_u"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_u" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NO --> checked="checked"<!-- ENDIF --> value="-1" /></label></td>
- <td class="permissions-never"><label for="{auth.mask.FIELD_NAME}_n"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="setting[{auth.mask.FIELD_NAME}]_n" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NEVER --> checked="checked"<!-- ENDIF --> value="0" /></label></td>
+ <td class="permissions-yes"><label for="{auth.mask.FIELD_NAME}_y"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="{auth.mask.FIELD_NAME}_y" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_YES --> checked="checked"<!-- ENDIF --> value="1" /></label></td>
+ <td class="permissions-no"><label for="{auth.mask.FIELD_NAME}_u"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="{auth.mask.FIELD_NAME}_u" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NO --> checked="checked"<!-- ENDIF --> value="-1" /></label></td>
+ <td class="permissions-never"><label for="{auth.mask.FIELD_NAME}_n"><input onchange="set_colours('00{auth.S_ROW_COUNT}', false)" id="{auth.mask.FIELD_NAME}_n" name="setting[{auth.mask.FIELD_NAME}]" class="radio" type="radio"<!-- IF auth.mask.S_NEVER --> checked="checked"<!-- ENDIF --> value="0" /></label></td>
</tr>
<!-- END mask -->
</tbody>
@@ -119,8 +117,8 @@
</div>
<!-- END auth -->
</div>
-
</fieldset>
+ <p><a href="#maincontent">» {L_BACK_TO_TOP}</a></p>
<fieldset class="quick">
<input type="submit" class="button1" name="submit" value="{L_SUBMIT}" />
@@ -128,9 +126,6 @@
</fieldset>
</form>
- <a href="#maincontent">» {L_BACK_TO_TOP}</a><br />
- <br />
-
<!-- ELSE -->
<h1>{L_TITLE}</h1>
Index: adm/style/acp_bbcodes.html
===================================================================
--- adm/style/acp_bbcodes.html (revision 8425)
+++ adm/style/acp_bbcodes.html (working copy)
@@ -103,6 +103,10 @@
<td style="text-align: center;">{bbcodes.BBCODE_TAG}</td>
<td style="text-align: right; width: 40px;"><a href="{bbcodes.U_EDIT}">{ICON_EDIT}</a> <a href="{bbcodes.U_DELETE}">{ICON_DELETE}</a></td>
</tr>
+ <!-- BEGINELSE -->
+ <tr class="row1">
+ <td colspan="2" style="text-align: center;">{L_ACP_NO_ITEMS}</td>
+ </tr>
<!-- END bbcodes -->
</tbody>
</table>
Index: adm/style/acp_styles.html
===================================================================
--- adm/style/acp_styles.html (revision 8425)
+++ adm/style/acp_styles.html (working copy)
@@ -459,7 +459,7 @@
</dl>
<dl>
<dt><label for="copyright">{L_COPYRIGHT}:</label></dt>
- <dd><!-- IF S_INSTALL --><b id="name">{COPYRIGHT}</b><!-- ELSE --><input type="text" id="copyright" name="copyright" value="{COPYRIGHT}" /><!-- ENDIF --></dd>
+ <dd><!-- IF S_INSTALL --><b id="copyright">{COPYRIGHT}</b><!-- ELSE --><input type="text" id="copyright" name="copyright" value="{COPYRIGHT}" /><!-- ENDIF --></dd>
</dl>
<!-- IF S_STYLE and not S_BASIS -->
<dl>
Index: adm/style/acp_prune_forums.html
===================================================================
--- adm/style/acp_prune_forums.html (revision 8425)
+++ adm/style/acp_prune_forums.html (working copy)
@@ -43,8 +43,8 @@
<legend>{L_SELECT_FORUM}</legend>
<p>{L_LOOK_UP_FORUMS_EXPLAIN}</p>
<dl>
- <dt><label for="forum">{L_LOOK_UP_FORUM}:</label></dt>
- <dd><select name="f[]" multiple="multiple" size="10">{S_FORUM_OPTIONS}</select></dd>
+ <dt><label for="forums">{L_LOOK_UP_FORUM}:</label></dt>
+ <dd><select name="f[]" id="forums" multiple="multiple" size="10">{S_FORUM_OPTIONS}</select></dd>
<dd><label><input type="checkbox" class="radio" name="all_forums" value="1" /> {L_ALL_FORUMS}</label></dd>
</dl>