isInstalled('forum')) { header('Location: '.e_BASE.'index.php'); exit; } //TODO: Investigate the queries used here include_lan(e_PLUGIN.'forum/languages/'.e_LANGUAGE.'/lan_forum_stats.php'); require_once(e_PLUGIN.'forum/forum_class.php'); $gen = new convert; $forum = new e107forum; $barl = (file_exists(THEME.'images/barl.png') ? THEME.'images/barl.png' : e_PLUGIN.'poll/images/barl.png'); $barr = (file_exists(THEME.'images/barr.png') ? THEME.'images/barr.png' : e_PLUGIN.'poll/images/barr.png'); $bar = (file_exists(THEME.'images/bar.png') ? THEME.'images/bar.png' : e_PLUGIN.'poll/images/bar.png'); require_once(HEADERF); $total_posts = $sql->db_Count('forum_post'); $total_topics = $sql->db_Count('forum_thread'); $total_replies = $total_posts - $total_topics; $total_views = 0; $query = 'SELECT sum(thread_views) AS total FROM `#forum_thread` '; if ($sql -> db_Select_gen($query)) { $row = $sql->db_Fetch(); $total_views = $row['total']; } $firstpost = $sql -> db_Select('forum_post', 'post_datestamp', 'post_datestamp > 0 ORDER BY post_datestamp ASC LIMIT 0,1', 'default'); $fp = $sql->db_Fetch(); $open_ds = $fp['post_datestamp']; $open_date = $gen->convert_date($open_ds, 'long'); $open_since = $gen -> computeLapse($open_ds); $open_days = floor((time()-$open_ds) / 86400); $postsperday = ($open_days < 1 ? $total_posts : round($total_posts / $open_days)); $query = "SHOW TABLE STATUS FROM `{$mySQLdefaultdb}`"; $sql -> db_Select_gen($query); $array = $sql -> db_getList(); foreach($array as $table) { if($table['Name'] == MPREFIX.'forum_post') { $db_size = $e107->parseMemorySize($table['Data_length']); $avg_row_len = $e107->parseMemorySize($table['Avg_row_length']); break; } } $query = " SELECT ft.thread_id, ft.thread_user, ft.thread_name, ft.thread_total_replies, ft.thread_datestamp, f.forum_class, u.user_name, u.user_id FROM #forum_t as ft LEFT JOIN #user AS u ON SUBSTRING_INDEX(ft.thread_user,'.',1) = u.user_id LEFT JOIN #forum AS f ON f.forum_id = ft.thread_forum_id WHERE ft.thread_parent = 0 AND ft.thread_active != 0 AND f.forum_class IN (".USERCLASS_LIST.") ORDER BY thread_total_replies DESC LIMIT 0,10"; $sql -> db_Select_gen($query); $most_activeArray = $sql -> db_getList(); $query = " SELECT ft.*, f.forum_class, u.user_name, u.user_id FROM #forum_t as ft LEFT JOIN #user AS u ON SUBSTRING_INDEX(ft.thread_user,'.',1) = u.user_id LEFT JOIN #forum AS f ON f.forum_id = ft.thread_forum_id WHERE ft.thread_parent=0 AND f.forum_class IN (".USERCLASS_LIST.") ORDER BY thread_views DESC LIMIT 0,10"; $sql -> db_Select_gen($query); $most_viewedArray = $sql -> db_getList(); $sql->db_Select("user", "user_id, user_name, user_forums", "ORDER BY user_forums DESC LIMIT 0, 10", "no_where"); $posters = $sql -> db_getList(); $top_posters = array(); foreach($posters as $poster) { $percen = round(($poster['user_forums'] / $total_posts) * 100, 2); $top_posters[] = array("user_id" => $poster['user_id'], "user_name" => $poster['user_name'], "user_forums" => $poster['user_forums'], "percentage" => $percen); } $query = " SELECT SUBSTRING_INDEX(thread_user,'.',1) AS t_user, COUNT(SUBSTRING_INDEX(ft.thread_user,'.',1)) AS ucount, u.user_name, u.user_id FROM #forum_t as ft LEFT JOIN #user AS u ON SUBSTRING_INDEX(ft.thread_user,'.',1) = u.user_id WHERE ft.thread_parent=0 GROUP BY t_user ORDER BY ucount DESC LIMIT 0,10"; $sql -> db_Select_gen($query); $posters = $sql -> db_getList(); $top_topic_starters = array(); foreach($posters as $poster) { $percen = round(($poster['ucount'] / $total_topics) * 100, 2); $top_topic_starters[] = array("user_id" => $poster['user_id'], "user_name" => $poster['user_name'], "user_forums" => $poster['ucount'], "percentage" => $percen); } $query = " SELECT SUBSTRING_INDEX(thread_user,'.',1) AS t_user, COUNT(SUBSTRING_INDEX(ft.thread_user,'.',1)) AS ucount, u.user_name, u.user_id FROM #forum_t as ft LEFT JOIN #user AS u ON SUBSTRING_INDEX(ft.thread_user,'.',1) = u.user_id WHERE ft.thread_parent!=0 GROUP BY t_user ORDER BY ucount DESC LIMIT 0,10"; $sql -> db_Select_gen($query); $posters = $sql -> db_getList(); $top_repliers = array(); foreach($posters as $poster) { $percen = round(($poster['ucount'] / $total_replies) * 100, 2); $top_repliers[] = array("user_id" => $poster['user_id'], "user_name" => $poster['user_name'], "user_forums" => $poster['ucount'], "percentage" => $percen); } $text = "
".FSLAN_1."
".FSLAN_2.":  {$open_date}
".FSLAN_3.":  {$open_since}
".FSLAN_4.":  {$total_posts}
".FSLAN_5.":  {$total_topics}
".FSLAN_6.":  {$total_replies}
".FSLAN_7.":  {$total_views}
".FSLAN_24.":  {$postsperday}
".FSLAN_8.":  {$db_size}
".FSLAN_9.":  {$avg_row_len}
"; $count=1; foreach($most_activeArray as $ma) { if($ma['user_name']) { $uinfo = "{$ma['user_name']}"; } else { $tmp = explode(chr(1), $ma['thread_anon']); $uinfo = $tp->toHTML($tmp[0]); } $text .= " "; $count++; } $text .= "
".FSLAN_10."
".FSLAN_11." ".FSLAN_12." ".FSLAN_13." ".FSLAN_14." ".FSLAN_15."
$count {$ma['thread_name']} {$ma['thread_total_replies']} {$uinfo} ".$gen->convert_date($ma['thread_datestamp'], "forum")."
"; $count=1; foreach($most_viewedArray as $ma) { if($ma['user_name']) { $uinfo = "{$ma['user_name']}"; } else { $tmp = explode(chr(1), $ma['thread_anon']); $uinfo = $tp->toHTML($tmp[0]); } $text .= " "; $count++; } $text .= "
".FSLAN_16."
".FSLAN_11." ".FSLAN_12." ".FSLAN_17." ".FSLAN_14." ".FSLAN_15."
$count {$ma['thread_name']} {$ma['thread_views']} {$uinfo} ".$gen->convert_date($ma['thread_datestamp'], "forum")."
"; $count=1; foreach($top_posters as $ma) { extract($ma); $text .= " "; $count++; } $text .= "
".FSLAN_18."
".FSLAN_11." ".FSLAN_19." ".FSLAN_20." %  
$count $user_name $user_forums $percentage%
"; $count=1; foreach($top_topic_starters as $ma) { extract($ma); $text .= " "; $count++; } $text .= "
".FSLAN_21."
".FSLAN_11." ".FSLAN_19." ".FSLAN_20." %  
$count $user_name $user_forums $percentage%
"; $count=1; foreach($top_repliers as $ma) { extract($ma); $text .= " "; $count++; } $text .= '
".FSLAN_22."
".FSLAN_11." ".FSLAN_19." ".FSLAN_20." %  
$count $user_name $user_forums $percentage%
'; $ns -> tablerender(FSLAN_23, $text); require_once(FOOTERF); ?>