[ALPHA] Easy Sub-Forums MOD v1.0.9

A place for MOD Authors to post and receive feedback on MODs still in development. No MODs within this forum should be used within a live environment! No new topics are allowed in this forum.
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

IMPORTANT: MOD Development Forum rules

On February 1, 2009 this forum will be set to read only as part of retiring of phpBB2.
User avatar
Ornette
Registered User
Posts: 56
Joined: Thu Mar 06, 2008 3:53 pm

Re: [ALPHA] Easy Sub-Forums MOD v1.0.9

Post by Ornette »

Tumbo wrote:Hi.
I have installed this Sub-Forums mod on my forum, and face the following two problems.

- I sometimes can not "Move up" or "Move down" any forums in the Adrim Forums panel.
- When you go to "Jump to", you don't see the forums in the order they should have been.

What's wrong?
I think what you need to do is think again of the forums as being in a normal context. ;)

Although with this mod a forum may be assigned to another forum, as a sub-forum, the database ordering still has in mind the forum's positions as they would be without this mod in place. So, you may find yourself having to repeatedly press the 'move up' or 'move down' options until they have an effect...

From what you have said, I'd say the jump box here is the clue - this continues to provide for you the standard order that the phpBB is seeing the forums in...

Have a go 8-)
DJ Ornsman - Back To 93
Tuesday 9-11pm GMT on Stress Factor

http://www.stressfactor.co.uk
User avatar
Ornette
Registered User
Posts: 56
Joined: Thu Mar 06, 2008 3:53 pm

Re:

Post by Ornette »

End of a Shadow wrote:You know, alot of the functions and switches look very similar to niekas/harishankar's Pseudo Sub-Forums mod.
[DISC] Improved pseudo sub-forums MOD 1.0.6
[ALPHA] Attached forums or pseudo sub-forums mod 1.0.0

Hmmm. Its a little more than similar. It's the same mod.
With just the tiny difference of it says "Sub-forums" instead of "Subforums" and the 'Last Post MOD' integration got removed. :roll:


Well, what's good for the goose is good for the gander. In the spirit of acoolwelshbloke unashamed rehashing of something already in existence, I present to you, the all-new...
  • Über Sub-Forums v1.0.9!

Code: Select all

