Просмотр исходного кода

translations and facebook login

SRV1 10 лет назад
Родитель
Сommit
be127d5362

+ 1 - 1
apps/server/src/auth/anonymous.erl

@@ -51,7 +51,7 @@ virtual_users() ->
     case kvs:get(user,<<"maxim@synrc.com">>) of
         {aborted,_} -> kvs:join(), kvs:init_db(),
                 create_users(1,100), kvs:put(#user{id= <<"maxim@synrc.com">>});
-        {ok,_} -> skip end,
+        _ -> skip end,
 
     AllUsers = imagionary_users(),
     F = fun({UserId,_,_}, Acc) ->

+ 3 - 2
apps/server/src/sup/journal.erl

@@ -77,7 +77,8 @@ handle_cast({reveal_event, User, Event, GameState}, State) ->
   	  {error,_} -> #reveal_log{};
   	  {ok, RL} -> RL end,
     Skill = case SE#reveal_log.skill of X when is_integer(X) -> X; _ -> 0 end,
-    Score = case SE#reveal_log.score of X1 when is_integer(X1) -> X1; _ -> 0 end,
+    LogScore = case SE#reveal_log.score of X1 when is_integer(X1) -> X1; _ -> 0 end,
+    Score = Event#reveal_event.score,
     NewScore = case kvs:get(user,User) of
         {ok,U=#user{tokens=Tokens}} ->
             ScoreFromUser = Score+proplists:get_value(score,U#user.tokens,0),
@@ -85,7 +86,7 @@ handle_cast({reveal_event, User, Event, GameState}, State) ->
             wf:send(User,{server,{update_score,ScoreFromUser}}),
             ScoreFromUser;
         _ ->
-            ScoreFromLog = Score+Event#reveal_event.score,
+            ScoreFromLog = Score+LogScore,
             wf:send(User,{server,{update_score,ScoreFromLog}}),
             ScoreFromLog
     end,

+ 2 - 28
apps/web/priv/static/app/index.htm

@@ -6,12 +6,11 @@
     <meta name="viewport" content="initial-scale=1, user-scalable=no">
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <title>Kakaranet Okey</title>
-    <link href='https://fonts.googleapis.com/css?family=Exo+2:600&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
+    <link href='https://fonts.googleapis.com/css?family=Exo+2:600&subset=latin,latin-ext,cyrillic' rel='stylesheet' type='text/css'>
     <link href="css/main.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
- 
-    <div id="fb-root"/>
+
     <svg id="Refined" style="top:0; left:0; height:100%; width:100%;"></svg>
 
     <script src="js/n2o/bert.js"></script>
@@ -35,30 +34,5 @@
 
     <script src="js/bootloader.js"></script>
 
-<!-- Lynx Mode Client with minimal set of Okey game controls
-
-<div    class="controls" id="history" height=0 width=0>
-<button class="controls" id="pluslogin" type="button" data-gapiattached="true">Login</button>
- <label class="controls" id="gosterge"> Google</label></div>
- <label class="controls" id="player1"> Albert Einstein </label><select  class="controls" id="h1"></select>
- <label class="controls" id="player2"> Marie Curie </label><select  class="controls" id="h2"></select>
- <label class="controls" id="player3"> Ilya Prigogine </label><select  class="controls" id="h3"></select>
- <label class="controls" id="player4" style="font-weight: bold; color: red;"> Asena Simsek </label><select  class="controls" id="h4"></select>
-<button class="controls" id="logout" type="button">Logout</button>
-<button class="controls" id="attach" type="button">Attach</button>
-<button class="controls" id="join" type="button">Join</button>
-<select class="controls" id="games_ids"></select>
-<select class="controls" id="take_src"><option label="Table" value="0">Table</option><option label="Left" value="1">Left</option></select>
-<button class="controls" id="take" type="button">Take</button>
-<select class="controls" id="istaka"></select>
-<button class="controls" id="discard" type="button">Discard</button>
-<button class="controls" id="reveal" type="button">Reveal</button>
-<button class="controls" id="saw_okey" type="button">I Saw Okey</button>
-<button class="controls" id="have_8" type="button">8 Tashes</button>
-<button class="controls" id="pause" type="button">Pause</button>
-<button class="controls" id="info" type="button">PlayerInfo</button></div>
-
--->
-
 </body>
 </html>

+ 1 - 1
apps/web/priv/static/app/js/okey/okey.js

@@ -289,7 +289,7 @@ function PostLoad()
         $("#RevealDeckRoot").hide();
         for (var player in scope.playersMap) scope.playersMap[player].timer.pause();
         var player = scope.playersMap[e.who];
-        $("#Overlay-Text").text(player.name + " paused the game");
+        $("#Overlay-Text").text(player.name + " paused");
     }
 
     scope.apiProvider.on("game_paused", function(x) {

+ 1 - 1
apps/web/priv/static/app/js/okey/okey_protocol.js

@@ -79,7 +79,7 @@ function OkeyApiProviderScope(scope) {
         emitEvent: function(raw) {
             var msgName = dec(raw).value[0][0].value;
             if (msgName == "game_event") msgName = dec(raw).value[0][2].value;
-
+            console.log(String(dec(raw)));
             for (var event, i = eventMap.length, obj; i--; ) {
                 event = eventMap[i];
                 if (eventMap[i] == msgName)

+ 39 - 1
apps/web/priv/static/app/js/translations.js

@@ -1,5 +1,7 @@
 locale = { en: {}, tr: {} };
 
+// Buttons and Interface
+
 locale.tr.Score       = "Puan";
 locale.tr.Online      = "Oynayanlar";
 locale.tr.Games       = "Oyunlar";
@@ -7,7 +9,10 @@ locale.tr.Rules       = "Kurallar";
 locale.tr.Quota       = "Kota";
 locale.tr.Kakush      = "Kakuş";
 locale.tr.Login       = "Üye Ol";
-locale.tr.Statistics  = "İstatistikleri";
+locale.tr.Statistics  = "İstatistikler";
+
+// Chats
+
 locale.en.EditMessage = "Write some text here";
 locale.tr.EditMessage = "Burada bazı metin yazmak";
 locale.en.GameChat    = "This is In-Game chat";
@@ -15,6 +20,39 @@ locale.tr.GameChat    = "Oyun sohbet";
 locale.en.PrivateChat = "is waiting for chat with you";
 locale.tr.PrivateChat = "seninle sohbet için bekliyor";
 
+// Messages
+
+locale.tr.Paused      = "ara istiyor";
+locale.en.Paused      = "paused";
+locale.tr.Revealed    = "bitirdi";
+locale.en.Paused      = "revealed";
+locale.en.WrongReveal = "Wrong Reveal. Try next time.";
+locale.tr.WrongReveal = "Bu el yanlış. Bitirde gel";
+
+// Rules Dialog
+
+locale.en.FakeJoker   = "Fake Joker";
+locale.tr.FakeJoker   = "Sahte okey";
+locale.tr.WinningDeck = "Açan el";
+locale.en.WinningDeck = "Winning Deck";
+locale.tr.OkeyRules   = "Oyun kuralları";
+locale.en.OkeyRules   = "Okey Rules";
+locale.tr.Run         = "Sıralı";
+locale.tr.Set         = "Asker";
+locale.tr.Pair        = "Çift";
+locale.en.Rules       = "Make 3x3+1x5, 2x3+2x4 or 2x5+1x4 Runs/Sets or 7 Pairs."+
+                        " Use Okey Joker (which is +1 same color as central Gosterme card)"+
+                        " or Fake Joker to substitute any needed card in your combination.";
+
+// Protocol
+
+locale.tr.player_left         = "Oyundan kaçış";
+locale.tr.okey_revealed       = "Açtığı el";
+locale.tr.okey_round_ended    = "Tamamladığı oyun";
+locale.tr.okey_turn_timeout   = "Zamanında oynamama";
+locale.tr.wrong_reveal        = "Yanlış açma";
+locale.tr.okey_game_started   = "Oynadığı oyun";
+
 currentLocale = "en";
 
 function i18n(word) {

+ 2 - 2
apps/web/src/logallow.erl

@@ -10,9 +10,9 @@ log_modules() -> [
     okey_table,
     okey_desk,
 %    okey_scoring,
-%    journal,
+    journal,
 %    lucky,
 %    n2o_secret,
-%    js_session,
+    js_session,
     okey
 ].

+ 4 - 3
apps/web/src/okey.erl

@@ -37,7 +37,7 @@ new_facebook_user(User) ->
     U1 = User#user{tokens=game:plist_setkey(score,1,User#user.tokens,{score,Score})},
     U2 = U1#user{tokens=game:plist_setkey(n2o,1,U1#user.tokens,{n2o,get(session_id)})},
     U3 = U2#user{tokens=game:plist_setkey(skill,1,U2#user.tokens,{skill,Skill})},
-    kvs:add(U3),
+    kvs:put(U3),
     send_auth_cookies(U3),
     U3.
 
@@ -48,6 +48,7 @@ send_auth_cookies(User) ->
     wf:wire(wf:f("document.cookie='~s=~s; path=/; expires=~s';",
         ["n2o-sid",wf:to_list(proplists:get_value(n2o,User#user.tokens)),
         js_session:cookie_expire(js_session:ttl())])),
+    wf:user(User),
     ok.
 
 user() -> 
@@ -177,8 +178,8 @@ event({counter,Res}) -> Pid = self(), spawn(fun() -> Pid ! {server,{online_numbe
 event({user_online,User}) -> wf:info(?MODULE,"User ~p goes Online",[User#user.id]), self() ! {server,{online,User#user.id,User#user.names,User#user.surnames,score(User)}};
 event({user_offline,User}) -> self() ! {server,{offline,User#user.id,User#user.names,User#user.surnames,score(User)}};
 
-event({register,User}) -> wf:info(?MODULE,"Register: ~p",[User]), new_facebook_user(User), wf:user(User), wf:wire("window.location='https://kakaranet.com'");
-event({login,User}) -> wf:info(?MODULE,"Login: ~p",[User]), send_auth_cookies(User), wf:user(User), wf:wire("window.location='https://kakaranet.com'");
+event({register,User}) -> wf:info(?MODULE,"Register: ~p",[User]), new_facebook_user(User), wf:wire("window.location='https://kakaranet.com'");
+event({login,User}) -> wf:info(?MODULE,"Login: ~p",[User]), send_auth_cookies(User), wf:wire("window.location='https://kakaranet.com'");
 
 event(_Event) -> wf:info(?MODULE,"Unknown Event: ~p", [_Event]).