Die zwei Jungs von wevent haben mal wieder tolle Arbeit geleistet. Nach dem „Freundesnetzwerk-Import“ über das hCard Microformat haben sie das ganze in Windeseile auch noch für Events umgesetzt. Über „Events Importieren“ ist es möglich mit hCalendar ausgezeichnete Events in wevent zu importieren. Einen sehr schönen und ausführlichen Bericht über das neue Feature findet ihr auf Dennis‘ Weblog.

Und damit ich mich etwas von der Thesis ablenken kann 😉 habe ich die ganzen Neuerungen natürlich sofort das wevent Operator Script angepasst. Die neue Version gibts unter hier.

Übrigens will sich wevent umbenennen und zahlt 500 € für die beste Idee!

Seit dem 21. August steht die Finale Version (Version 0.8) des Firefox Operator Plugins bei addons.mozilla.org zum Download zur Verfügung.

Features von Operator 0.8:

  • RDFa support (courtesy of Elias Torres)
  • eRDF support (courtesy of Keith Alexander)
  • New user interface elements, including an icon on the location bar as well as a sidebar
  • New preferences including auto-hiding the toolbar
  • The address microformats has been split out so that actions can be more granular
  • Actions can now be associated with multiple types of data, so the Google Maps action, for instance, works with Addresses and Locations
  • Much better support for frames and iframes
  • Support for non HTML documents
  • When debugging microformats, Operator connects to Brian Suda’s X2V behind the scenes so you can compare results
  • Lots of bug fixes

Außerdem gibt es unter mozillalinks.org ein Interview mit dem Operator Entwickler Michael Kaply über die Microformats implementierung in Firefox 3.

Here are some code snippets to use the gorgeous X2V microformats XSLT files from Brian Suda with PHP 5 and libxslt (PHP 5 includes the XSL extension by default).

hCard to vCard:

To parse a XML or XHTML document, it has to be valid. To tidy the XML file, you can use a service from the W3C:

$xml_string_tidy = file_get_contents("http://cgi.w3.org/cgi-bin/tidy?docAddr=".urlencode($uri));

Then you have to create the HTML DOM…

@$document = new DOMDocument();
@$document->loadHTML($xml_string_tidy);

and the XSLT DOM…

$stylesheet = new DOMDocument();
$stylesheet->load('hcard2vcard.xsl');

Create a new XSLT Processor, load the Stylesheet…

$processor = new XsltProcessor();
$processor->importStylesheet($stylesheet);

and run the transformation.

$result = $processor->transformToDoc($document);
$str = $result->saveXML();

Now $str contains the transformed code.
To send the vCard header with PHP, try

header("Content-Disposition: attachment; filename=contact.vcf");
header("Content-Type: text/x-vcard; charset=UTF-8 name=contact.vcf");
echo $str;

If you want to use the vCard extension .vcf instead of .php you have to add something like that to your .htaccess file

RewriteEngine On
RewriteBase /
RewriteRule ^contact.vcf /hcard2vcard.php [L,QSA]

I hope it works 🙂