public static function getGameResultShareBonusPrice($user)
 {
     if (!empty($user) && !empty($user->userId)) {
         $bonus = GameConstantUtil::getConstant(BonusUtils::$CONSTANT_SOCIAL_GAME_RESULT_SHARE_BONUS);
         if ($bonus <= 0) {
             $bonus = 500;
         }
         $time = time();
         $user->setCoins($user->getCoins() + $bonus);
         $user->setSocialBonusLike(1);
         $user->updateToDatabase(DBUtils::getConnection());
         $userCoinLog = new GameUserCoinLog();
         $userCoinLog->setUserId($user->userId);
         $userCoinLog->setCoin($user->getCoins());
         $userCoinLog->setDifCoin($bonus);
         $userCoinLog->setTime($time);
         $userCoinLog->setType(GameUserXpLog::$CONSTANT_LOG_TYPE_SOCIAL_GAME_RESULT_SHARE_BONUS);
         $userCoinLog->setAdd(1);
         $userCoinLog->setResult(GameUserXpLog::$CONSTANT_LOG_TYPE_SOCIAL_GAME_RESULT_SHARE_BONUS . "->" . "liked");
         $userCoinLog->setUserLevel($user->userLevelNumber);
         //$userCoinLog->setUserSpentCoin($user->opponentId);
         try {
             $userCoinLog->insertIntoDatabase(DBUtils::getConnection());
         } catch (Exception $exc) {
             error_log($exc->getTraceAsString());
         }
         Queue::addUserLeaderBoard($user->userId, $bonus, $time);
         return true;
     }
     return false;
 }
 public static function setConstant($key, $value = null)
 {
     if (!empty($key)) {
         GameConstantUtil::setCacheConstant($key, $value);
         $setting = GameConstants::findByExample(DBUtils::getConnection(), GameConstants::create()->setKey_($key));
         if (!empty($setting)) {
             if (sizeof($setting) > 0) {
                 $setting = $setting[0];
                 $k = $setting->getKey_();
                 if (empty($k)) {
                     $setting = null;
                 }
             } else {
                 $setting = null;
             }
         }
         if (!empty($setting)) {
             $setting->setValue_($value);
         } else {
             $setting = GameConstants::create();
             $setting->setKey_($key);
             $setting->setValue_($value);
         }
         $setting->updateInsertToDatabase(DBUtils::getConnection());
     }
     return false;
 }
 public static function getFacebookGiftRequest($user, $requestIds)
 {
     if (!empty($user) && !empty($requestIds)) {
         $day = intval(GameConstantUtil::getConstant(FacebookRequestUtils::$CONSTANT_REQUEST_GIFT_TIME));
         if ($day <= 0) {
             $day = 7;
         }
         $coin = intval(GameConstantUtil::getConstant(FacebookRequestUtils::$CONSTANT_REQUEST_GIFT_COIN));
         if ($day <= 0) {
             $day = FacebookRequestUtils::$CONSTANT_REQUEST_GIFT_COIN_DEFAULT;
         }
         $SQL = "SELECT * FROM " . TBL_GAME_FB_REQUEST . " WHERE  `to`='" . DBUtils::mysql_escape($user->facebookId) . "' AND used=0 AND type='" . FacebookRequestUtils::$CONSTANT_REQUEST_TYPE_GIFT . "' AND requestId IN (" . $requestIds . ") ORDER BY `time` DESC";
         $fbRequests = GameFbRequest::findBySql(DBUtils::getConnection(), $SQL);
         $userArray = array();
         if (!empty($fbRequests) && sizeof($fbRequests) > 0) {
             for ($i = sizeof($fbRequests) - 1; $i >= 0; $i--) {
                 $req = $fbRequests[$i];
                 $req->coin = $coin;
                 if (!empty($req)) {
                     $usrArr = $userArray[$req->userId];
                     if (empty($usrArr)) {
                         $usrArr = array();
                         array_push($usrArr, $req);
                     } else {
                         $last = $usrArr[sizeof($usrArr) - 1];
                         if (intval(date("Ymd", $req->time)) - intval(date("Ymd", $last->time)) >= 7) {
                             array_push($usrArr, $req);
                         } else {
                             GameFbRequest::useRequest($req->getId(), 2);
                         }
                     }
                     $userArray[$req->userId] = $usrArr;
                 }
             }
         }
         unset($fbRequests);
         $result = array();
         foreach ($userArray as $userReq) {
             if (!empty($userReq) && sizeof($userReq) > 0) {
                 try {
                     $coin = 0;
                     $obj = new stdClass();
                     $tmp = GameUsers::findById(DBUtils::getConnection(), $userReq[0]->userId);
                     if (!empty($tmp)) {
                         $obj->user = new stdClass();
                         $obj->user->userId = $tmp->userId;
                         $obj->user->userName = $tmp->userName;
                         $obj->user->userFirstname = $tmp->userFirstname;
                         $obj->user->userLastname = $tmp->userLastname;
                         $obj->user->facebookId = $tmp->facebookId;
                         $obj->user->userXP = $tmp->userXP;
                         $obj->user->userLevelNumber = $tmp->userLevelNumber;
                         $obj->user->coins = $tmp->coins;
                         $ids = "";
                         foreach ($userReq as $req) {
                             if (!empty($req)) {
                                 GameFbRequest::useRequest($req->getId());
                                 $coin = $coin + intval($req->coin);
                                 if (!empty($ids)) {
                                     $ids = $ids . "," . $req->requestId;
                                 } else {
                                     $ids = $ids . "" . $req->requestId;
                                 }
                             }
                         }
                         $obj->coin = $coin;
                         $obj->ids = $ids;
                         $obj->type = FacebookRequestUtils::$CONSTANT_REQUEST_TYPE_GIFT;
                         array_push($result, $obj);
                     }
                 } catch (Exception $exc) {
                     error_log($exc->getTraceAsString());
                 }
             }
         }
         unset($userArray);
         foreach ($result as $value) {
             if (!empty($value)) {
                 $time = time();
                 $user->setCoins($user->getCoins() + $value->coin);
                 $user->updateToDatabase(DBUtils::getConnection());
                 $userCoinLog = new GameUserCoinLog();
                 $userCoinLog->setUserId($user->userId);
                 $userCoinLog->setCoin($user->getCoins());
                 $userCoinLog->setDifCoin($value->coin);
                 $userCoinLog->setTime($time);
                 $userCoinLog->setType(FacebookRequestUtils::$CONSTANT_REQUEST_TYPE_GIFT);
                 $userCoinLog->setAdd(1);
                 $userCoinLog->setResult(FacebookRequestUtils::$CONSTANT_REQUEST_TYPE_GIFT . "->" . $value->user->userId . "->" . $value->ids);
                 $userCoinLog->setOpponentId($value->user->userId);
                 $userCoinLog->setUserLevel($user->userLevelNumber);
                 //$userCoinLog->setUserSpentCoin($user->opponentId);
                 try {
                     $userCoinLog->insertIntoDatabase(DBUtils::getConnection());
                 } catch (Exception $exc) {
                     error_log($exc->getTraceAsString());
                 }
                 Queue::addUserLeaderBoard($user->userId, $value->coin, $time);
             }
         }
     }
     return base64_encode(json_encode($requestIds));
 }
