* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ if (!defined('_PS_VERSION_')) { exit; } /** * @param PsxDesign $module * * @return bool */ function upgrade_module_1_3_2(PsxDesign $module): bool { deleteUnusedColors_1_3_2(); deletePalettesWithoutColors_1_3_2(); return true; } /** * Delete colors which does not have any value * * @return void */ function deleteUnusedColors_1_3_2(): void { Db::getInstance()->delete('psxdesign_color', 'value IS NULL OR value = ""'); } /** * Delete color palettes which does not have any colors * * @return void */ function deletePalettesWithoutColors_1_3_2(): void { $db = Db::getInstance(); // Get the IDs of the palettes without associated colors $query = 'SELECT p.id FROM `' . _DB_PREFIX_ . 'psxdesign_colors_palette` p LEFT JOIN `' . _DB_PREFIX_ . 'psxdesign_color` c ON c.id_palette = p.id WHERE c.id_palette IS NULL'; $palettesWithoutColors = $db->executeS($query); // Delete the palettes foreach ($palettesWithoutColors as $palette) { $db->delete('psxdesign_colors_palette', 'id = ' . (int) $palette['id']); } }