Example #1
0
 * @version    $Id: mylink.php 332 2009-02-23 09:15:08Z juny $
 */
define('JIEQI_MODULE_NAME', 'system');
require_once 'global.php';
jieqi_checklogin();
jieqi_loadlang('userlink', JIEQI_MODULE_NAME);
jieqi_getconfigs('system', 'configs');
if (empty($_REQUEST['page']) || !is_numeric($_REQUEST['page'])) {
    $_REQUEST['page'] = 1;
}
//页码
//获得允许链接数和现有链接数
jieqi_getconfigs('system', 'honors');
jieqi_getconfigs(JIEQI_MODULE_NAME, 'right');
$maxuserlink = isset($jieqiConfigs['system']['maxuserlink']) ? intval($jieqiConfigs['system']['maxuserlink']) : 0;
$honorid = jieqi_gethonorid($_SESSION['jieqiUserScore'], $jieqiHonors);
if ($honorid && isset($jieqiRight['system']['maxuserlink']['honors'][$honorid]) && is_numeric($jieqiRight['system']['maxuserlink']['honors'][$honorid])) {
    $maxuserlink = intval($jieqiRight['system']['maxuserlink']['honors'][$honorid]);
}
//根据头衔设置的消息数
include_once JIEQI_ROOT_PATH . '/class/userlink.php';
$userlink_handler =& JieqiUserlinkHandler::getInstance('JieqiUserlinkHandler');
if (isset($_REQUEST['action'])) {
    switch ($_REQUEST['action']) {
        case 'add':
            $errtext = '';
            if (!empty($maxuserlink)) {
                $nowlink = $userlink_handler->getCount(new Criteria('userid', $_SESSION['jieqiUserId']));
                if ($nowlink >= $maxuserlink) {
                    $errtext .= sprintf($jieqiLang['system']['userlink_maxnum_limit'], $maxuserlink) . '<br />';
                }
Example #2
0
/**
 * 保存用户SESSION
 * 
 * @param      object      $user 用户表记录对象
 * @access     public
 * @return     void
 */
function jieqi_setusersession($user)
{
    global $jieqiHonors;
    global $jieqiModules;
    $_SESSION = array();
    $_SESSION['jieqiUserId'] = $user->getVar('uid', 'n');
    $_SESSION['jieqiUserUname'] = $user->getVar('uname', 'n');
    $_SESSION['jieqiUserName'] = strlen($user->getVar('name', 'n')) > 0 ? $user->getVar('name', 'n') : $user->getVar('uname', 'n');
    $_SESSION['jieqiUserGroup'] = $user->getVar('groupid', 'n');
    $_SESSION['jieqiUserEmail'] = $user->getVar('email', 'n');
    $_SESSION['jieqiUserAvatar'] = $user->getVar('avatar', 'n');
    $_SESSION['jieqiUserScore'] = $user->getVar('score', 'n');
    $_SESSION['jieqiUserExperience'] = $user->getVar('experience', 'n');
    $_SESSION['jieqiUserVip'] = $user->getVar('isvip', 'n');
    $_SESSION['jieqiUserEgold'] = $user->getVar('egold', 'n') > 0 || $user->getVar('esilver', 'n') > 0 ? 1 : 0;
    jieqi_getconfigs('system', 'honors');
    //头衔
    $honorid = intval(jieqi_gethonorid($user->getVar('score'), $jieqiHonors));
    $_SESSION['jieqiUserHonorid'] = $honorid;
    $_SESSION['jieqiUserHonor'] = isset($jieqiHonors[$honorid]['name'][intval($user->getVar('workid', 'n'))]) ? $jieqiHonors[$honorid]['name'][intval($user->getVar('workid', 'n'))] : $jieqiHonors[$honorid]['caption'];
    if (!empty($jieqiModules['badge']['publish'])) {
        $_SESSION['jieqiUserBadges'] = $user->getVar('badges', 'n');
        //徽章
    }
    $_SESSION['jieqiUserSet'] = unserialize($user->getVar('setting', 'n'));
}
Example #3
0
/**
 * 传入帖子实例对象,返回适合模板赋值的帖子信息数组
 * 
 * @param      object      $post 帖子实例
 * @param      array       $configs 配置参数
 * @param      array       $addvars 附加赋值变量
 * @param      bool        $enableubb 是否允许解析UBB代码
 * @access     public
 * @return     array
 */
function jieqi_post_vars($post, $configs = array(), $addvars = array(), $enableubb = true)
{
    global $jieqiTxtcvt;
    global $jieqiHonors;
    global $jieqiGroups;
    global $jieqiModules;
    if (!isset($jieqiHonors)) {
        jieqi_getconfigs('system', 'honors', 'jieqiHonors');
    }
    if (!defined('JIEQI_SHOW_BADGE')) {
        if (!empty($jieqiModules['badge']['publish']) && is_file($GLOBALS['jieqiModules']['badge']['path'] . '/include/badgefunction.php')) {
            include_once $jieqiModules['badge']['path'] . '/include/badgefunction.php';
            define('JIEQI_SHOW_BADGE', 1);
        } else {
            define('JIEQI_SHOW_BADGE', 0);
        }
    }
    if (is_array($addvars)) {
        $ret = $addvars;
    } else {
        $ret = array();
    }
    $ret['postid'] = $post->getVar('postid');
    $ret['siteid'] = $post->getVar('siteid');
    $ret['istopic'] = $post->getVar('istopic');
    $ret['replypid'] = $post->getVar('replypid');
    $ret['ownerid'] = $post->getVar('ownerid');
    $ret['userid'] = intval($post->getVar('uid'));
    $ret['posterid'] = $post->getVar('posterid');
    $ret['poster'] = $ret['username'];
    $ret['posttime'] = $post->getVar('posttime');
    $ret['posterip'] = $post->getVar('posterip');
    $ret['editorid'] = $post->getVar('editorid');
    $ret['editor'] = $post->getVar('editor');
    $ret['edittime'] = $post->getVar('edittime');
    $ret['editorip'] = $post->getVar('editorip');
    $ret['editnote'] = $post->getVar('editnote');
    $ret['iconid'] = $post->getVar('iconid');
    $ret['subject'] = jieqi_substr($post->getVar('subject'), 0, 56);
    $ret['size'] = $post->getVar('size');
    $ret['attachimages'] = array();
    $ret['attachfiles'] = array();
    $tmpvar = $post->getVar('attachment', 'n');
    if (!empty($tmpvar)) {
        $attachs = unserialize($tmpvar);
        foreach ($attachs as $key => $val) {
            $url = jieqi_uploadurl($configs['attachdir'], $configs['attachurl'], JIEQI_MODULE_NAME) . '/' . date('Ymd', $post->getVar('posttime', 'n')) . '/' . $post->getVar('postid', 'n') . '_' . $val['attachid'] . '.' . $val['postfix'];
            if ($val['class'] == 'image') {
                $ret['attachimages'][] = array('id' => $val['attachid'], 'name' => jieqi_htmlstr($val['name']), 'url' => $url, 'posttime' => $post->getVar('posttime', 'n'), 'postid' => $post->getVar('postid', 'n'), 'postfix' => $val['postfix'], 'class' => $val['class'], 'size' => $val['size'], 'size_k' => ceil($val['size'] / 1024));
            } else {
                $ret['attachfiles'][] = array('id' => $val['attachid'], 'name' => jieqi_htmlstr($val['name']), 'url' => $url, 'posttime' => $post->getVar('posttime', 'n'), 'postid' => $post->getVar('postid', 'n'), 'postfix' => $val['postfix'], 'class' => $val['class'], 'size' => $val['size'], 'size_k' => ceil($val['size'] / 1024));
            }
        }
    }
    if ($enableubb) {
        if (!is_object($jieqiTxtcvt)) {
            include_once JIEQI_ROOT_PATH . '/lib/text/textconvert.php';
            $jieqiTxtcvt = TextConvert::getInstance('TextConvert');
        }
        $ret['posttext'] = $jieqiTxtcvt->displayTarea($post->getVar('posttext', 'n'), 0, 1, 1, 1, 1, 'screen.width*0.75');
    } else {
        if (!is_object($jieqiTxtcvt)) {
            include_once JIEQI_ROOT_PATH . '/lib/text/textconvert.php';
            $jieqiTxtcvt = TextConvert::getInstance('TextConvert');
        }
        $ret['posttext'] = jieqi_htmlstr(preg_replace(array('/\\[\\/?(code|url|color|font|align|email|b|i|u|d|img|quote|size)[^\\[\\]]*\\]/is'), '', $post->getVar('posttext', 'n')));
        $ret['posttext'] = $jieqiTxtcvt->smile(preg_replace('/https?:\\/\\/[^\\s\\r\\n\\t\\f<>]+/i', '<a href="\\0">\\0</a>', $ret['posttext']));
    }
    //加入文字水印
    if (!empty($configs['textwatermark']) && !defined('JIEQI_WAP_PAGE')) {
        $contentary = explode('<br />
<br />', $ret['posttext']);
        $ret['posttext'] = '';
        foreach ($contentary as $v) {
            if (empty($ret['posttext'])) {
                $ret['posttext'] .= $v;
            } else {
                srand((double) microtime() * 1000000);
                $randstr = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
                $randlen = rand(10, 20);
                $randtext = '';
                $l = strlen($randstr) - 1;
                for ($i = 0; $i < $randlen; $i++) {
                    $num = rand(0, $l);
                    $randtext .= $randstr[$num];
                }
                $textwatermark = str_replace('<{$randtext}>', $randtext, $configs['textwatermark']);
                $ret['posttext'] .= '<br />
' . $textwatermark . $v;
            }
        }
    }
    //本贴用户信息
    if ($ret['userid'] > 0) {
        $ret['useruname'] = $post->getVar('uname');
        $ret['username'] = $post->getVar('name') == '' ? $post->getVar('uname') : $post->getVar('name');
        $ret['viewemail'] = $post->getVar('viewemail');
        $ret['email'] = $post->getVar('email');
        $ret['qq'] = $post->getVar('qq');
        $ret['msn'] = $post->getVar('msn');
        $ret['groupname'] = $jieqiGroups[$post->getVar('groupid')];
        $ret['regdate'] = $post->getVar('regdate');
        $ret['experience'] = $post->getVar('experience');
        $ret['score'] = $post->getVar('score');
        $ret['sign'] = $post->getVar('sign');
        $ret['avatar'] = $post->getVar('avatar');
        $honorid = intval(jieqi_gethonorid($post->getVar('score'), $jieqiHonors));
        $ret['honor'] = isset($jieqiHonors[$honorid]['name'][intval($post->getVar('workid', 'n'))]) ? $jieqiHonors[$honorid]['name'][intval($post->getVar('workid', 'n'))] : $jieqiHonors[$honorid]['caption'];
        //头像图片
        if ($ret['avatar'] > 0) {
            $tmpary = jieqi_geturl('system', 'avatar', $ret['userid'], 'a', $ret['avatar']);
            $ret['base_avatar'] = $tmpary['d'];
            $ret['url_avatar'] = $tmpary['l'];
            $ret['url_avatars'] = $tmpary['s'];
            $ret['url_avatari'] = $tmpary['i'];
        }
        //徽章图片
        if (JIEQI_SHOW_BADGE == 1) {
            $checkfile = JIEQI_LOCAL_URL == JIEQI_MAIN_URL ? true : false;
            $checkfile = false;
            //等级徽章
            $ret['groupurl'] = getbadgeurl(1, $post->getVar('groupid'), 0, $checkfile);
            //头衔徽章
            $ret['honorurl'] = getbadgeurl(2, $honorid, 0, $checkfile);
            //自定义徽章
            $badgeary = unserialize($post->getVar('badges', 'n'));
            $ret['badgerows'] = array();
            if (is_array($badgeary)) {
                $m = 0;
                foreach ($badgeary as $badge) {
                    $ret['badgerows'][$m]['imageurl'] = getbadgeurl($badge['btypeid'], $badge['linkid'], $badge['imagetype']);
                    $ret['badgerows'][$m]['caption'] = jieqi_htmlstr($badge['caption']);
                    $m++;
                }
            }
        }
    }
    return $ret;
}
Example #4
0
 function setContent($isreturn = false)
 {
     global $jieqiTpl;
     global $jieqiGroups;
     global $jieqiConfigs;
     global $jieqiHonors;
     global $jieqi_image_type;
     global $jieqiModules;
     include_once JIEQI_ROOT_PATH . '/class/users.php';
     $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler');
     $userobj = $users_handler->get($this->blockvars['cacheid']);
     if (!is_object($userobj)) {
         return false;
     }
     $jieqiTpl->assign('uid', $userobj->getVar('uid'));
     $jieqiTpl->assign('uname', $userobj->getVar('uname'));
     $tmpvar = strlen($userobj->getVar('name')) > 0 ? $userobj->getVar('name') : $userobj->getVar('uname');
     $jieqiTpl->assign('name', $tmpvar);
     $jieqiTpl->assign('groupid', $userobj->getVar('groupid'));
     $jieqiTpl->assign('group', $userobj->getGroup());
     $jieqiTpl->assign('sex', $userobj->getSex());
     if ($userobj->getVar('viewemail') == 1) {
         $jieqiTpl->assign('viewemail', 1);
         $jieqiTpl->assign('email', $userobj->getVar('email'));
     } else {
         $jieqiTpl->assign('viewemail', 0);
         $jieqiTpl->assign('email', '');
     }
     $jieqiTpl->assign('qq', $userobj->getVar('qq'));
     $jieqiTpl->assign('icq', $userobj->getVar('icq'));
     $jieqiTpl->assign('msn', $userobj->getVar('msn'));
     $jieqiTpl->assign('url', $userobj->getVar('url'));
     $jieqiTpl->assign('regdate', $userobj->getVar('regdate'));
     $jieqiTpl->assign('experience', $userobj->getVar('experience'));
     $jieqiTpl->assign('score', $userobj->getVar('score'));
     $jieqiTpl->assign('monthscore', $userobj->getVar('monthscore'));
     $jieqiTpl->assign('weekscore', $userobj->getVar('weekscore'));
     $jieqiTpl->assign('dayscore', $userobj->getVar('dayscore'));
     $jieqiTpl->assign('credit', $userobj->getVar('credit'));
     $jieqiTpl->assign('viptype', $userobj->getViptype());
     $jieqiTpl->assign('egoldname', JIEQI_EGOLD_NAME);
     jieqi_getconfigs('system', 'honors');
     $honorid = jieqi_gethonorid($userobj->getVar('score'), $jieqiHonors);
     $jieqiTpl->assign('honor', $jieqiHonors[$honorid]['name'][intval($userobj->getVar('workid'))]);
     $egold = $userobj->getVar('egold');
     $esilver = $userobj->getVar('esilver');
     $emoney = $egold + $esilver;
     $jieqiTpl->assign('egold', $egold);
     $jieqiTpl->assign('esilver', $esilver);
     $jieqiTpl->assign('emoney', $emoney);
     $jieqiTpl->assign('sign', $userobj->getVar('sign'));
     $jieqiTpl->assign('intro', $userobj->getVar('intro'));
     //头像
     $avatar = $userobj->getVar('avatar', 'n');
     $jieqiTpl->assign('avatar', $avatar);
     //徽章
     if (!empty($jieqiModules['badge']['publish']) && is_file($jieqiModules['badge']['path'] . '/include/badgefunction.php')) {
         include_once $jieqiModules['badge']['path'] . '/include/badgefunction.php';
         //等级徽章
         $jieqiTpl->assign('url_group', getbadgeurl(1, $userobj->getVar('groupid'), 0, true));
         //头衔徽章
         $jieqiTpl->assign('url_honor', getbadgeurl(2, $honorid, 0, true));
         //自定义徽章
         $jieqi_badgerows = array();
         $badgeary = unserialize($userobj->getVar('badges', 'n'));
         if (is_array($badgeary) && count($badgeary) > 0) {
             $k = 0;
             foreach ($badgeary as $badge) {
                 $jieqi_badgerows[$k]['imageurl'] = getbadgeurl($badge['btypeid'], $badge['linkid'], $badge['imagetype']);
                 $jieqi_badgerows[$k]['caption'] = jieqi_htmlstr($badge['caption']);
                 $k++;
             }
         }
         $jieqiTpl->assign_by_ref('badgerows', $jieqi_badgerows);
         $jieqiTpl->assign('use_badge', 1);
     } else {
         $jieqiTpl->assign('use_badge', 0);
     }
     $jieqiTpl->assign('ownerid', $this->blockvars['cacheid']);
 }
Example #5
0
$k = 0;
while ($v = $users_handler->getObject()) {
    $userrows[$k]['uid'] = $v->getVar('uid');
    $userrows[$k]['uname'] = $v->getVar('uname');
    $userrows[$k]['regdate'] = date(JIEQI_DATE_FORMAT, $v->getVar('regdate'));
    $userrows[$k]['group'] = $v->getGroup();
    $userrows[$k]['sex'] = $v->getSex();
    $userrows[$k]['email'] = $v->getVar('email');
    $userrows[$k]['url'] = $v->getVar('url');
    $userrows[$k]['qq'] = $v->getVar('qq');
    $userrows[$k]['msn'] = $v->getVar('msn');
    $userrows[$k]['experience'] = $v->getVar('experience');
    $userrows[$k]['monthscore'] = $v->getVar('monthscore');
    $userrows[$k]['score'] = $v->getVar('score');
    $userrows[$k]['credit'] = $v->getVar('credit');
    $userrows[$k]['egold'] = $v->getVar('egold');
    $userrows[$k]['esilver'] = $v->getVar('esilver');
    $userrows[$k]['emoney'] = $userrows[$k]['egold'] + $userrows[$k]['esilver'];
    $userrows[$k]['lastlogin'] = date(JIEQI_DATE_FORMAT, $v->getVar('lastlogin'));
    $honorid = jieqi_gethonorid($v->getVar('score'), $jieqiHonors);
    $userrows[$k]['honor'] = $jieqiHonors[$honorid]['name'][intval($v->getVar('workid', 'n'))];
    $k++;
}
$jieqiTpl->assign_by_ref('userrows', $userrows);
//处理页面跳转
include_once JIEQI_ROOT_PATH . '/lib/html/page.php';
$jumppage = new JieqiPage($users_handler->getCount($criteria), $jieqiConfigs['system']['topuserpnum'], $_REQUEST['page']);
$jieqiTpl->assign('url_jumppage', $jumppage->whole_bar());
$jieqiTpl->setCaching(0);
$jieqiTset['jieqi_contents_template'] = JIEQI_ROOT_PATH . '/templates/topuser.html';
include_once JIEQI_ROOT_PATH . '/footer.php';
Example #6
0
 function setContent($isreturn = false)
 {
     global $jieqiTpl;
     global $jieqiModules;
     $userrows = array();
     if (count($this->exevars) > 0) {
         include_once JIEQI_ROOT_PATH . '/class/users.php';
         $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler');
         $criteria = new CriteriaCompo();
         $criteria->add(new Criteria('uid', '(0,' . implode(',', $this->exevars) . ')', 'IN'));
         $criteria->setLimit(100);
         $criteria->setStart(0);
         $users_handler->queryObjects($criteria);
         $k = 0;
         while ($v = $users_handler->getObject()) {
             $userrows[$k]['uid'] = $v->getVar('uid');
             $userrows[$k]['uname'] = $v->getVar('uname');
             $userrows[$k]['name'] = $v->getVar('name');
             if (empty($userrows[$k]['name'])) {
                 $userrows[$k]['name'] = $v->getVar('uname');
             }
             $userrows[$k]['groupid'] = $v->getVar('groupid');
             $userrows[$k]['group'] = $v->getGroup();
             $userrows[$k]['sex'] = $v->getSex();
             if ($v->getVar('viewemail') == 1) {
                 $userrows[$k]['viewemail'] = 1;
                 $userrows[$k]['email'] = $v->getVar('email');
             } else {
                 $userrows[$k]['viewemail'] = 0;
                 $userrows[$k]['email'] = '';
             }
             $userrows[$k]['qq'] = $v->getVar('qq');
             $userrows[$k]['icq'] = $v->getVar('icq');
             $userrows[$k]['msn'] = $v->getVar('msn');
             $userrows[$k]['url'] = $v->getVar('url');
             $userrows[$k]['regdate'] = $v->getVar('regdate');
             $userrows[$k]['experience'] = $v->getVar('experience');
             $userrows[$k]['score'] = $v->getVar('score');
             $userrows[$k]['monthscore'] = $v->getVar('monthscore');
             $userrows[$k]['weekscore'] = $v->getVar('weekscore');
             $userrows[$k]['dayscore'] = $v->getVar('dayscore');
             $userrows[$k]['credit'] = $v->getVar('credit');
             $userrows[$k]['viptype'] = $v->getViptype();
             jieqi_getconfigs('system', 'honors');
             $honorid = jieqi_gethonorid($v->getVar('score'), $jieqiHonors);
             $userrows[$k]['honor'] = $jieqiHonors[$honorid]['name'][intval($v->getVar('workid'))];
             $egold = $v->getVar('egold');
             $esilver = $v->getVar('esilver');
             $emoney = $egold + $esilver;
             $userrows[$k]['egold'] = $egold;
             $userrows[$k]['esilver'] = $esilver;
             $userrows[$k]['emoney'] = $emoney;
             $userrows[$k]['sign'] = $v->getVar('sign');
             //$userrows[$k]['intro']=$v->getVar('intro');
             //头像
             $avatar = $v->getVar('avatar', 'n');
             $userrows[$k]['avatar'] = $avatar;
             //徽章
             if (!empty($jieqiModules['badge']['publish']) && is_file($jieqiModules['badge']['path'] . '/include/badgefunction.php')) {
                 include_once $jieqiModules['badge']['path'] . '/include/badgefunction.php';
                 //等级徽章
                 $userrows[$k]['url_group'] = getbadgeurl(1, $v->getVar('groupid'), 0, true);
                 //头衔徽章
                 $userrows[$k]['url_honor'] = getbadgeurl(2, $honorid, 0, true);
                 //自定义徽章
                 $jieqi_badgerows = array();
                 $badgeary = unserialize($v->getVar('badges', 'n'));
                 if (is_array($badgeary) && count($badgeary) > 0) {
                     $m = 0;
                     foreach ($badgeary as $badge) {
                         $jieqi_badgerows[$m]['imageurl'] = getbadgeurl($badge['btypeid'], $badge['linkid'], $badge['imagetype']);
                         $jieqi_badgerows[$m]['caption'] = jieqi_htmlstr($badge['caption']);
                         $m++;
                     }
                 }
                 $userrows[$k]['badgerows'] = $jieqi_badgerows;
                 $userrows[$k]['use_badge'] = 1;
             } else {
                 $userrows[$k]['use_badge'] = 0;
             }
             $k++;
         }
     }
     $jieqiTpl->assign_by_ref('userrows', $userrows);
 }
Example #7
0
 }
 $jieqiTpl->assign('qq', $userobj->getVar('qq'));
 $jieqiTpl->assign('icq', $userobj->getVar('icq'));
 $jieqiTpl->assign('msn', $userobj->getVar('msn'));
 $jieqiTpl->assign('url', $userobj->getVar('url'));
 $jieqiTpl->assign('regdate', date(JIEQI_DATE_FORMAT, $userobj->getVar('regdate')));
 $jieqiTpl->assign('experience', $userobj->getVar('experience'));
 $jieqiTpl->assign('score', $userobj->getVar('score'));
 $jieqiTpl->assign('monthscore', $userobj->getVar('monthscore'));
 $jieqiTpl->assign('weekscore', $userobj->getVar('weekscore'));
 $jieqiTpl->assign('dayscore', $userobj->getVar('dayscore'));
 $jieqiTpl->assign('credit', $userobj->getVar('credit'));
 $jieqiTpl->assign('isvip', $userobj->getVar('isvip'));
 $jieqiTpl->assign('viptype', $userobj->getViptype());
 $jieqiTpl->assign('egoldname', JIEQI_EGOLD_NAME);
 $honorid = jieqi_gethonorid($userobj->getVar('score'), $jieqiHonors);
 $jieqiTpl->assign('honor', $jieqiHonors[$honorid]['name'][intval($userobj->getVar('workid'))]);
 $egold = $userobj->getVar('egold');
 $esilver = $userobj->getVar('esilver');
 $emoney = $egold + $esilver;
 $jieqiTpl->assign('egold', $egold);
 $jieqiTpl->assign('esilver', $esilver);
 $jieqiTpl->assign('emoney', $emoney);
 $jieqiTpl->assign('sign', $userobj->getVar('sign'));
 $jieqiTpl->assign('intro', $userobj->getVar('intro'));
 //头像
 $avatar = $userobj->getVar('avatar');
 $jieqiTpl->assign('avatar', $avatar);
 //徽章
 if (!empty($jieqiModules['badge']['publish']) && is_file($jieqiModules['badge']['path'] . '/include/badgefunction.php')) {
     include_once $jieqiModules['badge']['path'] . '/include/badgefunction.php';
Example #8
0
/**
 * 本地用户编辑,正式处理
 * 
 * @param      array       $params 参数数组
 * 必须参数: $params['username'] - 用户名,$params['password'] - 密码
 * @access     public
 * @return     int    
 */
function jieqi_uedit_lprocess(&$params)
{
    global $users_handler;
    global $jieqiLang;
    global $jieqiConfigs;
    global $jieqiHonors;
    global $jieqiUsersStatus;
    global $jieqiUsersGroup;
    //载入参数设置
    if (!isset($jieqiConfigs['system'])) {
        jieqi_getconfigs('system', 'configs');
    }
    //载入语言包
    if (!isset($jieqiLang['system'])) {
        jieqi_loadlang('users', 'system');
    }
    if (!is_a($users_handler, 'JieqiUsersHandler')) {
        include_once JIEQI_ROOT_PATH . '/class/users.php';
        $users_handler =& JieqiUsersHandler::getInstance('JieqiUsersHandler');
    }
    $user = $users_handler->get($params['uid']);
    if (!is_object($user)) {
        $params['error'] = LANG_NO_USER;
        if ($params['return']) {
            return false;
        } else {
            jieqi_printfail($params['error']);
        }
    }
    $chglog = array();
    $chginfo = '';
    $user->unsetNew();
    if ($params['adminlevel'] > 0) {
        if (strlen($params['newpass']) > 0) {
            $user->setVar('pass', $users_handler->encryptPass($params['newpass']));
        }
    }
    if ($params['adminlevel'] == 1) {
        //本人修改
        $user->setVar('name', $params['nickname']);
        if (strlen($params['newpass']) > 0) {
            $user->setVar('pass', $users_handler->encryptPass($params['newpass']));
        }
        $user->setVar('sex', $params['sex']);
        $user->setVar('email', $params['email']);
        $user->setVar('url', $params['url']);
        $user->setVar('qq', $params['qq']);
        $user->setVar('msn', $params['msn']);
        if ($params['viewemail'] != 1) {
            $params['viewemail'] = 0;
        }
        $user->setVar('viewemail', $params['viewemail']);
        $user->setVar('adminemail', $params['adminemail']);
        if (isset($params['workid']) && intval($user->getVar('workid', 'n')) != intval($params['workid'])) {
            $user->setVar('workid', $params['workid']);
            $params['changework'] = true;
        } else {
            $params['changework'] = false;
        }
        $user->setVar('sign', $params['sign']);
        $user->setVar('intro', $params['intro']);
        if (!$users_handler->insert($user)) {
            $params['error'] = empty($params['lang_failure']) ? $jieqiLang['system']['user_edit_failure'] : $params['lang_failure'];
            if ($params['return']) {
                return false;
            } else {
                jieqi_printfail($params['error']);
            }
        } else {
            if ($params['changework'] && $_SESSION['jieqiUserId'] == $user->getVar('uid')) {
                jieqi_getconfigs('system', 'honors');
                $honorid = jieqi_gethonorid($user->getVar('score'), $jieqiHonors);
                $_SESSION['jieqiUserHonor'] = $jieqiHonors[$honorid]['name'][intval($user->getVar('workid', 'n'))];
            }
            if ($params['changenick'] && $_SESSION['jieqiUserId'] == $user->getVar('uid')) {
                $_SESSION['jieqiUserName'] = strlen($user->getVar('name', 'n')) > 0 ? $user->getVar('name', 'n') : $user->getVar('uname', 'n');
            }
            $user->saveToSession();
            return true;
        }
    } else {
        //管理员修改
        if ($params['adminlevel'] >= 2) {
            //修改密码
            if (strlen($params['pass']) > 0) {
                $user->setVar('pass', $users_handler->encryptPass($params['pass']));
                $chginfo .= $jieqiLang['system']['userlog_change_password'];
            }
            //经验值
            if (is_numeric($params['experience']) && $params['experience'] != $user->getVar('experience')) {
                $chglog['experience']['from'] = $user->getVar('experience');
                $chglog['experience']['to'] = $params['experience'];
                $user->setVar('experience', $params['experience']);
                if ($chglog['experience']['from'] > $chglog['experience']['to']) {
                    $chginfo .= sprintf($jieqiLang['system']['userlog_less_experience'], $chglog['experience']['from'] - $chglog['experience']['to']);
                } else {
                    $chginfo .= sprintf($jieqiLang['system']['userlog_add_experience'], $chglog['experience']['to'] - $chglog['experience']['from']);
                }
            }
            //积分
            if (is_numeric($params['score']) && $params['score'] != $user->getVar('score')) {
                $chglog['score']['from'] = $user->getVar('score');
                $chglog['score']['to'] = $params['score'];
                $user->setVar('score', $params['score']);
                if ($chglog['score']['from'] > $chglog['score']['to']) {
                    $chginfo .= sprintf($jieqiLang['system']['userlog_less_score'], $chglog['score']['from'] - $chglog['score']['to']);
                } else {
                    $chginfo .= sprintf($jieqiLang['system']['userlog_add_score'], $chglog['score']['to'] - $chglog['score']['from']);
                }
            }
        }
        if ($params['adminlevel'] >= 3) {
            //会员等级
            if (is_numeric($params['groupid']) && $params['groupid'] != $user->getVar('groupid')) {
                if ($params['groupid'] == JIEQI_GROUP_ADMIN && $jieqiUsersGroup != JIEQI_GROUP_ADMIN) {
                    $params['error'] = $jieqiLang['system']['cant_set_admin'];
                    if ($params['return']) {
                        return false;
                    } else {
                        jieqi_printfail($params['error']);
                    }
                }
                $chglog['groupid']['from'] = $user->getVar('groupid');
                $chglog['groupid']['to'] = $params['groupid'];
                $user->setVar('groupid', $params['groupid']);
                $chginfo .= sprintf($jieqiLang['system']['userlog_change_group'], $jieqiGroups[$chglog['groupid']['from']], $jieqiGroups[$chglog['groupid']['to']]);
            }
        }
        if ($params['adminlevel'] >= 4) {
            //虚拟货币
            if (is_numeric($params['egold']) && $params['egold'] != $user->getVar('egold')) {
                $chglog['egold']['from'] = $user->getVar('egold');
                $chglog['egold']['to'] = $params['egold'];
                $user->setVar('egold', $params['egold']);
                if ($chglog['egold']['from'] > $chglog['egold']['to']) {
                    $chginfo .= sprintf($jieqiLang['system']['userlog_less_egold'], JIEQI_EGOLD_NAME, $chglog['egold']['from'] - $chglog['egold']['to']);
                } else {
                    $chginfo .= sprintf($jieqiLang['system']['userlog_add_egold'], JIEQI_EGOLD_NAME, $chglog['egold']['to'] - $chglog['egold']['from']);
                }
            }
            //银币
            if (is_numeric($params['esilver']) && $params['esilver'] != $user->getVar('esilver')) {
                $chglog['esilver']['from'] = $user->getVar('esilver');
                $chglog['esilver']['to'] = $peyment;
                $user->setVar('esilver', $params['esilver']);
                if ($chglog['esilver']['from'] > $chglog['esilver']['to']) {
                    $chginfo .= sprintf($jieqiLang['system']['userlog_less_esilver'], $chglog['esilver']['from'] - $chglog['esilver']['to']);
                } else {
                    $chginfo .= sprintf($jieqiLang['system']['userlog_add_esilver'], $chglog['esilver']['to'] - $chglog['esilver']['from']);
                }
            }
            //VIP状态
            if (is_numeric($params['isvip']) && $params['isvip'] != $user->getVar('isvip')) {
                $tmpstr = $user->getViptype();
                $chglog['isvip']['from'] = $user->getVar('isvip');
                $chglog['isvip']['to'] = $params['groupid'];
                $user->setVar('isvip', $params['isvip']);
                $chginfo .= sprintf($jieqiLang['system']['userlog_change_vip'], $tmpstr, $user->getViptype());
            }
        }
        if (!$users_handler->insert($user)) {
            $params['error'] = $jieqiLang['system']['change_user_failure'];
            if ($params['return']) {
                return false;
            } else {
                jieqi_printfail($params['error']);
            }
        } else {
            //记录登录日志
            /*
            include_once(JIEQI_ROOT_PATH.'/class/logs.php');
            $logs_handler = JieqiLogsHandler::getInstance('JieqiLogsHandler');
            $logdata = array('logtype'=>2, 'targetid'=>$user->getVar('uid', 'n'), 'targettitle'=>$user->getVar('uname', 'n'), 'lognote'=>$params['reason'], 'logdata'=>$chginfo, 'fromdata'=>$log_fromdata, 'todata'=>serialize($user));
            $logs_handler->addlog($logdata);
            */
            //记录日志
            include_once JIEQI_ROOT_PATH . '/class/userlog.php';
            $userlog_handler = JieqiUserlogHandler::getInstance('JieqiUserlogHandler');
            $newlog = $userlog_handler->create();
            $newlog->setVar('siteid', JIEQI_SITE_ID);
            $newlog->setVar('logtime', JIEQI_NOW_TIME);
            $newlog->setVar('fromid', $_SESSION['jieqiUserId']);
            $newlog->setVar('fromname', $_SESSION['jieqiUserName']);
            $newlog->setVar('toid', $user->getVar('uid', 'n'));
            $newlog->setVar('toname', $user->getVar('uname', 'n'));
            $newlog->setVar('reason', $params['reason']);
            $newlog->setVar('chginfo', $chginfo);
            $newlog->setVar('chglog', serialize($chglog));
            $newlog->setVar('isdel', '0');
            $newlog->setVar('userlog', '');
            $userlog_handler->insert($newlog);
            return true;
        }
    }
    return true;
}