function actionSendSystemMsg() { //$uid = (int)self::getParam('uid'); $userstr = self::getParam('uid'); $sec = self::getParam('sec'); $content = self::getParam('content'); $desc = self::getParam('desc'); $items = self::getParam('items'); $ready_id = self::getParam('ready_id'); foreach ((array) $items as $value) { $tag = $value['tag']; $num = intval($value['num']); if ($tag == 'gem' && $num > 100000) { echo "error, 元宝不能大于100000"; exit; } } $key = uniqid(); $msg = array('key' => $key, 'time' => app()->now, 'content' => $content, 'type' => 'system'); if ($userstr != "all") { $uids = explode(',', $userstr); $itemmsg = ""; foreach ($uids as $uid) { $uid = getApp()->getRealUid($uid, $sec); $sec = getApp()->getRealSec($sec); $player = new model_Player($uid, $sec); $level = $player->objectGet("base", "level"); foreach ((array) $items as $key => $value) { $tag = $value['tag']; $num = intval($value['num']); if ($tag == 'qiyu_zhidian') { $zhidian_lvl = max(1, $level * 3 - 34); for ($i = 0; $i < $num; $i++) { $items[] = array('tag' => 'qiyu_zhidian', 'level' => $zhidian_lvl, 'num' => 1); } unset($items[$key]); } } if (is_array($items) && count($items) > 0) { $msg['status'] = 'award'; #$msg['content'].="\n$desc"; $cdkey = model_Cdkey::gen($items, $desc, 1, 'def'); $msg['cdkey'] = $cdkey; } $r = model_Chat::sendMsg($msg, $uid, 'origin', $sec); } } else { $r = model_Chat::send($msg, 2, "", "toall", $sec); } if ($r) { $mon = new PL_Db_Mongo(DbConfig::getMongodb('userlogin')); $mon->switchColl('msgready'); $mon = $mon->getmc(); $id = $mon->update(array('ready_id' => (int) $ready_id), array('$set' => array('applicant_status' => 0, 'check_man' => $_SERVER['PHP_AUTH_USER']))); echo json_encode(array('s' => 'OK')); } }