/** * Legacy Field Strings: * CBTxt::T( '_UE_FORUM_FORUMRANKING', 'Forum Ranking' ); * CBTxt::T( '_UE_FORUM_TOTALPOSTS', 'Total Posts' ); * CBTxt::T( '_UE_FORUM_KARMA', 'Karma' ); * * Accessor: * Returns a field in specified format * * @param FieldTable $field * @param UserTable $user * @param string $output 'html', 'xml', 'json', 'php', 'csvheader', 'csv', 'rss', 'fieldslist', 'htmledit' * @param string $reason 'profile' for user profile view, 'edit' for profile edit, 'register' for registration, 'list' for user-lists * @param int $list_compare_types IF reason == 'search' : 0 : simple 'is' search, 1 : advanced search with modes, 2 : simple 'any' search * @return mixed */ public function getField(&$field, &$user, $output, $reason, $list_compare_types) { if (!cbforumsClass::getModel()->file) { return null; } $forumStatus = $field->params->get('forumStatus', 'posts'); switch ($forumStatus) { case 'karma': $value = cbforumsModel::getUserKarma($user); break; case 'rank': $rankTitle = $field->params->get('forumRankTitle', 1); $rankImage = $field->params->get('forumRankImage', 1); $value = cbforumsModel::getUserRank($user, $rankTitle, $rankImage); break; case 'thankyou': $value = cbforumsModel::getUserThankYous($user); break; default: $value = cbforumsModel::getUserPosts($user); break; } switch ($output) { case 'html': case 'rss': return $this->formatFieldValueLayout($value, $reason, $field, $user); break; case 'htmledit': return null; break; default: return $this->_formatFieldOutput($field->get('name'), $value, $output, false); break; } }