##############################################################
## MOD Title:  Über Sub-Forums
## MOD Author: Ornette <> (Ornette Wilson) http://www.stressfactor.co.uk
## MOD Author: acoolwelshbloke <> () http://www.www.tec2spec.co.uk/forum/
## MOD Author: niekas <> () http://www.freedomlist.com
## MOD Author: harishankar < [email protected] > (Harishankar) http://literaryforums.org
## MOD Description: This is almost the best sub-forum mod out there. Its simple,
## supports a single level of sub-forum, has an excellent back end, and doesn't
## rely on Extreme Styles to work :p
##
## MOD Version: 1.0.9
##
## Installation Level: (Easy)
## Installation Time: 10 Minutes
## Files To Edit:   
##               includes/functions.php
##               admin/admin_forums.php
##               index.php
##               viewforum.php
##               viewtopic.php
##               posting.php
##               templates/subSilver/index_body.tpl
##               templates/subSilver/viewforum_body.tpl
##               templates/subSilver/viewtopic_body.tpl
##               templates/subSilver/admin/forum_edit_body.tpl
##               templates/subSilver/admin/forum_admin_body.tpl
##               templates/subSilver/posting_body.tpl
##               language/lang_english/lang_main.php
##               language/lang_english/lang_admin.php
##
## Included Files: (n/a)
##############################################################
## Author Notes:
##
## Ornette:
## Thanks to StarGhost for the code to change the folder icon on index.php when
## there are new posts in any of the sub-forums
##
## acoolwelshbloke:
## I promised a number of new features, but not deliver any
##
## niekas:
## This mod is based on pseudo attached forum mod by Harishankar
## (http://literaryforums.org).
## It has been re-written from the ground up.
## Test this MOD in a testing/isolated enviroment if you have heavy modded forum.
## Installs fine with EasyMod on vanilla phpBB setup
## ********IMPORTANT *****
## Execute this query from phpMyAdmin because Easy Mod can't handle it for some
## reason:
##     ALTER  TABLE  `phpbb_topics`  ADD  INDEX (`topic_last_post_id`);
##
## Harishankar:
## This mod allows you to "attach" specific forums to another so that they are not 
## displayed on the main index page but inside another forum. This emulates the sub-
## forums features but does not really create true sub-forum functionality.
##
##############################################################
## MOD History:
##
##    2008-05-20 - Version 1.0.9 - Über Sub-Forums
##               -Tidied/removed the leftover code from previous removal of the 'Last
##                Topic MOD' integration (lines 664 - 691), avoiding conflict with
##                other mods
##               -Added code to change folder icon on index.php when new posts in sub-
##                forums
##               -Improved appearance of sub-forum links on index.php
##               -Removed listing of sub-forums from the jumpbox
##               -Improved template find/replace commands to allow compatibility   
##                with both subSilver & the FreestyleXL family of themes - i.e.
##                AcidTech (viewforum_body.tpl & viewtopic_body.tpl)
##                NB. Freestyle XL format specific - using '&raquo;' not '->' forum 
##                name seperation, also, Freestyle XL image size dimensions
##
##   2006-01-26 - Version 1.0.8 - Easy Sub Forums MOD
##              -Arbitrarily jumped 2 version numbers inordinately
##              -Added the SQL index command back into the EasyMOD install file
##              -Unwarrantedly changed name of mod
##              -Clumsily removed the 'Last Topic mod' integration added in v1.0.3
##               (http://www.phpbb.com/community/viewtopic.php?t=200004)
##              -Altered legend spelling to read "Sub-forum" instead of "Subforum"
##               stroke of genius, that one ;)
##
##   2005-05-07 - Version 1.0.6
##              -Display parent forum in navigation bar in viewforum viewtopic and 
##               posting files
##              -Admin panel displays tree of parent/child subforums
##
##   2005-05-01 - Version 1.0.5
##              -Rewriten and Improved backend administration
##              -Works with EasyMod
##
##   2005-04-26 - Version 1.0.4
##              -Check new posts on children forums when viewing parent forum
##   
##   2005-04-24 - Version 1.0.3
##              -display latest topic subject on index and subforums
##              -combine parent forum and subforums post and topic count on index
##              -display subforum last post if subforum has newer post than a parent 
##               forum
##
##   2005-03-25 - Version 1.0.2 - Improved pseudo sub-forums MOD
##              -Improved index generation - removed database querries inside the loop
##              -Added indicator for new subforum posts on index
##              -No database querries on viewforum.php if forum has no subforums
##              -Added last post link on subforums on viewforum.php
##
##   2004-12-11 - Version 1.0.1 - Attached forums or pseudo sub-forums MOD
##              -Alpha release :)
##
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ SQL ]-------------------------------------------------
#
# If your phpbb table prefix is different, then change it to
# reflect the correct one.
#
#

   ALTER TABLE `phpbb_topics` ADD INDEX (topic_last_post_id);
   ALTER TABLE `phpbb_forums` ADD attached_forum_id MEDIUMINT(8) DEFAULT '-1' NOT NULL;
   
#
#-----[ OPEN ]------------------------------------------------
#
   /includes/functions.php


#
#-----[ FIND ]------------------------------------------------
#

function get_db_stat($mode)
{


#
#-----[ BEFORE, ADD ]------------------------------------------
#

// Added by Easy Sub-Forums MOD

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;

}

// END Added by Easy Sub-Forums MOD


#
#-----[ FIND ]------------------------------------------------
#
function make_jumpbox($action, $match_forum_id = 0)
{
   global $template, $userdata, $lang, $db, $nav_links, $phpEx, $SID;


#
#-----[ AFTER, ADD ]------------------------------------------
#
    // Added by Easy Sub-Forums MOD

   global $parent_lookup;
   
    // END Added by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#
               if ( $forum_rows[$j]['cat_id'] == $category_rows[$i]['cat_id'] && $forum_rows[$j]['auth_view'] <= AUTH_REG )
               {


#
#-----[BEFORE, ADD ]------------------------------------------
#
                    // Added by Easy Sub-Forums MOD

                    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;
                    }
                   
                    // END Added by Easy Sub-Forums MOD
                   
                   
                    // Modified by Easy Sub-Forums MOD

#
#-----[ IN-LINE FIND ]------------------------------------------
#
if (

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#
$forum_rows[$j]['attached_forum_id'] == -1 &&

#
#-----[ AFTER, ADD ]------------------------------------------
#

                    // Modified by Easy Sub-Forums MOD

#
#-----[ OPEN ]------------------------------------------------
#
   /admin/admin_forums.php

#
#-----[ FIND ]------------------------------------------------
#
   $forumstatus = $row['forum_status'];
   
#
#-----[ AFTER, ADD ]------------------------------------------
#
   // Added by Easy Sub-Forums MOD
   
            $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;
               }

            }
   // End Added by Easy Sub-Forums MOD


