diff --git a/README.V6-Upgrade.md b/README.V6-Upgrade.md index 533124de..2f03b876 100644 --- a/README.V6-Upgrade.md +++ b/README.V6-Upgrade.md @@ -44,9 +44,24 @@ $db = new CoreLibs\DB\IO(DB_CONFIG, $log); // login & page access check $login = new CoreLibs\ACL\Login($db, $log); ``` +* update language class +```php +// pre auto detect language after login +$locale = \CoreLibs\Language\GetLocale::setLocale(); +// set lang and pass to smarty/backend +$l10n = new \CoreLibs\Language\L10n( + $locale['locale'], + $locale['domain'], + $locale['path'], +); +``` +* smarty needs language +```php +$smarty = new CoreLibs\Template\SmartyExtend($l10n, $locale); +``` * admin backend also needs logger ```php -$cms = new CoreLibs\Admin\Backend($db, $log); +$cms = new CoreLibs\Admin\Backend($db, $log, $l10n, $locale); ``` * update and `$cms` or similar calls so db is in `$cms->db->...` and log are in `$cms->log->...` * update all `config.*.php` files where needed @@ -60,6 +75,12 @@ require BASE . LIB . 'autoloader.php'; ``` **UPDATE:** ```php +// po langs [DEPRECAED: use LOCALE] +define('LANG', 'lang' . DIRECTORY_SEPARATOR); +// po locale file +define('LOCALE', 'locale' . DIRECTORY_SEPARATOR); +``` +```php // SSL host name // define('SSL_HOST', $_ENV['SSL_HOST'] ?? ''); ``` @@ -85,6 +106,13 @@ define('CONTENT_WIDTH', '100%'); define('BASE_NAME', preg_replace('/[^A-Za-z0-9]/', '', $_ENV['BASE_NAME'] ?? '')); ``` ```php +/************* LANGUAGE / ENCODING *******/ +// default lang + encoding +define('DEFAULT_LOCALE', 'en_US.UTF-8'); +// default web page encoding setting +define('DEFAULT_ENCODING', 'UTF-8'); +``` +```php // BAIL ON MISSING DB CONFIG: // we have either no db selction for this host but have db config entries // or we have a db selection but no db config as array or empty @@ -104,6 +132,10 @@ if ( } ``` ```php +// remove SITE_LANG +define('SITE_LOCALE', $SITE_CONFIG[HOST_NAME]['site_locale'] ?? DEFAULT_LOCALE); +define('SITE_ENCODING', $SITE_CONFIG[HOST_NAME]['site_encoding'] ?? DEFAULT_ENCODING); +``` ```php /************* GENERAL PAGE TITLE ********/ define('G_TITLE', $_ENV['G_TITLE'] ?? ''); @@ -118,6 +150,15 @@ In the config then ```php 'db_name' => $_ENV['DB_NAME.TEST'] ?? '', ``` +* config.host.php update +must add site_locale (site_lang + site_encoding) +remove site_lang +```php + // lang + encoding + 'site_locale' => 'en_US.UTF-8', + // site language + 'site_encoding' => 'UTF-8', +``` * copy `layout/admin/javascript/edit.jq.js` * check other javacsript files if needed (`edit.jq.js`) diff --git a/www/configs/config.host.php b/www/configs/config.host.php index b6d00a2c..2b57ed2e 100644 --- a/www/configs/config.host.php +++ b/www/configs/config.host.php @@ -27,9 +27,8 @@ $__LOCAL_CONFIG = [ 'db_host' => 'test', 'location' => 'test', 'debug_flag' => true, - 'site_lang' => 'en_US', - 'site_encoding' => 'UTF-8', 'site_locale' => 'en_US.UTF-8', + 'site_encoding' => 'UTF-8', 'login_enabled' => true ]; @@ -46,11 +45,10 @@ $SITE_CONFIG = [ 'location' => 'test', // show DEBUG override 'debug_flag' => true, - // site language - 'site_lang' => 'en_US', - 'site_encoding' => 'UTF-8', - // lang + encoding + // site locale 'site_locale' => 'en_US.UTF-8', + // site encoding + 'site_encoding' => 'UTF-8', // enable/disable login override 'login_enabled' => true ], diff --git a/www/configs/config.master.php b/www/configs/config.master.php index 1f526456..898817d8 100644 --- a/www/configs/config.master.php +++ b/www/configs/config.master.php @@ -65,8 +65,6 @@ define('JS', 'javascript' . DIRECTORY_SEPARATOR); define('TABLE_ARRAYS', 'table_arrays' . DIRECTORY_SEPARATOR); // smarty libs path define('SMARTY', 'Smarty' . DIRECTORY_SEPARATOR); -// po langs [DEPRECAED: use LOCALE] -define('LANG', 'lang' . DIRECTORY_SEPARATOR); // po locale file define('LOCALE', 'locale' . DIRECTORY_SEPARATOR); // cache path @@ -160,11 +158,10 @@ define('CACHE_ID', 'CACHE_' . BASE_NAME . '_' . SERVER_NAME_HASH); define('COMPILE_ID', 'COMPILE_' . BASE_NAME . '_' . SERVER_NAME_HASH); /************* LANGUAGE / ENCODING *******/ -define('DEFAULT_LANG', 'en_US'); -// default web page encoding setting -define('DEFAULT_ENCODING', 'UTF-8'); // default lang + encoding define('DEFAULT_LOCALE', 'en_US.UTF-8'); +// default web page encoding setting +define('DEFAULT_ENCODING', 'UTF-8'); /************* LOGGING *******************/ // below two can be defined here, but they should be @@ -262,9 +259,8 @@ $GLOBALS['DB_CONFIG'] = DB_CONFIG; // debug settings, site lang, etc define('TARGET', $SITE_CONFIG[HOST_NAME]['location'] ?? 'test'); define('DEBUG', $SITE_CONFIG[HOST_NAME]['debug_flag'] ?? false); -define('SITE_LANG', $SITE_CONFIG[HOST_NAME]['site_lang'] ?? DEFAULT_LANG); -define('SITE_ENCODING', $SITE_CONFIG[HOST_NAME]['site_encoding'] ?? DEFAULT_ENCODING); define('SITE_LOCALE', $SITE_CONFIG[HOST_NAME]['site_locale'] ?? DEFAULT_LOCALE); +define('SITE_ENCODING', $SITE_CONFIG[HOST_NAME]['site_encoding'] ?? DEFAULT_ENCODING); define('LOGIN_ENABLED', $SITE_CONFIG[HOST_NAME]['login_enabled'] ?? false); define('AUTH', $SITE_CONFIG[HOST_NAME]['auth'] ?? false); // paths diff --git a/www/configs/config.php b/www/configs/config.php index 62fe0cd1..ce6c3b95 100644 --- a/www/configs/config.php +++ b/www/configs/config.php @@ -53,9 +53,13 @@ if (!defined('DIR')) { // find trigger name "admin/" or "frontend/" in the getcwd() folder foreach (['admin', 'frontend'] as $folder) { if (strstr(getcwd() ?: '', DIRECTORY_SEPARATOR . $folder)) { - define('CONTENT_PATH', $folder . DIRECTORY_SEPARATOR); break; } } +// if content path is empty, fallback is default +if (empty($folder)) { + $folder = 'default'; +} +define('CONTENT_PATH', $folder . DIRECTORY_SEPARATOR); // __END__