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(); //文件不存在时创建缓存 } }
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);
<?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; }