Private
Public Access
1
0

release beta4

This commit is contained in:
2016-12-14 15:50:48 +01:00
parent 6d125f2dab
commit bcc9671895
55 changed files with 452 additions and 198 deletions

View File

@@ -3,31 +3,28 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="keywords" content="game,mineseeker,mine,seeker,laszlolang.com">
<meta name="robots" content="index,follow">
<meta name="revisit-after" content="2 days">
<meta name="resource-type" content="document">
<meta name="country" content="Hungary">
<meta name="description" content="This is a new minesweeper, multiplayer game.">
<meta name="content-language" content="hu,hun,hungarian">
{% include '@MineSeeker/Recent/favicon.html.twig' %}
{% block metas %}{% endblock %}
<title>{% block title %}Welcome!{% endblock %}</title>
<title>MineSeeker{% block title %}{% endblock %}</title>
{% block stylesheets %}{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
<script type="text/javascript">
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-88761060-1', 'auto');
ga('send', 'pageview');
</script>
{% include '@MineSeeker/Recent/google-analytics.html.twig' %}
</head>
<body>
<div id="fb-root"></div>
{% block bodyTop %}{% endblock %}
<header>
{% block header %}{% endblock %}
</header>
@@ -39,44 +36,7 @@
</footer>
{% block javascripts %}
<script type="text/javascript">
window.fbAsyncInit = function () {
FB.init({
appId: '{{ facebook_api }}',
xfbml: true,
cookie: true,
status: true,
oauth: true,
version: '{{ facebook_api_version }}'
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
{% javascripts
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-3.0.0.min.js'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-migrate-3.0.0.min.js'
'@JotunheimrAdminBundle/Resources/public/js/vendor/bootstrap/js/bootstrap.min.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
<script src="https://cdnjs.cloudflare.com/ajax/libs/JQuery-Snowfall/1.7.4/snowfall.jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$(document).snowfall({deviceorientation: true, round: true, minSize: 5, maxSize: 8});
});
</script>
{% include '@MineSeeker/Recent/facebook.html.twig' %}
{% endblock %}
</body>
</html>

View File

@@ -41,7 +41,7 @@ twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
globals:
version: "0.21.12 (beta2)"
version: "0.27.16 (beta4)"
facebook_api: "%facebook.api%"
facebook_api_version: "%facebook.version%"
@@ -72,6 +72,7 @@ assetic:
debug: "%kernel.debug%"
use_controller: "%kernel.debug%"
bundles: ~
node: /usr/bin/nodejs
filters:
cssrewrite: ~
uglifyjs2:
@@ -86,5 +87,6 @@ fos_user:
firewall_name: main
user_class: Jotunheimr\UserBundle\Entity\User
# Slack integration
cl_slack:
api_token: xoxp-107639806167-107029084564-115427085733-cccaa4f96c89c87ce680c7f22acfd001

View File

@@ -2,9 +2,12 @@
parameters:
database_host: 127.0.0.1
database_port: null
database_name: xxsvci_mineseeker
database_user: xxsvci_mine
database_password: "XTw#8qC$faa*"
# database_name: xxsvci_mineseeker
# database_user: xxsvci_mine
# database_password: "XTw#8qC$faa*"
database_name: mine
database_user: root
database_password: "bazmeg"
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null

View File

@@ -4,14 +4,11 @@ fos_user:
JotunheimrUserBundle:
resource: "@JotunheimrUserBundle/Resources/config/routing.yml"
prefix: /
schemes: [https]
JotunheimrAdminBundle:
resource: "@JotunheimrAdminBundle/Resources/config/routing.yml"
prefix: /
schemes: [https]
MineSeekerBundle:
resource: "@MineSeekerBundle/Resources/config/routing.yml"
prefix: /
schemes: [https]

View File

@@ -99,6 +99,52 @@ header section .form-input:hover {
box-shadow: 0 7px 10px rgba(0, 0, 0, 0.1);
}
header section .failure {
background: #f00;
position: relative;
border: 3px solid #fff;
font: bold 16px 'Rajdhani', sans-serif;
color: #FFFFFF;
padding: 10px;
margin: 30px 0 10px 0;
-webkit-border-radius: 5px;
border-radius: 5px;
}
header section .failure:after,
header section .failure:before {
content: " ";
position: absolute;
bottom: 100%;
left: 50px;
height: 0;
width: 0;
border: solid transparent;
pointer-events: none;
}
header section .failure:after {
border-color: rgba(0, 0, 0, 0);
border-bottom-color: #f00;
border-width: 20px;
margin-left: -20px;
}
header section .failure:before {
border-color: rgba(255, 255, 255, 0);
border-bottom-color: #ffffff;
border-width: 26px;
margin-left: -26px;
}
header section .failure ul {
display: inline-block;
list-style: none;
padding: 0;
margin: 0 10px 0 0;
}
header section h3.or {
font: bold 16px 'Rajdhani', sans-serif;
text-transform: uppercase;
@@ -165,6 +211,19 @@ header section div.buttons > a.slack-login:hover {
color: #5c3a58;
}
header section .failure-main {
background: #f00;
max-width: 500px;
border: 3px solid #fff;
font: bold 16px 'Rajdhani', sans-serif;
color: #FFFFFF;
padding: 10px;
margin: 0 0 20px 0;
-webkit-border-radius: 5px;
border-radius: 5px;
}
@media screen and (max-width: 1100px) {
header section .form-input,
header section .form-check {

View File

@@ -2,6 +2,8 @@
{% trans_default_domain 'FOSUserBundle' %}
{% block title %} - Sign up{% endblock %}
{% block fos_user_content %}
<section class="header-content">
<div class="logo">
@@ -14,24 +16,48 @@
<div class="db">
<form action="{{ path('fos_user_registration_register') }}"
method="post">
{{ form_widget(form._token) }}
{% if form_errors(form) is not empty %}
<div class="failure-main">
<i class="fa fa-exclamation-circle"></i> {{ form_errors(form) }}
</div>
{% endif %}
<div>
{{ form_widget(form.email, {'attr': {'placeholder': 'Email', 'class': 'form-input form-username'}}) }}
{{ form_errors(form.email) }}
{% if form_errors(form.email) is not empty %}
<div class="failure">
<i class="fa fa-exclamation-circle"></i> {{ form_errors(form.email) }}
</div>
{% endif %}
</div>
<div>
{{ form_widget(form.username, {'attr': {'placeholder': 'Username ', 'class': 'form-input form-username'}}) }}
{{ form_errors(form.username) }}
{% if form_errors(form.username) is not empty %}
<div class="failure">
<i class="fa fa-exclamation-circle"></i> {{ form_errors(form.username) }}
</div>
{% endif %}
</div>
<div>
{{ form_widget(form.plainPassword.first, {'attr': {'placeholder': 'Password', 'class': 'form-input form-username'}}) }}
{{ form_errors(form.plainPassword.first) }}
{% if form_errors(form.plainPassword.first) is not empty %}
<div class="failure">
<i class="fa fa-exclamation-circle"></i> {{ form_errors(form.plainPassword.first) }}
</div>
{% endif %}
</div>
<div>
{{ form_widget(form.plainPassword.second, {'attr': {'placeholder': 'Repeat password', 'class': 'form-input'}}) }}
{{ form_errors(form.plainPassword.second) }}
{% if form_errors(form.plainPassword.second) is not empty %}
<div class="failure">
<i class="fa fa-exclamation-circle"></i> {{ form_errors(form.plainPassword.second) }}
</div>
{% endif %}
</div>
<div class="input-submit">
@@ -56,7 +82,7 @@
{% block javascripts %}
{{ parent() }}
{% javascripts
{% javascripts filter='?uglifyjs2'
'@JotunheimrUserBundle/Resources/public/js/register.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
@@ -65,7 +91,7 @@
{% block stylesheets %}
{{ parent() }}
{% stylesheets filter='cssrewrite'
{% stylesheets filter='?uglifycss'
'@JotunheimrUserBundle/Resources/public/css/font-awesome/css/font-awesome.min.css'
'@JotunheimrUserBundle/Resources/public/css/layout.css' %}
<link rel="stylesheet" media="screen" href="{{ asset_url }}"/>

View File

@@ -2,6 +2,8 @@
{% trans_default_domain 'FOSUserBundle' %}
{% block title %} - Sign in{% endblock %}
{% block fos_user_content %}
{% if error %}
{{ error.messageKey|trans(error.messageData, 'security') }}
@@ -17,7 +19,16 @@
<h1>Sign in</h1>
<form action="{{ path("fos_user_security_check") }}" method="post"
class="ac-custom ac-checkbox ac-boxfill">
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}"/>
{% if csrf_token %}
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}"/>
{% endif %}
{% if error %}
<div class="failure-main">
<i class="fa fa-exclamation-circle"></i> <strong>Login error!</strong> {{ error.messageKey|trans({}, 'messages') }}
</div>
{% endif %}
<input type="text" id="username" name="_username" value="{{ last_username }}"
class="form-input form-username"
@@ -53,7 +64,7 @@
{% block javascripts %}
{{ parent() }}
{% javascripts
{% javascripts filter='?uglifyjs2'
'@JotunheimrUserBundle/Resources/public/js/register.js'
'@JotunheimrUserBundle/Resources/public/js/svgcheckbox.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
@@ -63,7 +74,7 @@
{% block stylesheets %}
{{ parent() }}
{% stylesheets filter='cssrewrite'
{% stylesheets filter='?uglifycss'
'@JotunheimrUserBundle/Resources/public/css/font-awesome/css/font-awesome.min.css'
'@JotunheimrUserBundle/Resources/public/css/svgcheckbox.css' %}
<link rel="stylesheet" media="screen" href="{{ asset_url }}"/>

View File

@@ -1,89 +1,39 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>{% block title %}{{ project_name }} Admin - Login{% endblock %}</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
{% block stylesheets %}
{% stylesheets filter='cssrewrite'
'@JotunheimrAdminBundle/Resources/public/js/vendor/bootstrap/css/bootstrap.min.css'
'@MineSeekerBundle/Resources/public/css/style.homepage.css'
'@JotunheimrUserBundle/Resources/public/css/layout.css' %}
<link rel="stylesheet" media="screen" href="{{ asset_url }}"/>
{% endstylesheets %}
{% endblock %}
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
{% extends '::base.html.twig' %}
{% block stylesheets %}
{{ parent() }}
{% stylesheets filter='?uglifycss'
'@JotunheimrAdminBundle/Resources/public/js/vendor/bootstrap/css/bootstrap.min.css'
'@MineSeekerBundle/Resources/public/css/style.homepage.css'
'@JotunheimrUserBundle/Resources/public/css/layout.css' %}
<link rel="stylesheet" media="screen" href="{{ asset_url }}"/>
{% endstylesheets %}
<link href="https://fonts.googleapis.com/css?family=Rajdhani:300,400,500,600,700&amp;subset=latin-ext"
rel="stylesheet">
<script type="text/javascript">
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
{% endblock %}
ga('create', 'UA-88761060-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<div id="fb-root"></div>
{% if app.request.hasPreviousSession %}
{% for type, messages in app.session.flashbag.all() %}
{% for message in messages %}
<div class="flash-{{ type }}">
{{ message }}
</div>
{% block bodyTop %}
{% if app.request.hasPreviousSession %}
{% for type, messages in app.session.flashbag.all() %}
{% for message in messages %}
<div class="flash-{{ type }}">
{{ message }}
</div>
{% endfor %}
{% endfor %}
{% endfor %}
{% endif %}
{% endif %}
{% endblock %}
<header>
{% block header %}
{% block fos_user_content %}{% endblock fos_user_content %}
</header>
<main>
{% block main %}{% endblock %}
</main>
<footer>
{% block footer %}{% endblock %}
</footer>
{% endblock %}
{% block javascripts %}
<script type="text/javascript">
window.fbAsyncInit = function () {
FB.init({
appId: '{{ facebook_api }}',
xfbml: true,
cookie: true,
status: true,
oauth: true,
version: '{{ facebook_api_version }}'
});
};
{{ parent() }}
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
{% javascripts
{% javascripts filter='?uglifyjs2'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-3.0.0.min.js'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-migrate-3.0.0.min.js'
'@JotunheimrAdminBundle/Resources/public/js/vendor/bootstrap/js/bootstrap.min.js' %}
@@ -98,5 +48,3 @@
});
</script>
{% endblock %}
</body>
</html>

View File

@@ -74,8 +74,8 @@ class MyFOSUBUserProvider extends BaseFOSUBProvider
$user->setFacebookId($response->getUsername());
$user->setEmail($response->getEmail());
$user->setEmailCanonical($response->getEmail());
$user->setUsername($this->slugify($response->getRealName()));
$user->setUsernameCanonical($this->slugify($response->getRealName()));
$user->setUsername($this->slug($response->getRealName()));
$user->setUsernameCanonical($this->slug($response->getRealName()));
$user->setRealName($response->getRealName());
$user->setNickName($response->getNickname());
if ($empty) {
@@ -88,25 +88,11 @@ class MyFOSUBUserProvider extends BaseFOSUBProvider
}
/**
* @param $text
* @return mixed|string
* @param $string
* @return string
*/
private function slugify($text)
private function slug($string)
{
$text = preg_replace('#[^\\pL\d]+#u', '-', $text);
$text = trim($text, '-');
if (function_exists('iconv')) {
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
}
$text = strtolower($text);
$text = preg_replace('#[^-\w]+#', '', $text);
if (empty($text)) {
return 'n-a';
}
return $text;
return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));
}
}

View File

@@ -1,20 +1,19 @@
MineSeekerBundle_homepage:
path: /
defaults: { _controller: MineSeekerBundle:Game:index }
schemes: [https]
MineSeekerBundle_gamePlay:
path: /play
defaults: { _controller: MineSeekerBundle:Game:play }
schemes: [https]
MineSeekerBundle_gamePlayWId:
path: /play/{gameAssoc}
defaults: { _controller: MineSeekerBundle:Game:play }
schemes: [https]
MineSeekerBundle_slack:
path: /slack
defaults: { _controller: MineSeekerBundle:Game:slack }
#MineSeekerBundle_gameList:
# path: /list
# defaults: { _controller: MineSeekerBundle:Game:list }
schemes: [https]

View File

@@ -9,6 +9,8 @@ html, body {
display: block;
width: 100%;
height: 100%;
overflow-x: hidden;
}
header {

View File

@@ -312,7 +312,6 @@ main {
color: #fdf612;
}
#mine-wrapper .game-wrapper .users .user-container .user-control {
background: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.5) 0%, rgba(125, 185, 232, 0) 100%);
background: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.5) 0%, rgba(125, 185, 232, 0) 100%);
@@ -720,7 +719,7 @@ main {
flex-wrap: wrap;
align-items: center;
justify-content: center;
width: 642px;
width: 643px;
border: 1px solid #cac3e5;
cursor: none;
@@ -969,8 +968,8 @@ main {
-ms-transform: scale(1); /* IE 9 */
-webkit-transform: scale(1); /* Safari */
transform: scale(1);
-webkit-transition: all 250ms cubic-bezier(.17,.67,.83,.67);
transition: all 250ms cubic-bezier(.17,.67,.83,.67);
-webkit-transition: all 250ms cubic-bezier(.17, .67, .83, .67);
transition: all 250ms cubic-bezier(.17, .67, .83, .67);
}
.back-from-game img {
@@ -981,6 +980,52 @@ main {
-ms-transform: scale(1.2); /* IE 9 */
-webkit-transform: scale(1.2); /* Safari */
transform: scale(1.2);
-webkit-transition: all 250ms cubic-bezier(.17,.67,.83,.67);
transition: all 250ms cubic-bezier(.17,.67,.83,.67);
-webkit-transition: all 250ms cubic-bezier(.17, .67, .83, .67);
transition: all 250ms cubic-bezier(.17, .67, .83, .67);
}
@media screen and (max-width: 900px) {
/*#mine-wrapper .game-wrapper .game-overlay {*/
/*visibility: hidden;*/
/*}*/
#mine-wrapper .game-wrapper .users {
visibility: hidden;
display: none;
}
#mine-wrapper {
display: block;
width: 100%;
}
#mine-wrapper .game-wrapper {
width: 100%;
flex-direction: column-reverse;
}
#mine-wrapper .grid-container {
width: 100%;
padding: 0;
}
#mine-wrapper .grid {
width: 100%;
}
#mine-wrapper .grid .field-wrapper {
width: 6.25%;
}
#mine-wrapper .grid .field-wrapper > img.field-target {
width: 105%;
top: -2.5%;
left: -2.5%;
}
#mine-wrapper .grid .field-wrapper .field {
width: 100%;
height: auto;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#2d89ef</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,17 @@
{
"name": "",
"icons": [
{
"src": "\/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png"
},
{
"src": "\/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image\/png"
}
],
"theme_color": "#ffffff",
"display": "standalone"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,75 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.11, written by Peter Selinger 2001-2013
</metadata>
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M3149 4510 c-26 -4 -56 -13 -67 -19 -33 -18 -103 -102 -185 -222 -68
-101 -77 -119 -77 -159 1 -142 80 -271 198 -322 116 -50 347 -94 452 -86 74 5
110 35 141 117 32 85 61 236 62 331 2 76 -1 91 -26 138 -53 101 -159 181 -277
210 -66 16 -169 22 -221 12z m276 -59 c105 -47 168 -125 145 -181 -37 -89
-235 -64 -347 44 -44 44 -53 58 -53 88 0 22 7 41 20 53 41 37 146 35 235 -4z"/>
<path d="M1178 4417 c-157 -54 -300 -205 -353 -373 -17 -56 -18 -62 -2 -123
10 -35 54 -138 100 -229 91 -183 96 -188 210 -223 52 -16 87 -20 155 -17 119
5 161 27 288 153 112 111 186 207 239 306 44 84 46 128 7 190 -63 99 -318 303
-409 328 -64 18 -162 13 -235 -12z m127 -62 c96 -95 -122 -346 -299 -345 -86
1 -116 43 -90 130 20 68 114 168 196 210 81 40 157 42 193 5z"/>
<path d="M2420 4340 c-129 -12 -283 -44 -412 -87 -144 -47 -145 -48 -108 -101
16 -24 30 -48 32 -53 2 -6 34 2 73 17 215 81 317 99 551 98 l191 0 36 55 37
56 -31 6 c-56 12 -274 17 -369 9z"/>
<path d="M2555 4120 c-88 -4 -185 -12 -215 -19 -61 -13 -117 -43 -127 -67 -9
-23 34 -62 112 -101 89 -45 136 -82 160 -127 35 -64 4 -80 -316 -159 -276 -69
-430 -121 -572 -194 -240 -123 -414 -296 -503 -502 l-27 -62 24 -102 c19 -79
24 -130 24 -227 0 -140 -13 -182 -75 -253 l-32 -37 17 -103 c9 -56 23 -128 31
-161 8 -32 13 -60 10 -63 -6 -6 -74 209 -83 260 -3 21 -9 36 -12 35 -76 -35
-110 -56 -110 -68 -1 -44 121 -361 165 -427 l14 -23 48 34 c150 107 343 155
485 122 91 -21 167 -61 287 -152 170 -128 330 -299 395 -419 30 -57 33 -130 9
-201 -13 -39 -13 -48 -2 -55 18 -12 216 -11 318 1 47 6 131 20 187 31 l103 22
-6 66 c-5 56 -3 76 15 115 73 166 393 468 593 561 28 13 82 29 120 36 68 12
94 10 248 -18 23 -4 30 3 72 84 77 147 142 343 166 505 9 56 8 58 -24 89 -71
69 -157 283 -190 471 -13 75 -14 102 -4 154 20 105 86 199 199 285 l34 25 -53
80 c-29 43 -73 104 -98 134 -53 64 -194 210 -203 210 -3 0 -14 -29 -23 -64
-23 -82 -76 -168 -124 -198 -34 -21 -48 -23 -172 -23 -114 1 -153 5 -248 29
-63 15 -140 39 -173 51 -154 61 -237 173 -269 363 -6 39 -13 71 -13 70 -1 -1
-74 -4 -162 -8z m-585 -1285 c190 -109 351 -204 359 -211 13 -12 9 -20 -26
-61 -219 -261 -623 -198 -754 117 -19 45 -23 74 -23 160 -1 94 2 111 26 164
27 56 29 58 50 44 13 -8 178 -104 368 -213z m1648 67 c38 -279 -183 -517 -465
-499 -129 8 -251 73 -322 172 l-31 44 42 25 c24 13 196 113 383 220 l340 196
22 -48 c13 -27 27 -76 31 -110z"/>
<path d="M972 3323 c-39 -86 -102 -262 -102 -287 0 -9 110 -42 115 -33 1 1 14
40 29 87 15 47 47 127 72 179 24 52 42 96 39 99 -4 4 -104 42 -111 42 0 0 -19
-39 -42 -87z"/>
<path d="M4094 3357 c-62 -46 -102 -96 -130 -162 -41 -99 26 -390 126 -548 38
-60 79 -73 177 -56 79 14 214 59 294 99 91 47 159 172 159 295 -1 97 -52 235
-120 317 -37 45 -100 63 -286 83 -77 8 -144 15 -150 15 -7 0 -38 -19 -70 -43z
m535 -162 c74 -85 82 -272 14 -347 -9 -10 -30 -18 -49 -18 -113 0 -169 280
-77 382 27 31 76 23 112 -17z"/>
<path d="M695 2915 c-122 -26 -146 -36 -183 -73 -79 -79 -109 -201 -78 -322
36 -141 68 -166 269 -220 106 -28 118 -30 149 -17 58 25 116 75 145 124 26 45
28 55 27 153 0 180 -48 339 -106 359 -41 14 -149 13 -223 -4z m-128 -140 c97
-68 42 -354 -61 -316 -76 28 -86 226 -16 301 32 34 46 37 77 15z"/>
<path d="M4290 2500 c-14 -4 -41 -8 -61 -9 -41 -1 -49 -12 -49 -69 0 -128 -88
-443 -165 -592 -8 -16 -15 -31 -15 -34 0 -7 102 -78 106 -74 16 16 118 251
142 328 49 153 100 462 76 459 -5 -1 -20 -5 -34 -9z"/>
<path d="M1355 1779 c-42 -10 -188 -79 -218 -103 -37 -29 -166 -427 -174 -537
-5 -73 -4 -79 31 -145 90 -170 264 -315 432 -359 116 -30 277 -12 354 39 61
41 191 168 270 263 88 106 131 185 137 251 4 42 0 54 -37 112 -50 77 -256 285
-355 358 -38 29 -101 69 -140 89 -65 34 -77 37 -165 40 -52 1 -113 -2 -135 -8z
m-35 -711 c188 -57 343 -239 290 -339 -34 -63 -168 -66 -290 -8 -136 66 -230
171 -230 259 0 36 5 52 24 69 43 40 115 47 206 19z"/>
<path d="M3530 1767 c-76 -32 -149 -81 -256 -169 -162 -135 -324 -331 -324
-392 0 -101 135 -290 328 -461 119 -105 160 -120 317 -119 125 0 195 21 302
90 113 72 247 235 278 339 21 67 0 171 -83 410 l-68 198 -64 38 c-105 64 -163
82 -275 86 -87 3 -107 1 -155 -20z m481 -703 c52 -26 62 -81 27 -152 -32 -67
-116 -144 -204 -187 -62 -31 -91 -39 -152 -43 -88 -6 -133 12 -153 60 -35 84
79 232 233 303 101 46 185 53 249 19z"/>
<path d="M2855 984 c-121 -27 -308 -37 -438 -25 -67 7 -140 16 -162 21 -45 10
-49 8 -93 -54 l-32 -44 67 -15 c199 -45 524 -48 712 -8 51 11 95 22 97 24 5 5
-74 112 -84 113 -4 1 -34 -5 -67 -12z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 KiB

View File

@@ -32,6 +32,18 @@ class MineSeeker extends React.Component {
return text;
}
currectGridSize() {
let $field = $('#mine-wrapper .grid');
$field.height($field.width());
$field = $('#mine-wrapper .grid .field-wrapper');
$field.height($field.width());
$('#mine-wrapper .grid .field-wrapper .field')
.height($field.width())
.css('line-height', ($field.width() - 2) + 'px');
}
/**
* STEP
*
@@ -238,6 +250,9 @@ class MineSeeker extends React.Component {
? 'blue' : 'red'
});
/** rwd */
(900 > $(document).width()) && this.currectGridSize();
/** every user has been came */
if (
payload.userCnt === 2 &&
@@ -318,7 +333,7 @@ class MineSeeker extends React.Component {
let websocket = WS.connect(
this.state.env === 'dev'
? "ws://mine.dev:6450"
: (this.state.ssl === 'true' ? "wss" : "ws") + "://www.mineseeker.party:6450/"
: (this.state.ssl === 'true' ? "wss" : "ws") + "://" + window.location.hostname + ":6450/"
);
/**

View File

@@ -1,4 +1,4 @@
{% extends "::base.html.twig" %}
{% extends "@MineSeeker/layout.html.twig" %}
{% block header %}
<section class="header-content">
@@ -7,15 +7,28 @@
border="0"/>
</div>
<div>
<h2>A minesweeper game rethought...</h2>
<h1>...and you can play w/o register!!</h1>
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
<h2>Hello, {{ app.user.realName is not null ? app.user.realName : app.user.username }}!</h2>
<h1>Let's play!! :D</h1>
{% else %}
<h2>A minesweeper game rethought...</h2>
<h1>...and you can play w/o register!!</h1>
{% endif %}
<div class="buttons">
<a href="{{ path('MineSeekerBundle_gamePlay') }}">Play NOW!</a>
<a href="{{ path('fos_user_registration_register') }}" class="small">Sign up</a> &middot;
<a href="{{ path('fos_user_security_login') }}" class="small">Sign in</a>
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
<a href="{{ path('fos_user_security_logout') }}" class="small">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
</a>
{% else %}
<a href="{{ path('fos_user_registration_register') }}" class="small">Sign up</a> &middot;
<a href="{{ path('fos_user_security_login') }}" class="small">Sign in</a>
{% endif %}
</div>
<h3>
version {{ version }} &middot; MineSeeker&copy; &middot; <a href="http://www.laszlolang.com">www.laszlolang.com</a>
version {{ version }} &middot; MineSeeker&copy;{{ "now"|date("Y") }} &middot; <a
href="http://www.laszlolang.com">www.laszlolang.com</a>
</h3>
</div>
<img src="{{ asset('bundles/mineseeker/images/mine-logo-logo.png') }}" alt="MineSeeker Logo" border="0"/>
@@ -23,6 +36,8 @@
{% endblock %}
{% block stylesheets %}
{{ parent() }}
<link href="https://fonts.googleapis.com/css?family=Rajdhani:300,400,500,600,700&amp;subset=latin-ext"
rel="stylesheet">
@@ -31,3 +46,15 @@
<link rel="stylesheet" media="screen" href="{{ asset_url }}" type="text/css"/>
{% endstylesheets %}
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script src="https://cdnjs.cloudflare.com/ajax/libs/JQuery-Snowfall/1.7.4/snowfall.jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$(document).snowfall({deviceorientation: true, round: true, minSize: 5, maxSize: 8});
});
</script>
{% endblock %}

View File

@@ -1,5 +1,7 @@
{% extends '::base.html.twig' %}
{% block title %} - Play!{% endblock %}
{% block body %}
<a class="back-from-game" href="{{ path('MineSeekerBundle_homepage') }}">
<img src="{{ asset('bundles/mineseeker/images/mine-logo-txt.png') }}" alt="Mineseeker Logo">
@@ -14,11 +16,11 @@
{% endblock %}
{% block metas %}
{#<meta property="og:url" content="http://www.your-domain.com/your-page.html" />#}
{#<meta property="og:type" content="website" />#}
{#<meta property="og:title" content="Your Website Title" />#}
{#<meta property="og:description" content="Your description" />#}
{#<meta property="og:image" content="http://www.your-domain.com/path/image.jpg" />#}
<meta property="og:url" content="{{ url('MineSeekerBundle_gamePlay') }}"/>
<meta property="og:type" content="website"/>
<meta property="og:title" content="Your friend challenges YOU!"/>
<meta property="og:description" content="Do you accept the challenge?"/>
<meta property="og:image" content="{{ app.request.getSchemeAndHttpHost() }}{{ asset('bundles/mineseeker/images/mine-1600x627.png') }}"/>
{% endblock %}
{% block stylesheets %}
@@ -40,6 +42,8 @@
{% if env == 'dev' %}
{% javascripts filter='?uglifyjs2'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-3.0.0.min.js'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-migrate-3.0.0.min.js'
'@GosWebSocketBundle/Resources/public/js/vendor/autobahn.min.js'
'@GosWebSocketBundle/Resources/public/js/gos_web_socket_client.js'
'@MineSeekerBundle/Resources/public/js/node/howler/dist/howler.min.js'
@@ -49,6 +53,8 @@
{% endjavascripts %}
{% else %}
{% javascripts filter='?uglifyjs2'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-3.0.0.min.js'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-migrate-3.0.0.min.js'
'@GosWebSocketBundle/Resources/public/js/vendor/autobahn.min.js'
'@GosWebSocketBundle/Resources/public/js/gos_web_socket_client.js'
'@MineSeekerBundle/Resources/public/js/node/howler/dist/howler.min.js'

View File

@@ -0,0 +1,23 @@
<script type="text/javascript">
window.fbAsyncInit = function () {
FB.init({
appId: '{{ facebook_api }}',
xfbml: true,
cookie: true,
status: true,
oauth: true,
version: '{{ facebook_api_version }}'
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

View File

@@ -0,0 +1,12 @@
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="{{ asset('/bundles/mineseeker/images/favicon/ms-icon-144x144.png') }}">
<meta name="theme-color" content="#ffffff">
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('/bundles/mineseeker/images/favicon/apple-icon-180x180.png') }}">
<link rel="icon" type="image/png" sizes="192x192" href="{{ asset('/bundles/mineseeker/images/favicon/android-icon-192x192.png') }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ asset('/bundles/mineseeker/images/favicon/favicon-32x32.png') }}">
<link rel="icon" type="image/png" sizes="96x96" href="{{ asset('/bundles/mineseeker/images/favicon/favicon-96x96.png') }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('/bundles/mineseeker/images/favicon/favicon-16x16.png') }}">
<link rel="manifest" href="{{ asset('/bundles/mineseeker/images/favicon/manifest.json') }}">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="{{ asset('/bundles/mineseeker/images/favicon/favicon.ico') }}" type="image/x-icon">
<link rel="icon" href="{{ asset('/bundles/mineseeker/images/favicon/favicon.ico') }}" type="image/x-icon">

View File

@@ -0,0 +1,19 @@
{% if app.environment == 'prod' %}
<script type="text/javascript">
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-88761060-1', 'auto');
ga('send', 'pageview');
</script>
{% endif %}

View File

@@ -0,0 +1,12 @@
{% extends '::base.html.twig' %}
{% block javascripts %}
{{ parent() }}
{% javascripts filter='?uglifyjs2'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-3.0.0.min.js'
'@JotunheimrAdminBundle/Resources/public/js/vendor/plugins/jQuery/jquery-migrate-3.0.0.min.js'
'@JotunheimrAdminBundle/Resources/public/js/vendor/bootstrap/js/bootstrap.min.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}

View File

@@ -188,6 +188,7 @@ class MineseekerTopic implements TopicInterface
*/
private function controlUsers($topic, $userName, $user)
{
$this->reConnect();
$gameAssoc = explode('/', $topic->getId())[2];
$playedGame = $this->em

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 15 KiB