<?php 

define('H', $_SERVER['DOCUMENT_ROOT'].'/');
include_once H.'sys/inc/start.php';
include_once H.'sys/inc/compress.php';
include_once H.'sys/inc/sess.php';
include_once H.'sys/inc/settings.php';
include_once H.'sys/inc/db_connect.php';
include_once H.'sys/inc/ipua.php';
include_once H.'sys/inc/fnc.php';
include_once H.'sys/inc/user.php';
only_reg();
require 'config.php';

if (isset($user) && isset($_GET['stavka']) && isset($_GET['sid'])) 
{
  $coins = (int) $_GET['stavka'];
  $bilet = get_num();
  
  if (!isset($config['stavka'][$coins])) {
    $err = 'Такой ставки не существует..';
  }
  
  if (!isset($config['stavka'][$coins])) {
    $err = 'Такой ставки не существует!';
  } elseif ($user[$config['coins_table']] < $config['stavka'][$coins]) {
    $err = 'У тебя не хватает средств!';
  }
  
  if ($_GET['sid'] != $_SESSION['sid']) {
    $err = 'Попробуй еще раз!!';
  }
  
  if (mysql_result(mysql_query("SELECT COUNT(*) FROM `safe` WHERE `id_user` = '$user[id]' AND `status` = '0'"), 0) != 0) {
    $err = 'Ты еще эту игру не закончил!';
  }
  
  if (!isset($err)) {
    mysql_query("UPDATE `safe` SET `status` = '2' WHERE `id_user` = '$user[id]' AND `status` = '1' LIMIT 1");
    mysql_query("UPDATE `user` SET `" . $config['coins_table'] . "` = `" . $config['coins_table'] . "` - '" . $config['stavka'][$coins] . "' WHERE `id` = '$user[id]' LIMIT 1");
    mysql_query("INSERT INTO `safe`(`time`, `id_user`, `numbers`, `key`, `md5`, `step`, `table`, `stavka`, `over`) VALUES ('$time', '$user[id]', '$bilet[numbers]', '" . $bilet['key'] . "', '" . $bilet['md5'] . "', '0', '" . $config['coins_table'] . "', '" . $config['stavka'][$coins] . "', 'game')");
    header ('Location: ?game');
    exit;
  }
}

if (isset($user) && mysql_result(mysql_query("SELECT COUNT(*) FROM `safe` WHERE `id_user` = '$user[id]'"), 0) != 0) {
  $game = mysql_fetch_assoc(mysql_query("SELECT * FROM `safe` WHERE `id_user` = '$user[id]' ORDER BY `id` DESC LIMIT 1"));
  $numbers = explode('|', $game['numbers']);
} else {
  $game = array('step' => -1, 'stavka' => '0', 'over' => '0', 'dump' => '');
}

if ($game['dump']) {
  $dump = unserialize($game['dump']);
} else {
  $dump = array();
}

if (isset($_GET['sid']) && isset($_POST['send']) && isset($numbers) && $_GET['sid'] == $_SESSION['sid']) {
  $result = safe_num_search(array_values($_POST), $numbers);
  
  $arr = array();
  foreach($_POST AS $key => $value) {
    $arr[] = (int) $value;
  }
  
  $dump[] = array('numbers' => $arr, 'count' =>  $result['all'] . ' ' . $result['par']);
  
  
  if ($result['par'] == 4 && $result['all'] == 4) {
    if ($game['status'] == 0 && $game['over'] == 'game') {
      $coins = ($game['stavka'] * $config['step'][$game['step']]);

      mysql_query("UPDATE `safe` SET `status` = '2', `step` = `step` + '1', `over` = 'win', `win` = '$coins', `dump` = '" . serialize($dump) . "' WHERE `id_user` = '$user[id]' AND `status` = '0' AND `over` = 'game' LIMIT 1");
      mysql_query("UPDATE `user` SET `" . $config['coins_table'] . "` = `" . $config['coins_table'] . "` + '" . $coins . "' WHERE `id` = '$user[id]' LIMIT 1");
      $_SESSION['message'] = 'Вы выиграли ' . des2num($coins, $config['coins_name']) . '! Код к сейфу: <b>' . str_replace('|', '', $game['numbers']) . '</b>';
    }
  } elseif ($game['step'] < '4') {
    mysql_query("UPDATE `safe` SET `dump` = '" . serialize($dump) . "', `step` = `step` + '1' WHERE `id` = '$game[id]' LIMIT 1");
    $_SESSION['message'] = 'Угадано цифр: ' . $result['all'] . ' На своем месте: ' . $result['par'];
  } else {
    mysql_query("UPDATE `safe` SET `dump` = '" . serialize($dump) . "', `over` = 'loss', `status` = '1', `step` = `step` + '1' WHERE `id` = '$game[id]' LIMIT 1");
    $_SESSION['message'] = 'Вы проиграли! Код к сейфу: <b>' . str_replace('|', '', $game['numbers']) . '</b>';
  }

  header ('Location: ?game');
  exit;
}

