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" }');
<?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); }