<?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 // // devlopment - 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', 'devlopment'); } // 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));