diff --git a/plugins/FeedsSimplePieParser.inc b/plugins/FeedsSimplePieParser.inc index fa37a57..cfea397 100644 --- a/plugins/FeedsSimplePieParser.inc +++ b/plugins/FeedsSimplePieParser.inc @@ -6,6 +6,7 @@ */ class FeedsSimplePieEnclosure extends FeedsEnclosure { protected $simplepie_enclosure; + private $_serialized_simplepie_enclosure; /** * Constructor requires SimplePie enclosure object. @@ -15,6 +16,26 @@ class FeedsSimplePieEnclosure extends FeedsEnclosure { } /** + * Serialization helper. + * + * Handle the simplepie enclosure class seperately ourselves. + */ + public function __sleep() { + $this->_serialized_simplepie_enclosure = serialize($this->simplepie_enclosure); + return array('_serialized_simplepie_enclosure'); + } + + /** + * Unserialization helper. + * + * Ensure that the simplepie class definitions are loaded for the enclosure when unserializing. + */ + public function __wakeup() { + feeds_include_library('simplepie.inc', 'simplepie'); + $this->simplepie_enclosure = unserialize($this->_serialized_simplepie_enclosure); + } + + /** * Override parent::getValue(). */ public function getValue() {