if (isset($err)) {
  $msg = $err;
} elseif (isset($_SESSION['message'])) {
  $msg = $_SESSION['message'];
  unset($_SESSION['message']);
} elseif ($game['over'] == 'game') {
  $msg = 'Подберите код к сейфу.';
} elseif ($user[$config['coins_table']] < $config['stavka'][0]) {
  $msg = 'У вас не достаточно средств! Перейти в <a href="' . $config['billing_url'] . '">биллинг</a>';
} else {
  $msg = 'Сделайте ставку!';
}

$session = mt_rand(11111111, 99999999);
$_SESSION['sid'] = $session;
?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>    
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Сейф</title>

<!--[if lt IE 9]>
  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<link rel="shortcut icon" href="images/favicon.ico" />
<link rel="stylesheet" href="css/main.css" type="text/css" />
<meta name="description" content="Увлекательная игра Сейф" />
<meta name="keywords" content="Сейф, игра, мини-игры, Safe, лотереи" />
</head>
<body>
<div class="body">
  <div class="foot">
    <a href="<?= $config['url']?>">Игры</a> / <a href="?">Сейф</a>
  </div>
  
  <div class="safe-display">
    <form class="safe" action="?game&amp;sid=<?= $session?>" enctype="application/x-www-form-urlencoded" method="POST">
      <table class="safe">
      <? 
      asort($config['step']);
      foreach($config['step'] AS $key => $value) { ?>
        <tr class="safe-line">
        <? for($y = 0; $y <= 3; $y++) { ?>
          <td class="safe-number">
          <? if ($game['step'] == $key && $game['over'] == 'game') { ?>
            <select name="number_<?= $y?>">
            <? for($s = 0; $s <= 9; $s++) { ?>
              <option value="<?= $s?>" <?= ($dump && $dump[$key-1]['numbers'][$y] == $s ? 'selected' : '')?>><?= $s?></option>
            <? } ?>
            </select>
          <? } elseif ($game['step'] > $key) { ?>
              <?= $dump[$key]['numbers'][$y]?>
          <? } ?>
          </td>
          <? } ?>
          
          <td class="safe-submit">
            <? if ($game['step'] == $key && $game['over'] == 'game') { ?>
              <button type="submit" name="send">OK</button>
            <? } elseif ($game['step'] > $key) { ?>
              <?= $dump[$key]['count']?>
            <? } ?>
          </td>
        </tr>
      <? } ?>
      </table>
      
    </form>
  </div>
  
  <div class="messages">
    <b>[!]</b> <?= $msg?>
  </div> 
  
  <div class="stavka">
    <div class="stavka-title">
      Сделайте ставку
    </div>
    
    <table cellpadding="0" cellspacing="1">
      <tr>
        <td class="stavka-money"><?= $config['disp_name']?></td>
        <? foreach($config['stavka'] AS $key => $value) { ?>
          <td class="stavka"><a href="?game&amp;stavka=<?= $key?>&amp;sid=<?= $session?>"><?= $value?></a></td>
        <? } ?>
      </tr>
    </table>
    
    <div class="stavka-coins">
      У вас <?= des2num($user[$config['coins_table']], $config['coins_name'])?>
    </div>
  </div>
  
  <div class="rules">
    <b>[?]</b> <a href="?rules">Правила игры</a><br />
    <? if (isset($_GET['rules'])) { 
    sort($config['step']);
    ?>
      Правила: Сейф с 4-значным кодом. Игроку предлагается возможность отгадать комбинацию неповторяющихся цифр не более чем за 5 попыток путем логических умозаключений. После каждой попытки игрок получает ответ в виде двух цифр: первая говорит о том, сколько цифр угадано, а вторая - сколько из угаданных на своем месте. Если игрок за 5 попыток отгадал код - он выиграл.<br />
      Выигрыш "плавающий", равен ставка * (<?= implode(', ', $config['step'])?>)!
    <? } ?>
  </div> 
  
  <div class="foot">
    <a href="<?= $config['url']?>">Игры</a> / <a href="?">Сейф</a>
  </div>
</div>

<div class="copy">
  <?= $config['copy']?>
</div>
</body>
</html>