101 (edited by naitkris 2007-02-24 22:39)

Re: Sub Forum Mod 1.0

another update - thanks go to twohawks. twohawks made some changes to the line numbering in the readme also which should make it easier to install. it is also back to 1 zip file to make things easier, if you don't want sub forums listed on the index you only need to comment out some code.

Sub Forum Mod 1.0.8
                     History:
                     Fixed by twohawks:
                      in version 1.0.8
                       - Sub forums now display in order of 'disp_position' on Index as set in Admin CP
                       - Option to set sub forums view for 'inline' or 'multi-line' listing on Index
                       - Option to hide the sub forums view on Index
                     Fixed by naitkris:
                      in version 1.0.8
                       - Added Index view from nico_somb's version and modified to work here (was seperate version before)
                     Fixed by binjured:
                      in version 1.0.7
                       - Optimised code on index.php so query isn't run for every forum processed
                     Fixed by naitkris:
                      in version 1.0.7
                       - Fixed "Moderated by" when viewing parent forum of multiple sub-forums with/without moderators
                      in version 1.0.6
                       - Fixed items in the quickjump so sub forums are indented (like fix in 1.0.4 by NeoTall for search)
                     Fixed by Timpa:
                      in version 1.0.5
                       - Correctly sorting subforums
                       - Now showing last post as it should
                     Fixed by NeoTall (Rus):
                      in version 1.0.4
                       - Fixed items in combobox "Select where to search"
                      in version 1.0.3
                       - Fixed search in SubForum when using "Non-MultiByted" language
                      in version 1.0.2
                       - Correctly displaying Last Post, Last Poster and Last Posted Time
                       - Correctly displaying Total Topics and Total Posts
                      in version 1.0.1
                       - Correctly creating Last Post link
                       - Correctly displaying word "Topics" on SubForum header

You will need to re-generate your quickjump cache after applying this mod for the quickjump to indent. The Clear Cache administration plugin can do this for you easily and is available from the PunBB Downloads page.

All credit to nico_somb for the Index View version as it is just taken from his version and modified a tiny bit to work with this one.

Sub Forum Mod is copyright of pabb.

102 (edited by twohawks 2007-02-24 23:56)

Re: Sub Forum Mod 1.0

Thank you, naitkris!

PS..EDITED
I think the following describes my changes more clearly:
   - Sub forums now display in order of 'disp_position' on Index as set in Admin CP
   - Option to set sub forums view for 'inline' or 'multi-line' listing on Index, *or toggle them off
   - *Option to hide the sub forums listed at top when viewing parent forum (in viewforum...not on index). 

Last one is..., when you click a parent forum, the subforums are listed at the top above it.  This edit toggles displaying those subforums on or off.
;^)

Thanks naitkris for all your work on this.
PS... be sure you check the date of my last edit to the posted readme this afternoon... I hope you saw I was testing it and made a couple minor changes, and then removed the note that said HOLD.

cheers,


PS: I tested naitkris' new readme, and its solid. Thanks n!

TwoHawks
Love is the Function
No Form is the Tool

103 (edited by naitkris 2007-02-24 22:41)

Re: Sub Forum Mod 1.0

oops, i updated the readme and post above to add those 2 things also. thanks for the improvements twohawks!

104 (edited by naitkris 2007-02-25 05:21)

Re: Sub Forum Mod 1.0

twohawks wrote:

On index page, when applying nico's code, I was unable to get the subforums to display in order of 'disp_position' as set in admin cp.  I discovered that it has to do with the array retrieval for the subforums list, so I edited/corrected nico's code to allow for this.

I just went away and tested the new version properly on my development server (has lots of sub forums) with regards the disp_position change you made for index and all the change that you did does for me is reverse the order of the subforums by their ID, not to do with disp_position - the code you added "array_reverse($sub_forums_list)" when displaying caused this sad

