- Your private variables have no reason to be private, they should be protected.
- $this->settingprefix could be a class constant.
- In export_config_form(), you should use html_writer::link() instead of using raw HTML.
- In get_export_summary(), you should localise the keys of the array. If I understand correctly they are used to be displayed to the user.
- In send_package(), you're getting the content, and the mimetype from 3 different places, this could be simplified and set in variables at the beginning of the foreach.
- In send_package(), can you explain why the logic is different when the filepath is '/' or not? It is expected that the way portfolio system works?
- It seems that getenml() could be a static method, no reason to have that bound to an instance, and its called methods too.
- In reform_style_attribute(), when you remove the attribute, you remove the lowecased one, shouldn't that be nodeName?