Paretje's blog

Korte URL's

Op the Game Section Community Forums worden nogal wel eens URL's gepost. Daardoor is sinds het ontstaan van het gebruik van RSS voor de laatste posts, eerst op de site en nu op het forum, hebben nogal wel eens lange urls de volledige pagina komen verstoren.

Dat heb ik nu opgelost door een limiterende factor toe te voegen aan de url-query en die door te verwijzen naar de parser. Daardoor is er nu altijd een perfecte lengte van het rechtse menu, 210 pixels. De lengte van de url's zijn nu maximum 25 tekens (allee, eigenlijk 23): http://com...33#pid1933

Het ziet er wel niet echt uit, maar het is niet de bedoeling dat die URL's allemaal volledig in die kleine "samenvatting" staat van die 5 laatste posts.


Nederlands

Ik heb zonet de Nederlandse vertaling van WordPress geïnstalleerd en Wordpress geconfigureerd naar dat pakket.


Nieuwe MyBB beveiliging

In de laatste versies, of een van de laatste, is er een nieuwe beveiliging toegevoegd aan MyBB om spam, hacks, .... te vermijden. Er is met name een veld toegevoegd genaamd "my_post_key". Door het volgende in de templates toe te voegen is het al opgelost:

<input type="hidden" name="my_post_key" value="{$mybb-/>post_code}" />


UTF-8

De database van Paretje's blog is vanaf nu volledig UTF-8, wat waarschijnlijk al eerder de bedoeling was.

Door deze conversie is wel een probleempje opgetreden bij de enige post die al UTF-8 was, namelijk het vorige waar de edits zijn verdwenen, dan maar hier.

Het nieuwe systeem is wel even wennen en was in het begin onoverzichtelijk, maar na het op de donkere kleuren te hebben gezet is het al veel beter.

Ook waren de bijlagen in eerste instantie verloren, maar op één na zijn ze allemaal terug beschikbaar.

Toch nog een iets die nog moet worden gedaan: de plugin voor de PHP-code in mijn posts.

Edit:
Voila, de PHP Highlighter werkt terug ;)


Wordpress 2.5

Ik heb wat zitten prutsen de vorige keer met Subversion, maar heb dan nogal wat directories verwijderd. Nu heb ik een oplossing gevonden die misschien wel zonder al die files te houden kan worden gebruikt als definitieve wijze om een nieuwe versie te installeren.

Ik ben met name bezig met een patch te maken voor Wordpress 2.3.3 en 2.5.0, wat een serieus pak blijkt te zijn. Dit doe ik met een combinatie van svn en diff:
svn diff old=http://svn.automattic.com/wordpress/tags/2.3.3/ new=http://svn.automattic.com/wordpress/tags/2.5/ > 233-250.patch

En juist toen ik het command plakte is het klaar: dan doen we alles in één keer he ;)

Maar dat lukte dus niet: dan maar terug gewoon de nieuwe files uploaden.


The development of the Game Section is back!

Na een lakse periode ben ik de laatste dagen terug gebeten door het virus dat MyBB/Game Section heet.

Zodus, vandaag is er heel wat veranderd aan de toekomstige versie van Game Sectie. Zo is er een complex systeem die ik een tijdje geleden had toegevoegd omgevormd tot een simpele query. Ook een complex systeem die ik bedacht had heb ik kunnen omvormen tot één query.

Zo bekom ik bijvoorbeeld de drie beste spelers:

< ?php
	$query = $db->query("SELECT u.uid, u.username, COUNT(c.gid) AS champs
	FROM ".TABLE_PREFIX."games_champions c
	LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=c.uid)
	LEFT JOIN ".TABLE_PREFIX."games g ON (c.gid=g.gid)
	WHERE g.active='yes'
	GROUP BY u.uid
	ORDER BY champs DESC
	LIMIT 0,3");
?>

Ik heb ook compatibiliteit gebouwd met het wijzigen, samenvoegen en verwijderen van gebruikers.

