Advertisement
bhengh

SB tag cloud fix: OLD sb_print_tag_clouds

Jul 17th, 2013
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. //Prints tag cloud
  2. function sb_print_tag_clouds($minfont=80, $maxfont=150) {
  3. global $wpdb;
  4. $rawtags = $wpdb->get_results("SELECT name FROM {$wpdb->prefix}sb_tags as t RIGHT JOIN {$wpdb->prefix}sb_sermons_tags as st ON t.id = st.tag_id");
  5. foreach ($rawtags as $tag) {
  6. if (isset($cnt[$tag->name]))
  7. $cnt[$tag->name]++;
  8. else
  9. $cnt[$tag->name] = 1;
  10. }
  11. $fontrange = $maxfont - $minfont;
  12. $maxcnt = 0;
  13. $mincnt = 1000000;
  14. foreach ($cnt as $cur) {
  15. if ($cur > $maxcnt) $maxcnt = $cur;
  16. if ($cur < $mincnt) $minct = $cur;
  17. }
  18. $cntrange = $maxcnt + 1 - $mincnt;
  19. $minlog = log($mincnt);
  20. $maxlog = log($maxcnt);
  21. $logrange = $maxlog == $minlog ? 1 : $maxlog - $minlog;
  22. arsort($cnt);
  23. foreach ($cnt as $tag => $count) {
  24. $size = $minfont + $fontrange * (log($count) - $minlog) / $logrange;
  25. $out[] = '<a style="font-size:'.(int) $size.'%" href="'.sb_get_tag_link($tag, FALSE).'">'.$tag.'</a>';
  26. }
  27. echo implode(' ', $out);
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement