// // ------------------------------------------------------------------------ // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // // the Free Software Foundation; either version 2 of the License, or // // (at your option) any later version. // // // // You may not change or alter any portion of this comment or credits // // of supporting developers from this source code or any supporting // // source code which is considered copyrighted (c) material of the // // original comment or credit authors. // // // // This program is distributed in the hope that it will be useful, // // but WITHOUT ANY WARRANTY; without even the implied warranty of // // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // // GNU General Public License for more details. // // // // You should have received a copy of the GNU General Public License // // along with this program; if not, write to the Free Software // // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // ------------------------------------------------------------------------ // // Author: Kazumi Ono (AKA onokazu) // // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // // Project: The XOOPS Project // // ------------------------------------------------------------------------- // include "header.php"; // this page uses smarty template // this must be set before including main header.php $xoopsOption['template_main']= 'newbb_index.html'; include XOOPS_ROOT_PATH."/header.php"; $myts =& MyTextSanitizer::getInstance(); $sql = 'SELECT c.* FROM '.$xoopsDB->prefix('bb_categories').' c, '.$xoopsDB->prefix("bb_forums").' f WHERE f.cat_id=c.cat_id GROUP BY c.cat_id, c.cat_title, c.cat_order ORDER BY c.cat_order'; if ( !$result = $xoopsDB->query($sql) ) { redirect_header(XOOPS_URL.'/',1,_MD_ERROROCCURED); exit(); } $xoopsTpl->assign(array("lang_welcomemsg" => sprintf(_MD_WELCOME,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)), "lang_tostart" => _MD_TOSTART, "lang_totaltopics" => _MD_TOTALTOPICSC, "lang_totalposts" => _MD_TOTALPOSTSC, "total_topics" => get_total_topics(), "total_posts" => get_total_posts(0, 'all'), "lang_lastvisit" => sprintf(_MD_LASTVISIT,formatTimestamp($last_visit)), "lang_currenttime" => sprintf(_MD_TIMENOW,formatTimestamp(time(),"m")), "lang_forum" => _MD_FORUM, "lang_topics" => _MD_TOPICS, "lang_posts" => _MD_POSTS, "lang_lastpost" => _MD_LASTPOST, "lang_moderators" => _MD_MODERATOR)); $viewcat = (!empty($_GET['cat'])) ? intval($_GET['cat']) : 0; $categories = array(); while ( $cat_row = $xoopsDB->fetchArray($result) ) { $categories[] = $cat_row; } $sql = 'SELECT f.*, u.uname, u.uid, p.topic_id, p.post_time, p.subject, p.icon FROM '.$xoopsDB->prefix('bb_forums').' f LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = f.forum_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = p.uid'; if ( $viewcat != 0 ) { $sql .= ' WHERE f.cat_id = '.$viewcat; $xoopsTpl->assign('forum_index_title', htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)); } else { $xoopsTpl->assign('forum_index_title', ''); } $sql .= ' ORDER BY f.cat_id, f.forum_id'; if ( !$result = $xoopsDB->query($sql) ) { exit("Error"); } $forums = array(); // RMV-FIX while ( $forum_data = $xoopsDB->fetchArray($result) ) { $forums[] = $forum_data; } $cat_count = count($categories); if ($cat_count > 0) { for ( $i = 0; $i < $cat_count; $i++ ) { $categories[$i]['cat_title'] = $myts->makeTboxData4Show($categories[$i]['cat_title']); if ( $viewcat != 0 && $categories[$i]['cat_id'] != $viewcat ) { $xoopsTpl->append("categories", $categories[$i]); continue; } $topic_lastread = newbb_get_topics_viewed(); foreach ( $forums as $forum_row ) { unset($last_post); if ( $forum_row['cat_id'] == $categories[$i]['cat_id'] ) { if ($forum_row['post_time']) { //$forum_row['subject'] = $myts->makeTboxData4Show($forum_row['subject']); $categories[$i]['forums']['forum_lastpost_time'][] = formatTimestamp($forum_row['post_time']); $last_post_icon = ''; if ( $forum_row['icon'] ) { $last_post_icon .= ''; } else { $last_post_icon .= ''; } $last_post_icon .= ''; $categories[$i]['forums']['forum_lastpost_icon'][] = $last_post_icon; if ( $forum_row['uid'] != 0 && $forum_row['uname'] ){ $categories[$i]['forums']['forum_lastpost_user'][] = '' . $myts->makeTboxData4Show($forum_row['uname']).''; } else { $categories[$i]['forums']['forum_lastpost_user'][] = $xoopsConfig['anonymous']; } $forum_lastread = !empty($topic_lastread[$forum_row['topic_id']]) ? $topic_lastread[$forum_row['topic_id']] : false; if ( $forum_row['forum_type'] == 1 ) { $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; } elseif ( $forum_row['post_time'] > $forum_lastread && !empty($forum_row['topic_id'])) { $categories[$i]['forums']['forum_folder'][] = $bbImage['newposts_forum']; } else { $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; } } else { // no forums, so put empty values $categories[$i]['forums']['forum_lastpost_time'][] = ""; $categories[$i]['forums']['forum_lastpost_icon'][] = ""; $categories[$i]['forums']['forum_lastpost_user'][] = ""; if ( $forum_row['forum_type'] == 1 ) { $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; } else { $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; } } $categories[$i]['forums']['forum_id'][] = $forum_row['forum_id']; $categories[$i]['forums']['forum_name'][] = $myts->makeTboxData4Show($forum_row['forum_name']); $categories[$i]['forums']['forum_desc'][] = $myts->makeTareaData4Show($forum_row['forum_desc']); $categories[$i]['forums']['forum_topics'][] = $forum_row['forum_topics']; $categories[$i]['forums']['forum_posts'][] = $forum_row['forum_posts']; $all_moderators = get_moderators($forum_row['forum_id']); $count = 0; $forum_moderators = ''; foreach ( $all_moderators as $mods) { foreach ( $mods as $mod_id => $mod_name) { if ( $count > 0 ) { $forum_moderators .= ', '; } $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; $count = 1; } } $categories[$i]['forums']['forum_moderators'][] = $forum_moderators; } } $xoopsTpl->append("categories", $categories[$i]); } } else { $xoopsTpl->append("categories", array()); } $xoopsTpl->assign(array("img_hotfolder" => $bbImage['newposts_forum'], "img_folder" => $bbImage['folder_forum'], "img_locked" => $bbImage['locked_forum'], "lang_newposts" => _MD_NEWPOSTS, "lang_private" => _MD_PRIVATEFORUM, "lang_nonewposts" => _MD_NONEWPOSTS, "lang_search" => _MD_SEARCH, "lang_advsearch" => _MD_ADVSEARCH)); include_once XOOPS_ROOT_PATH.'/footer.php'; ?>