I changed the code and then just added "ORDER BY disp_position" in the sub forums specific query and it now sorts as per the Admin CP properly.

Sub Forum Mod 1.0.9
Thus, only change in this version:
   - Sub forums now display in order of 'disp_position' on Index as set in Admin CP

105 (edited by naitkris 2007-03-23 00:25)

Re: Sub Forum Mod 1.0

Updated to 1.0.9.1 - minor change of an earlier fix by NeoTall that somewhere along the lines got messed up again.

Sub Forum Mod 1.0.9.1
                     History:
                     Fixed in version 1.0.9.1
                       - Re-fixed topic and post counts & last post link due to invalid variable brought in from earlier version
                     Fixed by naitkris:
                      in version 1.0.9
                       - Sub forums now display in order of 'disp_position' on Index as set in Admin CP
                     Fixed by twohawks:
                      in version 1.0.8
                       - Option to set sub forums view for 'inline' or 'multi-line' listing on Index
                       - Option to hide the sub forums view on Index
                     Fixed by naitkris:
                      in version 1.0.8
                       - Added Index view from nico_somb's version and modified to work here (was seperate version before)
                     Fixed by binjured:
                      in version 1.0.7
                       - Optimised code on index.php so query isn't run for every forum processed
                     Fixed by naitkris:
                      in version 1.0.7
                       - Fixed "Moderated by" when viewing parent forum of multiple sub-forums with/without moderators
                      in version 1.0.6
                       - Fixed items in the quickjump so sub forums are indented (like fix in 1.0.4 by NeoTall for search)
                     Fixed by Timpa:
                      in version 1.0.5
                       - Correctly sorting subforums
                       - Now showing last post as it should
                     Fixed by NeoTall (Rus):
                      in version 1.0.4
                       - Fixed items in combobox "Select where to search"
                      in version 1.0.3
                       - Fixed search in SubForum when using "Non-MultiByted" language
                      in version 1.0.2
                       - Correctly displaying Last Post, Last Poster and Last Posted Time
                       - Correctly displaying Total Topics and Total Posts
                      in version 1.0.1
                       - Correctly creating Last Post link
                       - Correctly displaying word "Topics" on SubForum header

You will need to re-generate your quickjump cache after applying this mod for the quickjump to indent. The Clear Cache administration plugin can do this for you easily and is available from the PunBB Downloads page.

All credit to nico_somb for the Index View version as it is just taken from his version and modified a tiny bit to work with this one.

Sub Forum Mod is copyright of pabb.

106 (edited by naitkris 2007-04-22 14:08)

Re: Sub Forum Mod 1.0

Updated to 1.0.9.2 - fix by Smartys so that square to show new posts for logged in user now lights up when posts are made in sub forums.

Sub Forum Mod 1.0.9.2
                     History:
                     Fixed by Smartys:
                      in version 1.0.9.2
                       - Square to show new posts for logged in user now lights up when posts are made in sub forums
                     Fixed in version 1.0.9.1
                       - Re-fixed topic and post counts & last post link due to invalid variable brought in from earlier version
                     Fixed by naitkris:
                      in version 1.0.9
                       - Sub forums now display in order of 'disp_position' on Index as set in Admin CP
                     Fixed by twohawks:
                      in version 1.0.8
                       - Option to set sub forums view for 'inline' or 'multi-line' listing on Index
                       - Option to hide the sub forums listed at top when viewing parent forum
                     Fixed by naitkris:
                      in version 1.0.8
                       - Added Index view from nico_somb's version and modified to work here (was seperate version before)
                     Fixed by binjured:
                      in version 1.0.7
                       - Optimised code on index.php so query isn't run for every forum processed
                     Fixed by naitkris:
                      in version 1.0.7
                       - Fixed "Moderated by" when viewing parent forum of multiple sub-forums with/without moderators
                      in version 1.0.6
                       - Fixed items in the quickjump so sub forums are indented (like fix in 1.0.4 by NeoTall for search)
                     Fixed by Timpa:
                      in version 1.0.5
                       - Correctly sorting subforums
                       - Now showing last post as it should
                     Fixed by NeoTall (Rus):
                      in version 1.0.4
                       - Fixed items in combobox "Select where to search"
                      in version 1.0.3
                       - Fixed search in SubForum when using "Non-MultiByted" language
                      in version 1.0.2
                       - Correctly displaying Last Post, Last Poster and Last Posted Time
                       - Correctly displaying Total Topics and Total Posts
                      in version 1.0.1
                       - Correctly creating Last Post link
                       - Correctly displaying word "Topics" on SubForum header

