2011-06-10 02:53:53 -04:00
|
|
|
<?php
|
|
|
|
|
|
2013-08-02 12:56:58 -07:00
|
|
|
/**
|
|
|
|
|
* @group paste
|
|
|
|
|
*/
|
2011-06-10 02:53:53 -04:00
|
|
|
abstract class PhabricatorPasteController extends PhabricatorController {
|
|
|
|
|
|
2013-05-27 13:41:09 -07:00
|
|
|
public function buildSideNavView($for_app = false) {
|
2012-09-30 19:44:09 -07:00
|
|
|
$user = $this->getRequest()->getUser();
|
|
|
|
|
|
2012-08-15 10:45:06 -07:00
|
|
|
$nav = new AphrontSideNavFilterView();
|
2013-05-27 13:41:09 -07:00
|
|
|
$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
|
2012-08-15 10:45:06 -07:00
|
|
|
|
2012-12-07 13:35:17 -08:00
|
|
|
if ($for_app) {
|
2013-05-27 13:41:09 -07:00
|
|
|
$nav->addFilter('create', pht('Create Paste'));
|
2012-08-15 10:45:06 -07:00
|
|
|
}
|
|
|
|
|
|
2013-05-30 14:09:02 -07:00
|
|
|
id(new PhabricatorPasteSearchEngine())
|
2013-05-27 13:41:09 -07:00
|
|
|
->setViewer($user)
|
2013-05-31 10:51:05 -07:00
|
|
|
->addNavigationItems($nav->getMenu());
|
2012-12-07 13:35:17 -08:00
|
|
|
|
2013-05-27 13:41:09 -07:00
|
|
|
$nav->selectFilter(null);
|
2012-08-15 10:45:06 -07:00
|
|
|
|
|
|
|
|
return $nav;
|
|
|
|
|
}
|
|
|
|
|
|
2012-12-07 13:34:44 -08:00
|
|
|
public function buildApplicationMenu() {
|
2013-05-27 13:41:09 -07:00
|
|
|
return $this->buildSideNavView(true)->getMenu();
|
2012-12-07 13:35:17 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function buildApplicationCrumbs() {
|
|
|
|
|
$crumbs = parent::buildApplicationCrumbs();
|
|
|
|
|
|
|
|
|
|
$crumbs->addAction(
|
2013-06-05 08:41:43 -07:00
|
|
|
id(new PHUIListItemView())
|
2012-12-07 13:35:17 -08:00
|
|
|
->setName(pht('Create Paste'))
|
|
|
|
|
->setHref($this->getApplicationURI('create/'))
|
|
|
|
|
->setIcon('create'));
|
|
|
|
|
|
|
|
|
|
return $crumbs;
|
2012-12-07 13:34:44 -08:00
|
|
|
}
|
|
|
|
|
|
2012-12-16 12:02:34 -08:00
|
|
|
public function buildSourceCodeView(
|
|
|
|
|
PhabricatorPaste $paste,
|
|
|
|
|
$max_lines = null) {
|
|
|
|
|
|
2013-02-15 16:38:46 -08:00
|
|
|
$lines = phutil_split_lines($paste->getContent());
|
2012-12-16 12:02:34 -08:00
|
|
|
|
|
|
|
|
return id(new PhabricatorSourceCodeView())
|
2012-12-16 16:33:42 -08:00
|
|
|
->setLimit($max_lines)
|
2012-12-16 12:02:34 -08:00
|
|
|
->setLines($lines);
|
|
|
|
|
}
|
2012-12-16 16:33:42 -08:00
|
|
|
|
2011-06-10 02:53:53 -04:00
|
|
|
}
|