Unfortunately :censored:, there's a potential for a mySQL fatal error using v3.0.3 if your store's setting for Format of alternate URLs is *parent *or the setting for Display categories as directories is short.
You'll see logs similar to
[08-Nov-2019 15:37:05 America/New_York] Request URI: /zc155fusu/beacH-vrb-exTra/configuration.php?gID=31&cID=585&action=save, IP address: ::1
#1 trigger_error() called at [C:\xampp\htdocs\zc155fusu\includes\classes\db\mysql\query_factory.php:171]
#2 queryFactory->show_error() called at [C:\xampp\htdocs\zc155fusu\includes\classes\db\mysql\query_factory.php:143]
#3 queryFactory->set_error() called at [C:\xampp\htdocs\zc155fusu\includes\classes\db\mysql\query_factory.php:218]
#4 queryFactory->Execute() called at [C:\xampp\htdocs\zc155fusu\includes\classes\usu.php:1256]
#5 usu->generate_categories_cache() called at [C:\xampp\htdocs\zc155fusu\includes\classes\usu.php:84]
#6 usu->__construct() called at [C:\xampp\htdocs\zc155fusu\beacH-vrb-exTra\includes\classes\observers\UsuAdminObserver.php:29]
#7 UsuAdminObserver->__construct() called at [C:\xampp\htdocs\zc155fusu\includes\autoload_func.php:79]
#8 require(C:\xampp\htdocs\zc155fusu\includes\autoload_func.php) called at [C:\xampp\htdocs\zc155fusu\beacH-vrb-exTra\includes\application_top.php:171]
#9 require(C:\xampp\htdocs\zc155fusu\beacH-vrb-exTra\includes\application_top.php) called at [C:\xampp\htdocs\zc155fusu\beacH-vrb-exTra\configuration.php:10]
--> PHP Fatal error: 1054:Unknown column 'c.parent_id' in 'on clause' :: SELECT c.categories_id AS id, c.parent_id, cd.categories_name AS cName, cd2.categories_name as pName
FROM categories AS c, categories_description AS cd
LEFT JOIN categories_description AS cd2
ON c.parent_id = cd2.categories_id
AND cd2.language_id = 1
WHERE c.categories_id = cd.categories_id
AND cd.language_id = 1 ==> (as called by) C:\xampp\htdocs\zc155fusu\includes\classes\usu.php on line 1256 <== in C:\xampp\htdocs\zc155fusu\includes\classes\db\mysql\query_factory.php on line 171.
I've got the update staged on GitHub, changing /includes/classes/usu.php, starting at line 1241, from
if (USU_FORMAT == 'parent' || USU_CATEGORY_DIR == 'short') {
$sql =
"SELECT c.categories_id AS id, c.parent_id, cd.categories_name AS cName, cd2.categories_name as pName
FROM " . TABLE_CATEGORIES . " AS c[B], " . TABLE_CATEGORIES_DESCRIPTION . " AS cd[/B]
LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " AS cd2
ON c.parent_id = cd2.categories_id
AND cd2.language_id = {$this->languages_id}
WHERE c.categories_id = cd.categories_id
AND cd.language_id = {$this->languages_id}";
} else {
$sql =
"SELECT categories_id AS id, categories_name AS cName
FROM " . TABLE_CATEGORIES_DESCRIPTION . "
WHERE language_id = {$this->languages_id}";
}
to
if (USU_FORMAT == 'parent' || USU_CATEGORY_DIR == 'short') {
$sql =
"SELECT c.categories_id AS id, c.parent_id, cd.categories_name AS cName, cd2.categories_name as pName
FROM " . TABLE_CATEGORIES . " AS c
LEFT JOIN " . TABLE_CATEGORIES_DESCRIPTION . " AS cd2
ON c.parent_id = cd2.categories_id
AND cd2.language_id = {$this->languages_id}[B], " . TABLE_CATEGORIES_DESCRIPTION . " AS cd[/B]
WHERE c.categories_id = cd.categories_id
AND cd.language_id = {$this->languages_id}";
} else {
$sql =
"SELECT categories_id AS id, categories_name AS cName
FROM " . TABLE_CATEGORIES_DESCRIPTION . "
WHERE language_id = {$this->languages_id}";
}