vbali blogja

just a geek with a blog

WLW, UTW és WP xmlrpc hack

Nem keves faradtsag aran sikerult megoldanom az Ultimate Tag Warrior tagek publikalasat a Windows Live Writerrel. Ehhez a mar jol ismert xmlrpc hack-ből indultam ki, azonban ez nem műkodott a 3.14159265 szamu UTW verzioval.

Feltelepitettem a Fiddlert es elkezdtem debuggolni a postolas folyamatat. Mint ahogy a mellekelt kepen is latszik, az mt_keywords nevű nodeban a megadott kulcsszavakat a WLW szepen elkuldte a Wordpressnek, ott azonban megsem jelentek meg a tagek. Bosszantott, hogy egy ilyen egyszerű dolgot nem tudok osszehozni ezert elkezdtem debuggolni az UTW plugint szerver oldalon. Hamarosan rajottem, hogy az ultimate-tag-warrior-actions.php fajlban az ultimate_save_tags() fuggvenyben akad el a dolog megpedig a kovetkező sornal:

1
2
3
<?php
if ( !wp_verify_nonce($_POST['utw-verify-key'], 'utw') )
return $postID;

Innentől mar egyszerű volt a megoldas, mert csak a verify_nonce-ot kellett letrehozni az xmlrpc.php-ban:

1
2
3
4
5
<?php
// ROBIN LU UTW / ECTO HACK
// Kelly Adams Ecto hack: strip Ecto HTML from mt_keywords
$_POST['tagset'] = ecto_clean_tags($content_struct['mt_keywords']);
$_POST['utw-verify-key'] = wp_create_nonce("utw");

A feltoltesi problema el is harult, a WLW-el keszitett postoknal megadott tagek annak rendje es modja szerint feltoltődnek es megjelennek a Wordpressben. A korabbi postok szerkesztese soran azonban a WLW valamiert nem birkozik meg a korabban megadott kulcsszavakkal. Mint a masodik kepen latszik, a wordpress lekuldi ugyan ezeket a tageket, de nem tortenik veluk semmi. Ez vagy egy WLW bug vagy az xmlrpc-nek kellene masmilyen formatumban listaznia az mt_keywords szekcio tartalmat. Ha valakinek van erről informacioja akkor orommel veszem, ha megosztja velem!

Ecto-t hasznaloknak is jol johet a fenti informacio. Bar nem teszteltem, de velemenyem szerint ugyanaz a problema jonne elő a jelzett wp_create_nonce("utw") hozzaadasa nelkul.

A teljesseg kedveert megosztom az altalam modositott xmlrpc.php-t:
xmlrpc.php (Wordpress 2.1)

Tovabbi informaciok:
Windows Live Writer and Ultimate Tag Warrior
How to make ecto work with Ultimate Tag Warrior
How to make ecto work with Ultimate Tag Warrior Part II