Hey everyone, I've been happily running my mediawiki for a while now and I implemented a little 5 line fix so that I could do interwiki links for Google and a few other things effectively. The catch with Google and many other services is that they don't like to interpret underscores as spaces. My hack was to leave all $1 interwiki links alone but add a $2 symbol for use when you actually want real spaces (or %20) in your URL.
It is getting a little tedious editing my change into the main each update and I'd imagine this might be a decent feature or fix if implemented correctly.
I didn't know much about the innards and figured out only enough to make it work, so here goes: I changed the function getFullURLs() in ./includes/Title.php by switching this: $url = str_replace( '$1', $namespace . $this->mUrlform, $baseUrl ); if ( '' != $this->mFragment ) { $url .= '#' . $this->mFragment; } return $url; with this: $urlPre = str_replace( "$1", $namespace . $this->mUrlform, $baseUrl ); if ( '' != $this->mFragment ) { $url .= '#' . $this->mFragment; } $url = str_replace( "$2", $namespace . str_replace("_", "%20", $this->mUrlform), $urlPre); return $url;
I then changed all of the bits of the URLs in the database entries of the Interwiki table which should have spaces from $1 to $2.
What do you think?
Thad