Ik zou deze graag iets aangepast hebben.
A) Hij laat nu ook woorden zien als "de, het, een" etc en die wil ik wegfilteren, ik zou er dus een soort array bij willen hebben, waar je woorden in kan zetten die je eruit wilt halen, of die niet in het schema hoeven te staan. [heb het dus niet over woord censuur via admin, maar wel in de volgende code.]
B) Verder zou ik wel graag willen zien, dat hij de meest recente woorden kiest, dus bijvoorbeeld dat hij de woorden kiest die afgelopen week het meest zijn gepost en dikker zijn gedrukt.
C) Nog mooier zou zijn, dat er een 2- of 3-deling zou zijn, dus
"All time favoriete woorden: blabla.
Favo woorden afgelopen week: lala.
Afgelopen 24 uur: blabla"
Hier is de code die in php-file moet staan.
Code: Selecteer alles
/////
// BEGIN VGAN'S WORD CLOUD MOD
/////
// Set the minimum count a word must appear before entering the cloud.
$cloud_min = 3;
// Set the total number of words to display in the cloud.
$cloud_total = 50;
{
$sql = "SELECT phpbb_search_wordlist.word_text, COUNT(phpbb_search_wordmatch.word_id) AS count FROM phpbb_search_wordmatch , phpbb_search_wordlist WHERE phpbb_search_wordmatch.word_id =phpbb_search_wordlist.word_id AND phpbb_search_wordlist.word_text REGEXP '^[a-zA-Z]' GROUP BY phpbb_search_wordmatch.word_id HAVING COUNT(phpbb_search_wordmatch.word_id) >= ". $cloud_min ." ORDER BY phpbb_search_wordmatch.word_id DESC LIMIT 0,". $cloud_total ."";
if($result = $db->sql_query($sql))
{
$cloud_row = $db->sql_fetchrowset($result);
if (!empty($cloud_row))
{
for($j = 0; $j < count($cloud_row); $j++)
{
$word_text = $cloud_row[$j]['word_text'];
$word_count = $cloud_row[$j]['count'];
switch( $cloud_row[$j]['count'])
{
case $cloud_min:
$style_color = 'style="font-size:8px;text-decoration:none;"';
break;
case $cloud_min + 1:
$style_color = 'style="font-size:12px;text-decoration:none;"';
break;
case $cloud_min + 2:
$style_color = 'style="font-size:16px;text-decoration:none;"';
break;
case $cloud_min + 3:
$style_color = 'style="font-size:20px;text-decoration:none;"';
break;
case $cloud_min + 4:
$style_color = 'style="font-size:24px;text-decoration:none;"';
break;
case $cloud_min + 5:
$style_color = 'style="font-size:28px;text-decoration:none;"';
break;
case $cloud_min + 6:
$style_color = 'style="font-size:32px;text-decoration:none;"';
break;
case $cloud_min + 7:
$style_color = 'style="font-size:36px;text-decoration:none;"';
break;
default:
$style_color = 'style="font-size:40px;text-decoration:none;"';
break;
}
$cloud .= ' <b><a href="' . append_sid("search.$phpEx?mode=results&search_keywords=". $cloud_row[$j]['word_text']) . '"' . $style_color .'title="Appears '. $cloud_row[$j]['count']. ' times">' . $cloud_row[$j]['word_text'] . '</a></b>';
}
if( empty($cloud_row))
{
print 'Sorry, no Cloud for you...';
}
}
}
$db->sql_freeresult($result);
}
/////
////////// END VGAN'S WORD CLOUD MOD
/////
In de tpl file, wordt dit aangegeven met "{cloud}"
Ik zou tevens graag willen zien, dat er een array per woord in staat. Voorbeeld, dat je na elk woord een enter krijgt oid:
Code: Selecteer alles
<!-- BEGIN array_one -->
{array_one.Cloud}<Br />
<!-- END array_one -->