Paretje's blog

XHTML Valid Menu

Zoals beloofd: de beschrijving om, volgens mijn thema, het WordPress menu XHTML Valid te mken ;)

Open wp-includes/category-template.php en zoek:

	if ( $title_li && 'list' == $style )
			$output = '<li class="categories">' . $r['title_li'] . '<ul>';

Vervang met:

	if ( $title_li && 'list' == $style )
			$output = $r['title_li'].'<ul>';

In hetzelfde bestand, zoek:

	if ( $title_li && 'list' == $style )
		$output .= '</ul></li>';

Vervang met:

	if ( $title_li && 'list' == $style )
		$output .= '</ul>';

Open wp-includes/post-template.php en zoek:

		if ( $r['title_li'] )
			$output .= '<li class="pagenav">' . $r['title_li'] . '<ul>';

Vervang met:

		if ( $r['title_li'] )
			$output .= $r['title_li'].'<ul>';

In hetzelfde bestand, zoek:

		if ( $r['title_li'] )
			$output .= '</ul></li>';

Vervang met:

		if ( $r['title_li'] )
			$output .= '</ul>';

WordPress 2.8 - WikiSteno

Vandaag heb ik, eindelijk?, min blog geüpgraded naar WordPress 2.8, en heb ik van de gelegenheid gebruikgemaakt om ook meteen een soort van droom waar te maken: mijn blog overschakelen op BBCode, en dat met behulp van de Steno plugin, die ook gebruikt wordt op Het Lab.

Daarna heb ik dan alle posts bijgewerkt naar het nieuwe systeem en dat heeft toch enkele uren in beslag genomen, aangezien ik op die manier nog de nodige gebreken en bugs heb gevonden, en gefixt.

Toen terug alle aanpassingen gedaan aan WordPress, zoals aan het gallery systeem, maar ook het menu. En die laatste heb ik blijkbaar hier nooit beschreven.Die mag je dus nog verwachten ;)

Toen ik mijn post over de force_balance_tags() functie postte zag ik dat ik plots aan nummer 360 zat! Dat lijkt me nogal verwarrend en dus even naar de database gekeken, en bleek dat alle aanpassingen die ik had gemaakt bewaard waren, vandaar het hoge getal ...

Als ik op inherit zoek in google, vindt ik deze pagina. Hier staat dus dat het waarschijnlijk kan verwijderd worden, wat ik dan ook heb gedaan, en dat levert zo te zien geen problemen op (een backup had ik daarstraks al gemaakt ;)).

Verder is die plugin iets interessants: hiermee kan ik die revisies uitschakelen! Ik heb hem dus maar geïnstalleerd.


force_balance_tags()

Ik ben ondertussen al erg gevorderd met het aanpassen van de posts, maar ik wilde nog eens een probleemgeval van in het begin bekijken, aangezien ik net terug een fix had gemaakt voor de php code.

Het probleemgeval zat heb er in dat er helemaal op het einde een </p> tag werd toegevoegd, omdat er in de code-voorbeelden een <p> stond. Wat zoeken in de pagina's die instaan voor het wijzigen van de posts leverde niets op. Toen ik echter op tags zocht in de bestanden van Wordpress vond ik de functie force_balance_tags(), die niet-afgesloten HTML-tags dus afsluit. Dit mag echter hier niet, aangezien die code van alles alle bevatten.

Dus, wilde ik even kijken waar die functie precies wordt uitgevoerd, maar blijkbaar staat die in een bestand met een nogal onlogische naam, want ik leek het bestand dat ik nodig heb niet te vinden.

Daarom heb ik het in feite simpel gehouden: ik heb van de hele functie een comment-blok gemaakt, en stuur dan de input direct terug als output. Daarmee is het probleem ook opgelost.

08/07/2009, 16:17:
En deze fix heeft de fix van PHP eigenlijk onmiddellijk overbodig gemaakt!

