· 9 years ago · Jul 02, 2017, 09:46 PM
1<?php
2if (!file_exists('verifyPanel.php')) {
3 $fail = false;
4 if ($_POST['user'] != '') {
5 $user = $_POST['user'];
6 } else {
7 echo 'Invalid User ';
8 $fail = true;
9 }
10 if ($_POST['pass'] != '') {
11 $pass = $_POST['pass'];
12 } else {
13 $pass = '';
14 }
15 if ($_POST['host'] != '') {
16 $host = $_POST['host'];
17 } else {
18 echo 'Invalid Host ';
19 $fail = true;
20 }
21 if ($_POST['name'] != '') {
22 $name = $_POST['name'];
23 } else {
24 echo 'Invalid DB Name ';
25 $fail = true;
26 }
27 if ($_POST['port'] != '') {
28 $port = $_POST['port'];
29 } else {
30 $port = 3306;
31 }
32 if ($_POST['RHost'] != '') {
33 $RHost = $_POST['RHost'];
34 } else {
35 echo 'Invalid RCON Host ';
36 $fail = true;
37 }
38 if ($_POST['RPass'] != '') {
39 $RPass = $_POST['RPass'];
40 } else {
41 echo 'Invalid RCON Password ';
42 $fail = true;
43 }
44 if ($_POST['RPort'] != '') {
45 $RPort = $_POST['RPort'];
46 $RPort = (int) $RPort;
47 } else {
48 echo 'Invalid RCON Port ';
49 $fail = true;
50 }
51 //max level checks
52 if ($_POST['maxCop'] != '') {
53 $maxCop = $_POST['maxCop'];
54 $maxCop = (int) $maxCop;
55 } else {
56 $maxCop = 8;
57 }
58 if ($_POST['maxMedic'] != '') {
59 $maxMedic = $_POST['maxMedic'];
60 $maxMedic = (int) $maxMedic;
61 } else {
62 $maxMedic = 5;
63 }
64 if ($_POST['maxAdmin'] != '') {
65 $maxAdmin = $_POST['maxAdmin'];
66 $maxAdmin = (int) $maxAdmin;
67 } else {
68 $maxAdmin = 5;
69 }
70 if ($_POST['maxDonator'] != '') {
71 $maxDonator = $_POST['maxDonator'];
72 $maxDonator = (int) $maxDonator;
73 } else {
74 $maxDonator = 5;
75 }
76 if ($_POST['apiUser'] != '') {
77 $apiUser = $_POST['apiUser'];
78 } else {
79 $apiUser = 'default';
80 }
81 if ($_POST['apiPass'] != '') {
82 $apiPass = $_POST['apiPass'];
83 } else {
84 $apiPass = 'password';
85 }
86 if ($_POST['apiEnable'] != '') {
87 if ($_POST['apiEnable'] == '1' || $_POST['apiEnable'] == '0') {
88 $apiEnable = $_POST['apiEnable'];
89 $apiEnable = (int) $apiEnable;
90 } else {
91 $apiEnable = 1;
92 }
93 } else {
94 $apiEnable = 1;
95 }
96 if (!$fail) {
97 $filename = 'verifyPanel.php';
98 $ourFileName = $filename;
99 $written = '<?php
100include "functions.php";
101function masterconnect(){
102 global '.'$'.'dbcon;
103 '.'$'."dbcon = mysqli_connect('$host', '$user', '$pass', '$name', '$port') or die ('Database connection failed');
104}
105function loginconnect(){
106 global ".'$'.'dbconL;
107 '.'$'."dbconL = mysqli_connect('$host', '$user', '$pass', '$name', '$port');
108}
109function Rconconnect(){
110 global ".'$'.'rcon;
111 '.'$'."rcon = new \Nizarii\ArmaRConClass\ARC('$RHost', $RPort, '$RPass');
112}
113global ".'$'.'DBHost;
114'.'$'."DBHost = '$host';
115global ".'$'.'DBUser;
116'.'$'."DBUser = '$user';
117global ".'$'.'DBPass;
118'.'$'."DBPass = '$pass';
119global ".'$'.'DBName;
120'.'$'."DBName = '$name';
121global ".'$'.'RconHost;
122'.'$'."RconHost = '$RHost';
123global ".'$'.'RconPort;
124'.'$'."RconPort = $RPort;
125global ".'$'.'RconPass;
126'.'$'."RconPass = '$RPass';
127global ".'$'.'maxCop;
128'.'$'."maxCop = $maxCop;
129global ".'$'.'maxMedic;
130'.'$'."maxMedic = $maxMedic;
131global ".'$'.'maxAdmin;
132'.'$'."maxAdmin = $maxAdmin;
133global ".'$'.'maxDonator;
134'.'$'."maxDonator = $maxDonator;
135global ".'$'.'apiUser;
136'.'$'."apiUser = '$apiUser';
137global ".'$'.'apiPass;
138'.'$'."apiPass = '$apiPass';
139global ".'$'.'apiEnable;
140'.'$'."apiEnable = $apiEnable;
141?>
142";
143
144
145
146
147 $dbconnect = mysqli_connect($host, $user, $pass, $name, $port) or die('Database connection failed');
148
149 $sql = array();
150
151 $sql[] = 'DROP TABLE IF EXISTS `users`;';
152 $sql[] = 'DROP TABLE IF EXISTS `log`;';
153 $sql[] = 'DROP TABLE IF EXISTS `notes`;';
154 $sql[] = 'DROP TABLE IF EXISTS `reimbursement_log`;';
155 $sql[] = 'DROP TABLE IF EXISTS `whitelist`;';
156 $sql[] = 'DROP TABLE IF EXISTS `access`;';
157 $sql[] = '
158 CREATE TABLE IF NOT EXISTS `log` (
159 `logid` int(11) NOT NULL AUTO_INCREMENT,
160 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
161 `user` varchar(64) DEFAULT NULL,
162 `action` varchar(255) DEFAULT NULL,
163 `level` int(11) NOT NULL,
164 PRIMARY KEY (`logid`),
165 UNIQUE KEY `logid` (`logid`),
166 KEY `logid_2` (`logid`)
167 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
168 ';
169
170 $sql[] = '
171 CREATE TABLE IF NOT EXISTS `users` (
172 `ID` mediumint(9) NOT NULL AUTO_INCREMENT,
173 `username` varchar(60) NOT NULL,
174 `password` varchar(80) NOT NULL,
175 `permissions` text NOT NULL,
176 PRIMARY KEY (`ID`)
177 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;'
178 ;
179
180 $sql[] = "
181 CREATE TABLE IF NOT EXISTS `notes` (
182 `note_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'auto incrementing note_id of each user, unique index',
183 `uid` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
184 `staff_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
185 `name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
186 `alias` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
187 `note_text` VARCHAR(255) NOT NULL,
188 `warning` ENUM('1','2','3','4') NOT NULL,
189 `note_updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
190 PRIMARY KEY (`note_id`),
191 UNIQUE INDEX `note_id` (`note_id`)
192 ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=6;"
193 ;
194
195 $sql[] = "
196 CREATE TABLE IF NOT EXISTS `reimbursement_log` (
197 `reimbursement_id` INT(11) NOT NULL AUTO_INCREMENT,
198 `playerid` VARCHAR(50) NOT NULL,
199 `comp` INT(100) NOT NULL DEFAULT '0',
200 `reason` VARCHAR(255) NOT NULL,
201 `staff_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
202 `timestamp` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
203 PRIMARY KEY (`reimbursement_id`),
204 UNIQUE INDEX `reimbursement_id` (`reimbursement_id`)
205 )
206 COLLATE='latin1_swedish_ci'
207 ENGINE=InnoDB
208 AUTO_INCREMENT=1;"
209 ;
210
211 $sql[] = "
212 CREATE TABLE IF NOT EXISTS `reimbursement_log` (
213 `reimbursement_id` INT(11) NOT NULL AUTO_INCREMENT,
214 `playerid` VARCHAR(50) NOT NULL,
215 `comp` INT(100) NOT NULL DEFAULT '0',
216 `reason` VARCHAR(255) NOT NULL,
217 `staff_name` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
218 `timestamp` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
219 PRIMARY KEY (`reimbursement_id`),
220 UNIQUE INDEX `reimbursement_id` (`reimbursement_id`)
221 )
222 COLLATE='latin1_swedish_ci'
223 ENGINE=InnoDB
224 AUTO_INCREMENT=1;"
225 ;
226
227 $sql[] = '
228 CREATE TABLE IF NOT EXISTS `whitelist` (
229 `id` int(0) NOT NULL AUTO_INCREMENT,
230 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
231 `user` varchar(64) DEFAULT NULL,
232 `guid` varchar(64) DEFAULT NULL,
233 `uid` varchar(64) DEFAULT NULL,
234 PRIMARY KEY (`id`)
235 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;'
236 ;
237
238 $sql[] = '
239 CREATE TABLE `access` (
240 `accessID` int(11) NOT NULL AUTO_INCREMENT,
241 `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
242 `address` varchar(64) DEFAULT NULL,
243 `failed` int(11) NOT NULL,
244 PRIMARY KEY (`accessID`),
245 UNIQUE KEY `accessID` (`accessID`),
246 KEY `accessID_1` (`accessID`)
247 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;'
248 ;
249
250 $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]]\"');";
251
252 foreach ($sql as $x) {
253 mysqli_query($dbconnect, $x) or die('Error while executing SQL statement');
254 }
255
256 fwrite($ourFileHandle, $written);
257 fclose($ourFileHandle);
258
259 header('Location: index.php');
260 } else {
261 echo 'There has been an error setting up your database, please recheck all inputs';
262 }
263 } else {
264 header('Location: index.php');
265 }