Example #4
0
    if (empty($user->userLastname)) {
        $errorHTML .= "<p/>Enter User Last Name";
    }
    if (empty($user->password)) {
        $user->setPassword(DBUtils::get_uuid());
    }
    if (empty($errorHTML)) {
        if (empty($user->registerDate)) {
            $user->setRegisterDate(time());
        }
        $user->updateInsertToDatabase(DBUtils::getConnection());
        $bot->setUserId($user->userId);
        $bot->updateInsertToDatabase(DBUtils::getConnection());
        try {
            $const = "v1.3_" . date("Ymd");
            GameConstantUtil::setConstant("constant.bot.version", $const);
        } catch (Exception $exc) {
            error_log($exc->getMessage());
            error_log($exc->getTraceAsString());
        }
        header("Location: " . HOSTNAME . "admin/bots.php");
        exit(1);
    }
}
$page_var = "bots";
include_once __ROOT__ . 'admin/admin_header_layout.php';
?>

<div class="container">
    <div class="row"> 
        <div class="span12" style="min-height: 40px;">
 public static function updateXP(GameUsers $user, GameUsers $opponent, $roomGroupId, $action, $gameId = null, $double = 0, $normal = true, $type = null, $time = null)
 {
     $result = new FunctionResult();
     $result->success = false;
     if (!empty($user) && !empty($action)) {
         $gain = 0;
         $xp = $user->getUserXP();
         if ($action == GameUtils::$GAME_RESULT_ACTION_WIN) {
             $gain = (int) GameConstantUtil::getConstant(GameUtils::$CONSTANT_WIN_XP_GAIN);
             if (!$normal) {
                 $gain = $gain * 2;
             }
         } else {
             if ($action == GameUtils::$GAME_RESULT_ACTION_LOST) {
                 if ($type == GameUtils::$GAME_RESULT_ACTION_TYPE_QUIT) {
                     $gain = (int) GameConstantUtil::getConstant(GameUtils::$CONSTANT_QUIT_XP_GAIN);
                 } else {
                     if ($type == GameUtils::$GAME_RESULT_ACTION_TYPE_LEFT || $type == GameUtils::$GAME_RESULT_ACTION_TYPE_TIMESUP) {
                         $gain = (int) GameConstantUtil::getConstant(GameUtils::$CONSTANT_CONN_LOST_XP_GAIN);
                     } else {
                         $gain = (int) GameConstantUtil::getConstant(GameUtils::$CONSTANT_LOSE_XP_GAIN);
                     }
                 }
             } else {
                 $xp = -1;
             }
         }
         if ($xp >= 0) {
             $gameResult = $action . "_" . $normal . "_" . $double . "_" . $type;
             $oppId = null;
             if (!empty($opponent)) {
                 $oppId = $opponent->getUserId();
             }
             if (empty($time)) {
                 $time = time();
             }
             Queue::addUserXPLog($user->userId, $gain, $time, GameUserXpLog::$CONSTANT_LOG_TYPE_GAME, $gameId, $gameResult, $oppId);
             $xp = $xp + $gain;
             $user->setUserXP($xp);
             $userLevel = GameUserLevel::getUserLevel($xp);
             $user->userLevel = $userLevel;
             if (!empty($userLevel) && !empty($userLevel->levelNumber)) {
                 $user->setUserLevelNumber($userLevel->levelNumber);
             }
             $result->success = true;
         } else {
             $result->success = false;
             $result->result = "Action unknown";
         }
     }
     return $result;
 }
 public static function createGameUser($fbUser, $accessToken)
 {
     $result = new FunctionResult();
     $errors = array();
     if (empty($fbUser) || empty($fbUser['id'])) {
         array_push($errors, LanguageUtils::getText("LANG_FACEBOOK_USER_CREATE_ERROR_USER_EMPTY"));
         $result->success = false;
         $result->result = $errors;
         unset($errors);
         return $result;
     }
     if (empty($accessToken)) {
         array_push($errors, LanguageUtils::getText("LANG_FACEBOOK_USER_CREATE_ERROR_TOKEN_EMPTY"));
         $result->success = false;
         $result->result = $errors;
         unset($errors);
         return $result;
     }
     $user = GameUsers::create();
     $user->setActive(1);
     $user->setFacebookId($fbUser['id']);
     $user->setOauthToken($accessToken);
     $user->setCoins(GameConstantUtil::getConstant(GameUsers::$CONSTANT_USER_FIRST_COIN));
     if (isset($fbUser['username'])) {
         $user->setUserName($fbUser['username']);
     } else {
         $user->setUserName($fbUser['id']);
     }
     if (isset($fbUser['first_name'])) {
         $user->setUserFirstname($fbUser['first_name']);
     }
     if (isset($fbUser['last_name'])) {
         $user->setUserLastname($fbUser['last_name']);
     }
     if (isset($fbUser['email'])) {
         $user->setUserMail($fbUser['email']);
     }
     $time = time();
     $user->setRegisterDate($time);
     $user->setLastLoginDate($time);
     $user->setLoginCount(1);
     if (isset($fbUser['gender'])) {
         if ($fbUser['gender'] == "male") {
             $user->setGender(1);
         } else {
             if ($fbUser['gender'] == "female") {
                 $user->setGender(0);
             }
         }
     }
     if (isset($fbUser['birthday'])) {
         $user->setBirtday($fbUser['birthday']);
         $user->setBirthdayDate(DBUtils::facebookBirthDayConverter($fbUser['birthday']));
     }
     $user->setPassword(DBUtils::get_uuid());
     $user->setUserXP(0);
     $level = GameUserLevel::getUserLevel(0);
     if (!empty($level)) {
         $user->setUserLevelNumber($level->levelNumber);
     }
     $user->setWinGameCount(0);
     $user->setLostGameCount(0);
     $user->setWinCountQuitGame(0);
     $user->setWinCountConnectionLostGame(0);
     $user->setWinCountDoubleGame(0);
     $user->setLostCountQuitGame(0);
     $user->setLostCountConnectionLostGame(0);
     $user->setLostCountDoubleGame(0);
     $user->insertIntoDatabase(DBUtils::getConnection());
     $result->success = true;
     $result->result = $user;
     Queue::updateUserImage($user->userId);
     unset($user);
     return $result;
 }