예제 #1
0
 /**
  * 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;
 }