/** * 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) { $return = null; switch ($output) { case 'html': case 'htmledit': if ($reason == 'search') { $fieldName = $field->get('name'); $minNam = $fieldName . '__minval'; $maxNam = $fieldName . '__maxval'; $minVal = $user->get($minNam); $maxVal = $user->get($maxNam); $field->set('name', $minNam); $minHtml = $this->_fieldEditToHtml($field, $user, $reason, 'input', 'text', $minVal, null); $field->set('name', $maxNam); $maxHtml = $this->_fieldEditToHtml($field, $user, $reason, 'input', 'text', $maxVal, null); $field->set('name', $fieldName); $return = $this->_fieldSearchRangeModeHtml($field, $user, $output, $reason, null, $minHtml, $maxHtml, $list_compare_types); } else { $return = $this->formatFieldValueLayout($this->getRatingHTML($field, $user, $reason), $reason, $field, $user); } break; default: $return = parent::getField($field, $user, $output, $reason, $list_compare_types); break; } return $return; }
/** * 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) { global $_CB_framework, $ueConfig; $value = $user->get(implode('', $field->getTableColumns())); switch ($output) { case 'html': case 'rss': $cbFields = new cbFields(); $badHtmlFilter =& $cbFields->getInputFilter(array(), array(), 1, 1); if (isset($ueConfig['html_filter_allowed_tags']) && $ueConfig['html_filter_allowed_tags']) { $badHtmlFilter->tagBlacklist = array_diff($badHtmlFilter->tagBlacklist, explode(" ", $ueConfig['html_filter_allowed_tags'])); } $html = $cbFields->clean($badHtmlFilter, $value); unset($cbFields); break; case 'htmledit': if ($reason == 'search') { $fsize = $field->size; if ($field->size > 120) { $field->size = null; } $html = $this->_fieldEditToHtml($field, $user, $reason, 'input', 'text', $value, ''); $field->size = $fsize; $html = $this->_fieldSearchModeHtml($field, $user, $html, 'text', $list_compare_types); } elseif (!$this->_isReadOnly($field, $user, $reason)) { $cbFields = new cbFields(); $badHtmlFilter =& $cbFields->getInputFilter(array(), array(), 1, 1); if (isset($ueConfig['html_filter_allowed_tags']) && $ueConfig['html_filter_allowed_tags']) { $badHtmlFilter->tagBlacklist = array_diff($badHtmlFilter->tagBlacklist, explode(" ", $ueConfig['html_filter_allowed_tags'])); } $value = $cbFields->clean($badHtmlFilter, $value); unset($cbFields); $html = $_CB_framework->displayCmsEditor($field->name, $value, 600, 350, $field->cols, $field->rows) . $this->_fieldIconsHtml($field, $user, $output, $reason, null, $field->type, $value, 'input', null, true, $this->_isRequired($field, $user, $reason) && !$this->_isReadOnly($field, $user, $reason)); $this->_addSaveAndValidateCode($field, $user, $reason); } else { $html = null; } break; case 'json': case 'php': case 'xml': case 'csvheader': case 'fieldslist': case 'csv': default: return parent::getField($field, $user, $output, $reason, $list_compare_types); break; } return $html; }