本文整理汇总了PHP中TYPO3\CMS\Core\Resource\ResourceStorage::getDriverType方法的典型用法代码示例。如果您正苦于以下问题:PHP ResourceStorage::getDriverType方法的具体用法?PHP ResourceStorage::getDriverType怎么用?PHP ResourceStorage::getDriverType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\CMS\Core\Resource\ResourceStorage
的用法示例。
在下文中一共展示了ResourceStorage::getDriverType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: extractMetadata
/**
* @param \TYPO3\CMS\Core\Resource\File $file
* @return $this
*/
public function extractMetadata(File $file)
{
$extractionServices = $this->getExtractorRegistry()->getExtractorsWithDriverSupport($this->storage->getDriverType());
$newMetaData = array(0 => $file->_getMetaData());
foreach ($extractionServices as $service) {
if ($service->canProcess($file)) {
$newMetaData[$service->getPriority()] = $service->extractMetaData($file, $newMetaData);
}
}
ksort($newMetaData);
$metaData = array();
foreach ($newMetaData as $data) {
$metaData = array_merge($metaData, $data);
}
$file->_updateMetaDataProperties($metaData);
$this->getMetaDataRepository()->update($file->getUid(), $metaData);
$this->getFileIndexRepository()->updateIndexingTime($file->getUid());
return $this;
}
示例2: extractRequiredMetaData
/**
* Since the core desperately needs image sizes in metadata table put them there
* This should be called after every "content" update and "record" creation
*
* @param File $fileObject
*/
protected function extractRequiredMetaData(File $fileObject)
{
// since the core desperately needs image sizes in metadata table do this manually
// prevent doing this for remote storages, remote storages must provide the data with extractors
if ($fileObject->getType() == File::FILETYPE_IMAGE && $this->storage->getDriverType() === 'Local') {
$rawFileLocation = $fileObject->getForLocalProcessing(FALSE);
$imageInfo = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Type\\File\\ImageInfo', $rawFileLocation);
$metaData = array('width' => $imageInfo->getWidth(), 'height' => $imageInfo->getHeight());
$this->getMetaDataRepository()->update($fileObject->getUid(), $metaData);
$fileObject->_updateMetaDataProperties($metaData);
}
}
示例3: extractRequiredMetaData
/**
* Since the core desperately needs image sizes in metadata table put them there
* This should be called after every "content" update and "record" creation
*
* @param File $fileObject
*/
protected function extractRequiredMetaData(File $fileObject)
{
// since the core desperately needs image sizes in metadata table do this manually
// prevent doing this for remote storages, remote storages must provide the data with extractors
if ($fileObject->getType() == File::FILETYPE_IMAGE && $this->storage->getDriverType() === 'Local') {
$rawFileLocation = $fileObject->getForLocalProcessing(FALSE);
$metaData = array();
list($metaData['width'], $metaData['height']) = getimagesize($rawFileLocation);
$this->getMetaDataRepository()->update($fileObject->getUid(), $metaData);
$fileObject->_updateMetaDataProperties($metaData);
}
}
示例4: isEquivalentObjectStorage
/**
* Determines whether the passed storage object and record (sys_file_storage) can be
* seen as equivalent during import.
*
* @param ResourceStorage $storageObject The storage object which should get compared
* @param array $storageRecord The storage record which should get compared
* @return bool Returns TRUE when both object storages can be seen as equivalent
*/
protected function isEquivalentObjectStorage(ResourceStorage $storageObject, array $storageRecord)
{
// compare the properties: driver, writable and online
if ($storageObject->getDriverType() === $storageRecord['driver'] && (bool) $storageObject->isWritable() === (bool) $storageRecord['is_writable'] && (bool) $storageObject->isOnline() === (bool) $storageRecord['is_online']) {
$storageRecordConfiguration = ResourceFactory::getInstance()->convertFlexFormDataToConfigurationArray($storageRecord['configuration']);
$storageObjectConfiguration = $storageObject->getConfiguration();
// compare the properties: pathType and basePath
if ($storageRecordConfiguration['pathType'] === $storageObjectConfiguration['pathType'] && $storageRecordConfiguration['basePath'] === $storageObjectConfiguration['basePath']) {
return true;
}
}
return false;
}