Page MenuHomec4science

PhabricatorProjectBuiltinsExample.php
No OneTemporary

File Metadata

Created
Fri, Nov 22, 17:08

PhabricatorProjectBuiltinsExample.php

<?php
final class PhabricatorProjectBuiltinsExample extends PhabricatorUIExample {
public function getName() {
return pht('Project Builtin Images');
}
public function getDescription() {
return pht('Builtin Project Images that ship with Phabricator.');
}
public function getCategory() {
return pht('Catalogs');
}
public function renderExample() {
$viewer = $this->getRequest()->getUser();
$root = dirname(phutil_get_library_root('phabricator'));
$root = $root.'/resources/builtin/projects/v3/';
Javelin::initBehavior('phabricator-tooltips', array());
$map = array();
$builtin_map = id(new FileFinder($root))
->withType('f')
->withFollowSymlinks(true)
->find();
$images = array();
foreach ($builtin_map as $image) {
$file = PhabricatorFile::loadBuiltin($viewer, 'projects/v3/'.$image);
$images[$file->getPHID()] = array(
'uri' => $file->getBestURI(),
'tip' => 'v3/'.$image,
);
}
$buttons = array();
foreach ($images as $phid => $spec) {
$button = javelin_tag(
'img',
array(
'height' => 100,
'width' => 100,
'src' => $spec['uri'],
'style' => 'float: left; padding: 4px;',
'sigil' => 'has-tooltip',
'meta' => array(
'tip' => $spec['tip'],
'size' => 300,
),
));
$buttons[] = $button;
}
$wrap1 = id(new PHUIObjectBoxView())
->setHeaderText(pht('Images'))
->appendChild($buttons)
->addClass('grouped');
return phutil_tag(
'div',
array(),
array(
$wrap1,
));
}
}

Event Timeline