[phpbbreloaded-checkins] SF.net SVN: phpbbreloaded: [278] main
Status: Planning
Brought to you by:
tehphpmaster
|
From: <teh...@us...> - 2006-12-24 06:08:01
|
Revision: 278
http://svn.sourceforge.net/phpbbreloaded/?rev=278&view=rev
Author: tehphpmaster
Date: 2006-12-23 22:08:00 -0800 (Sat, 23 Dec 2006)
Log Message:
-----------
Commiting the first real change to the code. This includes the Pseudo Subforums MOD. We chose this as our subforums MOD for a number of reasons. I'll go into more detail on these later, but suffice to say we are happy with the choice.
Modified Paths:
--------------
main/trunk/admin/admin_forums.php
main/trunk/includes/functions.php
main/trunk/index.php
main/trunk/language/lang_english/lang_admin.php
main/trunk/language/lang_english/lang_main.php
main/trunk/posting.php
main/trunk/templates/subSilver/admin/forum_admin_body.tpl
main/trunk/templates/subSilver/admin/forum_edit_body.tpl
main/trunk/templates/subSilver/index_body.tpl
main/trunk/templates/subSilver/posting_body.tpl
main/trunk/templates/subSilver/viewforum_body.tpl
main/trunk/templates/subSilver/viewtopic_body.tpl
main/trunk/viewforum.php
main/trunk/viewtopic.php
Added Paths:
-----------
main/etc/features.txt
main/etc/sql_changes.sql
Added: main/etc/features.txt
===================================================================
Added: main/etc/sql_changes.sql
===================================================================
--- main/etc/sql_changes.sql (rev 0)
+++ main/etc/sql_changes.sql 2006-12-24 06:08:00 UTC (rev 278)
@@ -0,0 +1,3 @@
+# Pseudo subforums
+ALTER TABLE `phpbb_forums` ADD attached_forum_id MEDIUMINT(8) DEFAULT '-1' NOT NULL;
+ALTER TABLE `phpbb_topics` ADD INDEX (topic_last_post_id);
\ No newline at end of file
Modified: main/trunk/admin/admin_forums.php
===================================================================
--- main/trunk/admin/admin_forums.php 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/admin/admin_forums.php 2006-12-24 06:08:00 UTC (rev 278)
@@ -266,7 +266,53 @@
$forumname = $row['forum_name'];
$forumdesc = $row['forum_desc'];
$forumstatus = $row['forum_status'];
+
+ $forum_attached_id = $row['attached_forum_id'];
+ $sql = "SELECT * from ". FORUMS_TABLE. " WHERE attached_forum_id = $forum_id";
+ if( !$r = $db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't get list of children Forums", "", __LINE__, __FILE__, $sql);
+ }
+ if( $db->sql_numrows($r) > 0 )
+ {
+
+ $not_attachable=1;
+ $has_subforums=1;
+ $template->assign_block_vars('switch_attached_no', array());
+ if (intval($HTTP_POST_VARS['detach_enabled'])) $detach_enabled = "checked=\"checked\"";
+
+ }
+ else
+ {
+
+ // this forum is not a parent of any other forum
+ $sql = "SELECT * FROM ". FORUMS_TABLE. " WHERE attached_forum_id=-1 and cat_id= $cat_id and forum_id<>$forum_id ORDER BY forum_order";
+
+ if( !$result1 = $db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't get list of attachable Forums", "", __LINE__, __FILE__, $sql);
+ }
+ if( $db->sql_numrows($result1) > 0 )
+ {
+ $attachable_forums = '<option value = "-1"'.($forum_attached_id==-1?' selected':'').'> NOT ATTACHED TO ANY FORUM </a>';
+ while( $row1 = $db->sql_fetchrow($result1) )
+ {
+ $s='';
+ if ($forum_attached_id == $row1['forum_id'])
+ {
+ $s = " selected=\"selected\"";
+ }
+ $attachable_forums .= '<option value="'.$row1[forum_id].$s.'">' . $row1[forum_name] . '</option>\n';
+ }
+ }
+ else
+ {
+ $no_attachable_forums=1;
+ }
+
+ }
+
//
// start forum prune stuff.
//
@@ -298,7 +344,35 @@
$forumstatus = FORUM_UNLOCKED;
$forum_id = '';
$prune_enabled = '';
+
+ $sql = "SELECT * FROM ". FORUMS_TABLE. " WHERE attached_forum_id=-1 and cat_id= $cat_id ORDER BY forum_order";
+
+ if( !$result1 = $db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't get list of Categories/Forums", "", __LINE__, __FILE__, $sql);
+ }
+ if( $db->sql_numrows($result1) > 0 )
+ {
+ $attachable_forums = '<option value = "-1"'.(($forum_attached_id==-1 || !$forum_attached_id)?' selected':'').'> NOT ATTACHED TO ANY FORUM </a>';
+ while( $row1 = $db->sql_fetchrow($result1) )
+ {
+
+ if ($forum_attached_id == $row1['forum_id'])
+ {
+ $s = " selected=\"selected\"";
+ }
+ $attachable_forums .= '<option value="'.$row1[forum_id].$s.'">' . $row1[forum_name] . '</option>\n';
+ }
+
+
+ }
+ else
+ {
+ $no_attachable_forums=1;
+ }
}
+
+ $forum_attached_id = $attachable_forums;
$catlist = get_list('category', $cat_id, TRUE);
@@ -317,6 +391,22 @@
);
$s_hidden_fields = '<input type="hidden" name="mode" value="' . $newmode .'" /><input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" />';
+
+ if ($not_attachable or $no_attachable_forums)
+ {
+ if ($has_subforums)
+ {
+ $lang['Attached_Description'] = $lang['Has_attachments'].'<br>'. $lang['Attached_Description'];
+ $s_hidden_fields .='<input type="hidden" name="has_subforums" value="1" />';
+ }
+ if ($no_attachable_forums) $lang['Attached_Description'] = $lang['No_attach_forums'].'<br>'. $lang['Attached_Description'];
+ $s_hidden_fields .='<input type="hidden" name="attached_forum_id" value="-1" />';
+ }
+ else
+ {
+ $template->assign_block_vars('switch_attached_yes', array());
+ }
+ $s_hidden_fields .='<input type="hidden" name="old_cat_id" value="'.$cat_id.'" />';
$template->assign_vars(array(
'S_FORUM_ACTION' => append_sid("admin_forums.$phpEx"),
@@ -325,12 +415,17 @@
'S_CAT_LIST' => $catlist,
'S_STATUS_LIST' => $statuslist,
'S_PRUNE_ENABLED' => $prune_enabled,
+ 'S_ATTACHED_FORUM_ID' => $forum_attached_id,
+ 'S_DETACH_ENABLED'=> $detach_enabled,
'L_FORUM_TITLE' => $l_title,
'L_FORUM_EXPLAIN' => $lang['Forum_edit_delete_explain'],
'L_FORUM_SETTINGS' => $lang['Forum_settings'],
'L_FORUM_NAME' => $lang['Forum_name'],
'L_CATEGORY' => $lang['Category'],
+ 'L_ATTACHED_FORUM' => $lang['Attached_Field_Title'] ,
+ 'L_ATTACHED_DESC' => $lang['Attached_Description'],
+ 'L_DETACH_DESC' => $lang['Detach_Description'],
'L_FORUM_DESCRIPTION' => $lang['Forum_desc'],
'L_FORUM_STATUS' => $lang['Forum_status'],
'L_AUTO_PRUNE' => $lang['Forum_pruning'],
@@ -392,8 +487,13 @@
}
// There is no problem having duplicate forum names so we won't check for it.
- $sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable" . $field_sql . ")
- VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";
+ if (intval($HTTP_POST_VARS['old_cat_id']) != intval($HTTP_POST_VARS[POST_CAT_URL]))
+ {
+ $HTTP_POST_VARS['attached_forum_id']=-1;
+ }
+
+ $sql = "INSERT INTO " . FORUMS_TABLE . " (forum_id, forum_name, cat_id, attached_forum_id, forum_desc, forum_order, forum_status, prune_enable" . $field_sql . ")
+ VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", " . intval($HTTP_POST_VARS['attached_forum_id']) . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't insert row in forums table", "", __LINE__, __FILE__, $sql);
@@ -431,8 +531,32 @@
}
}
+ if (isset($HTTP_POST_VARS['detach_enabled']) && isset($HTTP_POST_VARS['has_subforums']))
+ {
+ $sql = "UPDATE ". FORUMS_TABLE. " SET attached_forum_id=-1 WHERE attached_forum_id=" . intval($HTTP_POST_VARS[POST_FORUM_URL]);
+ if( !$result = $db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't detach subforums", "", __LINE__, __FILE__, $sql);
+ }
+
+ }
+
+ if (intval($HTTP_POST_VARS['old_cat_id']) != intval($HTTP_POST_VARS[POST_CAT_URL]))
+ {
+ $HTTP_POST_VARS['attached_forum_id']=-1;
+ if (isset($HTTP_POST_VARS['has_subforums']) && !isset($HTTP_POST_VARS['detach_enabled']))
+ {
+ $sql = "UPDATE ". FORUMS_TABLE ." SET cat_id=". intval($HTTP_POST_VARS[POST_CAT_URL]) ." WHERE attached_forum_id=" . intval($HTTP_POST_VARS[POST_FORUM_URL]);
+ if( !$result = $db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't update subforums to new category", "", __LINE__, __FILE__, $sql);
+ }
+
+ }
+ }
+
$sql = "UPDATE " . FORUMS_TABLE . "
- SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "
+ SET forum_name = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', cat_id = " . intval($HTTP_POST_VARS[POST_CAT_URL]) .", attached_forum_id = " . intval($HTTP_POST_VARS['attached_forum_id']) . ", forum_desc = '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', forum_status = " . intval($HTTP_POST_VARS['forumstatus']) . ", prune_enable = " . intval($HTTP_POST_VARS['prune_enable']) . "
WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);
if( !$result = $db->sql_query($sql) )
{
@@ -968,6 +1092,8 @@
$forum_rows = $db->sql_fetchrowset($q_forums);
}
+ $subforum_rows = $forum_rows;
+
//
// Okay, let's build the index
//
@@ -998,21 +1124,79 @@
if ($forum_rows[$j]['cat_id'] == $cat_id)
{
- $template->assign_block_vars("catrow.forumrow", array(
- 'FORUM_NAME' => $forum_rows[$j]['forum_name'],
- 'FORUM_DESC' => $forum_rows[$j]['forum_desc'],
- 'ROW_COLOR' => $row_color,
- 'NUM_TOPICS' => $forum_rows[$j]['forum_topics'],
- 'NUM_POSTS' => $forum_rows[$j]['forum_posts'],
+ $sub_error=false;
+ $do_template=false;
+ if ($forum_rows[$j]['attached_forum_id'] !=-1)
+ {
+ $ok='';
+ for($k = 0; $k < $total_forums; $k++)
+ {
+ $subforum_id = $subforum_rows[$k]['forum_id'];
- 'U_VIEWFORUM' => append_sid($phpbb_root_path."viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),
- 'U_FORUM_EDIT' => append_sid("admin_forums.$phpEx?mode=editforum&" . POST_FORUM_URL . "=$forum_id"),
- 'U_FORUM_DELETE' => append_sid("admin_forums.$phpEx?mode=deleteforum&" . POST_FORUM_URL . "=$forum_id"),
- 'U_FORUM_MOVE_UP' => append_sid("admin_forums.$phpEx?mode=forum_order&move=-15&" . POST_FORUM_URL . "=$forum_id"),
- 'U_FORUM_MOVE_DOWN' => append_sid("admin_forums.$phpEx?mode=forum_order&move=15&" . POST_FORUM_URL . "=$forum_id"),
- 'U_FORUM_RESYNC' => append_sid("admin_forums.$phpEx?mode=forum_sync&" . POST_FORUM_URL . "=$forum_id"))
- );
+ if ($subforum_id == $forum_rows[$j]['attached_forum_id'] && $forum_rows[$k]['attached_forum_id']==-1)
+ {
+ $ok=TRUE;//normal parent found
+ }
+ }
+ if ($forum_rows[$j]['attached_forum_id']==$forum_id) $ok=FALSE; //attached to itself
+ if ($forum_rows[$j]['attached_forum_id']==0) $ok=FALSE; //invalid parent
+ if (!$ok)
+ {
+ $do_template=TRUE;
+ $sub_error=true;
+ }
+ }
+ else
+ {
+ $do_template=true;
+ }//attached_forum_id'] ==-1
+
+ if ($do_template)
+ {
+ $template->assign_block_vars("catrow.forumrow", array(
+ 'FORUM_NAME' => $forum_rows[$j]['forum_name'],
+ 'FORUM_DESC' => $forum_rows[$j]['forum_desc'],
+ 'ROW_COLOR' => $row_color,
+ 'NUM_TOPICS' => $forum_rows[$j]['forum_topics'],
+ 'NUM_POSTS' => $forum_rows[$j]['forum_posts'],
+
+ 'U_VIEWFORUM' => append_sid($phpbb_root_path."viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"),
+ 'U_FORUM_EDIT' => append_sid("admin_forums.$phpEx?mode=editforum&" . POST_FORUM_URL . "=$forum_id"),
+ 'U_FORUM_DELETE' => append_sid("admin_forums.$phpEx?mode=deleteforum&" . POST_FORUM_URL . "=$forum_id"),
+ 'U_FORUM_MOVE_UP' => append_sid("admin_forums.$phpEx?mode=forum_order&move=-15&" . POST_FORUM_URL . "=$forum_id"),
+ 'U_FORUM_MOVE_DOWN' => append_sid("admin_forums.$phpEx?mode=forum_order&move=15&" . POST_FORUM_URL . "=$forum_id"),
+ 'U_FORUM_RESYNC' => append_sid("admin_forums.$phpEx?mode=forum_sync&" . POST_FORUM_URL . "=$forum_id"))
+ );
+ if ($sub_error)
+ {
+ $template->assign_block_vars ('catrow.forumrow.switch_error',array());
+ }
+
+ for($k = 0; $k < $total_forums; $k++)
+ {
+ $subforum_id = $subforum_rows[$k]['forum_id'];
+ if ($subforum_rows[$k]['attached_forum_id'] == $forum_id)
+ {
+ $template->assign_block_vars("catrow.forumrow", array(
+ 'FORUM_NAME' => $subforum_rows[$k]['forum_name'],
+ 'FORUM_DESC' => $subforum_rows[$k]['forum_desc'],
+ 'ROW_COLOR' => $row_color,
+ 'NUM_TOPICS' => $subforum_rows[$k]['forum_topics'],
+ 'NUM_POSTS' => $subforum_rows[$k]['forum_posts'],
+
+ 'U_VIEWFORUM' => append_sid($phpbb_root_path."viewforum.$phpEx?" . POST_FORUM_URL . "=$subforum_id"),
+ 'U_FORUM_EDIT' => append_sid("admin_forums.$phpEx?mode=editforum&" . POST_FORUM_URL . "=$subforum_id"),
+ 'U_FORUM_DELETE' => append_sid("admin_forums.$phpEx?mode=deleteforum&" . POST_FORUM_URL . "=$subforum_id"),
+ 'U_FORUM_MOVE_UP' => append_sid("admin_forums.$phpEx?mode=forum_order&move=-15&" . POST_FORUM_URL . "=$subforum_id"),
+ 'U_FORUM_MOVE_DOWN' => append_sid("admin_forums.$phpEx?mode=forum_order&move=15&" . POST_FORUM_URL . "=$subforum_id"),
+ 'U_FORUM_RESYNC' => append_sid("admin_forums.$phpEx?mode=forum_sync&" . POST_FORUM_URL . "=$subforum_id"))
+ );
+ $template->assign_block_vars ('catrow.forumrow.switch_attached_forum',array());
+ }
+ }
+ }
+
}// if ... forumid == catid
} // for ... forums
Modified: main/trunk/includes/functions.php
===================================================================
--- main/trunk/includes/functions.php 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/includes/functions.php 2006-12-24 06:08:00 UTC (rev 278)
@@ -21,6 +21,54 @@
*
***************************************************************************/
+
+function check_unread($forum_id)
+{
+global $new_topic_data, $tracking_topics, $tracking_forums, $HTTP_COOKIE_VARS, $board_config;
+ if ( !empty($new_topic_data[$forum_id]) )
+ {
+ $forum_last_post_time = 0;
+
+ while( list($check_topic_id, $check_post_time) = @each($new_topic_data[$forum_id]) )
+ {
+ if ( empty($tracking_topics[$check_topic_id]) )
+ {
+ $unread_topics = true;
+ $forum_last_post_time = max($check_post_time, $forum_last_post_time);
+
+ }
+ else
+ {
+ if ( $tracking_topics[$check_topic_id] < $check_post_time )
+ {
+ $unread_topics = true;
+ $forum_last_post_time = max($check_post_time, $forum_last_post_time);
+ }
+ }
+ }
+
+ if ( !empty($tracking_forums[$forum_id]) )
+ {
+ if ( $tracking_forums[$forum_id] > $forum_last_post_time )
+ {
+ $unread_topics = false;
+ }
+ }
+
+ if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
+ {
+ if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] > $forum_last_post_time )
+ {
+ $unread_topics = false;
+ }
+ }
+
+ }
+
+return $unread_topics;
+
+}
+
function get_db_stat($mode)
{
global $db;
@@ -201,6 +249,8 @@
function make_jumpbox($action, $match_forum_id = 0)
{
global $template, $userdata, $lang, $db, $nav_links, $phpEx, $SID;
+
+ global $parent_lookup;
// $is_auth = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
@@ -245,6 +295,18 @@
$boxstring_forums = '';
for($j = 0; $j < $total_forums; $j++)
{
+
+ if ($parent_lookup==$forum_rows[$j]['forum_id'] && !$assigned)
+ {
+ $template->assign_block_vars('switch_parent_link', array() );
+
+ $template->assign_vars(array(
+ 'PARENT_NAME' => $forum_rows[$j]['forum_name'],
+ 'PARENT_URL'=>append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=" . $forum_rows[$j]['forum_id'])
+ ));
+ $assigned = TRUE;
+ }
+
if ( $forum_rows[$j]['cat_id'] == $category_rows[$i]['cat_id'] && $forum_rows[$j]['auth_view'] <= AUTH_REG )
{
Modified: main/trunk/index.php
===================================================================
--- main/trunk/index.php 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/index.php 2006-12-24 06:08:00 UTC (rev 278)
@@ -158,11 +158,12 @@
break;
default:
- $sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
- FROM (( " . FORUMS_TABLE . " f
+ $sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id, t.topic_title
+ FROM ((( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
- ORDER BY f.cat_id, f.forum_order";
+ LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = f.forum_last_post_id)
+ GROUP BY f.forum_id ORDER BY f.cat_id, f.forum_order";
break;
}
if ( !($result = $db->sql_query($sql)) )
@@ -175,6 +176,8 @@
{
$forum_data[] = $row;
}
+ $attach = $forum_data;
+
$db->sql_freeresult($result);
if ( !($total_forums = count($forum_data)) )
@@ -341,7 +344,62 @@
if ( $forum_data[$j]['cat_id'] == $cat_id )
{
$forum_id = $forum_data[$j]['forum_id'];
+
+ $attached_id = $forum_data[$j]['attached_forum_id'];
+ if ( $is_auth_ary[$forum_id]['auth_view'] && $attached_id == -1 )
+ {
+ $attached_forums = array();
+ foreach ($attach as $key => $value)
+ {
+ $sub_forum_id = $value['forum_id'];
+ if ($value['attached_forum_id']==$forum_id && $is_auth_ary[$sub_forum_id]['auth_view'])
+ {
+ //combining topic and post count for forum and subforums
+ $forum_data[$j]['forum_posts']=$forum_data[$j]['forum_posts']+$value['forum_posts'];
+ $forum_data[$j]['forum_topics']=$forum_data[$j]['forum_topics']+$value['forum_topics'];
+ //END combining topic and post count
+ //Last post link - check if any of subforums have newest posts and link to them instead
+ if ($value['post_time']>$forum_data[$j]['post_time'])
+ {
+ $forum_data[$j]['user_id'] = $value['user_id'];
+ $forum_data[$j]['post_username'] = $value['post_username'];
+ $forum_data[$j]['forum_last_post_id'] = $value['forum_last_post_id'];
+ $forum_data[$j]['post_time'] = $value['post_time'];
+ $forum_data[$j]['username'] = $value['username'];
+ $forum_data[$j]['topic_title'] = $value['topic_title'];
+ }
+ // END last post check
+
+ $unread_topics = false;
+ if ( $userdata['session_logged_in'] )
+ {
+ if (check_unread($value['forum_id']))
+ {
+ $attach_img = $images['icon_minipost_new'];
+ $l_attach_img = $lang['New_posts'];
+ }
+ else
+ {
+ $attach_img = $images['icon_minipost'];
+ $l_attach_img = $lang['No_new_posts'];
+ }
+ }
+ else
+ {
+ $attach_img = $images['icon_minipost'];
+ $l_attach_img = $lang['No_new_posts'];
+ }
+
+ $attached_forums[] = array(
+ 'sub_img'=>$attach_img,
+ 'sub_alt'=>$l_attach_img,
+ 'sub_name'=>$value['forum_name'],
+ 'sub_url'=>append_sid ('viewforum.php?f=' . $value['forum_id'] )
+ );
+ }
+ }
+
if ( $is_auth_ary[$forum_id]['auth_view'] )
{
if ( $forum_data[$j]['forum_status'] == FORUM_LOCKED )
@@ -354,45 +412,7 @@
$unread_topics = false;
if ( $userdata['session_logged_in'] )
{
- if ( !empty($new_topic_data[$forum_id]) )
- {
- $forum_last_post_time = 0;
-
- while( list($check_topic_id, $check_post_time) = @each($new_topic_data[$forum_id]) )
- {
- if ( empty($tracking_topics[$check_topic_id]) )
- {
- $unread_topics = true;
- $forum_last_post_time = max($check_post_time, $forum_last_post_time);
-
- }
- else
- {
- if ( $tracking_topics[$check_topic_id] < $check_post_time )
- {
- $unread_topics = true;
- $forum_last_post_time = max($check_post_time, $forum_last_post_time);
- }
- }
- }
-
- if ( !empty($tracking_forums[$forum_id]) )
- {
- if ( $tracking_forums[$forum_id] > $forum_last_post_time )
- {
- $unread_topics = false;
- }
- }
-
- if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
- {
- if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] > $forum_last_post_time )
- {
- $unread_topics = false;
- }
- }
-
- }
+ $unread_topics = check_unread($forum_id);
}
$folder_image = ( $unread_topics ) ? $images['forum_new'] : $images['forum'];
@@ -404,13 +424,19 @@
if ( $forum_data[$j]['forum_last_post_id'] )
{
+ if (strlen($forum_data[$j]['topic_title'])>=25)
+ {
+ $forum_data[$j]['topic_title']=substr($forum_data[$j]['topic_title'],0,25). "...";
+ }
+
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
+ $last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '">'.$forum_data[$j]['topic_title'].' <img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
- $last_post = $last_post_time . '<br />';
-
+ $last_post .= '<br /> ';
+ $last_post .= ' '.$last_post_time;
+ $last_post .= '<br /> ';
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
-
- $last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
+
}
else
{
@@ -424,8 +450,8 @@
}
else
{
- $l_moderators = ' ';
- $moderator_list = ' ';
+ $l_moderators = '';
+ $moderator_list = '';
}
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
@@ -447,12 +473,36 @@
'U_VIEWFORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"))
);
+
+ $attached_forum_count = count($attached_forums);
+ if($attached_forum_count)
+ {
+
+ $template->assign_block_vars('catrow.forumrow.switch_attached_forums', array(
+ 'L_ATTACHED_FORUMS' => ($attached_forum_count ==1)? $lang['Attached_forum']: $lang['Attached_forums']
+ ));
+ if (count($forum_moderators[$forum_id]) > 0 )
+ {
+ $template->assign_block_vars('catrow.forumrow.switch_attached_forums.br', array());
}
+ for($k = 0; $k < $attached_forum_count; $k++)
+ {
+ $template->assign_block_vars('catrow.forumrow.switch_attached_forums.attached_forums', array(
+ 'FORUM_IMAGE' => $attached_forums[$k]['sub_img'],
+ 'FORUM_NAME' => $attached_forums[$k]['sub_name'],
+ 'L_FORUM_IMAGE' => $attached_forums[$k]['sub_alt'],
+ 'U_VIEWFORUM' => $attached_forums[$k]['sub_url']
+ ));
+ }
+ }
+
+ }
}
}
}
}
} // for ... categories
+}
}// if ... total_categories
else
Modified: main/trunk/language/lang_english/lang_admin.php
===================================================================
--- main/trunk/language/lang_english/lang_admin.php 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/language/lang_english/lang_admin.php 2006-12-24 06:08:00 UTC (rev 278)
@@ -759,6 +759,12 @@
$lang['Login_reset_time'] = 'Login lock time';
$lang['Login_reset_time_explain'] = 'Time in minutes the user have to wait until he is allowed to login again after exceeding the number of allowed login attempts.';
+$lang['Attached_Field_Title'] = 'Attached to forum';
+$lang['Attached_Description'] = "This field has been added by sub-forums mod. It will display all attachable forums (if available) in this category";
+$lang['Detach_Description'] = "Detach all forums";
+$lang['Has_attachments'] = 'This forum has other forums attached to it. If you assign new category to this forum it will move all it\'s subforums to new category unless you select detach checkbox';
+$lang['No_attach_forums'] = 'No attachable forums in this category';
+
//
// That's all Folks!
// -------------------------------------------------
Modified: main/trunk/language/lang_english/lang_main.php
===================================================================
--- main/trunk/language/lang_english/lang_main.php 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/language/lang_english/lang_main.php 2006-12-24 06:08:00 UTC (rev 278)
@@ -1020,6 +1020,9 @@
$lang['Session_invalid'] = 'Invalid Session. Please resubmit the form.';
+$lang['Attached_forum'] = 'Subforum';
+$lang['Attached_forums'] = 'Subforum';
+
//
// That's all, Folks!
// -------------------------------------------------
Modified: main/trunk/posting.php
===================================================================
--- main/trunk/posting.php 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/posting.php 2006-12-24 06:08:00 UTC (rev 278)
@@ -974,6 +974,12 @@
'pollbody' => 'posting_poll_body.tpl',
'reviewbody' => 'posting_topic_review.tpl')
);
+
+if ($post_info[attached_forum_id] > 0)
+{
+ $parent_lookup=$post_info[attached_forum_id];
+}
+
make_jumpbox('viewforum.'.$phpEx);
$template->assign_vars(array(
Modified: main/trunk/templates/subSilver/admin/forum_admin_body.tpl
===================================================================
--- main/trunk/templates/subSilver/admin/forum_admin_body.tpl 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/templates/subSilver/admin/forum_admin_body.tpl 2006-12-24 06:08:00 UTC (rev 278)
@@ -17,7 +17,19 @@
</tr>
<!-- BEGIN forumrow -->
<tr>
- <td class="row2"><span class="gen"><a href="{catrow.forumrow.U_VIEWFORUM}" target="_new">{catrow.forumrow.FORUM_NAME}</a></span><br /><span class="gensmall">{catrow.forumrow.FORUM_DESC}</span></td>
+ <td class="row2"><span class="gen">
+ <!-- BEGIN switch_attached_forum -->
+ |__
+ <!-- END switch_attached_forum -->
+ <!-- BEGIN switch_error -->
+ ERROR
+ <!-- END switch_error -->
+<a href="{catrow.forumrow.U_VIEWFORUM}" target="_new">{catrow.forumrow.FORUM_NAME}</a></span><br />
+<span class="gensmall">
+<!-- BEGIN switch_attached_forum -->
+
+<!-- END switch_attached_forum -->
+{catrow.forumrow.FORUM_DESC}</span></td>
<td class="row1" align="center" valign="middle"><span class="gen">{catrow.forumrow.NUM_TOPICS}</span></td>
<td class="row2" align="center" valign="middle"><span class="gen">{catrow.forumrow.NUM_POSTS}</span></td>
<td class="row1" align="center" valign="middle"><span class="gen"><a href="{catrow.forumrow.U_FORUM_EDIT}">{L_EDIT}</a></span></td>
Modified: main/trunk/templates/subSilver/admin/forum_edit_body.tpl
===================================================================
--- main/trunk/templates/subSilver/admin/forum_edit_body.tpl 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/templates/subSilver/admin/forum_edit_body.tpl 2006-12-24 06:08:00 UTC (rev 278)
@@ -20,6 +20,18 @@
<td class="row1">{L_CATEGORY}</td>
<td class="row2"><select name="c">{S_CAT_LIST}</select></td>
</tr>
+ <tr>
+ <td class="row1">{L_ATTACHED_FORUM}</td>
+ <td class="row2">
+ <!-- BEGIN switch_attached_yes -->
+ <select name="attached_forum_id">{S_ATTACHED_FORUM_ID}</select>
+ <!-- END switch_attached_yes -->
+ <!-- BEGIN switch_attached_no -->
+ {L_DETACH_DESC} <input type="checkbox" name="detach_enabled" value="1" {S_DETACH_ENABLED} /><br />
+ <!-- END switch_attached_no -->
+ {L_ATTACHED_DESC}
+ </td>
+ </tr>
<tr>
<td class="row1">{L_FORUM_STATUS}</td>
<td class="row2"><select name="forumstatus">{S_STATUS_LIST}</select></td>
Modified: main/trunk/templates/subSilver/index_body.tpl
===================================================================
--- main/trunk/templates/subSilver/index_body.tpl 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/templates/subSilver/index_body.tpl 2006-12-24 06:08:00 UTC (rev 278)
@@ -30,7 +30,18 @@
<td class="row1" align="center" valign="middle" height="50"><img src="{catrow.forumrow.FORUM_FOLDER_IMG}" width="46" height="25" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" /></td>
<td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a><br />
</span> <span class="genmed">{catrow.forumrow.FORUM_DESC}<br />
- </span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>
+ </span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span>
+ <!-- BEGIN switch_attached_forums -->
+ <!-- BEGIN br -->
+ <br />
+ <!-- END br -->
+ <span class="genmed">{catrow.forumrow.switch_attached_forums.L_ATTACHED_FORUMS}:
+ <!-- BEGIN attached_forums -->
+ <a class="nav" href="{catrow.forumrow.switch_attached_forums.attached_forums.U_VIEWFORUM}"><img alt="{catrow.forumrow.switch_attached_forums.attached_forums.L_FORUM_IMAGE}" border="0" src="{catrow.forumrow.switch_attached_forums.attached_forums.FORUM_IMAGE}" title="{catrow.forumrow.switch_attached_forums.attached_forums.L_FORUM_IMAGE}" />{catrow.forumrow.switch_attached_forums.attached_forums.FORUM_NAME}</a>
+ <!-- END attached_forums -->
+ <span class="genmed">
+ <!-- END switch_attached_forums -->
+</td>
<td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.TOPICS}</span></td>
<td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.POSTS}</span></td>
<td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"> <span class="gensmall">{catrow.forumrow.LAST_POST}</span></td>
Modified: main/trunk/templates/subSilver/posting_body.tpl
===================================================================
--- main/trunk/templates/subSilver/posting_body.tpl 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/templates/subSilver/posting_body.tpl 2006-12-24 06:08:00 UTC (rev 278)
@@ -263,6 +263,9 @@
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left"><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a>
+ <!-- BEGIN switch_parent_link -->
+ -> <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
+ <!-- END switch_parent_link -->
<!-- BEGIN switch_not_privmsg -->
-> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
<!-- END switch_not_privmsg -->
Modified: main/trunk/templates/subSilver/viewforum_body.tpl
===================================================================
--- main/trunk/templates/subSilver/viewforum_body.tpl 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/templates/subSilver/viewforum_body.tpl 2006-12-24 06:08:00 UTC (rev 278)
@@ -7,11 +7,36 @@
</tr>
<tr>
<td align="left" valign="middle" width="50"><a href="{U_POST_NEW_TOPIC}"><img src="{POST_IMG}" border="0" alt="{L_POST_NEW_TOPIC}" /></a></td>
- <td align="left" valign="middle" class="nav" width="100%"><span class="nav"> <a href="{U_INDEX}" class="nav">{L_INDEX}</a> -> <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a></span></td>
+ <td align="left" valign="middle" class="nav" width="100%"><span class="nav"> <a href="{U_INDEX}" class="nav">{L_INDEX}</a>
+
+ <!-- BEGIN switch_parent_link -->
+ -> <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
+ <!-- END switch_parent_link -->
+ -> <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a></span></td>
<td align="right" valign="bottom" class="nav" nowrap="nowrap"><span class="gensmall"><a href="{U_MARK_READ}">{L_MARK_TOPICS_READ}</a></span></td>
</tr>
</table>
-
+ <!-- BEGIN switch_attached_list -->
+ <br />
+ <table width="100%" border="0" cellpadding="4" cellspacing="1" width="100%" class="forumline">
+ <tr>
+ <th colspan="2" class="thCornerL" height="15" nowrap="nowrap"> {switch_attached_list.L_ATTACHED_FORUM} </th>
+ <th width="50" class="thTop" nowrap="nowrap"> {switch_attached_list.L_ATTACHED_TOPICS} </th>
+ <th width="50" class="thTop" nowrap="nowrap"> {switch_attached_list.L_ATTACHED_POSTS} </th>
+ <th width="50" class="thTop" nowrap="nowrap"> {switch_attached_list.L_LAST_POST} </th>
+ </tr>
+ <!-- BEGIN switch_attached_present -->
+ <tr>
+ <td class="row1" align="center" valign="middle" height="38"><img src="{switch_attached_list.switch_attached_present.FORUM_FOLDER_IMG}" width="46" height="25" alt="{switch_attached_list.switch_attached_present.L_FORUM_FOLDER_ALT}" title="{switch_attached_list.switch_attached_present.L_FORUM_FOLDER_ALT}" /></td>
+ <td class="row1" width="75%"><span class="forumlink"><a class="forumlink" href="{switch_attached_list.switch_attached_present.U_VIEWFORUM}">{switch_attached_list.switch_attached_present.FORUM_NAME}</a></span><br /><span class="genmed">{switch_attached_list.switch_attached_present.FORUM_DESC}</span></td>
+ <td class="row2" align="center" valign="middle"><span class="gensmall">{switch_attached_list.switch_attached_present.TOPICS}</span></td>
+ <td class="row2" align="center" valign="middle"><span class="gensmall">{switch_attached_list.switch_attached_present.POSTS}</span></td>
+ <td class="row2" align="center" nowrap="nowrap" valign="middle"><span class="gensmall">{switch_attached_list.switch_attached_present.LAST_POST_ID}</span></td>
+ </tr>
+ <!-- END switch_attached_present -->
+ </table>
+ <br />
+<!-- END switch_attached_list -->
<table border="0" cellpadding="4" cellspacing="1" width="100%" class="forumline">
<tr>
<th colspan="2" align="center" height="25" class="thCornerL" nowrap="nowrap"> {L_TOPICS} </th>
@@ -46,7 +71,12 @@
<table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
<tr>
<td align="left" valign="middle" width="50"><a href="{U_POST_NEW_TOPIC}"><img src="{POST_IMG}" border="0" alt="{L_POST_NEW_TOPIC}" /></a></td>
- <td align="left" valign="middle" width="100%"><span class="nav"> <a href="{U_INDEX}" class="nav">{L_INDEX}</a> -> <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a></span></td>
+
+ <td align="left" valign="middle" width="100%"><span class="nav"> <a href="{U_INDEX}" class="nav">{L_INDEX}</a>
+ <!-- BEGIN switch_parent_link -->
+ -> <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
+ <!-- END switch_parent_link -->
+ -> <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a></span></td>
<td align="right" valign="middle" nowrap="nowrap"><span class="gensmall">{S_TIMEZONE}</span><br /><span class="nav">{PAGINATION}</span>
</td>
</tr>
Modified: main/trunk/templates/subSilver/viewtopic_body.tpl
===================================================================
--- main/trunk/templates/subSilver/viewtopic_body.tpl 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/templates/subSilver/viewtopic_body.tpl 2006-12-24 06:08:00 UTC (rev 278)
@@ -11,6 +11,11 @@
<tr>
<td align="left" valign="bottom" nowrap="nowrap"><span class="nav"><a href="{U_POST_NEW_TOPIC}"><img src="{POST_IMG}" border="0" alt="{L_POST_NEW_TOPIC}" align="middle" /></a> <a href="{U_POST_REPLY_TOPIC}"><img src="{REPLY_IMG}" border="0" alt="{L_POST_REPLY_TOPIC}" align="middle" /></a></span></td>
<td align="left" valign="middle" width="100%"><span class="nav"> <a href="{U_INDEX}" class="nav">{L_INDEX}</a>
+
+ <!-- BEGIN switch_parent_link -->
+ -> <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
+ <!-- END switch_parent_link -->
+ -> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
-> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
</tr>
</table>
@@ -72,6 +77,10 @@
<tr>
<td align="left" valign="middle" nowrap="nowrap"><span class="nav"><a href="{U_POST_NEW_TOPIC}"><img src="{POST_IMG}" border="0" alt="{L_POST_NEW_TOPIC}" align="middle" /></a> <a href="{U_POST_REPLY_TOPIC}"><img src="{REPLY_IMG}" border="0" alt="{L_POST_REPLY_TOPIC}" align="middle" /></a></span></td>
<td align="left" valign="middle" width="100%"><span class="nav"> <a href="{U_INDEX}" class="nav">{L_INDEX}</a>
+ <!-- BEGIN switch_parent_link -->
+ -> <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
+ <!-- END switch_parent_link -->
+ -> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
-> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
<td align="right" valign="top" nowrap="nowrap"><span class="gensmall">{S_TIMEZONE}</span><br /><span class="nav">{PAGINATION}</span>
</td>
Modified: main/trunk/viewforum.php
===================================================================
--- main/trunk/viewforum.php 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/viewforum.php 2006-12-24 06:08:00 UTC (rev 278)
@@ -64,7 +64,8 @@
{
$sql = "SELECT *
FROM " . FORUMS_TABLE . "
- WHERE forum_id = $forum_id";
+ WHERE forum_id = $forum_id OR attached_forum_id =$forum_id
+ ORDER BY attached_forum_id ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
@@ -74,7 +75,12 @@
{
message_die(GENERAL_MESSAGE, 'Forum_not_exist');
}
+$attachments = '';
+if ($db->sql_numrows ($result) > 1)
+{
+ $attachments=TRUE;
+}
//
// If the query doesn't return any rows this isn't a valid forum. Inform
// the user.
@@ -393,6 +399,12 @@
$template->set_filenames(array(
'body' => 'viewforum_body.tpl')
);
+
+if ($forum_row[attached_forum_id] > 0)
+{
+ $parent_lookup=$forum_row[attached_forum_id];
+}
+
make_jumpbox('viewforum.'.$phpEx);
$template->assign_vars(array(
@@ -445,6 +457,142 @@
//
// Okay, lets dump out the page ...
//
+
+if ($attachments)
+{
+
+ //
+ // Obtain a list of topic ids which contain
+ // posts made since user last visited
+ //
+ if ( $userdata['session_logged_in'] )
+ {
+ $sql = "SELECT t.forum_id, t.topic_id, p.post_time
+ FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
+ WHERE p.post_id = t.topic_last_post_id
+ AND p.post_time > " . $userdata['user_lastvisit'] . "
+ AND t.topic_moved_id = 0";
+ if ( !($result = $db->sql_query($sql)) )
+ {
+ message_die(GENERAL_ERROR, 'Could not query new topic information', '', __LINE__, __FILE__, $sql);
+ }
+
+ $new_topic_data = array();
+ while( $topic_data = $db->sql_fetchrow($result) )
+ {
+ $new_topic_data[$topic_data['forum_id']][$topic_data['topic_id']] = $topic_data['post_time'];
+ }
+ }
+
+ $sql2 = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id, t.topic_title
+ FROM ((( " . FORUMS_TABLE . " f
+ LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
+ LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
+ LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = f.forum_last_post_id)
+ WHERE attached_forum_id = " . $forum_id . "
+ GROUP by f.forum_id ORDER BY f.forum_order";
+
+ $result2 = $db->sql_query ($sql2);
+ if (!$result2 )
+ {
+ message_die ('Could not gather attached forum info', __LINE__, __FILE__, $sql2);
+ }
+
+ if ($db->sql_numrows ($result2) != 0)
+ {
+ while( $row = $db->sql_fetchrow($result2) )
+ {
+ $forum_data[] = $row;
+ }
+ $is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata, $forum_data);
+
+ $x=0;
+ foreach ($forum_data as $row2 => $value)
+ {
+ if ($is_auth_ary[$value['forum_id']]['auth_view'])
+ {
+ $x++;
+ if ($x==1)
+ {
+ $template->assign_block_vars ('switch_attached_list',
+ array( 'L_ATTACHED_FORUM' => $lang['Attached_forums'],
+ 'L_ATTACHED_TOPICS' => $lang['Topics'],
+ 'L_ATTACHED_POSTS' => $lang['Posts'],
+ 'L_LAST_POST'=>$lang['Last_Post']
+ )
+ );
+
+ }
+ $attach_forum_link = append_sid('viewforum.php?f=' . $value['forum_id']);
+ $attach_forum_name = '<a href="' . append_sid('viewforum.php?f=' . $value['forum_id']) . '">' . $value['forum_name'] . '</a>' ;
+ $attach_forum_desc = $value['forum_desc'];
+ $attach_forum_topics = $value['forum_topics'];
+ $attach_forum_posts = $value['forum_posts'];
+ $last_post_id = $value['forum_last_post_id'];
+
+ if ( $value['forum_status'] == FORUM_LOCKED )
+ {
+ $folder_image = $images['forum_locked'];
+ $folder_alt = $lang['Forum_locked'];
+ }
+ else
+ {
+ $unread_topics = false;
+ if ( $userdata['session_logged_in'] )
+ {
+ $unread_topics=check_unread($value['forum_id']);
+ }
+
+ $folder_image = ( $unread_topics ) ? $images['forum_new'] : $images['forum'];
+ $folder_alt = ( $unread_topics ) ? $lang['New_posts'] : $lang['No_new_posts'];
+ }
+
+ if ( $value['forum_last_post_id'] )
+ {
+
+ if (strlen($value['topic_title'])>=25)
+ {
+ $value['topic_title']=substr($value['topic_title'],0,25). "...";
+ }
+
+ $last_post_time = create_date($board_config['default_dateformat'], $value['post_time'], $board_config['board_timezone']);
+ $last_post = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $value['forum_last_post_id']) . '#' . $value['forum_last_post_id'] . '">'.$value['topic_title'].' <img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
+
+ $last_post .= '<br /> ';
+ $last_post .= ' '.$last_post_time;
+ $last_post .= '<br /> ';
+ $last_post .= ( $value['user_id'] == ANONYMOUS ) ? ( ($value['post_username'] != '' ) ? $value['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $value['user_id']) . '">' . $value['username'] . '</a> ';
+
+
+
+ }
+ else
+ {
+ $last_post = $lang['No_Posts'];
+ }
+
+
+
+
+ $template->assign_block_vars ('switch_attached_list.switch_attached_present',
+ array
+ (
+ 'FORUM_FOLDER_IMG' => $folder_image,
+ 'L_FORUM_FOLDER_ALT' => $folder_alt,
+ 'FORUM_NAME' => $attach_forum_name,
+ 'U_VIEWFORUM' => $attach_forum_link,
+ 'FORUM_DESC' => $attach_forum_desc,
+ 'TOPICS' => $attach_forum_topics,
+ 'POSTS' => $attach_forum_posts,
+ 'LAST_POST_ID' => $last_post,
+ ));
+ }
+ }
+
+ }
+ $db->sql_freeresult ($result2);
+}
+
if( $total_topics )
{
for($i = 0; $i < $total_topics; $i++)
Modified: main/trunk/viewtopic.php
===================================================================
--- main/trunk/viewtopic.php 2006-12-24 00:31:58 UTC (rev 277)
+++ main/trunk/viewtopic.php 2006-12-24 06:08:00 UTC (rev 278)
@@ -147,7 +147,7 @@
$order_sql = (!$post_id) ? '' : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC";
-$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . "
+$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments, f.attached_forum_id" . $count_sql . "
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f" . $join_sql_table . "
WHERE $join_sql
AND f.forum_id = t.forum_id
@@ -569,6 +569,12 @@
$template->set_filenames(array(
'body' => 'viewtopic_body.tpl')
);
+
+if (intval($forum_topic_data['attached_forum_id'])>0)
+{
+ $parent_lookup=intval($forum_topic_data['attached_forum_id']);
+}
+
make_jumpbox('viewforum.'.$phpEx, $forum_id);
//
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|