#
#-----[ FIND ]------------------------------------------------
#

            $forum_id = '';
            $prune_enabled = '';
#
#-----[ AFTER, ADD ]------------------------------------------
#
   // Added by Easy Sub-Forums MOD

               $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;
            }
   // END Added by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#
   $catlist = get_list('category', $cat_id, TRUE);
#
#-----[ BEFORE, ADD ]------------------------------------------
#

   // Added by Easy Sub-Forums MOD

         $forum_attached_id = $attachable_forums;
   // END Added by Easy Sub-Forums MOD


#
#-----[ FIND ]------------------------------------------------
#

         $s_hidden_fields = '<input type="hidden" name="mode" value="' . $newmode .'" /><input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" />';
#
#-----[ AFTER, ADD ]------------------------------------------
#
   // Added by Easy Sub-Forums MOD

         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.'" />';
   // END Added by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#
   
   'S_PRUNE_ENABLED' => $prune_enabled,

#
#-----[ AFTER, ADD ]------------------------------------------
#
   // Added by Easy Sub-Forums MOD
   'S_ATTACHED_FORUM_ID' => $forum_attached_id,
   'S_DETACH_ENABLED'=> $detach_enabled,
   // End Added by Easy Sub-Forums MOD
     
#
#-----[ FIND ]------------------------------------------------
#
   'L_CATEGORY' => $lang['Category'],

#
#-----[ AFTER, ADD ]------------------------------------------
#

   // Added by Easy Sub-Forums MOD
   'L_ATTACHED_FORUM' => $lang['Attached_Field_Title'] ,
   'L_ATTACHED_DESC' => $lang['Attached_Description'],
   'L_DETACH_DESC'   => $lang['Detach_Description'],
   // End Added by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#
      $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 . ")";

#
#-----[ REPLACE WITH ]----------------------------------------
#
   // Modified by Easy Sub-Forums MOD
   
         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 . ")";
   // End Added by Easy Sub-Forums MOD


#
#-----[ FIND ]------------------------------------------------
#
            $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']) . "
            WHERE forum_id = " . intval($HTTP_POST_VARS[POST_FORUM_URL]);

#
#-----[ REPLACE WITH ]----------------------------------------
#
   // Modified by Easy Sub-Forums MOD
         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]) .", 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]);
   // End Added by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#
   if( $total_forums = $db->sql_numrows($q_forums) )
   {
      $forum_rows = $db->sql_fetchrowset($q_forums);
   }

#
#-----[ AFTER, ADD ]------------------------------------------
#

   $subforum_rows=$forum_rows;


#
#-----[ FIND ]------------------------------------------------
#

            $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"))
            );

#
#-----[ REPLACE WITH ]----------------------------------------
#
            $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'];

                  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());
                  }
               }
            }


#
#-----[ OPEN ]------------------------------------------------
#
   index.php


#
#-----[ FIND ]------------------------------------------------
#
         $sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
            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";
#
#-----[ REPLACE WITH ]----------------------------------------
#
   // Modified by Easy Sub-Forums MOD

         $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 )
            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";
   // END Modified by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#
   {
      $forum_data[] = $row;
   }
#
#-----[ AFTER, ADD ]------------------------------------------
#
   // Added by Easy Sub-Forums MOD
   
   $attach=$forum_data;
   // END Added by Easy Sub-Forums MOD