09/08/2009, 11:32:
Ik zie dat ik vergeten vermelden ben dat deze fix zich bevindt in wp-includes/formatting.php.


WikiSteno – BBCode

Vorig jaar heeft Henk op zijn blog zijn WikiSteno in gebruik genomen. Nu had ik al een tijdje gedacht om BBCode te gebruiken op dit blog, maar het is er nooit van gekomen.

Nu dacht ik gisteren aan iets: als ik nu eens op basis van de Steno plugin een BBCode plugin maak, de basis is er dan al.

Dus, je zal n het eerste uur nog veel zien veranderen hier, waarvoor mijn excuses.


Downloads

Blijkbaar was niet alleen de inhoud van het aloude Downloads systeem verouderd, zojuist zag ik ook dat ik blijkbaar helemaal in het begin, na de omschakeling op PHP5, register_globals op On heb gezet tot ik het downloads systeem had aangepast, en blijkbaar is daar nooit meer iets aan veranderd.

Dus heb ik nu maar even vlug enkele minuutjes uitgetrokken om dit toch even aan te passen zodat die verschrikkelijke setting eindelijk terug op Off kan gezet worden! En het is al opgelost:
http://www.online-urbanus.be/downloads.php


RSS feeds

Ik vind RSS feeds een fantastisch gegeven: je kan gewoon alle nieuws bijhouden zoals je je mails bijhoudt, en dat terwijl het och niet wordt geleverd via mails. Als reader gebruik ik Thunderbird, ingesteld om de webcontent te tonen ipv. de samenvatting.

Dat is heel handig: je krijgt immers gewoon de webpagina te zien zoals je op de site zou zitten, maar dan in Thunderbird, en je kan gemakkelijk zien welke sites een nieuw bericht hebben.

Nu is het bovenstaande wel niet altijd waar: als de RSS feed zelf de content mee levert wordt die immers getoond, ipv. de webpagina. Nu heb ik toch liever de webpagina. Ten eerste is die soms toch leesbaarder door de opmaak, en ten tweede worden op die manier hoef je niet de pagina te laden in je browser om te zien of aanpassingen zijn aan de pagina.

Nu is dat bijvoorbeeld vaak het geval bij hetlab.tk sinds Henk het systeem heeft aangepast zodat de feed er wat aantrekkelijker zou uitzien. Nu was ik bijvoorbeeld daarstraks nieuwsgierig of er aanpassingen waren aan het laatste bericht, waar er al de nodige aanpassingen waren aan gebeurd. Dus, ik ging even naar Thunderbird en zag er dat ik slechts de eerste versie van het bericht kon zien, zonder de vele toevoegingen.

Dat was voor mij de aanzet om even een scriptje te maken die voor mij gewoon een feed laadt, de content tags er uit verwijdert en de resterende feed teruggeeft. Door nu dit adres te gebruiken voor mijn "abonnement" op hetlab.tk kan ik nu terug het verloop van een artikel volgen in Thunderbird!

Het scriptje:
http://uploads.online-urbanus.be/6a74d7938a9773692af928a031c6eaab

Daarna kan je gewoon de feed bereiken vanaf, bijvoorbeeld, http://uwpc/uwmap/loadrss.php?url=http://www.hetlab.tk/feed

07/07/2009, 17:50:
En het lijkt te werken! Waarschijnlijk zal ik in de toekomst wel meer RSS feeds naar dit nieuwe systeem overschakelen ;)


http_post_fields()

Ooit wil ik eens een plugin maken voor de Game Section waarmee alle forums die die plugin installeren zich verbinden met één centrale database waar alle champions van alle games van alle forums in staan. Daarmee kan je dan kijken wie de beste is van allemaal.

Die informatie zou dan naar een script moeten worden gezonden via POST, en dat vroeg ik me een beetje af: hoe doe je dat met PHP. Ik wilde dat nu even opzoeken voor ik verder ging met het download systeem van de Game Section.

