Odyssey
version.prg
1 <?php
2 // vim: tabstop=2 shiftwidth=2 expandtab syn=php
3 
4 require_once 'hcuEnv.i';
5 
6 
7 function show_version_info() {
8  $public_fields = [
9  'last_commit_date',
10  'build_date',
11  'git_rev',
12  'git_tag',
13  'git_rev_count_from_tag'
14  ];
15  $response = [
16  "success" => TRUE
17  ];
18  $env = LoadSystemEnv('version');
19  if ($env['devmode']) {
20  $env['logger']->warning("Showing DEVMODE-only values in /version info");
21  $response['env'] = $env;
22  unset($response['env']['logger']);
23  }
24  $build = [
25  'node' => gethostname()
26  ];
27  foreach (explode("\n", file_get_contents('/BUILD')) as $line) {
28  if (!$line) {
29  continue;
30  }
31  list($key, $value) = preg_split('/:/', $line, 2);
32  $key = str_replace(' ', '_', strtolower(trim($key)));
33  if ($env['devmode'] || in_array($key, $public_fields)) {
34  $build[$key] = trim($value);
35  }
36  }
37  $response['build'] = &$build;
38  header('Content-Type: text/json');
39  $json_resp = json_encode($response);
40  if (!$json_resp) {
41  echo json_encode([
42  "success" => FALSE,
43  "error" => "json_encode"
44  ]);
45  } else {
46  echo $json_resp;
47  }
48 }
49 
50 show_version_info();
51 
52 ?>