New dependancie : bash or shell supporting && operator

This commit is contained in:
Michel Roux 2014-10-27 11:37:09 +01:00
parent 910b6c6cdb
commit beef6187b4
2 changed files with 12 additions and 6 deletions

View File

@ -12,6 +12,12 @@ What I need to run it ?
----------
Nothing more than a web server with PHP 5 installed.
The git clients *MUST HAVE bash* or shell like him supporting && operator
Shells tested and working :
- Bash
- lshell
- zsh
Why ?
----------

View File

@ -39,26 +39,26 @@ if (!empty($_POST['action'])) {
if ($session->isConnected()) {
if ($_POST['action'] == 'status') {
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && ' . $gitstatus . "'"));
echo ansi2html($session->exec('cd ' . $config['path'] . ' && ' . $gitstatus));
exit;
} else if (strpos($_POST['action'], 'push') !== false) {
if (strpos($_POST['action'], 'force') !== false) {
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && git push && ' . $gitstatus . "'"));
echo ansi2html($session->exec('cd ' . $config['path'] . ' && git push && ' . $gitstatus));
if (!empty($config['after_push'])) {
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && ' . $config['after_push'] . "'"));
echo ansi2html($session->exec('cd ' . $config['path'] . ' && ' . $config['after_push']));
}
} else {
$message = empty($_POST['message']) ? 'FTP' : str_replace(array('"', "'"), ' ', stripslashes($_POST['message']));
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && git add -A && git commit -m "' . $message . '" && git push && ' . $gitstatus . "'"));
echo ansi2html($session->exec('cd ' . $config['path'] . ' && git add -A && git commit -m "' . $message . '" && git push && ' . $gitstatus));
if (!empty($config['after_push'])) {
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && ' . $config['after_push'] . "'"));
}
}
exit;
} else if ($_POST['action'] == 'pull') {
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && git pull && ' . $gitstatus . "'"));
echo ansi2html($session->exec('cd ' . $config['path'] . ' && git pull && ' . $gitstatus));
if (!empty($config['after_pull'])) {
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && ' . $config['after_pull'] . "'"));
echo ansi2html($session->exec('cd ' . $config['path'] . ' && ' . $config['after_pull']));
}
exit;
} else {