From 3cd7d4dee5986fcc3318f847943fb895ff4865d0 Mon Sep 17 00:00:00 2001 From: Michel Roux Date: Mon, 27 Oct 2014 12:04:24 +0100 Subject: [PATCH] Adding operator setting in config --- README.md | 6 ------ ajax.php | 18 ++++++++++-------- config-sample.php | 6 ++++-- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 11c4646..63a9306 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,6 @@ 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 ? ---------- diff --git a/ajax.php b/ajax.php index 7cfa214..f5dbf5c 100644 --- a/ajax.php +++ b/ajax.php @@ -6,7 +6,6 @@ require_once 'utils.php'; require_once 'Net/SSH2.php'; require_once 'Crypt/RSA.php'; global $servers, $config; -$gitstatus = 'git fetch && git status'; if (!empty($_POST['section'])) { foreach ($servers as $ssh) { @@ -38,27 +37,30 @@ if (!empty($_POST['action'])) { } if ($session->isConnected()) { + $operator = !empty($config['operator']) ? ' ' . $config['operator'] . ' ' : ' && '; + $gitstatus = 'git fetch' . $operator . 'git status'; + if ($_POST['action'] == 'status') { - echo ansi2html($session->exec('cd ' . $config['path'] . ' && ' . $gitstatus)); + echo ansi2html($session->exec('cd ' . $config['path'] . $operator . $gitstatus)); exit; } else if (strpos($_POST['action'], 'push') !== false) { if (strpos($_POST['action'], 'force') !== false) { - echo ansi2html($session->exec('cd ' . $config['path'] . ' && git push && ' . $gitstatus)); + echo ansi2html($session->exec('cd ' . $config['path'] . $operator . 'git push' . $operator . $gitstatus)); if (!empty($config['after_push'])) { - echo ansi2html($session->exec('cd ' . $config['path'] . ' && ' . $config['after_push'])); + echo ansi2html($session->exec('cd ' . $config['path'] . $operator . $config['after_push'])); } } else { $message = empty($_POST['message']) ? 'FTP' : str_replace(array('"', "'"), ' ', stripslashes($_POST['message'])); - echo ansi2html($session->exec('cd ' . $config['path'] . ' && git add -A && git commit -m "' . $message . '" && git push && ' . $gitstatus)); + echo ansi2html($session->exec('cd ' . $config['path'] . $operator . 'git add -A' . $operator . 'git commit -m "' . $message . '"' . $operator . 'git push' . $operator . $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'] . $operator . $config['after_push'])); } } exit; } else if ($_POST['action'] == 'pull') { - echo ansi2html($session->exec('cd ' . $config['path'] . ' && git pull && ' . $gitstatus)); + echo ansi2html($session->exec('cd ' . $config['path'] . $operator . 'git pull' . $operator . $gitstatus)); if (!empty($config['after_pull'])) { - echo ansi2html($session->exec('cd ' . $config['path'] . ' && ' . $config['after_pull'])); + echo ansi2html($session->exec('cd ' . $config['path'] . $operator . $config['after_pull'])); } exit; } else { diff --git a/config-sample.php b/config-sample.php index 694d16b..f8e2d39 100644 --- a/config-sample.php +++ b/config-sample.php @@ -23,7 +23,8 @@ $servers = array( 'user' => 'root', 'pass' => 'root', 'path' => '/home/user/root', - 'after_push' => 'php -f TAMERE.php' + 'after_push' => 'php -f TAMERE.php', + 'operator' => '&&' ), 'test1' => array( 'title' => 'Test de la mort', @@ -32,7 +33,8 @@ $servers = array( 'user' => 'user', 'pass' => 'blbl', 'path' => '/home/user/test', - 'after_pull' => 'php -f TONPERE.php' + 'after_pull' => 'php -f TONPERE.php', + 'operator' => '; and' ), 'prod2' => array( 'title' => 'Production de la mort',