OK, I found the problem.
That is the same bug we have when updating system module using the default theme: Redirect page loses style!
This is why:
system_redirect.html and system_siteclosed.html are templates and not themes!
Template have the following variables available:
le="color: #000000"><?php $this->assign(array( 'xoops_url' => XOOPS_URL , 'xoops_rootpath' => XOOPS_ROOT_PATH , 'xoops_langcode' => _LANGCODE , 'xoops_charset' => _CHARSET , 'xoops_version' => XOOPS_VERSION , 'xoops_upload_url' => XOOPS_UPLOAD_URL));
Themes have some more variables:
le="color: #000000"><?php $this->template->assign(array( 'xoops_theme' => $GLOBALS['xoopsConfig']['theme_set'] , 'xoops_imageurl' => XOOPS_THEME_URL . '/' . $GLOBALS['xoopsConfig']['theme_set'] . '/', 'xoops_themecss' => xoops_getcss($GLOBALS['xoopsConfig']['theme_set']), 'xoops_requesturi' => htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES), 'xoops_sitename' => htmlspecialchars($GLOBALS['xoopsConfig']['sitename'], ENT_QUOTES), 'xoops_slogan' => htmlspecialchars($GLOBALS['xoopsConfig']['slogan'], ENT_QUOTES), 'xoops_dirname' => isset($GLOBALS['xoopsModule'])&& is_object($GLOBALS['xoopsModule']) ? $GLOBALS['xoopsModule']->getVar('dirname') : 'system', 'xoops_banner' => $GLOBALS['xoopsConfig']['banners'] ? xoops_getbanner() : ' ', 'xoops_pagetitle' => isset($GLOBALS['xoopsModule']) && is_object($GLOBALS['xoopsModule']) ? $GLOBALS['xoopsModule']->getVar('name') : htmlspecialchars($GLOBALS['xoopsConfig']['slogan'], ENT_QUOTES))); if (isset($GLOBALS['xoopsUser']) && is_object($GLOBALS['xoopsUser'])) { $this->template->assign(array( 'xoops_isuser' => true, 'xoops_avatar' => $GLOBALS['xoopsUser']->getVar('user_avatar'), 'xoops_userid' => $GLOBALS['xoopsUser']->getVar('uid'), 'xoops_uname' => $GLOBALS['xoopsUser']->getVar('uname'), 'xoops_name' => $GLOBALS['xoopsUser']->getVar('name'), 'xoops_isadmin' => $GLOBALS['xoopsUserIsAdmin'], 'xoops_usergroups' => $GLOBALS['xoopsUser']->getGroups())); } else { $this->template->assign(array( 'xoops_isuser' => false, 'xoops_isadmin' => false, 'xoops_usergroups' => array(XOOPS_GROUP_ANONYMOUS))); }
If you delete smarty compiles and hit a redirect page in the front end (where theme is available), then you will have luck and the new template will be compiled ok. If you update system module where a $tpl->touch() is made (outside the scope of a theme) then the new compile will be messed up.
2 Solutions:
1 - Update the touch method to create a theme instance and use the tpl from the theme = Waste of resources!!
2 - Use templates as templates and not as themes.
The templates provided in default theme should not make use of xoImgUrl (requires $xoTheme). This is a core bug.