Example #1
0
global $DB, $RQ, $USER, $CONFIG;
require_once '../../../inc/bootstrap.inc';
if ($RQ['user']['id']) {
    if (check_user_id($RQ['user']['id'])) {
        if (!is_array(fetch_user_by_id($id = intval($RQ['user']['id'])))) {
            if (($len = mb_strlen($RQ['user']['nick'])) >= $CONFIG['LIMITS']['NICK_LENGTH']['MIN']) {
                if ($len <= $CONFIG['LIMITS']['NICK_LENGTH']['MAX']) {
                    if (!is_array(fetch_user_by_nick($RQ['user']['nick']))) {
                        if (preg_match('/[\\da-f]{40}/', $RQ['user']['password'])) {
                            if (!is_array($USER) or !$USER['flags']['super'] and !$USER['flags']['dispatcher']) {
                                require_once '../../../inc/challenge.inc.php';
                                challenge_first($CONFIG['REGISTER']['CHALLENGE']);
                            }
                            $user = array('id' => $id, 'nick' => $RQ['user']['nick'], 'password' => $RQ['user']['password'], 'fullname_published' => $RQ['user']['fullname_published'] ? true : false, 'email_published' => $RQ['user']['email_published'] ? true : false);
                            fill_if_nonempty($user, $RQ['user'], 'fullname');
                            fill_if_nonempty($user, $RQ['user'], 'email');
                            if ($CONFIG['REGISTER']['DEFAULT_BLOCKED']) {
                                $user['flags']['blocked'] = true;
                            }
                            if ($RQ['user']['flags'] and $USER['flags']['super']) {
                                $user['flags'] = $RQ['user']['flags'];
                            }
                            if (is_array($RQ['user']['car']) and car_model_exists($RQ['user']['car']['model']) and car_color_exists($RQ['user']['car']['model']) and check_car_number($RQ['user']['car']['number'])) {
                                $user['car'] = array('model' => $RQ['user']['car']['model'], 'color' => $RQ['user']['car']['color'], 'number' => $RQ['user']['car']['number']);
                                if ($RQ['user']['driving']) {
                                    $user['driving'] = true;
                                }
                            }
                            update_user($user);
                        } else {
                            die('{ "err": 400, "errmsg": "invalid_syntax" }');
Example #2
0
<?php

global $DB, $RQ, $USER, $CONFIG;
require_once '../../../inc/bootstrap.inc';
if ($RQ['nick']) {
    if (is_array($user = fetch_user_by_nick($RQ['nick']))) {
        if ($USER['flags']['super']) {
            echo json_encode($user);
        } else {
            if (!$user['flags']['blocked']) {
                $result = array('nick' => $user['nick']);
                fill_if_published($result, $user, 'fullname');
                fill_if_published($result, $user, 'email');
                fill_if_nonempty($result, $user, 'car');
                fill_if_nonempty($result, $user, 'driving');
                fill_if_nonempty($result, $user, 'PD_public');
                echo json_encode($result);
            } else {
                die('{ "err": 403, "errmsg": "user_blocked" }');
            }
        }
    } else {
        die('{ "err": 404, "errmsg": "nick_not_found" }');
    }
} else {
    echo json_encode($USER);
}