0 ? 'dateline' : 'lastpost'; $forum['autoclose'] = abs($forum['autoclose']); if($timestamp - $thread[$closedby] > $forum['autoclose'] * 86400) { return 'post_thread_closed_by_'.$closedby; } } return FALSE; } function forum(&$forum) { global $_DCOOKIE, $timestamp, $timeformat, $dateformat, $discuz_uid, $groupid, $lastvisit, $moddisplay, $timeoffset, $hideprivate, $onlinehold; if(!$forum['viewperm'] || ($forum['viewperm'] && forumperm($forum['viewperm'])) || !empty($forum['allowview']) || (isset($forum['users']) && strstr($forum['users'], "\t$discuz_uid\t"))) { $forum['permission'] = 2; } elseif(!$hideprivate) { $forum['permission'] = 1; } else { return FALSE; } if($forum['icon']) { if(strstr($forum['icon'], ',')) { $flash = explode(",", $forum['icon']); $forum['icon'] = ""; } else { $forum['icon'] = "\"\""; } } $lastpost = array('tid' => 0, 'dateline' => 0, 'subject' => '', 'author' => ''); //list($lastpost['tid'], $lastpost['subject'], $lastpost['dateline'], $lastpost['author']) = is_array($forum['lastpost']) ? $forum['lastpost'] : explode("\t", $forum['lastpost']); $forum['folder'] = ''; if($lastpost['tid']) { $lastpost['dateline'] = gmdate("$dateformat $timeformat", $lastpost['dateline'] + $timeoffset * 3600); if($lastpost['author']) { $lastpost['author'] = ''.$lastpost['author'].''; } $forum['lastpost'] = $lastpost; } else { $forum['lastpost'] = ''; } $forum['moderators'] = moddisplay($forum['moderators'], $moddisplay, !empty($forum['inheritedmod'])).' '; if(isset($forum['subforums'])) { $forum['subforums'] = implode(', ', $forum['subforums']); } return TRUE; } function forumselect($groupselectable = FALSE, $tableformat = 0) { global $_DCACHE, $discuz_uid, $groupid, $fid, $gid, $indexname; if(!isset($_DCACHE['forums'])) { require_once DISCUZ_ROOT.'./forumdata/cache/cache_forums.php'; } $forumlist = $tableformat ? '' : ''; foreach($_DCACHE['forums'] as $forum) { if($forum['type'] == 'group') { if($tableformat) { $forumlist .= ''.$forum['name'].''; } else { $forumlist .= $groupselectable ? '' : ''; } $visible[$forum['fid']] = true; } elseif($forum['type'] == 'forum' && isset($visible[$forum['fup']]) && (!$forum['viewperm'] || ($forum['viewperm'] && forumperm($forum['viewperm'])) || strstr($forum['users'], "\t$discuz_uid\t"))) { if($tableformat) { $forumlist .= '  > '.$forum['name'].''; } else { $forumlist .= ''; } $visible[$forum['fid']] = true; } elseif($forum['type'] == 'sub' && isset($visible[$forum['fup']]) && (!$forum['viewperm'] || ($forum['viewperm'] && forumperm($forum['viewperm'])) || strstr($forum['users'], "\t$discuz_uid\t"))) { if($tableformat) { $forumlist .= '      > '.$forum['name'].''; } else { $forumlist .= ''; } } } $forumlist .= $tableformat ? '' : ''; $forumlist = $tableformat ? $forumlist : str_replace('', '', $forumlist); return $forumlist; } function visitedforums() { global $_DCACHE, $_DCOOKIE, $forum; $count = 0; $visitedforums = ''; $fidarray = array($forum['fid']); foreach(explode('D', $_DCOOKIE['visitedfid']) as $fid) { if(isset($_DCACHE['forums'][$fid]) && !in_array($fid, $fidarray)) { $fidarray[] = $fid; if($fid != $forum['fid']) { $visitedforums .= ''; if(++$count >= $GLOBALS['visitedforums']) { break; } } } } if(($visitedfid = implode('D', $fidarray)) != $_DCOOKIE['visitedfid']) { dsetcookie('visitedfid', $visitedfid, 2592000); } return $visitedforums; } function moddisplay($moderators, $type, $inherit = 0) { if($type == 'selectbox') { $modlist .= ''; return $modlist; } else { if($moderators) { $modlist = $comma = ''; foreach(explode("\t", $moderators) as $moderator) { $modlist .= $comma.''.($inherit ? $moderator : $moderator).''; $comma = ', '; } } else { $modlist = ''; } return $modlist; } } function getcacheinfo($tid) { global $timestamp, $cachethreadlife, $cachethreaddir; $tid = intval($tid); $cachethreaddir2 = DISCUZ_ROOT.'./'.$cachethreaddir; $cache = array('filemtime' => 0, 'filename' => ''); $tidmd5 = substr(md5($tid), 3); $fulldir = $cachethreaddir2.'/'.$tidmd5[0].'/'.$tidmd5[1].'/'.$tidmd5[2].'/'; $cache['filename'] = $fulldir.$tid.'.htm'; if(file_exists($cache['filename'])) { $cache['filemtime'] = filemtime($cache['filename']); } else { if(!is_dir($fulldir)) { for($i=0; $i<3; $i++) { $cachethreaddir2 .= '/'.$tidmd5{$i}; if(!is_dir($cachethreaddir2)) { @mkdir($cachethreaddir2, 0777); @touch($cachethreaddir2.'/index.htm'); } } } } return $cache; } ?>