Steps to reproduce:

1) Create a Page node with the title "Some Title" and put some bogus text in the body.

2) Create another Page node, and in the content put a "freelinking" link "[[Some Title]]"

3) View the Page node created during step 2. You will see the hyperlink with the text "Some Title". This hyperlink -should- take you to the Page node created during step 1. However, the actual hyperlink will be "(...)/index.php?q=freelinking/Some%2520Title"; Instead of "Some%20Title" the freelinking module appears to output "Some%2520Title".

This bug makes it impossible to link to nodes that have a title that contains more than one word.

Comments

Valorum’s picture

The culprit -seems- to be on line 278

$replacement = l($phrase, 'freelinking/' . rawurlencode(htmlspecialchars(rawurlencode($freelink))));

When i replace this with

$replacement = l($phrase, 'freelinking/' . urlencode($freelink));

it creates nicely URL-encoded strings for the title, changing a space into a "+". This seems to work, and it matches what is done on line 286 for CamelCase freelinks. Was there a reason for the difference??

eafarris’s picture

Status: Active » Closed (duplicate)