| 1 |
<?php |
| 2 |
/** |
| 3 |
* OpenStation — Desktop Themes module bootstrap. |
| 4 |
* |
| 5 |
* A **desktop theme** reskins the whole shell at once: every |
| 6 |
* `--os-*` design token, the title-bar / dock / desktop |
| 7 |
* textures, the window frame + per-corner images, and a complete |
| 8 |
* iconset (including the window control glyphs). Themes arrive as a |
| 9 |
* ZIP containing a `theme.json` manifest plus images — never CSS, |
| 10 |
* never JS. PHP validates the manifest and *compiles* a stylesheet |
| 11 |
* of custom-property declarations from it, so nothing an author |
| 12 |
* writes is ever executed or echoed into a `<style>` verbatim. |
| 13 |
* |
| 14 |
* Deliberately named "desktop theme" everywhere |
| 15 |
* (`openstation_desktop_theme*`, `serverDesktopThemes`, |
| 16 |
* `src/desktop-themes/`) — never bare "theme" — because the plugin |
| 17 |
* already has per-window "window themes" |
| 18 |
* (`includes/window-chrome.php`) and the two are different features. |
| 19 |
* |
| 20 |
* Library is site-wide; upload is gated on `manage_options` |
| 21 |
* (filterable); activation is per-user via the `desktopTheme` key in |
| 22 |
* the existing `desktop_mode_os_settings` user meta. |
| 23 |
* |
| 24 |
* @package OpenStation |
| 25 |
*/ |
| 26 |
|
| 27 |
defined( 'ABSPATH' ) || exit; |
| 28 |
|
| 29 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/store.php'; |
| 30 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/manifest.php'; |
| 31 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/compile.php'; |
| 32 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/install.php'; |
| 33 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/registry.php'; |
| 34 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/rest.php'; |
| 35 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/assets.php'; |
| 36 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/wallpapers.php'; |
| 37 |
// After registry.php — it registers through that file's public API. |
| 38 |
require_once OPENSTATION_DIR . 'includes/desktop-themes/builtin.php'; |
| 39 |
|