A lightweight forum engine written in PHP. Repository is now obsolete and read-only. http://www.pioder.pl/uforum.html
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
3.7 KiB

  1. <?php
  2. /**
  3. * @package uForum
  4. * @file index.php
  5. * @version $Id$
  6. * @copyright 2007-2010 (c) PioDer <pioder@wp.pl>
  7. * @link http://www.pioder.pl/
  8. * @license see LICENSE.txt
  9. **/
  10. define('IN_uF', true);
  11. //include files
  12. require('./config.php');
  13. if (!UF_INSTALLED)
  14. {
  15. header('Location: install/');
  16. }
  17. require('./includes/constants.php');
  18. require('./includes/db.php');
  19. require('./includes/errors.php');
  20. //connect to database
  21. DataBase::db_connect();
  22. require('./includes/sessions.php');
  23. require('./includes/classes/class_user.php');
  24. require('./common.php');
  25. require('./includes/misc_functions.php');
  26. require('./includes/classes/class_posting.php');
  27. require('./includes/classes/class_topic.php');
  28. require('./includes/classes/class_forum.php');
  29. require('./lngs/'.DefaultLang().'/main.php');
  30. SessDelInvalid();
  31. SessRegister();
  32. SessDeleteOld();
  33. $start = TimeGeneration();
  34. $default_skin = ViewSkinName();
  35. $visit_count = SetCounter();
  36. require('./includes/cache/cache_index.php');
  37. //add skin variables
  38. $skin = array(
  39. );
  40. $skin = array_push_assoc($skin, GenerateHeader($lng['mainpage'], '<a href="index.php" class="navigator">'.$lng['mainpage']));
  41. //do it!
  42. require('./skins/'.$default_skin.'/overall_header.tpl');
  43. require('./skins/'.$default_skin.'/index_body.tpl');
  44. //
  45. //add forums and categories-----------------------------------------------------
  46. //
  47. $isset_forum = array();
  48. $sql = "SELECT * FROM `".CATS_TABLE."` ORDER BY `sort`";
  49. $query = DataBase::sql_query($sql,CRITICAL,'Could not obtain categories information.');
  50. while($result = DataBase::fetch($query))
  51. {
  52. $skin = array(
  53. 'category' => $result['name'],
  54. 'lforumname' => $lng['forumname'],
  55. 'lposts'=>$lng['posts'],
  56. 'llastposts'=>$lng['lastpost']);
  57. require('./skins/'.$default_skin.'/index_category_add.tpl');
  58. for ($i=1; $i<=count($forum); $i++)
  59. {
  60. if ($forum[$i]['c_id']==$result['c_id'])
  61. {
  62. if(!@in_array($forum[$i]['f_id'],$isset_forum))
  63. {
  64. array_push($isset_forum, $forum[$i]['f_id']);
  65. $lastpost = explode(':',$forum[$i]['lastpost']);
  66. $postsinforum = (isset($count_forum[$forum[$i]['f_id']])) ? $count_forum[$forum[$i]['f_id']] : '0';
  67. $skin = array(
  68. 'new_post' => Forum::LastPostImg($postsinforum),
  69. 'forum_name' => $forum[$i]['name'],
  70. 'forum_id' => $forum[$i]['f_id'],
  71. 'description' => $forum[$i]['desc'],
  72. 'posts' => $postsinforum,
  73. 'lastpost' =>Forum::LastPost($postsinforum, $forum[$i]['f_id']),
  74. );
  75. require('./skins/'.$default_skin.'/index_forum_add.tpl');
  76. }
  77. }
  78. }
  79. echo '</table></div>';
  80. }
  81. $sess = SessView();
  82. //add skin variables
  83. $skin =array(
  84. 'registered_users' => str_replace('%x%', $count_users ,$lng['reg_users']),
  85. 'last_user' => $lng['last_user'] . ': <b>' . User::LastUser() . '</b>',
  86. 'stat' => $lng['statistics'],
  87. 'showlastposts'=>$lng['showlastposts'],
  88. 'total_posts'=> str_replace('%x%', $forum_config['posts'] ,$lng['total_posts']),
  89. 'lforum_counter'=> str_replace('%x%',$visit_count, $lng['forum_counter']),
  90. 'logged_users' => str_replace('%x%', $sess[1] , $lng['logged_users']),
  91. 'group_users' => $lng['users_groups'],
  92. 'logged_users_list' => $sess[0],
  93. //shoutbox pool
  94. 'linsert_msg' => $lng['insert_msg'],
  95. 'lsave'=> $lng['save'],
  96. 'lsort_desc'=>$lng['sort_desc'],
  97. 'lsort_normal'=>$lng['sort_normal']
  98. );
  99. //ShoutBox pool :)
  100. // do it!
  101. require('./skins/'.$default_skin.'/index_body_end.tpl');
  102. if ($_SESSION['uid']>0)
  103. {
  104. if (($forum_config['view_shoutbox']) && ($userdata['view_shoutbox']==1))
  105. {
  106. include ('./shoutbox.php');
  107. }
  108. }
  109. else
  110. {
  111. if($forum_config['view_shoutbox'])
  112. {
  113. include ('./shoutbox.php');
  114. }
  115. }
  116. $stop = TimeGeneration();
  117. $skin['queries'] = ShowQueries($start, $stop);
  118. require('./skins/'.$default_skin.'/overall_footer.tpl');
  119. ?>