File size: 2,368 Bytes
36ddefa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
<?php

ob_start();
require_once 'MySQL_funcs.php';
require 'MySQL_config.php';
require 'MySQL_getlogin.php';
ob_end_clean();

session_start();

if (isset($_POST['j_password'])) {
    $password = $_POST['j_password'];
} else {
    $password = '';
}
if (isset($_POST['j_verify_password'])) {
    $verify = $_POST['j_verify_password'];
} else {
    $verify = '';
}
if (strcmp($password, $verify)) {
    echo "{ \"result\": \"verifyfailed\" }";
    return;
}

if (isset($_POST['j_username'])) {
    $userid = $_POST['j_username'];
} else {
    $userid = '-guest-';
}
if (isset($_POST['j_passcode'])) {
    $passcode = $_POST['j_passcode'];
} else {
    $passcode = '';
}
$good = false;

$useridlc = strtolower($userid);

$_SESSION['userid'] = '-guest-';

$good = false;

if (strcmp($useridlc, '-guest-')) {
    if (isset($pendingreg[$useridlc])) {
        if (!strcmp($passcode, $pendingreg[$useridlc])) {
            $ctx = hash_init('sha256');
            hash_update($ctx, $pwdsalt);
            hash_update($ctx, $password);
            $hash = hash_final($ctx);
            $_SESSION['userid'] = $userid;
            $good = true;
            $newlines[] = array();
            $content = getStandaloneFile('dynmap_reg.php');
            if (isset($content)) {
                $lines = explode('\n', $content);
                $isnew = false;
            } else {
                $lines = array();
                $isnew = true;
            }
            if (!empty($lines)) {
                $cnt = count($lines) - 1;
                for ($i = 1; $i < $cnt; $i++) {
                    list($uid, $pc, $hsh) = explode('=', rtrim($lines[$i]));
                    if ($uid == $useridlc) {
                        continue;
                    }
                    if (array_key_exists($uid, $pendingreg)) {
                        $newlines[] = $uid . '=' . $pc . '=' . $hsh;
                    }
                }
            }
            $newlines[] = $useridlc . '=' . $passcode . '=' . $hash;
            if ($isnew) {
                insertStandaloneFile('dynmap_reg.php', implode("\n", $newlines));
            } else {
                updateStandaloneFile('dynmap_reg.php', implode("\n", $newlines));
            }
        }
    }
}
if ($good) {
    echo "{ \"result\": \"success\" }";
} else {
    echo "{ \"result\": \"registerfailed\" }";
}
cleanupDb();