Unfortunately , 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
Code:
[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
Code:
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, " . TABLE_CATEGORIES_DESCRIPTION . " AS cd
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
Code:
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}, " . TABLE_CATEGORIES_DESCRIPTION . " AS cd
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}";
}
Bookmarks