, * * Description: * Cleanup Dashboard DB data */ if (! defined('DB_NAME')) exit('No direct script access allowed'); // Cleanup presets if ($result = @$db->db_query(" SELECT 1 FROM dashboard.tbl_dashboard_preset WHERE preset ? COALESCE(funktion_kurzbz, 'general') OR preset ? 'custom' LIMIT 1 ")) { if ($db->db_num_rows($result)) { $qry = " UPDATE dashboard.tbl_dashboard_preset SET preset = COALESCE(preset->COALESCE(funktion_kurzbz, 'general'), preset->'custom')->'widgets' WHERE preset ? COALESCE(funktion_kurzbz, 'general') OR preset ? 'custom' "; $result = $db->db_query($qry); if (!$result) { echo 'dashboard.tbl_dashboard_preset '.$db->db_last_error().'
'; } else { $affected_rows = $db->db_affected_rows($result); echo 'dashboard.tbl_dashboard_preset: ' . $affected_rows . ' rows migrated
'; } } } // Cleanup user overrides if ($result = @$db->db_query(" SELECT 1 FROM dashboard.tbl_dashboard_benutzer_override WHERE EXISTS ( SELECT 1 FROM jsonb_each(override) WHERE value ? 'widgets' LIMIT 1 ) AND override <> '[]'::jsonb LIMIT 1 ")) { if ($db->db_num_rows($result)) { $qry = " UPDATE dashboard.tbl_dashboard_benutzer_override SET override = COALESCE(( SELECT json_object_agg(key, value) FROM ( SELECT value->'widgets' AS widgets FROM jsonb_each(override) WHERE jsonb_typeof(value->'widgets') = 'object' ) x, jsonb_each(widgets) ), '[]') WHERE EXISTS ( SELECT 1 FROM jsonb_each(override) WHERE value ? 'widgets' LIMIT 1 ) AND override <> '[]'::jsonb "; $result = $db->db_query($qry); if (!$result) { echo 'dashboard.tbl_dashboard_benutzer_override '.$db->db_last_error().'
'; } else { $affected_rows = $db->db_affected_rows($result); echo 'dashboard.tbl_dashboard_benutzer_override: ' . $affected_rows . ' rows migrated
'; } } }