]> git.mxchange.org Git - friendica.git/blobdiff - mod/admin.php
Automatic table optimisation is deactivated by default now
[friendica.git] / mod / admin.php
index 3debb57bedf2072d2b1d02de3918df7ac9b5f093..bc5d9d507d458814c68ac98dc3c899c95eb4d200 100644 (file)
@@ -1014,6 +1014,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 +1109,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 +1121,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 +1172,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);
        }
@@ -1262,6 +1273,7 @@ function admin_page_site(App $a)
 
        /* Community page style */
        $community_page_style_choices = [
+               CP_NO_INTERNAL_COMMUNITY => L10n::t("No community page for local users"),
                CP_NO_COMMUNITY_PAGE => L10n::t("No community page"),
                CP_USERS_ON_SERVER => L10n::t("Public postings from users of this site"),
                CP_GLOBAL_COMMUNITY => L10n::t("Public postings from the federated network"),
@@ -1329,16 +1341,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'),
@@ -1409,7 +1417,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.")],
@@ -1422,6 +1430,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.")],