<?php namespace Zotlabs\Module; class Siteinfo extends \Zotlabs\Web\Controller { function init() { if (argv(1) === 'json') { $data = get_site_info(); json_return_and_die($data); } } function get() { if(! get_config('system','hidden_version_siteinfo')) { $version = sprintf( t('Version %s'), \Zotlabs\Lib\System::get_project_version()); if(@is_dir('.git') && function_exists('shell_exec')) { $commit = @shell_exec('git log -1 --format="%h"'); $tag = \Zotlabs\Lib\System::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(\App::$plugins) && count(\App::$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; } }