$_forum) { if(!empty($_forum['type']) && $_forum['type'] == 1) { $categories[$_fid] = $_forum; // 仅在不存在时初始化,避免分区循环顺序晚于子版块时覆盖已收集的子版块 if(!isset($sub_forums_map[$_fid])) $sub_forums_map[$_fid] = array(); } elseif(!empty($_forum['fup']) && isset($forumlist[$_forum['fup']]) && !empty($forumlist[$_forum['fup']]['type']) && $forumlist[$_forum['fup']]['type'] == 1) { // 仅当父版块是分区(type=1)时才归入子版块,否则归入孤儿版块 $sub_forums_map[$_forum['fup']][$_fid] = $_forum; } else { $orphans[$_fid] = $_forum; } } // 生成前台伪静态 URL(绕过 admin 强制 ? 格式) if(!function_exists('forum_frontend_url')) { function forum_frontend_url($query) { $conf = _SERVER('conf'); $url_rewrite_on = isset($conf['url_rewrite_on']) ? intval($conf['url_rewrite_on']) : 0; // 复用 misc.func.php 中 url() 的前台伪静态逻辑 if($url_rewrite_on == 0) { $r = '?' . $query . '.htm'; } elseif($url_rewrite_on == 1) { $r = $query . '.htm'; } elseif($url_rewrite_on == 2) { $r = '?' . str_replace('-', '/', $query); } elseif($url_rewrite_on == 3) { $r = str_replace('-', '/', $query); } elseif($url_rewrite_on == 4) { $r = $query . '.html'; } elseif($url_rewrite_on == 5) { $r = str_replace('-', '/', $query) . '.html'; } else { $r = '?' . $query . '.htm'; } // 加 base_path 前缀使其成为绝对路径(支持子目录安装) if($r !== '' && $r[0] !== '/' && strpos($r, 'http') !== 0) { $r = $conf['base_path'] . '/' . $r; } return $r; } } ?>