Update config.php to use absolute paths for loading basic settings
This commit is contained in:
@@ -10,14 +10,16 @@ if [ "${1}" = "t" ] || [ "${2}" = "t" ]; then
|
|||||||
opt_testdox="--testdox";
|
opt_testdox="--testdox";
|
||||||
fi;
|
fi;
|
||||||
php_bin="";
|
php_bin="";
|
||||||
case "${1}" in
|
if [ ! -z "${1}" ]; then
|
||||||
# "7.3") php_bin="/usr/bin/php7.3 "; ;;
|
case "${1}" in
|
||||||
"7.4") php_bin="/usr/bin/php7.4 "; ;;
|
# "7.3") php_bin="/usr/bin/php7.3 "; ;;
|
||||||
"8.0") php_bin="/usr/bin/php8.0 "; ;;
|
"7.4") php_bin="/usr/bin/php7.4 "; ;;
|
||||||
"8.1") php_bin="/usr/bin/php8.1 "; ;;
|
"8.0") php_bin="/usr/bin/php8.0 "; ;;
|
||||||
*) echo "Not support PHP: ${1}"; exit; ;;
|
"8.1") php_bin="/usr/bin/php8.1 "; ;;
|
||||||
esac;
|
*) echo "Not support PHP: ${1}"; exit; ;;
|
||||||
if [ -z "${php_bin}" ]; then
|
esac;
|
||||||
|
fi;
|
||||||
|
if [ ! -z "${2}" ] && [ -z "${php_bin}" ]; then
|
||||||
case "${2}" in
|
case "${2}" in
|
||||||
# "7.3") php_bin="/usr/bin/php7.3 "; ;;
|
# "7.3") php_bin="/usr/bin/php7.3 "; ;;
|
||||||
"7.4") php_bin="/usr/bin/php7.4 "; ;;
|
"7.4") php_bin="/usr/bin/php7.4 "; ;;
|
||||||
|
|||||||
58
www/admin/class_test.config.direct.php
Normal file
58
www/admin/class_test.config.direct.php
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?php // phpcs:ignore warning
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @phan-file-suppress PhanTypeSuspiciousStringExpression
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
|
||||||
|
$DEBUG_ALL = 1;
|
||||||
|
$PRINT_ALL = 1;
|
||||||
|
$DB_DEBUG = 1;
|
||||||
|
|
||||||
|
if ($DEBUG_ALL) {
|
||||||
|
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
|
||||||
|
// basic class test file
|
||||||
|
define('USE_DATABASE', false);
|
||||||
|
// sample config
|
||||||
|
require '../configs/config.php';
|
||||||
|
// define log file id
|
||||||
|
$LOG_FILE_ID = 'classTest-config-direct';
|
||||||
|
ob_end_flush();
|
||||||
|
|
||||||
|
$log = new CoreLibs\Debug\Logging([
|
||||||
|
'log_folder' => BASE . LOG,
|
||||||
|
'file_id' => $LOG_FILE_ID,
|
||||||
|
// add file date
|
||||||
|
'print_file_date' => true,
|
||||||
|
// set debug and print flags
|
||||||
|
'debug_all' => $DEBUG_ALL ?? false,
|
||||||
|
'echo_all' => $ECHO_ALL ?? false,
|
||||||
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
|
]);
|
||||||
|
|
||||||
|
print "<!DOCTYPE html>";
|
||||||
|
print "<html><head><title>TEST CLASS: CONFIG DIRECT</title><head>";
|
||||||
|
print "<body>";
|
||||||
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><b>CONFIG DIRECT</b></div>';
|
||||||
|
|
||||||
|
print "DIR: " . DIR . "<br>";
|
||||||
|
print "BASE: " . BASE . "<br>";
|
||||||
|
print "ROOT: " . ROOT . "<br>";
|
||||||
|
print "BASE NAME: " . BASE_NAME . "<br>";
|
||||||
|
echo "Config path prefix: " . $CONFIG_PATH_PREFIX . "<br>";
|
||||||
|
print "DB Name: " . DB_CONFIG_NAME . "<br>";
|
||||||
|
print "DB Config: " . \CoreLibs\Debug\Support::printAr(DB_CONFIG) . "<br>";
|
||||||
|
|
||||||
|
// error message
|
||||||
|
print $log->printErrorMsg();
|
||||||
|
|
||||||
|
print "</body></html>";
|
||||||
|
|
||||||
|
// __END__
|
||||||
58
www/admin/class_test.config.link.php
Normal file
58
www/admin/class_test.config.link.php
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?php // phpcs:ignore warning
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @phan-file-suppress PhanTypeSuspiciousStringExpression
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
|
||||||
|
$DEBUG_ALL = 1;
|
||||||
|
$PRINT_ALL = 1;
|
||||||
|
$DB_DEBUG = 1;
|
||||||
|
|
||||||
|
if ($DEBUG_ALL) {
|
||||||
|
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
|
||||||
|
// basic class test file
|
||||||
|
define('USE_DATABASE', false);
|
||||||
|
// sample config
|
||||||
|
require 'config.php';
|
||||||
|
// define log file id
|
||||||
|
$LOG_FILE_ID = 'classTest-config-link';
|
||||||
|
ob_end_flush();
|
||||||
|
|
||||||
|
$log = new CoreLibs\Debug\Logging([
|
||||||
|
'log_folder' => BASE . LOG,
|
||||||
|
'file_id' => $LOG_FILE_ID,
|
||||||
|
// add file date
|
||||||
|
'print_file_date' => true,
|
||||||
|
// set debug and print flags
|
||||||
|
'debug_all' => $DEBUG_ALL ?? false,
|
||||||
|
'echo_all' => $ECHO_ALL ?? false,
|
||||||
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
|
]);
|
||||||
|
|
||||||
|
print "<!DOCTYPE html>";
|
||||||
|
print "<html><head><title>TEST CLASS: CONFIG LINK</title><head>";
|
||||||
|
print "<body>";
|
||||||
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><b>CONFIG LINK</b></div>';
|
||||||
|
|
||||||
|
print "DIR: " . DIR . "<br>";
|
||||||
|
print "BASE: " . BASE . "<br>";
|
||||||
|
print "ROOT: " . ROOT . "<br>";
|
||||||
|
print "BASE NAME: " . BASE_NAME . "<br>";
|
||||||
|
echo "Config path prefix: " . $CONFIG_PATH_PREFIX . "<br>";
|
||||||
|
print "DB Name: " . DB_CONFIG_NAME . "<br>";
|
||||||
|
print "DB Config: " . \CoreLibs\Debug\Support::printAr(DB_CONFIG) . "<br>";
|
||||||
|
|
||||||
|
// error message
|
||||||
|
print $log->printErrorMsg();
|
||||||
|
|
||||||
|
print "</body></html>";
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -83,6 +83,9 @@ print '<div><a href="class_test.admin.backend.php">Class Test: BACKEND ADMIN CLA
|
|||||||
print '<div><a href="class_test.lang.php">Class Test: LANG/L10n</a></div>';
|
print '<div><a href="class_test.lang.php">Class Test: LANG/L10n</a></div>';
|
||||||
print '<div><a href="class_test.smarty.php">Class Test: SMARTY</a></div>';
|
print '<div><a href="class_test.smarty.php">Class Test: SMARTY</a></div>';
|
||||||
print '<div><a href="class_test.autoloader.php">Class Test: AUTOLOADER</a></div>';
|
print '<div><a href="class_test.autoloader.php">Class Test: AUTOLOADER</a></div>';
|
||||||
|
print '<div><a href="class_test.config.link.php">Class Test: CONFIG LINK</a></div>';
|
||||||
|
print '<div><a href="class_test.config.direct.php">Class Test: CONFIG DIRECT</a></div>';
|
||||||
|
print '<div><a href="subfolder/class_test.config.direct.php">Class Test: CONFIG DIRECT SUB</a></div>';
|
||||||
|
|
||||||
print "<hr>";
|
print "<hr>";
|
||||||
print "L: " . CoreLibs\Debug\Support::printAr($locale) . "<br>";
|
print "L: " . CoreLibs\Debug\Support::printAr($locale) . "<br>";
|
||||||
|
|||||||
58
www/admin/subfolder/class_test.config.direct.php
Normal file
58
www/admin/subfolder/class_test.config.direct.php
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?php // phpcs:ignore warning
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @phan-file-suppress PhanTypeSuspiciousStringExpression
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
|
||||||
|
$DEBUG_ALL = 1;
|
||||||
|
$PRINT_ALL = 1;
|
||||||
|
$DB_DEBUG = 1;
|
||||||
|
|
||||||
|
if ($DEBUG_ALL) {
|
||||||
|
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
|
||||||
|
// basic class test file
|
||||||
|
define('USE_DATABASE', false);
|
||||||
|
// sample config
|
||||||
|
require '../../configs/config.php';
|
||||||
|
// define log file id
|
||||||
|
$LOG_FILE_ID = 'classTest-config-direct';
|
||||||
|
ob_end_flush();
|
||||||
|
|
||||||
|
$log = new CoreLibs\Debug\Logging([
|
||||||
|
'log_folder' => BASE . LOG,
|
||||||
|
'file_id' => $LOG_FILE_ID,
|
||||||
|
// add file date
|
||||||
|
'print_file_date' => true,
|
||||||
|
// set debug and print flags
|
||||||
|
'debug_all' => $DEBUG_ALL ?? false,
|
||||||
|
'echo_all' => $ECHO_ALL ?? false,
|
||||||
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
|
]);
|
||||||
|
|
||||||
|
print "<!DOCTYPE html>";
|
||||||
|
print "<html><head><title>TEST CLASS: CONFIG DIRECT SUB</title><head>";
|
||||||
|
print "<body>";
|
||||||
|
print '<div><a href="../class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><b>CONFIG DIRECT SUB</b></div>';
|
||||||
|
|
||||||
|
print "DIR: " . DIR . "<br>";
|
||||||
|
print "BASE: " . BASE . "<br>";
|
||||||
|
print "ROOT: " . ROOT . "<br>";
|
||||||
|
print "BASE NAME: " . BASE_NAME . "<br>";
|
||||||
|
echo "Config path prefix: " . $CONFIG_PATH_PREFIX . "<br>";
|
||||||
|
print "DB Name: " . DB_CONFIG_NAME . "<br>";
|
||||||
|
print "DB Config: " . \CoreLibs\Debug\Support::printAr(DB_CONFIG) . "<br>";
|
||||||
|
|
||||||
|
// error message
|
||||||
|
print $log->printErrorMsg();
|
||||||
|
|
||||||
|
print "</body></html>";
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -11,44 +11,56 @@
|
|||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
define('CONFIG_PATH', 'configs' . DIRECTORY_SEPARATOR);
|
define('CONFIG_PATH', 'configs' . DIRECTORY_SEPARATOR);
|
||||||
// config path prefix search, start with 0, got down each level __DIR__ has, if nothing found -> bail
|
// config path prefix search, start with 0, got down each level __DIR__ has,
|
||||||
|
// if nothing found -> bail
|
||||||
$CONFIG_PATH_PREFIX = '';
|
$CONFIG_PATH_PREFIX = '';
|
||||||
|
// base path for loads
|
||||||
|
$__DIR__PATH = __DIR__ . DIRECTORY_SEPARATOR;
|
||||||
|
// don't load autoloader twice
|
||||||
$end_autoload = false;
|
$end_autoload = false;
|
||||||
for ($dir_pos = 0, $dir_max = count(explode(DIRECTORY_SEPARATOR, __DIR__)); $dir_pos <= $dir_max; $dir_pos++) {
|
for (
|
||||||
|
$dir_pos = 0, $dir_max = count(explode(DIRECTORY_SEPARATOR, __DIR__));
|
||||||
|
$dir_pos <= $dir_max;
|
||||||
|
$dir_pos++
|
||||||
|
) {
|
||||||
$CONFIG_PATH_PREFIX .= '..' . DIRECTORY_SEPARATOR;
|
$CONFIG_PATH_PREFIX .= '..' . DIRECTORY_SEPARATOR;
|
||||||
if ($end_autoload === false) {
|
if ($end_autoload === false) {
|
||||||
/************* AUTO LOADER *******************/
|
/************* AUTO LOADER *******************/
|
||||||
// read auto loader for lib only
|
// composer auto loader, in composer.json file add classmap for lib/:
|
||||||
// It is recommended to setup basic composer and use just one auto loader
|
|
||||||
// if (is_file($CONFIG_PATH_PREFIX . 'lib' . DIRECTORY_SEPARATOR . 'autoloader.php')) {
|
|
||||||
// require $CONFIG_PATH_PREFIX . 'lib' . DIRECTORY_SEPARATOR . 'autoloader.php';
|
|
||||||
// $end_autoload = true;
|
|
||||||
// }
|
|
||||||
// composer auto loader, IF composer.json file includes classmap for lib/:
|
|
||||||
// "autoload": {
|
// "autoload": {
|
||||||
// "classmap": [
|
// "classmap": [
|
||||||
// "lib/"
|
// "lib/"
|
||||||
// ]
|
// ]
|
||||||
// },
|
// },
|
||||||
// NOTE: MUST RUN composer dump-autoload if file/class names are changed or added
|
// NOTE: MUST RUN composer dump-autoload if file/class names are
|
||||||
// load auto loader
|
// changed or new ones are added
|
||||||
if (is_file($CONFIG_PATH_PREFIX . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php')) {
|
if (
|
||||||
require $CONFIG_PATH_PREFIX . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
|
is_file(
|
||||||
|
$__DIR__PATH . $CONFIG_PATH_PREFIX
|
||||||
|
. 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
require $__DIR__PATH . $CONFIG_PATH_PREFIX
|
||||||
|
. 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
|
||||||
$end_autoload = true;
|
$end_autoload = true;
|
||||||
}
|
}
|
||||||
// load enviorment file if it exists
|
|
||||||
\CoreLibs\Get\ReadEnvFile::readEnvFile($CONFIG_PATH_PREFIX . CONFIG_PATH);
|
|
||||||
}
|
}
|
||||||
/************* MASTER CONFIG *******************/
|
/************* MASTER CONFIG *******************/
|
||||||
if (is_file($CONFIG_PATH_PREFIX . CONFIG_PATH . 'config.master.php')) {
|
if (
|
||||||
|
is_file($__DIR__PATH . $CONFIG_PATH_PREFIX . CONFIG_PATH . 'config.master.php')
|
||||||
|
) {
|
||||||
|
// load enviorment file if it exists
|
||||||
|
\CoreLibs\Get\ReadEnvFile::readEnvFile(
|
||||||
|
$__DIR__PATH . $CONFIG_PATH_PREFIX . CONFIG_PATH
|
||||||
|
);
|
||||||
// load master config file that loads all other config files
|
// load master config file that loads all other config files
|
||||||
require $CONFIG_PATH_PREFIX . CONFIG_PATH . 'config.master.php';
|
require $__DIR__PATH . $CONFIG_PATH_PREFIX . CONFIG_PATH . 'config.master.php';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// fail if no base DIR is not set
|
// fail if no base DIR is not set
|
||||||
if (!defined('DIR')) {
|
if (!defined('DIR')) {
|
||||||
exit('Base config unloadable');
|
exit('Base config could not be loaded');
|
||||||
}
|
}
|
||||||
// find trigger name "admin/" or "frontend/" in the getcwd() folder
|
// find trigger name "admin/" or "frontend/" in the getcwd() folder
|
||||||
foreach (['admin', 'frontend'] as $folder) {
|
foreach (['admin', 'frontend'] as $folder) {
|
||||||
|
|||||||
@@ -85,11 +85,13 @@ class Basic
|
|||||||
* main Basic constructor to init and check base settings
|
* main Basic constructor to init and check base settings
|
||||||
* @param \CoreLibs\Debug\Logging|null $log Logging class
|
* @param \CoreLibs\Debug\Logging|null $log Logging class
|
||||||
* @param string|null $session_name Set session name
|
* @param string|null $session_name Set session name
|
||||||
|
* @deprecated DO NOT USE Class\Basic anymore. Use dedicated logger and sub classes
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
\CoreLibs\Debug\Logging $log = null,
|
\CoreLibs\Debug\Logging $log = null,
|
||||||
?string $session_name = null
|
?string $session_name = null
|
||||||
) {
|
) {
|
||||||
|
trigger_error('Class \CoreLibs\Basic is deprected', E_USER_DEPRECATED);
|
||||||
// TODO make check dynamic for entries we MUST have depending on load type
|
// TODO make check dynamic for entries we MUST have depending on load type
|
||||||
// before we start any work, we should check that all MUST constants are defined
|
// before we start any work, we should check that all MUST constants are defined
|
||||||
$abort = false;
|
$abort = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user