예제 #1
0
 $modified = sanitize(date("d-m-Y H:i:s", $row['com_modified']));
 $userid = sanitize($row['com_uid']);
 $ip = sanitize($row['com_ip']);
 $title = sanitize($row['com_title']);
 $text = sanitize($row['com_text']);
 $signature = sanitize($row['com_sig']);
 $status = sanitize($row['com_status']);
 $params = sanitize($row['com_exparams']);
 $dohtml = sanitize($row['dohtml']);
 $dosmiley = sanitize($row['dosmiley']);
 $xcode = sanitize($row['doxcode']);
 $doimage = sanitize($row['doimage']);
 $linebreak = sanitize($row['dobr']);
 $user = new XoopsUser($row['com_uid']);
 $avatar = $user->user_avatar($row['com_uid']);
 $rank = $user->rank($row['com_uid']);
 $rank_title = $rank['title'];
 $rank_image = XOOPS_UPLOAD_URL . "/" . $rank['image'];
 $regdate = date("d-m-Y", $user->user_regdate($row['com_uid']));
 $userLocation = $user->user_from($row['com_uid']);
 $numposts = $user->getVar("posts");
 $checkstatus = $user->isOnline();
 if ($checkstatus > 0) {
     $status = "Online";
 } else {
     $status = "Offline";
 }
 if ($icon = '') {
     $comment_image = '';
 } else {
     $comment_image = '<img src="' . XOOPS_UPLOAD_URL . "/" . $icon . '" alt=""></img>';
예제 #2
0
 $box_actions[] = "<input type='hidden' name='catbox' value='" . $catbox . "'>";
 // $box_actions[] = "<input type='hidden' name='after' value='".$after."'>";
 $box_actions[] = "<input type='hidden' name='limit_msg' value='" . $limit_msg . "'>";
 $box_actions[] = "<input type='hidden' name='sortname' value='" . $sortname . "'>";
 $box_actions[] = "<input type='hidden' name='sortorder' value='" . $sortorder . "'>";
 $xoopsTpl->assign('box_actions', $box_actions);
 $xoopsTpl->assign('mp_amount', $amount);
 if ($amount == 0) {
     $xoopsTpl->assign('lang_none', _MP_YOUDONTCONTACT);
 }
 $i = $start + 0;
 foreach (array_keys($pm_cont) as $i) {
     $poster = new XoopsUser($pm_cont[$i]->getVar('ct_contact'));
     $mp['msg_id'] = $pm_cont[$i]->getVar('ct_contact');
     $postername = $poster->getVar('uname') . "<br />" . $poster->getVar('name');
     $userrank =& $poster->rank();
     /* No need to show deleted users */
     if ($postername) {
         $mp['msg_poster'] = "<a href='" . XOOPS_URL . "/userinfo.php?uid=" . $pm_cont[$i]->getVar('ct_contact') . "'>" . $postername . "</a>";
     } else {
         $mp['msg_poster'] = $xoopsConfig['anonymous'];
     }
     $mp['msg_joindate'] = formatTimestamp($poster->getVar("user_regdate"));
     /* Online poster */
     if ($poster->isOnline()) {
         $mp['msg_online'] = '<img src="' . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . '/images/online.png" title="' . _MP_ONLINE . '" style="width: 20px; height: 20px;"/>';
     } else {
         $mp['msg_online'] = '<img src="' . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . '/images/offline.png" title="' . _MP_OFFLINE . '" style="width: 20px; height: 20px;"/>';
     }
     /**/
     $mp['msg_last'] = formatTimestamp($poster->getVar("last_login"));
예제 #3
0
function xhnewbb_show_tree(&$arr, $current = 0, $key = 0, $prefix = '', $foundusers = array())
{
    global $xoopsConfig;
    if ($key != 0) {
        if (0 != $arr[$key]['obj']->uid()) {
            if (!isset($foundusers[$arr[$key]['obj']->uid()])) {
                $eachposter = new XoopsUser($arr[$key]['obj']->uid());
                $foundusers[$arr[$key]['obj']->uid()] =& $eachposter;
            } else {
                $eachposter =& $foundusers[$arr[$key]['obj']->uid()];
            }
            $poster_rank = $eachposter->rank();
            if (!empty($poster_rank['image'])) {
                $poster_rank['image'] = '<img src="' . XOOPS_UPLOAD_URL . '/' . $poster_rank['image'] . '" alt="" />';
            }
            if ($eachposter->isActive()) {
                $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => '<a href="' . XOOPS_URL . '/userinfo.php?uid=' . $eachposter->getVar('uid') . '">' . $eachposter->getVar('uname') . '</a>');
            } else {
                $posterarr = array('poster_uid' => 0, 'poster_uname' => $xoopsConfig['anonymous']);
            }
        } else {
            $posterarr = array('poster_uid' => 0, 'poster_uname' => $xoopsConfig['anonymous']);
        }
        $posticon = $arr[$key]['obj']->icon();
        if (isset($posticon) && $posticon != '') {
            $post_image = '<img src="' . XOOPS_URL . '/modules/xhnewbb/images/' . $posticon . '" alt="" />';
        } else {
            $post_image = '<img src="' . XOOPS_URL . '/images/icons/no_posticon.gif" alt="" />';
        }
        if ($current != $key) {
            $subject = '<a href="viewtopic.php?topic_id=' . $arr[$key]['obj']->topic() . '&amp;post_id=' . $arr[$key]['obj']->postid() . '&amp;viewmode=thread#forumpost' . $arr[$key]['obj']->postid() . '">' . $arr[$key]['obj']->subject() . '</a>';
            $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $prefix)));
        } else {
            $subject = '<b>' . $arr[$key]['obj']->subject() . '</b>';
            $thisprefix = substr($prefix, 0, -6) . "<b>&raquo;</b>";
            $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $thisprefix)));
        }
    }
    if (isset($arr[$key]['replies']) && !empty($arr[$key]['replies'])) {
        $prefix .= "&nbsp;&nbsp;";
        foreach ($arr[$key]['replies'] as $replykey) {
            $current = $current == 0 ? $replykey : $current;
            xhnewbb_show_tree($arr, $current, $replykey, $prefix, $foundusers);
        }
    }
}
예제 #4
0
 /**
  * Returns a value for output of this field
  *
  * @param XoopsUser $user {@link XoopsUser} object to get the value of
  * @param profileProfile $profile object to get the value of
  *
  * @return mixed
  **/
 function getOutputValue(&$user, $profile)
 {
     if (file_exists($file = $GLOBALS['xoops']->path('modules/profile/language/' . $GLOBALS['xoopsConfig']['language'] . '/modinfo.php'))) {
         include_once $file;
     } else {
         include_once $GLOBALS['xoops']->path('modules/profile/language/english/modinfo.php');
     }
     $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')) {
         default:
         case "textbox":
             if ($this->getVar('field_name') == 'url' && $value != '') {
                 return '<a href="' . formatURL($value) . '" rel="external">' . $value . '</a>';
             } else {
                 return $value;
             }
             break;
         case "textarea":
         case "dhtml":
         case 'theme':
         case "language":
         case "list":
             return $value;
             break;
         case "select":
         case "radio":
             $options = $this->getVar('field_options');
             if (isset($options[$value])) {
                 $value = htmlspecialchars(defined($options[$value]) ? constant($options[$value]) : $options[$value]);
             } else {
                 $value = "";
             }
             return $value;
             break;
         case "select_multi":
         case "checkbox":
             $options = $this->getVar('field_options');
             $ret = array();
             if (count($options) > 0) {
                 foreach (array_keys($options) as $key) {
                     if (in_array($key, $value)) {
                         $ret[$key] = htmlspecialchars(defined($options[$key]) ? constant($options[$key]) : $options[$key]);
                     }
                 }
             }
             return $ret;
             break;
         case "group":
             $member_handler =& xoops_gethandler('member');
             $options = $member_handler->getGroupList();
             $ret = isset($options[$value]) ? $options[$value] : '';
             return $ret;
             break;
         case "group_multi":
             $member_handler =& xoops_gethandler('member');
             $options = $member_handler->getGroupList();
             $ret = array();
             foreach (array_keys($options) as $key) {
                 if (in_array($key, $value)) {
                     $ret[$key] = htmlspecialchars($options[$key]);
                 }
             }
             return $ret;
             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":
             return formatTimestamp($value, 's');
             break;
         case "datetime":
             if (!empty($value)) {
                 return formatTimestamp($value, 'm');
             } else {
                 return $value = _PROFILE_MI_NEVER_LOGGED_IN;
             }
             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}", XOOPS_URL, $value);
             $value = str_replace("{X_UNAME}", $user->getVar("uname"), $value);
             return $value;
             break;
         case "rank":
             $userrank = $user->rank();
             $user_rankimage = "";
             if (isset($userrank['image']) && $userrank['image'] != "") {
                 $user_rankimage = '<img src="' . XOOPS_UPLOAD_URL . '/' . $userrank['image'] . '" alt="' . $userrank['title'] . '" /><br />';
             }
             return $user_rankimage . $userrank['title'];
             break;
         case "yesno":
             return $value ? _YES : _NO;
             break;
         case "timezone":
             include_once $GLOBALS['xoops']->path('class/xoopslists.php');
             $timezones = XoopsLists::getTimeZoneList();
             $value = empty($value) ? "0" : strval($value);
             return $timezones[str_replace('.0', '', $value)];
             break;
     }
 }
