本文整理汇总了PHP中kXml::isXMLValidContent方法的典型用法代码示例。如果您正苦于以下问题:PHP kXml::isXMLValidContent方法的具体用法?PHP kXml::isXMLValidContent怎么用?PHP kXml::isXMLValidContent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类kXml
的用法示例。
在下文中一共展示了kXml::isXMLValidContent方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: watchFolder
public function watchFolder(KalturaDropFolder $folder)
{
$this->dropFolder = $folder;
$this->fileTransferMgr = self::getFileTransferManager($this->dropFolder);
KalturaLog::info('Watching folder [' . $this->dropFolder->id . ']');
$physicalFiles = $this->getDropFolderFilesFromPhysicalFolder();
if (count($physicalFiles) > 0) {
$dropFolderFilesMap = $this->loadDropFolderFiles();
} else {
$dropFolderFilesMap = array();
}
$maxModificationTime = 0;
foreach ($physicalFiles as &$physicalFile) {
/* @var $physicalFile FileObject */
$physicalFileName = $physicalFile->filename;
$utfFileName = kString::stripUtf8InvalidChars($physicalFileName);
if ($physicalFileName != $utfFileName) {
KalturaLog::info("File name [{$physicalFileName}] is not utf-8 compatible, Skipping file...");
continue;
}
if (!kXml::isXMLValidContent($utfFileName)) {
KalturaLog::info("File name [{$physicalFileName}] contains invalid XML characters, Skipping file...");
continue;
}
if ($this->dropFolder->incremental && $physicalFile->modificationTime < $this->dropFolder->lastFileTimestamp) {
KalturaLog::info("File modification time [" . $physicalFile->modificationTime . "] predates drop folder last timestamp [" . $this->dropFolder->lastFileTimestamp . "]. Skipping.");
if (isset($dropFolderFilesMap[$physicalFileName])) {
unset($dropFolderFilesMap[$physicalFileName]);
}
continue;
}
if ($this->validatePhysicalFile($physicalFileName)) {
$maxModificationTime = $physicalFile->modificationTime > $maxModificationTime ? $physicalFile->modificationTime : $maxModificationTime;
KalturaLog::info('Watch file [' . $physicalFileName . ']');
if (!array_key_exists($physicalFileName, $dropFolderFilesMap)) {
try {
$lastModificationTime = $physicalFile->modificationTime;
$fileSize = $physicalFile->fileSize;
$this->handleFileAdded($physicalFileName, $fileSize, $lastModificationTime);
} catch (Exception $e) {
KalturaLog::err("Error handling drop folder file [{$physicalFileName}] " . $e->getMessage());
}
} else {
$dropFolderFile = $dropFolderFilesMap[$physicalFileName];
//if file exist in the folder remove it from the map
//all the files that are left in a map will be marked as PURGED
unset($dropFolderFilesMap[$physicalFileName]);
$this->handleExistingDropFolderFile($dropFolderFile);
}
}
}
foreach ($dropFolderFilesMap as $dropFolderFile) {
$this->handleFilePurged($dropFolderFile->id);
}
if ($this->dropFolder->incremental && $maxModificationTime > $this->dropFolder->lastFileTimestamp) {
$updateDropFolder = new KalturaDropFolder();
$updateDropFolder->lastFileTimestamp = $maxModificationTime;
$this->dropFolderPlugin->dropFolder->update($this->dropFolder->id, $updateDropFolder);
}
}
示例2: toObject
public function toObject($object_to_fill = null, $props_to_skip = array())
{
$this->validateForUsage($object_to_fill, $props_to_skip);
// will check that not useable properties are not set
$class = get_class($this);
// enables extension with default empty object
if (is_null($object_to_fill)) {
KalturaLog::err("No object supplied for type [{$class}]");
return null;
}
$typeReflector = KalturaTypeReflectorCacher::get($class);
foreach ($this->getMapBetweenObjects() as $this_prop => $object_prop) {
if (is_numeric($this_prop)) {
$this_prop = $object_prop;
}
$value = $this->{$this_prop};
if (is_null($value)) {
continue;
}
if ($props_to_skip && is_array($props_to_skip) && in_array($this_prop, $props_to_skip)) {
continue;
}
$propertyInfo = $typeReflector->getProperty($this_prop);
if (!$propertyInfo) {
KalturaLog::alert("property [{$this_prop}] was not found on object class [{$class}]");
continue;
}
if ($value instanceof KalturaNullField) {
$value = null;
} elseif ($value instanceof KalturaTypedArray) {
$value = $value->toObjectsArray();
} elseif ($propertyInfo->isComplexType() && $value instanceof KalturaObject) {
$value = $value->toObject();
} elseif ($propertyInfo->isDynamicEnum()) {
$propertyType = $propertyInfo->getType();
$enumType = call_user_func(array($propertyType, 'getEnumClass'));
$value = kPluginableEnumsManager::apiToCore($enumType, $value);
} elseif ($propertyInfo->getDynamicType() && strlen($value)) {
$propertyType = $propertyInfo->getDynamicType();
$enumType = call_user_func(array($propertyType, 'getEnumClass'));
$values = explode(',', $value);
$finalValues = array();
foreach ($values as $val) {
$finalValues[] = kPluginableEnumsManager::apiToCore($enumType, $val);
}
$value = implode(',', $finalValues);
} elseif (is_string($value) && !kXml::isXMLValidContent($value)) {
throw new KalturaAPIException(KalturaErrors::INVALID_PARAMETER_CHAR, $this_prop);
}
$setter_callback = array($object_to_fill, "set{$object_prop}");
if (is_callable($setter_callback)) {
call_user_func_array($setter_callback, array($value));
} else {
KalturaLog::alert("setter for property [{$object_prop}] was not found on object class [" . get_class($object_to_fill) . "] defined as property [{$this_prop}] on api class [{$class}]");
}
}
return $object_to_fill;
}
示例3: getTargetUserId
public function getTargetUserId()
{
$value = $this->castSimpleType("string", $this->paramsGrouped["targetUserId"]);
if (!kXml::isXMLValidContent($value)) {
throw new KalturaAPIException(KalturaErrors::INVALID_PARAMETER_CHAR, 'targetUserId');
}
return $value;
}
开发者ID:EfncoPlugins,项目名称:Media-Management-based-on-Kaltura,代码行数:8,代码来源:KalturaRequestDeserializer.php
示例4: buildObject
private function buildObject(KalturaTypeReflector $typeReflector, array &$params, $objectName)
{
// if objectType was specified, we will use it only if the anotation type is it's base type
if (array_key_exists("objectType", $params)) {
$possibleType = $params["objectType"];
if (strtolower($possibleType) !== strtolower($typeReflector->getType())) {
if ($typeReflector->isParentOf($possibleType)) {
$newTypeReflector = KalturaTypeReflectorCacher::get($possibleType);
if ($newTypeReflector) {
$typeReflector = $newTypeReflector;
}
}
}
}
if ($typeReflector->isAbstract()) {
throw new KalturaAPIException(KalturaErrors::OBJECT_TYPE_ABSTRACT, $typeReflector->getType());
}
$class = $typeReflector->getType();
$obj = new $class();
$properties = $typeReflector->getProperties();
foreach ($params as $name => $value) {
$isNull = false;
if (kString::endsWith($name, '__null')) {
$name = str_replace('__null', '', $name);
$isNull = true;
}
if (!array_key_exists($name, $properties)) {
continue;
}
$property = $properties[$name];
/* @var $property KalturaPropertyInfo */
$type = $property->getType();
if ($isNull && !$property->isArray()) {
$obj->{$name} = new KalturaNullField();
continue;
}
if ($property->isSimpleType()) {
if ($property->isTime()) {
$type = "time";
}
$value = $this->castSimpleType($type, $value);
if (!kXml::isXMLValidContent($value)) {
throw new KalturaAPIException(KalturaErrors::INVALID_PARAMETER_CHAR, $name);
}
$this->validateParameter($name, $value, $property);
$obj->{$name} = $value;
continue;
}
if ($property->isEnum()) {
if (strtolower($value) == 'true') {
$value = 1;
}
if (strtolower($value) == 'false') {
$value = 0;
}
if (!$property->getTypeReflector()->checkEnumValue($value)) {
throw new KalturaAPIException(KalturaErrors::INVALID_ENUM_VALUE, $value, $name, $property->getType());
}
if ($type == 'KalturaNullableBoolean') {
$obj->{$name} = KalturaNullableBoolean::toBoolean($value);
continue;
}
$obj->{$name} = $this->castSimpleType("int", $value);
continue;
}
if ($property->isStringEnum()) {
if (!$property->getTypeReflector()->checkStringEnumValue($value)) {
throw new KalturaAPIException(KalturaErrors::INVALID_ENUM_VALUE, $value, $name, $property->getType());
}
$value = $this->castSimpleType("string", $value);
if (!kXml::isXMLValidContent($value)) {
throw new KalturaAPIException(KalturaErrors::INVALID_PARAMETER_CHAR, $name);
}
$obj->{$name} = $value;
continue;
}
if ($property->isArray() && is_array($value)) {
$arrayObj = new $type();
if ($property->isAssociativeArray()) {
foreach ($value as $arrayItemKey => $arrayItemParams) {
if ($arrayItemKey === '-') {
break;
}
$arrayObj[$arrayItemKey] = $this->buildObject($property->getArrayTypeReflector(), $arrayItemParams, "{$objectName}:{$name}");
}
} else {
ksort($value);
foreach ($value as $arrayItemKey => $arrayItemParams) {
if ($arrayItemKey === '-') {
break;
}
$arrayObj[] = $this->buildObject($property->getArrayTypeReflector(), $arrayItemParams, "{$objectName}:{$name}");
}
}
$obj->{$name} = $arrayObj;
continue;
}
if ($property->isComplexType() && is_array($value)) {
$obj->{$name} = $this->buildObject($property->getTypeReflector(), $value, "{$objectName}:{$name}");
continue;
//.........这里部分代码省略.........