I used the basis of the hack. Modified extremely... and works great. Does not generate many extra queries, and is damn fast.
Features added :
- Bold on new messages
- custom forum type
- variable number of columns to display per parents children
added 2 fields to forum table showas and numcols
this is the index.php version. For the forumdisplay.php
there is some stuff to comment out ( or in) dependeing on your requirements (sorts out spacing before and after subforum lists)
here is the code, I do not support it, have fun .....
PHP Code:
// ********************************************************************
// ADDED BY ERK
// ********************************************************************
$subforums=$DB_site->query("select title,forumid,lastpost,replycount,threadcount,showas,numcols from forum where parentid = $forum[forumid] and active != 0 ORDER BY parentid,displayorder");
if ($DB_site->num_rows($subforums)>0)
{
$subs = "<smallfont><table width="100%" cellpadding="0" cellspacing="0" border="0" align="center" id="ltlink" ><tr valign="top"> ";
// switch on showas
switch ($forum_child[showas])
{
// FULL AFFILIATES
case "AFF":
$subs.="<font class="sf" color="darkblue">$child_text</font></a><img src="$bburl/images/star.gif">";
break;
case "AFF_AS":
$subs.="<font class="sf" color="white">$child_text</font></a><img src="$bburl/images/star.gif">";
break;
// VENDOR MODERATED
case "VEN":
$subs.="<font class="sf" color="black">$child_text</font></a><img src="$bburl/images/posticonnew.gif">";
break;
// CONTRIBUTOR MODERATED
case "CON":
$subs.="<font class="sf" color="darkgreen">$child_text</font></a><img src="$bburl/images/paperclip.gif">";
break;
// USENET FORUM ENTRIES
case "USE":
$subs.="<font class="sf" color="brown">$child_text</font></a><img src="$bburl/images/posticon.gif">";
break;
// MEMBER MODERATED
case "MEM":
$subs.="<font class="sf" color="darkorange">$child_text</font></a>";
break;
// HIDDEN
case "LOW":
$subs.="<font class="sf" color="#999999">$child_text</font></a>";
break;
// DEFAULT
default:
// -------------------------------
// set entry to italic if no posts
// -------------------------------
// if ($forum_child[threadcount] == 0 ){
// $subs.="<font class="sf" color="black"><i>$child_text</i></font></a>";
// } else {
$subs.="<font class="sf" color="black">$child_text</font></a>";
// }
break;
} // end switch
// ---------------------
// tag on the replycount
// ---------------------
// if ($forum_child[threadcount] > 0 ){
// $subs.="<font class="sf" color="#999999"> <i>Posts($forum_child[replycount])</i></font>";
// }
// ---------------------------------------
// check if i need to go to new column yet
// ---------------------------------------
if ($cur_row == $num_rows) {
$cur_row=1; $subs.= "</td></tr></table></td>";
}
else {
$cur_row++;
$subs.="</td></tr></table>";
}
} // end-if
} // end-while
// -------------------------------------
// close off the remaining empty columns
// and finish off the table etc..
// -------------------------------------
$todo_cols = $num_cols - $cur_col;
while ($todo_cols != 0)
{
$subs.="<td width="$col_width%"></td>" ;
$todo_cols--;
}
$subs.="</tr></table></smallfont>";
if ($forum['description'] != '') {
$forum['description'].= "<br><br>$subs<br>";
}
else {
$forum['description'].= "<br>$subs"; // used in index.php
// $forum['description'].= "<br>$subs<br>"; // used in forumdisplay.php
}
$subs=null;
} // end-if
else {
if ($forum['description'] != '') {
// $forum['description'].= "<br><br>"; // used in forumdisplay.php
}
else {
// $forum['description'].= "<br>"; // used in forumdisplay.php
}
I just want to show the forums that have subforums, but no posts themselves, and therefore don't show up as anything but the name of the ategory on the main index page....I want to have the reply count and post count for those shown on the main forum page like other normal forums are. How can I do this the best way, with the fewest queries?
Question - Currently, I can't get subforums to show up under CATAGORIES, only other forums. To get around this, I made my Catagories forums, then locked them for new posts so no one would post in them. This works fine, however, that also makes the "Locked" icon appear next to them.
Any way to change the locked icon to active/inactive again even if the main forum is locked but the subforums are not? I've had several users complain that they used to pay attention to the active/inactive icons (never knew that, I don't, but hey).