#
#-----[ FIND ]---------------------------------------------
#
for($j = 0; $j < $total_forums; $j++)
{

#
#-----[ AFTER, ADD ]--------------------------------------
#
$has_sub_new_posts = array();

#
#-----[ FIND ]------------------------------------------------
#
   $forum_id = $forum_data[$j]['forum_id'];

#
#-----[ AFTER, ADD ]------------------------------------------
#

   // Added by Easy Sub-Forums MOD

   $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'];
                                            $has_sub_new_posts[] = 1;
                              }
                              else
                              {
                                 $attach_img = $images['icon_minipost'];
                                 $l_attach_img = $lang['No_new_posts'];
                                            $has_sub_new_posts[] = 0;
                              }
                           }
                           else
                           {
                              $attach_img = $images['icon_minipost'];
                              $l_attach_img = $lang['No_new_posts'];
                                        $has_sub_new_posts[] = 0;
                           }

                           $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'] )
                              );
                        }
                     }
                     
// END Added by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#


                           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;
                                 }
                              }

                           }


#
#-----[ REPLACE WITH ]----------------------------------------
#
   // Added by Easy Sub-Forums MOD
                                    $unread_topics=check_unread($forum_id);
   // END Added by Easy Sub-Forums MOD

#
#-----[ FIND ]---------------------------------------------
#

                        $folder_image = ( $unread_topics ) ? $images['forum_new'] : $images['forum'];
                               
#
#-----[ IN-LINE FIND ]---------------------------------
#

$unread_topics

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#

|| in_array(1, $has_sub_new_posts)

#
#-----[ FIND ]---------------------------------------------
#

                                $folder_alt = ( $unread_topics ) ? $lang['New_posts'] : $lang['No_new_posts'];

#
#-----[ IN-LINE FIND ]---------------------------------
#

$unread_topics

#
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
#

|| in_array(1, $has_sub_new_posts)



#
#-----[ FIND ]------------------------------------------------
#


                        $l_moderators = '&nbsp;';
                        $moderator_list = '&nbsp;';

#
#-----[ REPLACE WITH ]----------------------------------------
#
   // Modified by Easy Sub-Forums MOD

                        $l_moderators = '';
                        $moderator_list = '';
   // END Modified by Easy Sub-Forums MOD


#
#-----[ FIND ]------------------------------------------------
#
                        'U_VIEWFORUM' => append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"))
                     );

#
#-----[ AFTER, ADD ]------------------------------------------
#
   // Added by Easy Sub-Forums MOD
                     $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++)
                        {
                           $comma = ($k+1 < $attached_forum_count)? ',' : '';
                           $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'],
                              'COMMA' => $comma,
                              'L_FORUM_IMAGE' => $attached_forums[$k]['sub_alt'],
                              'U_VIEWFORUM' => $attached_forums[$k]['sub_url']
                           ));
                        }
                     }
   // END added by Easy Sub-Forums MOD
   
#-----[ FIND ]------------------------------------------------
#
     } // for ... categories

#
#-----[ AFTER, ADD ]------------------------------------------
#
   }

 
#
#-----[ OPEN ]------------------------------------------------
#
   viewforum.php

#
#-----[ FIND ]------------------------------------------------
#

   $sql = "SELECT *
      FROM " . FORUMS_TABLE . "
      WHERE forum_id = $forum_id";
#
#-----[ REPLACE WITH ]----------------------------------------
#
   // Modified by Easy Sub-Forums MOD

   $sql = "SELECT *
      FROM " . FORUMS_TABLE . "
      WHERE forum_id = $forum_id OR attached_forum_id =$forum_id
      ORDER BY attached_forum_id ASC";
   // END Modified by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#


if ( !($forum_row = $db->sql_fetchrow($result)) )
{
   message_die(GENERAL_MESSAGE, 'Forum_not_exist');
}

#
#-----[ AFTER, ADD ]------------------------------------------
#
   // added by Easy Sub-Forums MOD
$attachments='';
if ($db->sql_numrows ($result) > 1)
{
   $attachments=TRUE;
}
   // END added by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#

make_jumpbox('viewforum.'.$phpEx);

#
#-----[ BEFORE, ADD ]------------------------------------------
#

   // Added by Easy Sub-Forums MOD

if ($forum_row[attached_forum_id]>0)
{
   $parent_lookup=$forum_row[attached_forum_id];
}
   // END Added by Easy Sub-Forums MOD

