Example #1
0
 * @category   jieqicms
 * @package    system
 * @copyright  Copyright (c) Hangzhou Jieqi Network Technology Co.,Ltd. (http://www.jieqi.com)
 * @author     $Author: juny $
 * @version    $Id: userlog.php 326 2009-02-04 00:26:22Z juny $
 */
//用户日志
define('JIEQI_MODULE_NAME', 'system');
require_once '../global.php';
//检查权限
include_once JIEQI_ROOT_PATH . '/class/power.php';
$power_handler =& JieqiPowerHandler::getInstance('JieqiPowerHandler');
$power_handler->getSavedVars('system');
jieqi_checkpower($jieqiPower['system']['adminuserlog'], $jieqiUsersStatus, $jieqiUsersGroup, false, true);
include_once JIEQI_ROOT_PATH . '/class/userlog.php';
$userlog_handler = JieqiUserlogHandler::getInstance('JieqiUserlogHandler');
jieqi_getconfigs(JIEQI_MODULE_NAME, 'configs');
if (empty($_REQUEST['page']) || !is_numeric($_REQUEST['page'])) {
    $_REQUEST['page'] = 1;
}
include_once JIEQI_ROOT_PATH . '/admin/header.php';
$criteria = new CriteriaCompo();
if (!empty($_REQUEST['keyword'])) {
    if ($_REQUEST['keytype'] == 1) {
        $criteria->add(new Criteria('toname', $_REQUEST['keyword'], '='));
    } else {
        $criteria->add(new Criteria('fromname', $_REQUEST['keyword'], '='));
    }
}
$criteria->setSort('logid');
$criteria->setOrder('DESC');
Example #2
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;
}