private function getServiceActionElement(KalturaActionReflector $actionReflector) { $outputTypeReflector = $actionReflector->getActionOutputType(); $actionInfo = $actionReflector->getActionInfo(); $actionParams = $actionReflector->getActionParams(); $outputType = null; if ($outputTypeReflector) { $outputType = $outputTypeReflector->getType(); } $actionElement = $this->_doc->createElement("action"); $actionElement->setAttribute("name", $actionReflector->getActionName()); foreach ($actionParams as $actionParam) { /* @var $actionParam KalturaParamInfo */ $actionParamElement = $this->_doc->createElement("param"); $actionParamElement->setAttribute("name", $actionParam->getName()); if ($actionParam->isAssociativeArray()) { $actionParamElement->setAttribute("type", "map"); $actionParamElement->setAttribute("arrayType", $actionParam->getArrayType()); } elseif ($actionParam->isArray()) { $actionParamElement->setAttribute("type", "array"); $actionParamElement->setAttribute("arrayType", $actionParam->getArrayType()); } elseif ($actionParam->isEnum()) { $actionParamElement->setAttribute("type", "int"); $actionParamElement->setAttribute("enumType", $actionParam->getType()); } else { if ($actionParam->isStringEnum()) { $actionParamElement->setAttribute("type", "string"); $actionParamElement->setAttribute("enumType", $actionParam->getType()); } else { $actionParamElement->setAttribute("type", $actionParam->getType()); } } $actionParamElement->setAttribute("optional", $actionParam->isOptional() ? "1" : "0"); if ($actionParam->isOptional()) { $defaultValue = $actionParam->getDefaultValue(); if ($defaultValue === null) { $defaultValue = "null"; } switch ($actionParam->getType()) { case "bool": if ($defaultValue === true) { $actionParamElement->setAttribute("default", "true"); } else { if ($defaultValue === false) { $actionParamElement->setAttribute("default", "false"); } } break; case "bigint": case "int": case "float": case "string": $actionParamElement->setAttribute("default", $defaultValue); break; default: if ($actionParam->isEnum()) { $actionParamElement->setAttribute("default", $defaultValue); } else { $actionParamElement->setAttribute("default", "null"); } } } $description = $actionParam->getDescription(); $description = $this->fixDescription($description); $actionParamElement->setAttribute("description", $description); $actionElement->appendChild($actionParamElement); } $resultElement = $this->_doc->createElement("result"); $arrayType = null; if ($outputTypeReflector) { if ($outputTypeReflector->isAssociativeArray()) { $resultElement->setAttribute("type", "map"); $arrayType = $outputTypeReflector->getArrayType(); $resultElement->setAttribute("arrayType", $arrayType); } else { if ($outputTypeReflector->isArray()) { $resultElement->setAttribute("type", "array"); $arrayType = $outputTypeReflector->getArrayType(); $resultElement->setAttribute("arrayType", $arrayType); } else { $resultElement->setAttribute("type", $outputType); } } } $description = $actionInfo->description; $description = $this->fixDescription($description); $actionElement->setAttribute("description", kString::stripUtf8InvalidChars($description)); $actionElement->setAttribute("enableInMultiRequest", $outputType === 'file' ? "0" : "1"); $actionElement->appendChild($resultElement); return $actionElement; }
echo $actionParam->isOptional() ? '' : 'V'; ?> </td> <td><?php echo $actionParam->isEnum() || $actionParam->isStringEnum() ? $actionParam->getType() . '::' . $actionParam->getConstantName($actionParam->getDefaultValue()) : $actionParam->getDefaultValue(); ?> </td> </tr> <?php } ?> <tr> <td colspan="5" class="title">Output Type</td> </tr> <?php $returnValue = $actionReflector->getActionOutputType(); if ($returnValue) { ?> <tr> <td colspan="5" ><a href="?object=<?php echo $returnValue->getType(); ?> "><?php echo $returnValue->getType(); ?> </a></td> </tr> <?php } else { ?> <tr>