-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdestroy_table.php
165 lines (150 loc) · 7.75 KB
/
destroy_table.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?php require_once("global.php"); ?>
<?php require_once("show_table_games.php"); ?>
<?php
//Функция удаления стола, если part=0 то удаляем и статистику, если =1 то статитстика остается
function destroy_table($id_gt,$part){
$id_user=$_SESSION['id_user'];
$login=$_SESSION['login'];
$DBLink=connectdb();
if (!$DBLink) {
die("Не могу соединиться с базой данных");
}else {
$query='SELECT * FROM game_tables WHERE (id_gt='.$id_gt.')';
$result=mysql_query($query);
if (mysql_num_rows($result)!=0) {
//Удаляем игровой стол
$query='DELETE FROM game_tables WHERE (id_gt='.$id_gt.')';
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 1 Неудалось удалить игровой стол\n");
}
//Удаляем чат
$query='DELETE FROM gamechat WHERE (id_gt='.$id_gt.')';
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 1 Неудалось удалить игровой стол\n");
}
//Отчищаем все справочники игроков,принадлежащие удаляемому столу , от карт
$query1='SELECT * FROM users WHERE (id_gt='.$id_gt.')';
$result1=mysql_query($query1);
while($row=mysql_fetch_array($result1)) {
$query="DELETE FROM cards_of_user WHERE (id_user=".$row['id_user'].")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 2 Неудалось удалить карты игрока\n");
}
$query="DELETE FROM carried_items WHERE (id_user=".$row['id_user'].")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 3 Неудалось удалить карты игрока\n");
}
}
//Приводим все пераметры игроков в начальное положение
$query1="UPDATE users SET id_gt=0, u_bonus=0, u_level=1, u_gold=0, i_help=0
WHERE (id_gt=".$id_gt.")";
$result1=mysql_query($query1);
if (mysql_error($DBLink)!="") {
die("Ошибка 2 Неудалось удалить игровой стол\n");
}
//Отчищаем все справочники карт принадлежащие удаляемому столу
$query="DELETE FROM cards_of_door WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 3 Неудалось удалить игровой стол\n");
}
$query="DELETE FROM cards_of_loot WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 4 Неудалось удалить игровой стол\n");
}
$query="DELETE FROM cards_of_table WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 5 Неудалось удалить игровой стол\n");
}
$query="DELETE FROM discards WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 6 Неудалось удалить игровой стол\n");
}
if ($part==0)
{//Удалили игровой стол
$query='UPDATE statistic_game SET status_game="delete_game_hole", end_game='.time().'
WHERE (id_gt='.$id_gt.')';
//$query="DELETE FROM statistic_game WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 7 Неудалось удалить статистику игр\n");
}
}elseif ($part==1)
{//Игра окончена имеется победитель
$query='UPDATE statistic_game SET status_game="end_game_victory", end_game='.time().'
WHERE (id_gt='.$id_gt.')';
//$query="DELETE FROM statistic_game WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 7 Неудалось удалить статистику игр\n");
}
}elseif ($part==2)
{//Игра удалена так как число пользователей за игровым столом слишком мало
$query='UPDATE statistic_game SET status_game="delete_game_user<1", end_game='.time().'
WHERE (id_gt='.$id_gt.')';
//$query="DELETE FROM statistic_game WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 7 Неудалось удалить статистику игр\n");
}
}elseif ($part==3)
{
$query='UPDATE statistic_game SET status_game="table_empty", end_game='.time().'
WHERE (id_gt='.$id_gt.')';
//$query="DELETE FROM statistic_game WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 7 Неудалось удалить статистику игр\n");
}
}elseif ($part==4)
{//Игра удалена так как она весит уже более 1 суток
$query='UPDATE statistic_game SET status_game="old_game", end_game='.time().'
WHERE (id_gt='.$id_gt.')';
//$query="DELETE FROM statistic_game WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 8 Неудалось удалить статистику игр\n");
}
}elseif ($part==5)
{//Игра закончена но не идет в зачет так как не выполнены условия
$query='UPDATE statistic_game SET status_game="incalculate", end_game='.time().'
WHERE (id_gt='.$id_gt.')';
//$query="DELETE FROM statistic_game WHERE (id_gt=".$id_gt.")";
$result=mysql_query($query);
if (mysql_error($DBLink)!="") {
die("Ошибка 8 Неудалось удалить статистику игр\n");
}
}
}
if ($part!=4){
unset($_SESSION['init']);
unset($_SESSION['id_gt']);
unset($_SESSION['table_name']);
}
mysql_close($DBLink);
}
}
if ( (isset($_REQUEST['send_com_destroy'])) && (isset($_REQUEST['id_gt'])) ){
if(!isset($_SESSION)){session_start();}
if (isset($_SESSION['id_user'])){
if ($_REQUEST['send_com_destroy']==0){
destroy_table($_REQUEST['id_gt'],0);
//ПРоверяем существуют ли игровые столы которые простаивают более 2 суток, если существуют тогда удаляем их
$DBLink=connectdb();
$query='SELECT * FROM game_tables WHERE (timestamp<"'.(time()-86400).'" )';
$result=mysql_query($query);
mysql_close($DBLink);
while ($row = mysql_fetch_array($result)){
destroy_table($row['id_gt'],4);
}
}
}
}
?>