#
#-----[ FIND ]------------------------------------------------
#
   //
   // Okay, lets dump out the page ...
   //

#
#-----[ AFTER, ADD ]------------------------------------------
#
   // Added by Easy Sub-Forums MOD

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 = '' . $last_post_time . '' . '<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> <a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $value['forum_last_post_id']) . '#' . $value['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></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);
}
   // END Added by Easy Sub-Forums MOD

#
#-----[ OPEN ]------------------------------------------------
#
viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
$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 . "

#
#-----[ IN-LINE FIND ]---------------------------------
#

" . $count_sql . "

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#

, f.attached_forum_id

#
#-----[ FIND ]------------------------------------------------
#

make_jumpbox('viewforum.'.$phpEx, $forum_id);

#
#-----[ BEFORE, ADD ]------------------------------------------
#

if (intval($forum_topic_data['attached_forum_id'])>0)
{
   $parent_lookup=intval($forum_topic_data['attached_forum_id']);
}
#
#-----[ OPEN ]------------------------------------------------
#
posting.php


#
#-----[ FIND ]------------------------------------------------
#

make_jumpbox('viewforum.'.$phpEx);

#
#-----[ BEFORE, ADD ]------------------------------------------
#

if ($post_info[attached_forum_id]>0)
{
   $parent_lookup=$post_info[attached_forum_id];
}
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/admin/forum_admin_body.tpl

#
#-----[ FIND ]------------------------------------------------
#
      <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>


#
#-----[ REPLACE WITH ]------------------------------------------
#
      <td class="row2"><span class="gen">
   <!-- BEGIN switch_attached_forum -->
      &nbsp;&nbsp;|__
   <!-- 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 -->
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<!-- END switch_attached_forum -->
        {catrow.forumrow.FORUM_DESC}</span></td>


#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/admin/forum_edit_body.tpl


#
#-----[ FIND ]------------------------------------------------
#

   <tr>
     <td class="row1">{L_CATEGORY}</td>
     <td class="row2"><select name="c">{S_CAT_LIST}</select></td>
   </tr>

#
#-----[ AFTER, ADD ]------------------------------------------
#

   <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>


#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/index_body.tpl


#
#-----[ FIND ]------------------------------------------------
#

</span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>


#
#-----[ REPLACE WITH ]------------------------------------------------
#
     </span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span>
     <!-- BEGIN switch_attached_forums -->
     <!-- BEGIN br -->
     <br />
     <!-- END br -->
     <span class="gensmall"><b>{catrow.forumrow.switch_attached_forums.L_ATTACHED_FORUMS}:</b>
          <!-- BEGIN attached_forums -->
            <a 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}" /></a><a class="nav forumlink" href="{catrow.forumrow.switch_attached_forums.attached_forums.U_VIEWFORUM}" >{catrow.forumrow.switch_attached_forums.attached_forums.FORUM_NAME}</a><b>{catrow.forumrow.switch_attached_forums.attached_forums.COMMA}</b>
          <!-- END attached_forums -->
     <span class="genmed">
     <!-- END switch_attached_forums -->
</td>

#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/viewforum_body.tpl

#
#-----[ FIND ]------------------------------------------------
#
     <td align="left" valign="middle" class="nav" width="100%"><span class="nav">&nbsp;&nbsp;&nbsp;<a href="{U_INDEX}" class="nav">{L_INDEX}</a>
#
#-----[ REPLACE WITH ]------------------------------------------------
#
     <td align="left" valign="middle" class="nav" width="100%"><span class="nav">&nbsp;&nbsp;&nbsp;<a href="{U_INDEX}" class="nav">{L_INDEX}</a>

          <!-- BEGIN switch_parent_link -->
            &raquo; <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
          <!-- END switch_parent_link -->
            &raquo; <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a></span></td>

#
#-----[ FIND ]------------------------------------------------
#
   width="100%" class="forumline">

#
#-----[ BEFORE, ADD ]-----------------------------------------
#
# removed: width="46" height="25" on the image
   