예제 #5
0
파일: user.php 프로젝트: RanLee/XoopsCore
 /**
  * __construct
  *
  * @param XoopsUser|XoopsObject &$obj user object
  */
 public function __construct(XoopsUser &$obj)
 {
     $xoops = Xoops::getInstance();
     if ($obj->isNew()) {
         //Add user
         $uid_value = "";
         $uname_value = "";
         $name_value = "";
         $email_value = "";
         $email_cbox_value = 0;
         $url_value = "";
         $timezone_value = $xoops->getConfig('default_TZ');
         $icq_value = "";
         $aim_value = "";
         $yim_value = "";
         $msnm_value = "";
         $location_value = "";
         $occ_value = "";
         $interest_value = "";
         $sig_value = "";
         $sig_cbox_value = 0;
         $bio_value = "";
         $rank_value = 0;
         $mailok_value = 0;
         $form_title = SystemLocale::ADD_USER;
         $form_isedit = false;
         $groups = array(FixedGroups::USERS);
     } else {
         //Edit user
         $uid_value = $obj->getVar("uid", "E");
         $uname_value = $obj->getVar("uname", "E");
         $name_value = $obj->getVar("name", "E");
         $email_value = $obj->getVar("email", "E");
         $email_cbox_value = $obj->getVar("user_viewemail") ? 1 : 0;
         $url_value = $obj->getVar("url", "E");
         $timezone_value = $obj->getVar("timezone_offset");
         $icq_value = $obj->getVar("user_icq", "E");
         $aim_value = $obj->getVar("user_aim", "E");
         $yim_value = $obj->getVar("user_yim", "E");
         $msnm_value = $obj->getVar("user_msnm", "E");
         $location_value = $obj->getVar("user_from", "E");
         $occ_value = $obj->getVar("user_occ", "E");
         $interest_value = $obj->getVar("user_intrest", "E");
         $sig_value = $obj->getVar("user_sig", "E");
         $sig_cbox_value = $obj->getVar("attachsig") == 1 ? 1 : 0;
         $bio_value = $obj->getVar("bio", "E");
         $rank_value = $obj->rank(false);
         $mailok_value = $obj->getVar('user_mailok', 'E');
         $form_title = sprintf(SystemLocale::F_UPDATE_USER, $obj->getVar("uname"));
         $form_isedit = true;
         $groups = array_values($obj->getGroups());
     }
     //Affichage du formulaire
     parent::__construct($form_title, "form_user", "admin.php", "post", true);
     $this->addElement(new Xoops\Form\Text(XoopsLocale::USER_NAME, "username", 4, 25, $uname_value), true);
     $this->addElement(new Xoops\Form\Text(XoopsLocale::NAME, "name", 5, 60, $name_value));
     $email_tray = new Xoops\Form\ElementTray(XoopsLocale::EMAIL, "<br />");
     $email_text = new Xoops\Form\Text("", "email", 5, 60, $email_value);
     $email_tray->addElement($email_text, true);
     $email_cbox = new Xoops\Form\Checkbox("", "user_viewemail", $email_cbox_value);
     $email_cbox->addOption(1, XoopsLocale::ALLOW_OTHER_USERS_TO_VIEW_EMAIL);
     $email_tray->addElement($email_cbox);
     $this->addElement($email_tray, true);
     $this->addElement(new Xoops\Form\Text(XoopsLocale::WEB_URL, "url", 5, 100, $url_value));
     $this->addElement(new Xoops\Form\SelectTimeZone(XoopsLocale::TIME_ZONE, "timezone_offset", $timezone_value));
     $this->addElement(new Xoops\Form\Text(XoopsLocale::ICQ, "user_icq", 3, 15, $icq_value));
     $this->addElement(new Xoops\Form\Text(XoopsLocale::AIM, "user_aim", 3, 18, $aim_value));
     $this->addElement(new Xoops\Form\Text(XoopsLocale::YIM, "user_yim", 3, 25, $yim_value));
     $this->addElement(new Xoops\Form\Text(XoopsLocale::MSNM, "user_msnm", 3, 100, $msnm_value));
     $this->addElement(new Xoops\Form\Text(XoopsLocale::LOCATION, "user_from", 5, 100, $location_value));
     $this->addElement(new Xoops\Form\Text(XoopsLocale::OCCUPATION, "user_occ", 5, 100, $occ_value));
     $this->addElement(new Xoops\Form\Text(XoopsLocale::INTEREST, "user_intrest", 5, 150, $interest_value));
     $sig_tray = new Xoops\Form\ElementTray(XoopsLocale::SIGNATURE, "<br />");
     $sig_tarea = new Xoops\Form\TextArea("", "user_sig", $sig_value, 5, 5);
     $sig_tray->addElement($sig_tarea);
     $sig_cbox = new Xoops\Form\Checkbox("", "attachsig", $sig_cbox_value);
     $sig_cbox->addOption(1, XoopsLocale::ALWAYS_ATTACH_MY_SIGNATURE);
     $sig_tray->addElement($sig_cbox);
     $this->addElement($sig_tray);
     $this->addElement(new Xoops\Form\TextArea(XoopsLocale::EXTRA_INFO, "bio", $bio_value, 5, 5));
     if ($xoops->isActiveModule('userrank')) {
         $rank_select = new Xoops\Form\Select(XoopsLocale::RANK, "rank", $rank_value);
         $ranklist = XoopsLists::getUserRankList();
         $rank_select->addOption(0, "--------------");
         if (count($ranklist) > 0) {
             $rank_select->addOptionArray($ranklist);
         }
         $this->addElement($rank_select);
     } else {
         $this->addElement(new Xoops\Form\Hidden("rank", $rank_value));
     }
     // adding a new user requires password fields
     if (!$form_isedit) {
         $this->addElement(new Xoops\Form\Password(XoopsLocale::PASSWORD, "password", 3, 32), true);
         $this->addElement(new Xoops\Form\Password(XoopsLocale::RETYPE_PASSWORD, "pass2", 3, 32), true);
     } else {
         $this->addElement(new Xoops\Form\Password(XoopsLocale::PASSWORD, "password", 3, 32));
         $this->addElement(new Xoops\Form\Password(XoopsLocale::RETYPE_PASSWORD, "pass2", 3, 32));
     }
     $this->addElement(new Xoops\Form\RadioYesNo(XoopsLocale::ONLY_USERS_THAT_ACCEPT_EMAIL, 'user_mailok', $mailok_value));
     //Groups administration addition XOOPS 2.0.9: Mith
     $gperm_handler = $xoops->getHandlerGroupperm();
     $group_select = array();
     //If user has admin rights on groups
     if ($gperm_handler->checkRight("system_admin", XOOPS_SYSTEM_GROUP, $xoops->user->getGroups(), 1)) {
         //add group selection
         $group_select[] = new Xoops\Form\SelectGroup(XoopsLocale::GROUPS, 'groups', false, $groups, 5, true);
     } else {
         //add each user groups
         foreach ($groups as $key => $group) {
             $group_select[] = new Xoops\Form\Hidden('groups[' . $key . ']', $group);
         }
     }
     foreach ($group_select as $group) {
         $this->addElement($group);
         unset($group);
     }
     $this->addElement(new Xoops\Form\Hidden("fct", "users"));
     $this->addElement(new Xoops\Form\Hidden("op", "users_save"));
     $this->addElement(new Xoops\Form\Button("", "submit", XoopsLocale::A_SUBMIT, "submit"));
     if (!empty($uid_value)) {
         $this->addElement(new Xoops\Form\Hidden("uid", $uid_value));
     }
 }