You will need to re-generate your quickjump cache after applying this mod for the quickjump to indent. The Clear Cache administration plugin can do this for you easily and is available from the PunBB Downloads page.

All credit to nico_somb for the Index view code as it is just taken from his version and modified a tiny bit to work with this one.

Sub Forum Mod is copyright of pabb.

107

Re: Sub Forum Mod 1.0

I was the first to use 1.0.9.2 big_smile

108

Re: Sub Forum Mod 1.0

Hi, first of all thanks for writing this mod.

Second a quick correction, in the readme, instruction #31 says "FIND (line: 72)" but the correct line is 172.

And finally, how would I go about making sub-forum visibility follow permissions.  I have a forum that his hidden to all but one group of members, but everyone can see it when it is a sub-forum.  (They can't view inside the forum, but they can see the name and when the last post was)

109

Re: Sub Forum Mod 1.0

Quick question. Is there a way to stop the parent forum headers/table showing below the sub-forums when it contains sub-forums? I.e:

--------------------------------------------
Parent forum name
--------------------------------------------
Topic      Replies      Views      Last post
--------------------------------------------
Forum is empty.
--------------------------------------------

So that the parent forum is acting only as a container.


Cheers.

Matt

110 (edited by MattF 2007-05-20 23:51)

Re: Sub Forum Mod 1.0

I'm beginning to make a bad habit of answering my own questions. big_smile To remove the parent forum table/post settings, the following is needed in viewforum.php. The parent forum then acts as a container for the sub-forums with no visible posting abilities or topic/thread table of it's own.

Around line 93:

if($db->num_rows($subforum_result))
{

After add:

$substatus = '0';


Around line 222:

<div id="vf" class="blocktable">

Before add:

<?php
if ($substatus != '0') {
?>


Around line 390:

$forum_id = $id;
$footer_style = 'viewforum';
require PUN_ROOT.'footer.php';

Before add:

}

111

Re: Sub Forum Mod 1.0

Anyone have this file? The download link doesnt work.

Re: Sub Forum Mod 1.0

Hey!

After installing this mod, everything works fine except when I go to Admin Forums and edit a subforum, it says it has No Parent Forum. But when i look at the index it says that the forum is a subforum. If you want the source to any of my fiiles just ask

Oh, also if you could make it so it indented in Admin Forums, i'd really apreciate it.

Any help is appreciated, thanks a ton!

113

Re: Sub Forum Mod 1.0

when I applyed the mod and reloded index page an error encountered

1054unknow colum 'parent_forum_id' i tabel field list.

I have punbb 1.2.15 might that be a problem

Plz help.

114 (edited by The Wicked Flea 2007-09-18 19:19)

Re: Sub Forum Mod 1.0

I've been working with punBB on my own private system to learn it and modify it into what I want.  However something went wrong in the long modification process in viewforum.php; whenever I try to view a forum it gives me a page consisting of this:

<div id="brdfooter" class="block">
    <h2><span>Board footer</span></h2>
    <div class="box">
        <div class="inbox">

            <div class="conl">

Will someone with a working copy of 1.2.15 with 1.0.9.2 of the subforum mod be so kind as to do a diff with my viewforum.php and help me find what's wrong?  As far as I can tell this is the only location that is currently having trouble. hmm

Update: I have tried taking a vanilla copy of the 1.2.15 viewtopic.php file and modifying it over again, but the error persists.  It seems the 1.0.9.2 release of Sub Forum doesn't like the latest PunBB release. sad

<?php
/***********************************************************************

  Copyright (C) 2002-2005  Rickard Andersson (rickard@punbb.org)

  This file is part of PunBB.

  PunBB is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published
  by the Free Software Foundation; either version 2 of the License,
  or (at your option) any later version.

  PunBB is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  MA  02111-1307  USA

************************************************************************/


define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';


if ($pun_user['g_read_board'] == '0')
    message($lang_common['No view']);


$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
if ($id < 1)
    message($lang_common['Bad request']);

// Load the viewforum.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/forum.php';
require PUN_ROOT.'lang/'.$pun_user['language'].'/index.php';

// Fetch some info about the forum
$result = $db->query('SELECT f.forum_name, pf.forum_name AS parent_forum, f.redirect_url, f.moderators, f.num_topics, f.sort_by, f.parent_forum_id, fp.post_topics FROM '.$db->prefix.'forums AS f LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') LEFT JOIN '.$db->prefix.'forums AS pf ON f.parent_forum_id=pf.id WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND f.id='.$id) or error('Unable to fetch forum info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
    message($lang_common['Bad request']);

$cur_forum = $db->fetch_assoc($result);

// Is this a redirect forum? In that case, redirect!
if ($cur_forum['redirect_url'] != '')
{
    header('Location: '.$cur_forum['redirect_url']);
    exit;
}

// Sort out who the moderators are and if we are currently a moderator (or an admin)
$mods_array = array();
if ($cur_forum['moderators'] != '')
    $mods_array = unserialize($cur_forum['moderators']);

$is_admmod = ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_id'] == PUN_MOD && array_key_exists($pun_user['username'], $mods_array))) ? true : false;

// Can we or can we not post new topics?
if (($cur_forum['post_topics'] == '' && $pun_user['g_post_topics'] == '1') || $cur_forum['post_topics'] == '1' || $is_admmod)
    $post_link = "\t\t".'<p class="postlink conr"><a href="post.php?fid='.$id.'">'.$lang_forum['Post topic'].'</a></p>'."\n";
else
    $post_link = '';


// Determine the topic offset (based on $_GET['p'])
$num_pages = ceil($cur_forum['num_topics'] / $pun_user['disp_topics']);

$p = (!isset($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $num_pages) ? 1 : $_GET['p'];
$start_from = $pun_user['disp_topics'] * ($p - 1);

// Generate paging links
$paging_links = $lang_common['Pages'].': '.paginate($num_pages, $p, 'viewforum.php?id='.$id);


$page_title = pun_htmlspecialchars($pun_config['o_board_title'].' / '.$cur_forum['forum_name']);
define('PUN_ALLOW_INDEX', 1);
require PUN_ROOT.'header.php';

$subforum_result = $db->query('SELECT forum_desc, forum_name, id, last_post, last_post_id, last_poster, moderators, num_posts, num_topics, redirect_url FROM '.$db->prefix.'forums WHERE parent_forum_id='.$id.' ORDER BY disp_position') or error('Unable to fetch sub forum info',__FILE__,__LINE__,$db->error());
if($db->num_rows($subforum_result))
{
?>
<div class="linkst">
    <div class="inbox">
        <ul><li><a href="index.php"><?php echo $lang_common['Index'] ?></a> </li><li>» <?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></li></ul>
        <div class="clearer"></div>
    </div>
</div>

<div id="vf" class="blocktable">
    <h2><span>Sub forums</span></h2>
    <div class="box">
        <div class="inbox">
            <table cellspacing="0">
            <thead>
                <tr>
                    <th class="tcl" scope="col"><?php echo $lang_common['Forum'] ?></th>
                    <th class="tc2" scope="col"><?php echo $lang_index['Topics'] ?></th>
                    <th class="tc3" scope="col"><?php echo $lang_common['Posts'] ?></th>
                    <th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
                </tr>
            </thead>
            <tbody>
<?php

while($cur_subforum = $db->fetch_assoc($subforum_result))
{
    $item_status = '';
    $icon_text = $lang_common['Normal icon'];
    $icon_type = 'icon';

    // Are there new posts?
    if (!$pun_user['is_guest'] && $cur_subforum['last_post'] > $pun_user['last_visit'])
    {
        $item_status = 'inew';
        $icon_text = $lang_common['New icon'];
        $icon_type = 'icon inew';
    }

    // Is this a redirect forum?
    if ($cur_forum['redirect_url'] != '')
    {
        $forum_field = '<h3><a href="'.pun_htmlspecialchars($cur_subforum['redirect_url']).'" title="'.$lang_index['Link to'].' '.pun_htmlspecialchars($cur_subforum['redirect_url']).'">'.pun_htmlspecialchars($cur_subforum['forum_name']).'</a></h3>';
        $num_topics = $num_posts = ' ';
        $item_status = 'iredirect';
        $icon_text = $lang_common['Redirect icon'];
        $icon_type = 'icon';
    }
    else
    {
        $forum_field = '<h3><a href="viewforum.php?id='.$cur_subforum['id'].'">'.pun_htmlspecialchars($cur_subforum['forum_name']).'</a></h3>';
        $num_topics = $cur_subforum['num_topics'];
        $num_posts = $cur_subforum['num_posts'];
    }

    if ($cur_subforum['forum_desc'] != '')
        $forum_field .= "\n\t\t\t\t\t\t\t\t".$cur_subforum['forum_desc'];


    // If there is a last_post/last_poster.
    if ($cur_subforum['last_post'] != '')
        $last_post = '<a href="viewtopic.php?pid='.$cur_subforum['last_post_id'].'#p'.$cur_subforum['last_post_id'].'">'.format_time($cur_subforum['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_subforum['last_poster']).'</span>';
    else
        $last_post = ' ';

    if ($cur_subforum['moderators'] != '')
    {
        $mods_array = unserialize($cur_subforum['moderators']);
        $moderators = array();

        while (list($mod_username, $mod_id) = @each($mods_array))
            $moderators[] = '<a href="profile.php?id='.$mod_id.'">'.pun_htmlspecialchars($mod_username).'</a>';

        $moderators = "\t\t\t\t\t\t\t\t".'<p><em>('.$lang_common['Moderated by'].'</em> '.implode(', ', $moderators).')</p>'."\n";
    }
?>
                <tr<?php if ($item_status != '') echo ' class="'.$item_status.'"'; ?>>
                    <td class="tcl">
                        <div class="intd">
                            <div class="<?php echo $icon_type ?>"><div class="nosize"><?php echo $icon_text ?></div></div>
                            <div class="tclcon">
                                <?php echo $forum_field;
                                if ($cur_subforum['moderators'] != '') {
                                    echo "\n".$moderators;
                                }
                                ?>
                            </div>
                        </div>
                    </td>
                    <td class="tc2"><?php echo $num_topics ?></td>
                    <td class="tc3"><?php echo $num_posts ?></td>
                    <td class="tcr"><?php echo $last_post ?></td>
                </tr>
<?php
    }
?>
            </tbody>
            </table>
        </div>
    </div>
</div>
<?php
}

?>
<div class="linkst">
    <div class="inbox">
        <p class="pagelink conl"><?php echo $paging_links ?></p>
<?php

echo $post_link;
if($cur_forum['parent_forum'])
    echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].'</a> </li><li>» <a href="viewforum.php?id='.$cur_forum['parent_forum_id'].'">'.pun_htmlspecialchars($cur_forum['parent_forum']).'</a> </li><li>» '.pun_htmlspecialchars($cur_forum['forum_name']).'</li></ul>';
else
    echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].' </a> </li><li>» '.pun_htmlspecialchars($cur_forum['forum_name']).'</li></ul>';

?>
        <div class="clearer"></div>
    </div>
</div>

<div id="vf" class="blocktable">
    <h2><span><?php echo pun_htmlspecialchars($cur_forum['forum_name']) ?></span></h2>
    <div class="box">
        <div class="inbox">
            <table cellspacing="0">
            <thead>
                <tr>
                    <th class="tcl" scope="col"><?php echo $lang_common['Topic'] ?></th>
                    <th class="tc2" scope="col"><?php echo $lang_common['Replies'] ?></th>
                    <th class="tc3" scope="col"><?php echo $lang_forum['Views'] ?></th>
                    <th class="tcr" scope="col"><?php echo $lang_common['Last post'] ?></th>
                </tr>
            </thead>
            <tbody>
<?php

// Fetch list of topics to display on this page
if ($pun_user['is_guest'] || $pun_config['o_show_dot'] == '0')
{
    // Without "the dot"
    $sql = 'SELECT id, poster, subject, posted, last_post, last_post_id, last_poster, num_views, num_replies, closed, sticky, moved_to FROM '.$db->prefix.'topics WHERE forum_id='.$id.' ORDER BY sticky DESC, '.(($cur_forum['sort_by'] == '1') ? 'posted' : 'last_post').' DESC LIMIT '.$start_from.', '.$pun_user['disp_topics'];
}
else
{
    // With "the dot"
    switch ($db_type)
    {
        case 'mysql':
        case 'mysqli':
            $sql = 'SELECT p.poster_id AS has_posted, t.id, t.subject, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to FROM '.$db->prefix.'topics AS t LEFT JOIN '.$db->prefix.'posts AS p ON t.id=p.topic_id AND p.poster_id='.$pun_user['id'].' WHERE t.forum_id='.$id.' GROUP BY t.id ORDER BY sticky DESC, '.(($cur_forum['sort_by'] == '1') ? 'posted' : 'last_post').' DESC LIMIT '.$start_from.', '.$pun_user['disp_topics'];
            break;

        case 'sqlite':
            $sql = 'SELECT p.poster_id AS has_posted, t.id, t.subject, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to FROM '.$db->prefix.'topics AS t LEFT JOIN '.$db->prefix.'posts AS p ON t.id=p.topic_id AND p.poster_id='.$pun_user['id'].' WHERE t.id IN(SELECT id FROM '.$db->prefix.'topics WHERE forum_id='.$id.' ORDER BY sticky DESC, '.(($cur_forum['sort_by'] == '1') ? 'posted' : 'last_post').' DESC LIMIT '.$start_from.', '.$pun_user['disp_topics'].') GROUP BY t.id ORDER BY t.sticky DESC, t.last_post DESC';
            break;

        default:
            $sql = 'SELECT p.poster_id AS has_posted, t.id, t.subject, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to FROM '.$db->prefix.'topics AS t LEFT JOIN '.$db->prefix.'posts AS p ON t.id=p.topic_id AND p.poster_id='.$pun_user['id'].' WHERE t.forum_id='.$id.' GROUP BY t.id, t.subject, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to, p.poster_id ORDER BY sticky DESC, '.(($cur_forum['sort_by'] == '1') ? 'posted' : 'last_post').' DESC LIMIT '.$start_from.', '.$pun_user['disp_topics'];
            break;

    }
}

$result = $db->query($sql) or error('Unable to fetch topic list', __FILE__, __LINE__, $db->error());

// If there are topics in this forum.
if ($db->num_rows($result))
{
    while ($cur_topic = $db->fetch_assoc($result))
    {
        $icon_text = $lang_common['Normal icon'];
        $item_status = '';
        $icon_type = 'icon';

        if ($cur_topic['moved_to'] == null)
            $last_post = '<a href="viewtopic.php?pid='.$cur_topic['last_post_id'].'#p'.$cur_topic['last_post_id'].'">'.format_time($cur_topic['last_post']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['last_poster']).'</span>';
        else
            $last_post = ' ';

        if ($pun_config['o_censoring'] == '1')
            $cur_topic['subject'] = censor_words($cur_topic['subject']);

        if ($cur_topic['moved_to'] != 0)
            $subject = $lang_forum['Moved'].': <a href="viewtopic.php?id='.$cur_topic['moved_to'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
        else if ($cur_topic['closed'] == '0')
            $subject = '<a href="viewtopic.php?id='.$cur_topic['id'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
        else
        {
            $subject = '<a href="viewtopic.php?id='.$cur_topic['id'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
            $icon_text = $lang_common['Closed icon'];
            $item_status = 'iclosed';
        }

        if (!$pun_user['is_guest'] && $cur_topic['last_post'] > $pun_user['last_visit'] && $cur_topic['moved_to'] == null)
        {
            $icon_text .= ' '.$lang_common['New icon'];
            $item_status .= ' inew';
            $icon_type = 'icon inew';
            $subject = '<strong>'.$subject.'</strong>';
            $subject_new_posts = '<span class="newtext">[ <a href="viewtopic.php?id='.$cur_topic['id'].'&action=new" title="'.$lang_common['New posts info'].'">'.$lang_common['New posts'].'</a> ]</span>';
        }
        else
            $subject_new_posts = null;

        // Should we display the dot or not? :)
        if (!$pun_user['is_guest'] && $pun_config['o_show_dot'] == '1')
        {
            if ($cur_topic['has_posted'] == $pun_user['id'])
                $subject = '<strong>·</strong> '.$subject;
            else
                $subject = '  '.$subject;
        }

        if ($cur_topic['sticky'] == '1')
        {
            $subject = '<span class="stickytext">'.$lang_forum['Sticky'].': </span>'.$subject;
            $item_status .= ' isticky';
            $icon_text .= ' '.$lang_forum['Sticky'];
        }

        $num_pages_topic = ceil(($cur_topic['num_replies'] + 1) / $pun_user['disp_posts']);

        if ($num_pages_topic > 1)
            $subject_multipage = '[ '.paginate($num_pages_topic, -1, 'viewtopic.php?id='.$cur_topic['id']).' ]';
        else
            $subject_multipage = null;

        // Should we show the "New posts" and/or the multipage links?
        if (!empty($subject_new_posts) || !empty($subject_multipage))
        {
            $subject .= '  '.(!empty($subject_new_posts) ? $subject_new_posts : '');
            $subject .= !empty($subject_multipage) ? ' '.$subject_multipage : '';
        }

?>
                <tr<?php if ($item_status != '') echo ' class="'.trim($item_status).'"'; ?>>
                    <td class="tcl">
                        <div class="intd">
                            <div class="<?php echo $icon_type ?>"><div class="nosize"><?php echo trim($icon_text) ?></div></div>
                            <div class="tclcon">
                                <?php echo $subject."\n" ?>
                            </div>
                        </div>
                    </td>
                    <td class="tc2"><?php echo ($cur_topic['moved_to'] == null) ? $cur_topic['num_replies'] : ' ' ?></td>
                    <td class="tc3"><?php echo ($cur_topic['moved_to'] == null) ? $cur_topic['num_views'] : ' ' ?></td>
                    <td class="tcr"><?php echo $last_post ?></td>
                </tr>
<?php

    }
}
else
{

?>
                <tr>
                    <td class="tcl" colspan="4"><?php echo $lang_forum['Empty forum'] ?></td>
                </tr>
<?php

}

?>
            </tbody>
            </table>
        </div>
    </div>
</div>

<div class="linksb">
    <div class="inbox">
        <p class="pagelink conl"><?php echo $paging_links ?></p>
<?php

echo $post_link;
if($cur_forum['parent_forum'])
    echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].'</a> </li><li>» <a href="viewforum.php?id='.$cur_forum['parent_forum_id'].'">'.pun_htmlspecialchars($cur_forum['parent_forum']).'</a> </li><li>» '.pun_htmlspecialchars($cur_forum['forum_name']).'</li></ul>';
else
    echo "\t\t".'<ul><li><a href="index.php">'.$lang_common['Index'].' </a> </li><li>» '.pun_htmlspecialchars($cur_forum['forum_name']).'</li></ul>';

?>
        <div class="clearer"></div>
    </div>
</div>
<?php

$forum_id = $id;
$footer_style = 'viewforum';
require PUN_ROOT.'footer.php';

115

Re: Sub Forum Mod 1.0

It works perfectly well with 1.2.15. What do your logs say?

Re: Sub Forum Mod 1.0

That's the funny thing.  I configured PHP to write the logfile externally, that isn't a default XAMPP configuration feature, and yet I see no log file.  Apache's log file says nothing, and no error is output to the page.

Please use X-WinMerge (Freeware) and compare my file (above) against yours.  Maybe I have it right and need to revert to PHP4.

117 (edited by MattF 2007-09-19 14:21)

Re: Sub Forum Mod 1.0

The Wicked Flea wrote:

Please use X-WinMerge (Freeware) and compare my file (above) against yours.  Maybe I have it right and need to revert to PHP4.

Trust me, your viewforum.php file would be nothing like mine. big_smile Besides, Windoze tools are fairly useless on a *nix system. big_smile

That output is from footer.php. Have you made any alteration in there? If not, (and can't see why it would suddenly start causing problems), just try adding ?> on a new line at the end of your viewforum.php file.

Re: Sub Forum Mod 1.0

I've made no alteration from any files except as dictated by the subforum modification and the style installer, thing.  Even on *nix you can diff something pretty readily though.

I honestly don't know what is happening.  If I go directly to viewforum.php it tells me invalid query, which is completely true.  However the page shows perfectly!  If I specify a forum it chokes and shows the footer block only.

119 (edited by MattF 2007-09-19 14:55)

Re: Sub Forum Mod 1.0

The Wicked Flea wrote:

Even on *nix you can diff something pretty readily though.

You can't nick parts from a Mini to repair a Jaguar. That's about as much use as me diff'ing against your file would be.

Again, have you modified footer.php? Have you tried putting a closing tag in the viewforum.php script?

120 (edited by The Wicked Flea 2007-09-19 14:58)

Re: Sub Forum Mod 1.0

I have not modified the footer.  Putting a closing tag into viewforum.php does nothing; I still get the footer only.

MattF wrote:

You can't nick parts from a Mini to repair a Jaguar. That's about as much use as me diff'ing against your file would be.

I didn't know that difference comparison varied between OSes. big_smile  (I have and use both Linux and Windows XP, really.)

121

Re: Sub Forum Mod 1.0

The Wicked Flea wrote:

I didn't know that difference comparison varied between OSes. big_smile  (I have and use both Linux and Windows XP, really.)

It doesn't. I just have an extremely modified PunBB install. big_smile

122

Re: Sub Forum Mod 1.0

Your problem isn't with that file you posted. It throws no such error here.

Re: Sub Forum Mod 1.0

Maybe it is with the database or another file?  Index.php is required by viewforum.php and has to be modified.  I'll try that one then.

Thanks for your help MattF. smile

124

Re: Sub Forum Mod 1.0

No probs. If you're stuck, just post up a copy of each file you've altered.

Re: Sub Forum Mod 1.0

Okay, after fiddling with this for a little I think I'm going to reset my DB and do a fresh install.  Then add in the subforum modification only and see if that works.  If not, then the code is incompatible with PHP5 (or at least my version of it) so I'll attempt a .htaccess switch to turn PHP4 on.  Hopefully either of those will work.