]> git.mxchange.org Git - friendica.git/blobdiff - mod/admin.php
applying changes to mods/sample-nginx.config from #5019
[friendica.git] / mod / admin.php
index 7749cff6dcd3be23fb95a79e2ae5f294beb03964..bba46c9f3a8a9034925aad99c579a7b7c1725c00 100644 (file)
@@ -20,6 +20,7 @@ use Friendica\Model\Contact;
 use Friendica\Model\Item;
 use Friendica\Model\User;
 use Friendica\Module\Login;
+use Friendica\Module\Tos;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Temporal;
 
@@ -296,12 +297,15 @@ function admin_content(App $a)
  */
 function admin_page_tos(App $a)
 {
+       $tos = new Tos();
        $t = get_markup_template('admin/tos.tpl');
        return replace_macros($t, [
                '$title' => L10n::t('Administration'),
                '$page' => L10n::t('Terms of Service'),
                '$displaytos' => ['displaytos', L10n::t('Display Terms of Service'), Config::get('system', 'tosdisplay'), L10n::t('Enable the Terms of Service page. If this is enabled a link to the terms will be added to the registration form and the general information page.')],
                '$displayprivstatement' => ['displayprivstatement', L10n::t('Display Privacy Statement'), Config::get('system','tosprivstatement'), L10n::t('Show some informations regarding the needed information to operate the node according e.g. to <a href="%s" target="_blank">EU-GDPR</a>.','https://en.wikipedia.org/wiki/General_Data_Protection_Regulation')],
+               '$preview' => L10n::t('Privacy Statement Preview'),
+               '$privtext' => $tos->privacy_complete,
                '$tostext' => ['tostext', L10n::t('The Terms of Service'), Config::get('system', 'tostext'), L10n::t('Enter the Terms of Service for your node here. You can use BBCode. Headers of sections should be [h2] and below.')],
                '$form_security_token' => get_form_security_token("admin_tos"),
                '$submit' => L10n::t('Save Settings'),
@@ -1014,6 +1018,9 @@ function admin_page_site_post(App $a)
        $ssl_policy             =       ((x($_POST,'ssl_policy'))               ? intval($_POST['ssl_policy'])                  : 0);
        $force_ssl              =       ((x($_POST,'force_ssl'))                ? True                                          : False);
        $hide_help              =       ((x($_POST,'hide_help'))                ? True                                          : False);
+       $dbclean                =       ((x($_POST,'dbclean'))                  ? True                                          : False);
+       $dbclean_expire_days    =       ((x($_POST,'dbclean_expire_days'))      ? intval($_POST['dbclean_expire_days'])         : 0);
+       $dbclean_unclaimed      =       ((x($_POST,'dbclean_unclaimed'))        ? intval($_POST['dbclean_unclaimed'])           : 0);
        $suppress_tags          =       ((x($_POST,'suppress_tags'))            ? True                                          : False);
        $itemcache              =       ((x($_POST,'itemcache'))                ? notags(trim($_POST['itemcache']))             : '');
        $itemcache_duration     =       ((x($_POST,'itemcache_duration'))       ? intval($_POST['itemcache_duration'])          : 0);
@@ -1106,9 +1113,7 @@ function admin_page_site_post(App $a)
        Config::set('system', 'touch_icon', $touch_icon);
 
        if ($banner == "") {
-               // don't know why, but del_config doesn't work...
-               q("DELETE FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1", dbesc("system"), dbesc("banner")
-               );
+               Config::delete('system', 'banner');
        } else {
                Config::set('system', 'banner', $banner);
        }
@@ -1120,6 +1125,7 @@ function admin_page_site_post(App $a)
        }
        Config::set('system', 'language', $language);
        Config::set('system', 'theme', $theme);
+       Theme::install($theme);
 
        if ($theme_mobile == '---') {
                Config::delete('system', 'mobile-theme');
@@ -1170,6 +1176,15 @@ function admin_page_site_post(App $a)
        Config::set('system', 'force_ssl', $force_ssl);
        Config::set('system', 'hide_help', $hide_help);
 
+       Config::set('system', 'dbclean', $dbclean);
+       Config::set('system', 'dbclean-expire-days', $dbclean_expire_days);
+
+       if ($dbclean_unclaimed == 0) {
+               $dbclean_unclaimed = $dbclean_expire_days;
+       }
+
+       Config::set('system', 'dbclean-expire-unclaimed', $dbclean_unclaimed);
+
        if ($itemcache != '') {
                $itemcache = App::realpath($itemcache);
        }
@@ -1330,16 +1345,12 @@ function admin_page_site(App $a)
        }
        $diaspora_able = ($a->get_path() == "");
 
-       $optimize_max_tablesize = Config::get('system', 'optimize_max_tablesize', 100);
+       $optimize_max_tablesize = Config::get('system', 'optimize_max_tablesize', -1);
 
-       if ($optimize_max_tablesize < -1) {
+       if ($optimize_max_tablesize <= 0) {
                $optimize_max_tablesize = -1;
        }
 
-       if ($optimize_max_tablesize == 0) {
-               $optimize_max_tablesize = 100;
-       }
-
        $t = get_markup_template('admin/site.tpl');
        return replace_macros($t, [
                '$title' => L10n::t('Administration'),
@@ -1410,7 +1421,7 @@ function admin_page_site(App $a)
                '$maxloadavg'           => ['maxloadavg', L10n::t("Maximum Load Average"), Config::get('system', 'maxloadavg', 50), L10n::t("Maximum system load before delivery and poll processes are deferred - default 50.")],
                '$maxloadavg_frontend'  => ['maxloadavg_frontend', L10n::t("Maximum Load Average \x28Frontend\x29"), Config::get('system', 'maxloadavg_frontend', 50), L10n::t("Maximum system load before the frontend quits service - default 50.")],
                '$min_memory'           => ['min_memory', L10n::t("Minimal Memory"), Config::get('system', 'min_memory', 0), L10n::t("Minimal free memory in MB for the worker. Needs access to /proc/meminfo - default 0 \x28deactivated\x29.")],
-               '$optimize_max_tablesize'=> ['optimize_max_tablesize', L10n::t("Maximum table size for optimization"), $optimize_max_tablesize, L10n::t("Maximum table size \x28in MB\x29 for the automatic optimization - default 100 MB. Enter -1 to disable it.")],
+               '$optimize_max_tablesize'=> ['optimize_max_tablesize', L10n::t("Maximum table size for optimization"), $optimize_max_tablesize, L10n::t("Maximum table size \x28in MB\x29 for the automatic optimization. Enter -1 to disable it.")],
                '$optimize_fragmentation'=> ['optimize_fragmentation', L10n::t("Minimum level of fragmentation"), Config::get('system', 'optimize_fragmentation', 30), L10n::t("Minimum fragmenation level to start the automatic optimization - default value is 30%.")],
 
                '$poco_completion'      => ['poco_completion', L10n::t("Periodical check of global contacts"), Config::get('system','poco_completion'), L10n::t("If enabled, the global contacts are checked periodically for missing or outdated data and the vitality of the contacts and servers.")],
@@ -1423,6 +1434,9 @@ function admin_page_site(App $a)
 
                '$check_new_version_url' => ['check_new_version_url', L10n::t("Check upstream version"), Config::get('system', 'check_new_version_url'), L10n::t("Enables checking for new Friendica versions at github. If there is a new version, you will be informed in the admin panel overview."), $check_git_version_choices],
                '$suppress_tags'        => ['suppress_tags', L10n::t("Suppress Tags"), Config::get('system','suppress_tags'), L10n::t("Suppress showing a list of hashtags at the end of the posting.")],
+               '$dbclean'              => ['dbclean', L10n::t("Clean database"), Config::get('system','dbclean', false), L10n::t("Remove old remote items, orphaned database records and old content from some other helper tables.")],
+               '$dbclean_expire_days'  => ['dbclean_expire_days', L10n::t("Lifespan of remote items"), Config::get('system','dbclean-expire-days', 0), L10n::t("When the database cleanup is enabled, this defines the days after which remote items will be deleted. Own items, and marked or filed items are always kept. 0 disables this behaviour.")],
+               '$dbclean_unclaimed'    => ['dbclean_unclaimed', L10n::t("Lifespan of unclaimed items"), Config::get('system','dbclean-expire-unclaimed', 90), L10n::t("When the database cleanup is enabled, this defines the days after which unclaimed remote items (mostly content from the relay) will be deleted. Default value is 90 days. Defaults to the general lifespan value of remote items if set to 0.")],
                '$itemcache'            => ['itemcache', L10n::t("Path to item cache"), Config::get('system','itemcache'), L10n::t("The item caches buffers generated bbcode and external images.")],
                '$itemcache_duration'   => ['itemcache_duration', L10n::t("Cache duration in seconds"), Config::get('system','itemcache_duration'), L10n::t("How long should the cache files be hold? Default value is 86400 seconds \x28One day\x29. To disable the item cache, set the value to -1.")],
                '$max_comments'         => ['max_comments', L10n::t("Maximum numbers of comments per post"), Config::get('system','max_comments'), L10n::t("How much comments should be shown for each post? Default value is 100.")],