/** * Returns a value for output of this field * * @param icms_member_user_Object $user object to get the value of * @param mod_profile_Profile $profile object to get the value of * @global array $icmsConfigAuth * @return mixed **/ public function getOutputValue(&$user, $profile) { global $icmsConfigAuth; $value = in_array($this->getVar('field_name'), $this->getUserVars()) ? $user->getVar($this->getVar('field_name')) : $profile->getVar($this->getVar('field_name')); switch ($this->getVar('field_type')) { case "textarea": case "dhtml": return icms_core_DataFilter::undoHtmlSpecialChars(str_replace('&', '&', $value), 1); break; case "select": case "radio": $options = unserialize($this->getVar('field_options', 'n')); return isset($options[$value]) ? htmlspecialchars($options[$value]) : ""; break; case "select_multi": case "checkbox": $options = unserialize($this->getVar('field_options', 'n')); $ret = array(); if (count($options) > 0) { foreach (array_keys($options) as $key) { if (in_array($key, $value)) { $ret[$key] = htmlspecialchars($options[$key]); } } } return $ret; break; case "group": //change to retrieve groups and return name of group return $value; break; case "group_multi": //change to retrieve groups and return array of group names return ""; break; case "longdate": //return YYYY/MM/DD format - not optimal as it is not using local date format, but how do we do that //when we cannot convert it to a UNIX timestamp? return str_replace("-", "/", $value); case "date": if ($value > 0) { return formatTimestamp($value, 's'); } return ""; break; case "datetime": if ($value > 0) { return formatTimestamp($value, 'm'); } return ""; break; case "autotext": $value = $user->getVar($this->getVar('field_name'), 'n'); //autotext can have HTML in it $value = str_replace("{X_UID}", $user->getVar("uid"), $value); $value = str_replace("{X_URL}", ICMS_URL, $value); $value = str_replace("{X_UNAME}", $user->getVar("uname"), $value); return $value; break; case "rank": $userrank = $user->rank(); return '<img src="' . $userrank['image'] . '" alt="' . $userrank['title'] . '" /> ' . $userrank['title']; break; case "yesno": return $value ? _YES : _NO; break; case "timezone": $timezones = icms_form_elements_select_Timezone::getTimeZoneList(); return $timezones[str_replace('.0', '', $value)]; break; case "image": if ($value == "") { return ''; } return "<img src='" . ICMS_UPLOAD_URL . "/" . basename(dirname(dirname(__FILE__))) . "/" . $value . "' alt='image' />"; break; case "url": if ($value == "") { return ''; } return icms_core_DataFilter::makeClickable(formatURL($value)); case "location": if ($value == "") { return ''; } return $value . ' <a href="http://maps.google.com/?q=' . $value . '" target="_blank" ><img src="' . ICMS_URL . '/modules/' . basename(dirname(dirname(__FILE__))) . '/images/mapsgoogle.gif" alt="" /></a>'; case "email": if ($value == "") { return ''; } if ($user->getVar('user_viewemail') || is_object(icms::$user) && (icms::$user->isAdmin() || icms::$user->getVar('uid') == $user->getVar('uid'))) { return '<a href="mailto:' . $value . '">' . $value . '</a>'; } return ''; case "openid": if ($value == "") { return ''; } if ($icmsConfigAuth['auth_openid'] == 1 && ($user->getVar('user_viewoid') || is_object(icms::$user) && (icms::$user->isAdmin() || icms::$user->getVar('uid') == $user->getVar('uid')))) { return $value; } return ''; case "textbox": case "theme": case "language": default: return $value; break; } }
/** * @deprecated use icms_form_elements_select_Timezone::getTimeZoneList(), instead * * @todo Remove in 1.4 */ public static function getTimeZoneList() { icms_core_Debug::setDeprecated('icms_form_elements_select_Timezone::getTimeZoneList()', sprintf(_CORE_REMOVE_IN_VERSION, '1.4')); return icms_form_elements_select_Timezone::getTimeZoneList(); }