/** * 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; } }
/** * 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; }