Just copy paste the existing code into the correct places inside forumdisplay.php. No further template modifications are required.
Find
PHP Code:
function makeforumbit($forumid,$depth=1,$permissions='') {
global $DB_site,$bbuserinfo,$iforumcache,$ipermcache,$imodcache,$session,$accesscache,$usergroupdef,$noperms;
global $showlocks,$hideprivateforums,$showforumdescription,$forumdisplaydepth,$dateformat,$timeformat,$forumshown,$enableaccess;
global $bbforumview;
Below add
PHP Code:
// expand collapse hack
global $BrowserDOM, $collapsedstate;
// end expand collapse hack
Find
PHP Code:
if ($forum['cancontainthreads']==1) {
$tempext = '_post';
} else {
$tempext = '_nopost';
}
Below add
PHP Code:
// expand collapse hack
if ($BrowserDOM==True) {
if ((!isset($z)) or ($depth==1)) {
$z=0;
} else {
$z++;
}
// get state of collapse
if ($forum[parentid]==-1) {
$collapsedstate=$forum['collapsed'];
}
// auto collapse forums based on forum setting
if ($collapsedstate==1) {
$fhomeexpandstyle="style=\"visibility:hidden; display:none;\"";
} else {
$fhomeexpandstyle="";
}
// auto collapse forums for user
if (getViewSetting($forum['parentid'])==1) {
$fhomeexpandstyle="style=\"visibility:hidden; display:none;\"";
} elseif (getViewSetting($forum['parentid'])==2) {
$fhomeexpandstyle="";
}
// display correct item (this can not be simplified into the block above
// due to CSS2 defining special display values for tables, eg display:table-row;)
if ($collapsedstate==1) {
$divexpand = "display: inline;visibility: visible;";
$divcollapse = "display: none;visibility: hidden;";
} else {
$divexpand = "display: none;visibility: hidden;";
$divcollapse = "display: inline;visibility: visible;";
}
if (getViewSetting($forum['forumid'])==1) {
$divexpand = "display: inline;visibility: visible;";
$divcollapse = "display: none;visibility: hidden;";
} elseif (getViewSetting($forum['forumid'])==2) {
$divexpand = "display: none;visibility: hidden;";
$divcollapse = "display: inline;visibility: visible;";
}
eval("\$expandcontract = \"".gettemplate("forumhome_expandcontract")."\";");
}
// end expand collapse hack
Find:
PHP Code:
$forumbits=makeforumbit($forumid, 1, $permissions);
Above add:
PHP Code:
// expand collapse hack
$fviewcache=BuildViewSettingCache(); // create cache
// end expand collapse hack
Find
PHP Code:
if ($forumshown==1) {
eval("\$forumdisplay[forumslist] = \"".gettemplate('forumdisplay_forumslist')."\";");
} else {
$forumdisplay['forumslist']='';
}
Change it to:
PHP Code:
if ($forumshown==1) {
// expand collapse hack
if ($BrowserDOM==True) {
eval("\$expandcontractscript = \"".gettemplate('forumhome_expandjscript')."\";");
}
// end expand collapse hack
eval("\$forumdisplay[forumslist] = \"".gettemplate('forumdisplay_forumslist')."\";");
} else {
$forumdisplay['forumslist']='';
}
Alter:
PHP Code:
require('./global.php');
into:
PHP Code:
// expand collapse hack
require('./admin/getbrowser.php');
require('./admin/getforumview.php');
$BrowserDOM=GetBrowserDOM2();
$templatesused.=',forumhome_expandcontract,forumhome_expandjscript';
// end expand collapse hack
require('./global.php');