$v) { chmod($v,0777); $maincode=file_get_contents($v); $maincode = str_replace('$__GIT__', '"'.$arg.'"', $maincode); // replace $__GIT__ with the git version $fp = fopen($v, 'w'); fwrite($fp, $maincode); fclose($fp); } } if(isset($_GET['p'])){ if(file_exists("/home/git/".$_GET['p'])){ $hash = shell_exec("git --git-dir=/home/git/".$_GET["p"]." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"); $con= shell_exec('git --git-dir=/home/git/'.$_GET["p"].' rev-list --oneline --header master | wc -l | sed "s/[ \t]//g"'); if(!$hash){ echo "No Download available"; }else{ $name=substr($_GET["p"],0,strlen($_GET["p"])-4); echo "".$name."-".substr($hash, 0, -1)." (tar.gz)"; } }else{ echo "unknown project"; } }elseif(isset($_GET['build'])){ if(file_exists("/home/git/".$_GET['build'])){ $name=substr($_GET['build'],0,strlen($_GET['build'])-4); if(isset($_GET['h'])){ if(strtolower($_GET['h']) == "head") { $hash = substr(shell_exec("git --git-dir=/home/git/".$_GET['build']." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"), 0, -1); }else{ $hash = substr($_GET['h'], 0, 7); } }else{ $hash = substr(shell_exec("git --git-dir=/home/git/".$_GET['build']." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"), 0, 7); } if(file_exists("/usr/share/gitweb/dl/".$name."-".$hash.".tar.gz")) { header("Content-Type: application/x-gzip"); header("Content-Disposition: attachment; filename=".$name."-".$hash.".tar.gz"); readfile("/usr/share/gitweb/dl/".$name."-".$hash.".tar.gz"); unlink("/usr/share/gitweb/dl/".$name."-".$hash.".tar.gz"); }else{ $b = shell_exec("cd /usr/share/gitweb/dl/; git clone git://git.nexus-irc.de/".$_GET['build']); $c = shell_exec("cd /usr/share/gitweb/dl/".$name."/; git reset ".$_GET['h']); $con= shell_exec('git --git-dir=/home/git/'.$_GET['build'].' rev-list --oneline --header master | wc -l | sed "s/[ \t]//g"'); if($_GET['build'] != "gitweb.git") { scandir_replace("/usr/share/gitweb/dl/".$name,"git-".substr($con, 0, -1)."-".$hash); } $c = shell_exec("cd /usr/share/gitweb/dl; tar czfv ".$name."-".$hash.".tar.gz ".$name); $d = shell_exec("rm -r /usr/share/gitweb/dl/".$name); header("Content-Type: application/x-gzip"); header("Content-Disposition: attachment; filename=".$name."-".$hash.".tar.gz"); readfile("/usr/share/gitweb/dl/".$name."-".$hash.".tar.gz"); unlink("/usr/share/gitweb/dl/".$name."-".$hash.".tar.gz"); } }else{ echo "unknown project"; } }else{ echo ""; echo ""; $a = file_get_contents("http://git.nexus-irc.de/index.cgi?a=project_index2"); $b = explode("\n",$a); foreach($b as $id => $v) { if($v == ""){ }else{ $hash = shell_exec("git --git-dir=/home/git/".$v." rev-list -n 1 --pretty='format:%h' --header master | grep '^[0-9a-f]*$'"); $con= shell_exec('git --git-dir=/home/git/'.$v.' rev-list --oneline --header master | wc -l | sed "s/[ \t]//g"'); if(!$hash){ echo ""; }else{ $name=substr($v,0,strlen($v)-4); echo ""; } } } echo "
ProjectDownload
".$v."No Download available
".$v."".$name."-".substr($hash, 0, -1)." (tar.gz)
"; } ?>