<?php
require_role(ROLE_SYSTEMUSER);
$section = 'git_git';
include('git.php');
if ($_GET['action'] == 'newuser') {
check_form_token('git_newkey');
$handle = $_POST['handle'];
if ($handle == '') {
system_failure("Leere Benutzerbezeichnung!");
}
$users = list_users();
if (in_array($handle, $users)) {
system_failure("Ein Benutzer mit diesem Namen existiert bereits.");
}
newkey($_POST['pubkey'], $handle);
if (! $debugmode)
header('Location: git');
die();
} elseif ($_GET['action'] == 'newkey') {
check_form_token('git_newkey');
$handle = $_POST['handle'];
if ($handle == '') {
system_failure("Leere Benutzerbezeichnung!");
}
newkey($_POST['pubkey'], $handle);
if (! $debugmode)
header('Location: git');
die();
} elseif ($_GET['action'] == 'newrepo' || $_GET['action'] == 'editrepo') {
check_form_token('git_edit');
$permissions = array();
$users = list_users();
foreach ($users as $u) {
if (isset($_POST[$u])) {
switch ($_POST[$u]) {
case 'rwplus': $permissions[$u] = 'RW+';
break;
case 'rw': $permissions[$u] = 'RW';
break;
case 'r': $permissions[$u] = 'R';
break;
}
}
}
if (isset($_POST['gitweb']) && ($_POST['gitweb'] == 'r')) {
$permissions['gitweb'] = 'R';
$permissions['daemon'] = 'R';
$description = $_POST['description'];
} else {