예제 #6
0
 $promotray->addElement($option_select);
 $button_tray = new XoopsFormButton("", "submit", "<>", "submit");
 $button_tray->setExtra("onclick=\"document.prvmsg.action='msgbox.php?op=sendbox&send=" . $send . "&reply=" . $reply . "'\"");
 $select_form->addElement($promotray);
 $promotray->addElement($button_tray);
 $xoopsTpl->assign('mp_selectview', $select_form->render());
 //
 include 'include/form.inc.php';
 // affiche le message de reponse
 if ($reply == 1) {
     $poster = new XoopsUser($pm2->getVar("from_userid"));
     if (!$poster->isActive()) {
         $poster_name = $xoopsConfig['anonymous'];
     } else {
         $poster_name = $poster->getVar("uname");
         $poster_rank = $poster->rank();
         echo "<br /><span style=\"background-color: #E9E9E9; border:1px solid #C0C0C0;font-size:10px;\">&nbsp;\r\n" . _MP_MMES . "&nbsp;\r\n<a href=\"javascript:;\" onclick=\"showForm('prevu');\">+</a>/\r\n<a href=\"javascript:;\" onclick=\"hideAll('prevu');\">-</a>&nbsp;</span>\r\n<div id='prevu'>\r\n<table border='0' cellspacing='1' cellpadding='4' width='100%' class='outer'>\r\n<tr><td width='20%' class='xo-message-head'><b><a href='" . XOOPS_URL . "/userinfo.php?uid=" . $poster->getVar("uid") . "'>" . $poster_name . "</a></td>\r\n    <td class='xo-message-head'>" . _MP_POSTED . "&nbsp;" . formatTimestamp($pm2->getVar("msg_time")) . "</td>\r\n</tr>\t\r\n<tr><td class='xo-message-even' valign='top' rowspan='2'>\r\n\t\t<div class='comUserRank'><div class='comUserRankText'>" . $poster_rank['title'] . "</div>\r\n\r\n<img class='comUserRankImg' src='" . XOOPS_UPLOAD_URL . "/" . $poster_rank['image'] . "' alt='' />\r\n\r\n</div>\r\n<img class='comUserImg' src='" . XOOPS_UPLOAD_URL . "/" . $poster->getVar("user_avatar") . "' alt=''/>\r\n<div class='comUserStat'><span class='comUserStatCaption'>" . _MP_JOINED . "</span>\r\n" . formatTimestamp($poster->getVar('user_regdate'), 's') . "</div>\r\n<div class='comUserStat'><span class='comUserStatCaption'>" . _MP_FROM2 . "</span>\r\n" . $poster->getVar('user_from') . "</div>\r\n<div class='comUserStat'><span class='comUserStatCaption'>" . _MP_POSTS . "\r\n</span>" . $poster->getVar('posts') . "</div>";
         if ($poster->isOnline()) {
             echo '<div class="comUserStatus"><img src="' . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . '/images/online.png" title="' . _MP_ONLINE . '" style="width: 20px; height: 20px;"/></div>';
         } else {
             echo '<div class="comUserStatus"><img src="' . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . '/images/offline.png" title="' . _MP_OFFLINE . '" style="width: 20px; height: 20px;"/></div>';
         }
     }
     echo "</td><td class='xo-message-odd' valign='top'><div class='comTitle'>";
     if (!$pm2->getVar("msg_image")) {
         echo "<img src='../../images/read.gif' alt='' />";
     } else {
         echo "<img src='../../images/subject/" . $pm2->getVar("msg_image") . "' alt='' />";
     }
     echo "&nbsp;" . $myts->htmlSpecialChars($myts->stripSlashesGPC($pm2->getVar("subject"))) . "</div>\r\n<div class='comText'>" . $myts->htmlSpecialChars($myts->stripSlashesGPC($pm2->getVar("msg_text"))) . "\r\n</td></tr></table></div>";
 }
