xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
<root> / inc / feedback / suggestion.php (97a133e9f1d5b081983c29e64db8a84511db7e67) (973B) (mode 100644) [raw]
<?php
rg_log("FILE: /feedback/suggestion");

$_suggestion = "";

$errmsg = array();

while (1) {
	if ($rg['doit'] != 1) {
		// defaults
		$suggestion = "";
		break;
	}

	$suggestion = rg_var_str("suggestion");

	if (!rg_valid_referer()) {
		$errmsg[] = "invalid referer; try again";
		break;
	}

	if (!rg_token_valid($db, $rg, 'suggestion', FALSE)) {
		$errmsg[] = "invalid token; try again";
		break;
	}

	if (empty($suggestion)) {
		$errmsg[] = "empty suggestion";
		break;
	}

	$r = rg_user_suggestion($db, $rg['login_ui']['uid'], $suggestion);
	if ($r === FALSE) {
		$errmsg[] = "could not add suggestion (" . rg_user_error() . ")!";
		break;
	}

	$suggestion = '';
	$_suggestion .= rg_template("suggestion_sent.html", $rg, TRUE /* xss */);
	break;
}

$rg['suggestion'] = $suggestion;
$rg['HTML:errmsg'] = rg_template_errmsg($errmsg);
$rg['rg_form_token'] = rg_token_get($db, $rg, 'suggestion');
$_suggestion .= rg_template("suggestion.html", $rg, TRUE /* xss */);

?>
Hints

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