Provide Zotlabs\Project and System class for querying details about the project/version info. Move these out of /boot.php
This commit is contained in:
parent
c107bcfbd9
commit
342fda94e4
62
Zotlabs/Project/System.php
Normal file
62
Zotlabs/Project/System.php
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Zotlabs\Project;
|
||||||
|
|
||||||
|
class System {
|
||||||
|
|
||||||
|
function get_platform_name() {
|
||||||
|
$a = get_app();
|
||||||
|
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['platform_name'])
|
||||||
|
return $a->config['system']['platform_name'];
|
||||||
|
return PLATFORM_NAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_project_version() {
|
||||||
|
$a = get_app();
|
||||||
|
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['hide_version'])
|
||||||
|
return '';
|
||||||
|
return RED_VERSION;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_update_version() {
|
||||||
|
$a = get_app();
|
||||||
|
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['hide_version'])
|
||||||
|
return '';
|
||||||
|
return DB_UPDATE_VERSION;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function get_notify_icon() {
|
||||||
|
$a = get_app();
|
||||||
|
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['email_notify_icon_url'])
|
||||||
|
return $a->config['system']['email_notify_icon_url'];
|
||||||
|
return z_root() . '/images/hz-white-32.png';
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_site_icon() {
|
||||||
|
$a = get_app();
|
||||||
|
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['site_icon_url'])
|
||||||
|
return $a->config['system']['site_icon_url'];
|
||||||
|
return z_root() . '/images/hz-32.png';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function get_server_role() {
|
||||||
|
if(UNO)
|
||||||
|
return 'basic';
|
||||||
|
return 'advanced';
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the standardised version. Since we can't easily compare
|
||||||
|
// before the STD_VERSION definition was applied, we have to treat
|
||||||
|
// all prior release versions the same. You can dig through them
|
||||||
|
// with other means (such as RED_VERSION) if necessary.
|
||||||
|
|
||||||
|
function get_std_version() {
|
||||||
|
if(defined('STD_VERSION'))
|
||||||
|
return STD_VERSION;
|
||||||
|
return '0.0.0';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
45
boot.php
45
boot.php
@ -45,6 +45,7 @@ require_once('include/Contact.php');
|
|||||||
require_once('include/account.php');
|
require_once('include/account.php');
|
||||||
require_once('include/AccessList.php');
|
require_once('include/AccessList.php');
|
||||||
|
|
||||||
|
require_once('Zotlabs/Project/System.php');
|
||||||
|
|
||||||
define ( 'PLATFORM_NAME', 'hubzilla' );
|
define ( 'PLATFORM_NAME', 'hubzilla' );
|
||||||
define ( 'RED_VERSION', trim(file_get_contents('version.inc')));
|
define ( 'RED_VERSION', trim(file_get_contents('version.inc')));
|
||||||
@ -1013,7 +1014,7 @@ class App {
|
|||||||
'$user_scalable' => $user_scalable,
|
'$user_scalable' => $user_scalable,
|
||||||
'$baseurl' => $this->get_baseurl(),
|
'$baseurl' => $this->get_baseurl(),
|
||||||
'$local_channel' => local_channel(),
|
'$local_channel' => local_channel(),
|
||||||
'$generator' => get_platform_name() . ((get_project_version()) ? ' ' . get_project_version() : ''),
|
'$generator' => Zotlabs\Project\System::get_platform_name() . ((Zotlabs\Project\System::get_project_version()) ? ' ' . Zotlabs\Project\System::get_project_version() : ''),
|
||||||
'$update_interval' => $interval,
|
'$update_interval' => $interval,
|
||||||
'$icon' => head_get_icon(),
|
'$icon' => head_get_icon(),
|
||||||
'$head_css' => head_get_css(),
|
'$head_css' => head_get_css(),
|
||||||
@ -2364,45 +2365,3 @@ function check_cron_broken() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function get_platform_name() {
|
|
||||||
$a = get_app();
|
|
||||||
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['platform_name'])
|
|
||||||
return $a->config['system']['platform_name'];
|
|
||||||
return PLATFORM_NAME;
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_project_version() {
|
|
||||||
$a = get_app();
|
|
||||||
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['hide_version'])
|
|
||||||
return '';
|
|
||||||
return RED_VERSION;
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_update_version() {
|
|
||||||
$a = get_app();
|
|
||||||
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['hide_version'])
|
|
||||||
return '';
|
|
||||||
return DB_UPDATE_VERSION;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function get_notify_icon() {
|
|
||||||
$a = get_app();
|
|
||||||
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['email_notify_icon_url'])
|
|
||||||
return $a->config['system']['email_notify_icon_url'];
|
|
||||||
return z_root() . '/images/hz-white-32.png';
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_site_icon() {
|
|
||||||
$a = get_app();
|
|
||||||
if(is_array($a->config) && is_array($a->config['system']) && $a->config['system']['site_icon_url'])
|
|
||||||
return $a->config['system']['site_icon_url'];
|
|
||||||
return z_root() . '/images/hz-32.png';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function get_server_role() {
|
|
||||||
if(UNO)
|
|
||||||
return 'basic';
|
|
||||||
return 'advanced';
|
|
||||||
}
|
|
||||||
|
@ -2106,10 +2106,10 @@ require_once('include/api_auth.php');
|
|||||||
'private' => $private, 'textlimit' => $textlimit, 'sslserver' => $sslserver, 'ssl' => $ssl,
|
'private' => $private, 'textlimit' => $textlimit, 'sslserver' => $sslserver, 'ssl' => $ssl,
|
||||||
'shorturllength' => '30',
|
'shorturllength' => '30',
|
||||||
'hubzilla' => array(
|
'hubzilla' => array(
|
||||||
'PLATFORM_NAME' => get_platform_name(),
|
'PLATFORM_NAME' => Zotlabs\Project\System::get_platform_name(),
|
||||||
'RED_VERSION' => get_project_version(),
|
'RED_VERSION' => Zotlabs\Project\System::get_project_version(),
|
||||||
'ZOT_REVISION' => ZOT_REVISION,
|
'ZOT_REVISION' => ZOT_REVISION,
|
||||||
'DB_UPDATE_VERSION' => get_update_version()
|
'DB_UPDATE_VERSION' => Zotlabs\Project\System::get_update_version()
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
@ -2142,12 +2142,12 @@ require_once('include/api_auth.php');
|
|||||||
|
|
||||||
if($type === 'xml') {
|
if($type === 'xml') {
|
||||||
header("Content-type: application/xml");
|
header("Content-type: application/xml");
|
||||||
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n" . '<version>' . get_project_version() . '</version>' . "\r\n";
|
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n" . '<version>' . Zotlabs\Project\System::get_project_version() . '</version>' . "\r\n";
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
elseif($type === 'json') {
|
elseif($type === 'json') {
|
||||||
header("Content-type: application/json");
|
header("Content-type: application/json");
|
||||||
echo '"' . get_project_version() . '"';
|
echo '"' . Zotlabs\Project\System::get_project_version() . '"';
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -529,7 +529,7 @@ function notification($params) {
|
|||||||
$tpl = get_markup_template('email_notify_html.tpl');
|
$tpl = get_markup_template('email_notify_html.tpl');
|
||||||
$email_html_body = replace_macros($tpl,array(
|
$email_html_body = replace_macros($tpl,array(
|
||||||
'$banner' => $datarray['banner'],
|
'$banner' => $datarray['banner'],
|
||||||
'$notify_icon' => get_notify_icon(),
|
'$notify_icon' => Zotlabs\Project\System::get_notify_icon(),
|
||||||
'$product' => $datarray['product'],
|
'$product' => $datarray['product'],
|
||||||
'$preamble' => $datarray['preamble'],
|
'$preamble' => $datarray['preamble'],
|
||||||
'$sitename' => $datarray['sitename'],
|
'$sitename' => $datarray['sitename'],
|
||||||
|
@ -67,7 +67,7 @@ function ical_wrapper($ev) {
|
|||||||
$o .= "BEGIN:VCALENDAR";
|
$o .= "BEGIN:VCALENDAR";
|
||||||
$o .= "\r\nVERSION:2.0";
|
$o .= "\r\nVERSION:2.0";
|
||||||
$o .= "\r\nMETHOD:PUBLISH";
|
$o .= "\r\nMETHOD:PUBLISH";
|
||||||
$o .= "\r\nPRODID:-//" . get_config('system','sitename') . "//" . get_platform_name() . "//" . strtoupper(get_app()->language). "\r\n";
|
$o .= "\r\nPRODID:-//" . get_config('system','sitename') . "//" . Zotlabs\Project\System::get_platform_name() . "//" . strtoupper(get_app()->language). "\r\n";
|
||||||
if(array_key_exists('start', $ev))
|
if(array_key_exists('start', $ev))
|
||||||
$o .= format_event_ical($ev);
|
$o .= format_event_ical($ev);
|
||||||
else {
|
else {
|
||||||
|
@ -484,7 +484,7 @@ function identity_basic_export($channel_id, $items = false) {
|
|||||||
|
|
||||||
// use constants here as otherwise we will have no idea if we can import from a site
|
// use constants here as otherwise we will have no idea if we can import from a site
|
||||||
// with a non-standard platform and version.
|
// with a non-standard platform and version.
|
||||||
$ret['compatibility'] = array('project' => PLATFORM_NAME, 'version' => RED_VERSION, 'database' => DB_UPDATE_VERSION, 'server_role' => get_server_role());
|
$ret['compatibility'] = array('project' => PLATFORM_NAME, 'version' => RED_VERSION, 'database' => DB_UPDATE_VERSION, 'server_role' => Zotlabs\Project\System::get_server_role());
|
||||||
|
|
||||||
$r = q("select * from channel where channel_id = %d limit 1",
|
$r = q("select * from channel where channel_id = %d limit 1",
|
||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
|
@ -610,8 +610,8 @@ function get_feed_for($channel, $observer_hash, $params) {
|
|||||||
$atom = '';
|
$atom = '';
|
||||||
|
|
||||||
$atom .= replace_macros($feed_template, array(
|
$atom .= replace_macros($feed_template, array(
|
||||||
'$version' => xmlify(get_project_version()),
|
'$version' => xmlify(Zotlabs\Project\System::get_project_version()),
|
||||||
'$red' => xmlify(get_platform_name()),
|
'$red' => xmlify(Zotlabs\Project\System::get_platform_name()),
|
||||||
'$feed_id' => xmlify($channel['xchan_url']),
|
'$feed_id' => xmlify($channel['xchan_url']),
|
||||||
'$feed_title' => xmlify($channel['channel_name']),
|
'$feed_title' => xmlify($channel['channel_name']),
|
||||||
'$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now' , ATOM_TIME)) ,
|
'$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now' , ATOM_TIME)) ,
|
||||||
|
@ -189,7 +189,7 @@ function t($s, $ctx = '') {
|
|||||||
|
|
||||||
function translate_projectname($s) {
|
function translate_projectname($s) {
|
||||||
|
|
||||||
return str_replace(array('$projectname','$Projectname'),array(get_platform_name(),ucfirst(get_platform_name())),$s);
|
return str_replace(array('$projectname','$Projectname'),array(Zotlabs\Project\System::get_platform_name(),ucfirst(Zotlabs\Project\System::get_platform_name())),$s);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1620,7 +1620,7 @@ function format_and_send_email($sender,$xchan,$item) {
|
|||||||
$tpl = get_markup_template('email_notify_html.tpl');
|
$tpl = get_markup_template('email_notify_html.tpl');
|
||||||
$email_html_body = replace_macros($tpl,array(
|
$email_html_body = replace_macros($tpl,array(
|
||||||
'$banner' => $banner,
|
'$banner' => $banner,
|
||||||
'$notify_icon' => get_notify_icon(),
|
'$notify_icon' => Zotlabs\Project\System::get_notify_icon(),
|
||||||
'$product' => $product,
|
'$product' => $product,
|
||||||
'$preamble' => '',
|
'$preamble' => '',
|
||||||
'$sitename' => $sitename,
|
'$sitename' => $sitename,
|
||||||
@ -1768,8 +1768,8 @@ function get_site_info() {
|
|||||||
$site_info = get_config('system','info');
|
$site_info = get_config('system','info');
|
||||||
$site_name = get_config('system','sitename');
|
$site_name = get_config('system','sitename');
|
||||||
if(! get_config('system','hidden_version_siteinfo')) {
|
if(! get_config('system','hidden_version_siteinfo')) {
|
||||||
$version = get_project_version();
|
$version = Zotlabs\Project\System::get_project_version();
|
||||||
$tag = get_std_version();
|
$tag = Zotlabs\Project\System::get_std_version();
|
||||||
|
|
||||||
if(@is_dir('.git') && function_exists('shell_exec')) {
|
if(@is_dir('.git') && function_exists('shell_exec')) {
|
||||||
$commit = trim( @shell_exec('git log -1 --format="%h"'));
|
$commit = trim( @shell_exec('git log -1 --format="%h"'));
|
||||||
@ -1805,7 +1805,7 @@ function get_site_info() {
|
|||||||
$data = Array(
|
$data = Array(
|
||||||
'version' => $version,
|
'version' => $version,
|
||||||
'version_tag' => $tag,
|
'version_tag' => $tag,
|
||||||
'server_role' => get_server_role(),
|
'server_role' => Zotlabs\Project\System::get_server_role(),
|
||||||
'commit' => $commit,
|
'commit' => $commit,
|
||||||
'url' => z_root(),
|
'url' => z_root(),
|
||||||
'plugins' => $visible_plugins,
|
'plugins' => $visible_plugins,
|
||||||
@ -1819,7 +1819,7 @@ function get_site_info() {
|
|||||||
'locked_features' => $locked_features,
|
'locked_features' => $locked_features,
|
||||||
'admin' => $admin,
|
'admin' => $admin,
|
||||||
'site_name' => (($site_name) ? $site_name : ''),
|
'site_name' => (($site_name) ? $site_name : ''),
|
||||||
'platform' => get_platform_name(),
|
'platform' => Zotlabs\Project\System::get_platform_name(),
|
||||||
'dbdriver' => $db->getdriver(),
|
'dbdriver' => $db->getdriver(),
|
||||||
'lastpoll' => get_config('system','lastpoll'),
|
'lastpoll' => get_config('system','lastpoll'),
|
||||||
'info' => (($site_info) ? $site_info : ''),
|
'info' => (($site_info) ? $site_info : ''),
|
||||||
|
@ -653,17 +653,6 @@ function get_markup_template($s, $root = '') {
|
|||||||
return $template;
|
return $template;
|
||||||
}
|
}
|
||||||
|
|
||||||
// return the standardised version. Since we can't easily compare
|
|
||||||
// before the STD_VERSION definition was applied, we have to treat
|
|
||||||
// all prior release versions the same. You can dig through them
|
|
||||||
// with other means (such as RED_VERSION) if necessary.
|
|
||||||
|
|
||||||
function get_std_version() {
|
|
||||||
if(defined('STD_VERSION'))
|
|
||||||
return STD_VERSION;
|
|
||||||
return '0.0.0';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function folder_exists($folder)
|
function folder_exists($folder)
|
||||||
{
|
{
|
||||||
|
@ -3835,7 +3835,7 @@ function zotinfo($arr) {
|
|||||||
$ret['site']['channels'] = channel_total();
|
$ret['site']['channels'] = channel_total();
|
||||||
|
|
||||||
|
|
||||||
$ret['site']['version'] = get_platform_name() . ' ' . RED_VERSION . '[' . DB_UPDATE_VERSION . ']';
|
$ret['site']['version'] = Zotlabs\Project\System::get_platform_name() . ' ' . RED_VERSION . '[' . DB_UPDATE_VERSION . ']';
|
||||||
|
|
||||||
$ret['site']['admin'] = get_config('system','admin_email');
|
$ret['site']['admin'] = get_config('system','admin_email');
|
||||||
|
|
||||||
@ -3855,7 +3855,7 @@ function zotinfo($arr) {
|
|||||||
$ret['site']['sellpage'] = get_config('system','sellpage');
|
$ret['site']['sellpage'] = get_config('system','sellpage');
|
||||||
$ret['site']['location'] = get_config('system','site_location');
|
$ret['site']['location'] = get_config('system','site_location');
|
||||||
$ret['site']['realm'] = get_directory_realm();
|
$ret['site']['realm'] = get_directory_realm();
|
||||||
$ret['site']['project'] = get_platform_name();
|
$ret['site']['project'] = Zotlabs\Project\System::get_platform_name();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,7 +160,7 @@ function help_content(&$a) {
|
|||||||
$path = trim(substr($dirname,4),'/');
|
$path = trim(substr($dirname,4),'/');
|
||||||
|
|
||||||
$o .= '<li><a href="help/' . (($path) ? $path . '/' : '') . $fname . '" >' . ucwords(str_replace('_',' ',notags($fname))) . '</a><br />' .
|
$o .= '<li><a href="help/' . (($path) ? $path . '/' : '') . $fname . '" >' . ucwords(str_replace('_',' ',notags($fname))) . '</a><br />' .
|
||||||
str_replace('$Projectname',get_platform_name(),substr($rr['text'],0,200)) . '...<br /><br /></li>';
|
str_replace('$Projectname',Zotlabs\Project\System::get_platform_name(),substr($rr['text'],0,200)) . '...<br /><br /></li>';
|
||||||
|
|
||||||
}
|
}
|
||||||
$o .= '</ul>';
|
$o .= '</ul>';
|
||||||
|
@ -120,7 +120,7 @@ function import_account(&$a, $account_id) {
|
|||||||
notice($t);
|
notice($t);
|
||||||
}
|
}
|
||||||
if(array_key_exists('server_role',$data['compatibility'])
|
if(array_key_exists('server_role',$data['compatibility'])
|
||||||
&& $data['compatibility']['server_role'] != get_server_role()) {
|
&& $data['compatibility']['server_role'] != Zotlabs\Project\System::get_server_role()) {
|
||||||
notice( t('Server platform is not compatible. Operation not permitted.') . EOL);
|
notice( t('Server platform is not compatible. Operation not permitted.') . EOL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@ function linkinfo_content(&$a) {
|
|||||||
|
|
||||||
// If this is a Red site, use zrl rather than url so they get zids sent to them by default
|
// If this is a Red site, use zrl rather than url so they get zids sent to them by default
|
||||||
|
|
||||||
if( x($siteinfo,'generator') && (strpos($siteinfo['generator'], get_platform_name() . ' ') === 0))
|
if( x($siteinfo,'generator') && (strpos($siteinfo['generator'], Zotlabs\Project\System::get_platform_name() . ' ') === 0))
|
||||||
$template = str_replace('url','zrl',$template);
|
$template = str_replace('url','zrl',$template);
|
||||||
|
|
||||||
if($siteinfo["title"] == "") {
|
if($siteinfo["title"] == "") {
|
||||||
|
@ -1044,7 +1044,7 @@ function settings_content(&$a) {
|
|||||||
|
|
||||||
'$h_prv' => t('Security and Privacy Settings'),
|
'$h_prv' => t('Security and Privacy Settings'),
|
||||||
'$permissions_set' => $permissions_set,
|
'$permissions_set' => $permissions_set,
|
||||||
'$server_role' => get_server_role(),
|
'$server_role' => Zotlabs\Project\System::get_server_role(),
|
||||||
'$perms_set_msg' => t('Your permissions are already configured. Click to view/adjust'),
|
'$perms_set_msg' => t('Your permissions are already configured. Click to view/adjust'),
|
||||||
|
|
||||||
'$hide_presence' => array('hide_presence', t('Hide my online presence'),$hide_presence, t('Prevents displaying in your profile that you are online'), $yes_no),
|
'$hide_presence' => array('hide_presence', t('Hide my online presence'),$hide_presence, t('Prevents displaying in your profile that you are online'), $yes_no),
|
||||||
|
@ -12,7 +12,7 @@ function siteinfo_init(&$a) {
|
|||||||
function siteinfo_content(&$a) {
|
function siteinfo_content(&$a) {
|
||||||
|
|
||||||
if(! get_config('system','hidden_version_siteinfo')) {
|
if(! get_config('system','hidden_version_siteinfo')) {
|
||||||
$version = sprintf( t('Version %s'), get_project_version());
|
$version = sprintf( t('Version %s'), Zotlabs\Project\System::get_project_version());
|
||||||
if(@is_dir('.git') && function_exists('shell_exec')) {
|
if(@is_dir('.git') && function_exists('shell_exec')) {
|
||||||
$commit = @shell_exec('git log -1 --format="%h"');
|
$commit = @shell_exec('git log -1 --format="%h"');
|
||||||
$tag = get_std_version(); // @shell_exec('git describe --tags --abbrev=0');
|
$tag = get_std_version(); // @shell_exec('git describe --tags --abbrev=0');
|
||||||
|
Reference in New Issue
Block a user