本文整理汇总了PHP中PhabricatorFile::instantiateStorageEngine方法的典型用法代码示例。如果您正苦于以下问题:PHP PhabricatorFile::instantiateStorageEngine方法的具体用法?PHP PhabricatorFile::instantiateStorageEngine怎么用?PHP PhabricatorFile::instantiateStorageEngine使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhabricatorFile
的用法示例。
在下文中一共展示了PhabricatorFile::instantiateStorageEngine方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: newChunkQuery
private function newChunkQuery(PhabricatorUser $viewer, PhabricatorFile $file)
{
$engine = $file->instantiateStorageEngine();
if (!$engine->isChunkEngine()) {
throw new Exception(pht('File "%s" does not have chunks!', $file->getPHID()));
}
return id(new PhabricatorFileChunkQuery())->setViewer($viewer)->withChunkHandles(array($file->getStorageHandle()));
}
示例2: loadStorageEngine
private function loadStorageEngine(PhabricatorFile $file)
{
$engine = null;
try {
$engine = $file->instantiateStorageEngine();
} catch (Exception $ex) {
// Don't bother raising this anywhere for now.
}
return $engine;
}
示例3: buildPropertyViews
private function buildPropertyViews(PHUIObjectBoxView $box, PhabricatorFile $file)
{
$request = $this->getRequest();
$viewer = $request->getUser();
$tab_group = id(new PHUITabGroupView());
$box->addTabGroup($tab_group);
$properties = id(new PHUIPropertyListView());
$tab_group->addTab(id(new PHUITabView())->setName(pht('Details'))->setKey('details')->appendChild($properties));
if ($file->getAuthorPHID()) {
$properties->addProperty(pht('Author'), $viewer->renderHandle($file->getAuthorPHID()));
}
$properties->addProperty(pht('Created'), phabricator_datetime($file->getDateCreated(), $viewer));
$finfo = id(new PHUIPropertyListView());
$tab_group->addTab(id(new PHUITabView())->setName(pht('File Info'))->setKey('info')->appendChild($finfo));
$finfo->addProperty(pht('Size'), phutil_format_bytes($file->getByteSize()));
$finfo->addProperty(pht('Mime Type'), $file->getMimeType());
$width = $file->getImageWidth();
if ($width) {
$finfo->addProperty(pht('Width'), pht('%s px', new PhutilNumber($width)));
}
$height = $file->getImageHeight();
if ($height) {
$finfo->addProperty(pht('Height'), pht('%s px', new PhutilNumber($height)));
}
$is_image = $file->isViewableImage();
if ($is_image) {
$image_string = pht('Yes');
$cache_string = $file->getCanCDN() ? pht('Yes') : pht('No');
} else {
$image_string = pht('No');
$cache_string = pht('Not Applicable');
}
$types = array();
if ($file->isViewableImage()) {
$types[] = pht('Image');
}
if ($file->isVideo()) {
$types[] = pht('Video');
}
if ($file->isAudio()) {
$types[] = pht('Audio');
}
if ($file->getCanCDN()) {
$types[] = pht('Can CDN');
}
$builtin = $file->getBuiltinName();
if ($builtin !== null) {
$types[] = pht('Builtin ("%s")', $builtin);
}
if ($file->getIsProfileImage()) {
$types[] = pht('Profile');
}
if ($types) {
$types = implode(', ', $types);
$finfo->addProperty(pht('Attributes'), $types);
}
$storage_properties = new PHUIPropertyListView();
$tab_group->addTab(id(new PHUITabView())->setName(pht('Storage'))->setKey('storage')->appendChild($storage_properties));
$storage_properties->addProperty(pht('Engine'), $file->getStorageEngine());
$format_key = $file->getStorageFormat();
$format = PhabricatorFileStorageFormat::getFormat($format_key);
if ($format) {
$format_name = $format->getStorageFormatName();
} else {
$format_name = pht('Unknown ("%s")', $format_key);
}
$storage_properties->addProperty(pht('Format'), $format_name);
$storage_properties->addProperty(pht('Handle'), $file->getStorageHandle());
$phids = $file->getObjectPHIDs();
if ($phids) {
$attached = new PHUIPropertyListView();
$tab_group->addTab(id(new PHUITabView())->setName(pht('Attached'))->setKey('attached')->appendChild($attached));
$attached->addProperty(pht('Attached To'), $viewer->renderHandleList($phids));
}
if ($file->isViewableImage()) {
$image = phutil_tag('img', array('src' => $file->getViewURI(), 'class' => 'phui-property-list-image'));
$linked_image = phutil_tag('a', array('href' => $file->getViewURI()), $image);
$media = id(new PHUIPropertyListView())->addImageContent($linked_image);
$box->addPropertyList($media);
} else {
if ($file->isVideo()) {
$video = phutil_tag('video', array('controls' => 'controls', 'class' => 'phui-property-list-video'), phutil_tag('source', array('src' => $file->getViewURI(), 'type' => $file->getMimeType())));
$media = id(new PHUIPropertyListView())->addImageContent($video);
$box->addPropertyList($media);
} else {
if ($file->isAudio()) {
$audio = phutil_tag('audio', array('controls' => 'controls', 'class' => 'phui-property-list-audio'), phutil_tag('source', array('src' => $file->getViewURI(), 'type' => $file->getMimeType())));
$media = id(new PHUIPropertyListView())->addImageContent($audio);
$box->addPropertyList($media);
}
}
}
$engine = null;
try {
$engine = $file->instantiateStorageEngine();
} catch (Exception $ex) {
// Don't bother raising this anywhere for now.
}
if ($engine) {
if ($engine->isChunkEngine()) {
//.........这里部分代码省略.........