You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Ate Douma (JIRA)" <ji...@apache.org> on 2009/01/27 01:28:59 UTC

[jira] Created: (WICKET-2050) KittenCaptchaPanel generates a Ajax callback image url which potentially breaks when used in a Portlet

KittenCaptchaPanel generates a Ajax callback image url which potentially breaks when used in a Portlet   
---------------------------------------------------------------------------------------------------------

                 Key: WICKET-2050
                 URL: https://issues.apache.org/jira/browse/WICKET-2050
             Project: Wicket
          Issue Type: Bug
          Components: wicket-extensions
    Affects Versions: 1.4-RC1
            Reporter: Ate Douma
            Assignee: Ate Douma
            Priority: Minor
             Fix For: 1.4-RC2


KittenCaptchaPanel generates the Ajax callback image url in its onclick event handler using:

	javascript.append("Wicket.$('" + image.getMarkupId() + "').src = '");
	javascript.append(image.urlFor(IResourceListener.INTERFACE));
	javascript.append("&rand=" + Math.random());
	javascript.append("'");

Appending the rand parameter using "&rand=" assumes the image url already contains (at least) one other parameter.
Within a default (plain website) environment this most likely is true, however in a Portlet this really depends on how the portal encodes the generated image url in the resulting PortletURL.
Jetspeed-2 for instance (can) encode this as path element, in which case appending "&rand=" leads to an incorrect and invalid url.

For further information, please see WICKET-649 in which I described how I fixed similar cases in several other locations within Wicket.

I'll fix this issue likewise in a transparent way replacing the above with the following:

	javascript.append("Wicket.$('" + image.getMarkupId() + "').src = '");
	CharSequence url = image.urlFor(IResourceListener.INTERFACE);
	javascript.append(url);
	javascript.append((url.toString().indexOf('?') > -1 ? "&amp;" : "?") + "rand=" + Math.random());
	javascript.append("'");




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (WICKET-2050) KittenCaptchaPanel generates a Ajax callback image url which potentially breaks when used in a Portlet

Posted by "Ate Douma (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/WICKET-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ate Douma resolved WICKET-2050.
-------------------------------

    Resolution: Fixed

Fixed

> KittenCaptchaPanel generates a Ajax callback image url which potentially breaks when used in a Portlet   
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-2050
>                 URL: https://issues.apache.org/jira/browse/WICKET-2050
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-extensions
>    Affects Versions: 1.4-RC1
>            Reporter: Ate Douma
>            Assignee: Ate Douma
>            Priority: Minor
>             Fix For: 1.4-RC2
>
>
> KittenCaptchaPanel generates the Ajax callback image url in its onclick event handler using:
> 	javascript.append("Wicket.$('" + image.getMarkupId() + "').src = '");
> 	javascript.append(image.urlFor(IResourceListener.INTERFACE));
> 	javascript.append("&rand=" + Math.random());
> 	javascript.append("'");
> Appending the rand parameter using "&rand=" assumes the image url already contains (at least) one other parameter.
> Within a default (plain website) environment this most likely is true, however in a Portlet this really depends on how the portal encodes the generated image url in the resulting PortletURL.
> Jetspeed-2 for instance (can) encode this as path element, in which case appending "&rand=" leads to an incorrect and invalid url.
> For further information, please see WICKET-649 in which I described how I fixed similar cases in several other locations within Wicket.
> I'll fix this issue likewise in a transparent way replacing the above with the following:
> 	javascript.append("Wicket.$('" + image.getMarkupId() + "').src = '");
> 	CharSequence url = image.urlFor(IResourceListener.INTERFACE);
> 	javascript.append(url);
> 	javascript.append((url.toString().indexOf('?') > -1 ? "&amp;" : "?") + "rand=" + Math.random());
> 	javascript.append("'");

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.