aboutsummaryrefslogtreecommitdiffstats
path: root/rev.php
blob: 00b9a6d7c4b86f796bc3aca1e783bdb361eb4901 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
/**
 * Place this at the public root of your system and adapt $app_root
 * so it relates to the app branch root.
 *
 * Used for a continuous integration prototype, on various hosts.
 *
 * PHP version 5
 *
 * @license BSD-2-Clause
 * @author  Romain d'Alverny <rda at mageia.org>
*/

$app_root = __DIR__;

$vars = array(
    'app'     => $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'],
    'git'     => get_git_info($app_root),
    'status'  => get_status($app_root),
);

header('Content-Type: application/json; charset=utf-8');
echo json_encode($vars);

//---

/**
 * TODO Return app status (tests, config, other?)
 *
 * @param string $app_root
 *
 * @return string
*/
function get_status($app_root)
{
    return 'OK';
}

/**
 * Return basic Subversion status info. See $keys array.
 *
 * @param string $app_root
 *
 * @return array
*/
function get_git_info($app_root)
{
    exec(escapeshellcmd(sprintf('LC_ALL=C %s show %s %s', exec('which git'), '-s --pretty="Revision: %H%nLast Author: %an%nDate Revision: %ar%nTitle: %s"', escapeshellarg($app_root))),
        $out, $ret);


	return $out;
}