images === null) { $this->images = array(); $viewer = $this->getEngine()->getConfig('viewer'); $rows = id(new PhabricatorMacroQuery()) ->setViewer($viewer) ->withStatus(PhabricatorMacroQuery::STATUS_ACTIVE) ->execute(); foreach ($rows as $row) { $this->images[$row->getName()] = $row->getFilePHID(); } } $name = (string)$matches[1]; if (array_key_exists($name, $this->images)) { $phid = $this->images[$name]; $file = id(new PhabricatorFile())->loadOneWhere('phid = %s', $phid); if ($this->getEngine()->isTextMode()) { if ($file) { $name .= ' <'.$file->getBestURI().'>'; } return $this->getEngine()->storeText($name); } $style = null; $src_uri = null; if ($file) { $src_uri = $file->getBestURI(); $file_data = $file->getMetadata(); $height = idx($file_data, PhabricatorFile::METADATA_IMAGE_HEIGHT); $width = idx($file_data, PhabricatorFile::METADATA_IMAGE_WIDTH); if ($height && $width) { $style = sprintf( 'height: %dpx; width: %dpx;', $height, $width); } } $img = phutil_tag( 'img', array( 'src' => $src_uri, 'alt' => $matches[1], 'title' => $matches[1], 'style' => $style, )); return $this->getEngine()->storeText($img); } else { return $matches[1]; } } }