Op php.net vind ik de functie http_post_fields() waarmee ik dus gemakkelijk de nodige informatie kan verzenden met het post protocol. Die functie is echter onderdeel van pecl_http, en die staat niet in de repository van Ubuntu. Even zoekt me dat PECL een reposotory is voor php add-ons, en dat ik die kan installeren via het pakket php-pear.

Verder vereist het gebruik van PECL nog het pakket php5-dev, aangezien pecl de extensies dient te compileren. Voor pecl_http heb ik nog libcurl4-openssl-dev nodig.

Na de installatie van die drie pakketten gewoon het volgende commando ingeven, en pecl_http is klaar:
sudo pecl install pecl_http

Even pecl_http toevoegen aan de ini bestanden en ik kan deze functie eens uitproberen ...

05/07/2009, 16:32:
Om die wijzigingen toe te passen moet apache natuurlijk nog herstart worden:
sudo /etc/init.d/apache2 restart


Nieuwsbrief Update

Vandaag heb ik de pagina's van de Urbanus nieuwsbrief eindelijk eens aangepast aan het systeem die ondertussen al bijna een jaar in gebruik genomen is, al weet ik et nog maar sinds kort.

Vroeger controleerde ik met mijn ANU systeem (Automatische Nieuwsbrief Updater) elke dag op de RSS feed van de nieuwsbrief op Yahoo. Nu was die al een hele tijd niet meer in gebruik, en daarom heb ik vandaag het systeem aangepast zodat het nu elk uur de mails controleert.

Vanaf nu wordt inhoud van de berichten ook bijgehouden en wordt op basis van die informatie een RSS feed samengesteld, met de klasse van MyBB.


Firefox 3.5

Gisteren werd Firefox 3.5 uitgebracht en wilde het wel eens proberen.

Eerst en vooral alle packages van Ubuntu gedownload en aangepast zodat het zou werken on Hardy. Als dat afgelopen was alles in de repo gezet, en dan alles geïnstalleerd.

Het eerste wat opvalt is dat Firefox 3.5 aanzienlijk sneller opstart dan 3.0, echter zijn de fonts onder Hardy gene vette. Dat is met 3.0 vele malen beter. Mogelijk is dit omdat Firefox 3.5 eerder geoptimaliseerd is voor modernere software.

Verder zijn er niet zo'n grote verschillen, maar eentje is toch dat er nu standaard een knopje aanwezig is om een nieuw tablad te openen.

In mijn repo heb ik firefox 3.5 toegevoegd aan zowel de hardy als de jaunty sectie. Dit vanwege het feit dat firefox 3.5 voor jaunty al geruime tijd niet meer werd geüpdatet.


Simutrans 102.1

Het is nu al ondertussen meer dan een maand geleden dat ik hier nog iets gepost heb, aangezien het examens waren. Die zijn nu gedaan en nu is het natuurlijk wachten om te gaan werken.

Tijdens de examens zie ik me liefst zo weinig mogelijk bezig op het internet, en al helemaal met de Game Section. Als ik hier aan verder werk zal ik tijdens de examens ipv bezig te zijn met de examens bezig zijn met de Game Section.

Dus dan doe ik een beetje van alles 's avonds als ontspanning. Meestal is dat dan simutrans. Nu was het zo dat ik nog eens een oud spelletje wilde bekijken. Echter, toen ik die wilde openen bleek deze te crashen.

Daarom maar een bugreport gedaan en dan de volgende svn versie binnengehaald, waarna deze na compilatie probleemloos bleek te werken. Vandaar dat ik in de beta-packports section van hardy en jaunty deze versie heb geüpload.

Verder was ik vorige week bezig met het in maken van een nieuwe kast. Ik had namelijk een hoek waar er wat materiaal gewoon op de grond stond, wat natuurlijk niet erg proper is he.