public static function findWebserviceClass($object, $type)
{
$mappingClasses = ["Asset\\File", "Asset\\Folder", "Document\\Folder", "Document\\Page", "Document\\Snippet", "Document\\Link", "Document\\Hardlink", "Document\\Email", "Object\\Folder", "Object\\Concrete"];
$retVal = null;
if ($object instanceof Model\Property) {
$retVal = "\\Pimcore\\Model\\Webservice\\Data\\Property";
} elseif ($object instanceof Model\Document\Tag) {
$retVal = "\\Pimcore\\Model\\Webservice\\Data\\Document\\Element";
} elseif (is_object($object)) {
$orgclass = str_replace("Pimcore\\Model\\", "", get_class($object));
if (in_array($orgclass, $mappingClasses)) {
$apiclass = "\\Pimcore\\Model\\Webservice\\Data\\" . $orgclass . "\\" . ucfirst($type);
if (!Tool::classExists($apiclass)) {
$apiclass = "\\Pimcore\\Model\\Webservice\\Data\\" . $orgclass;
if (!Tool::classExists($apiclass)) {
throw new \Exception("Webservice\\Data\\Mapper: no API class found for [ " . $orgclass . " ]");
}
}
} else {
$apiclass = $orgclass;
}
$retVal = $apiclass;
} else {
$retVal = "Array";
}
return $retVal;
}