This is a comment on Cannot switch theme, posted by WikiAdmin at 15.06.2019 10:05

View source for setting new default theme versus user theme

The Admin Panel sets the value for the default ##theme## in the secondary config, which affects of course only guests and new users. What you are looking for is a function which sets a selected theme for all users. 

%%(sql)UPDATE wacko_user_setting SET theme = 'default'%%

This option would then overwrite all set themes in the user_setting table.

%%(hl diff)
diff --git a/wacko/admin/lang/ap.en.php b/wacko/admin/lang/ap.en.php
--- a/wacko/admin/lang/ap.en.php
+++ b/wacko/admin/lang/ap.en.php
@@ -405,6 +405,9 @@
  'LayoutSection' => 'Layout',
  'Theme' => 'Theme',
  'ThemeInfo' => 'Template design the site uses by default.',
+ 'ResetUserTheme' => 'Reset all user themes',
+ 'ResetUserThemeInfo' => 'Resets all user themes. Warning: This action will set back all user selected themes to the global default theme.',
+ 'SetBackUserTheme' => 'Set back all user themes to %1 theme.',
  'ThemesAllowed' => 'Allowed Themes',
  'ThemesAllowedInfo' => 'Select the allowed themes, which the user can choose, otherwise all available themes are allowed.',
  'ThemesPerPage' => 'Themes per page',
diff --git a/wacko/admin/module/config_appearance.php b/wacko/admin/module/config_appearance.php
--- a/wacko/admin/module/config_appearance.php
+++ b/wacko/admin/module/config_appearance.php
@@ -184,6 +184,19 @@
  $engine->http->redirect(rawurldecode($engine->href()));
  }
 
+ // set back all user themes to curent default theme
+ if (isset($_POST['reset_user_theme']))
+ {
+ $engine->db->sql_query(
+ "UPDATE " . $engine->db->table_prefix . "user_setting SET
+ theme = " . $engine->db->q($engine->db->theme) . "");
+
+ $engine->set_message(Ut::perc_replace($engine->_t('SetBackUserTheme'), '<code>' . $engine->db->theme . '</code>' ), 'success');
+ $engine->log(4, Ut::perc_replace($engine->_t('SetBackUserTheme', SYSTEM_LANG), '##' . $engine->db->theme . '##' ));
+
+ $engine->http->redirect(rawurldecode($engine->href()));
+ }
+
  // update settings
  if (isset($_POST['action']) && $_POST['action'] == 'update')
  {
@@ -335,6 +348,18 @@
  </td>
  </tr>
  <tr class="lined">
+ <td colspan="2"></td>
+ </tr>
+ <tr class="hl-setting">
+ <td class="label">
+ <label for="reset_user_theme"><strong><?php echo $engine->_t('ResetUserTheme'); ?>:</strong><br>
+ <small><?php echo $engine->_t('ResetUserThemeInfo'); ?></small></label>
+ </td>
+ <td>
+ <input type="submit" id="reset_user_theme" name="reset_user_theme" value="<?php echo $engine->_t('ResetUserTheme'); ?>">
+ </td>
+ </tr>
+ <tr class="lined">
  <td colspan="2"></td>
  </tr>
  <tr class="hl-setting">

%%

Maybe this should be placed in an extra module dedicated to resetting user settings (default -> user setting)

----
original is located at: ((/Comment649))