public function createArrayOfObject(Category $object) { $data = array(); $data["id"] = $object->getId(); $data["name"] = $object->getName(); $data["image"] = $object->getImage(); $data["targetForum"] = $object->getTargetForum()->getId(); $data["sources"] = array(); foreach ($object->getSources() as $source) { $sourceData = array('id' => $source->getId(), 'name' => $source->getName()); if ($source instanceof Category\Source\Email) { $sourceData["server"] = $source->getServer(); $sourceData["username"] = $source->getUsername(); $sourceData["password"] = $source->getPassword(); $sourceData["port"] = $source->getPort(); $sourceData["ssl"] = $source->isSsl(); $sourceData["type"] = "email"; } else { if ($source instanceof Category\Source\Feed) { $sourceData["url"] = $source->getUrl(); $sourceData["type"] = "feed"; } } $data["sources"][] = $sourceData; } return $data; }