protected function getTopicAsStruct(Topic $topic) { $forum = $topic->getForum(); $author = $topic->getAuthor(); $closed = $topic->isLocked(); $new = $this->topicManager->checkFlag($topic, "new"); return new \Zend\XmlRpc\Value\Struct(array('forum_id' => new \Zend\XmlRpc\Value\String($forum->getId()), 'forum_name' => new \Zend\XmlRpc\Value\Base64($forum->getName()), 'topic_id' => new \Zend\XmlRpc\Value\String($topic->getId()), 'topic_title' => new \Zend\XmlRpc\Value\Base64($topic->getName()), 'prefix' => new \Zend\XmlRpc\Value\Base64(""), 'post_author_id' => new \Zend\XmlRpc\Value\String($author->getId()), 'post_author_name' => new \Zend\XmlRpc\Value\Base64($author->getUsername()), 'is_subscribed' => new \Zend\XmlRpc\Value\Boolean(false), 'can_subscribe' => new \Zend\XmlRpc\Value\Boolean(false), 'is_closed' => new \Zend\XmlRpc\Value\Boolean($closed), 'icon_url' => new \Zend\XmlRpc\Value\String($this->userManager->getAbsoluteAvatarUrl($author)), 'post_time' => new \Zend\XmlRpc\Value\DateTime($topic->getCreated()), 'reply_number' => new \Zend\XmlRpc\Value\Integer($topic->getPostCount()), 'new_post' => new \Zend\XmlRpc\Value\Boolean($new), 'view_number' => new \Zend\XmlRpc\Value\Integer(0), 'short_content' => new \Zend\XmlRpc\Value\Base64(""))); }