' . ''; $sectionInfo = vB5_Template_Runtime::parseData('widget', 'fetchLayoutSectionInfo', vB5_Template_Runtime::vBVar(($page['pagetemplateid'] ?? null)), vB5_Template_Runtime::vBVar(($page['channelid'] ?? null))); $final_rendered .= '' . '
' . ''; if (isset($sectionInfo) AND (is_array($sectionInfo) OR $sectionInfo instanceof ArrayAccess)) { foreach ($sectionInfo AS $rowInfo) {$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('screenlayout_row_display', ['sections' => ($rowInfo['sections'] ?? null), 'info' => ($rowInfo['info'] ?? null)]) . '
'; } }$final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('page_footer', ['page' => ($page ?? null)]);$final_rendered = '';
if (!empty($page['noindex']) AND !empty($page['nofollow'])) {
$final_rendered .= '
' . '';
if (!empty($useSitebuilder)) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('admin_configuresite', []) . '
' . ''; vB5_Template_Runtime::includeJs('js/file-upload-rollup.js'); $final_rendered .= '' . '
' . '';
if (!$sbStateCookieSet) {
$final_rendered .= '
' . '' . '
' . ''; vB5_Template_Runtime::includeJs('js/admin-sbpanel-style.js'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; vB5_Template_Runtime::includeJs('js/config-site.js'); $final_rendered .= '' . '
' . ''; vB5_Template_Runtime::includeCss('sitebuilder-after.css'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($useSitebuilder)) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($page['channelid'])) {
$final_rendered .= '
' . ''; $navbarCurrentChannelId = vB5_Template_Runtime::vBVar(($page['channelid'] ?? null)); $final_rendered .= '' . '
' . '';
} else if (!empty($page['nodeid'])) {
$final_rendered .= '
' . ''; $navbarCurrentChannelId = vB5_Template_Runtime::vBVar(($page['nodeid'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $navbarCurrentChannelId = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $navbarItems = vB5_Template_Runtime::parseData('site', 'loadHeaderNavbar', '1', ($_SERVER['REQUEST_URI'] ?? null), '0', vB5_Template_Runtime::vBVar(($navbarCurrentChannelId ?? null))); $final_rendered .= '' . '
' . ''; $navbarItemCount = count($navbarItems); $final_rendered .= '' . '
' . ''; if (isset($navbarItems) AND (is_array($navbarItems) OR $navbarItems instanceof ArrayAccess)) { foreach ($navbarItems AS $idx => $navbarItem) {$final_rendered .= '
' . ''; $navbarTitle = ($navbarItem['title'] ?? null); $final_rendered .= '' . '
' . ''; $normalizedUrl = ($navbarItem['normalizedUrl'] ?? null); $final_rendered .= '' . '
' . '';
if (!empty($navbarItem['current'])) {
$final_rendered .= ''; $subnavItems = ($navbarItem['subnav'] ?? null); $final_rendered .= '' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($navbarTitle ?? null)) . '
' . '';
if ($idx < ($navbarItemCount - 1)) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
'; } }$final_rendered .= '' . '
' . vB5_Template_Runtime::hook('header_tabbar', get_defined_vars()) . '
' . '' . '
' . '' . '
' . ''; if (isset($subnavItems) AND (is_array($subnavItems) OR $subnavItems instanceof ArrayAccess)) { foreach ($subnavItems AS $navbarItem) {$final_rendered .= '
' . ''; $navbarTitle = ($navbarItem['title'] ?? null); $final_rendered .= '' . '
' . ''; $normalizedUrl = ($navbarItem['normalizedUrl'] ?? null); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($navbarTitle ?? null)) . '
'; } }$final_rendered .= '' . '
' . '' . '
' . '';
if (($page['channelid'] ?? null) != $nodeid AND !empty($conversationStarter) AND !empty($conversationStarter['title'])) {
$final_rendered .= '
' . ''; $conversation_detail_page = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($page['crumbs'])) {
$final_rendered .= '
' . '' . '
' . vB5_Template_Runtime::parsePhrase('home') . '
' . vB5_Template_Runtime::parseSchema('meta', 'position', '1') . '
' . ''; if (isset($page['crumbs']) AND (is_array($page['crumbs']) OR $page['crumbs'] instanceof ArrayAccess)) { foreach ($page['crumbs'] AS $index => $crumb) {$final_rendered .= '
' . '';
if (isset($crumb['phrase']) AND !empty($crumb['phrase'])) {
$final_rendered .= '
' . ''; $crumbTitle = vB5_Template_Runtime::parsePhrase(($crumb['phrase'] ?? null)); $final_rendered .= '' . '
' . '';
} else if (isset($crumb['title'])) {
$final_rendered .= '
' . '' . '
' . ''; $crumbTitle = ($crumb['title'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $crumbTitle = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($crumb['url'])) {
$final_rendered .= '
' . ($crumbTitle ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($crumbTitle ?? null) . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parseSchema('meta', 'position', vB5_Template_Runtime::runMaths(vB5_Template_Runtime::vBVar(($index ?? null)) . '+2')) . '
'; } }$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::hook('header_before_notices', get_defined_vars()) . '
' . '' . '
'; $final_rendered .= '';
if (!empty($page['headlinks'])) {
$final_rendered .= '
' . ''; if (isset($page['headlinks']) AND (is_array($page['headlinks']) OR $page['headlinks'] instanceof ArrayAccess)) { foreach ($page['headlinks'] AS $link) {$final_rendered .= '
' . '' . '
' . '';
if ($link['rsslink'] == 1) {
$final_rendered .= '
' . ''; $linkurl = ($baseurl ?? null); $final_rendered .= '' . '
' . ''; $linkurl .= ($link['href'] ?? null); $final_rendered .= '' . '
' . '' . vB5_Template_Runtime::includeHeadLink(['rel' => vB5_Template_Runtime::vBVar(($link['rel'] ?? null)), 'title' => vB5_Template_Runtime::vBVar(($link['title'] ?? null)), 'type' => vB5_Template_Runtime::vBVar(($link['type'] ?? null)), 'href' => ($linkurl ?? null)]); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; } }$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($user['is_admin'] AND !$vboptions['bbactive']) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('alert_board_off') . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('notices', ['page' => ($page ?? null)]) . '
' . vB5_Template_Runtime::hook('header_before_content', get_defined_vars()) . '
' . '' . '
';$final_rendered = "";$final_rendered = '
' . ''; $privacyGuest = vB5_Template_Runtime::parseData('user', 'checkPrivacyOption', 'enable_privacy_guest'); $final_rendered .= '' . '
' . ''; $privacyBlock = vB5_Template_Runtime::parseData('user', 'checkPrivacyOption', 'block_eu_visitors'); $final_rendered .= '' . '
' . ''; $current_server_datetime = vB5_Template_Runtime::parseData('content_text', 'getTimeNow'); $final_rendered .= '' . '
' . ''; $showhv_post = vB5_Template_Runtime::parseData('hv', 'fetchRequireHvcheck', 'post'); $final_rendered .= '' . '
' . ''; $crontask = vB5_Template_Runtime::parseData('cron', 'shouldTriggerCron'); $final_rendered .= '' . '
' . ''; $date_now = vB5_Template_Runtime::date('timenow', '', '0'); $final_rendered .= '' . '
' . '' . '
0) ? '1' : '0') . '\'
data-cookie_prefix=\'' . vB5_Template_Runtime::vBVar(($config['cookie_prefix'] ?? null)) . '\'
data-cookie_path=\'' . vB5_Template_Runtime::vBVar(($vboptions['cookiepath'] ?? null)) . '\'
data-cookie_domain=\'' . vB5_Template_Runtime::vBVar(($vboptions['cookiedomain'] ?? null)) . '\'
data-simpleversion=\'v=' . vB5_Template_Runtime::vBVar(($vboptions['simpleversion'] ?? null)) . '\'
data-templateversion=\'' . ($vboptions['templateversion'] ?? null) . '\'
data-current_server_datetime=\'' . vB5_Template_Runtime::vBVar(($current_server_datetime ?? null)) . '\'
data-text-dir-left=\'' . vB5_Template_Runtime::fetchStyleVar('left') . '\'
data-text-dir-right=\'' . vB5_Template_Runtime::fetchStyleVar('right') . '\'
data-textdirection=\'' . vB5_Template_Runtime::fetchStyleVar('textdirection') . '\'
data-showhv_post=\'' . vB5_Template_Runtime::vBVar(($showhv_post ?? null)) . '\'
data-crontask=\'' . vB5_Template_Runtime::vBVar(($crontask['crontask'] ?? null)) . '\'
data-privacystatus=\'' . (($privacyBlock['required']) ? '2' : (($privacyGuest['required']) ? '1' : '0') ) . '\'
data-datenow=\'' . vB5_Template_Runtime::vBVar(($date_now ?? null)) . '\'
data-flash_message="' . vB5_Template_Runtime::parsePhrase(vB5_Template_Runtime::vBVar(($flash_message ?? null))) . '"
data-registerurl="' . vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('register|fullurl')) . '"
data-activationurl="' . vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('activateuser|fullurl')) . '"
data-helpurl="' . vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('help|fullurl')) . '"
data-contacturl="' . vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('contact-us|fullurl')) . '"
>
';$final_rendered = '';
if ($user['can_use_sitebuilder']) {
$final_rendered .= '
' . '';
if (!isset($state)) {
$final_rendered .= '
' . ''; $state = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '' . '
' . ''; $canAdminSettings = vB5_Template_Runtime::parseData('user', 'hasPermissions', 'adminpermissions', 'canadminsettings'); $final_rendered .= '' . '
' . ''; $canAdminSettingsAll = vB5_Template_Runtime::parseData('user', 'hasPermissions', 'adminpermissions', 'canadminsettingsall'); $final_rendered .= '' . '
' . ''; $canAdminStyles = vB5_Template_Runtime::parseData('user', 'hasPermissions', 'adminpermissions', 'canadminstyles'); $final_rendered .= '' . '
' . ''; $canAdminTemplates = vB5_Template_Runtime::parseData('user', 'hasPermissions', 'adminpermissions', 'canadmintemplates'); $final_rendered .= '' . '
' . '';
if ($canAdminSettings OR $canAdminSettingsAll OR $canAdminStyles OR $canAdminTemplates) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $canAdminForums = vB5_Template_Runtime::parseData('user', 'hasPermissions', 'adminpermissions', 'canadminforums'); $final_rendered .= '' . '
' . '';
if ($canAdminForums) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '' . '
' . '' . '
' . '' . '
' . '' . '
' . '' . '
' . '' . '
' . '';
}$final_rendered .= '';$final_rendered = vB5_Template_Runtime::hook('header_navright', get_defined_vars()) . '
' . '';
if ($user['userid'] > 0) {
$final_rendered .= '
' . '' . '
' . '' . '
' . '' . '
' . ''; $headerCounts = vB5_Template_Runtime::parseData('content_privatemessage', 'getHeaderCounts'); $final_rendered .= '' . '
' . ''; $unreadCount = vB5_Template_Runtime::parseData('content_privatemessage', 'getUnreadInboxCount'); $final_rendered .= '' . '
' . ''; $canUsePmSystem = vB5_Template_Runtime::parseData('content_privatemessage', 'canUsePmSystem'); $final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('top_menu_notifications', ['headerCounts' => ($headerCounts ?? null), 'unreadCount' => ($unreadCount ?? null), 'canUsePmSystem' => ($canUsePmSystem ?? null)]) . '
' . '' . '
' . vB5_Template_Runtime::includeTemplate('pmchat_message_header', ['headerCounts' => ($headerCounts ?? null)]) . '
' . '' . '
' . ''; $data['userid'] = ($user['userid'] ?? null); $final_rendered .= '' . '
' . '' . '
' . vB5_Template_Runtime::hook('header_navright_after_username', get_defined_vars()) . '
' . '' . '
' . '';
if (!empty($useSitebuilder)) {
$final_rendered .= '
' . '';
if ($sb_state_cookie_val == '1') {
$final_rendered .= '
' . ''; $editstate = 'on'; $final_rendered .= '' . '
' . ''; $sbPressed = 'true'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $editstate = ''; $final_rendered .= '' . '
' . ''; $sbPressed = 'false'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . '' . '
' . vB5_Template_Runtime::hook('header_navright_after_username', get_defined_vars()) . '
' . '';
}$final_rendered .= '';$final_rendered = ''; vB5_Template_Runtime::includeCss('css_login.css'); $final_rendered .= '' . '
' . ''; vB5_Template_Runtime::includeJs('js/login.js'); $final_rendered .= '' . '
' . '' . '
' . vB5_Template_Runtime::parsePhrase('logging_in') . '...
';$final_rendered = '';$final_rendered = '';$final_rendered = '
' . ''; vB5_Template_Runtime::includeJs('js/notice-rollup.js'); $final_rendered .= '' . '
' . ''; $notices = vB5_Template_Runtime::parseDataWithErrors('notice', 'fetch', vB5_Template_Runtime::vBVar(($page['channelid'] ?? null)), ($page['ignore_np_notices'] ?? null)); $final_rendered .= '' . '
' . '';
if (!isset($notices['errors']) AND !empty($notices)) {
$final_rendered .= '
' . ''; $noticeCount = count($notices); $final_rendered .= '' . '
' . ''; if (isset($notices) AND (is_array($notices) OR $notices instanceof ArrayAccess)) { foreach ($notices AS $noticeid => $notice) {$final_rendered .= '
' . ''; $noticetext = vB5_Template_Runtime::parseAction('bbcode', 'parseNotice', ($notice['notice_phrase_varname'] ?? null), ($notice['noticeoptions'] ?? null)); $final_rendered .= '' . '
' . '';
if ($user['userid'] AND $notice['dismissible']) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '' . ($noticetext ?? null) . '
'; } }$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . ''; $rowClasses = 'has-columns'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowClasses = 'no-columns h-clearfix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($info['rowFixed'])) {
$final_rendered .= '
' . ''; $rowFixedClass = ' l-row__fixed--'; $final_rendered .= '' . '
' . ''; $rowFixedClass .= vB5_Template_Runtime::vBVar(($info['rowFixed'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowFixedClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $loop = array(); $final_rendered .= '' . '
' . ''; $loop['iteration'] = '0'; $final_rendered .= '' . '
' . ''; if (isset($sections) AND (is_array($sections) OR $sections instanceof ArrayAccess)) { foreach ($sections AS $section) {$final_rendered .= '
' . ''; $loop['iteration'] = vB5_Template_Runtime::runMaths(($loop['iteration'] ?? null) . '+1'); $final_rendered .= '' . '
' . ''; $loop['first'] = (($loop["iteration"] == 1) ? '1' : '0') ; $final_rendered .= '' . '
' . ''; $loop['last'] = (($loop["iteration"] == $info["sectionCount"]) ? '1' : '0') ; $final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('screenlayout_section_display', ['section' => ($section ?? null), 'info' => ($info ?? null), 'loop' => ($loop ?? null)]) . '
'; } }$final_rendered .= '' . '
';$final_rendered = '';
if (!empty($section['layoutcolumnflex'])) {
$final_rendered .= '
' . ''; $isFlexColumn = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isFlexColumn = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $flexClass = ''; $final_rendered .= '' . '
' . '';
if ($info['hasFlex']) {
$final_rendered .= '
' . '';
if ($isFlexColumn) {
$final_rendered .= '
' . ''; $colClassBit = 'flex-'; $final_rendered .= '' . '
' . '';
if ($info['flexFirst']) {
$final_rendered .= '
' . ''; $flexClass = ' l-col--flex-first'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'fixed-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'large-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '';
if (!empty($section['isFirstDisplaySection'])) {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-right-col'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-left-col h-padding-left-16'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($section['layoutcolumnmove'])) {
$final_rendered .= '
' . ''; $columnMoveClass = ' l-col__large--move-'; $final_rendered .= '' . '
' . ''; $columnMoveClass .= vB5_Template_Runtime::vBVar(($section['layoutcolumnmove'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $columnMoveClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $sectionTypeClass = ''; $final_rendered .= '' . '
' . ''; if (isset($section['sectiontypes']) AND (is_array($section['sectiontypes']) OR $section['sectiontypes'] instanceof ArrayAccess)) { foreach ($section['sectiontypes'] AS $sectionType) {$final_rendered .= '
' . ''; $sectionTypeClass .= ' js-sectiontype-'; $final_rendered .= '' . '
' . ''; $sectionTypeClass .= vB5_Template_Runtime::vBVar(($sectionType ?? null)); $final_rendered .= '' . '
'; } }$final_rendered .= '' . '
' . '' . '
' . ''; $wideNarrowClass = ' l-wide-column'; $final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '' . '
' . '';
if ($info['hasFlex'] AND !$isFlexColumn) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!$info['hasFlex'] AND !$section['layoutcolumnlarge'] <= 4) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::hook(vB5_Template_Runtime::vBVar(($section['hookname'] ?? null)), get_defined_vars()) . '
';$final_rendered = ''; if (isset($widgets) AND (is_array($widgets) OR $widgets instanceof ArrayAccess)) { foreach ($widgets AS $widget) {$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate(($widget['template'] ?? null), ['widgetid' => ($widget['widgetid'] ?? null), 'widgetinstanceid' => ($widget['widgetinstanceid'] ?? null), 'widgettitle' => ($widget['title'] ?? null), 'page' => ($page ?? null), 'isWidget' => '1', 'subModules' => ($widget['subModules'] ?? null), 'product' => ($widget['product'] ?? null)]) . '
'; } }$final_rendered .= '';$final_rendered = '';
if (empty($widgetConfig) AND !empty($widgetinstanceid)) {
$final_rendered .= '
' . ''; $widgetConfig = vB5_Template_Runtime::parseData('widget', 'fetchConfig', ($widgetinstanceid ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($widgetConfig)) {
$final_rendered .= '
' . ''; $widgetid = ($widgetConfig['widgetid'] ?? null); $final_rendered .= '' . '
' . ''; $widgetinstanceid = ($widgetConfig['widgetinstanceid'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($widgetConfig['hide_title'])) {
$final_rendered .= '
' . '';
if (!empty($show_title_divider)) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '
' . ''; if (!is_member_of($user, array(6,5,11))) {
$final_rendered .= '' . '
' . '' . ''; if ($adsshown[] = 3) {
$final_rendered .= '';
} else {
$final_rendered .= '';
}$final_rendered .= '' . '';
} else {
$final_rendered .= '';
}$final_rendered .= '' . '
';$final_rendered = '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . ''; $rowClasses = 'has-columns'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowClasses = 'no-columns h-clearfix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($info['rowFixed'])) {
$final_rendered .= '
' . ''; $rowFixedClass = ' l-row__fixed--'; $final_rendered .= '' . '
' . ''; $rowFixedClass .= vB5_Template_Runtime::vBVar(($info['rowFixed'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowFixedClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $loop = array(); $final_rendered .= '' . '
' . ''; $loop['iteration'] = '0'; $final_rendered .= '' . '
' . ''; if (isset($sections) AND (is_array($sections) OR $sections instanceof ArrayAccess)) { foreach ($sections AS $section) {$final_rendered .= '
' . ''; $loop['iteration'] = vB5_Template_Runtime::runMaths(($loop['iteration'] ?? null) . '+1'); $final_rendered .= '' . '
' . ''; $loop['first'] = (($loop["iteration"] == 1) ? '1' : '0') ; $final_rendered .= '' . '
' . ''; $loop['last'] = (($loop["iteration"] == $info["sectionCount"]) ? '1' : '0') ; $final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('screenlayout_section_display', ['section' => ($section ?? null), 'info' => ($info ?? null), 'loop' => ($loop ?? null)]) . '
'; } }$final_rendered .= '' . '
';$final_rendered = '';
if (!empty($section['layoutcolumnflex'])) {
$final_rendered .= '
' . ''; $isFlexColumn = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isFlexColumn = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $flexClass = ''; $final_rendered .= '' . '
' . '';
if ($info['hasFlex']) {
$final_rendered .= '
' . '';
if ($isFlexColumn) {
$final_rendered .= '
' . ''; $colClassBit = 'flex-'; $final_rendered .= '' . '
' . '';
if ($info['flexFirst']) {
$final_rendered .= '
' . ''; $flexClass = ' l-col--flex-first'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'fixed-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'large-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '';
if (!empty($section['isFirstDisplaySection'])) {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-right-col'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-left-col h-padding-left-16'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($section['layoutcolumnmove'])) {
$final_rendered .= '
' . ''; $columnMoveClass = ' l-col__large--move-'; $final_rendered .= '' . '
' . ''; $columnMoveClass .= vB5_Template_Runtime::vBVar(($section['layoutcolumnmove'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $columnMoveClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $sectionTypeClass = ''; $final_rendered .= '' . '
' . ''; if (isset($section['sectiontypes']) AND (is_array($section['sectiontypes']) OR $section['sectiontypes'] instanceof ArrayAccess)) { foreach ($section['sectiontypes'] AS $sectionType) {$final_rendered .= '
' . ''; $sectionTypeClass .= ' js-sectiontype-'; $final_rendered .= '' . '
' . ''; $sectionTypeClass .= vB5_Template_Runtime::vBVar(($sectionType ?? null)); $final_rendered .= '' . '
'; } }$final_rendered .= '' . '
' . '' . '
' . ''; $wideNarrowClass = ' l-wide-column'; $final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '' . '
' . '';
if ($info['hasFlex'] AND !$isFlexColumn) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!$info['hasFlex'] AND !$section['layoutcolumnlarge'] <= 4) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::hook(vB5_Template_Runtime::vBVar(($section['hookname'] ?? null)), get_defined_vars()) . '
';$final_rendered = ''; if (isset($widgets) AND (is_array($widgets) OR $widgets instanceof ArrayAccess)) { foreach ($widgets AS $widget) {$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate(($widget['template'] ?? null), ['widgetid' => ($widget['widgetid'] ?? null), 'widgetinstanceid' => ($widget['widgetinstanceid'] ?? null), 'widgettitle' => ($widget['title'] ?? null), 'page' => ($page ?? null), 'isWidget' => '1', 'subModules' => ($widget['subModules'] ?? null), 'product' => ($widget['product'] ?? null)]) . '
'; } }$final_rendered .= '';$final_rendered = '';
if (empty($widgetConfig) AND !empty($widgetinstanceid)) {
$final_rendered .= '
' . ''; $widgetConfig = vB5_Template_Runtime::parseData('widget', 'fetchConfig', ($widgetinstanceid ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($widgetConfig)) {
$final_rendered .= '
' . ''; $widgetid = ($widgetConfig['widgetid'] ?? null); $final_rendered .= '' . '
' . ''; $widgetinstanceid = ($widgetConfig['widgetinstanceid'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $nodeid = '0'; $final_rendered .= '' . '
' . ''; $conversationStarter = '0'; $final_rendered .= '' . '
' . '';
if (!empty($page['nodeid'])) {
$final_rendered .= '
' . ''; $nodeid = vB5_Template_Runtime::vBVar(($page['nodeid'] ?? null)); $final_rendered .= '' . '
' . ''; $conversation = vB5_Template_Runtime::parseDataWithErrors('node', 'getNodeContent', ($nodeid ?? null)); $final_rendered .= '' . '
' . '';
if (!isset($conversation['errors']) AND !empty($conversation[$nodeid]['starter'])) {
$final_rendered .= '
' . ''; $conversationStarter = vB5_Template_Runtime::parseDataWithErrors('node', 'getNode', ($conversation[$nodeid]['starter'] ?? null)); $final_rendered .= '' . '
' . '';
if (isset($conversationStarter['errors'])) {
$final_rendered .= '
' . ''; $conversationStarter = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $newContentPageTitle = ''; $final_rendered .= '' . '
' . '';
if ($nodeid > 0 AND $page['guid'] == 'vbulletin-4ecbdac82f2c27.60323369') {
$final_rendered .= '
' . ''; $channelInfo = vB5_Template_Runtime::parseData('content_channel', 'fetchChannelById', ($nodeid ?? null)); $final_rendered .= '' . '
' . '';
if ($channelInfo['channeltype'] == 'forum') {
$final_rendered .= '
' . ''; $newContentPageTitle = vB5_Template_Runtime::parsePhrase('create_new_topic'); $final_rendered .= '' . '
' . '';
} else if ($channelInfo['channeltype'] == 'blog') {
$final_rendered .= '
' . ''; $newContentPageTitle = vB5_Template_Runtime::parsePhrase('create_new_blog_entry'); $final_rendered .= '' . '
' . '';
} else if ($channelInfo['channeltype'] == 'group') {
$final_rendered .= '
' . ''; $newContentPageTitle = vB5_Template_Runtime::parsePhrase('create_new_topic'); $final_rendered .= '' . '
' . '';
} else if ($channelInfo['channeltype'] == 'article') {
$final_rendered .= '
' . ''; $newContentPageTitle = vB5_Template_Runtime::parsePhrase('create_new_article'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($page['channelid'] ?? null) != $nodeid AND !empty($conversationStarter) AND isset($conversationStarter['htmltitle']) AND !empty($conversationStarter['htmltitle'])) {
$final_rendered .= '
' . ''; $pageTitle = ($conversationStarter['htmltitle'] ?? null); $final_rendered .= '' . '
' . '';
} else if ($newContentPageTitle) {
$final_rendered .= '
' . ''; $pageTitle = ($newContentPageTitle ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $pageTitle = ($page['title'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($page['rss_enabled']) AND !empty($page['rss_show_icon_on_pagetitle']) AND !empty($page['rss_route'])) {
$final_rendered .= '
' . ''; $showRssIcon = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $showRssIcon = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($widgetConfig['hide_title'])) {
$final_rendered .= '
' . '';
if (!empty($show_title_divider)) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '';
if (empty($widgetConfig) AND !empty($widgetinstanceid)) {
$final_rendered .= '
' . ''; $widgetConfig = vB5_Template_Runtime::parseData('widget', 'fetchConfig', ($widgetinstanceid ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($widgetConfig)) {
$final_rendered .= '
' . ''; $widgetid = ($widgetConfig['widgetid'] ?? null); $final_rendered .= '' . '
' . ''; $widgetinstanceid = ($widgetConfig['widgetinstanceid'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . ''; $rowClasses = 'has-columns'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowClasses = 'no-columns h-clearfix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($info['rowFixed'])) {
$final_rendered .= '
' . ''; $rowFixedClass = ' l-row__fixed--'; $final_rendered .= '' . '
' . ''; $rowFixedClass .= vB5_Template_Runtime::vBVar(($info['rowFixed'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowFixedClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $loop = array(); $final_rendered .= '' . '
' . ''; $loop['iteration'] = '0'; $final_rendered .= '' . '
' . ''; if (isset($sections) AND (is_array($sections) OR $sections instanceof ArrayAccess)) { foreach ($sections AS $section) {$final_rendered .= '
' . ''; $loop['iteration'] = vB5_Template_Runtime::runMaths(($loop['iteration'] ?? null) . '+1'); $final_rendered .= '' . '
' . ''; $loop['first'] = (($loop["iteration"] == 1) ? '1' : '0') ; $final_rendered .= '' . '
' . ''; $loop['last'] = (($loop["iteration"] == $info["sectionCount"]) ? '1' : '0') ; $final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('screenlayout_section_display', ['section' => ($section ?? null), 'info' => ($info ?? null), 'loop' => ($loop ?? null)]) . '
'; } }$final_rendered .= '' . '
';$final_rendered = '';
if (!empty($section['layoutcolumnflex'])) {
$final_rendered .= '
' . ''; $isFlexColumn = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isFlexColumn = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $flexClass = ''; $final_rendered .= '' . '
' . '';
if ($info['hasFlex']) {
$final_rendered .= '
' . '';
if ($isFlexColumn) {
$final_rendered .= '
' . ''; $colClassBit = 'flex-'; $final_rendered .= '' . '
' . '';
if ($info['flexFirst']) {
$final_rendered .= '
' . ''; $flexClass = ' l-col--flex-first'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'fixed-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'large-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '';
if (!empty($section['isFirstDisplaySection'])) {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-right-col'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-left-col h-padding-left-16'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($section['layoutcolumnmove'])) {
$final_rendered .= '
' . ''; $columnMoveClass = ' l-col__large--move-'; $final_rendered .= '' . '
' . ''; $columnMoveClass .= vB5_Template_Runtime::vBVar(($section['layoutcolumnmove'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $columnMoveClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $sectionTypeClass = ''; $final_rendered .= '' . '
' . ''; if (isset($section['sectiontypes']) AND (is_array($section['sectiontypes']) OR $section['sectiontypes'] instanceof ArrayAccess)) { foreach ($section['sectiontypes'] AS $sectionType) {$final_rendered .= '
' . ''; $sectionTypeClass .= ' js-sectiontype-'; $final_rendered .= '' . '
' . ''; $sectionTypeClass .= vB5_Template_Runtime::vBVar(($sectionType ?? null)); $final_rendered .= '' . '
'; } }$final_rendered .= '' . '
' . '' . '
' . ''; $wideNarrowClass = ' l-wide-column'; $final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '' . '
' . '';
if ($info['hasFlex'] AND !$isFlexColumn) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!$info['hasFlex'] AND !$section['layoutcolumnlarge'] <= 4) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::hook(vB5_Template_Runtime::vBVar(($section['hookname'] ?? null)), get_defined_vars()) . '
';$final_rendered = ''; if (isset($widgets) AND (is_array($widgets) OR $widgets instanceof ArrayAccess)) { foreach ($widgets AS $widget) {$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate(($widget['template'] ?? null), ['widgetid' => ($widget['widgetid'] ?? null), 'widgetinstanceid' => ($widget['widgetinstanceid'] ?? null), 'widgettitle' => ($widget['title'] ?? null), 'page' => ($page ?? null), 'isWidget' => '1', 'subModules' => ($widget['subModules'] ?? null), 'product' => ($widget['product'] ?? null)]) . '
'; } }$final_rendered .= '';$final_rendered = '';
if (empty($widgetConfig) AND !empty($widgetinstanceid)) {
$final_rendered .= '
' . ''; $widgetConfig = vB5_Template_Runtime::parseData('widget', 'fetchConfig', ($widgetinstanceid ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($widgetConfig)) {
$final_rendered .= '
' . ''; $widgetid = ($widgetConfig['widgetid'] ?? null); $final_rendered .= '' . '
' . ''; $widgetinstanceid = ($widgetConfig['widgetinstanceid'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($page) AND $page AND isset($page['channelid']) AND $page['channelid'] > 0) {
$final_rendered .= '
' . ''; $forumTree = vB5_Template_Runtime::parseDataWithErrors('node', 'fetchChannelNodeTree', vB5_Template_Runtime::vBVar(($page['channelid'] ?? null)), vB5_Template_Runtime::vBVar(($widgetConfig['channelDepth'] ?? null)), '1', '100'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($widgetConfig['hide_title'])) {
$final_rendered .= '
' . '';
if (!empty($show_title_divider)) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = ''; $show_forum_cards ??= ('0'); $final_rendered .= '' . '
' . ''; $channel_icon_as_background ??= ('0'); $final_rendered .= '' . '
' . ''; $channel_icon_background_fit ??= ('scale-down'); $final_rendered .= '' . '
' . '';
if (!in_array($channel_icon_background_fit, ['contain', 'cover', 'fill', 'none', 'scale-down',])) {
$final_rendered .= '
' . ''; $channel_icon_background_fit = 'scale-down'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($show_forum_cards) {
$final_rendered .= '
' . ''; $channel_icon_background_fit = ' icon-background--' . ($channel_icon_background_fit ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $channel_icon_background_fit = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $channel_depth ??= ('2'); $final_rendered .= '' . '
' . ''; $cssExtras = (($show_forum_cards) ? ' cards' : "") . (($channel_icon_as_background) ? ' icon-background' : "") . vB5_Template_Runtime::vBVar(($channel_icon_background_fit ?? null)) . (($channel_depth == 0) ? ' no-collapse-controls' : "") ; $final_rendered .= '' . '
' . '';
} else if (!empty($channels['errors'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('error_fetching_forums') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('no_forums_found') . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($widgetConfig) AND !empty($widgetinstanceid)) {
$final_rendered .= '
' . ''; $widgetConfig = vB5_Template_Runtime::parseData('widget', 'fetchConfig', ($widgetinstanceid ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($widgetConfig)) {
$final_rendered .= '
' . ''; $widgetid = ($widgetConfig['widgetid'] ?? null); $final_rendered .= '' . '
' . ''; $widgetinstanceid = ($widgetConfig['widgetinstanceid'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!isset($widgetConfig['display_tabs'])) {
$final_rendered .= '
' . ''; $widgetConfig['display_tabs'] = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (empty($widgetConfig['default_tab'])) {
$final_rendered .= '
' . ''; $widgetConfig['default_tab'] = '#topic-tab'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $moduleName = 'widget_channeldisplay_'; $final_rendered .= '' . '
' . ''; $moduleName .= ($widgetinstanceid ?? null); $final_rendered .= '' . '
' . ''; $configDefaultTab = ($widgetConfig['default_tab'] ?? null); $final_rendered .= '' . '
' . '';
if (!empty($page['tab']) AND in_array($page['tab'], array('topic-tab', 'activity-stream-tab', 'subscribed-tab', 'media-tab'))) {
$final_rendered .= '
' . ''; $tabId = '#'; $final_rendered .= '' . '
' . ''; $tabId .= vB5_Template_Runtime::vBVar(($page['tab'] ?? null)); $final_rendered .= '' . '
' . ''; $widgetConfig['default_tab'] = ($tabId ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $choptions['moderatorperms'] = '1'; $final_rendered .= '' . '
' . ''; $channelInfo = vB5_Template_Runtime::parseData('content_channel', 'fetchChannelById', vB5_Template_Runtime::vBVar(($page['channelid'] ?? null)), ($choptions ?? null)); $final_rendered .= '' . '
' . '';
if (!$channelInfo['category']) {
$final_rendered .= '
' . ''; $canViewTopicContent = vB5_Template_Runtime::parseData('user', 'hasPermissions', 'forumpermissions', 'canviewthreads', vB5_Template_Runtime::vBVar(($page['channelid'] ?? null))); $final_rendered .= '' . '
' . ''; vB5_Template_Runtime::includeJs('js/channel-rollup.js'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '';
if (empty($widgetConfig['hide_title'])) {
$final_rendered .= '
' . '';
if (!empty($show_title_divider)) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '';
if (!isset($position) OR !in_array($position, array('top', 'bottom'))) {
$final_rendered .= '
' . ''; $position = 'top'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $widgetConfig['url_default_filters'] ??= (array()); $final_rendered .= '' . '
' . '';
if (empty($resultsPerPage) AND (isset($widgetConfig['resultsPerPage']) OR isset($user['maxposts']))) {
$final_rendered .= '
' . '';
if (isset($user['maxposts']) AND $user['maxposts'] != -1) {
$final_rendered .= '
' . ''; $resultsPerPage = ($user['maxposts'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $resultsPerPage = ($widgetConfig['resultsPerPage'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $allowHistory ??= ('0'); $final_rendered .= '' . '
' . ''; $showGoToLastUnread ??= ('0'); $final_rendered .= '' . '
' . ''; $filter_menu_id = uniqid('filter-menu-'); $final_rendered .= '' . '
' . '';
if (!isset($nodeid)) {
$final_rendered .= ''; $nodeid = '0'; $final_rendered .= '' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!isset($vm_createpermissions)) {
$final_rendered .= ''; $vm_createpermissions = '0'; $final_rendered .= '' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $showArticleTitle = '0'; $final_rendered .= '' . '
' . '';
if (!empty($conversation) AND $conversation['channeltype'] == 'article' AND $conversation['nodeid'] == $conversation['starter']) {
$final_rendered .= '
' . ''; $articlePageTitle = vB5_Template_Runtime::parseAction('bbcode', 'fetchPageTitle', vB5_Template_Runtime::vBVar(($conversation['nodeid'] ?? null)), vB5_Template_Runtime::vBVar(($page['contentpagenum'] ?? null))); $final_rendered .= '' . '
' . '';
if ($conversation['startertitle'] != $articlePageTitle) {
$final_rendered .= '
' . ''; $showArticleTitle = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($showPageNav) OR !empty($showPageNavClient)) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('pagenav', ['pagenav' => ($pagingInfo ?? null), 'addHref' => '1', 'removeMargin' => '1']) . '
' . '';
}$final_rendered .= '';$final_rendered = '
' . '';
if (empty($pagenav)) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = '1'; $final_rendered .= '' . '
' . ''; $pagenav['totalpages'] = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $prevpage = ''; $final_rendered .= '' . '
' . ''; $prevdisabled = 'h-disabled'; $final_rendered .= '' . '
' . ''; $nextpage = ''; $final_rendered .= '' . '
' . ''; $nextdisabled = 'h-disabled'; $final_rendered .= '' . '
' . '';
if ($pagenav['currentpage'] > 1) {
$final_rendered .= '
' . ''; $pagenum = vB5_Template_Runtime::runMaths(vB5_Template_Runtime::vBVar(($pagenav['currentpage'] ?? null)) . '-1'); $final_rendered .= '' . '
' . ''; $prevpage = 'data-page="'; $final_rendered .= '' . '
' . ''; $prevpage .= ($pagenum ?? null) . '"'; $final_rendered .= '' . '
' . ''; $prevdisabled = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($pagenav['currentpage'] < $pagenav['totalpages']) {
$final_rendered .= '
' . ''; $pagenum = vB5_Template_Runtime::runMaths(vB5_Template_Runtime::vBVar(($pagenav['currentpage'] ?? null)) . '+1'); $final_rendered .= '' . '
' . ''; $nextpage = 'data-page="'; $final_rendered .= '' . '
' . ''; $nextpage .= ($pagenum ?? null) . '"'; $final_rendered .= '' . '
' . ''; $nextdisabled = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($filterFormAction)) {
$final_rendered .= '
' . ''; $filterFormAction = 'activity/get'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($pagenav)) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = '1'; $final_rendered .= '' . '
' . ''; $pagenav['totalpages'] = '1'; $final_rendered .= '' . '
' . '';
} else if (isset($pagenav['pagenumber'])) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = ($pagenav['pagenumber'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($pagenav['routeInfo']) AND !empty($pagenav['routeInfo']['routeId'])) {
$final_rendered .= '
' . ''; $hasRoute = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $hasRoute = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($addHref)) {
$final_rendered .= '
' . ''; $addHref = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $addHref = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($pagenav['totalpages'] > 1) {
$final_rendered .= '
' . ''; $pages = vB5_Template_Runtime::parseData('page', 'getPageNav', ($pagenav['currentpage'] ?? null), ($pagenav['totalpages'] ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($pagenav['currentpage'] != 1) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('previous') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('previous') . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($pages)) {
$final_rendered .= '
' . ''; if (isset($pages) AND (is_array($pages) OR $pages instanceof ArrayAccess)) { foreach ($pages AS $navelement) {$final_rendered .= '
' . '';
if ($pagenav['currentpage'] == $navelement) {
$final_rendered .= '
' . ''; $addClass = ' b-button--primary page js-pagenav-current-button'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $addClass = ' b-button--secondary'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($navelement == 1) {
$final_rendered .= '
' . ''; $addClass .= ' js-pagenav-first-button'; $final_rendered .= '' . '
' . '';
} else if ($navelement == $pagenav['totalpages']) {
$final_rendered .= '
' . ''; $addClass .= ' js-pagenav-last-button'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $routeArgs = ($pagenav['routeInfo']['arguments'] ?? null); $final_rendered .= '' . '
' . ''; $routeArgs['pagenum'] = vB5_Template_Runtime::vBVar(($navelement ?? null)); $final_rendered .= '' . '
' . ($navelement ?? null) . '
'; } }$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
template
' . '' . '
' . '';
if ($pagenav['currentpage'] != $pagenav['totalpages']) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('next') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('next') . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (!isset($position) OR !in_array($position, array('top', 'bottom'))) {
$final_rendered .= '
' . ''; $position = 'top'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $widgetConfig['url_default_filters'] ??= (array()); $final_rendered .= '' . '
' . '';
if (empty($resultsPerPage) AND (isset($widgetConfig['resultsPerPage']) OR isset($user['maxposts']))) {
$final_rendered .= '
' . '';
if (isset($user['maxposts']) AND $user['maxposts'] != -1) {
$final_rendered .= '
' . ''; $resultsPerPage = ($user['maxposts'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $resultsPerPage = ($widgetConfig['resultsPerPage'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $allowHistory ??= ('0'); $final_rendered .= '' . '
' . ''; $showGoToLastUnread ??= ('0'); $final_rendered .= '' . '
' . ''; $filter_menu_id = uniqid('filter-menu-'); $final_rendered .= '' . '
' . '';
if (!isset($nodeid)) {
$final_rendered .= ''; $nodeid = '0'; $final_rendered .= '' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!isset($vm_createpermissions)) {
$final_rendered .= ''; $vm_createpermissions = '0'; $final_rendered .= '' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $showArticleTitle = '0'; $final_rendered .= '' . '
' . '';
if (!empty($conversation) AND $conversation['channeltype'] == 'article' AND $conversation['nodeid'] == $conversation['starter']) {
$final_rendered .= '
' . ''; $articlePageTitle = vB5_Template_Runtime::parseAction('bbcode', 'fetchPageTitle', vB5_Template_Runtime::vBVar(($conversation['nodeid'] ?? null)), vB5_Template_Runtime::vBVar(($page['contentpagenum'] ?? null))); $final_rendered .= '' . '
' . '';
if ($conversation['startertitle'] != $articlePageTitle) {
$final_rendered .= '
' . ''; $showArticleTitle = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($showPageNav) OR !empty($showPageNavClient)) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('pagenav', ['pagenav' => ($pagingInfo ?? null), 'addHref' => '1', 'removeMargin' => '1']) . '
' . '';
}$final_rendered .= '';$final_rendered = '';
if (empty($filterFormAction)) {
$final_rendered .= '
' . ''; $filterFormAction = 'activity/get'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (!isset($position) OR !in_array($position, array('top', 'bottom'))) {
$final_rendered .= '
' . ''; $position = 'top'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $widgetConfig['url_default_filters'] ??= (array()); $final_rendered .= '' . '
' . '';
if (empty($resultsPerPage) AND (isset($widgetConfig['resultsPerPage']) OR isset($user['maxposts']))) {
$final_rendered .= '
' . '';
if (isset($user['maxposts']) AND $user['maxposts'] != -1) {
$final_rendered .= '
' . ''; $resultsPerPage = ($user['maxposts'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $resultsPerPage = ($widgetConfig['resultsPerPage'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $allowHistory ??= ('0'); $final_rendered .= '' . '
' . ''; $showGoToLastUnread ??= ('0'); $final_rendered .= '' . '
' . ''; $filter_menu_id = uniqid('filter-menu-'); $final_rendered .= '' . '
' . '';
if (!isset($nodeid)) {
$final_rendered .= ''; $nodeid = '0'; $final_rendered .= '' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!isset($vm_createpermissions)) {
$final_rendered .= ''; $vm_createpermissions = '0'; $final_rendered .= '' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $showArticleTitle = '0'; $final_rendered .= '' . '
' . '';
if (!empty($conversation) AND $conversation['channeltype'] == 'article' AND $conversation['nodeid'] == $conversation['starter']) {
$final_rendered .= '
' . ''; $articlePageTitle = vB5_Template_Runtime::parseAction('bbcode', 'fetchPageTitle', vB5_Template_Runtime::vBVar(($conversation['nodeid'] ?? null)), vB5_Template_Runtime::vBVar(($page['contentpagenum'] ?? null))); $final_rendered .= '' . '
' . '';
if ($conversation['startertitle'] != $articlePageTitle) {
$final_rendered .= '
' . ''; $showArticleTitle = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($showPageNav) OR !empty($showPageNavClient)) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('pagenav', ['pagenav' => ($pagingInfo ?? null), 'addHref' => '1', 'removeMargin' => '1']) . '
' . '';
}$final_rendered .= '';$final_rendered = '
' . '';
if (empty($pagenav)) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = '1'; $final_rendered .= '' . '
' . ''; $pagenav['totalpages'] = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $prevpage = ''; $final_rendered .= '' . '
' . ''; $prevdisabled = 'h-disabled'; $final_rendered .= '' . '
' . ''; $nextpage = ''; $final_rendered .= '' . '
' . ''; $nextdisabled = 'h-disabled'; $final_rendered .= '' . '
' . '';
if ($pagenav['currentpage'] > 1) {
$final_rendered .= '
' . ''; $pagenum = vB5_Template_Runtime::runMaths(vB5_Template_Runtime::vBVar(($pagenav['currentpage'] ?? null)) . '-1'); $final_rendered .= '' . '
' . ''; $prevpage = 'data-page="'; $final_rendered .= '' . '
' . ''; $prevpage .= ($pagenum ?? null) . '"'; $final_rendered .= '' . '
' . ''; $prevdisabled = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($pagenav['currentpage'] < $pagenav['totalpages']) {
$final_rendered .= '
' . ''; $pagenum = vB5_Template_Runtime::runMaths(vB5_Template_Runtime::vBVar(($pagenav['currentpage'] ?? null)) . '+1'); $final_rendered .= '' . '
' . ''; $nextpage = 'data-page="'; $final_rendered .= '' . '
' . ''; $nextpage .= ($pagenum ?? null) . '"'; $final_rendered .= '' . '
' . ''; $nextdisabled = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($filterFormAction)) {
$final_rendered .= '
' . ''; $filterFormAction = 'activity/get'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($pagenav)) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = '1'; $final_rendered .= '' . '
' . ''; $pagenav['totalpages'] = '1'; $final_rendered .= '' . '
' . '';
} else if (isset($pagenav['pagenumber'])) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = ($pagenav['pagenumber'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($pagenav['routeInfo']) AND !empty($pagenav['routeInfo']['routeId'])) {
$final_rendered .= '
' . ''; $hasRoute = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $hasRoute = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($addHref)) {
$final_rendered .= '
' . ''; $addHref = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $addHref = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($pagenav['totalpages'] > 1) {
$final_rendered .= '
' . ''; $pages = vB5_Template_Runtime::parseData('page', 'getPageNav', ($pagenav['currentpage'] ?? null), ($pagenav['totalpages'] ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($pagenav['currentpage'] != 1) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('previous') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('previous') . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($pages)) {
$final_rendered .= '
' . ''; if (isset($pages) AND (is_array($pages) OR $pages instanceof ArrayAccess)) { foreach ($pages AS $navelement) {$final_rendered .= '
' . '';
if ($pagenav['currentpage'] == $navelement) {
$final_rendered .= '
' . ''; $addClass = ' b-button--primary page js-pagenav-current-button'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $addClass = ' b-button--secondary'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($navelement == 1) {
$final_rendered .= '
' . ''; $addClass .= ' js-pagenav-first-button'; $final_rendered .= '' . '
' . '';
} else if ($navelement == $pagenav['totalpages']) {
$final_rendered .= '
' . ''; $addClass .= ' js-pagenav-last-button'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $routeArgs = ($pagenav['routeInfo']['arguments'] ?? null); $final_rendered .= '' . '
' . ''; $routeArgs['pagenum'] = vB5_Template_Runtime::vBVar(($navelement ?? null)); $final_rendered .= '' . '
' . ($navelement ?? null) . '
'; } }$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
template
' . '' . '
' . '';
if ($pagenav['currentpage'] != $pagenav['totalpages']) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('next') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('next') . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($pagenav)) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = '1'; $final_rendered .= '' . '
' . ''; $pagenav['totalpages'] = '1'; $final_rendered .= '' . '
' . '';
} else if (isset($pagenav['pagenumber'])) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = ($pagenav['pagenumber'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($pagenav['routeInfo']) AND !empty($pagenav['routeInfo']['routeId'])) {
$final_rendered .= '
' . ''; $hasRoute = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $hasRoute = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($addHref)) {
$final_rendered .= '
' . ''; $addHref = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $addHref = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($pagenav['totalpages'] > 1) {
$final_rendered .= '
' . ''; $pages = vB5_Template_Runtime::parseData('page', 'getPageNav', ($pagenav['currentpage'] ?? null), ($pagenav['totalpages'] ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($pagenav['currentpage'] != 1) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('previous') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('previous') . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($pages)) {
$final_rendered .= '
' . ''; if (isset($pages) AND (is_array($pages) OR $pages instanceof ArrayAccess)) { foreach ($pages AS $navelement) {$final_rendered .= '
' . '';
if ($pagenav['currentpage'] == $navelement) {
$final_rendered .= '
' . ''; $addClass = ' b-button--primary page js-pagenav-current-button'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $addClass = ' b-button--secondary'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($navelement == 1) {
$final_rendered .= '
' . ''; $addClass .= ' js-pagenav-first-button'; $final_rendered .= '' . '
' . '';
} else if ($navelement == $pagenav['totalpages']) {
$final_rendered .= '
' . ''; $addClass .= ' js-pagenav-last-button'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $routeArgs = ($pagenav['routeInfo']['arguments'] ?? null); $final_rendered .= '' . '
' . ''; $routeArgs['pagenum'] = vB5_Template_Runtime::vBVar(($navelement ?? null)); $final_rendered .= '' . '
' . ($navelement ?? null) . '
'; } }$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
template
' . '' . '
' . '';
if ($pagenav['currentpage'] != $pagenav['totalpages']) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('next') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('next') . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($pagenav)) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = '1'; $final_rendered .= '' . '
' . ''; $pagenav['totalpages'] = '1'; $final_rendered .= '' . '
' . '';
} else if (isset($pagenav['pagenumber'])) {
$final_rendered .= '
' . ''; $pagenav['currentpage'] = ($pagenav['pagenumber'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($pagenav['routeInfo']) AND !empty($pagenav['routeInfo']['routeId'])) {
$final_rendered .= '
' . ''; $hasRoute = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $hasRoute = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($addHref)) {
$final_rendered .= '
' . ''; $addHref = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $addHref = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($pagenav['totalpages'] > 1) {
$final_rendered .= '
' . ''; $pages = vB5_Template_Runtime::parseData('page', 'getPageNav', ($pagenav['currentpage'] ?? null), ($pagenav['totalpages'] ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($pagenav['currentpage'] != 1) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('previous') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('previous') . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!empty($pages)) {
$final_rendered .= '
' . ''; if (isset($pages) AND (is_array($pages) OR $pages instanceof ArrayAccess)) { foreach ($pages AS $navelement) {$final_rendered .= '
' . '';
if ($pagenav['currentpage'] == $navelement) {
$final_rendered .= '
' . ''; $addClass = ' b-button--primary page js-pagenav-current-button'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $addClass = ' b-button--secondary'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($navelement == 1) {
$final_rendered .= '
' . ''; $addClass .= ' js-pagenav-first-button'; $final_rendered .= '' . '
' . '';
} else if ($navelement == $pagenav['totalpages']) {
$final_rendered .= '
' . ''; $addClass .= ' js-pagenav-last-button'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $routeArgs = ($pagenav['routeInfo']['arguments'] ?? null); $final_rendered .= '' . '
' . ''; $routeArgs['pagenum'] = vB5_Template_Runtime::vBVar(($navelement ?? null)); $final_rendered .= '' . '
' . ($navelement ?? null) . '
'; } }$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
template
' . '' . '
' . '';
if ($pagenav['currentpage'] != $pagenav['totalpages']) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('next') . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('next') . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (!empty($topics) AND empty($topics['errors'])) {
$final_rendered .= '
' . '';
if (empty($no_header)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('topic') . '
' . vB5_Template_Runtime::parsePhrase('statistics') . '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
}$final_rendered .= '' . '
' . ''; $topics = vB5_Template_Runtime::parseData('node', 'mergeNodeviewsForTopics', ($topics ?? null)); $final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0) {
$final_rendered .= '
' . ''; $topics = vB5_Template_Runtime::parseData('node', 'mergePostedStatusForTopics', ($topics ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $seenRegular = '0'; $final_rendered .= '' . '
' . ''; if (isset($topics) AND (is_array($topics) OR $topics instanceof ArrayAccess)) { $topicIndex = 0; foreach ($topics AS $topic) {$final_rendered .= '
' . vB5_Template_Runtime::hook('topic_before_item', get_defined_vars()) . '
' . vB5_Template_Runtime::includeTemplate('display_Topics_item', ['topic' => ($topic ?? null), 'canmoderate' => ($canmoderate ?? null), 'no_header' => ($no_header ?? null), 'firstNonStickyThread' => (($topic['sticky'] == false AND $seenRegular == 0) ? '1' : '0') , 'showChannelInfo' => ($showChannelInfo ?? null)]) . '
' . ''; $seenRegular = (($topic['sticky'] == false) ? '1' : '0') ; $final_rendered .= '' . '
'; $topicIndex++; } }$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = '';
if (!empty($topics) AND empty($topics['errors'])) {
$final_rendered .= '
' . '';
if (empty($no_header)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('topic') . '
' . vB5_Template_Runtime::parsePhrase('statistics') . '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
}$final_rendered .= '' . '
' . ''; $topics = vB5_Template_Runtime::parseData('node', 'mergeNodeviewsForTopics', ($topics ?? null)); $final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0) {
$final_rendered .= '
' . ''; $topics = vB5_Template_Runtime::parseData('node', 'mergePostedStatusForTopics', ($topics ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $seenRegular = '0'; $final_rendered .= '' . '
' . ''; if (isset($topics) AND (is_array($topics) OR $topics instanceof ArrayAccess)) { $topicIndex = 0; foreach ($topics AS $topic) {$final_rendered .= '
' . vB5_Template_Runtime::hook('topic_before_item', get_defined_vars()) . '
' . vB5_Template_Runtime::includeTemplate('display_Topics_item', ['topic' => ($topic ?? null), 'canmoderate' => ($canmoderate ?? null), 'no_header' => ($no_header ?? null), 'firstNonStickyThread' => (($topic['sticky'] == false AND $seenRegular == 0) ? '1' : '0') , 'showChannelInfo' => ($showChannelInfo ?? null)]) . '
' . ''; $seenRegular = (($topic['sticky'] == false) ? '1' : '0') ; $final_rendered .= '' . '
'; $topicIndex++; } }$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = ''; $channelid = ($topic['parentid'] ?? null); $final_rendered .= '' . '
' . ''; $attachcount = ($topic['attachcount'] ?? null); $final_rendered .= '' . '
' . '' . '
' . ''; $topic['readtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $topic['parentreadtime'] ??= ('0'); $final_rendered .= '' . '
' . ''; $cutoff = vB5_Template_Runtime::runMaths('(' . ($timenow ?? null) . '-(' . ($vboptions['markinglimit'] ?? null) . '*86400))'); $final_rendered .= '' . '
' . ''; $readtime = max($topic['readtime'], $cutoff, $topic['parentreadtime']); $final_rendered .= '' . '
' . ''; $topic = ($topic['content'] ?? null); $final_rendered .= '' . '
' . ''; $topicStatus = ''; $final_rendered .= '' . '
' . ''; $topicPrefix = ''; $final_rendered .= '' . '
' . ''; $iconTooltip = ''; $final_rendered .= '' . '
' . ''; $enableInlineMod = '0'; $final_rendered .= '' . '
' . ''; $showNode = '1'; $final_rendered .= '' . '
' . '';
if (!empty($canmoderate) AND !empty($topic['permissions']) AND $topic['permissions']['canmoderate']) {
$final_rendered .= '
' . ''; $enableInlineMod = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastcontent']) {
$final_rendered .= '
' . ''; $lastcontent = ($topic['lastcontent'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $lastcontent = ($topic['created'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $hasUnpublishedPosts = '0'; $final_rendered .= '' . '
' . '';
if ($topic['approved'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' unapproved'; $final_rendered .= '' . '
' . ''; $phrase_unapproved = vB5_Template_Runtime::parsePhrase('unapproved'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_unapproved ?? null); $final_rendered .= '' . '
' . '';
} else if ($enableInlineMod AND ($topic['totalunpubcount'] > 0) AND !empty($topic['showUnpublishedNotice'])) {
$final_rendered .= '
' . ''; $hasUnpublishedPosts = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' has-unpublished'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['featured']) {
$final_rendered .= '
' . ''; $topicStatus .= ' featured'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '' . '
' . ''; $topicStatus .= ' highlight-featured'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('featured'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' deleted'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_deleted = vB5_Template_Runtime::parsePhrase('deleted'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_deleted ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_deleted'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['showopen'] == 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' closed'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_closed = vB5_Template_Runtime::parsePhrase('closed'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_closed ?? null); $final_rendered .= '' . '
' . ''; $iconTooltip = vB5_Template_Runtime::parsePhrase('this_topic_is_closed'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['sticky']) {
$final_rendered .= '
' . ''; $topicStatus .= ' sticky'; $final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_sticky_node = vB5_Template_Runtime::parsePhrase('sticky_node'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_sticky_node ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($topic['tonodeid']) AND $topic['tonodeid'] > 0) {
$final_rendered .= '
' . ''; $isRedirect = '1'; $final_rendered .= '' . '
' . ''; $topicStatus .= ' redirect'; $final_rendered .= '' . '
' . '';
if ($topic['unpublishdate'] > 0) {
$final_rendered .= '
' . ''; $topicStatus .= ' expiring-redirect'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $phrase_redirect = vB5_Template_Runtime::parsePhrase('redirect'); $final_rendered .= '' . '
' . ''; $topicPrefix .= ($phrase_redirect ?? null); $final_rendered .= '' . '
' . ''; $redirectTopic = ($topic['toNode'] ?? null); $final_rendered .= '' . '
' . '';
if (empty($redirectTopic) OR !empty($redirectTopic['errors'])) {
$final_rendered .= '
' . ''; $showNode = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isRedirect = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . ''; $topicStatus .= ' answered'; $final_rendered .= '' . '
' . '';
if ($user['is_admin'] OR $user['is_supermod'] OR $user['is_moderator']) {
$final_rendered .= '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicPrefix .= ', '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicPrefix .= vB5_Template_Runtime::parsePhrase('answered'); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect OR (!empty($readtime) AND $readtime >= $lastcontent)) {
$final_rendered .= '
' . ''; $topicStatus .= ' read'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $topicStatus .= ' unread'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ''; $topicStatus .= ' hasprefix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
'; $final_rendered .= '';
if (empty($topic['title'])) {
$final_rendered .= '
' . ''; $topic['title'] = ($topic['startertitle'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['showdots'] AND $user['userid'] > 0 AND $topic['dot_postcount'] > 0 AND !$isRedirect) {
$final_rendered .= '
' . ''; $topicStatus .= ' posted'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('have_x_posts_in_topic_last_y_z', htmlspecialchars(vB5_Template_Runtime::vBVar(($topic['dot_postcount'] ?? null))), htmlspecialchars(vB5_Template_Runtime::date(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null)))), htmlspecialchars(vB5_Template_Runtime::time(vB5_Template_Runtime::vBVar(($topic['dot_lastpostdate'] ?? null))))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $topicurl = ((!empty($topic['topicurl'])) ? vB5_Template_Runtime::vBVar(($topic['topicurl'] ?? null)) : vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null)))) ; $final_rendered .= '' . '
' . '' . '
' . ''; $extraClasses ??= (''); $final_rendered .= '' . '
' . '';
if (!empty($firstNonStickyThread)) {
$final_rendered .= vB5_Template_Runtime::hook('topics_after_sticky', get_defined_vars()) . '';
}$final_rendered .= '' . '
' . '';
if ($showNode) {
$final_rendered .= '
0) ? ' im-attach' : "") . ' js-topic-item ' . vB5_Template_Runtime::vBVar(($extraClasses ?? null)) . '"
data-lastcontent="' . ($lastcontent ?? null) . '"
data-node-id="' . ($topic['nodeid'] ?? null) . '"
data-channel-id="' . ($channelid ?? null) . '"
data-can-edit-title="' . vB5_Template_Runtime::vBVar(($topic['canedittitle'] ?? null)) . '">
' . '' . '
' . '';
if ($user['userid'] > 0 AND !empty($readtime) AND $readtime < $lastcontent AND !$isRedirect) {
$final_rendered .= '
' . ''; $newpostAvailable = '1'; $final_rendered .= '' . '
' . '';
if ($iconTooltip != '') {
$final_rendered .= '
' . ''; $iconTooltip .= ' '; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $iconTooltip .= vB5_Template_Runtime::parsePhrase('new_posts'); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $newpostAvailable = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($vboptions['avatarintopiclist']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null), 'title' => ($iconTooltip ?? null)]) . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if (!empty($newpostAvailable)) {
$final_rendered .= '
' . ''; $querystring['goto'] = 'newpost'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topicPrefix)) {
$final_rendered .= '
' . ($topicPrefix ?? null) . ': ' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['iconpath']) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['prefixid']) {
$final_rendered .= '
' . ''; $searchStr = '{"prefix":["'; $final_rendered .= '' . '
' . ''; $searchStr .= vB5_Template_Runtime::vBVar(($topic['prefixid'] ?? null)) . '"]}'; $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase(($topic['prefix_rich'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!$topic['showpublished'] AND !$enableInlineMod) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
} else {
$final_rendered .= '
' . ($topic['title'] ?? null) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $guestname = ((!empty($topic['authorname'])) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ((!empty($topic['userid'])) ? vB5_Template_Runtime::parsePhrase('started_by_link_x_y', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) : vB5_Template_Runtime::parsePhrase('started_by_x', ($guestname ?? null))) . ((isset($topic['created'])) ? vB5_Template_Runtime::parsePhrase('on_date_x', vB5_Template_Runtime::datetime(($topic['created'] ?? null))) : "") . '
' . '';
if (!empty($showChannelInfo)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('in_x_channel', vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['channelroute'] ?? null))), ($topic['channeltitle'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $iconCommonCss = 'b-icon-fa b-icon-fa--24'; $final_rendered .= '' . '
' . vB5_Template_Runtime::hook('topic_item_icon_start', get_defined_vars()) . '
' . '';
if (!empty($topic['hasanswer'])) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($attachcount > 0) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod AND $hasUnpublishedPosts) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if ($isRedirect AND $topic['unpublishdate'] > 0) {
$final_rendered .= '
' . '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND ($topic['approved'] == 0 OR $topic['showpublished'] == 0)) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('manage') . '
' . '';
} else if ($isRedirect OR !$topic['showpublished'] OR !(isset($topic['totalcount_1']) OR isset($topic['views']) OR isset($topic['votes']))) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $responseCount = vB5_Template_Runtime::runMaths(($topic['totalcount_1'] ?? null) . '-1'); $final_rendered .= '' . '
' . '';
if ($responseCount == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('1_response_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('x_responses_lower', vB5_Template_Runtime::numberFormat(($responseCount ?? null))) . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['views'] ?? null)) . ' ' . '';
if ($topic['views'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('view_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('views_lower') . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::numberFormat(($topic['votes'] ?? null)) . ' ' . '';
if ($topic['votes'] == 1) {
$final_rendered .= vB5_Template_Runtime::parsePhrase('like_lower') . '';
} else {
$final_rendered .= vB5_Template_Runtime::parsePhrase('likes_lower') . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if ($enableInlineMod AND $topic['approved'] == 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('post_needs_to_be_approved') . '
' . '';
} else if ($topic['showpublished'] == 0) {
$final_rendered .= '
' . '';
if (!empty($topic['deleteuserid']) AND !empty($topic['deletedisplayname'])) {
$final_rendered .= '
' . ''; $deleteUserInfo['userid'] = vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteUserInfo['username'] = vB5_Template_Runtime::vBVar(($topic['deleteusername'] ?? null)); $final_rendered .= '' . '
' . ''; $deleteuserlink = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($deleteUserInfo ?? null))); $final_rendered .= '' . '
' . ''; $deletedisplayname = ($topic['deletedisplayname'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $deletedisplayname = vB5_Template_Runtime::parsePhrase('unknown'); $final_rendered .= '' . '
' . ''; $deleteuserlink = '#'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::parsePhrase('topic_deleted_by_x_link', ($deleteuserlink ?? null), vB5_Template_Runtime::vBVar(($deletedisplayname ?? null)), vB5_Template_Runtime::vBVar(($topic['deleteuserid'] ?? null))) . '
' . '';
if (!empty($topic['deletereason'])) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('reason') . ': ' . vB5_Template_Runtime::vBVar(($topic['deletereason'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else if ($isRedirect) {
$final_rendered .= '
—
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('last_post') . '
' . '';
if (!empty($topic['lastcontenturl'])) {
$final_rendered .= '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(($topic['lastcontenturl'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $qs['p'] = ($topic['lastcontentid'] ?? null); $final_rendered .= '' . '
' . ''; $gotoLastPostUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl(($topic['routeid'] ?? null), ($topic ?? null), ($qs ?? null))); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (($topic['lastcontentid'] > 0) AND ($topic['lastcontentid'] != $topic['starter'])) {
$final_rendered .= '
' . '' . '
' . ''; $data['userid'] = ($topic['lastauthorid'] ?? null); $final_rendered .= '' . '
' . ''; $data['authorname'] = ($topic['lastcontentauthor'] ?? null); $final_rendered .= '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($data ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($data ?? null), 'avatar' => ($topic['avatar_last_poster'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['lastauthorid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ((!empty($topic['lastcontentmusername'])) ? ($topic['lastcontentmusername'] ?? null) : ($topic['lastcontentauthor'] ?? null)) , vB5_Template_Runtime::vBVar(($topic['lastauthorid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['lastcontentauthor']) ? ($topic['lastcontentauthor'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['lastcontent'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['lastcontent'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '' . '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($topic ?? null))); $final_rendered .= '' . '
' . '';
if ($user['showavatars']) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('avatar', ['avataruser' => ($topic ?? null), 'avatar' => ($topic['avatar'] ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($topic['userid'] > 0) {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x', vB5_Template_Runtime::vBVar(($profileUrl ?? null)), ($topic['musername'] ?? null), vB5_Template_Runtime::vBVar(($topic['userid'] ?? null))) . '
' . '';
} else {
$final_rendered .= '
' . vB5_Template_Runtime::parsePhrase('by_x_nolink', (($topic['authorname']) ? ($topic['authorname'] ?? null) : vB5_Template_Runtime::parsePhrase('guest')) ) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($topic['created'])) {
$final_rendered .= '
' . vB5_Template_Runtime::datetime(($topic['created'] ?? null)) . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($enableInlineMod) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '' . '
' . ''; $avataruser['username'] = ((empty($avataruser['username']) AND !empty($avataruser['authorname']) ) ? ($avataruser['authorname'] ?? null) : ($avataruser['username'] ?? null)) ; $final_rendered .= '' . '
' . ''; $avatarsize = ((!empty($avatarsize) AND in_array($avatarsize, ['xx-large', 'x-large', 'large', 'medium', 'small', 'x-small', 'xx-small'])) ? ($avatarsize ?? null) : "") ; $final_rendered .= '' . '
' . ''; $avatarTitle = ((!empty($title)) ? ($title ?? null) : ((!empty($avataruser['username'])) ? ($avataruser['username'] ?? null) : "") ) ; $final_rendered .= '' . '
' . ''; $extraCssClasses ??= ('h-margin-right-xs'); $final_rendered .= '' . '
' . ''; $floatClass ??= ('h-left'); $final_rendered .= '' . '
' . '' . '
' . '' . '
' . '';
if ($avatarsize == 'xx-large' OR $avatarsize == 'x-large' OR $avatarsize == 'large') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_large.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '200'; $final_rendered .= '' . '
' . ''; $defaultHeight = '200'; $final_rendered .= '' . '
' . '' . '
' . '';
} else if ($avatarsize == 'medium' OR $avatarsize == 'small') {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_medium.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '64'; $final_rendered .= '' . '
' . ''; $defaultHeight = '64'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $defaultAvatarUrl = 'images/default/default_avatar_thumb.png'; $final_rendered .= '' . '
' . ''; $defaultWidth = '32'; $final_rendered .= '' . '
' . ''; $defaultHeight = '32'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . ''; $namecardhook = ((!empty($namecard)) ? ' data-vbnamecard="' . vB5_Template_Runtime::vBVar(($avataruser['userid'] ?? null)) . '"' : "") ; $final_rendered .= '' . '
' . ''; $avatarUrl = ((empty($avatar['isfullurl'])) ? ($baseurl_corecdn ?? null) : "") . ((!empty($avatar['avatarpath'])) ? ($avatar['avatarpath'] ?? null) : ($defaultAvatarUrl ?? null)) ; $final_rendered .= '' . '
' . '';
if (!empty($avataruser['userid'])) {
$final_rendered .= '
' . ''; $profileUrl = vB5_Template_Runtime::vBVar(vB5_Template_Runtime::buildUrl('profile', ($avataruser ?? null))); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . '';
}$final_rendered .= '';$final_rendered = '';
if (isset($userInfo) AND isset($userInfo['userid']) AND intval($userInfo['userid'])) {
$final_rendered .= '
' . ''; $mediaFilter['userId'] = ($userInfo['userid'] ?? null); $final_rendered .= '' . '
' . '';
} else if (isset($userid) AND intval($userid)) {
$final_rendered .= '
' . ''; $mediaFilter['userId'] = ($userid ?? null); $final_rendered .= '' . '
' . '';
} else if (isset($channelid) AND intval($channelid)) {
$final_rendered .= '
' . ''; $mediaFilter['channelId'] = ($channelid ?? null); $final_rendered .= '' . '
' . '';
} else if (isset($page['userid']) AND intval($page['userid'])) {
$final_rendered .= '
' . ''; $mediaFilter['userId'] = ($page['userid'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $filter_menu_id = uniqid('filter-menu-'); $final_rendered .= '' . '
' . '';
if (!isset($doNoFetchData) OR !$doNoFetchData) {
$final_rendered .= '
' . '';
if (!intval($pageno ?? null)) {
$final_rendered .= '
' . '';
if (intval($page['mediaPage'] ?? 0)) {
$final_rendered .= '
' . ''; $pageno = ($page['mediaPage'] ?? null); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $pageno = '1'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (empty($perpage) OR !intval($perpage)) {
$final_rendered .= '
' . ''; $perpage = '15'; $final_rendered .= '' . ' ' . '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $galleries = vB5_Template_Runtime::parseData('profile', 'fetchMedia', ($mediaFilter ?? null), ($pageno ?? null), ($perpage ?? null)); $final_rendered .= '' . '
' . ''; $pagenav = ($galleries['paging'] ?? null); $final_rendered .= '' . '
' . ''; $gallery = ($galleries['nodes'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!isset($allowHistory)) {
$final_rendered .= '
' . ''; $allowHistory = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($galleries['cancreatePhoto']) OR !empty($galleries['cancreateVideo'])) {
$final_rendered .= '
' . ''; $mediaChannel = vB5_Template_Runtime::parseData('node', 'fetchAlbumChannel'); $final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('contententry', ['page' => ($page ?? null), 'channelInfo' => ($channelInfo ?? null), 'parentid' => ($mediaChannel ?? null), 'routeid' => ($channelInfo['routeid'] ?? null), 'allowTypeText' => '0', 'allowTypePhoto' => '1', 'allowTypeVideo' => '1', 'defaultContentType' => 'Gallery', 'showToggleEditor' => '1', 'showSmiley' => '1', 'uploadFrom' => ($uploadFrom ?? null), 'showCancel' => '1', 'noJavascriptInclude' => ($noJavascriptInclude ?? null), 'showViewPerms' => '1']) . '
' . '';
}$final_rendered .= '' . '
' . '';
if (isset($nodeid)) {
$final_rendered .= '
' . ''; $mediaFilter['nodeid'] = ($nodeid ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $dataProperties = ''; $final_rendered .= '' . '
' . ''; if (isset($mediaFilter) AND (is_array($mediaFilter) OR $mediaFilter instanceof ArrayAccess)) { foreach ($mediaFilter AS $key => $filter) {$final_rendered .= '
' . ''; $dataProperties .= ' data-'; $final_rendered .= '' . '
' . ''; $dataProperties .= ($key ?? null); $final_rendered .= '' . '
' . ''; $dataProperties .= '="'; $final_rendered .= '' . '
' . ''; $dataProperties .= vB5_Template_Runtime::vBVar(($filter ?? null)); $final_rendered .= '' . '
' . ''; $dataProperties .= '"'; $final_rendered .= '' . '
'; } }$final_rendered .= '' . '
' . '';
if (!isset($source) OR !in_array($source, array('forum', 'socialGroup'))) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($loadPhotoDetails)) {
$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate('profile_textphotodetail', ['nodeid' => '-2', 'channelid' => ($channelid ?? null), 'pageno' => '1', 'perpage' => '35', 'dateFilter' => ($filterValue ?? null)]) . '
' . '';
}$final_rendered .= '' . '
' . '
';$final_rendered = '';
if (empty($widgetConfig) AND !empty($widgetinstanceid)) {
$final_rendered .= '
' . ''; $widgetConfig = vB5_Template_Runtime::parseData('widget', 'fetchConfig', ($widgetinstanceid ?? null)); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($widgetConfig)) {
$final_rendered .= '
' . ''; $widgetid = ($widgetConfig['widgetid'] ?? null); $final_rendered .= '' . '
' . ''; $widgetinstanceid = ($widgetConfig['widgetinstanceid'] ?? null); $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
';$final_rendered = '';
if (empty($widgetConfig['hide_title'])) {
$final_rendered .= '
' . '';
if (!empty($show_title_divider)) {
$final_rendered .= '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '';$final_rendered = '
' . ''; if (!is_member_of($user, array(6,5,11))) {
$final_rendered .= '' . '
' . '' . ''; if ($adsshown[] = 5) {
$final_rendered .= '';
} else {
$final_rendered .= '';
}$final_rendered .= '' . '';
} else {
$final_rendered .= '';
}$final_rendered .= '' . '
';$final_rendered = '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . ''; $rowClasses = 'has-columns'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowClasses = 'no-columns h-clearfix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($info['rowFixed'])) {
$final_rendered .= '
' . ''; $rowFixedClass = ' l-row__fixed--'; $final_rendered .= '' . '
' . ''; $rowFixedClass .= vB5_Template_Runtime::vBVar(($info['rowFixed'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowFixedClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $loop = array(); $final_rendered .= '' . '
' . ''; $loop['iteration'] = '0'; $final_rendered .= '' . '
' . ''; if (isset($sections) AND (is_array($sections) OR $sections instanceof ArrayAccess)) { foreach ($sections AS $section) {$final_rendered .= '
' . ''; $loop['iteration'] = vB5_Template_Runtime::runMaths(($loop['iteration'] ?? null) . '+1'); $final_rendered .= '' . '
' . ''; $loop['first'] = (($loop["iteration"] == 1) ? '1' : '0') ; $final_rendered .= '' . '
' . ''; $loop['last'] = (($loop["iteration"] == $info["sectionCount"]) ? '1' : '0') ; $final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('screenlayout_section_display', ['section' => ($section ?? null), 'info' => ($info ?? null), 'loop' => ($loop ?? null)]) . '
'; } }$final_rendered .= '' . '
';$final_rendered = '';
if (!empty($section['layoutcolumnflex'])) {
$final_rendered .= '
' . ''; $isFlexColumn = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isFlexColumn = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $flexClass = ''; $final_rendered .= '' . '
' . '';
if ($info['hasFlex']) {
$final_rendered .= '
' . '';
if ($isFlexColumn) {
$final_rendered .= '
' . ''; $colClassBit = 'flex-'; $final_rendered .= '' . '
' . '';
if ($info['flexFirst']) {
$final_rendered .= '
' . ''; $flexClass = ' l-col--flex-first'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'fixed-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'large-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '';
if (!empty($section['isFirstDisplaySection'])) {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-right-col'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-left-col h-padding-left-16'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($section['layoutcolumnmove'])) {
$final_rendered .= '
' . ''; $columnMoveClass = ' l-col__large--move-'; $final_rendered .= '' . '
' . ''; $columnMoveClass .= vB5_Template_Runtime::vBVar(($section['layoutcolumnmove'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $columnMoveClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $sectionTypeClass = ''; $final_rendered .= '' . '
' . ''; if (isset($section['sectiontypes']) AND (is_array($section['sectiontypes']) OR $section['sectiontypes'] instanceof ArrayAccess)) { foreach ($section['sectiontypes'] AS $sectionType) {$final_rendered .= '
' . ''; $sectionTypeClass .= ' js-sectiontype-'; $final_rendered .= '' . '
' . ''; $sectionTypeClass .= vB5_Template_Runtime::vBVar(($sectionType ?? null)); $final_rendered .= '' . '
'; } }$final_rendered .= '' . '
' . '' . '
' . ''; $wideNarrowClass = ' l-wide-column'; $final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '' . '
' . '';
if ($info['hasFlex'] AND !$isFlexColumn) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!$info['hasFlex'] AND !$section['layoutcolumnlarge'] <= 4) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::hook(vB5_Template_Runtime::vBVar(($section['hookname'] ?? null)), get_defined_vars()) . '
';$final_rendered = ''; if (isset($widgets) AND (is_array($widgets) OR $widgets instanceof ArrayAccess)) { foreach ($widgets AS $widget) {$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate(($widget['template'] ?? null), ['widgetid' => ($widget['widgetid'] ?? null), 'widgetinstanceid' => ($widget['widgetinstanceid'] ?? null), 'widgettitle' => ($widget['title'] ?? null), 'page' => ($page ?? null), 'isWidget' => '1', 'subModules' => ($widget['subModules'] ?? null), 'product' => ($widget['product'] ?? null)]) . '
'; } }$final_rendered .= '';$final_rendered = '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . ''; $rowClasses = 'has-columns'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowClasses = 'no-columns h-clearfix'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($info['rowFixed'])) {
$final_rendered .= '
' . ''; $rowFixedClass = ' l-row__fixed--'; $final_rendered .= '' . '
' . ''; $rowFixedClass .= vB5_Template_Runtime::vBVar(($info['rowFixed'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $rowFixedClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $loop = array(); $final_rendered .= '' . '
' . ''; $loop['iteration'] = '0'; $final_rendered .= '' . '
' . ''; if (isset($sections) AND (is_array($sections) OR $sections instanceof ArrayAccess)) { foreach ($sections AS $section) {$final_rendered .= '
' . ''; $loop['iteration'] = vB5_Template_Runtime::runMaths(($loop['iteration'] ?? null) . '+1'); $final_rendered .= '' . '
' . ''; $loop['first'] = (($loop["iteration"] == 1) ? '1' : '0') ; $final_rendered .= '' . '
' . ''; $loop['last'] = (($loop["iteration"] == $info["sectionCount"]) ? '1' : '0') ; $final_rendered .= '' . '
' . vB5_Template_Runtime::includeTemplate('screenlayout_section_display', ['section' => ($section ?? null), 'info' => ($info ?? null), 'loop' => ($loop ?? null)]) . '
'; } }$final_rendered .= '' . '
';$final_rendered = '';
if (!empty($section['layoutcolumnflex'])) {
$final_rendered .= '
' . ''; $isFlexColumn = '1'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $isFlexColumn = '0'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $flexClass = ''; $final_rendered .= '' . '
' . '';
if ($info['hasFlex']) {
$final_rendered .= '
' . '';
if ($isFlexColumn) {
$final_rendered .= '
' . ''; $colClassBit = 'flex-'; $final_rendered .= '' . '
' . '';
if ($info['flexFirst']) {
$final_rendered .= '
' . ''; $flexClass = ' l-col--flex-first'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'fixed-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $colClassBit = 'large-'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '';
if (!empty($section['isFirstDisplaySection'])) {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-right-col'; $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ' has-adjacent-left-col h-padding-left-16'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $adjacentClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
if (!empty($section['layoutcolumnmove'])) {
$final_rendered .= '
' . ''; $columnMoveClass = ' l-col__large--move-'; $final_rendered .= '' . '
' . ''; $columnMoveClass .= vB5_Template_Runtime::vBVar(($section['layoutcolumnmove'] ?? null)); $final_rendered .= '' . '
' . '';
} else {
$final_rendered .= '
' . ''; $columnMoveClass = ''; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . ''; $sectionTypeClass = ''; $final_rendered .= '' . '
' . ''; if (isset($section['sectiontypes']) AND (is_array($section['sectiontypes']) OR $section['sectiontypes'] instanceof ArrayAccess)) { foreach ($section['sectiontypes'] AS $sectionType) {$final_rendered .= '
' . ''; $sectionTypeClass .= ' js-sectiontype-'; $final_rendered .= '' . '
' . ''; $sectionTypeClass .= vB5_Template_Runtime::vBVar(($sectionType ?? null)); $final_rendered .= '' . '
'; } }$final_rendered .= '' . '
' . '' . '
' . ''; $wideNarrowClass = ' l-wide-column'; $final_rendered .= '' . '
' . '';
if ($info['sectionCount'] > 1) {
$final_rendered .= '
' . '' . '
' . '';
if ($info['hasFlex'] AND !$isFlexColumn) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '' . '
' . '';
if (!$info['hasFlex'] AND !$section['layoutcolumnlarge'] <= 4) {
$final_rendered .= '
' . ''; $wideNarrowClass = ' l-narrow-column'; $final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . '';
}$final_rendered .= '' . '
' . vB5_Template_Runtime::hook(vB5_Template_Runtime::vBVar(($section['hookname'] ?? null)), get_defined_vars()) . '
';$final_rendered = ''; if (isset($widgets) AND (is_array($widgets) OR $widgets instanceof ArrayAccess)) { foreach ($widgets AS $widget) {$final_rendered .= '
' . vB5_Template_Runtime::includeTemplate(($widget['template'] ?? null), ['widgetid' => ($widget['widgetid'] ?? null), 'widgetinstanceid' => ($widget['widgetinstanceid'] ?? null), 'widgettitle' => ($widget['title'] ?? null), 'page' => ($page ?? null), 'isWidget' => '1', 'subModules' => ($widget['subModules'] ?? null), 'product' => ($widget['product'] ?? null)]) . '
'; } }$final_rendered .= '';$final_rendered = '