/**
  * Accessor:
  * Returns a field in specified format
  *
  * @param  moscomprofilerFields  $field
  * @param  moscomprofilerUser    $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, 'search' for searches
  * @param  int                   $list_compare_types   IF reason == 'search' : 0 : simple 'is' search, 1 : advanced search with modes, 2 : simple 'any' search
  * @return mixed
  */
 function getField(&$field, &$user, $output, $reason, $list_compare_types)
 {
     $valuesArray = array();
     foreach ($field->getTableColumns() as $col) {
         $valuesArray[] = $user->get($col);
     }
     $value = implode(', ', $valuesArray);
     switch ($output) {
         case 'html':
         case 'rss':
             return $this->_formatFieldOutput($field->name, $value, $output, true);
         case 'htmledit':
             if ($reason == 'search') {
                 return $this->_fieldSearchModeHtml($field, $user, $this->_fieldEditToHtml($field, $user, $reason, 'input', $field->type, $value, ''), 'text', $list_compare_types);
             } else {
                 return $this->_fieldEditToHtml($field, $user, $reason, 'input', $field->type, $value, '');
             }
             break;
         default:
             return $this->_formatFieldOutput($field->name, $value, $output, false);
             break;
     }
 }
Пример #2
0
 /**
  * Returns a field in specified format
  *
  * @param  moscomprofilerFields  $field
  * @param  moscomprofilerUser    $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                
  */
 function getField(&$field, &$user, $output, $reason, $list_compare_types)
 {
     $oReturn = '';
     if (is_object($user)) {
         $values = array();
         foreach ($field->getTableColumns() as $col) {
             $values[] = (int) $user->{$col};
         }
         $value = implode(', ', $values);
         switch ($output) {
             case 'html':
             case 'rss':
                 $oReturn = $value;
                 break;
             case 'htmledit':
                 $oReturn = null;
                 if ($reason == 'search') {
                     $minNam = $field->name . '__minval';
                     $maxNam = $field->name . '__maxval';
                     $minVal = $user->get($minNam);
                     $maxVal = $user->get($maxNam);
                     if ($maxVal === null) {
                         $maxVal = 99999;
                     }
                     $choices = array();
                     for ($i = 0; $i <= 10000; $i < 5 ? $i += 1 : ($i < 30 ? $i += 5 : ($i < 100 ? $i += 10 : ($i < 1000 ? $i += 100 : ($i += 1000))))) {
                         $choices[] = moscomprofilerHTML::makeOption($i, $i);
                     }
                     $additional = ' class="inputbox"';
                     $html = '<div>' . '<span class="cbSearchFromTo cbSearchFrom">' . _UE_SEARCH_FROM . '</span> <span class="cbSearchFromVal">' . moscomprofilerHTML::selectList($choices, $minNam, $additional, 'value', 'text', $minVal, 2) . '</span>' . ' <span class="cbSearchFromTo cbSearchTo">' . _UE_SEARCH_TO;
                     $choices[] = moscomprofilerHTML::makeOption('99999', _UE_ANY);
                     $html .= '</span> <span class="cbSearchToVal">' . moscomprofilerHTML::selectList($choices, $maxNam, $additional, 'value', 'text', $maxVal, 2) . '</span>' . ' <span class="cbSearchFromTo cbSearchTo">' . $this->getFieldTitle($field, $user, $output, $reason) . '</span> ' . $this->_fieldIconsHtml($field, $user, $output, $reason, null, $field->type, $value, 'input', null, true, false) . '</div>';
                     $oReturn = $this->_fieldSearchModeHtml($field, $user, $html, 'isisnot', $list_compare_types);
                 }
                 break;
             case 'json':
             case 'php':
             case 'xml':
             case 'csvheader':
             case 'fieldslist':
             case 'csv':
             default:
                 $oReturn = $this->_formatFieldOutputIntBoolFloat($field->name, $value, $output);
                 break;
         }
     }
     return $oReturn;
 }