NOTE:: Before reporting an issue, make sure you are running the latest version, currently 3.3.1

View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0016764phplist applicationInterface - Administratorpublic27-03-13 15:0628-03-13 13:14
PlatformOSOS Version
Product VersionSVN 
Target VersionFixed in Version2.11.8 
Summary0016764: HTML generted for navigation area by the WebblerListing class
DescriptionFound in the SVN trunk version.

Trying to get my statistics plugin to display its pager control using the WebblerListing class, I found problem with the html generated by that class.

See file admin/commonlib/lib/interface.lib lines 387-389

The html for the page is invalid. If you view, say, the users page and then view source in firefox, the html for the paging div is shown in red
because it is within a table but not within a td element.

A related problem is that the navigation is being displayed at the wrong point. It is displayed after the listingStart() and listingHeader() calls, so would be displayed after the column headings. But Firefox has actually compensated by displaying the div before the table, so when viewing the page the paging area seems to be in the correct position.

I suggest moving the insideNav() call to either:
before listingStart(), so it is a div outside but immediately before the table,
or after listingStart(), in which case it needs to be wrapped in table row/data elements

TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
michiel (manager)
27-03-13 20:35

indeed. I placed it before the header, but inside the table, wrapped in a TR TD.
duncanc (developer)
27-03-13 21:31

Just to check your change. If it is simply
      $html .= '<tr><td>' . $this->insideNav . '</tr></td>';
then it will be limited to the width of the first column. To allow the area to extend the full width of the table specify 0 for colspan:
      $html .= '<tr><td colspan="0">' . $this->insideNav . '</tr></td>';
michiel (manager)
27-03-13 21:42

ah, interesting didn't know about colspan="0" does that work on all browsers?

I do a column calculation, but didn't test it [^]
duncanc (developer)
28-03-13 11:39
edited on: 28-03-13 11:42

The colspan="0" works for Firefox and Chromium, but doesn't work on IE 7, which is the only version of IE that I have.

Can you modify your change so that insideNav is not within the sprintf formatting string. Otherwise it will be interpreted by sprintf.

        $html .= sprintf('<tr><td colspan="%d">%s</td></tr>',sizeof($this->columns)+1, $this->insideNav);

michiel (manager)
28-03-13 13:14

yes, good point. Done

Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker