32 lines
1.1 KiB
PHP
Raw Normal View History

2013-10-02 12:21:30 +02:00
<?php
2013-10-17 09:51:35 +02:00
ini_set('display_errors', true);
2013-10-16 21:16:17 +02:00
require_once 'config.php';
require_once 'utils.php';
2013-10-02 15:22:31 +02:00
require_once 'Net/SSH2.php';
2013-10-02 14:27:20 +02:00
global $servers;
2013-10-02 16:33:16 +02:00
$gitstatus = 'git fetch && git status';
2013-10-02 14:27:20 +02:00
if (!empty($_POST['section'])) {
foreach ($servers as $ssh) {
if (array_key_exists($_POST['section'], $ssh)) {
$config = $ssh[$_POST['section']];
break;
}
}
}
if (!empty($_POST['action'])) {
2013-10-02 14:47:25 +02:00
$session = new Net_SSH2($config['host'], $config['port']);
2013-10-02 15:22:31 +02:00
if ($session->login($config['user'], $config['pass'])) {
2013-10-02 14:47:25 +02:00
if ($_POST['action'] == 'status') {
2013-10-16 23:10:51 +02:00
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && ' . $gitstatus . "'"));
2013-10-02 14:47:25 +02:00
} else if ($_POST['action'] == 'push') {
$message = empty($_POST['message']) ? 'FTP' : $_POST['message'];
2013-10-16 23:10:51 +02:00
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && git add -A && git commit -m "' . addslashes($message) . '" && git push && ' . $gitstatus . "'"));
2013-10-02 14:47:25 +02:00
} else if ($_POST['action'] == 'pull') {
2013-10-16 23:10:51 +02:00
echo ansi2html($session->exec('bash -c \'cd ' . $config['path'] . ' && git pull && ' . $gitstatus . "'"));
2013-10-02 14:47:25 +02:00
}
2013-10-02 14:27:20 +02:00
}
}