· 9 years ago · Apr 24, 2017, 06:30 AM
1<?php
2
3if (!file_exists('verifyPanel.php')) {
4 $fail = false;
5 if ($_POST['user'] != '') {
6 $user = $_POST['user'];
7 } else {
8 echo 'Invalid User ';
9 $fail = true;
10 }
11
12 if ($_POST['pass'] != '') {
13 $pass = $_POST['pass'];
14 } else {
15 $pass = '';
16 }
17
18 if ($_POST['host'] != '') {
19 $host = $_POST['host'];
20 } else {
21 echo 'Invalid Host ';
22 $fail = true;
23 }
24
25 if ($_POST['name'] != '') {
26 $name = $_POST['name'];
27 } else {
28 echo 'Invalid DB Name ';
29 $fail = true;
30 }
31
32 if ($_POST['port'] != '') {
33 $port = $_POST['port'];
34 } else {
35 $port = 5412;
36 }
37
38 if ($_POST['RHost'] != '') {
39 $RHost = $_POST['RHost'];
40 } else {
41 echo 'Invalid RCON Host ';
42 $fail = true;
43 }
44
45 if ($_POST['RPass'] != '') {
46 $RPass = $_POST['RPass'];
47 } else {
48 echo 'Invalid RCON Password ';
49 $fail = true;
50 }
51
52 if ($_POST['RPort'] != '') {
53 $RPort = $_POST['RPort'];
54 $RPort = (int) $RPort;
55 } else {
56 echo 'Invalid RCON Port ';
57 $fail = true;
58 }
59
60 //max level checks
61
62 if ($_POST['maxCop'] != '') {
63 $maxCop = $_POST['maxCop'];
64 $maxCop = (int) $maxCop;
65 } else {
66 $maxCop = 7;
67 }
68
69 if ($_POST['maxMedic'] != '') {
70 $maxMedic = $_POST['maxMedic'];
71 $maxMedic = (int) $maxMedic;
72 } else {
73 $maxMedic = 5;
74 }
75
76 if ($_POST['maxAdmin'] != '') {
77 $maxAdmin = $_POST['maxAdmin'];
78 $maxAdmin = (int) $maxAdmin;
79 } else {
80 $maxAdmin = 5;
81 }
82
83 if ($_POST['maxDonator'] != '') {
84 $maxDonator = $_POST['maxDonator'];
85 $maxDonator = (int) $maxDonator;
86 } else {
87 $maxDonator = 5;
88 }
89
90 if ($_POST['apiUser'] != '') {
91 $apiUser = $_POST['apiUser'];
92 } else {
93 $apiUser = 'default';
94 }
95
96 if ($_POST['apiPass'] != '') {
97 $apiPass = $_POST['apiPass'];
98 } else {
99 $apiPass = 'password';
100 }
101
102 if ($_POST['apiEnable'] != '') {
103 if ($_POST['apiEnable'] == '1' || $_POST['apiEnable'] == '0') {
104 $apiEnable = $_POST['apiEnable'];
105 $apiEnable = (int) $apiEnable;
106 } else {
107 $apiEnable = 1;
108 }
109 } else {
110 $apiEnable = 1;
111 }
112
113 if (!$fail) {
114 $filename = 'verifyPanel.php';
115 $ourFileName = $filename;
116 $ourFileHandle = fopen($ourFileName, 'w');
117
118 $written = '<?php
119
120include "functions.php";
121
122function masterconnect(){
123
124 global '.'$'.'dbcon;
125 '.'$'."dbcon = mysqli_connect('$host', '$user', '$pass', '$name', '$port') or die ('Database connection failed');
126}
127
128function loginconnect(){
129
130 global ".'$'.'dbconL;
131 '.'$'."dbconL = mysqli_connect('$host', '$user', '$pass', '$name', '$port');
132}
133
134function Rconconnect(){
135
136 global ".'$'.'rcon;
137 '.'$'."rcon = new \Nizarii\ArmaRConClass\ARC('$RHost', $RPort, '$RPass');
138}
139
140global ".'$'.'DBHost;
141'.'$'."DBHost = '$host';
142global ".'$'.'DBUser;
143'.'$'."DBUser = '$user';
144global ".'$'.'DBPass;
145'.'$'."DBPass = '$pass';
146global ".'$'.'DBName;
147'.'$'."DBName = '$name';
148
149global ".'$'.'RconHost;
150'.'$'."RconHost = '$RHost';
151global ".'$'.'RconPort;
152'.'$'."RconPort = $RPort;
153global ".'$'.'RconPass;
154'.'$'."RconPass = '$RPass';
155
156global ".'$'.'maxCop;
157'.'$'."maxCop = $maxCop;
158global ".'$'.'maxMedic;
159'.'$'."maxMedic = $maxMedic;
160global ".'$'.'maxAdmin;
161'.'$'."maxAdmin = $maxAdmin;
162global ".'$'.'maxDonator;
163'.'$'."maxDonator = $maxDonator;
164
165global ".'$'.'apiUser;
166'.'$'."apiUser = '$apiUser';
167global ".'$'.'apiPass;
168'.'$'."apiPass = '$apiPass';
169global ".'$'.'apiEnable;
170'.'$'."apiEnable = $apiEnable;
171
172?>
173";
174
175 fwrite($ourFileHandle, $written);
176 fclose($ourFileHandle);
177
178 $dbconnect = mysqli_connect($host, $user, $pass, $name) or die('Database connection failed');
179
180 $sqlDel = 'DROP TABLE users;';
181 $sqldata = mysqli_query($dbconnect, $sqlDel);
182
183 $sqlDel1 = 'DROP TABLE log;';
184 $sqldata1 = mysqli_query($dbconnect, $sqlDel1);
185
186 $sqlDel2 = 'DROP TABLE notes;';
187 $sqldata2 = mysqli_query($dbconnect, $sqlDel2);
188
189 $sqlDel3 = 'DROP TABLE reimbursement_log;';
190 $sqldata3 = mysqli_query($dbconnect, $sqlDel3);
191
192 $sqlDel4 = 'DROP TABLE whitelist;';
193 $sqldata4 = mysqli_query($dbconnect, $sqlDel4);
194
195 $sqlDel5 = 'DROP TABLE access;';
196 $sqldata5 = mysqli_query($dbconnect, $sqlDel5);
197
198 $sqlmake = '
199CREATE TABLE IF NOT EXISTS `log` (
200 `logid` int(11) NOT NULL AUTO_INCREMENT,
201 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
202 `user` varchar(64) DEFAULT NULL,
203 `action` varchar(255) DEFAULT NULL,
204 `level` int(11) NOT NULL,
205 PRIMARY KEY (`logid`)
206 UNIQUE KEY `logid` (`logid`),
207 KEY `logid_2` (`logid`)
208) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
209';
210
211 $sqldata = mysqli_query($dbconnect, $sqlmake) or die('Connection could not be established - LOG');
212
213 $sqlmake2 = '
214
215CREATE TABLE IF NOT EXISTS `users` (
216`ID` mediumint(9) NOT NULL AUTO_INCREMENT,
217`username` varchar(60) NOT NULL,
218`password` varchar(80) NOT NULL,
219`permissions` text NOT NULL,
220PRIMARY KEY (`ID`)
221) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;';
222
223 $sqldata1 = mysqli_query($dbconnect, $sqlmake2) or die('Connection could not be established - USERS!');
224
225 $sqlmake3 = "
226
227CREATE TABLE IF NOT EXISTS `notes` (
228 `note_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'auto incrementing note_id of each user, unique index',
229 `uid` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
230 `staff_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
231 `name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
232 `alias` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
233 `note_text` VARCHAR(255) NOT NULL,
234 `warning` ENUM('1','2','3','4') NOT NULL,
235 `note_updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
236 PRIMARY KEY (`note_id`),
237 UNIQUE INDEX `note_id` (`note_id`)
238) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=6;
239";
240COLLATE='latin1_swedish_ci'
241ENGINE=InnoDB
242AUTO_INCREMENT=6;
243
244";
245
246 $sqldata100 = mysqli_query($dbconnect, $sqlmake3) or die('Connection could not be established - NOTES!');
247
248 $sqlmake4 = "
249
250CREATE TABLE IF NOT EXISTS `reimbursement_log` (
251 `reimbursement_id` INT(11) NOT NULL AUTO_INCREMENT,
252 `playerid` VARCHAR(50) NOT NULL,
253 `comp` INT(100) NOT NULL DEFAULT '0',
254 `reason` VARCHAR(255) NOT NULL,
255 `staff_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
256 `timestamp` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
257 PRIMARY KEY (`reimbursement_id`),
258 UNIQUE INDEX `reimbursement_id` (`reimbursement_id`)
259)
260COLLATE='latin1_swedish_ci'
261ENGINE=InnoDB
262AUTO_INCREMENT=1;
263";
264
265 $sqldata9 = mysqli_query($dbconnect, $sqlmake4) or die('Connection could not be established - REIM!');
266
267 $sqlmake5 =
268'
269 CREATE TABLE IF NOT EXISTS `whitelist` (
270 `id` int(0) NOT NULL AUTO_INCREMENT,
271 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
272 `user` varchar(64) DEFAULT NULL,
273 `guid` varchar(64) DEFAULT NULL,
274 `uid` varchar(64) DEFAULT NULL,
275 PRIMARY KEY (`id`)
276 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
277';
278 $sqldata10 = mysqli_query($dbconnect, $sqlmake5) or die('Connection could not be established - Whitelist!');
279
280 $sqlmake6 = '
281 CREATE TABLE `access` (
282 `accessID` int(11) NOT NULL AUTO_INCREMENT,
283 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
284 `address` varchar(64) DEFAULT NULL,
285 `failed` int(11) NOT NULL,
286 PRIMARY KEY (`accessID`),
287 UNIQUE KEY `accessID` (`accessID`),
288 KEY `accessID_1` (`accessID`)
289 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
290';
291 $sqlMakeAccess = mysqli_query($dbconnect, $sqlmake6) or die('Connection could not be established - Access!');
292
293 $sqldeluser = "DELETE FROM users WHERE username='AdminPanel';";
294
295 $sqldatadel = mysqli_query($dbconnect, $sqldeluser) or die('Connection could not be established - USER!');
296
297 $sqlinsert = "INSERT INTO `users` (`ID`, `username`, `password`, `permissions`) VALUES (1, 'AdminPanel','60fe74406e7f353ed979f350f2fbb6a2e8690a5fa7d1b0c32983d1d8b3f95f67', '\"[[`notes`,1],[`cop`,1],[`medic`,1],[`money`,1],[`IG-Admin`,1],[`editPlayer`,1],[`housing`,1],[`gangs`,1],[`vehicles`,1],[`logs`,1],[`steamView`,1],[`ban`,1],[`kick`,1],[`unban`,1],[`globalMessage`,1],[`restartServer`,1],[`stopServer`,1],[`superUser`,1]]\"');";
298
299 $sqldata2 = mysqli_query($dbconnect, $sqlinsert) or die('Connection could not be established or user already exists!');
300
301 header('Location: index.php');
302 } else {
303 echo 'There has been an error setting up your database, please recheck all inputs';
304 }
305} else {
306 header('Location: index.php');
307}