Exemplo n.º 1
0
 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'));
     }
 }