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;
 }
示例#2
0
 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;
 }
示例#3
0
} 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);
示例#4
0
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;
?>
示例#5
0
                <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";
    }
示例#6
0
    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;
}