Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.12.0
-
Fix Version/s: 4.12.3
-
Component/s: Staff Interface
-
Labels:None
Description
When uninstalling a language under Settings > Company > General > Internationalization a white screen is encountered, and the following error written to the logs:
[2020-11-10 23:52:47] general.ERROR: PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN `messages` ON `message_content`.`message_id`=`messages`.`id` WHERE `m' at line 1 in /home/blestau/public_html/4122/vendors/minphp/db/src/PdoConnection.php:196 Stack trace: #0 /home/blestau/public_html/4122/vendors/minphp/db/src/PdoConnection.php(196): PDOStatement->execute(Array) #1 /home/blestau/public_html/4122/vendors/minphp/record/src/Record.php(315): Minphp\Db\PdoConnection->query('DELETE FROM `m...', Array) #2 /home/blestau/public_html/4122/app/models/languages.php(200): Minphp\Record\Record->delete() #3 /home/blestau/public_html/4122/app/controllers/admin_company_general.php(184): Languages->delete('1', 'es_es') #4 /home/blestau/public_html/4122/vendors/minphp/bridge/src/Lib/Dispatcher.php(142): AdminCompanyGeneral->uninstallLanguage() #5 /home/blestau/public_html/4122/index.php(21): Dispatcher::dispatch('/4122/admin/set...') #6
{main}If installing the language a second time, an error is encountered then as well:
==> ../../../../logs_blesta/general-error-2020-11-10.log <==
[2020-11-10 23:50:35] general.ERROR: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1-es_es' for key 'PRIMARY' in /home/blestau/public_html/4122/vendors/minphp/db/src/PdoConnection.php:196 Stack trace: #0 /home/blestau/public_html/4122/vendors/minphp/db/src/PdoConnection.php(196): PDOStatement->execute(Array) #1 /home/blestau/public_html/4122/vendors/minphp/record/src/Record.php(275): Minphp\Db\PdoConnection->query('INSERT INTO `me...', Array) #2 /home/blestau/public_html/4122/app/models/languages.php(160): Minphp\Record\Record->insert('message_content', Array, Array) #3 /home/blestau/public_html/4122/app/controllers/admin_company_general.php(156): Languages->add('1', 'es_es') #4 /home/blestau/public_html/4122/vendors/minphp/bridge/src/Lib/Dispatcher.php(142): AdminCompanyGeneral->installLanguage() #5 /home/blestau/public_html/4122/index.php(21): Dispatcher::dispatch('/4122/admin/set...') #6 {main}
Additionally, it's reported that after uninstalling a language, creating new packages still show the removed language. I was not able to reproduce that, but wonder if it may be related to this error. See https://www.blesta.com/forums/index.php?/topic/14467-languages-removal-bug/