Verder nog enkele aanpassingen gedaan aan de uitwerking van de statistieken, zo konden er vroeger ook een game staan in de lijst van nieuwste kampioenen die niet meer actief is. Op die manier kan er eigenlijk een veld van de champions tabel verdwijnen, met name title.


Overtollige PM's

Ik heb zonet alle overtollige PM's op het Online - Urbanus Forum verwijderd. Dat wil zeggen alle PM's die werden verzonden of ontvangen door een gebruiker die zich nu niet meer op het forum bevindt. Dat is een afname van zo'n 200 nutteloze berichten.

Dit is daarvoor de belangrijkste code:

< ?php
//Load users
$query2 = $db->query("SELECT * FROM ".TABLE_PREFIX."users");
while($users_load = $db->fetch_array($query2))
{
	$users[$users_load['uid']] = $users_load['uid'];
}

//Load attachments
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."privatemessages");
while($pms = $db->fetch_array($query))
{
	if(!isset($users[$pms['toid']]) || !isset($users[$pms['uid']]) || !isset($users[$pms['fromid']]))
	{
		$db->query("DELETE FROM ".TABLE_PREFIX."privatemessages WHERE pmid='".$pms['pmid']."'");
		
		echo $pms['pmid']." from ".$pms['fromid'].": DELETED<br />\n";
	}
}
?>

Groot succes?

Is het Online - Urbanus Forum zo'n gigantisch succes? Er staat namelijk in de statistieken dat 100% van de gebruikers een post heeft geplaatst. Dat is natuurlijk door het feit dat enkel gebruikers die een post hebben geplaatst in de forums na verplaatsing/splitsing zijn gebleven.

Verder heb ik het logo hermaakt, en dat valt toch op aan kwaliteit, al is het globaal nog altijd hetzelfde logo.

Ik heb ook zojuist een fix online geplaatst van de Nederlandstalige vertaling van de Reputatie manager. Met name bij het updaten kwam er een nogal raar teken te voorschijn, dit opgelost door het gebruik van &uuml;. Verder verscheen er wanneer er een nieuwe reputatie was "Er geen nieuwe reputatie...", een beetje vreemd, niet?

En om nog een beetje verder te gaan heb ik nog een bugfix gemaakt voor het report systeem, deze bevat een controle op de array, zodat er geen PHP error verschijnt wanneer er geen reports zijn.


Attachments controller

Voila, alle attachments die niet nodig zijn zijn verwijderd, zowel op het Online - Urbanus Forum als de Game Section Community Forums.

Dat heeft er voor gezorgd dat er nu nog zo'n 5 MB op het Online - Urbanus Forum staan, en dus zo'n 14MB op de Game Section Community Forums. Daarvoor heb ik deze code gedraaid (ongeveer):

<?php
//Load attachments
$query = $db->query("SELECT * FROM ".TABLE_PREFIX."attachments");
while($attachments = $db->fetch_array($query))
{
	$query2 = $db->query("SELECT * FROM ".TABLE_PREFIX."posts WHERE pid='".$attachments['pid']."'");
	$test_post = $db->num_rows($query2);
	
	if($test_post == 0)
	{
		$db->query("DELETE FROM ".TABLE_PREFIX."attachments WHERE aid='".$attachments['aid']."'");
		
		echo $attachments['aid'].": DELETED<br />\n";
	}
	unset($test_post);
}
?>

AdminCP

Ik heb een beetje zitten spelen met het AdminCP van MyBB, met name de stijl.

De gehele site is in de stijl van Tango Blue, en zo nu ook het Administratie systeem. Alle classes van de CSS werd in grote lijnen aangepast naar Tango Blue, al waren er een paar dingen waar het niet duidelijk was van waar het kwam.

Het blijkt wel dat de attachments niet mee verwijderd werden met de forums, threads en posts. Zoals je kan zien is dit deel van het forum nooit echt reusachtig geweest, maar nu kan het stilaan openbloeien met de andere mods voor MyBB die ik maak, en eventuele andere project(je(s)).

http://uploads.online-urbanus.be/f3304e1e0996e794d27b6ca56701efe4