f73bea7c3b3c45f3dadab211c4fd259c40981c5f
[brisk.git] / web / briskin5 / index.php
1 <?php
2 /*
3  *  brisk - briskin5/index.php
4  *
5  *  Copyright (C) 2006-2012 Matteo Nastasi
6  *                          mailto: nastasi@alternativeoutput.it
7  *                                  matteo.nastasi@milug.org
8  *                          web: http://www.alternativeoutput.it
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful, but
16  * WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABLILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * General Public License for more details. You should have received a
19  * copy of the GNU General Public License along with this program; if
20  * not, write to the Free Software Foundation, Inc, 59 Temple Place -
21  * Suite 330, Boston, MA 02111-1307, USA.
22  *
23  */
24
25 /* MLANG: le img dell'asta */
26
27 $G_base = "../";
28
29 require_once("../Obj/brisk.phh");
30 require_once("Obj/briskin5.phh");
31
32 $mlang_bin5_index = array( 'aucwin' => array( 'it' => 'Hai vinto l\'asta.<br> Scegli il seme:',
33                                               'en' => 'You win the auction.<br> Choose the seed:' ),
34                            'tit_info'    => array( 'it' => 'Info',
35                                                    'en' => 'Info'),
36                            'tit_relo'    => array( 'it' => 'Reload',
37                                                    'en' => 'Reload'),
38                            'tit_out'     => array( 'it' => 'Fuori',
39                                                    'en' => 'Out'),
40                            'tit_pref'    => array( 'it' => 'Prefs',
41                                                    'en' => 'Prefs'),
42                            'itm_ringauc' => array('it' => 'riproduci un suono di notifica alla fine dell\' asta',
43                                                   'en' => 'play a sound at the end of the auction'),
44                            'btn_update'  => array('it' => 'Aggiorna.',
45                                                   'en' => 'Update.' )
46                            );
47
48
49 function bin5_index_main($transp_type, $header, &$header_out, $addr, $get, $post, $cookie)
50 {
51     GLOBAL $G_lang, $mlang_bin5_index;
52
53     $transp_port = ((array_key_exists("X-Forwarded-Proto", $header) &&
54                      $header["X-Forwarded-Proto"] == "https") ? 443 : 80);
55
56     if (($table_idx = gpcs_var('table_idx', $get, $post, $cookie)) === FALSE)
57         unset ($table_idx);
58     if (($laststate = gpcs_var('laststate', $get, $post, $cookie)) === FALSE)
59         unset ($laststate);
60     if (($sess = gpcs_var('sess', $get, $post, $cookie)) === FALSE)
61         unset ($sess);
62
63     fprintf(STDERR, "PREF_DECK SET %s", (isset($cookie['CO_bin5_pref_deck']) ? "YES" : "NO"));
64
65     $deck = (isset($cookie['CO_bin5_pref_deck']) ? $cookie['CO_bin5_pref_deck'] : 'xx');
66
67 // header('Content-type: text/html; charset="utf-8"',true);
68     ?>
69 <html>
70 <head>
71 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
72 <title>Brisk - Tavolo <?php echo "$table_idx";?></title>
73 <link rel="shortcut icon" href="../img/brisk_ico.png">
74 <script src="//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
75 <script type="text/javascript" src="../commons.js?v=<? echo BSK_BUSTING; ?>"></script>
76 <script type="text/javascript" src="../heartbit.js?v=<? echo BSK_BUSTING; ?>"></script>
77 <script type="text/javascript" src="../xynt-streaming.js?v=<? echo BSK_BUSTING; ?>"></script>
78 <script type="text/javascript" src="dnd.js?v=<? echo BSK_BUSTING; ?>"></script>
79 <script type="text/javascript" src="dom-drag.js?v=<? echo BSK_BUSTING; ?>"></script>
80 <script type="text/javascript" src="preload_img<?php echo langtolng($G_lang); ?>.js?v=<? echo BSK_BUSTING; ?>"></script>
81 <script type="text/javascript" src="briskin5.js?v=<? echo BSK_BUSTING; ?>"></script>
82 <link rel="stylesheet" type="text/css" href="../brisk.css?v=<? echo BSK_BUSTING; ?>">
83 <link rel="stylesheet" type="text/css" href="briskin5.css?v=<? echo BSK_BUSTING; ?>">
84 <link rel="stylesheet" type="text/css" href="cards_<? echo $deck; ?>.css?v=<? echo BSK_BUSTING; ?>">
85 </head>
86 <body>
87 <SCRIPT type="text/javascript">
88    var $$ = jQuery.noConflict();
89
90    var myname = null;
91    var sess = "not_connected";
92    var xstm = null;
93    var g_lang = "<?php echo "$G_lang"; ?>";
94    var stat = "table";
95    var subst = "none";
96    var table_pos = "";
97    var g_jukebox = null;
98    var g_deck = "<?php echo "$deck"; ?>";
99
100    var asta_ptr;
101    var area_ptr;
102
103    var gst  = new globst();
104    gst.st = <?php
105    log_load("bin5/index.php");
106
107    if (isset($laststate) == false) {
108        $laststate = -1;
109    }
110    echo $laststate;
111    ?>;
112 var g_is_spawn=1;
113 // var g_table_idx=<?php echo "$table_idx";?>;
114
115 var g_imgct= 0;
116 var g_imgtot = g_preload_img_arr.length;
117 var g_exitlock = 0;
118
119
120 window.onload = function() {
121   g_jukebox = new jukebox([{'name': 'cow', 'file': 'cow.mp3'},
122                            {'name': 'rooster', 'file': 'rooster.mp3'},
123                            {'name': 'ringbell', 'file': 'ringbell.mp3'}]);
124   remark_off();
125
126   preferences_init();
127   preferences_update();
128
129   sess = "<?php echo "$sess"; ?>";
130   xstm = new xynt_streaming(window, <?php printf("\"%s\", %d", $transp_type, $transp_port); ?>,  2, null /* console */, gst, 'table_php', 'sess', sess, $('sandbox'), 'index_rd.php', function(com){eval(com);});
131   xstm.hbit_set(heartbit);
132
133   window.onbeforeunload = onbeforeunload_cb;
134   window.onunload = onunload_cb;
135
136   xstm.start();
137
138   addEvent($('select_rules'), "change", function() { act_select_rules(this.value); } );
139   addEvent($('select_deck'), "change", function() { act_select_deck(this.value); } );
140   // FIXME: add this setTimeout(preload_images into data stream to avoid
141   // race on opened socket
142   // setTimeout(preload_images, 0, g_preload_img_arr, g_imgct);
143 }
144 </SCRIPT>
145 <div id="bg" class="area">
146
147 <div id="remark" class="remark0"></div>
148 <!--
149      <img id="card0" src="img/00.png" class="card">
150 <img id="card1" src="img/01.png" class="card">
151 <img id="card2" src="img/02.png" class="card">
152 <img id="card3" src="img/03.png" class="card">
153 <img id="card4" src="img/04.png" class="card">
154 <img id="card5" src="img/05.png" class="card">
155 <img id="card6" src="img/06.png" class="card">
156 <img id="card7" src="img/07.png" class="card">
157 <img id="takes" src="img/cover.png" class="cover">
158 <img id="card_ne0" src="img/cover.png" class="cover">
159 <img id="card_ne1" src="img/cover.png" class="cover">
160 <img id="card_ne2" src="img/cover.png" class="cover">
161 <img id="card_ne3" src="img/cover.png" class="cover">
162 <img id="card_ne4" src="img/cover.png" class="cover">
163 <img id="card_ne5" src="img/cover.png" class="cover">
164 <img id="card_ne6" src="img/cover.png" class="cover">
165 <img id="card_ne7" src="img/cover.png" class="cover">
166 <img id="takes_ne" src="img/cover.png" class="cover">
167 <img id="card_nw0" src="img/cover.png" class="cover">
168 <img id="card_nw1" src="img/cover.png" class="cover">
169 <img id="card_nw2" src="img/cover.png" class="cover">
170 <img id="card_nw3" src="img/cover.png" class="cover">
171 <img id="card_nw4" src="img/cover.png" class="cover">
172 <img id="card_nw5" src="img/cover.png" class="cover">
173 <img id="card_nw6" src="img/cover.png" class="cover">
174 <img id="card_nw7" src="img/cover.png" class="cover">
175 <img id="takes_nw" src="img/cover.png" class="cover">
176 <img id="card_ea0" src="img/cover_ea.png" class="cover">
177 <img id="card_ea1" src="img/cover_ea.png" class="cover">
178 <img id="card_ea2" src="img/cover_ea.png" class="cover">
179 <img id="card_ea3" src="img/cover_ea.png" class="cover">
180 <img id="card_ea4" src="img/cover_ea.png" class="cover">
181 <img id="card_ea5" src="img/cover_ea.png" class="cover">
182 <img id="card_ea6" src="img/cover_ea.png" class="cover">
183 <img id="card_ea7" src="img/cover_ea.png" class="cover">
184 <img id="takes_ea" src="img/cover_ea.png" class="cover">
185 <img id="card_we0" src="img/cover_we.png" class="cover">
186 <img id="card_we1" src="img/cover_we.png" class="cover">
187 <img id="card_we2" src="img/cover_we.png" class="cover">
188 <img id="card_we3" src="img/cover_we.png" class="cover">
189 <img id="card_we4" src="img/cover_we.png" class="cover">
190 <img id="card_we5" src="img/cover_we.png" class="cover">
191 <img id="card_we6" src="img/cover_we.png" class="cover">
192 <img id="card_we7" src="img/cover_we.png" class="cover">
193 <img id="takes_we" src="img/cover_we.png" class="cover">
194 -->
195
196 <img id="card0" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
197 <img id="card1" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
198 <img id="card2" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
199 <img id="card3" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
200 <img id="card4" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
201 <img id="card5" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
202 <img id="card6" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
203 <img id="card7" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
204 <img id="takes" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
205 <img id="card_ne0" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
206 <img id="card_ne1" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
207 <img id="card_ne2" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
208 <img id="card_ne3" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
209 <img id="card_ne4" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
210 <img id="card_ne5" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
211 <img id="card_ne6" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
212 <img id="card_ne7" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
213 <img id="takes_ne" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
214 <img id="card_nw0" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
215 <img id="card_nw1" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
216 <img id="card_nw2" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
217 <img id="card_nw3" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
218 <img id="card_nw4" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
219 <img id="card_nw5" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
220 <img id="card_nw6" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
221 <img id="card_nw7" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
222 <img id="takes_nw" data-card-id="cover" src="img/cards_xx_empty.png" class="sp-card"/>
223 <img id="card_ea0" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
224 <img id="card_ea1" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
225 <img id="card_ea2" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
226 <img id="card_ea3" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
227 <img id="card_ea4" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
228 <img id="card_ea5" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
229 <img id="card_ea6" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
230 <img id="card_ea7" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
231 <img id="takes_ea" data-card-id="cover_ea" src="img/cards_xx_empty_ea.png" class="sp-card"/>
232 <img id="card_we0" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
233 <img id="card_we1" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
234 <img id="card_we2" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
235 <img id="card_we3" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
236 <img id="card_we4" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
237 <img id="card_we5" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
238 <img id="card_we6" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
239 <img id="card_we7" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
240 <img id="takes_we" data-card-id="cover_we" src="img/cards_xx_empty_we.png" class="sp-card"/>
241
242
243
244 <div id="asta" class="asta">
245   <img id="asta0" src="img/asta0.png" class="astacard">
246   <img id="asta1" src="img/asta1.png" class="astacard">
247   <img id="asta2" src="img/asta2.png" class="astacard">
248   <img id="asta3" src="img/asta3.png" class="astacard">
249   <img id="asta4" src="img/asta4.png" class="astacard">
250   <img id="asta5" src="img/asta5.png" class="astacard">
251   <img id="asta6" src="img/asta6.png" class="astacard">
252   <img id="asta7" src="img/asta7.png" class="astacard">
253   <img id="asta8" src="img/asta8.png" class="astacard">
254   <img id="asta9" src="img/asta9.png" class="astacard">
255   <div id="astaptdiv" class="punti">
256     <input class="puntifield" id="astapt" name="astapt" type="text" maxsize="3" size="3" value="61">
257   </div>
258   <img  id="astaptsub" src="img/astaptsub_ro.png" class="astacard">
259   <img  id="astapasso" src="img/astapasso_ro.png" class="astacard">
260   <img  id="astalascio" src="img/astalascio_ro.png" class="astacard">
261 </div>
262 <div id="name" class="pubinfo"></div>
263 <div id="public" class="public">
264    <div class="vert_midfloat">
265        <div id="pubasta" class="vert_innfloat_so">
266            <img id="pubacard" src="img/astapasso_ro.png" class="pubacard">
267            <div id="pubapnt"></div>
268        </div>
269    </div>
270 </div>
271 <div id="name_ea" class="pubinfo_ea"></div>
272 <div id="public_ea" class="public_ea">
273    <div class="vert_midfloat">
274       <div id="pubasta_ea" class="vert_innfloat">
275          <img id="pubacard_ea" src="img/astapasso_ro.png" class="pubacard_ea">
276          <div id="pubapnt_ea"></div>
277       </div>
278    </div>
279 </div>
280 <div id="name_ne" class="pubinfo_ne"></div>
281 <div id="public_ne" class="public_ne">
282    <div class="vert_midfloat">
283       <div id="pubasta_ne" class="vert_innfloat">
284          <img id="pubacard_ne" src="img/astapasso_ro.png" class="pubacard_ne">
285          <div id="pubapnt_ne"></div>
286       </div>
287    </div>
288 </div>
289 <div id="name_nw" class="pubinfo_nw"></div>
290 <div id="public_nw" class="public_nw">
291    <div class="vert_midfloat">
292       <div id="pubasta_nw" class="vert_innfloat">
293          <img id="pubacard_nw" src="img/astapasso_ro.png" class="pubacard_nw">
294          <div id="pubapnt_nw"></div>
295       </div>
296    </div>
297 </div>
298 <div id="name_we" class="pubinfo_we"></div>
299 <div id="public_we" class="public_we">
300    <div class="vert_midfloat">
301       <div id="pubasta_we" class="vert_innfloat">
302          <img id="pubacard_we" src="img/astapasso_ro.png" class="pubacard_we">
303          <div id="pubapnt_we"></div>
304       </div>
305    </div>
306 </div>
307 <div id="chooseed" class="chooseed">
308                            <?php echo $mlang_bin5_index['aucwin'][$G_lang]; ?>
309 <img id="seed0" src="img/00.png" class="seed0">
310 <img id="seed1" src="img/10.png" class="seed1">
311 <img id="seed2" src="img/20.png" class="seed2">
312 <img id="seed3" src="img/30.png" class="seed3">
313 </div>
314 <div id="caller" class="caller">
315 <div id="callerinfo" class="callerinfo">Info</div>
316 <img id="callerimg" src="img/noimg.png" class="callerimg">
317 </div>
318 <div class="table_commands">
319 <table>
320 <tr>
321 <td style="text-align: center;"><input type="button" class="button" name="xinfo"  value="<?php echo $mlang_bin5_index['tit_info'][$G_lang]; ?>" onclick="act_tableinfo();"></td>
322 <td style="text-align: center;"><input type="button" class="button" name="xreload"  value="<?php echo $mlang_bin5_index['tit_relo'][$G_lang]; ?>" onclick="act_reload();"></td>
323 <td style="text-align: center;"><input type="button" class="button" name="xout"  value="<?php echo $mlang_bin5_index['tit_out'][$G_lang]; ?>" onclick="safelogout();"></td>
324 </tr><tr>
325 <td style="text-align: center;"><img id="stm_stat" class="nobo" src="img/line-status_b.png"></td>
326 <td style="text-align: center;"><input type="button" class="button" name="xpref"  value="<?php echo $mlang_bin5_index['tit_pref'][$G_lang]; ?>" onclick="preferences_showhide();"></td>
327 </td>
328 <td style="text-align: center;"><img id="exitlock" class="button" style="visibility: hidden; border: 0px; display: inline; position: relative;" onclick="act_exitlock();"></td>
329 </tr>
330 </table>
331 </div>
332 <!--
333 <div class="table_commands">
334 <input type="button" class="button" name="xinfo"  value="Info." onclick="act_tableinfo();">
335 <input type="button" class="button" name="xreload"  value="Reload." onclick="act_reload();">
336 <div style="vertical-align: top;">
337 <img id="exitlock" class="button" style="visibility: hidden; border: 0px; display: inline; position: relative;" onclick="act_exitlock();"><input type="button" class="button" name="xout"  value="Out." onclick="safelogout();">
338 </div>
339 </div>
340 -->
341
342 </div>
343
344
345 <div class="subarea">
346 <div id="txt" class="chattshort"></div>
347     <table class="chattshort_table"><tr><td style="width:1%; text-align: right;">
348     <div id="myname"></div>
349     </td><td>
350     <input id="txt_in" maxlength="128" type="text" style="width: 100%;" onkeypress="chatt_checksend(this,event);">
351     </td></tr></table>
352
353 <div id="flasou" style="text-align: left;"></div>
354 <hr>
355 <div id="heartbit" style="text-align: left;"></div>
356 <hr>
357 <div id="imgct" style="text-align: left;">HERE</div>
358 <hr>
359 <div id="sandbox" style="text-align: left;"></div>
360 <div id="sandbox2" style="text-align: left;"></div>
361 <div id="sandbox3" style="text-align: left;"></div>
362 <pre>
363 <div id="xhrlog" style="text-align: left;"></div>
364 </pre>
365 <div id="xhrdeltalog" style="text-align: left;"></div>
366 </div>
367
368 <div id="preferences" class="notify" style="z-index: 200; width: 400px; margin-left: -200px; height: 200px; top: 126px; visibility: hidden;">
369 <div id="preferences_child" style="border-bottom: 1px solid gray; overflow: auto; height: 170px; text-align: center">
370
371 <h2><?php echo $mlang_bin5_index['tit_pref'][$G_lang]; ?></h2>
372 <div style="width: 95%; /* background-color: red; */ margin: auto; text-align: left;">
373     <div>
374         <input type="checkbox" name="pref_ring_endauct" id="pref_ring_endauct" onclick="pref_ring_endauct_set(this);"><?php echo $mlang_bin5_index['itm_ringauc'][$G_lang] ?>
375     </div>
376     <div>
377         <label>Regole:</label> <?php dom_select_rules();?>
378     </div>
379     <div>
380       <label>Tipo di carte:</label> <?php dom_select_deck($deck);?>
381    </div>
382 </div>
383 <div class="notify_clo"><input type="submit" class="input_sub" style="bottom: 4px;" onclick="act_preferences_update();" value="<?php echo $mlang_bin5_index['btn_update'][$G_lang]; ?>"/></div>
384 </div>
385
386
387 </body>
388 </html>
389 <?php
390 }
391 ?>