Asentelin WordPress-blogimoottoria käyttävään sivustooni Last.fm-lisäosan.
Pluginin asennus ei kuitenkaan sujunut kovin helposti. Viimeisin kuuneltu kappale tuli kyllä sivupalkkiin näkyviin aivan oikein, mutta näkyville tuli myös kurja virheilmoitus:
Warning: gzinflate() [function.gzinflate]: data error in xxxxxx/wp-includes/http.php on line 1787
Meni tovi etsiskellessä ratkaisua. Lopulta se löytyi lisäosan kehittäjän sivuilta.
Wp-includes hakemistosta löytyvää http.php tiedostoa täytyi muokata hieman. Lisäsin tiedostoon seuraavan funktion:
function compatible_gzinflate($gzData) {
if ( substr($gzData, 0, 3) == "\x1f\x8b\x08" ) {
$i = 10;
$flg = ord( substr($gzData, 3, 1) );
if ( $flg > 0 ) {
if ( $flg & 4 ) {
list($xlen) = unpack('v', substr($gzData, $i, 2) );
$i = $i + 2 + $xlen;
}
if ( $flg & 8 )
$i = strpos($gzData, "\0", $i) + 1;
if ( $flg & 16 )
$i = strpos($gzData, "\0", $i) + 1;
if ( $flg & 2 )
$i = $i + 2;
}
return gzinflate( substr($gzData, $i, -8) );
} else {
return false;
}
}
Lisäksi korvasin funktiossa decompress( $compressed, $length = null ) rivin
$decompressed = gzinflate( $compressed );
rivillä
$decompressed = WP_Http_Encoding::compatible_gzinflate( $compressed );
Sivustoni CSS-tyylitiedostoon lisäsin seuraavat muotoilusäännöt:
#sidebar .lastfm-item {
display: block;
}
#sidebar .lastfm-timestamp {
display: block;
font-size: 0.6em;
}
Vaivannäön tulos näkyy tuossa oikeassa reunassa Twitter-merkintöjen alla. Eikös ollutkin helppoa?