<!-- BEGIN switch_attached_list -->
   <br />
   <table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
     <tr>
      <th colspan="2" class="thCornerL" height="15" nowrap="nowrap">&nbsp;{switch_attached_list.L_ATTACHED_FORUM}&nbsp;</th>
      <th width="50" class="thTop" nowrap="nowrap">&nbsp;{switch_attached_list.L_ATTACHED_TOPICS}&nbsp;</th>
      <th width="50" class="thTop" nowrap="nowrap">&nbsp;{switch_attached_list.L_ATTACHED_POSTS}&nbsp;</th>
      <th class="thCornerR" nowrap="nowrap">&nbsp;{switch_attached_list.L_LAST_POST}&nbsp;</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}" 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 -->


#
#-----[ FIND ]------------------------------------------------
#
     <td align="left" valign="middle" width="100%"><span class="nav">&nbsp;&nbsp;&nbsp;<a href="{U_INDEX}" class="nav">{L_INDEX}</a>

#
#-----[ REPLACE WITH ]------------------------------------------------
#
     <td align="left" valign="middle" width="100%"><span class="nav">&nbsp;&nbsp;&nbsp;<a href="{U_INDEX}" class="nav">{L_INDEX}</a>
          <!-- BEGIN switch_parent_link -->
            &raquo; <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
          <!-- END switch_parent_link -->
            &raquo; <a class="nav" href="{U_VIEW_FORUM}">{FORUM_NAME}</a></span></td>
           
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/viewtopic_body.tpl

#
#-----[ FIND ]------------------------------------------------
#
        <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>

#
#-----[ REPLACE WITH ]------------------------------------------------
#
          <!-- BEGIN switch_parent_link -->
            &raquo; <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
          <!-- END switch_parent_link -->
            &raquo; <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
#
#-----[ FIND ]------------------------------------------------
#
        <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
    
#
#-----[ REPLACE WITH ]------------------------------------------------
#
          <!-- BEGIN switch_parent_link -->
           &raquo; <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
          <!-- END switch_parent_link -->
           &raquo; <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>

#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/posting_body.tpl

#
#-----[ FIND ]------------------------------------------------
#
    <td align="left"><span  class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a>
#
#-----[ AFTER, ADD ]------------------------------------------------
#
          <!-- BEGIN switch_parent_link -->
            &raquo; <a class="nav" href="{PARENT_URL}">{PARENT_NAME}</a>
          <!-- END switch_parent_link -->

#
#-----[ OPEN ]------------------------------------------------
#
     /language/lang_english/lang_admin.php
   
#
#-----[ FIND ]------------------------------------------------
#
   //
   // That's all Folks!

#
#-----[ BEFORE, ADD ]-----------------------------------------
#
   // Added by Easy Sub-Forums MOD
   $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';
   // End Added by Easy Sub-Forums MOD
   
#
#-----[ OPEN ]------------------------------------------------
#
    /language/lang_english/lang_main.php
   
#
#-----[ FIND ]------------------------------------------------
#
   //
   // That's all, Folks!

#
#-----[ BEFORE, ADD ]-----------------------------------------
#

   // Added by Easy Sub-Forums MOD

   $lang['Attached_forum'] = 'Sub-Forum';
   $lang['Attached_forums'] = 'Sub-Forums';
   
   // End Added by Easy Sub-Forums MOD

#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM
This one has a number of improvements over the previous version. I've improved compatibility with the Freestyle XL range of styles (such as AcidTech), improved the appearance of the sub-forum links on index.php - now they are sporting hover activity just like all the others, and added StarGhost's code to make the 'new posts folder icon' appear for sub-forum posts

I some how managed to get the hover activity working on the subforum links by setting class ="nav forumlink" which magically kept the fontsize property of the former whilst respecting the a:hover of the latter. The mysteries of CSS, huh? 8-)

I wanted to improve the listing of sub-forums in the jumpbox, but it was a bit beyond my capabilities in the end so I simply changed to code to remove any sub-forums being listed. I also removed the remaining excess code from the Last Post MOD that the previous author disabled, which was good as it was interfering with the Simple Colored Usergroups mod I was using.

Well any feedback on my new *ahem* re-hashed mod will be appreciated. Here's to a Simple Sub-forums beater. Cheers all!
DJ Ornsman - Back To 93
Tuesday 9-11pm GMT on Stress Factor

