本文整理汇总了PHP中PhabricatorMarkupEngine::newPhameMarkupEngine方法的典型用法代码示例。如果您正苦于以下问题:PHP PhabricatorMarkupEngine::newPhameMarkupEngine方法的具体用法?PHP PhabricatorMarkupEngine::newPhameMarkupEngine怎么用?PHP PhabricatorMarkupEngine::newPhameMarkupEngine使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PhabricatorMarkupEngine
的用法示例。
在下文中一共展示了PhabricatorMarkupEngine::newPhameMarkupEngine方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: render
public function render()
{
require_celerity_resource('phabricator-remarkup-css');
$user = $this->getUser();
$blogger = $this->getBlogger();
$post = $this->getPost();
$engine = PhabricatorMarkupEngine::newPhameMarkupEngine();
$body = $engine->markupText($post->getBody());
if ($post->isDraft()) {
$uri = '/phame/draft/';
$label = 'Back to Your Drafts';
} else {
$uri = '/phame/posts/' . $blogger->getUsername() . '/';
$label = 'More Posts by ' . phutil_escape_html($blogger->getUsername());
}
$button = phutil_render_tag('a', array('href' => $uri, 'class' => 'grey button'), $label);
$publish_date = $post->getDatePublished();
if ($publish_date) {
$caption = 'Published ' . phabricator_datetime($publish_date, $user);
} else {
$caption = 'Last edited ' . phabricator_datetime($post->getDateModified(), $user);
}
$caption .= ' by ' . phutil_render_tag('a', array('href' => new PhutilURI('/p/' . $blogger->getUsername() . '/')), phutil_escape_html($blogger->getUsername())) . '.';
if ($this->isPreview()) {
$width = AphrontPanelView::WIDTH_FULL;
} else {
$width = AphrontPanelView::WIDTH_WIDE;
}
$panel = id(new AphrontPanelView())->setHeader(phutil_escape_html($post->getTitle()))->appendChild('<div class="phabricator-remarkup">' . $body . '</div>')->setWidth($width)->addButton($button)->setCaption($caption);
if ($user->getPHID() == $post->getBloggerPHID()) {
if ($post->isDraft()) {
$label = 'Edit Draft';
} else {
$label = 'Edit Post';
}
$button = phutil_render_tag('a', array('href' => $post->getEditURI(), 'class' => 'grey button'), $label);
$panel->addButton($button);
}
switch ($post->getCommentsWidget()) {
case 'facebook':
$comments = $this->renderFacebookComments();
break;
case 'disqus':
$comments = $this->renderDisqusComments();
break;
case 'none':
default:
$comments = null;
break;
}
$panel->appendChild($comments);
return $panel->render();
}
示例2: newMarkupEngine
public function newMarkupEngine($field)
{
return PhabricatorMarkupEngine::newPhameMarkupEngine();
}
示例3: render
public function render()
{
$user = $this->getUser();
$posts = $this->getPosts();
$bloggers = $this->getBloggers();
$noun = $this->getPostNoun();
if (empty($posts)) {
$panel = id(new AphrontPanelView())->setHeader(sprintf('No %ss... Yet!', $noun))->setCaption('Will you answer the call to phame?')->setCreateButton(sprintf('New %s', $noun), sprintf('/phame/%s/new', strtolower($noun)));
return $panel->render();
}
require_celerity_resource('phabricator-remarkup-css');
$engine = PhabricatorMarkupEngine::newPhameMarkupEngine();
$html = array();
$actions = $this->getActions();
foreach ($posts as $post) {
$blogger_phid = $post->getBloggerPHID();
$blogger = $bloggers[$blogger_phid];
$updated = phabricator_datetime($post->getDateModified(), $user);
$body = $engine->markupText($post->getBody());
$panel = id(new AphrontPanelView())->setHeader(phutil_escape_html($post->getTitle()))->setCaption('Last updated ' . $updated)->appendChild('<div class="phabricator-remarkup">' . $body . '</div>');
foreach ($actions as $action) {
switch ($action) {
case 'view':
$uri = $post->getViewURI($blogger->getUsername());
$label = 'View ' . $noun;
break;
case 'edit':
$uri = $post->getEditURI();
$label = 'Edit ' . $noun;
break;
default:
break;
}
$button = phutil_render_tag('a', array('href' => $uri, 'class' => 'grey button'), $label);
$panel->addButton($button);
}
$html[] = $panel->render();
}
return implode('', $html);
}