Uploaded image for project: 'In-Portal CMS'
  1. In-Portal CMS
  2. INP-302

Mod-rewrite erases page number given in "env" request parameter

    XMLWordPrintable

    Details

    • Type: Bug Report
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.0.1
    • Fix Version/s: 5.0.2-B1
    • Component/s: Front End
    • Labels:
      None

      Description

      Let's say we have two rewrite listeners:
      1. UserRewriteListener - handles template name transformations
      2. PrivateMessageRewriteListener - handles private message pagination and ids

      When UserRewriteListener is pretty sure, that there nothing to give to other rewrite listeners it returns false and PrivateMessageRewriteListener is not called.

      I'm building url, that contains such prefixes "m,u,private-message" and private-message prefix event is OnDelete - this is url to delete individual private message.

      Both rewrite listeners are written the way, that when event is present, then they don't rewrite prefix data. This way url will be:

      http://www.site.com/username/messages/outbox.html?env=private-message-16-2-10-OnDelete-

      As you can see, it contains private message ID - 16, current page in private message list - 2 and per page in private message list - 10. And I'm assuming that such values (16, 2, 10) will be available in OnDelete event, when I visit mentioned above url. But this doesn't happen (see call trace below):

      1. "env" variable is parsed and given variables are extracted from it (we have page number here).
      2. page numbers from all rewrite listeners are set to "1" (setting to all rewrite listeners, because we don't know what of that will be represented in event/template; setting to "1" to override page number stored in session) - this is where we loose our page number.
      3. when url ends with number, like "http://www.site.com/..../5.html) set this number as current page for all rewrite listeners.

      Problem happens in 2nd step, because it's setting first page to all rewrite listeners no matter will they be called or not.

      I propose we apply 2nd and 3rd steps individually before each rewrite listener is called. This way wrong page number won't be set for rewrite listener, that's not even is called.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                alex Alex
                Reporter:
                alex Alex
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: