/** * Generate a Horde_Push element based on the provided data. * * @param array $data The data to be pushed. * * @return Horde_Push The element to be pushed. */ private function _createFromData($data) { if (!isset($data['summary'])) { throw new Horde_Push_Exception('Data is lacking a summary element!'); } $push = new Horde_Push(); $push->setSummary($data['summary']); if (isset($data['body'])) { if (htmlspecialchars($data['body']) != $data['body']) { $push->addContent($data['body'], 'text/html'); } else { $push->addContent($data['body']); } } if (isset($data['tags'])) { foreach ($data['tags'] as $tag) { $push->addTag($tag); } } if (isset($data['references'])) { foreach ($data['references'] as $reference) { $push->addReference($reference); } } return $push; }