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 / user / pass / pass.php (294f98dc93fc7452e16fcd0c35f180c6a1082e34) (1,126B) (mode 100644) [raw]
<?php
rg_log("FILE: /inc/user/pass/pass");

$errmsg = array();

$_pass = "";

$old_pass = rg_var_str("old_pass");
$pass1 = rg_var_str("pass1");
$pass2 = rg_var_str("pass2");

$show_form = 1;
while (1) {
	if ($rg['doit'] != 1)
		break;

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

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

	if (strcmp($pass1, $pass2) != 0) {
		$errmsg[] = "passwords does not match";
		break;
	}

	if (!rg_user_pass_valid($db, $rg['login_ui']['uid'], $old_pass)) {
		$errmsg[] = "old password is invalid";
		break;
	}

	if (!rg_user_set_pass($db, $rg['login_ui']['uid'], $pass1)) {
		$errmsg[] = rg_user_error();
		break;
	}

	$_pass .= rg_template("user/pass_changed.html", $rg, TRUE /*xss*/);
	$show_form = 0;
	break;
}

if ($show_form == 1) {
	$rg['HTML:errmsg'] = rg_template_errmsg($errmsg);
	$rg['rg_form_token'] = rg_token_get($db, $rg, 'set_pass');
	$rg['old_pass'] = $old_pass;
	$rg['pass1'] = $pass1;
	$rg['pass2'] = $pass2;

	$_pass .= rg_template("user/pass.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