function refreshCache($userid, $item, $new_value = '0')
{
    $filename = BASEPATH . "cache/online_cache.php";
    if (file_exists($filename)) {
        include $filename;
        foreach ($welive_onlines as $key => $value) {
            if (array_key_exists($userid, $value['user'])) {
                $welive_onlines[$key]['user'][$userid][$item] = $new_value;
                if ($item == 'isonline') {
                    $welive_onlines[$key]['user'][$userid]['isbusy'] = '0';
                    //更改了在线状态时, 重置忙碌状态为不忙
                }
                $online_cache = "<?php\r\nif(!defined('WELIVE')) die('File not found!');\r\n\r\n\$welive_onlines  = " . var_export($welive_onlines, true) . ";\r\n\r\n?>";
                $fp = @fopen($filename, 'wb');
                @fwrite($fp, $online_cache);
                @fclose($fp);
            }
        }
    } else {
        storeCache();
        //文件不存在时创建缓存
    }
}
Example #2
0
PrintHeader($userinfo['username'], 'groups');
//########### UPDATE GROUPS ###########
if ($action == 'updategroups') {
    $usergroupids = $_POST['usergroupids'];
    $displayorders = $_POST['displayorders'];
    $groupnames = $_POST['groupnames'];
    $groupenames = $_POST['groupenames'];
    $descriptions = $_POST['descriptions'];
    $descriptionens = $_POST['descriptionens'];
    $activateds = $_POST['activateds'];
    for ($i = 0; $i < count($usergroupids); $i++) {
        $groupname = ForceString($groupnames[$i]);
        $groupename = ForceString($groupenames[$i]);
        $DB->exe("UPDATE " . TABLE_PREFIX . "usergroup SET displayorder = '" . ForceInt($displayorders[$i]) . "',\r\n\t\tgroupname = '" . Iif($groupname, $groupname, '未命名') . "',\r\n\t\tgroupename = '" . Iif($groupename, $groupename, 'No name') . "',\r\n\t\tactivated = '" . ForceInt($activateds[$i]) . "',\r\n\t\tdescription = '" . ForceString($descriptions[$i]) . "',\r\n\t\tdescriptionen = '" . ForceString($descriptionens[$i]) . "'\r\n\t\tWHERE usergroupid = '" . ForceInt($usergroupids[$i]) . "'");
    }
    if (!storeCache()) {
        //更新小面板在线客服缓存文件
        $errortitle = '更新客服缓存错误';
        $errors = '客服群组信息已保存到数据库, 但更新在线客服缓存文件失败, 前台客服小面板状态无法更新! 请检查cache/目录是否存在或可写?';
        $action = 'default';
    } else {
        GotoPage('admin.groups.php', 1);
    }
}
//########### DELETE GROUPS ###########
if ($action == 'deletegroups') {
    $deleteusergroupids = $_POST['deleteusergroupids'];
    for ($i = 0; $i < count($deleteusergroupids); $i++) {
        $DB->exe("DELETE FROM " . TABLE_PREFIX . "usergroup WHERE usergroupid <>1 AND usergroupid = '" . ForceInt($deleteusergroupids[$i]) . "'");
    }
    GotoPage('admin.groups.php', 1);
Example #3
0
<?php

ini_set('display_errors', 1);
header('Content-Type:text/html;charset=utf-8');
include 'includes/welive.Core.php';
header_nocache();
if ($_CFG['cActived']) {
    $kickout_time = time() - $_CFG['cAutoOffline'];
    //踢掉长时间未请求的客服
    $DB->exe("UPDATE " . TABLE_PREFIX . "user SET isonline = 0 WHERE last_request < {$kickout_time}");
    //$online_cache_file = BASEPATH.'cache/online_cache.php';
    //@include($online_cache_file);
    //if(!isset($welive_onlines) OR !is_array($welive_onlines)){
    $welive_onlines = storeCache();
    //if(!$welive_onlines) die('Save cache failed!');
    //}
    $from_url = base64_encode($_SERVER['HTTP_REFERER']);
    $cm_user_id = isset($_GET['userId']) ? $_GET['userId'] : '';
    $online_users = array();
    $offline_users = array();
    foreach ($welive_onlines as $usergroup) {
        foreach ($usergroup['user'] as $user_id => $user) {
            //print_r($user);
            if ($user['type'] != 1) {
                continue;
            }
            if ($user['isonline'] == 1) {
                $online_users[$user_id] = $user;
            } else {
                $offline_users[$user_id] = $user;
            }