This is how I think it could be:
- A setting for maintenance mode in the backend.
- themes/maintenance/template.php : a clean html page with no GS tags. To be customized by the webmaster.
If enabled, frontend site checks if authenticated user: if logged in, render pages with normal selected theme. If not, use maintenance theme (if available -- if not, a small hardcoded default message/page).
The backend could show a "maintenance mode" notice (just like "debug mode"). The frontend could also add some notice (maybe before the content) so that the webmaster doesn't forget to disable maint mode. :-) And/or else have some expiry option.
- A setting for maintenance mode in the backend.
- themes/maintenance/template.php : a clean html page with no GS tags. To be customized by the webmaster.
If enabled, frontend site checks if authenticated user: if logged in, render pages with normal selected theme. If not, use maintenance theme (if available -- if not, a small hardcoded default message/page).
The backend could show a "maintenance mode" notice (just like "debug mode"). The frontend could also add some notice (maybe before the content) so that the webmaster doesn't forget to disable maint mode. :-) And/or else have some expiry option.