aboutsummaryrefslogtreecommitdiffstats
path: root/boot.php
diff options
context:
space:
mode:
Diffstat (limited to 'boot.php')
-rw-r--r--boot.php88
1 files changed, 51 insertions, 37 deletions
diff --git a/boot.php b/boot.php
index ed73ae8d4..79609e876 100644
--- a/boot.php
+++ b/boot.php
@@ -62,9 +62,11 @@ require_once('include/conversation.php');
require_once('include/acl_selectors.php');
require_once('include/selectors.php');
require_once('include/activities.php');
+require_once('include/security.php');
+
define('PLATFORM_NAME', 'hubzilla');
-define('STD_VERSION', '9.0.2');
+define('STD_VERSION', '9.2');
define('ZOT_REVISION', '6.0');
define('DB_UPDATE_VERSION', 1263);
@@ -602,8 +604,19 @@ define('DBTYPE_MYSQL', 0);
define('DBTYPE_POSTGRES', 1);
-function sys_boot() {
-
+/**
+ * Boot the app.
+ *
+ * Detects if the system is installed, and if it is, reads the basic configuration
+ * in `.htconfig`, conects to the database, and loads the system configuration stored
+ * in the db.
+ *
+ * As a side effect it also sets the App::$install flag to true if the system is _not_
+ * installed yet.
+ *
+ * @return True if the system is installed, false otherwise.
+ */
+function sys_boot(): bool {
// our central App object
@@ -686,6 +699,8 @@ function sys_boot() {
*/
call_hooks('init_1');
}
+
+ return !App::$install;
}
@@ -766,7 +781,6 @@ class App {
public static $langsave;
public static $rtl = false;
public static $plugins_admin;
- public static $module_loaded = false;
public static $query_string;
public static $page;
public static $profile;
@@ -1249,7 +1263,7 @@ class App {
'$metas' => self::$meta->get(),
'$plugins' => $x['header'],
'$update_interval' => $interval,
- '$sse_enabled' => get_config('system', 'sse_enabled', 0),
+ '$sse_enabled' => Config::Get('system', 'sse_enabled', 0),
'$head_css' => head_get_css(),
'$head_js' => head_get_js(),
'$linkrel' => head_get_links(),
@@ -1495,9 +1509,9 @@ function is_ajax() {
*/
function check_config() {
- $saved = get_config('system', 'urlverify');
+ $saved = Config::Get('system', 'urlverify');
if (!$saved)
- set_config('system', 'urlverify', bin2hex(z_root()));
+ Config::Set('system', 'urlverify', bin2hex(z_root()));
if (($saved) && ($saved != bin2hex(z_root()))) {
// our URL changed. Do something.
@@ -1513,7 +1527,7 @@ function check_config() {
// only change the url to an ip address if it was already an ip and not a dns name
if ((!$is_ip_addr) || ($is_ip_addr && $was_ip_addr)) {
fix_system_urls($oldurl, z_root());
- set_config('system', 'urlverify', bin2hex(z_root()));
+ Config::Set('system', 'urlverify', bin2hex(z_root()));
}
else
logger('Attempt to change baseurl from a DNS name to an IP address was refused.');
@@ -1634,7 +1648,7 @@ function fix_system_urls($oldurl, $newurl) {
}
}
- Zotlabs\Daemon\Master::Summon(['Notifier', 'refresh_all', $c[0]['channel_id']]);
+ Master::Summon(['Notifier', 'refresh_all', $c[0]['channel_id']]);
}
}
@@ -1713,9 +1727,9 @@ function login($register = false, $form_id = 'main_login', $hiddens = false, $lo
// your site.
- $register_policy = get_config('system', 'register_policy');
+ $register_policy = Config::Get('system', 'register_policy');
- $reglink = get_config('system', 'register_link', z_root() . '/' . ((intval($register_policy) === REGISTER_CLOSED) ? 'pubsites' : 'register'));
+ $reglink = Config::Get('system', 'register_link', z_root() . '/' . ((intval($register_policy) === REGISTER_CLOSED) ? 'pubsites' : 'register'));
if ($reglink !== 'none') {
$reg = [
@@ -1736,7 +1750,7 @@ function login($register = false, $form_id = 'main_login', $hiddens = false, $lo
$_SESSION['login_return_url'] = App::$query_string;
}
- $email_required = get_config('system', 'verify_email');
+ $email_required = Config::Get('system', 'verify_email');
$lname_label = (($email_required) ? t('Email or nickname') : t('Nickname'));
$o .= replace_macros($tpl, [
@@ -1746,9 +1760,9 @@ function login($register = false, $form_id = 'main_login', $hiddens = false, $lo
'$login' => t('Login'),
'$remote_login' => t('Remote Authentication'),
'$form_id' => $form_id,
- '$lname' => [$form_id . '_username', $lname_label],
- '$lpassword' => [$form_id . '_password', t('Password')],
- '$remember_me' => [$form_id . '_remember', t('Remember me'), '', '', [t('No'), t('Yes')]],
+ '$lname' => [$form_id . '_username', $lname_label, null, null, null, null],
+ '$lpassword' => [$form_id . '_password', t('Password'), null, null, null, null],
+ '$remember_me' => [$form_id . '_remember', t('Remember me'), '', '', [t('No'), t('Yes')], null, null],
'$hiddens' => $hiddens,
'$register' => $reg,
'$lostpass' => t('Forgot your password?'),
@@ -1854,13 +1868,13 @@ function can_view_public_stream() {
return false;
}
- if (!(intval(get_config('system', 'open_pubstream', 1)))) {
+ if (!(intval(Config::Get('system', 'open_pubstream', 1)))) {
if (!get_observer_hash()) {
return false;
}
}
- $net_firehose = ((get_config('system', 'disable_discover_tab', 1)) ? false : true);
+ $net_firehose = ((Config::Get('system', 'disable_discover_tab', 1)) ? false : true);
if (!$net_firehose) {
return false;
@@ -2001,7 +2015,7 @@ function info($s) {
* @return int
*/
function get_max_import_size() {
- return (intval(get_config('system', 'max_import_size')));
+ return (intval(Config::Get('system', 'max_import_size')));
}
@@ -2055,7 +2069,7 @@ function proc_run() {
proc_close(proc_open($cmd, [], $foo));
}
else {
- if (get_config('system', 'use_proc_open'))
+ if (Config::Get('system', 'use_proc_open'))
proc_close(proc_open($cmdline . " &", [], $foo));
else
exec($cmdline . ' > /dev/null &');
@@ -2333,7 +2347,7 @@ function construct_page() {
$uid = ((App::$profile_uid) ? App::$profile_uid : local_channel());
- $navbar = get_config('system', 'navbar', 'default');
+ $navbar = Config::Get('system', 'navbar', 'default');
if ($uid) {
$navbar = get_pconfig($uid, 'system', 'navbar', $navbar);
}
@@ -2533,7 +2547,7 @@ function head_get_icon() {
* @return string
*/
function get_directory_realm() {
- if ($x = get_config('system', 'directory_realm'))
+ if ($x = Config::Get('system', 'directory_realm'))
return $x;
return DIRECTORY_REALM;
@@ -2546,13 +2560,13 @@ function get_directory_realm() {
*/
function get_directory_primary() {
- $dirmode = intval(get_config('system', 'directory_mode'));
+ $dirmode = intval(Config::Get('system', 'directory_mode'));
if ($dirmode == DIRECTORY_MODE_STANDALONE || $dirmode == DIRECTORY_MODE_PRIMARY) {
return z_root();
}
- if ($x = get_config('system', 'directory_primary'))
+ if ($x = Config::Get('system', 'directory_primary'))
return $x;
return DIRECTORY_FALLBACK_MASTER;
@@ -2565,13 +2579,13 @@ function get_directory_primary() {
* @return string relative date of last completed poller execution
*/
function get_poller_runtime() {
- $t = get_config('system', 'lastpoll');
+ $t = Config::Get('system', 'lastpoll');
return relative_date($t);
}
function z_get_upload_dir() {
- $upload_dir = get_config('system', 'uploaddir');
+ $upload_dir = Config::Get('system', 'uploaddir');
if (!$upload_dir)
$upload_dir = ini_get('upload_tmp_dir');
if (!$upload_dir)
@@ -2581,7 +2595,7 @@ function z_get_upload_dir() {
}
function z_get_temp_dir() {
- $temp_dir = get_config('system', 'tempdir');
+ $temp_dir = Config::Get('system', 'tempdir');
if (!$temp_dir)
$temp_dir = sys_get_temp_dir();
@@ -2637,12 +2651,12 @@ function check_for_new_perms() {
if (Permissions::version() != PermissionRoles::version())
return;
- $pregistered = get_config('system', 'perms');
+ $pregistered = Config::Get('system', 'perms');
$pcurrent = array_keys(Permissions::Perms());
if (!$pregistered) {
- set_config('system', 'perms', $pcurrent);
+ Config::Set('system', 'perms', $pcurrent);
return;
}
@@ -2699,7 +2713,7 @@ function check_for_new_perms() {
// We should probably call perms_refresh here, but this should get pushed in 24 hours and there is no urgency
if ($found_new_perm)
- set_config('system', 'perms', $pcurrent);
+ Config::Set('system', 'perms', $pcurrent);
}
@@ -2708,17 +2722,17 @@ function check_for_new_perms() {
*/
function check_cron_broken() {
- $d = get_config('system', 'lastcron');
+ $d = Config::Get('system', 'lastcron');
if ((!$d) || ($d < datetime_convert('UTC', 'UTC', 'now - 4 hours'))) {
- Zotlabs\Daemon\Master::Summon(['Cron']);
- set_config('system', 'lastcron', datetime_convert());
+ Master::Summon(['Cron']);
+ Config::Set('system', 'lastcron', datetime_convert());
}
- $t = get_config('system', 'lastcroncheck');
+ $t = Config::Get('system', 'lastcroncheck');
if (!$t) {
// never checked before. Start the timer.
- set_config('system', 'lastcroncheck', datetime_convert());
+ Config::Set('system', 'lastcroncheck', datetime_convert());
return;
}
@@ -2727,7 +2741,7 @@ function check_cron_broken() {
return;
}
- set_config('system', 'lastcroncheck', datetime_convert());
+ Config::Set('system', 'lastcroncheck', datetime_convert());
if (($d) && ($d > datetime_convert('UTC', 'UTC', 'now - 3 days'))) {
// Scheduled tasks have run successfully in the last 3 days.
@@ -2759,7 +2773,7 @@ function check_cron_broken() {
*/
function observer_prohibited($allow_account = false) {
if ($allow_account) {
- return (((get_config('system', 'block_public')) && (!get_account_id()) && (!remote_channel())) ? true : false);
+ return (((Config::Get('system', 'block_public')) && (!get_account_id()) && (!remote_channel())) ? true : false);
}
- return (((get_config('system', 'block_public')) && (!local_channel()) && (!remote_channel())) ? true : false);
+ return (((Config::Get('system', 'block_public')) && (!local_channel()) && (!remote_channel())) ? true : false);
}