-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetup.php
80 lines (80 loc) · 3.12 KB
/
setup.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
<?php
if (file_exists("./status/DatabaseCon.php"))
{
var_dump(file_exists("./status/DatabaseCon.php"));
echo "Setup can not run here";
die;
}
?>
<form method="POST">
<p>Admin Account:</p>
<input type="text" name="info[user]" required/>
<p>Password:</p>
<input type="password" name="info[password]" required/>
<p>Mysql:</p>
<h6>Address:</h6>
<input type="text" name="mysql[address]" required/>
<h6>Port:</h6>
<input type="text" name="mysql[port]" required/>
<h6>User:</h6>
<input type="text" name="mysql[user]" required/>
<h6>Password:</h6>
<input type="password" name="mysql[password]" required/>
<h6>Database:</h6>
<input type="text" name="mysql[database]" required/>
<input type="submit" name="Submit" />
</form>
<?php
if (isset($_POST['info']) && isset($_POST['mysql']))
{
$info = $_POST['info'];
$mysql = $_POST['mysql'];
require "./scripts/PasswordWays.php";
$PWH = new PasswordWaysH;
$spassword = $PWH->MakeHash($info['password']);
$MysqlDSNFormat = "mysql:host=%s;port=%s;dbname=%s";
$MysqlDSN = sprintf($MysqlDSNFormat, $mysql['address'], $mysql['port'], $mysql['database']);
$rlink = new PDO($MysqlDSN, $mysql['user'], $mysql['password']);
$rlink->beginTransaction();
$rlink->exec("CREATE TABLE `SYSTEM_LOGIF`(
`ID` INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
`NAME` CHAR(10) NOT NULL,
`PASSWORD` TEXT NOT NULL,
`ADMIN` INTEGER NOT NULL,
`IP` TEXT NOT NULL);");
$rlink->exec("CREATE TABLE `pictures`(
`ID` CHAR(36) PRIMARY KEY NOT NULL,
`LOCATION` TEXT NOT NULL,
`USER` TEXT NOT NULL,
`TIME` TIMESTAMP NOT NULL,
`IP` TEXT NOT NULL);");
$rlink->exec("CREATE TABLE `SYSTEM_IVCODE`(
`ID` CHAR(8) PRIMARY KEY NOT NULL,
`CODE` TEXT NOT NULL,
`TIME` INTEGER NOT NULL,
`USER` CHAR(10) NOT NULL);");
$rlink->exec("CREATE TABLE `SYSTEM_APIKEY`(
`USER` CHAR(10) PRIMARY KEY NOT NULL,
`KEY` TEXT NOT NULL);");
$rlink->commit();
$initsql = "INSERT INTO SYSTEM_LOGIF (NAME,PASSWORD,ADMIN,IP) VALUES (?,?,1,?);";//预准备
$initdb = $rlink->prepare($initsql);
require "./scripts/client_ip.php";
$initdb->execute(array($info['user'],$spassword,clientIP()));//执行
$dbconfigF = '<?php $xlink = new PDO("%s", "%s", "%s", array(PDO::ATTR_PERSISTENT => true));';
$dbconfig = sprintf($dbconfigF, $MysqlDSN, $mysql['user'], $mysql['password']);
if (!file_exists("./status/DatabaseCon.php") && !file_exists("./status"))
{
mkdir("./status", 0755);
$dnbconfig = fopen("./status/DatabaseCon.php", "w");
fwrite($dnbconfig, $dbconfig);
fclose($dnbconfig);
is_dir("./uploads") or mkdir("./uploads", 0755);
is_dir("./uploads_resize") or mkdir("./uploads_resize", 0755);
}
else
{
echo "Cloud not create dbconfig, Plese Check it.";
}
$rlink = null;
}