Пример #1
0
 /**
  * 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;
     }
 }