1 <!-- vim:set ts=4 softtabstop=4 expandtab: -->
4 <title>Creador de Repositorios Subversion</title>
7 <h1>Creador de Repositorios Subversion</h1>
8 <? // vim:set ts=4 softtabstop=4 expandtab:
13 $svncreate = 'sudo /usr/local/bin/svncreate';
15 ini_set('implicit_flush', true);
18 $f = fopen('/etc/svn/passwd', 'r');
19 while (($s = fgets($f, 4096)) !== false) {
20 list($users[], $pass) = split(':', $s);
24 if (@$_REQUEST['enviado']) {
26 if (!$_REQUEST['repos']) {
27 die('No se especificó el nombre del repositorio.');
29 if (!$_REQUEST['desc']) {
30 die('No se especificó la descripción del repositorio.');
32 if (!$_REQUEST['users']) {
33 die('No se especificaron usuarios habilitados para escribir en el repositorio.');
35 if (!preg_match('/^[\w\d]+$/', $_REQUEST['repos'])) {
36 die('El nombre del repositorio no es válido (sólo puede tener caracteres alfanuméricos).');
38 // Chequear usuarios que existan.
39 //if (!$_REQUEST['users']) {
40 // error('No se especificaron usuarios habilitados para escribir en el repositorio.');
50 escapeshellarg($_REQUEST['repos']),
51 escapeshellarg($_REQUEST['desc']),
52 escapeshellarg(join(' ', $_REQUEST['users']))
57 echo "Hubo un error: $retval";
60 $url = sprintf('http://portal.mecon.ar/svn/%s/tronco/', $_REQUEST['repos']);
61 printf('Puede hacer un checkout con: svn co <A href="%s">%s</A> %s.%s', $url, $url, $_REQUEST['repos'], "\n");
62 printf("Alternativamente puede hacer un checkout con: svn co svn+ssh://portal.mecon.ar/var/lib/svn/%s si tiene acceso via ssh.\n", $_REQUEST['repos']);
63 printf('<A href="%s">Volver</A>', $_SERVER['PHP_SELF']);
70 Nombre del repositorio: <input type="text" name="repos" value="<?= @$_REQUEST['repos'] ?>"><br>
71 Descripción: <input type="text" name="desc" value="<?= @$_REQUEST['desc'] ?>"><br>
72 Usuarios habilitados a escribir:
73 <select name="users[]" multiple>
74 <? foreach ($users as $user) { ?>
75 <option><?= $user ?></option>
78 <input type="submit" name="enviado" value="Crear"><br>