예제 #7
0
파일: field.php 프로젝트: RanLee/XoopsCore
 /**
  * Returns a value for output of this field
  *
  * @param XoopsUser $user {@link XoopsUser} object to get the value of
  * @param profileProfile $profile object to get the value of
  *
  * @return string
  **/
 public function getOutputValue(XoopsUser &$user, ProfileProfile $profile)
 {
     $xoops = Xoops::getInstance();
     $xoops->loadLanguage('modinfo', 'profile');
     $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')) {
         default:
         case "textbox":
             if ($this->getVar('field_name') == 'url' && $value != '') {
                 return '<a href="' . $xoops->formatURL($value) . '" rel="external">' . $value . '</a>';
             } else {
                 return $value;
             }
             break;
         case "textarea":
         case "dhtml":
         case 'theme':
         case "language":
         case "list":
             return $value;
             break;
         case "select":
         case "radio":
             $options = $this->getVar('field_options');
             if (isset($options[$value])) {
                 $value = htmlspecialchars(defined($options[$value]) ? constant($options[$value]) : $options[$value]);
             } else {
                 $value = "";
             }
             return $value;
             break;
         case "select_multi":
         case "checkbox":
             $options = $this->getVar('field_options');
             $ret = array();
             if (count($options) > 0) {
                 foreach (array_keys($options) as $key) {
                     if (in_array($key, $value)) {
                         $ret[$key] = htmlspecialchars(defined($options[$key]) ? constant($options[$key]) : $options[$key]);
                     }
                 }
             }
             return $ret;
             break;
         case "group":
             $member_handler = $xoops->getHandlerMember();
             $options = $member_handler->getGroupList();
             $ret = isset($options[$value]) ? $options[$value] : '';
             return $ret;
             break;
         case "group_multi":
             $member_handler = $xoops->getHandlerMember();
             $options = $member_handler->getGroupList();
             $ret = array();
             foreach (array_keys($options) as $key) {
                 if (in_array($key, $value)) {
                     $ret[$key] = htmlspecialchars($options[$key]);
                 }
             }
             return $ret;
             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":
             return XoopsLocale::formatTimestamp($value, 's');
             break;
         case "datetime":
             if (!empty($value)) {
                 return XoopsLocale::formatTimestamp($value, 'm');
             } else {
                 return _PROFILE_MI_NEVER_LOGGED_IN;
             }
             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}", \XoopsBaseConfig::get('url'), $value);
             $value = str_replace("{X_UNAME}", $user->getVar("uname"), $value);
             return $value;
             break;
         case "rank":
             $userrank = $user->rank();
             $user_rankimage = "";
             if (isset($userrank['image']) && $userrank['image'] != "") {
                 $user_rankimage = '<img src="' . \XoopsBaseConfig::get('uploads-url') . '/' . $userrank['image'] . '" alt="' . $userrank['title'] . '" /><br />';
             }
             return $user_rankimage . $userrank['title'];
             break;
         case "yesno":
             return $value ? XoopsLocale::YES : XoopsLocale::NO;
             break;
         case "timezone":
             $timezones = XoopsLists::getTimeZoneList();
             $value = empty($value) ? "0" : (string) $value;
             return $timezones[str_replace('.0', '', $value)];
             break;
     }
 }