2011-06-10 02:53:53 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
abstract class PhabricatorPasteController extends PhabricatorController {
|
|
|
|
|
|
2012-12-07 13:35:17 -08:00
|
|
|
public function buildSideNavView($filter = null, $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();
|
|
|
|
|
$nav->setBaseURI(new PhutilURI($this->getApplicationURI('filter/')));
|
|
|
|
|
|
2012-12-07 13:35:17 -08:00
|
|
|
if ($for_app) {
|
|
|
|
|
$nav->addFilter('', 'Create Paste', $this->getApplicationURI('/create/'));
|
2012-08-15 10:45:06 -07:00
|
|
|
}
|
|
|
|
|
|
2012-12-07 13:35:17 -08:00
|
|
|
$nav->addLabel('Filters');
|
|
|
|
|
$nav->addFilter('all', 'All Pastes');
|
2012-09-30 19:44:09 -07:00
|
|
|
if ($user->isLoggedIn()) {
|
|
|
|
|
$nav->addFilter('my', 'My Pastes');
|
|
|
|
|
}
|
2012-12-07 13:35:17 -08:00
|
|
|
|
|
|
|
|
$nav->selectFilter($filter, 'all');
|
2012-08-15 10:45:06 -07:00
|
|
|
|
|
|
|
|
return $nav;
|
|
|
|
|
}
|
|
|
|
|
|
2012-12-07 13:34:44 -08:00
|
|
|
public function buildApplicationMenu() {
|
2012-12-07 13:35:17 -08:00
|
|
|
return $this->buildSideNavView(null, true)->getMenu();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function buildApplicationCrumbs() {
|
|
|
|
|
$crumbs = parent::buildApplicationCrumbs();
|
|
|
|
|
|
|
|
|
|
$crumbs->addAction(
|
|
|
|
|
id(new PhabricatorMenuItemView())
|
|
|
|
|
->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) {
|
|
|
|
|
|
2012-12-16 16:33:42 -08:00
|
|
|
$lines = explode("\n", rtrim($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
|
|
|
}
|