WordPress ja “bad headers Non-encoded 8-bit data”

Jyväskylän yliopiston atk-keskus paikkasi ilmeisesti spamassassinissa (tiedote on niin mitäänsanomaton, että edes tästä ei saa selvää) havaitun aukon asetuksella, joka rikkoo skandeja sisältävät sähköpostiviestien otsikot. WordPress narahti tähän tietysti heti ensimmäisenä: skandeja sisältävällä otsikolla varustettuihin merkintöihin tulevat kommentit heittävät laidasta lukien “bad headers Non-encoded 8-bit data” -herjaa. Kyhäsin pluginintekeleen joka korvaa otsikoiden skandit a:lla ja o:lla WP:n sähköpostittamissa kommenteissa.

Viper’s Video Quicktags

“[This plugin] creates a bunch of new [WYSIWYG buttons which, when pushed, prompt] you for the video’s ID or URL and then inserts XHTML valid code into your post or page. […] This Plugins Provides Support For:

Viper007Bond.com via ryanfitzer

I modified the plugin just slightly so that each embedded object gets a named class (e.g. "youtubevideo") which I can then manipulate trough the stylesheet (like centering the video using display: block; and margin: 1em auto;).

Recent Comments Plugin and trackback titles

I’m using the excellent Recent Comments plugin by Krischan Jodies on my other blog. It’s been working perfectly until I got the first pingback without a » (a ») in the $comment->comment_author field. That caused it to echo “Anonymous” instead of the actual title of blog doing the pingback.

Strangely, of the macros defined by Recent Comments, %trackback_title seems to have the correct title already for the one ping coming from outside my site, but for in-site pings it displays the title of the post being pinged, so replacing %comment_author with %trackback_title wouldn’t help.

So I edited the plugin to fix this. $comment_author is set on line 659:

659			$comment_author =
				trim(substr($comment_author,0,strpos($comment_author,'»')));

Apparently, if the title doesn’t have a » in it, this nullifies comment_author, causing the soon to follow if (! $comment_author) test to fail and subsequently $comment_author being set to “Anonymous”.

So I wrapped the trimming clause (the one on line 659 in the original) inside a conditional, which tests for the presence of »:

659			if (strpos($comment_author,'»') !== false) {
660				$comment_author =
					trim(substr($comment_author,0,strpos($comment_author,'»')));
661			}

Now the title of the page doing the pingback is preserved in %comment_author.

WordPress 2.0.4

“WordPress 2.0.4, the latest stable release in our Duke series, is available for immediate download. This release contains several important security fixes, so it’s highly recommended for all users. We’ve also rolled in a number of bug fixes (over 50!), so it’s a pretty solid release across the board.”

WordPress via BlogsNow

A little over a week ago I was wondering whether upgrading to 2.0.3 would be worth it. Apparently, I should have dug deeper to find out 2.0.4 was this close.