http://www.stressfactor.co.uk
dayslypper
Registered User
Posts: 8
Joined: Sun Sep 21, 2008 11:30 pm

Re: [ALPHA] Easy Sub-Forums MOD v1.0.9

Post by dayslypper »

Is there anything new with v1.0.9?
User avatar
StarGhost
Registered User
Posts: 9
Joined: Sun Jun 24, 2007 10:00 pm
Contact:

End of Maintenance and Release State Final

Post by StarGhost »

Since the End of phpBB 2.x, Easy Sub-Forums (since 1.0.9 called "Über Sub-Forums") will no longer be maintained by narishankar, acoolwelshbloke, niekas, Ornette or myself.

Changes since 1.0.8:
  • Tidied/removed the leftover code from previous removal of the 'Last Topic MOD', avoiding conflict with other mods (Ornette)
  • Added code to change folder icon on index.php when new posts in sub-forums (StarGhost)
  • Improved appearance of sub-forum links on index.php (Ornette)
  • Removed listing of sub-forums from the jumpbox (Ornette)
  • Improved template find/replace commands to allow compatibility with both subSilver & the FreestyleXL family of themes (Ornette)
dayslypper
Registered User
Posts: 8
Joined: Sun Sep 21, 2008 11:30 pm

Re: [ALPHA] Easy Sub-Forums MOD v1.0.9

Post by dayslypper »

OK.

Besides, is this MOD possible to hide sub-forums on main page (I mean hiding of forums "Air Induction", "Exhaust Systems", "In Car Enterteinment" on this image) and display them only after going to superordinate forum e.g. "Interior related"?

Image
User avatar
StarGhost
Registered User
Posts: 9
Joined: Sun Jun 24, 2007 10:00 pm
Contact:

Re: [ALPHA] Easy Sub-Forums MOD v1.0.9

Post by StarGhost »

dayslypper wrote:OK.

Besides, is this MOD possible to hide sub-forums on main page (I mean hiding of forums "Air Induction", "Exhaust Systems", "In Car Enterteinment" on this image) and display them only after going to superordinate forum e.g. "Interior related"?
If you only want to display the top-level Forums on index.php, remove the following Code Sections from your index.php:

Code: Select all

                           $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'] )
                              );

Code: Select all

   // Added by Easy Sub-Forums MOD
                     $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++)
                        {
                           $comma = ($k+1 < $attached_forum_count)? ',' : '';
                           $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'],
                              'COMMA' => $comma,
                              'L_FORUM_IMAGE' => $attached_forums[$k]['sub_alt'],
                              'U_VIEWFORUM' => $attached_forums[$k]['sub_url']
                           ));
                        }
                     }
   // END added by Easy Sub-Forums MOD
This disables the display of the sub-forums on index, while remaining the new-posts-icon for the top-level forums when new posts were made in sub-forums.
dayslypper
Registered User
Posts: 8
Joined: Sun Sep 21, 2008 11:30 pm

Re: [ALPHA] Easy Sub-Forums MOD v1.0.9

Post by dayslypper »

Thank yo very much for answer!

But I'm not too good in english so I'm not sure with last sentence:
This disables the display of the sub-forums on index, while remaining the new-posts-icon for the top-level forums when new posts were made in sub-forums.
So it means that new-posts-icon works correctly or not?

P.S. my picture was illustrative and stolen from previous posts. Don't look at additional text.
User avatar
StarGhost
Registered User
Posts: 9
Joined: Sun Jun 24, 2007 10:00 pm
Contact:

Re: [ALPHA] Easy Sub-Forums MOD v1.0.9

Post by StarGhost »

Means:
The display of Sub-Forums is removed from index.php ("Sub-forums: Sub-forum 1, Sub-forum 2, etc." will no longer be displayed), but the Icon in front of the top-level forums will change to "New Posts", when there are new posts in any of the sub-forums of this forum (this feature was requested after the release of the 1.0.8 Alpha, added to MOD in 1.0.9).
dayslypper
Registered User
Posts: 8
Joined: Sun Sep 21, 2008 11:30 pm

Re: [ALPHA] Easy Sub-Forums MOD v1.0.9

Post by dayslypper »

Thank you. Now, I understand.
Post Reply

Return to “[2.0.x] MODs in Development”