function gwvpmini_RepoMainPageBody()
{
- gwvpmini_GitCreateRepoForm();
+ global $BASE_URL;
+
if(gwvpmini_isLoggedIn()) {
+ gwvpmini_GitCreateRepoForm();
$repos = gwvpmini_GetOwnedRepos($_SESSION["username"]);
if(!$repos) {
echo "You currently own no repos<br>";
foreach($repos as $repo) {
$name = $repo["name"];
$desc = $repo["desc"];
- echo "<tr><td>$name</td><td>$desc</td>";
+ echo "<tr><td><a href=\"$BASE_URL/view/$name\">$name</a></td><td>$desc</td>";
echo "<td>";\r
$repo_base = gwvpmini_getConfigVal("repodir");\r
$cmd = "git --git-dir=\"$repo_base/$name.git\" log -1 2>&1";\r
*\r
* Or... should we instead just list every repo?\r
*/
+
+ global $BASE_URL;
+
echo "<h2>Repo Activity</h2>";
if(gwvpmini_isLoggedIn()) {\r
$repos = gwvpmini_GetOwnedRepos($_SESSION["username"]);
foreach($repos as $repo) {
$name = $repo["name"];
$desc = $repo["desc"];
- echo "<tr><td>$name</td><td>$desc</td>";
+ echo "<tr><td><a href=\"$BASE_URL/view/$name\">$name</a></td><td>$desc</td>";
echo "<td>";
$repo_base = gwvpmini_getConfigVal("repodir");
$cmd = "git --git-dir=\"$repo_base/$name.git\" log -1 2>&1";
echo "<tr><th colspan=\"2\">Create Repo</th></tr>";
echo "<tr><th>Repo Name</th><td><input type=\"text\" name=\"reponame\"></td></tr>";
echo "<tr><th>Repo Description</th><td><input type=\"text\" name=\"repodesc\"></td></tr>";
+ echo "<tr><th>Read Permissions</th><td>";
+ echo "<select name=\"perms\">";
+ echo "<option value=\"perms-public\">Anyone Can Read</option>";
+ echo "<option value=\"perms-registered\">Must be Registered To Read</option>";
+ echo "<option value=\"perms-onlywrite\">Only Writers can Read</option>";
+ echo "</select>";
+ echo "</td></tr>";
echo "<tr><td colspan=\"2\"><input type=\"submit\" name=\"Create\" value=\"Create\"></td></tr>";
echo "</table>";
echo "</form>";
-}\r
+}
function gwvpmini_RepoCreate()
{
global $BASE_URL;
- if(gwvpmini_isLoggedIn()) {
+ // TODO: check the stuff out
+ // first reponame
+ $inputcheck = true;
+
+ // remove a .git at the end if it was input
+ $_REQUEST["reponame"] = preg_replace("/\.git$/", "", $_REQUEST["reponame"]);
+
+ // check for valid chars
+ $replcheck = preg_replace("/[a-zA-Z0-9_\-\.]/", "", $_REQUEST["reponame"]);
+ if(strlen($replcheck)>0) {
+ $inputcheck = false;
+ $inputcheckerror = "Repo name contains invalid characters, repos can only contain a-z, A-Z, 0-9, _, - and .";
+ }
+
+ if(!$inputcheck) {
+ gwvpmini_SendMessage("error", "$inputcheckerror");\r
+ header("Location: $BASE_URL/repos");
+ } else if(gwvpmini_isLoggedIn()) {
//gwvpmini_createGitRepo($name, $ownerid, $desc, $bundle=null, $defaultperms=0)
if(gwvpmini_HaveRepo($_REQUEST["reponame"])) {
gwvpmini_SendMessage("error", "Repo ".$_REQUEST["reponame"]." already exists");\r
header("Location: $BASE_URL/repos");
} else {
- gwvpmini_createGitRepo($_REQUEST["reponame"], $_SESSION["id"], $_REQUEST["repodesc"]);
+ gwvpmini_createGitRepo($_REQUEST["reponame"], $_SESSION["id"], $_REQUEST["repodesc"], $_REQUEST["perms"]);
gwvpmini_SendMessage("info", "Repo ".$_REQUEST["reponame"]." has been created");
header("Location: $BASE_URL/repos");
}