1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-26 15:30:58 +01:00

Modernize Phame

Summary: Updates Phame for new modern methods.

Test Plan: New blog, edit blog, new post, edit post, publish post.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin

Differential Revision: https://secure.phabricator.com/D14419
This commit is contained in:
Chad Little 2015-11-05 14:53:24 -08:00
parent e4806631a5
commit 5024560de1
22 changed files with 153 additions and 161 deletions

View file

@ -3245,6 +3245,7 @@ phutil_register_library_map(array(
'PhameBasicBlogSkin' => 'applications/phame/skins/PhameBasicBlogSkin.php',
'PhameBasicTemplateBlogSkin' => 'applications/phame/skins/PhameBasicTemplateBlogSkin.php',
'PhameBlog' => 'applications/phame/storage/PhameBlog.php',
'PhameBlogController' => 'applications/phame/controller/blog/PhameBlogController.php',
'PhameBlogDeleteController' => 'applications/phame/controller/blog/PhameBlogDeleteController.php',
'PhameBlogEditController' => 'applications/phame/controller/blog/PhameBlogEditController.php',
'PhameBlogEditor' => 'applications/phame/editor/PhameBlogEditor.php',
@ -3263,6 +3264,7 @@ phutil_register_library_map(array(
'PhameCreatePostConduitAPIMethod' => 'applications/phame/conduit/PhameCreatePostConduitAPIMethod.php',
'PhameDAO' => 'applications/phame/storage/PhameDAO.php',
'PhamePost' => 'applications/phame/storage/PhamePost.php',
'PhamePostController' => 'applications/phame/controller/post/PhamePostController.php',
'PhamePostDeleteController' => 'applications/phame/controller/post/PhamePostDeleteController.php',
'PhamePostEditController' => 'applications/phame/controller/post/PhamePostEditController.php',
'PhamePostEditor' => 'applications/phame/editor/PhamePostEditor.php',
@ -7503,18 +7505,19 @@ phutil_register_library_map(array(
'PhabricatorProjectInterface',
'PhabricatorApplicationTransactionInterface',
),
'PhameBlogDeleteController' => 'PhameController',
'PhameBlogEditController' => 'PhameController',
'PhameBlogController' => 'PhameController',
'PhameBlogDeleteController' => 'PhameBlogController',
'PhameBlogEditController' => 'PhameBlogController',
'PhameBlogEditor' => 'PhabricatorApplicationTransactionEditor',
'PhameBlogFeedController' => 'PhameController',
'PhameBlogListController' => 'PhameController',
'PhameBlogLiveController' => 'PhameController',
'PhameBlogFeedController' => 'PhameBlogController',
'PhameBlogListController' => 'PhameBlogController',
'PhameBlogLiveController' => 'PhameBlogController',
'PhameBlogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhameBlogSearchEngine' => 'PhabricatorApplicationSearchEngine',
'PhameBlogSite' => 'PhameSite',
'PhameBlogSkin' => 'PhabricatorController',
'PhameBlogTransaction' => 'PhabricatorApplicationTransaction',
'PhameBlogViewController' => 'PhameController',
'PhameBlogViewController' => 'PhameBlogController',
'PhameCelerityResources' => 'CelerityResources',
'PhameConduitAPIMethod' => 'ConduitAPIMethod',
'PhameController' => 'PhabricatorController',
@ -7530,22 +7533,23 @@ phutil_register_library_map(array(
'PhabricatorSubscribableInterface',
'PhabricatorTokenReceiverInterface',
),
'PhamePostDeleteController' => 'PhameController',
'PhamePostEditController' => 'PhameController',
'PhamePostController' => 'PhameController',
'PhamePostDeleteController' => 'PhamePostController',
'PhamePostEditController' => 'PhamePostController',
'PhamePostEditor' => 'PhabricatorApplicationTransactionEditor',
'PhamePostFramedController' => 'PhameController',
'PhamePostListController' => 'PhameController',
'PhamePostNewController' => 'PhameController',
'PhamePostNotLiveController' => 'PhameController',
'PhamePostPreviewController' => 'PhameController',
'PhamePostPublishController' => 'PhameController',
'PhamePostFramedController' => 'PhamePostController',
'PhamePostListController' => 'PhamePostController',
'PhamePostNewController' => 'PhamePostController',
'PhamePostNotLiveController' => 'PhamePostController',
'PhamePostPreviewController' => 'PhamePostController',
'PhamePostPublishController' => 'PhamePostController',
'PhamePostQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhamePostSearchEngine' => 'PhabricatorApplicationSearchEngine',
'PhamePostTransaction' => 'PhabricatorApplicationTransaction',
'PhamePostTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
'PhamePostUnpublishController' => 'PhameController',
'PhamePostUnpublishController' => 'PhamePostController',
'PhamePostView' => 'AphrontView',
'PhamePostViewController' => 'PhameController',
'PhamePostViewController' => 'PhamePostController',
'PhameQueryConduitAPIMethod' => 'PhameConduitAPIMethod',
'PhameQueryPostsConduitAPIMethod' => 'PhameConduitAPIMethod',
'PhameResourceController' => 'CelerityResourceController',

View file

@ -2,27 +2,6 @@
abstract class PhameController extends PhabricatorController {
protected function renderSideNavFilterView() {
$base_uri = new PhutilURI($this->getApplicationURI());
$nav = new AphrontSideNavFilterView();
$nav->setBaseURI($base_uri);
$nav->addLabel(pht('Posts'));
$nav->addFilter('post/all', pht('Latest Posts'));
$nav->addFilter('post/draft', pht('My Drafts'));
$nav->addFilter('post', pht('My Posts'));
$nav->addLabel(pht('Blogs'));
$nav->addFilter('blog/user', pht('Joinable Blogs'));
$nav->addFilter('blog/all', pht('All Blogs'));
$nav->selectFilter(null);
return $nav;
}
protected function renderPostList(
array $posts,
PhabricatorUser $viewer,
@ -111,10 +90,6 @@ abstract class PhameController extends PhabricatorController {
return $stories;
}
public function buildApplicationMenu() {
return $this->renderSideNavFilterView()->getMenu();
}
protected function buildApplicationCrumbs() {
$crumbs = parent::buildApplicationCrumbs();
$crumbs->addAction(

View file

@ -0,0 +1,10 @@
<?php
abstract class PhameBlogController extends PhameController {
public function buildApplicationMenu() {
return $this->newApplicationMenu()
->setSearchEngine(new PhameBlogSearchEngine());
}
}

View file

@ -1,13 +1,13 @@
<?php
final class PhameBlogDeleteController extends PhameController {
final class PhameBlogDeleteController extends PhameBlogController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$blog = id(new PhameBlogQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->requireCapabilities(
array(
@ -27,7 +27,7 @@ final class PhameBlogDeleteController extends PhameController {
$cancel_uri = $this->getApplicationURI('/blog/view/'.$blog->getID().'/');
$dialog = id(new AphrontDialogView())
->setUser($user)
->setUser($viewer)
->setTitle(pht('Delete Blog?'))
->appendChild(
pht(

View file

@ -1,15 +1,15 @@
<?php
final class PhameBlogEditController
extends PhameController {
extends PhameBlogController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
if ($id) {
$blog = id(new PhameBlogQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->requireCapabilities(
array(
@ -30,7 +30,7 @@ final class PhameBlogEditController
$v_projects = array_reverse($v_projects);
} else {
$blog = PhameBlog::initializeNewBlog($user);
$blog = PhameBlog::initializeNewBlog($viewer);
$submit_button = pht('Create Blog');
$page_title = pht('Create Blog');
@ -90,7 +90,7 @@ final class PhameBlogEditController
->setNewValue(array('=' => array_fuse($v_projects)));
$editor = id(new PhameBlogEditor())
->setActor($user)
->setActor($viewer)
->setContentSourceFromRequest($request)
->setContinueOnNoEffect(true);
@ -111,7 +111,7 @@ final class PhameBlogEditController
}
$policies = id(new PhabricatorPolicyQuery())
->setViewer($user)
->setViewer($viewer)
->setObject($blog)
->execute();
@ -119,7 +119,7 @@ final class PhameBlogEditController
$skins = mpull($skins, 'getName');
$form = id(new AphrontFormView())
->setUser($user)
->setUser($viewer)
->appendChild(
id(new AphrontFormTextControl())
->setLabel(pht('Name'))
@ -129,16 +129,16 @@ final class PhameBlogEditController
->setError($e_name))
->appendChild(
id(new PhabricatorRemarkupControl())
->setUser($user)
->setUser($viewer)
->setLabel(pht('Description'))
->setName('description')
->setValue($description)
->setID('blog-description')
->setUser($user)
->setUser($viewer)
->setDisableMacros(true))
->appendChild(
id(new AphrontFormPolicyControl())
->setUser($user)
->setUser($viewer)
->setCapability(PhabricatorPolicyCapability::CAN_VIEW)
->setPolicyObject($blog)
->setPolicies($policies)
@ -147,7 +147,7 @@ final class PhameBlogEditController
->setName('can_view'))
->appendChild(
id(new AphrontFormPolicyControl())
->setUser($user)
->setUser($viewer)
->setCapability(PhabricatorPolicyCapability::CAN_EDIT)
->setPolicyObject($blog)
->setPolicies($policies)
@ -155,7 +155,7 @@ final class PhameBlogEditController
->setName('can_edit'))
->appendChild(
id(new AphrontFormPolicyControl())
->setUser($user)
->setUser($viewer)
->setCapability(PhabricatorPolicyCapability::CAN_JOIN)
->setPolicyObject($blog)
->setPolicies($policies)
@ -195,13 +195,12 @@ final class PhameBlogEditController
$crumbs->addTextCrumb(pht('Blogs'), $this->getApplicationURI('blog/'));
$crumbs->addTextCrumb($page_title, $this->getApplicationURI('blog/new'));
return $this->buildApplicationPage(
array(
$crumbs,
$form_box,
),
array(
'title' => $page_title,
return $this->newPage()
->setTitle($page_title)
->setCrumbs($crumbs)
->appendChild(
array(
$form_box,
));
}
}

View file

@ -1,17 +1,17 @@
<?php
final class PhameBlogFeedController extends PhameController {
final class PhameBlogFeedController extends PhameBlogController {
public function shouldRequireLogin() {
return false;
}
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$blog = id(new PhameBlogQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->executeOne();
if (!$blog) {
@ -19,7 +19,7 @@ final class PhameBlogFeedController extends PhameController {
}
$posts = id(new PhamePostQuery())
->setViewer($user)
->setViewer($viewer)
->withBlogPHIDs(array($blog->getPHID()))
->withVisibility(PhamePost::VISIBILITY_PUBLISHED)
->execute();
@ -47,7 +47,7 @@ final class PhameBlogFeedController extends PhameController {
$content[] = phutil_tag('subtitle', array(), $description);
}
$engine = id(new PhabricatorMarkupEngine())->setViewer($user);
$engine = id(new PhabricatorMarkupEngine())->setViewer($viewer);
foreach ($posts as $post) {
$engine->addObject($post, PhamePost::MARKUP_FIELD_BODY);
}
@ -55,7 +55,7 @@ final class PhameBlogFeedController extends PhameController {
$blogger_phids = mpull($posts, 'getBloggerPHID');
$bloggers = id(new PhabricatorHandleQuery())
->setViewer($user)
->setViewer($viewer)
->withPHIDs($blogger_phids)
->execute();

View file

@ -1,6 +1,6 @@
<?php
final class PhameBlogListController extends PhameController {
final class PhameBlogListController extends PhameBlogController {
public function shouldAllowPublic() {
return true;

View file

@ -1,13 +1,13 @@
<?php
final class PhameBlogLiveController extends PhameController {
final class PhameBlogLiveController extends PhameBlogController {
public function shouldAllowPublic() {
return true;
}
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$site = $request->getSite();
if ($site instanceof PhameBlogSite) {
@ -16,7 +16,7 @@ final class PhameBlogLiveController extends PhameController {
$id = $request->getURIData('id');
$blog = id(new PhameBlogQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->executeOne();
if (!$blog) {
@ -38,7 +38,7 @@ final class PhameBlogLiveController extends PhameController {
$dialog = id(new AphrontDialogView())
->setTitle(pht('Blog Moved'))
->setUser($user)
->setUser($viewer)
->appendParagraph(pht('This blog is now hosted here:'))
->appendParagraph(
phutil_tag(

View file

@ -1,13 +1,13 @@
<?php
final class PhameBlogViewController extends PhameController {
final class PhameBlogViewController extends PhameBlogController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$blog = id(new PhameBlogQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->executeOne();
if (!$blog) {
@ -18,20 +18,20 @@ final class PhameBlogViewController extends PhameController {
->readFromRequest($request);
$posts = id(new PhamePostQuery())
->setViewer($user)
->setViewer($viewer)
->withBlogPHIDs(array($blog->getPHID()))
->executeWithCursorPager($pager);
$header = id(new PHUIHeaderView())
->setHeader($blog->getName())
->setUser($user)
->setUser($viewer)
->setPolicyObject($blog);
$actions = $this->renderActions($blog, $user);
$properties = $this->renderProperties($blog, $user, $actions);
$actions = $this->renderActions($blog, $viewer);
$properties = $this->renderProperties($blog, $viewer, $actions);
$post_list = $this->renderPostList(
$posts,
$user,
$viewer,
pht('This blog has no visible posts.'));
$post_list = id(new PHUIObjectBoxView())
@ -46,27 +46,26 @@ final class PhameBlogViewController extends PhameController {
->setHeader($header)
->addPropertyList($properties);
return $this->buildApplicationPage(
array(
$crumbs,
$object_box,
$post_list,
),
array(
'title' => $blog->getName(),
return $this->newPage()
->setTitle($blog->getName())
->setCrumbs($crumbs)
->appendChild(
array(
$object_box,
$post_list,
));
}
private function renderProperties(
PhameBlog $blog,
PhabricatorUser $user,
PhabricatorUser $viewer,
PhabricatorActionListView $actions) {
require_celerity_resource('aphront-tooltip-css');
Javelin::initBehavior('phabricator-tooltips');
$properties = id(new PHUIPropertyListView())
->setUser($user)
->setUser($viewer)
->setObject($blog)
->setActionList($actions);
@ -94,7 +93,7 @@ final class PhameBlogViewController extends PhameController {
$feed_uri));
$descriptions = PhabricatorPolicyQuery::renderPolicyDescriptions(
$user,
$viewer,
$blog);
$properties->addProperty(
@ -106,7 +105,7 @@ final class PhameBlogViewController extends PhameController {
$descriptions[PhabricatorPolicyCapability::CAN_JOIN]);
$engine = id(new PhabricatorMarkupEngine())
->setViewer($user)
->setViewer($viewer)
->addObject($blog, PhameBlog::MARKUP_FIELD_DESCRIPTION)
->process();
@ -116,7 +115,7 @@ final class PhameBlogViewController extends PhameController {
$description = PhabricatorMarkupEngine::renderOneObject(
id(new PhabricatorMarkupOneOff())->setContent($blog->getDescription()),
'default',
$user);
$viewer);
$properties->addSectionHeader(
pht('Description'),
PHUIPropertyListView::ICON_SUMMARY);
@ -126,19 +125,19 @@ final class PhameBlogViewController extends PhameController {
return $properties;
}
private function renderActions(PhameBlog $blog, PhabricatorUser $user) {
private function renderActions(PhameBlog $blog, PhabricatorUser $viewer) {
$actions = id(new PhabricatorActionListView())
->setObject($blog)
->setObjectURI($this->getRequest()->getRequestURI())
->setUser($user);
->setUser($viewer);
$can_edit = PhabricatorPolicyFilter::hasCapability(
$user,
$viewer,
$blog,
PhabricatorPolicyCapability::CAN_EDIT);
$can_join = PhabricatorPolicyFilter::hasCapability(
$user,
$viewer,
$blog,
PhabricatorPolicyCapability::CAN_JOIN);
@ -152,7 +151,7 @@ final class PhameBlogViewController extends PhameController {
$actions->addAction(
id(new PhabricatorActionView())
->setUser($user)
->setUser($viewer)
->setIcon('fa-globe')
->setHref($blog->getLiveURI())
->setName(pht('View Live')));

View file

@ -0,0 +1,10 @@
<?php
abstract class PhamePostController extends PhameController {
public function buildApplicationMenu() {
return $this->newApplicationMenu()
->setSearchEngine(new PhamePostSearchEngine());
}
}

View file

@ -1,12 +1,12 @@
<?php
final class PhamePostDeleteController extends PhameController {
final class PhamePostDeleteController extends PhamePostController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$post = id(new PhamePostQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($request->getURIData('id')))
->requireCapabilities(
array(
@ -26,7 +26,7 @@ final class PhamePostDeleteController extends PhameController {
$cancel_uri = $this->getApplicationURI('/post/view/'.$post->getID().'/');
$dialog = id(new AphrontDialogView())
->setUser($user)
->setUser($viewer)
->setTitle(pht('Delete Post?'))
->appendChild(
pht(

View file

@ -1,6 +1,6 @@
<?php
final class PhamePostEditController extends PhameController {
final class PhamePostEditController extends PhamePostController {
public function handleRequest(AphrontRequest $request) {
$viewer = $request->getViewer();

View file

@ -1,13 +1,13 @@
<?php
final class PhamePostFramedController extends PhameController {
final class PhamePostFramedController extends PhamePostController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getViewer();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$post = id(new PhamePostQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->requireCapabilities(
array(

View file

@ -1,6 +1,6 @@
<?php
final class PhamePostListController extends PhameController {
final class PhamePostListController extends PhamePostController {
public function shouldAllowPublic() {
return true;

View file

@ -1,16 +1,16 @@
<?php
final class PhamePostNewController extends PhameController {
final class PhamePostNewController extends PhamePostController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$post = null;
$view_uri = null;
if ($id) {
$post = id(new PhamePostQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->requireCapabilities(
array(
@ -26,7 +26,7 @@ final class PhamePostNewController extends PhameController {
if ($request->isFormPost()) {
$blog = id(new PhameBlogQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($request->getInt('blog')))
->requireCapabilities(
array(
@ -49,7 +49,7 @@ final class PhamePostNewController extends PhameController {
}
$blogs = id(new PhameBlogQuery())
->setViewer($user)
->setViewer($viewer)
->requireCapabilities(
array(
PhabricatorPolicyCapability::CAN_JOIN,
@ -58,9 +58,9 @@ final class PhamePostNewController extends PhameController {
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb($title, $view_uri);
$display = array();
$display[] = $crumbs;
$notification = null;
$form_box = null;
if (!$blogs) {
$notification = id(new PHUIInfoView())
->setSeverity(PHUIInfoView::SEVERITY_NODATA)
@ -68,7 +68,6 @@ final class PhamePostNewController extends PhameController {
pht('You do not have permission to join any blogs. Create a blog '.
'first, then you can post to it.'));
$display[] = $notification;
} else {
$options = mpull($blogs, 'getName', 'getID');
asort($options);
@ -79,7 +78,7 @@ final class PhamePostNewController extends PhameController {
}
$form = id(new AphrontFormView())
->setUser($user)
->setUser($viewer)
->appendChild(
id(new AphrontFormSelectControl())
->setLabel(pht('Blog'))
@ -102,19 +101,20 @@ final class PhamePostNewController extends PhameController {
->setValue(pht('Continue')));
}
$form_box = id(new PHUIObjectBoxView())
->setHeaderText($title)
->setForm($form);
$display[] = $form_box;
}
return $this->buildApplicationPage(
$display,
array(
'title' => $title,
return $this->newPage()
->setTitle($title)
->setCrumbs($crumbs)
->appendChild(
array(
$notification,
$form_box,
));
}
}
}

View file

@ -1,13 +1,13 @@
<?php
final class PhamePostNotLiveController extends PhameController {
final class PhamePostNotLiveController extends PhamePostController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$post = id(new PhamePostQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->executeOne();
if (!$post) {
@ -32,7 +32,7 @@ final class PhamePostNotLiveController extends PhameController {
$cancel_uri = $this->getApplicationURI('/post/view/'.$post->getID().'/');
$dialog = id(new AphrontDialogView())
->setUser($user)
->setUser($viewer)
->setTitle(pht('Post Not Live'))
->addCancelButton($cancel_uri);

View file

@ -1,6 +1,6 @@
<?php
final class PhamePostPreviewController extends PhameController {
final class PhamePostPreviewController extends PhamePostController {
protected function getSideNavFilter() {
return null;

View file

@ -1,13 +1,13 @@
<?php
final class PhamePostPublishController extends PhameController {
final class PhamePostPublishController extends PhamePostController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$post = id(new PhamePostQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->requireCapabilities(
array(
@ -29,7 +29,7 @@ final class PhamePostPublishController extends PhameController {
}
$form = id(new AphrontFormView())
->setUser($user)
->setUser($viewer)
->appendChild(
id(new AphrontFormSubmitControl())
->setValue(pht('Publish Post'))
@ -44,35 +44,30 @@ final class PhamePostPublishController extends PhameController {
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb(pht('Preview'), $view_uri);
$nav = $this->renderSideNavFilterView(null);
$nav->appendChild(
array(
$crumbs,
$form_box,
$frame,
));
return $this->buildApplicationPage(
$nav,
array(
'title' => pht('Preview Post'),
return $this->newPage()
->setTitle(pht('Preview Post'))
->setCrumbs($crumbs)
->appendChild(
array(
$form_box,
$frame,
));
}
private function renderPreviewFrame(PhamePost $post) {
// TODO: Clean up this CSS.
return phutil_tag(
'div',
array(
'style' => 'text-align: center; padding: 1em;',
'style' => 'text-align: center; padding: 16px;',
),
phutil_tag(
'iframe',
array(
'style' => 'width: 100%; height: 600px; '.
'border: 1px solid #303030;',
'border: 1px solid #BFCFDA; '.
'background-color: #fff; '.
'border-radius: 3px; ',
'src' => $this->getApplicationURI('/post/framed/'.$post->getID().'/'),
),
''));

View file

@ -1,13 +1,13 @@
<?php
final class PhamePostUnpublishController extends PhameController {
final class PhamePostUnpublishController extends PhamePostController {
public function handleRequest(AphrontRequest $request) {
$user = $request->getUser();
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$post = id(new PhamePostQuery())
->setViewer($user)
->setViewer($viewer)
->withIDs(array($id))
->requireCapabilities(
array(
@ -30,7 +30,7 @@ final class PhamePostUnpublishController extends PhameController {
$cancel_uri = $this->getApplicationURI('/post/view/'.$post->getID().'/');
$dialog = id(new AphrontDialogView())
->setUser($user)
->setUser($viewer)
->setTitle(pht('Unpublish Post?'))
->appendChild(
pht(

View file

@ -1,6 +1,6 @@
<?php
final class PhamePostViewController extends PhameController {
final class PhamePostViewController extends PhamePostController {
public function handleRequest(AphrontRequest $request) {
$viewer = $request->getViewer();

View file

@ -30,7 +30,7 @@ final class PhameBlogSearchEngine
protected function getBuiltinQueryNames() {
$names = array(
'all' => pht('All'),
'all' => pht('All Blogs'),
);
return $names;
}

View file

@ -44,9 +44,9 @@ final class PhamePostSearchEngine
protected function getBuiltinQueryNames() {
$names = array(
'all' => pht('All'),
'live' => pht('Live'),
'draft' => pht('Draft'),
'all' => pht('All Posts'),
'live' => pht('Live Posts'),
'draft' => pht('Draft Posts'),
);
return $names;
}