public static function sendSESFromHtml($html, $to, $subject) { $tos = array(); if (!empty($to)) { $array = explode(";", $to); if (!empty($array) && sizeof($array) > 0) { foreach ($array as $mail) { if (!empty($mail)) { array_push($tos, $mail); } else { error_log($mail . " not valid"); } } } } if (!empty($tos) && sizeof($tos) > 0) { $ses = new SimpleEmailService(AWS_SES_API_KEY, AWS_SES_API_SECRET); $ses->enableVerifyPeer(false); $m = new SimpleEmailServiceMessage(); $m->setSubjectCharset("UTF-8"); $m->setMessageCharset("UTF-8"); foreach ($tos as $mail) { $m->addTo($mail); } $m->setFrom(AWS_SES_API_FROM); $m->setSubject($subject); $m->setMessageFromString(null, $html); return $ses->sendEmail($m); } else { error_log(LanguageUtils::getText("LANG_UTILS_MAIL_ERROR_EMAIL_EMPTY")); } return false; }
public static function getConnection() { if (!self::$db) { try { self::$db = new PDO('mysql:host=' . DB_SERVER . ';dbname=' . DB_DATABASE . ';charset=utf8', DB_USERNAME, DB_PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo LanguageUtils::getText("LANG_UTILS_GENERAL_CONNECTION_ERROR") . $e->getMessage(); } } return self::$db; }
} 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($itemCode)) { $itemCode = str_replace("/", "", $itemCode); $item = GameItems::getGameItemByCode($itemCode); if (empty($item)) { $error = false; $log->logError(LanguageUtils::getText("LANG_API_ITEM_ID_EMPTY")); $result->result = LanguageUtils::getText("LANG_API_ITEM_ID_EMPTY"); } $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("useItem : userId > " . $userId . " itemCode > " . $itemCode . " gameId > " . $gameId); $time = time(); try { $result = ItemUtils::useItem($user, $item, $quantity, $toUserId, $gameId, $time); } catch (Exception $exc) { echo $exc->getMessage(); } } } echo json_encode($result); exit(1);
LanguageUtils::setLocale($locale); $productId = null; if (isset($_GET["productId"])) { $productId = $_GET["productId"]; } else { if (isset($_POST["productId"])) { $productId = $_POST["productId"]; } } $product = new GameFbProducts(); $product = GameFbProducts::getProductById($productId); if (empty($product)) { header('HTTP/1.0 404 Not Found'); exit(1); } $text = $product->getText(LanguageUtils::getLocale()); ?> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"> <meta property="og:type" content="og:product" /> <meta property="og:title" content="<?php echo $text->title; ?> " /> <meta property="og:plural_title" content="<?php echo $text->title_plural; ?> " /> <meta property="og:image" content="<?php echo $product->img; ?>
<div class="flash_header_plus"></div> <div class="flash_header_item"> <a href="#"> <div class="flash_header_item_img subscribe"></div> <div class="flash_header_item_text"><?php echo LanguageUtils::getText('LANG_HEADER_SUBSCRIBE'); ?> </div> </a> </div> <div class="flash_header_plus"></div> <div class="flash_header_item"> <a href="#"> <div class="flash_header_item_img publish"></div> <div class="flash_header_item_text"><?php echo LanguageUtils::getText('LANG_HEADER_PUBLISH'); ?> </div> </a> </div> <!-- <div class="flash_header_coins"> </div> --> </div> </div> <?php $params = "system="; if (defined("SERVER_PROD") && SERVER_PROD) { if (isset($_GET["istest"]) && $_GET["istest"] == "1") { $params = $params . "test00"; } else { $params = $params . "prod"; }
public function index() { if (defined("SERVER_PROD")) { if (!SERVER_PROD) { $this->user = GameUsers::getGameUserById(2); LanguageUtils::setLocale($this->user->language); if (!empty($this->user) && $this->user->active == 0) { $this->redirect("banned"); exit(1); } return; } } $facebook = new Facebook(array('appId' => FB_APP_ID, 'secret' => FB_APP_SECRET, 'cookie' => true)); $login_req = true; $this->user = UtilFunctions::autoLogin(); if (!empty($this->user)) { $facebook->setAccessToken($this->user->getOauthToken()); try { $fbUser = $facebook->api("/me"); if (!empty($fbUser) && !empty($fbUser['id'])) { $login_req = false; } } catch (Exception $exc) { $this->log->logError($exc->getTraceAsString()); } } else { $login_req = true; if (isset($_GET['error']) || isset($_GET['error_reason']) || isset($_GET['error_description'])) { if ($_GET['error_description']) { $this->addError($_GET['error_description']); } if (isset($_GET['error_reason'])) { $this->addError(isset($_GET['error_reason'])); } echo "<p> Error : " . $_GET['error_reason'] . "</p>"; echo "<p> Please Refresh Page ! </p>"; exit(1); } else { $facebook = new Facebook(array('appId' => FB_APP_ID, 'secret' => FB_APP_SECRET, 'cookie' => true)); try { $fbUser = $facebook->api("/me"); } catch (Exception $exc) { $this->log->logError($exc->getTraceAsString()); } if (!empty($fbUser) && !empty($fbUser['id'])) { $this->user = GameUsers::getGameUserByFBId($fbUser['id']); if (!empty($this->user)) { $this->user->setOauthToken($facebook->getAccessToken()); $this->user->setLastLoginDate(time()); $this->user->setLoginCount($this->user->getLoginCount() + 1); $this->user->updateToDatabase(DBUtils::getConnection()); Queue::checkUserFriends($this->user->userId); UtilFunctions::storeSessionUser($this->user); $login_req = false; } else { $result = GameUsers::createGameUser($fbUser, $facebook->getAccessToken()); if ($result->success) { $this->user = $result->result; if (!empty($result)) { $userId = $this->user->getUserId(); if (!empty($userId)) { Queue::checkUserFriends($this->user->userId); UtilFunctions::storeSessionUser($this->user); $login_req = false; $this->newUser = "******"; } } else { $this->addError(LANG_FACEBOOK_USER_CREATE_ERROR_UNKNOWN_ERROR); } } else { if (!empty($result->result)) { foreach ($result->result as $value) { $this->addError($value); } } else { $this->addError(LANG_FACEBOOK_USER_CREATE_ERROR_UNKNOWN_ERROR); } } unset($result); } } if (!$login_req && !empty($this->user)) { GameUserLoginLog::insertLog($this->user->userId); } } } if (!$login_req) { if (!empty($this->user) && $this->user->active == 0) { $this->redirect("banned"); exit(1); } } if ($login_req) { UtilFunctions::forgetMe(); $params = array('scope' => FB_SCOPE, 'redirect_uri' => FB_CALLBACK_URL); $login_url = $facebook->getLoginUrl($params); if (isset($_SERVER['QUERY_STRING'])) { if (strpos($login_url, "?")) { $login_url . "&" . $_SERVER['QUERY_STRING']; } else { $login_url . "?" . $_SERVER['QUERY_STRING']; } } ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head></head> <body><script>top.location.href='<?php echo $login_url; ?> ';</script></body> </html> <?php exit(1); } else { $this->dailyBonus = BonusUtils::getDailyBonusPrice($this->user); if (isset($_GET['request_ids']) && !empty($_GET['request_ids'])) { $this->fbRequests = FacebookRequestUtils::getFacebookGiftRequest($this->user, $_GET['request_ids']); } LanguageUtils::setLocale($this->user->language); } }
public static function useItem($user, $item, $quantity, $toUserId = null, $gameId = null, $time = null) { if (empty($time)) { $time = time(); } $result = new FunctionResult(); $result->success = false; if (!empty($user)) { if (!empty($item)) { $userItemLog = new GameUserItemLog(); $userItemLog->setItemId($item->id); $userItemLog->setGameId($gameId); $userItemLog->setTime($time); $userItemLog->setUserId($user->userId); $userItemLog->setCoin($item->coin); $userItemLog->setTo($toUserId); $userItemLog->setQuantity($quantity); $userItemLog->setType(GameUserItemLog::$CONSTANT_ITEM_LOG_TYPE_USED); $userItemLog->setUserLevel($user->userLevelNumber); $userItemLog->setUserCoin($user->coins); //$userItemLog->setUserSpentCoin(GameUserItemLog::$CONSTANT_ITEM_LOG_TYPE_BUY); try { $userItemLog->insertIntoDatabase(DBUtils::getConnection()); } catch (Exception $exc) { error_log($exc->getMessage()); error_log($exc->getTraceAsString()); } $userItem = ItemUtils::getUserItem($toUserId, $item->itemCode); if (empty($userItem)) { $userItem = new GameUserItems(); $userItem->setId(-1); $userItem->setUserId($toUserId); $userItem->setItemCode($item->itemCode); $userItem->setActive(1); $userItem->setQuantity(0); } $userItem->setTime($time); if ($quantity < $userItem->quantity) { $userItem->setQuantity($userItem->quantity - $quantity); } else { $userItem->setQuantity(0); } try { $userItem->updateInsertToDatabase(DBUtils::getConnection()); } catch (Exception $exc) { error_log($exc->getMessage()); error_log($exc->getTraceAsString()); } $result->success = true; $result->data = new stdClass(); $user->items = ItemUtils::getUserItems($user->userId); $result->data->user = $user; $result->data->item = $item; 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; } }
public static function buyProduct($user, $product, $requestId, $paymentId, $signedReq, $status, $currency, $amount, $quantity, $type, $time) { if (empty($time)) { $time = time(); } $result = new FunctionResult(); $result->success = false; if (!empty($user)) { if (!empty($product)) { if ($status == "completed") { Queue::addUserCoinLog($user->userId, $product->coinCount, $product->coinCount, $time, GameUserXpLog::$CONSTANT_LOG_TYPE_BUY_PRODUCT, 1, null, $requestId . "_" . $product->id . "_" . $product->fbId . "_" . $product->coinCount . "_" . $product->coinCount, null); Queue::addUserLeaderBoard($user->userId, $product->coinCount, $time); $coin = $user->coins + $product->coinCount * $quantity; $user->setCoins($coin); $user->updateToDatabase(DBUtils::getConnection()); } //if product campaign if ($product->type == GameFbProducts::$TYPE_CAMPAIGN && !empty($product->products)) { try { $products = json_decode($product->products); if (!empty($products)) { foreach ($products as $pro) { if (!empty($pro) && !empty($pro->itemId)) { ItemUtils::buyCampaignItem($user, $pro->itemId, $pro->count, $time); } } } } catch (Exception $exc) { error_log($exc->getMessage()); error_log($exc->getTraceAsString()); } } //if product campaign $userProductLog = new GameUserFbProductLog(); $userProductLog->setAmount($amount); $userProductLog->setCoinCount($product->coinCount); $userProductLog->setCurrency($currency); $userProductLog->setPaymentId($paymentId); $userProductLog->setProdudctId($product->id); $userProductLog->setQuantity($quantity); $userProductLog->setRequestId($requestId); $userProductLog->setSignedReq($signedReq); $userProductLog->setStatus($status); $userProductLog->setTime($time); $userProductLog->setType($type); $userProductLog->setUserId($user->userId); $userProductLog->setUserLevel($user->userLevelNumber); $userProductLog->setUserCoin($user->coins); try { $userProductLog->insertIntoDatabase(DBUtils::getConnection()); } catch (Exception $exc) { error_log($exc->getMessage()); error_log($exc->getTraceAsString()); } $result->success = true; $result->data = new stdClass(); $result->data->user = $user; 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; } }
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; }
//new user $facebook = new Facebook(array('appId' => FB_APP_ID, 'secret' => FB_APP_SECRET, 'cookie' => true)); $facebook->setAccessToken($fbToken); $fbUser = $facebook->api("/me"); $res = GameUsers::createGameUser($fbUser, $fbToken); if ($res->success) { $user = $res->result; $userId = $user->getUserId(); if (!empty($userId)) { Queue::checkUserFriends($userId); UtilFunctions::storeSessionUser($user); $newUser = "******"; $error = false; } } else { $result->result = LanguageUtils::getText("LANG_FACEBOOK_USER_CREATE_ERROR_UNKNOWN_ERROR"); } } } else { $result->result = "fbUserId or fbToken empty"; } if (!$error && !empty($user)) { $result->success = true; $result->result = new stdClass(); $result->result->user = $user; $result->result->dailyBonus = BonusUtils::getDailyBonusPrice($user); $result->result->socialLikeBonus = $user->getSocialBonusLike() != 1; $result->result->system = SERVER_PROD ? "prod" : "local"; $result->result->newUser = $newUser; $result->result->version = APP_VERSION; }