public static function buyCampaignItem($user, $itemId, $count, $time = null, $gameId = null) { if (empty($time)) { $time = time(); } $result = new FunctionResult(); $result->success = false; if (!empty($user)) { if (!empty($itemId)) { $item = GameItems::getGameItemById($itemId); if (!empty($item)) { $userItemLog = new GameUserItemLog(); $userItemLog->setItemId($item->id); $userItemLog->setGameId($gameId); $userItemLog->setTo($user->userId); $userItemLog->setTime($time); $userItemLog->setUserId($user->userId); $userItemLog->setCoin(0); $userItemLog->setQuantity($count * $item->quantity); $userItemLog->setType(GameUserItemLog::$CONSTANT_ITEM_LOG_TYPE_CAMPAIGN); $userItemLog->setUserLevel($user->userLevelNumber); $userItemLog->setUserCoin($user->coins); try { $userItemLog->insertIntoDatabase(DBUtils::getConnection()); } catch (Exception $exc) { error_log($exc->getMessage()); error_log($exc->getTraceAsString()); } $userItem = ItemUtils::getUserItem($user->userId, $item->itemCode); if (empty($userItem)) { $userItem = new GameUserItems(); $userItem->setId(-1); $userItem->setUserId($user->userId); $userItem->setItemCode($item->itemCode); $userItem->setActive(1); $userItem->setQuantity(0); } $userItem->setTime($time); $userItem->setQuantity($item->quantity * $count + $userItem->quantity); try { $userItem->updateInsertToDatabase(DBUtils::getConnection()); } catch (Exception $exc) { error_log($exc->getMessage()); error_log($exc->getTraceAsString()); } $result->success = true; $result->data = new stdClass(); return $result; } else { $result->result = LanguageUtils::getText("LANG_API_TO_ITEM_EMPTY"); return $result; } } else { $result->result = LanguageUtils::getText("LANG_API_TO_ITEM_EMPTY"); return $result; } } else { $result->result = LanguageUtils::getText("LANG_API_USER_EMPTY"); return $result; } }
} else { $log->logError(LanguageUtils::getText("LANG_API_TO_USER_ID_EMPTY")); $result->result = LanguageUtils::getText("LANG_API_TO_USER_ID_EMPTY"); } } else { $toUser = $user; $error = true; } } else { $log->logError(LanguageUtils::getText("LANG_API_USER_ID_EMPTY")); $result->result = LanguageUtils::getText("LANG_API_USER_ID_EMPTY"); } if ($error) { $error = false; if (!empty($itemId)) { $item = GameItems::getGameItemById($itemId); $error = true; } else { $log->logError(LanguageUtils::getText("LANG_API_ITEM_ID_EMPTY")); $result->result = LanguageUtils::getText("LANG_API_ITEM_ID_EMPTY"); } if ($error) { $log->logInfo("buyItem : userId > " . $userId . " toUserId > " . $toUserId . " itemId > " . $itemId . " gameId > " . $gameId); $time = time(); try { $result = ItemUtils::buyItem($user, $toUser, $item, $gameId, $time); if ($useItem == "1") { ItemUtils::useItem($user, $item, 1, $toUserId, $gameId, $time); } } catch (Exception $exc) { echo $exc->getMessage();