aboutsummaryrefslogtreecommitdiffstats
path: root/mod/siteinfo.php
blob: 29c7d7d2c6b3554b6f34b2e87ceb2458eca60a39 (plain) (blame)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php

function siteinfo_init(&$a) {
	if (argv(1) ===  'json') {
		$data = get_site_info();
		json_return_and_die($data);
	}
}



function siteinfo_content(&$a) {

	if(! get_config('system','hidden_version_siteinfo')) {
		$version = sprintf( t('Version %s'), Zotlabs\Project\System::get_project_version());
		if(@is_dir('.git') && function_exists('shell_exec')) {
			$commit = @shell_exec('git log -1 --format="%h"');
			$tag = get_std_version(); // @shell_exec('git describe --tags --abbrev=0');
		}
		if(! isset($commit) || strlen($commit) > 16)
			$commit = '';
	}
	else {
	        $version = $commit = '';
	}
	$visible_plugins = array();
	if(is_array($a->plugins) && count($a->plugins)) {
		$r = q("select * from addon where hidden = 0");
		if(count($r))
			foreach($r as $rr)
				$visible_plugins[] = $rr['name'];
	}

	$plugins_list = '';
	if(count($visible_plugins)) {
	        $plugins_text = t('Installed plugins/addons/apps:');
		$sorted = $visible_plugins;
		$s = '';
		sort($sorted);
		foreach($sorted as $p) {
			if(strlen($p)) {
				if(strlen($s)) $s .= ', ';
				$s .= $p;
			}
		}
		$plugins_list .= $s;
	}
	else
		$plugins_text = t('No installed plugins/addons/apps');

	$txt = get_config('system','admininfo');
	$admininfo = bbcode($txt);

	if(file_exists('doc/site_donate.html'))
		$donate .= file_get_contents('doc/site_donate.html');

	if(function_exists('sys_getloadavg'))
		$loadavg = sys_getloadavg();

	$o = replace_macros(get_markup_template('siteinfo.tpl'), array(
		'$title' => t('$Projectname'),
		'$description' => t('This is a hub of $Projectname - a global cooperative network of decentralized privacy enhanced websites.'),
		'$version' => $version,
		'$tag_txt' => t('Tag: '),
		'$tag' => $tag,
		'$polled' => t('Last background fetch: '),
		'$lastpoll' => get_poller_runtime(),
		'$load_average' => t('Current load average: '),
		'$loadavg_all' => $loadavg[0] . ', ' . $loadavg[1] . ', ' . $loadavg[2],		
		'$commit' => $commit,
		'$web_location' => t('Running at web location') . ' ' . z_root(),
		'$visit' => t('Please visit <a href="http://hubzilla.org">hubzilla.org</a> to learn more about $Projectname.'),
		'$bug_text' => t('Bug reports and issues: please visit'),
		'$bug_link_url' => 'https://github.com/redmatrix/hubzilla/issues',
		'$bug_link_text' => t('$projectname issues'),
		'$contact' => t('Suggestions, praise, etc. - please email "redmatrix" at librelist - dot com'),
		'$donate' => $donate,
		'$adminlabel' => t('Site Administrators'),
		'$admininfo' => $admininfo,
		'$plugins_text' => $plugins_text,
		'$plugins_list' => $plugins_list
        ));

	call_hooks('about_hook', $o); 	

	return $o;

}