6.0.0-beta1
7/5/25

[#9903] Message Source stopped working
Summary Message Source stopped working
Queue Horde Framework Packages
Type Bug
State Resolved
Priority 1. Low
Owners slusarz (at) horde (dot) org
Requester jacob-horde (at) vindvejr (dot) dk
Created 04/13/2011 (5197 days ago)
Due
Updated 04/22/2011 (5188 days ago)
Assigned 04/13/2011 (5197 days ago)
Resolved 04/22/2011 (5188 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
04/22/2011 10:30:16 AM Jan Schneider Version ⇒
Queue ⇒ Horde Framework Packages
 
04/22/2011 10:29:56 AM Jan Schneider Taken from Jan Schneider
State ⇒ Resolved
 
04/22/2011 08:11:49 AM jacob-horde (at) vindvejr (dot) dk Comment #15 Reply to this comment
Thanks, the fix works. I fixed php.ini afterwards, and it still works. 
I must accidentally have used "&" from the php.ini-production 
example line for arg_separator.output years ago. Strange that it 
haven't given me trouble before.
04/21/2011 07:11:53 PM Michael Slusarz Comment #14 Reply to this comment
Try this fix.  Seems that some PHP servers have arg_separator.output 
set to '&' for some reason.  Which IMHO is completely broken 
behavior - URL separators are defined as '&'.  '&' is nothing more 
than an escaped/encoded version of the URL separator used in certain 
contexts, but certainly not all.
04/21/2011 07:10:13 PM Git Commit Comment #13 Reply to this comment
Changes have been made in Git for this ticket:

Bug #9903: Fix for PHP servers with broken arg_separator.output strings

  1 files changed, 2 insertions(+), 1 deletions(-)
http://git.horde.org/horde-git/-/commit/23c60e65beca4850e4a8ef50bac035de353cd4c8
04/21/2011 07:01:21 PM Michael Slusarz Comment #12 Reply to this comment

[Show Quoted Text - 15 lines]
FWIW, this is exactly what I get, and I am not seeing a double encoding issue.
04/21/2011 06:59:07 PM Michael Slusarz Comment #11
Assigned to Jan Schneider
Reply to this comment
Adding Jan, since he wrote Horde_Url.
04/15/2011 10:37:16 AM jacob-horde (at) vindvejr (dot) dk Comment #10 Reply to this comment
2011-04-15T12:35:00+02:00 DEBUG: Variable information:
string(202) 
"void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fview.php%22%2C%22menu%22%3A1%2C%22params%22%3A%22actionID%3Dview_source%26amp%3Bid%3D0%26amp%3Buid%3D44725%26amp%3Bmailbox%3DINBOX%22%7D'));"

Backtrace:
1. IMP_Contents->linkViewJS() /var/www/secure/horde/imp/message.php:566
2. Horde::debug() /var/www/secure/horde/imp/lib/Contents.php:857

2011-04-15T12:35:00+02:00 DEBUG: Variable information:
object(Horde_Url)#372 (6) {
   ["url"]=>
   string(19) "/horde/imp/view.php"
   ["raw"]=>
   bool(false)
   ["parameters"]=>
   array(0) {
   }
   ["pathInfo"]=>
   NULL
   ["anchor"]=>
   string(0) ""
   ["toStringCallback"]=>
   NULL
}

Backtrace:
1. IMP_Contents->linkViewJS() /var/www/secure/horde/imp/message.php:566
2. Horde::debug() /var/www/secure/horde/imp/lib/Contents.php:858

04/15/2011 05:28:26 AM Michael Slusarz Comment #9 Reply to this comment
Next step - Horde::debug(Horde::url('view.php')) on the same line as before.
04/14/2011 08:26:01 AM jacob-horde (at) vindvejr (dot) dk Comment #8 Reply to this comment
2011-04-14T10:22:59+02:00 DEBUG: Variable information:
string(203) 
"void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fview.php%22%2C%22menu%22%3A1%2C%22params%22%3A%22actionID%3Dview_source%26amp%3Bid%3D1%2$

Backtrace:
1. IMP_Contents->linkViewJS() /var/www/secure/horde/imp/message.php:566
2. Horde::debug() /var/www/secure/horde/imp/lib/Contents.php:857

04/13/2011 08:43:23 PM Michael Slusarz Comment #7
Assigned to Michael Slusarz
Reply to this comment
<a 
onclick="void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fview.php%22%2C%22menu%22%3A1%2C%22params%22%3A%22actionID%3Dview_source%26amp%3Bid%3D1%26amp%3Buid%3D44691%26amp%3Bmailbox%3DINBOX%22%7D'));" class="widget" accesskey="M"><span class="accessKey">M</span>essage 
Source</a>
That *is* an invalid string - '[...]view_source%26amp%3Bid[...]' 
should be '[...]view_source%3Bid[...]'.  But the problem is neither I 
(nor Jan) can reproduce - we both get the 2nd encoded version while 
you are getting the 1st encoded version.

In imp/lib/Contents.php, in the function linkViewJS(), can you put a 
Horde::debug($url) call in after the line that begins '$url = 
Horde::popupJs(...'

Horde::debug() documentation: http://wiki.horde.org/Doc/Dev/DebugH4

My guess is that your system is auto-appending some kind of parameters 
to all URLs that is not happening here, so the ampersand 
auto-detection is failing in Horde_Url.
04/13/2011 08:01:58 PM jacob-horde (at) vindvejr (dot) dk Comment #6 Reply to this comment
Whoops, copied the wrong line:

<a 
onclick="void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fview.php%22%2C%22menu%22%3A1%2C%22params%22%3A%22actionID%3Dview_source%26amp%3Bid%3D1%26amp%3Buid%3D44691%26amp%3Bmailbox%3DINBOX%22%7D'));" class="widget" accesskey="M"><span class="accessKey">M</span>essage 
Source</a>
04/13/2011 07:59:23 PM jacob-horde (at) vindvejr (dot) dk Comment #5 Reply to this comment
Yes, the generated code looks like this:

<a 
href="javascript:void(Horde.popup('%7B%22url%22%3A%22%5C%2Fhorde%5C%2Fimp%5C%2Fcompose.php%22%2C%22params%22%3A%22actionID%3Dredirect_compose%26amp%3Bidentity%3D0%26amp%3Bthismailbox%3DINBOX%26amp%3Buid%3D44691%22%7D'));" class="widget" accesskey="t">Redirec<span 
class="accessKey">t</span></a>

which turns into this:

https://<site>/horde/imp/view.php?actionID=view_source&amp%3Bid=1&amp%3Buid=44691&amp%3Bmailbox=INBOX&uniq=1302724661776

and thus doesn't work. Can I give you some more details about my setup?
04/13/2011 07:36:45 PM Jan Schneider Comment #4 Reply to this comment
There is no link content, there is only onclick javascript content. 
And that works perfectly fine for me.
04/13/2011 07:28:04 PM jacob-horde (at) vindvejr (dot) dk Comment #3
New Attachment: message_source.png Download
Reply to this comment
Traditional IMP interface (screenshot attached).
04/13/2011 07:18:43 PM Jan Schneider Comment #2
State ⇒ Feedback
Reply to this comment
Using which interface?
04/13/2011 06:00:15 PM jacob-horde (at) vindvejr (dot) dk Comment #1
Priority ⇒ 1. Low
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Summary ⇒ Message Source stopped working
Type ⇒ Bug
Queue ⇒ IMP
Reply to this comment
I have just upgraded from Horde 3.3 to 4.0. I did a fresh install, 
reconfigured everything and let Horde upgrade the DB schemas.

The link "Message Source" when viewing a mail message is wrong in this 
version. Example of generated link:

https://site/horde/imp/view.php?actionID=view_source&amp%3Bid=1&amp%3Buid=44676&amp%3Bmailbox=INBOX&uniq=1302717323354

If I copy the URL and change it to:

https://site/horde/imp/view.php?actionID=view_source&id=1&uid=44676&mailbox=INBOX&uniq=1302717323354

it works. Tried with both Chrome, Firefox and IE.

Saved Queries