With Firefox 56.0.1 on Windows, I have a strange behaviour that for one Windows profile I get: Europe/Berlin, which is what I expect. On another Windows profile on the same machine, with the same Firefox, I get Etc/GMT-1.
This breaks things in libkolabxml, because it only expects valid Olson timezones.
I see in the code that you ignore all timezones that don't have a slash, eg CET. Would it be an option to also ignore timezones starting with Etc? PHP already discourages their usage: http://php.net/manual/en/timezones.others.php