PageRenderTime 42ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/blocks/wordgraph.php

http://github.com/MightyGorgon/icy_phoenix
PHP | 88 lines | 58 code | 15 blank | 15 comment | 5 complexity | 3c4299dd10b43cdf79dba4871205f0d6 MD5 | raw file
Possible License(s): AGPL-1.0
  1. <?php
  2. /**
  3. *
  4. * @package Icy Phoenix
  5. * @version $Id$
  6. * @copyright (c) 2008 Icy Phoenix
  7. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  8. *
  9. */
  10. /**
  11. *
  12. * @Extra credits for this file
  13. * masterdavid - Ronald John David
  14. * Bicet
  15. *
  16. */
  17. if (!defined('IN_ICYPHOENIX'))
  18. {
  19. die('Hacking attempt');
  20. }
  21. if(!function_exists('cms_block_wordgraph'))
  22. {
  23. function cms_block_wordgraph()
  24. {
  25. global $db, $config, $template, $lang, $block_id, $cms_config_vars;
  26. $template->_tpldata['wordgraph_loop.'] = array();
  27. $words_array = array();
  28. $sql = 'SELECT w.word_text, COUNT(*) AS word_count
  29. FROM ' . SEARCH_WORD_TABLE . ' AS w, ' . SEARCH_MATCH_TABLE . ' AS m
  30. WHERE m.word_id = w.word_id
  31. GROUP BY m.word_id
  32. ORDER BY word_count DESC LIMIT ' . intval($cms_config_vars['md_wordgraph_words'][$block_id]);
  33. $result = $db->sql_query($sql, 0, 'wordgraph_');
  34. while ($row = $db->sql_fetchrow($result))
  35. {
  36. $word = strtolower($row['word_text']);
  37. $word_count = $row['word_count'];
  38. $words_array[$word] = $word_count;
  39. }
  40. $db->sql_freeresult($result);
  41. $minimum = 1000000;
  42. $maximum = -1000000;
  43. foreach (array_keys($words_array) as $word)
  44. {
  45. if ($words_array[$word] > $maximum)
  46. {
  47. $maximum = $words_array[$word];
  48. }
  49. if ($words_array[$word] < $minimum)
  50. {
  51. $minimum = $words_array[$word];
  52. }
  53. }
  54. $words = array_keys($words_array);
  55. sort($words);
  56. foreach ($words as $word)
  57. {
  58. $ratio = intval(mt_rand(8, 14));
  59. $template->assign_block_vars('wordgraph_loop', array(
  60. 'WORD' => ($cms_config_vars['md_wordgraph_count'][$block_id]) ? $word . ' (' . $words_array[$word] . ')' : $word,
  61. 'WORD_FONT_SIZE' => $ratio,
  62. 'WORD_SEARCH_URL' => append_sid(CMS_PAGE_SEARCH . '?search_keywords=' . urlencode($word)),
  63. )
  64. );
  65. }
  66. $template->assign_vars(array(
  67. 'L_WORDGRAPH' => $lang['Wordgraph'],
  68. )
  69. );
  70. }
  71. }
  72. cms_block_wordgraph();
  73. ?>