home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / akce / web / phpbb2plus / phpBB2_plus_1.52.exe / phpBB2 / statistics.php < prev    next >
PHP Script  |  2004-07-18  |  7KB  |  211 lines

  1. <?php
  2. /***************************************************************************
  3.  *                                statistics.php
  4.  *                            -------------------
  5.  *   begin                : Sat, Aug 31, 2002
  6.  *   copyright            : (C) 2002 Meik Sievertsen
  7.  *   email                : acyd.burn@gmx.de
  8.  *
  9.  *   $Id: statistics.php,v 1.13 2003/02/05 13:12:03 acydburn Exp $
  10.  *
  11.  *
  12.  ***************************************************************************/
  13.  
  14. /***************************************************************************
  15.  *
  16.  *   This program is free software; you can redistribute it and/or modify
  17.  *   it under the terms of the GNU General Public License as published by
  18.  *   the Free Software Foundation; either version 2 of the License, or
  19.  *   (at your option) any later version.
  20.  *
  21.  ***************************************************************************/
  22.  
  23. define('IN_PHPBB', true);
  24. $phpbb_root_path = './';
  25. include($phpbb_root_path . 'extension.inc');
  26. include($phpbb_root_path . 'common.'.$phpEx);
  27.  
  28. // Prepend all Variables with '__' to prevent conflicts with Variables from included Variables.
  29. $__stats_config = array();
  30.  
  31. $sql = 'SELECT *
  32. FROM ' . STATS_CONFIG_TABLE;
  33.      
  34. if ( !($result = $db->sql_query($sql)) )
  35. {
  36.     message_die(GENERAL_ERROR, 'Could not query statistics config table', '', __LINE__, __FILE__, $sql);
  37. }
  38.  
  39. while ($row = $db->sql_fetchrow($result))
  40. {
  41.     $__stats_config[$row['config_name']] = trim($row['config_value']);
  42. }
  43.  
  44. include($phpbb_root_path . 'includes/functions_stats.' . $phpEx);
  45. include($phpbb_root_path . 'includes/functions_module.' . $phpEx);
  46.  
  47. //
  48. // Start session management
  49. //
  50. $userdata = session_pagestart($user_ip, PAGE_INDEX);
  51. init_userprefs($userdata);
  52. //
  53. // End session management
  54. //
  55.  
  56. $language = $board_config['default_lang'];
  57.  
  58. if (!file_exists($phpbb_root_path . 'language/lang_' . $language . '/lang_statistics.' . $phpEx))
  59. {
  60.     $language = 'english';
  61. }
  62.  
  63. include($phpbb_root_path . 'language/lang_' . $language . '/lang_statistics.' . $phpEx);
  64.  
  65. $page_title = $lang['Statistics_title'];
  66. include('includes/page_header.php');
  67.  
  68. $template->set_filenames(array(
  69.     'body' => 'statistics.tpl')
  70. );
  71.  
  72. $__module_rows = get_module_list_from_db();
  73. $__stat_module_data = get_module_data_from_db();
  74. $return_limit = $__stats_config['return_limit'];
  75.  
  76. @reset($__module_rows);
  77.  
  78. $__stat_module_rows = array();
  79. $__count = 0;
  80.  
  81. while (list($__module_id, $__module_name) = each($__module_rows))
  82. {
  83.     $__stat_module_rows[$__count]['module_id'] = $__module_id;
  84.     $__stat_module_rows[$__count]['module_name'] = $__module_name;
  85.     $__count++;
  86. }
  87.  
  88. for ($__count = 0; $__count < count($__stat_module_rows); $__count++)
  89. {
  90.     $__module_name = trim($__stat_module_rows[$__count]['module_name']);
  91.     $__module_id = intval($__stat_module_rows[$__count]['module_id']);
  92.  
  93.     //
  94.     // Clear Template and Destroy Language Variables
  95.     //
  96.     $template->destroy();
  97.     
  98.     if (module_auth_check($__stat_module_data[$__module_id], $userdata))
  99.     {
  100.         print '<a name="' . $__module_id . '"></a>';
  101.  
  102.         $__module_info = generate_module_info($__stat_module_data[$__module_id]);
  103.  
  104.         $__tpl_name = 'module_tpl_' . $__module_id;
  105.         $__module_root_path = './../../' . $phpbb_root_path;
  106.         $__module_data = $__stat_module_data[$__module_id];
  107.         $mod_lang = 'module_language_parse';        
  108.         
  109. //        $lang = array();
  110.  
  111.         include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx);
  112.         include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx);
  113.  
  114.         $__language = $board_config['default_lang'];
  115.  
  116.         if (!@file_exists(@realpath($phpbb_root_path . 'language/lang_' . $__language . '/lang_statistics.' . $phpEx)))
  117.         {
  118.             $__language = 'english';
  119.         }
  120.         include($phpbb_root_path . 'language/lang_' . $__language . '/lang_statistics.' . $phpEx);
  121.  
  122.         $__language = $board_config['default_lang'];
  123.  
  124.         if (!@file_exists(@realpath($phpbb_root_path . $__stats_config['modules_dir'] . '/' . $__module_name . '/lang_' . $__language . '/lang.' . $phpEx)))
  125.         {
  126.             $__language = 'english';
  127.         }
  128.         include($phpbb_root_path . $__stats_config['modules_dir'] . '/' . $__module_name . '/lang_' . $__language . '/lang.' . $phpEx);
  129.         $__reload = FALSE;
  130.  
  131.         if ((trim($__module_data['module_db_cache']) != '') || (trim($__module_data['module_result_cache']) != ''))
  132.         {
  133.             if (($__module_data['module_cache_time'] + ($__module_data['update_time'] * 60)) > time())
  134.             {
  135.                 if (trim($__module_data['module_db_cache']) != '')
  136.                 {
  137.                     $statistics->db_cache_used = TRUE;
  138.                     $stat_db->begin_cached_query(TRUE, trim($__module_data['module_db_cache']));
  139.                 }
  140.  
  141.                 if (trim($__module_data['module_result_cache']) != '')
  142.                 {
  143.                     $statistics->result_cache_used = TRUE;
  144.                     $result_cache->begin_cached_results(TRUE, trim($__module_data['module_result_cache']));
  145.                 }
  146.  
  147.                 include($phpbb_root_path . $__stats_config['modules_dir'] . '/' . $__module_name . '/module.php');
  148.  
  149.                 if (trim($__module_data['module_db_cache']) != '')
  150.                 {
  151.                     $stat_db->end_cached_query($__module_id);
  152.                 }
  153.                 if (trim($__module_data['module_result_cache']) != '')
  154.                 {
  155.                     $result_cache->end_cached_query($__module_id);
  156.                 }
  157.             }
  158.             else
  159.             {
  160.                 $__reload = TRUE;
  161.             }
  162.         }
  163.         else
  164.         {
  165.             $__reload = TRUE;
  166.         }
  167.  
  168.         if ($__reload)
  169.         {
  170.             $statistics->result_cache_used = FALSE;
  171.             $statistics->db_cache_used = FALSE;
  172.  
  173.             $stat_db->begin_cached_query();
  174.             $result_cache->begin_cached_results();
  175.             include($phpbb_root_path . $__stats_config['modules_dir'] . '/' . $__module_name . '/module.php');
  176.             $stat_db->end_cached_query($__module_id);
  177.             $result_cache->end_cached_query($__module_id);
  178.         }
  179.                 
  180.         $template->set_filenames(array(
  181.             $__tpl_name => $__module_root_path . $__stats_config['modules_dir'] . '/' . $__module_info['dname'] . '/module.tpl')
  182.         );
  183.     
  184.         $template->pparse($__tpl_name);
  185.  
  186.         print '<br />';
  187.     }
  188. }
  189.     
  190. $sql = "UPDATE " . STATS_CONFIG_TABLE . "
  191. SET config_value = " . (intval($__stats_config['page_views']) + 1) . "
  192. WHERE (config_name = 'page_views')";
  193.  
  194. if (!$db->sql_query($sql))
  195. {
  196.     message_die(GENERAL_ERROR, 'Unable to Update View Counter', '', __LINE__, __FILE__, $sql);
  197. }
  198.  
  199. $template->assign_vars(array(
  200.     'VIEWED_INFO' => sprintf($lang['Viewed_info'], $__stats_config['page_views']),
  201.     'INSTALL_INFO' => sprintf($lang['Install_info'], create_date($board_config['default_dateformat'], $__stats_config['install_date'], $board_config['board_timezone'])),
  202.     'VERSION_INFO' => ( isset($lang['Version_info']) ) ? sprintf($lang['Version_info'], $__stats_config['version']) : '')
  203. );
  204.     
  205. $template->assign_block_vars('main_bottom',array());
  206.  
  207. $template->pparse('body');
  208.  
  209. include('includes/page_tail.php');
  210.  
  211. ?>