- /*
- * DISPLAY SETTINGS
- */
- if (($a->argc > 1) && ($a->argv[1] === 'display')) {
- $default_theme = DI::config()->get('system', 'theme');
- if (!$default_theme) {
- $default_theme = 'default';
- }
- $default_mobile_theme = DI::config()->get('system', 'mobile-theme');
- if (!$default_mobile_theme) {
- $default_mobile_theme = 'none';
- }
-
- $allowed_themes = Theme::getAllowedList();
-
- $themes = [];
- $mobile_themes = ["---" => DI::l10n()->t('No special theme for mobile devices')];
- foreach ($allowed_themes as $theme) {
- $is_experimental = file_exists('view/theme/' . $theme . '/experimental');
- $is_unsupported = file_exists('view/theme/' . $theme . '/unsupported');
- $is_mobile = file_exists('view/theme/' . $theme . '/mobile');
- if (!$is_experimental || ($is_experimental && (DI::config()->get('experimentals', 'exp_themes')==1 || is_null(DI::config()->get('experimentals', 'exp_themes'))))) {
- $theme_name = ucfirst($theme);
- if ($is_unsupported) {
- $theme_name = DI::l10n()->t('%s - (Unsupported)', $theme_name);
- } elseif ($is_experimental) {
- $theme_name = DI::l10n()->t('%s - (Experimental)', $theme_name);
- }
-
- if ($is_mobile) {
- $mobile_themes[$theme] = $theme_name;
- } else {
- $themes[$theme] = $theme_name;
- }
- }
- }
-
- $theme_selected = $a->user['theme'] ?: $default_theme;
- $mobile_theme_selected = Session::get('mobile-theme', $default_mobile_theme);
-
- $browser_update = intval(DI::pConfig()->get(local_user(), 'system', 'update_interval'));
- if (intval($browser_update) != -1) {
- $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds
- }
-
- $itemspage_network = intval(DI::pConfig()->get(local_user(), 'system', 'itemspage_network'));
- $itemspage_network = (($itemspage_network > 0 && $itemspage_network < 101) ? $itemspage_network : DI::config()->get('system', 'itemspage_network'));
- $itemspage_mobile_network = intval(DI::pConfig()->get(local_user(), 'system', 'itemspage_mobile_network'));
- $itemspage_mobile_network = (($itemspage_mobile_network > 0 && $itemspage_mobile_network < 101) ? $itemspage_mobile_network : DI::config()->get('system', 'itemspage_network_mobile'));
-
- $nosmile = DI::pConfig()->get(local_user(), 'system', 'no_smilies', 0);
- $first_day_of_week = DI::pConfig()->get(local_user(), 'system', 'first_day_of_week', 0);
- $weekdays = [0 => DI::l10n()->t("Sunday"), 1 => DI::l10n()->t("Monday")];
-
- $infinite_scroll = DI::pConfig()->get(local_user(), 'system', 'infinite_scroll', 0);
- $no_auto_update = DI::pConfig()->get(local_user(), 'system', 'no_auto_update', 0);
- $no_smart_threading = DI::pConfig()->get(local_user(), 'system', 'no_smart_threading', 0);
-
- $theme_config = "";
- if (($themeconfigfile = get_theme_config_file($theme_selected)) !== null) {
- require_once $themeconfigfile;
- $theme_config = theme_content($a);
- }
-
- $tpl = Renderer::getMarkupTemplate('settings/display.tpl');
- $o = Renderer::replaceMacros($tpl, [
- '$ptitle' => DI::l10n()->t('Display Settings'),
- '$form_security_token' => BaseModule::getFormSecurityToken("settings_display"),
- '$submit' => DI::l10n()->t('Save Settings'),
- '$baseurl' => DI::baseUrl()->get(true),
- '$uid' => local_user(),
-
- '$theme' => ['theme', DI::l10n()->t('Display Theme:'), $theme_selected, '', $themes, true],
- '$mobile_theme' => ['mobile_theme', DI::l10n()->t('Mobile Theme:'), $mobile_theme_selected, '', $mobile_themes, false],
- '$ajaxint' => ['browser_update', DI::l10n()->t("Update browser every xx seconds"), $browser_update, DI::l10n()->t('Minimum of 10 seconds. Enter -1 to disable it.')],
- '$itemspage_network' => ['itemspage_network', DI::l10n()->t("Number of items to display per page:"), $itemspage_network, DI::l10n()->t('Maximum of 100 items')],
- '$itemspage_mobile_network' => ['itemspage_mobile_network', DI::l10n()->t("Number of items to display per page when viewed from mobile device:"), $itemspage_mobile_network, DI::l10n()->t('Maximum of 100 items')],
- '$nosmile' => ['nosmile', DI::l10n()->t("Don't show emoticons"), $nosmile, DI::l10n()->t('Normally emoticons are replaced with matching symbols. This setting disables this behaviour.')],
- '$calendar_title' => DI::l10n()->t('Calendar'),
- '$first_day_of_week' => ['first_day_of_week', DI::l10n()->t('Beginning of week:'), $first_day_of_week, '', $weekdays, false],
- '$infinite_scroll' => ['infinite_scroll', DI::l10n()->t("Infinite scroll"), $infinite_scroll, DI::l10n()->t('Automatic fetch new items when reaching the page end.')],
- '$no_auto_update' => ['no_auto_update', DI::l10n()->t("Automatic updates only at the top of the network page"), $no_auto_update, DI::l10n()->t('When disabled, the network page is updated all the time, which could be confusing while reading.')],
- '$no_smart_threading' => ['no_smart_threading', DI::l10n()->t('Disable Smart Threading'), $no_smart_threading, DI::l10n()->t('Disable the automatic suppression of extraneous thread indentation.')],
-
- '$d_tset' => DI::l10n()->t('General Theme Settings'),
- '$d_ctset' => DI::l10n()->t('Custom Theme Settings'),
- '$d_cset' => DI::l10n()->t('Content Settings'),
- 'stitle' => DI::l10n()->t('Theme settings'),
- '$theme_config' => $theme_config,
- ]);
-
- return $o;
- }
-
-