Files
tsysstaticsites/setup.php
Charles N Wyble 3491bb7a46 fix: working multi-site setup with minimal stream override
- Use minimal setup.php that only overrides 'page' stream
- Override only page stream to avoid conflicts with Grav core streams
- Environment-specific pages now load correctly per hostname
- Remove unused add-streams.sh script

Root cause: Grav's core streams (data, config, etc.) cannot be
overridden in setup.php without causing initialization errors.
The solution is to only override the 'page' stream, which allows
each environment to have its own pages while sharing plugins,
themes, and data with the main installation.

Testing confirmed:
- charters.turnsys.com → "TSYS Group Charters"
- plan.knownelement.com → "Known Element Business Plan"
- plan.startinglineproductions.com → "Starting Line Productions Plan"

🤖 Generated with [Crush](https://crush.cbhops.com)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-03-02 16:19:14 -05:00

57 lines
2.1 KiB
PHP

<?php
/**
* Grav Multi-Site Setup Configuration
* Maps hostnames to environment-specific directories
* Only overrides 'page' stream to serve environment-specific content
*/
$hostname = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'localhost';
$hostname = preg_replace('/:\d+$/', '', $hostname);
$hostname = strtolower($hostname);
$hostMap = [
'charters.turnsys.com' => 'charters.turnsys.com',
'plan.afabn.org' => 'plan.afabn.org',
'plan.ap4ap.org' => 'plan.ap4ap.org',
'plan.ezeda.org' => 'plan.ezeda.org',
'plan.ezpodstack.org' => 'plan.ezpodstack.org',
'plan.hfnoc.net' => 'plan.hfnoc.net',
'plan.knownelement.com' => 'plan.knownelement.com',
'plan.meetmorse.com' => 'plan.meetmorse.com',
'plan.merchantsofhope.org' => 'plan.merchantsofhope.org',
'plan.rackrental.net' => 'plan.rackrental.net',
'plan.redwfo.com' => 'plan.redwfo.com',
'plan.rwscp.net' => 'plan.rwscp.net',
'plan.sidedoorgroup.org' => 'plan.sidedoorgroup.org',
'plan.sol-calc.com' => 'plan.sol-calc.com',
'plan.suborbital-systems.com' => 'plan.suborbital-systems.com',
'plan.teamrental.net' => 'plan.teamrental.net',
'plan.thecampustradingcompany.com' => 'plan.thecampustradingcompany.com',
'plan.thepeernet.com' => 'plan.thepeernet.com',
'plan.turnsys.com' => 'plan.turnsys.com',
'plan.yourdreamnamehere.com' => 'plan.yourdreamnamehere.com',
'plan.startinglineproductions.com' => 'plan.startinglineproductions.com',
'staticsites.turnsys.com' => 'staticsites.turnsys.com',
];
$environment = isset($hostMap[$hostname]) ? $hostMap[$hostname] : 'staticsites.turnsys.com';
$envPath = GRAV_ROOT . '/user/env/' . $environment;
if (!is_dir($envPath)) {
$envPath = GRAV_ROOT . '/user/env/staticsites.turnsys.com';
}
// Only override page stream - use environment pages, fallback to default
return [
'streams' => [
'schemes' => [
'page' => [
'type' => 'ReadOnlyStream',
'prefixes' => [
'' => [$envPath . '/pages', 'user://pages'],
],
],
],
],
];