<?php
rg_log('FILE: /inc/user/keys/keys');
$_keys = '';
$add_errmsg = array();
$del_errmsg = array();
$key = trim(rg_var_str('key'));
$key = str_replace("\n", ' ', $key);
$key = str_replace("\r", ' ', $key);
$key_id = rg_var_uint('key_id');
$key_delete_ids = rg_var_str('key_delete_ids');
$rg['HTML:add_status'] = '';
$rg['HTML:del_status'] = '';
while (rg_var_uint('add') == 1) {
if (!rg_valid_referer()) {
$add_errmsg[] = 'invalid referer; try again';
break;
}
if (!rg_token_valid($db, $rg, 'keys', FALSE)) {
$add_errmsg[] = 'invalid token; try again';
break;
}
$_r = rg_keys_add($db, $rg['login_ui'], $key);
if ($_r === FALSE) {
$add_errmsg[] = rg_keys_error();
break;
}
$rg['HTML:add_status'] = rg_template('user/keys/add_ok.html', $rg, TRUE /* xss */);
$key = '';
break;
}
while (rg_var_uint('delete') == 1) {
if (!rg_valid_referer()) {
$del_errmsg[] = 'invalid referer; try again';
break;
}
if (!rg_token_valid($db, $rg, 'keys', FALSE)) {
$del_errmsg[] = 'invalid token; try again';
break;
}
if (empty($key_delete_ids)) {
$del_errmsg[] = 'no keys selected';
break;
}
if (rg_keys_remove($db, $rg['login_ui'], $key_delete_ids) !== TRUE) {
$del_errmsg[] = rg_keys_error();
break;
}
$rg['HTML:del_status'] = rg_template('user/keys/remove_ok.html', $rg, TRUE /* xss */);
break;
}
$rg['HTML:add_errmsg'] = rg_template_errmsg($add_errmsg);
$rg['HTML:del_errmsg'] = rg_template_errmsg($del_errmsg);
$rg['key'] = $key;
$rg['rg_form_token'] = rg_token_get($db, $rg, 'keys');
$rg['HTML:add_form'] = rg_template('user/keys/add.html', $rg, TRUE /*xss*/);
$keys_list = rg_keys_list($db, $rg['login_ui']);
if ($keys_list === FALSE)
$rg['HTML:keys'] = rg_warning('Could not load keys. Try later.'); // TODO
else
$rg['HTML:keys'] = rg_template_table('user/keys/list', $keys_list, $rg);
$hints = array();
if ($rg_ssh_port != 0)
$hints[]['HTML:hint'] = rg_template('hints/ssh/key.html', $rg, TRUE /* xss */);
$rg['HTML:hints'] = rg_template_table('hints/list', $hints, $rg);
$_keys .= rg_template('user/keys/main.html', $rg, TRUE /*xss*/);
?>
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master