1: <?php
2: 3: 4: 5:
6:
7: if (!defined('XOOPS_ROOT_PATH')) exit();
8:
9: class User_AdminPreload extends XCube_ActionFilter
10: {
11: function preBlockFilter()
12: {
13: $this->mRoot->mDelegateManager->add('Legacy.Event.ThemeSettingChanged', 'User_AdminPreload::doThemeSettingChanged');
14: }
15:
16: function doThemeSettingChanged($mainTheme, $selectableThemes)
17: {
18: $root =& XCube_Root::getSingleton();
19: $db =& $root->mController->mDB;
20: $table = $db->prefix('users');
21:
22: $mainTheme = $db->quoteString($mainTheme);
23:
24: $t_conds = array();
25: $t_conds[] = "theme <> " . $db->quoteString('');
26: foreach ($selectableThemes as $theme) {
27: $t_conds[] = "theme <> " . $db->quoteString($theme);
28: }
29:
30: $sql = "UPDATE ${table} SET theme=${mainTheme} WHERE " . join(' AND ' , $t_conds);
31:
32: $db->query($sql);
33: }
34: }
35:
36: ?>