Files
api/config.example.php
T
Jepp9350 0987140e61 Add containerization and improve economic invoice handling
Introduce Docker support with a Dockerfile and example docker-compose setup, enlisting services like MySQL and Redis. Enhance economic invoice drafts with support for dimensions while restructuring related logic and schemas for better maintenance and clarity.
2025-01-28 11:50:12 +01:00

78 lines
3.5 KiB
PHP

<?php global $CONFIG_DB, $DEBUG, $ENCRYPTION_KEY, $CORS, $ECONOMIC_API, $WORDPRESS_STATIC_TOKEN, $USE_PROD_ECONOMIC_IN_DEBUG, $REDIS_CONFIG, $EMAIL_WASH_CERTIFICATE_TOKEN, $MINIO, $WORDPRESS_API_URL, $SLACK_DEFAULT_WEBHOOK;
$CONFIG_DB = [
'host' => '', // IP address of the database server e.g. 127.0.0.1
'user' => '', // Username of the database server e.g. root
'password' => '', // Password of the database server e.g. password123
'database' => '' // Name of the database e.g. my_database
];
$DEBUG = true; // Set to true to enable debugging (Error messages will be shown, and this should never be used in production)
$USE_PROD_ECONOMIC_IN_DEBUG = true; // Set to true to use the production economic API in debug mode
$ENCRYPTION_KEY = ''; // 44 Characters long encryption key
$CORS = '*'; // Set to the domain that should be allowed to access the API e.g. https://example.com
$ECONOMIC_API = [
'app_access_grant' => '', // Economic API access grant token (1)
'app_access_grant2' => '', // Economic API access grant token (2)
'app_secret_token' => '' // Economic API secret token
];
if ($DEBUG && !$USE_PROD_ECONOMIC_IN_DEBUG) {
$ECONOMIC_API = [
'app_access_grant' => '', // Development Economic API access grant token (1)
'app_access_grant2' => '', // Development Economic API access grant token (2)
'app_secret_token' => '' // Development Economic API secret token
];
}
$WORDPRESS_STATIC_TOKEN = ''; // Static token used to authenticate the WordPress plugin
$EMAIL_WASH_CERTIFICATE_TOKEN = ''; // Token used to authenticate the wash certificate generator
$WORDPRESS_API_URL = ''; // URL to the WordPress API ajax endpoint e.g. https://example.com/wp-admin/admin-ajax.php
$MINIO = [
'endpoint' => '', // Minio endpoint e.g. http://0.0.0.0:9000
'access_key' => '', // Minio access
'secret_key' => '' // Minio secret key
];
$SLACK_DEFAULT_WEBHOOK = ''; // Default Slack webhook URL e.g. https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX
$REDIS_CONFIG = [
'host' => '', // Redis host (IP address)
'database' => 0, // Redis database number (0-15)
'password' => '' // Redis password
];
// Set the timezone
date_default_timezone_set('Europe/Copenhagen');
/**
* Check if the environment variables are set (If we are running in a Docker container)
*/
if (!isset($_ENV['USE_ENV']) || $_ENV['USE_ENV'] !== 'true') {
return;
}
$ENV_VARIABLES = [
'CONFIG_DB_HOST' => 'host',
'CONFIG_DB_USER' => 'user',
'CONFIG_DB_PASSWORD' => 'password',
'CONFIG_DB_DATABASE' => 'database',
'DEBUG' => 'DEBUG',
'ENCRYPTION_KEY' => 'ENCRYPTION_KEY',
'CORS' => 'CORS',
'ECONOMIC_API_APP_ACCESS_GRANT' => 'app_access_grant',
'ECONOMIC_API_APP_ACCESS_GRANT2' => 'app_access_grant2',
'ECONOMIC_API_APP_SECRET_TOKEN' => 'app_secret_token',
'WORDPRESS_STATIC_TOKEN' => 'WORDPRESS_STATIC_TOKEN',
'EMAIL_WASH_CERTIFICATE_TOKEN' => 'EMAIL_WASH_CERTIFICATE_TOKEN',
'WORDPRESS_API_URL' => 'WORDPRESS_API_URL',
'MINIO_ENDPOINT' => 'endpoint',
'MINIO_ACCESS_KEY' => 'access_key',
'MINIO_SECRET_KEY' => 'secret_key',
'SLACK_DEFAULT_WEBHOOK' => 'SLACK_DEFAULT_WEBHOOK',
'REDIS_CONFIG_HOST' => 'host',
'REDIS_CONFIG_DATABASE' => 'database',
'REDIS_CONFIG_PASSWORD' => 'password'
];
foreach ( $ENV_VARIABLES as $env => $config ) {
if (isset($_ENV[$env])) {
if ($config === 'DEBUG' || $config === 'USE_PROD_ECONOMIC_IN_DEBUG') {
$GLOBALS[$config] = $_ENV[$env] === 'true';
} else {
$GLOBALS[$config] = $_ENV[$env];
}
}
}