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 / state.inc.php (ec903715e788340c823445ac2b1acb62316a6e55) (863B) (mode 100644) [raw]
<?php
require_once($INC . "/db.inc.php");

/*
 * Get state
 */
function rg_state_get($db, $var)
{
	$e_var = rg_sql_escape($db, $var);

	$sql = "SELECT value FROM state WHERE var = '$e_var'";
	$res = rg_sql_query($db, $sql);
	if ($res === FALSE)
		return FALSE;

	$row = rg_sql_fetch_array($res);
	if (!isset($row['value']))
		return FALSE;

	rg_sql_free_result($res);

	return $row['value'];
}

/*
 * Set state
 */
function rg_state_set($db, $var, $value)
{
	$e_var = rg_sql_escape($db, $var);
	$e_value = rg_sql_escape($db, $value);

	if (rg_state_get($db, $var) === FALSE) {
		$sql = "INSERT INTO state (var, value)"
			. " VALUES('$e_var', '$e_value')";
	} else {
		$sql = "UPDATE state SET value = '$e_value'"
			. " WHERE var = '$e_var'";
	}
	$res = rg_sql_query($db, $sql);
	if ($res === FALSE)
		return FALSE;
	rg_sql_free_result($res);

	return TRUE;
}
?>
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