Flash Tag Cloud
Released 6/3/2010
By Vikas - http://www.ngcoders.com
Demo - http://www.roboticsindia.com , Look at left sidebar
Installation
- Goto Admincp->vBullietin CMS->Widgets->Create New Widget
- Choose PHP Direct Execution as Widget's Type
- Place a Title. eg Upcoming Events. Keep it short as this is what will appear as title on your pages.
- Click Save
- Click Configure on the right of the new created widget.
- Remove the default code that appears. Be sure to not leave behind even a single letter.
- Copy and Paste the code that you can find below.
- Leave the template name as is (vbcms_widget_execphp_page)
- Click Save
- Goto Admincp->vBullietin CMS->Layout Manager
- Click Go on the Default Layout
- Add the Widget to your Layout
- Click Save
- Download the attached tagcloud.zip and extract it.
- Upload tagcloud.swf to root directory of your vbulletin install
- That's all !!
PHP Code
PHP Code:
$flashWidth = 330;
$flashHeight = 330;
$flashPath = 'tagcloud.swf';
$flashBackgroundColor = 'ffffff';
$tagCount = 30;
$tagMaxSize = 16;
$tagMinSize = 8;
// Colors are in hex
$data['tcolor'] = '0x000000';
$data['tcolor2'] = '0x336699';
$data['hicolor'] = '0x000000';
$data['speed'] = 100;
$data['distr'] = 'true';
$data['mode'] = 'tags';
$contentTypes = array(2=>'tags.php?tag=',15=>'blog.php?tag=');
/* No Editing Below This Line*/
global $vbulletin;
// %d
$query = sprintf("SELECT Tag.tagid, Tag.tagtext, TagContent.contenttypeid, COUNT( TagContent.tagid ) AS count FROM ".TABLE_PREFIX."tag AS Tag LEFT JOIN ".TABLE_PREFIX."tagcontent AS TagContent ON ( Tag.tagid = TagContent.tagid ) GROUP BY TagContent.tagid ORDER BY count DESC LIMIT %d",$tagCount);
$qtags = vB::$db->query_read($query);
while($tag = vB::$db->fetch_array($qtags)) {
$tags[] = $tag;
$tagSize[$tag['tagtext']] = $tag['count'];
}
// largest and smallest array values
$maxQty = max(array_values($tagSize));
$minQty = min(array_values($tagSize));
$spread = $maxQty - $minQty;
if ($spread == 0) {
$spread = 1;
}
$step = ($tagMaxSize - $tagMinSize) / ($spread);
// make the tag cloud
$tagsHTML = "";
foreach ($tags as $tag)
{
$size = round($tagMinSize + (($tag['count'] - $minQty) * $step));
$text = $tag['tagtext'];
$url = $vbulletin->options['homeurl'].'/'.$contentTypes[$tag['contenttypeid']].urlencode($tag['tagtext']);
$tagsHTML .= "<a href='$url' style='$size'>$text</a>";
}
$data['tagcloud'] = '<tags>'.$tagsHTML.'</tags>';
$flashVars = "";
foreach($data as $var=>$val)
{
$flashVars .= (empty ($flashVars))?'':'&';
$flashVars .= "$var=".urlencode($val);
}
ob_start();
?>
<embed width="<?php echo $flashWidth;?>" height="<?php echo $flashHeight;?>" flashvars="<?php echo $flashVars;?>" wmode="transparent" allowscriptaccess="always" quality="high" bgcolor="#<?php echo $flashBackgroundColor;?>" name="vbCloudFlash" id="vbCloudFlash" style="" src="<?php echo $vbulletin->options['homeurl'].'/'.$flashPath;?>" type="application/x-shockwave-flash"/>
<?php
$content = ob_get_contents();
ob_end_clean();
$output = $content;
It is based on WP-Cumulus , to change settings please refer to this page -
http://www.roytanck.com/2009/03/11/how-to-use-wp-cumulus-shortcodes/