Closed (fixed)
Project:
Facet API
Version:
7.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
5 Jul 2011 at 11:52 UTC
Updated:
25 Jul 2011 at 12:42 UTC
Jump to comment: Most recent file
Comments
Comment #1
drunken monkeySubscribing.
Comment #2
cpliakas commentedHaven't tested this at all, however it at least illustrates the problem. I suspect it will work.
Comment #3
cpliakas commentedThis is probably better since colon's in the value are currently handled correctly.
Comment #4
katbailey commentedThanks for this Chris - however, I needed to make one change to your patch to get the filters to work. At line 168 of adapter.inc, you're doing
but this actually double-encodes the colon. So I've changed it to
because the $field_alias needs to be the name in its original form.
There's also a problem in facetapi.block.inc because of the fact that the deltas are being constructed with colons separating searcher, realm name and facet name. I've addressed this in the patch (just using urlencode and urldecode which may not be the best solution).
Comment #5
katbailey commentedOops, that last patch didn't have the block fix in it... here we go.
Comment #6
cpliakas commentedThis looks good. I smell Kat-commit number 2. I am going to try to write some unit tests for this, then we can push it through. Feel free to write the test if you are inclined to do so, but I feel like you are probably coding some more important things :-).
Comment #7
cpliakas commentedAdded supporting tests in commit 34bbe23.
Comment #8
cpliakas commentedTests fail without patch and succeed with patch.
Comment #9
cpliakas commentedCommitted at 5cff397.
Comment #10
pwolanin commentedwe should be using rawurlencode() I think - that's what Drupal uses everywhere.
urlencode() is only for the outdated POST data spec.
Comment #11
cpliakas commentedAgreed :( Missed that one.
Comment #12
cpliakas commentedMarking this as issue fixed, posted a new issue at #1215066: Replace deprecated urlencode() with rawurlencode().