Пример #1
0
$st = $db->prepare('SELECT username FROM users WHERE username=? LIMIT 1');
$st->bind_param("s", $username);
$st->execute();
$st->store_result();
$ar = $st->num_rows;
$st->close();
if ($ar === 1) {
    hj_return(ALREADY_EXISTS);
}
$st = $db->prepare('INSERT INTO users (username, email, password) ' . 'SELECT username, email, password FROM registrations WHERE username=? AND token=? LIMIT 1');
$st->bind_param("ss", $username, $tok);
$st->execute();
$ar = $st->affected_rows;
$id = $st->insert_id;
$st->close();
if ($ar !== 1) {
    hj_return(VERIF_FAILED);
}
$st = $db->prepare('DELETE FROM registrations WHERE username=?');
$st->bind_param('s', $username);
$st->execute();
$st->close();
$st = $db->prepare('UPDATE users SET access_token=? WHERE username=?');
$access_tok = md5(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));
$st->bind_param('ss', $access_tok, $username);
$st->execute();
$st->close();
$db->close();
hj_resp('id', $id);
hj_resp('access_token', $access_tok);
hj_return(OK);
Пример #2
0
$req = hj_request();
hj_log('req', $req);
$acc = $req->userinfo;
auth_request($req);
$remote = $req->remote;
$det = $req->remote->details;
$user_id = get_id($acc->username);
$db = get_db();
$st = $db->prepare('INSERT INTO remotes' . '(user_id, manufacturer, model, device_type) VALUES(?,?,?,?)');
$type_string = get_type_string($req->remote);
$st->bind_param("isss", $user_id, $det->manufacturer, $det->model, $type_string);
$st->execute();
$remote_id = $st->insert_id;
$st->close();
$st = $db->prepare('INSERT INTO buttons' . '(remote_id, function, frequency, pattern) VALUES(?,?,?,?)');
$b_func = $b_freq = $b_patt = '';
$st->bind_param("isis", $remote_id, $b_func, $b_freq, $b_patt);
$i = 0;
foreach ($remote->buttons as $ignored => $b_json) {
    hj_log("b" . $i, $b_json);
    $i++;
    $b = new Button($b_json);
    $b_func = $b->func_string();
    $b_freq = $b->signal->frequency;
    $b_patt = $b->signal->serialize_pattern();
    $st->execute();
}
$st->close();
$db->close();
hj_resp("remote_id", $remote_id);
hj_return(0);