/** * Helper to fetch the HTML value of a custom user field * * @param array|string $field Either the field info array for a field, or just its field_id * @param array $user User to whom the field belongs * @param mixed $fieldValue Value of the field for $user * * @return string|boolean */ public static function helperUserFieldValue($field, array $user = array(), $fieldValue = null) { if (empty($user['user_id'])) { return false; } if (!is_array($field)) { if (empty(self::$_userFieldsInfo)) { self::$_userFieldsInfo = XenForo_Application::get('userFieldsInfo'); } if (!isset(self::$_userFieldsInfo[$field])) { return false; } $field = self::$_userFieldsInfo[$field]; } $fieldId = $field['field_id']; if (isset(self::$_userFieldsValues[$user['user_id']][$fieldId])) { return self::$_userFieldsValues[$user['user_id']][$fieldId]; } if (is_null($fieldValue)) { $fieldValue = $field['field_value']; } $value = XenForo_ViewPublic_Helper_User::getUserFieldValueHtml($field, $fieldValue); if (is_array($value)) { $value = implode(', ', $value); } self::$_userFieldsValues[$user['user_id']][$fieldId] = $value; return $value; }