Flickr Namespace and array_multisort() Issues
Aaron Wormus recently criticized me on IRC for putting too much thought and effort into blogging. He may have a point there. I’ve got a huge list of things I want to write about, but I haven’t put forth the effort because I do take too much time to write a post. So, here goes one for writing up a quick post…
I recently upgraded a few things around here (in particular, an upgrade to PHP 5.2), and I noticed two issues that occurred after the upgrade:
- My Flickr photo feed no longer worked, and
- My blogroll was no longer sorting alphabetically
I easily solved both of these issues:
The Flickr photo feed
I’m not entirely sure whether this problem was a result of the PHP 5.2 upgrade and SimpleXML becoming more particular about namespaces or Flickr simply changing the namespace string in their feed. I believe it was the latter. In short, my code stopped working because the namespace lacked a trailing slash (/
). It would’ve been great if Flickr had notified everyone about this first.
The code looked something like this:
Note the namespace listed in $item->children('http://search.yahoo.com/mrss');
. It’s lacking a trailing slash. This was never a problem before, but it seems that the Flickr feed changed to include a trailing slash, so SimpleXML was no longer able to properly get the data. I simply changed it to http://search.yahoo.com/mrss/
(note the trailing slash), and all worked fine.
Blogroll sorting
This was more than likely a result of the upgrade to PHP 5.2, though I can’t be sure. My blog sorting code worked like this:
Unfortunately, after the upgrade, this no longer worked. I had to add the SORT_STRING
flag as a parameter to array_multisort()
so that the line now reads:
And that fixed it.
Just thought I’d share the info in case this helps anyone.