<?php
/// CRIMSON --- A simple PHP framework.
/// Copyright © 2024 Freya Murphy <contact@freyacat.org>
///
/// This file is part of CRIMSON.
///
/// CRIMSON is free software; you can redistribute it and/or modify it
/// under the terms of the GNU General Public License as published by
/// the Free Software Foundation; either version 3 of the License, or (at
/// your option) any later version.
///
/// CRIMSON is distributed in the hope that it will be useful, but
/// WITHOUT ANY WARRANTY; without even the implied warranty of
/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
/// GNU General Public License for more details.
///
/// You should have received a copy of the GNU General Public License
/// along with CRIMSON. If not, see <http://www.gnu.org/licenses/>.

// ENVIRONMENT
//
// development - do not cache any assets
//            - use http host provided by user
//
// production - use generated timestamps for each file
//            - hard code http host to 'domain' lang string
//
if (!defined('ENVIRONMENT')) {
	if (getenv('ENVIRONMENT') !== FALSE)
		define('ENVIRONMENT', getenv('ENVIRONMENT'));
	else
		define('ENVIRONMENT', 'development');
}

// CONFIG
// config values needed across the website
//
// domain        - the default domain for the website
//
// allowed_hosts - accepted domains to use for the website
//
// base_path     - the base path the website is located at
//
// theme_color   - html hex color used for browser metadata
//
// routes        - array of regex keys that match the request path and
//               - place it with the value if it matches
//               - e.g. '' => 'home' sends / to /home
//
// style         - single or list of css styles to load on specific routes
//
// js            - single or list of js script to load on specific routes
//
// autoload      - list of directories to autoload all PHP files in them
//
define('BASE_CONFIG', array(
	/* core settings */
	'domain' => 'localhost',
	'allowed_hosts' => ['localhost'],
	'base_path' => '/',
	'theme_color' => '#181818',
	/* route overides */
	'routes' => array(),
	/* css to load on each route */
	'style' => array(),
	/* js to load on each route */
	'js' => array(),
	/* directories to autoload php code */
	'autoload' => array(),
));

if (!defined('SITE_CONFIG'))
	define('SITE_CONFIG', array());

define('CONFIG', array_merge(BASE_CONFIG, SITE_CONFIG));