· 6 years ago · Mar 22, 2019, 06:44 PM
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 = 3306;
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
117 $written = '<?php
118
119include "functions.php";
120
121function masterconnect(){
122
123 global '.'$'.'dbcon;
124 '.'$'."dbcon = mysqli_connect('$host', '$user', '$pass', '$name', '$port') or die ('Database connection failed');
125}
126
127function loginconnect(){
128
129 global ".'$'.'dbconL;
130 '.'$'."dbconL = mysqli_connect('$host', '$user', '$pass', '$name', '$port');
131}
132
133function Rconconnect(){
134
135 global ".'$'.'rcon;
136 '.'$'."rcon = new \Nizarii\ArmaRConClass\ARC('$RHost', $RPort, '$RPass');
137}
138
139global ".'$'.'DBHost;
140'.'$'."DBHost = '$host';
141global ".'$'.'DBUser;
142'.'$'."DBUser = '$user';
143global ".'$'.'DBPass;
144'.'$'."DBPass = '$pass';
145global ".'$'.'DBName;
146'.'$'."DBName = '$name';
147
148global ".'$'.'RconHost;
149'.'$'."RconHost = '$RHost';
150global ".'$'.'RconPort;
151'.'$'."RconPort = $RPort;
152global ".'$'.'RconPass;
153'.'$'."RconPass = '$RPass';
154
155global ".'$'.'maxCop;
156'.'$'."maxCop = $maxCop;
157global ".'$'.'maxMedic;
158'.'$'."maxMedic = $maxMedic;
159global ".'$'.'maxAdmin;
160'.'$'."maxAdmin = $maxAdmin;
161global ".'$'.'maxDonator;
162'.'$'."maxDonator = $maxDonator;
163
164global ".'$'.'apiUser;
165'.'$'."apiUser = '$apiUser';
166global ".'$'.'apiPass;
167'.'$'."apiPass = '$apiPass';
168global ".'$'.'apiEnable;
169'.'$'."apiEnable = $apiEnable;
170
171?>
172";
173
174
175 $dbconnect = mysqli_connect($host, $user, $pass, $name, $port) or die('Database connection failed');
176
177 $sql = array();
178
179 $sql[] = 'DROP TABLE IF EXISTS `users`;';
180 $sql[] = 'DROP TABLE IF EXISTS `log`;';
181 $sql[] = 'DROP TABLE IF EXISTS `notes`;';
182 $sql[] = 'DROP TABLE IF EXISTS `reimbursement_log`;';
183 $sql[] = 'DROP TABLE IF EXISTS `whitelist`;';
184 $sql[] = 'DROP TABLE IF EXISTS `access`;';
185 $sql[] = '
186 CREATE TABLE IF NOT EXISTS `log` (
187 `logid` int(11) NOT NULL AUTO_INCREMENT,
188 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
189 `user` varchar(64) DEFAULT NULL,
190 `action` varchar(255) DEFAULT NULL,
191 `level` int(11) NOT NULL,
192 PRIMARY KEY (`logid`),
193 UNIQUE KEY `logid` (`logid`),
194 KEY `logid_2` (`logid`)
195 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
196 ';
197
198 $sql[] = '
199 CREATE TABLE IF NOT EXISTS `users` (
200 `ID` mediumint(9) NOT NULL AUTO_INCREMENT,
201 `username` varchar(60) NOT NULL,
202 `password` varchar(80) NOT NULL,
203 `permissions` text NOT NULL,
204 PRIMARY KEY (`ID`)
205 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;'
206 ;
207
208 $sql[] = "
209 CREATE TABLE IF NOT EXISTS `notes` (
210 `note_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'auto incrementing note_id of each user, unique index',
211 `uid` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
212 `staff_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
213 `name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
214 `alias` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
215 `note_text` VARCHAR(255) NOT NULL,
216 `warning` ENUM('1','2','3','4') NOT NULL,
217 `note_updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
218 PRIMARY KEY (`note_id`),
219 UNIQUE INDEX `note_id` (`note_id`)
220 ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=6;"
221 ;
222
223 $sql[] = "
224 CREATE TABLE IF NOT EXISTS `reimbursement_log` (
225 `reimbursement_id` INT(11) NOT NULL AUTO_INCREMENT,
226 `playerid` VARCHAR(50) NOT NULL,
227 `comp` INT(100) NOT NULL DEFAULT '0',
228 `reason` VARCHAR(255) NOT NULL,
229 `staff_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
230 `timestamp` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
231 PRIMARY KEY (`reimbursement_id`),
232 UNIQUE INDEX `reimbursement_id` (`reimbursement_id`)
233 )
234 COLLATE='latin1_swedish_ci'
235 ENGINE=InnoDB
236 AUTO_INCREMENT=1;"
237 ;
238
239 $sql[] = '
240 CREATE TABLE IF NOT EXISTS `whitelist` (
241 `id` int(0) NOT NULL AUTO_INCREMENT,
242 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
243 `user` varchar(64) DEFAULT NULL,
244 `guid` varchar(64) DEFAULT NULL,
245 `uid` varchar(64) DEFAULT NULL,
246 PRIMARY KEY (`id`)
247 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;'
248 ;
249
250 $sql[] = '
251 CREATE TABLE `access` (
252 `accessID` int(11) NOT NULL AUTO_INCREMENT,
253 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
254 `address` varchar(64) DEFAULT NULL,
255 `failed` int(11) NOT NULL,
256 PRIMARY KEY (`accessID`),
257 UNIQUE KEY `accessID` (`accessID`),
258 KEY `accessID_1` (`accessID`)
259 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;'
260 ;
261
262 $sql[] = "INSERT INTO `users` (`username`, `password`, `permissions`) VALUES ('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]]\"');";
263
264 foreach ($sql as $x) {
265 mysqli_query($dbconnect, $x) or die('Error while executing SQL statement');
266 }
267
268 $ourFileHandle = fopen($ourFileName, 'w');
269 fwrite($ourFileHandle, $written);
270 fclose($ourFileHandle);
271
272 header('Location: index.php');
273 } else {
274 echo 'There has been an error setting up your database, please recheck all inputs';
275 }
276} else {
277 header('Location: index.php');
278}