Open jedgell opened 13 years ago
Hi, thanks for the report. What version webkit browser are you using, and what webserver you're running? I'm on Chrome 9.0 on Ubuntu, and even when I manually enter the URL in the address bar using the %7C syntax, it is automatically decoded once it comes through apache and hits PHP.
It sounds like it needs to be urldecoded before being used, but (at least, on my configuration) I'm not sure if it should be done in a platform independent way.
Sorry 'bout that - missed an email, I'm sure. In any case, here are the vitals:
Chrome 9.0.597.102 on Mac Safari Version 5.0.3 (6533.19.4) Mac as well
Servers deets: Ubuntu 10.04.2 LTS kernel 2.6.32-28-server Server version: Apache/2.2.14 (Ubuntu) Server built: Nov 18 2010 21:19:09 PHP 5.3.2-1ubuntu4.7 with Suhosin-Patch (cli) (built: Jan 12 2011 18:36:55) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
CentOS release 5 (Final) Server version: Apache/2.2.16 (Unix) Server built: Aug 2 2010 10:38:07 Cpanel::Easy::Apache v3.2.0 rev5158 PHP 5.2.14 (cli) (built: Aug 2 2010 10:52:08) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies with the ionCube PHP Loader v3.3.20, Copyright (c) 2002-2010, by ionCube Ltd., and with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
(Running php as mod_php on both using same ini for cli as mod_php) can provide inis, if they'd be of any help
PS - Just a thought - it may be a peculiarity of Webkit on Mac - Firefox and Opera don't seem to have the same issue.
Thanks for the great plugin, Marcus! Found an issue with Webkit browsers (Chrome and Safari) decoding the pipe in URLs incorrectly and not allowing users to browse repos from the front end. Hope his solution is helpful.
From my programmer buddy Briley at kiveo
Inability to browse in Webkit browsers is due to character decoding issue. In Webkit browsers, the vertical pipe in the ID parameter is not decoded correctly (encoded as %7C). In ExternalContentPage.php, wherever this is:
$object = ExternalContent::getDataObjectFor($request->param('ID'));
He changed it to this:
$id = str_replace('%7C', '|', $request->param('ID')); $object = ExternalContent::getDataObjectFor($id);
Thanks Briley & Marcus!