mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-11 08:06:13 +01:00
(stable) Promote 2015 Week 45
This commit is contained in:
commit
e1642ada6e
289 changed files with 15122 additions and 9638 deletions
36
externals/skins/oblivious/css/oblivious.css
vendored
36
externals/skins/oblivious/css/oblivious.css
vendored
|
@ -29,19 +29,18 @@ html {
|
|||
.oblivious-content {
|
||||
padding-top: 3%;
|
||||
margin-left: 22%;
|
||||
max-width: 600px;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #222222;
|
||||
color: #2980b9;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #a00000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-size: 24px;
|
||||
font-weight: normal;
|
||||
|
@ -50,37 +49,24 @@ h1 {
|
|||
h2 {
|
||||
font-size: 22px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.phame-post {
|
||||
margin: 0 0 2em;
|
||||
}
|
||||
|
||||
.phame-post-title {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.phame-post-date {
|
||||
font-size: 12px;
|
||||
margin: .25em 0 1em;
|
||||
margin: .25em 0 2em;
|
||||
}
|
||||
|
||||
.phame-post {
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
.phame-post p {
|
||||
margin: 0 0 1em;
|
||||
}
|
||||
|
||||
.phame-post tt {
|
||||
color: #333333;
|
||||
background: #ebebeb;
|
||||
padding: 0 .25em;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.phame-post .remarkup-code-block pre {
|
||||
overflow: auto;
|
||||
padding: 10px 10px;
|
||||
border: 1px solid #dfdfdf;
|
||||
background-color: #f8f8f8;
|
||||
.oblivious-content .phabricator-remarkup ul.remarkup-list {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.fb-comments,
|
||||
|
|
2
externals/skins/oblivious/header.php
vendored
2
externals/skins/oblivious/header.php
vendored
|
@ -13,6 +13,6 @@
|
|||
echo _e($blog->getName());
|
||||
?></a>
|
||||
</h1>
|
||||
<p><?php echo _e($blog->getDescription()); ?></p>
|
||||
<p><?php echo $skin->remarkup($blog->getDescription()); ?></p>
|
||||
</div>
|
||||
<div class="oblivious-content">
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
return array(
|
||||
'names' => array(
|
||||
'core.pkg.css' => '15e557bc',
|
||||
'core.pkg.css' => 'e94665e4',
|
||||
'core.pkg.js' => '47dc9ebb',
|
||||
'darkconsole.pkg.js' => 'e7393ebb',
|
||||
'differential.pkg.css' => '2de124c9',
|
||||
|
@ -25,8 +25,8 @@ return array(
|
|||
'rsrc/css/aphront/notification.css' => '9c279160',
|
||||
'rsrc/css/aphront/panel-view.css' => '8427b78d',
|
||||
'rsrc/css/aphront/phabricator-nav-view.css' => 'a24cb589',
|
||||
'rsrc/css/aphront/table-view.css' => '61543e7a',
|
||||
'rsrc/css/aphront/tokenizer.css' => '04875312',
|
||||
'rsrc/css/aphront/table-view.css' => '6d01d468',
|
||||
'rsrc/css/aphront/tokenizer.css' => '056da01b',
|
||||
'rsrc/css/aphront/tooltip.css' => '7672b60f',
|
||||
'rsrc/css/aphront/typeahead-browse.css' => 'd8581d2c',
|
||||
'rsrc/css/aphront/typeahead.css' => '0e403212',
|
||||
|
@ -36,7 +36,7 @@ return array(
|
|||
'rsrc/css/application/base/notification-menu.css' => 'f31c0bde',
|
||||
'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601',
|
||||
'rsrc/css/application/base/phui-theme.css' => '6b451f24',
|
||||
'rsrc/css/application/base/standard-page-view.css' => '1f53d056',
|
||||
'rsrc/css/application/base/standard-page-view.css' => 'a1096ed4',
|
||||
'rsrc/css/application/calendar/calendar-icon.css' => 'c69aa59f',
|
||||
'rsrc/css/application/chatlog/chatlog.css' => 'd295b020',
|
||||
'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4',
|
||||
|
@ -100,17 +100,17 @@ return array(
|
|||
'rsrc/css/application/releeph/releeph-request-differential-create-dialog.css' => '8d8b92cd',
|
||||
'rsrc/css/application/releeph/releeph-request-typeahead.css' => '667a48ae',
|
||||
'rsrc/css/application/search/search-results.css' => '7dea472c',
|
||||
'rsrc/css/application/slowvote/slowvote.css' => '475b4bd2',
|
||||
'rsrc/css/application/slowvote/slowvote.css' => 'da0afb1b',
|
||||
'rsrc/css/application/tokens/tokens.css' => '3d0f239e',
|
||||
'rsrc/css/application/uiexample/example.css' => '528b19de',
|
||||
'rsrc/css/core/core.css' => 'a76cefc9',
|
||||
'rsrc/css/core/remarkup.css' => '8d341238',
|
||||
'rsrc/css/core/core.css' => '78e8d7ea',
|
||||
'rsrc/css/core/remarkup.css' => '2193fc05',
|
||||
'rsrc/css/core/syntax.css' => '9fd11da8',
|
||||
'rsrc/css/core/z-index.css' => '57ddcaa2',
|
||||
'rsrc/css/diviner/diviner-shared.css' => '5a337049',
|
||||
'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa',
|
||||
'rsrc/css/font/font-aleo.css' => 'b61d3062',
|
||||
'rsrc/css/font/font-awesome.css' => 'd2fc4e8d',
|
||||
'rsrc/css/font/font-lato.css' => '5ab1a46a',
|
||||
'rsrc/css/font/font-roboto-slab.css' => 'f24a53cb',
|
||||
'rsrc/css/font/phui-font-icon-base.css' => 'ecbbb4c2',
|
||||
'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82',
|
||||
'rsrc/css/layout/phabricator-hovercard-view.css' => '1239cd52',
|
||||
|
@ -126,16 +126,17 @@ return array(
|
|||
'rsrc/css/phui/phui-box.css' => 'a5bb366d',
|
||||
'rsrc/css/phui/phui-button.css' => '16020a60',
|
||||
'rsrc/css/phui/phui-crumbs-view.css' => 'd842f867',
|
||||
'rsrc/css/phui/phui-document.css' => '0267054b',
|
||||
'rsrc/css/phui/phui-document-pro.css' => '4f2b42e3',
|
||||
'rsrc/css/phui/phui-document.css' => '9fa715d2',
|
||||
'rsrc/css/phui/phui-feed-story.css' => 'b7b26d23',
|
||||
'rsrc/css/phui/phui-fontkit.css' => 'cb8ae7ad',
|
||||
'rsrc/css/phui/phui-fontkit.css' => 'c9d63950',
|
||||
'rsrc/css/phui/phui-form-view.css' => '621b21c5',
|
||||
'rsrc/css/phui/phui-form.css' => 'afdb2c6e',
|
||||
'rsrc/css/phui/phui-header-view.css' => '55bb32dd',
|
||||
'rsrc/css/phui/phui-icon.css' => 'b0a6b1b6',
|
||||
'rsrc/css/phui/phui-image-mask.css' => '5a8b09c8',
|
||||
'rsrc/css/phui/phui-info-panel.css' => '27ea50a1',
|
||||
'rsrc/css/phui/phui-info-view.css' => '5b16bac6',
|
||||
'rsrc/css/phui/phui-info-view.css' => '6d7c3509',
|
||||
'rsrc/css/phui/phui-list.css' => '125599df',
|
||||
'rsrc/css/phui/phui-object-box.css' => '407eaf5a',
|
||||
'rsrc/css/phui/phui-object-item-list-view.css' => '26c30d3f',
|
||||
|
@ -145,7 +146,7 @@ return array(
|
|||
'rsrc/css/phui/phui-remarkup-preview.css' => '867f85b3',
|
||||
'rsrc/css/phui/phui-spacing.css' => '042804d6',
|
||||
'rsrc/css/phui/phui-status.css' => '888cedb8',
|
||||
'rsrc/css/phui/phui-tag-view.css' => '402691cc',
|
||||
'rsrc/css/phui/phui-tag-view.css' => 'e60e227b',
|
||||
'rsrc/css/phui/phui-text.css' => 'cf019f54',
|
||||
'rsrc/css/phui/phui-timeline-view.css' => '2efceff8',
|
||||
'rsrc/css/phui/phui-two-column-view.css' => '39ecafb1',
|
||||
|
@ -156,6 +157,14 @@ return array(
|
|||
'rsrc/css/sprite-menu.css' => '9dd65b92',
|
||||
'rsrc/css/sprite-projects.css' => 'e5ad842a',
|
||||
'rsrc/css/sprite-tokens.css' => '4f399012',
|
||||
'rsrc/externals/font/aleo/aleo-bold.eot' => 'd3d3bed7',
|
||||
'rsrc/externals/font/aleo/aleo-bold.ttf' => '4b08bef0',
|
||||
'rsrc/externals/font/aleo/aleo-bold.woff' => '93b513a1',
|
||||
'rsrc/externals/font/aleo/aleo-bold.woff2' => '75fbf322',
|
||||
'rsrc/externals/font/aleo/aleo-regular.eot' => 'a4e29e2f',
|
||||
'rsrc/externals/font/aleo/aleo-regular.ttf' => '751e7479',
|
||||
'rsrc/externals/font/aleo/aleo-regular.woff' => 'c3744be9',
|
||||
'rsrc/externals/font/aleo/aleo-regular.woff2' => '851aa0ee',
|
||||
'rsrc/externals/font/fontawesome/fontawesome-webfont.eot' => '7d5a4653',
|
||||
'rsrc/externals/font/fontawesome/fontawesome-webfont.ttf' => '531835e8',
|
||||
'rsrc/externals/font/fontawesome/fontawesome-webfont.woff' => '427fe363',
|
||||
|
@ -176,10 +185,6 @@ return array(
|
|||
'rsrc/externals/font/lato/lato-regular.ttf' => 'e270165b',
|
||||
'rsrc/externals/font/lato/lato-regular.woff' => '13d39fe2',
|
||||
'rsrc/externals/font/lato/lato-regular.woff2' => '57a9f742',
|
||||
'rsrc/externals/font/robotoslab/robotoslab-regular.eot' => 'eaefe21c',
|
||||
'rsrc/externals/font/robotoslab/robotoslab-regular.ttf' => '4bfef7d5',
|
||||
'rsrc/externals/font/robotoslab/robotoslab-regular.woff' => '7f0552f9',
|
||||
'rsrc/externals/font/robotoslab/robotoslab-regular.woff2' => '23bdd43c',
|
||||
'rsrc/externals/javelin/core/Event.js' => '85ea0626',
|
||||
'rsrc/externals/javelin/core/Stratcom.js' => '6c53634d',
|
||||
'rsrc/externals/javelin/core/__tests__/event-stop-and-kill.js' => '717554e4',
|
||||
|
@ -448,7 +453,7 @@ return array(
|
|||
'rsrc/js/core/behavior-device.js' => 'a205cf28',
|
||||
'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '6d49590e',
|
||||
'rsrc/js/core/behavior-error-log.js' => '6882e80a',
|
||||
'rsrc/js/core/behavior-fancy-datepicker.js' => '665cf6ac',
|
||||
'rsrc/js/core/behavior-fancy-datepicker.js' => '8ae55229',
|
||||
'rsrc/js/core/behavior-file-tree.js' => '88236f00',
|
||||
'rsrc/js/core/behavior-form.js' => '5c54cbf3',
|
||||
'rsrc/js/core/behavior-gesture.js' => '3ab51e2c',
|
||||
|
@ -493,8 +498,8 @@ return array(
|
|||
'aphront-list-filter-view-css' => '5d6f0526',
|
||||
'aphront-multi-column-view-css' => 'fd18389d',
|
||||
'aphront-panel-view-css' => '8427b78d',
|
||||
'aphront-table-view-css' => '61543e7a',
|
||||
'aphront-tokenizer-control-css' => '04875312',
|
||||
'aphront-table-view-css' => '6d01d468',
|
||||
'aphront-tokenizer-control-css' => '056da01b',
|
||||
'aphront-tooltip-css' => '7672b60f',
|
||||
'aphront-typeahead-control-css' => '0e403212',
|
||||
'auth-css' => '0877ed6e',
|
||||
|
@ -523,10 +528,10 @@ return array(
|
|||
'diffusion-icons-css' => '2941baf1',
|
||||
'diffusion-readme-css' => '2106ea08',
|
||||
'diffusion-source-css' => '075ba788',
|
||||
'diviner-shared-css' => '5a337049',
|
||||
'diviner-shared-css' => 'aa3656aa',
|
||||
'font-aleo' => 'b61d3062',
|
||||
'font-fontawesome' => 'd2fc4e8d',
|
||||
'font-lato' => '5ab1a46a',
|
||||
'font-roboto-slab' => 'f24a53cb',
|
||||
'global-drag-and-drop-css' => '697324ad',
|
||||
'harbormaster-css' => 'b0758ca5',
|
||||
'herald-css' => '826075fa',
|
||||
|
@ -581,7 +586,7 @@ return array(
|
|||
'javelin-behavior-durable-column' => 'c72aa091',
|
||||
'javelin-behavior-error-log' => '6882e80a',
|
||||
'javelin-behavior-event-all-day' => '38dcf3c8',
|
||||
'javelin-behavior-fancy-datepicker' => '665cf6ac',
|
||||
'javelin-behavior-fancy-datepicker' => '8ae55229',
|
||||
'javelin-behavior-global-drag-and-drop' => 'c8e57404',
|
||||
'javelin-behavior-herald-rule-editor' => '7ebaeed3',
|
||||
'javelin-behavior-high-security-warning' => 'a464fe03',
|
||||
|
@ -713,7 +718,7 @@ return array(
|
|||
'phabricator-busy' => '59a7976a',
|
||||
'phabricator-chatlog-css' => 'd295b020',
|
||||
'phabricator-content-source-view-css' => '4b8b05d4',
|
||||
'phabricator-core-css' => 'a76cefc9',
|
||||
'phabricator-core-css' => '78e8d7ea',
|
||||
'phabricator-countdown-css' => 'e7544472',
|
||||
'phabricator-dashboard-css' => 'eb458607',
|
||||
'phabricator-drag-and-drop-file-upload' => 'ad10aeac',
|
||||
|
@ -735,13 +740,13 @@ return array(
|
|||
'phabricator-object-selector-css' => '85ee8ce6',
|
||||
'phabricator-phtize' => 'd254d646',
|
||||
'phabricator-prefab' => '6920d200',
|
||||
'phabricator-remarkup-css' => '8d341238',
|
||||
'phabricator-remarkup-css' => '2193fc05',
|
||||
'phabricator-search-results-css' => '7dea472c',
|
||||
'phabricator-shaped-request' => '7cbe244b',
|
||||
'phabricator-side-menu-view-css' => 'bec2458e',
|
||||
'phabricator-slowvote-css' => '475b4bd2',
|
||||
'phabricator-slowvote-css' => 'da0afb1b',
|
||||
'phabricator-source-code-view-css' => 'cbeef983',
|
||||
'phabricator-standard-page-view' => '1f53d056',
|
||||
'phabricator-standard-page-view' => 'a1096ed4',
|
||||
'phabricator-textareautils' => '5c93c52c',
|
||||
'phabricator-title' => 'df5e11d2',
|
||||
'phabricator-tooltip' => '1d298e3a',
|
||||
|
@ -775,17 +780,18 @@ return array(
|
|||
'phui-calendar-list-css' => 'c1c7f338',
|
||||
'phui-calendar-month-css' => '476be7e0',
|
||||
'phui-crumbs-view-css' => 'd842f867',
|
||||
'phui-document-view-css' => '0267054b',
|
||||
'phui-document-view-css' => '9fa715d2',
|
||||
'phui-document-view-pro-css' => '4f2b42e3',
|
||||
'phui-feed-story-css' => 'b7b26d23',
|
||||
'phui-font-icon-base-css' => 'ecbbb4c2',
|
||||
'phui-fontkit-css' => 'cb8ae7ad',
|
||||
'phui-fontkit-css' => 'c9d63950',
|
||||
'phui-form-css' => 'afdb2c6e',
|
||||
'phui-form-view-css' => '621b21c5',
|
||||
'phui-header-view-css' => '55bb32dd',
|
||||
'phui-icon-view-css' => 'b0a6b1b6',
|
||||
'phui-image-mask-css' => '5a8b09c8',
|
||||
'phui-info-panel-css' => '27ea50a1',
|
||||
'phui-info-view-css' => '5b16bac6',
|
||||
'phui-info-view-css' => '6d7c3509',
|
||||
'phui-inline-comment-view-css' => '0fdb3667',
|
||||
'phui-list-view-css' => '125599df',
|
||||
'phui-object-box-css' => '407eaf5a',
|
||||
|
@ -796,7 +802,7 @@ return array(
|
|||
'phui-remarkup-preview-css' => '867f85b3',
|
||||
'phui-spacing-css' => '042804d6',
|
||||
'phui-status-list-view-css' => '888cedb8',
|
||||
'phui-tag-view-css' => '402691cc',
|
||||
'phui-tag-view-css' => 'e60e227b',
|
||||
'phui-text-css' => 'cf019f54',
|
||||
'phui-theme-css' => '6b451f24',
|
||||
'phui-timeline-view-css' => '2efceff8',
|
||||
|
@ -861,14 +867,14 @@ return array(
|
|||
'javelin-stratcom',
|
||||
'phabricator-prefab',
|
||||
),
|
||||
'04875312' => array(
|
||||
'aphront-typeahead-control-css',
|
||||
'phui-tag-view-css',
|
||||
),
|
||||
'05270951' => array(
|
||||
'javelin-util',
|
||||
'javelin-magical-init',
|
||||
),
|
||||
'056da01b' => array(
|
||||
'aphront-typeahead-control-css',
|
||||
'phui-tag-view-css',
|
||||
),
|
||||
'065227cc' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-dom',
|
||||
|
@ -1288,13 +1294,6 @@ return array(
|
|||
'javelin-vector',
|
||||
'differential-inline-comment-editor',
|
||||
),
|
||||
'665cf6ac' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-util',
|
||||
'javelin-dom',
|
||||
'javelin-stratcom',
|
||||
'javelin-vector',
|
||||
),
|
||||
'6882e80a' => array(
|
||||
'javelin-dom',
|
||||
),
|
||||
|
@ -1494,6 +1493,13 @@ return array(
|
|||
'javelin-install',
|
||||
'javelin-dom',
|
||||
),
|
||||
'8ae55229' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-util',
|
||||
'javelin-dom',
|
||||
'javelin-stratcom',
|
||||
'javelin-vector',
|
||||
),
|
||||
'8b3fd187' => array(
|
||||
'javelin-install',
|
||||
'javelin-util',
|
||||
|
@ -1711,6 +1717,9 @@ return array(
|
|||
'javelin-dom',
|
||||
'javelin-util',
|
||||
),
|
||||
'b61d3062' => array(
|
||||
'phui-fontkit-css',
|
||||
),
|
||||
'b6993408' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-stratcom',
|
||||
|
@ -1946,9 +1955,6 @@ return array(
|
|||
'javelin-workflow',
|
||||
'javelin-json',
|
||||
),
|
||||
'f24a53cb' => array(
|
||||
'phui-fontkit-css',
|
||||
),
|
||||
'f36e01af' => array(
|
||||
'javelin-behavior',
|
||||
'javelin-behavior-device',
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
ALTER TABLE {$NAMESPACE}_harbormaster.harbormaster_build
|
||||
ADD COLUMN initiatorPHID VARBINARY(64);
|
|
@ -0,0 +1,2 @@
|
|||
ALTER TABLE {$NAMESPACE}_phame.phame_post
|
||||
ADD mailKey binary(20) NOT NULL;
|
18
resources/sql/autopatches/20151106.phame.post.mailkey.2.php
Normal file
18
resources/sql/autopatches/20151106.phame.post.mailkey.2.php
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?php
|
||||
|
||||
$table = new PhamePost();
|
||||
$conn_w = $table->establishConnection('w');
|
||||
$iterator = new LiskMigrationIterator($table);
|
||||
foreach ($iterator as $post) {
|
||||
$id = $post->getID();
|
||||
|
||||
echo pht('Adding mail key for Post %d...', $id);
|
||||
echo "\n";
|
||||
|
||||
queryfx(
|
||||
$conn_w,
|
||||
'UPDATE %T SET mailKey = %s WHERE id = %d',
|
||||
$table->getTableName(),
|
||||
Filesystem::readRandomCharacters(20),
|
||||
$id);
|
||||
}
|
|
@ -102,7 +102,7 @@ function commit_symbols(
|
|||
$repository->getPHID());
|
||||
}
|
||||
|
||||
echo pht('Loading %s symbols...', new PhutilNumber(count($sql))), "\n";
|
||||
echo pht('Loading %s symbols...', phutil_count($sql)), "\n";
|
||||
foreach (array_chunk($sql, 128) as $chunk) {
|
||||
queryfx(
|
||||
$conn_w,
|
||||
|
|
|
@ -135,6 +135,7 @@ phutil_register_library_map(array(
|
|||
'AphrontFormView' => 'view/form/AphrontFormView.php',
|
||||
'AphrontGlyphBarView' => 'view/widget/bars/AphrontGlyphBarView.php',
|
||||
'AphrontHTMLResponse' => 'aphront/response/AphrontHTMLResponse.php',
|
||||
'AphrontHTTPParameterType' => 'aphront/httpparametertype/AphrontHTTPParameterType.php',
|
||||
'AphrontHTTPProxyResponse' => 'aphront/response/AphrontHTTPProxyResponse.php',
|
||||
'AphrontHTTPSink' => 'aphront/sink/AphrontHTTPSink.php',
|
||||
'AphrontHTTPSinkTestCase' => 'aphront/sink/__tests__/AphrontHTTPSinkTestCase.php',
|
||||
|
@ -149,10 +150,13 @@ phutil_register_library_map(array(
|
|||
'AphrontMultiColumnView' => 'view/layout/AphrontMultiColumnView.php',
|
||||
'AphrontMySQLDatabaseConnectionTestCase' => 'infrastructure/storage/__tests__/AphrontMySQLDatabaseConnectionTestCase.php',
|
||||
'AphrontNullView' => 'view/AphrontNullView.php',
|
||||
'AphrontPHIDHTTPParameterType' => 'aphront/httpparametertype/AphrontPHIDHTTPParameterType.php',
|
||||
'AphrontPHIDListHTTPParameterType' => 'aphront/httpparametertype/AphrontPHIDListHTTPParameterType.php',
|
||||
'AphrontPHPHTTPSink' => 'aphront/sink/AphrontPHPHTTPSink.php',
|
||||
'AphrontPageView' => 'view/page/AphrontPageView.php',
|
||||
'AphrontPlainTextResponse' => 'aphront/response/AphrontPlainTextResponse.php',
|
||||
'AphrontProgressBarView' => 'view/widget/bars/AphrontProgressBarView.php',
|
||||
'AphrontProjectListHTTPParameterType' => 'aphront/httpparametertype/AphrontProjectListHTTPParameterType.php',
|
||||
'AphrontProxyResponse' => 'aphront/response/AphrontProxyResponse.php',
|
||||
'AphrontRedirectResponse' => 'aphront/response/AphrontRedirectResponse.php',
|
||||
'AphrontRedirectResponseTestCase' => 'aphront/response/__tests__/AphrontRedirectResponseTestCase.php',
|
||||
|
@ -164,15 +168,19 @@ phutil_register_library_map(array(
|
|||
'AphrontResponseProducerInterface' => 'aphront/interface/AphrontResponseProducerInterface.php',
|
||||
'AphrontRoutingMap' => 'aphront/site/AphrontRoutingMap.php',
|
||||
'AphrontRoutingResult' => 'aphront/site/AphrontRoutingResult.php',
|
||||
'AphrontSelectHTTPParameterType' => 'aphront/httpparametertype/AphrontSelectHTTPParameterType.php',
|
||||
'AphrontSideNavFilterView' => 'view/layout/AphrontSideNavFilterView.php',
|
||||
'AphrontSite' => 'aphront/site/AphrontSite.php',
|
||||
'AphrontStackTraceView' => 'view/widget/AphrontStackTraceView.php',
|
||||
'AphrontStandaloneHTMLResponse' => 'aphront/response/AphrontStandaloneHTMLResponse.php',
|
||||
'AphrontStringHTTPParameterType' => 'aphront/httpparametertype/AphrontStringHTTPParameterType.php',
|
||||
'AphrontStringListHTTPParameterType' => 'aphront/httpparametertype/AphrontStringListHTTPParameterType.php',
|
||||
'AphrontTableView' => 'view/control/AphrontTableView.php',
|
||||
'AphrontTagView' => 'view/AphrontTagView.php',
|
||||
'AphrontTokenizerTemplateView' => 'view/control/AphrontTokenizerTemplateView.php',
|
||||
'AphrontTypeaheadTemplateView' => 'view/control/AphrontTypeaheadTemplateView.php',
|
||||
'AphrontUnhandledExceptionResponse' => 'aphront/response/AphrontUnhandledExceptionResponse.php',
|
||||
'AphrontUserListHTTPParameterType' => 'aphront/httpparametertype/AphrontUserListHTTPParameterType.php',
|
||||
'AphrontView' => 'view/AphrontView.php',
|
||||
'AphrontWebpageResponse' => 'aphront/response/AphrontWebpageResponse.php',
|
||||
'ArcanistConduitAPIMethod' => 'applications/arcanist/conduit/ArcanistConduitAPIMethod.php',
|
||||
|
@ -1403,6 +1411,7 @@ phutil_register_library_map(array(
|
|||
'PHUI' => 'view/phui/PHUI.php',
|
||||
'PHUIActionPanelExample' => 'applications/uiexample/examples/PHUIActionPanelExample.php',
|
||||
'PHUIActionPanelView' => 'view/phui/PHUIActionPanelView.php',
|
||||
'PHUIApplicationMenuView' => 'view/layout/PHUIApplicationMenuView.php',
|
||||
'PHUIBadgeBoxView' => 'view/phui/PHUIBadgeBoxView.php',
|
||||
'PHUIBadgeExample' => 'applications/uiexample/examples/PHUIBadgeExample.php',
|
||||
'PHUIBadgeMiniView' => 'view/phui/PHUIBadgeMiniView.php',
|
||||
|
@ -1433,6 +1442,7 @@ phutil_register_library_map(array(
|
|||
'PHUIDiffTwoUpInlineCommentRowScaffold' => 'infrastructure/diff/view/PHUIDiffTwoUpInlineCommentRowScaffold.php',
|
||||
'PHUIDocumentExample' => 'applications/uiexample/examples/PHUIDocumentExample.php',
|
||||
'PHUIDocumentView' => 'view/phui/PHUIDocumentView.php',
|
||||
'PHUIDocumentViewPro' => 'view/phui/PHUIDocumentViewPro.php',
|
||||
'PHUIFeedStoryExample' => 'applications/uiexample/examples/PHUIFeedStoryExample.php',
|
||||
'PHUIFeedStoryView' => 'view/phui/PHUIFeedStoryView.php',
|
||||
'PHUIFormDividerControl' => 'view/form/control/PHUIFormDividerControl.php',
|
||||
|
@ -1528,6 +1538,7 @@ phutil_register_library_map(array(
|
|||
'PasteCreateMailReceiver' => 'applications/paste/mail/PasteCreateMailReceiver.php',
|
||||
'PasteDefaultEditCapability' => 'applications/paste/capability/PasteDefaultEditCapability.php',
|
||||
'PasteDefaultViewCapability' => 'applications/paste/capability/PasteDefaultViewCapability.php',
|
||||
'PasteEditConduitAPIMethod' => 'applications/paste/conduit/PasteEditConduitAPIMethod.php',
|
||||
'PasteEmbedView' => 'applications/paste/view/PasteEmbedView.php',
|
||||
'PasteInfoConduitAPIMethod' => 'applications/paste/conduit/PasteInfoConduitAPIMethod.php',
|
||||
'PasteMailReceiver' => 'applications/paste/mail/PasteMailReceiver.php',
|
||||
|
@ -1568,6 +1579,9 @@ phutil_register_library_map(array(
|
|||
'PhabricatorApplicationDatasource' => 'applications/meta/typeahead/PhabricatorApplicationDatasource.php',
|
||||
'PhabricatorApplicationDetailViewController' => 'applications/meta/controller/PhabricatorApplicationDetailViewController.php',
|
||||
'PhabricatorApplicationEditController' => 'applications/meta/controller/PhabricatorApplicationEditController.php',
|
||||
'PhabricatorApplicationEditEngine' => 'applications/transactions/editengine/PhabricatorApplicationEditEngine.php',
|
||||
'PhabricatorApplicationEditEngineAPIMethod' => 'applications/transactions/editengine/PhabricatorApplicationEditEngineAPIMethod.php',
|
||||
'PhabricatorApplicationEditHTTPParameterHelpView' => 'applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php',
|
||||
'PhabricatorApplicationEmailCommandsController' => 'applications/meta/controller/PhabricatorApplicationEmailCommandsController.php',
|
||||
'PhabricatorApplicationLaunchView' => 'applications/meta/view/PhabricatorApplicationLaunchView.php',
|
||||
'PhabricatorApplicationPanelController' => 'applications/meta/controller/PhabricatorApplicationPanelController.php',
|
||||
|
@ -1840,7 +1854,6 @@ phutil_register_library_map(array(
|
|||
'PhabricatorCommonPasswords' => 'applications/auth/constants/PhabricatorCommonPasswords.php',
|
||||
'PhabricatorConduitAPIController' => 'applications/conduit/controller/PhabricatorConduitAPIController.php',
|
||||
'PhabricatorConduitApplication' => 'applications/conduit/application/PhabricatorConduitApplication.php',
|
||||
'PhabricatorConduitCertificateSettingsPanel' => 'applications/settings/panel/PhabricatorConduitCertificateSettingsPanel.php',
|
||||
'PhabricatorConduitCertificateToken' => 'applications/conduit/storage/PhabricatorConduitCertificateToken.php',
|
||||
'PhabricatorConduitConnectionLog' => 'applications/conduit/storage/PhabricatorConduitConnectionLog.php',
|
||||
'PhabricatorConduitConsoleController' => 'applications/conduit/controller/PhabricatorConduitConsoleController.php',
|
||||
|
@ -1884,6 +1897,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorConfigEntryQuery' => 'applications/config/query/PhabricatorConfigEntryQuery.php',
|
||||
'PhabricatorConfigFileSource' => 'infrastructure/env/PhabricatorConfigFileSource.php',
|
||||
'PhabricatorConfigGroupController' => 'applications/config/controller/PhabricatorConfigGroupController.php',
|
||||
'PhabricatorConfigHTTPParameterTypesModule' => 'applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php',
|
||||
'PhabricatorConfigHistoryController' => 'applications/config/controller/PhabricatorConfigHistoryController.php',
|
||||
'PhabricatorConfigIgnoreController' => 'applications/config/controller/PhabricatorConfigIgnoreController.php',
|
||||
'PhabricatorConfigIssueListController' => 'applications/config/controller/PhabricatorConfigIssueListController.php',
|
||||
|
@ -2061,6 +2075,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorDataCacheSpec' => 'applications/cache/spec/PhabricatorDataCacheSpec.php',
|
||||
'PhabricatorDataNotAttachedException' => 'infrastructure/storage/lisk/PhabricatorDataNotAttachedException.php',
|
||||
'PhabricatorDatabaseSetupCheck' => 'applications/config/check/PhabricatorDatabaseSetupCheck.php',
|
||||
'PhabricatorDatasourceEditField' => 'applications/transactions/editfield/PhabricatorDatasourceEditField.php',
|
||||
'PhabricatorDateTimeSettingsPanel' => 'applications/settings/panel/PhabricatorDateTimeSettingsPanel.php',
|
||||
'PhabricatorDebugController' => 'applications/system/controller/PhabricatorDebugController.php',
|
||||
'PhabricatorDefaultRequestExceptionHandler' => 'aphront/handler/PhabricatorDefaultRequestExceptionHandler.php',
|
||||
|
@ -2089,12 +2104,15 @@ phutil_register_library_map(array(
|
|||
'PhabricatorEdgeConfig' => 'infrastructure/edges/constants/PhabricatorEdgeConfig.php',
|
||||
'PhabricatorEdgeConstants' => 'infrastructure/edges/constants/PhabricatorEdgeConstants.php',
|
||||
'PhabricatorEdgeCycleException' => 'infrastructure/edges/exception/PhabricatorEdgeCycleException.php',
|
||||
'PhabricatorEdgeEditType' => 'applications/transactions/edittype/PhabricatorEdgeEditType.php',
|
||||
'PhabricatorEdgeEditor' => 'infrastructure/edges/editor/PhabricatorEdgeEditor.php',
|
||||
'PhabricatorEdgeGraph' => 'infrastructure/edges/util/PhabricatorEdgeGraph.php',
|
||||
'PhabricatorEdgeQuery' => 'infrastructure/edges/query/PhabricatorEdgeQuery.php',
|
||||
'PhabricatorEdgeTestCase' => 'infrastructure/edges/__tests__/PhabricatorEdgeTestCase.php',
|
||||
'PhabricatorEdgeType' => 'infrastructure/edges/type/PhabricatorEdgeType.php',
|
||||
'PhabricatorEdgeTypeTestCase' => 'infrastructure/edges/type/__tests__/PhabricatorEdgeTypeTestCase.php',
|
||||
'PhabricatorEditField' => 'applications/transactions/editfield/PhabricatorEditField.php',
|
||||
'PhabricatorEditType' => 'applications/transactions/edittype/PhabricatorEditType.php',
|
||||
'PhabricatorEditor' => 'infrastructure/PhabricatorEditor.php',
|
||||
'PhabricatorElasticSearchEngine' => 'applications/search/engine/PhabricatorElasticSearchEngine.php',
|
||||
'PhabricatorElasticSearchSetupCheck' => 'applications/config/check/PhabricatorElasticSearchSetupCheck.php',
|
||||
|
@ -2241,6 +2259,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorGlobalLock' => 'infrastructure/util/PhabricatorGlobalLock.php',
|
||||
'PhabricatorGlobalUploadTargetView' => 'applications/files/view/PhabricatorGlobalUploadTargetView.php',
|
||||
'PhabricatorGoogleAuthProvider' => 'applications/auth/provider/PhabricatorGoogleAuthProvider.php',
|
||||
'PhabricatorHTTPParameterTypeTableView' => 'applications/config/view/PhabricatorHTTPParameterTypeTableView.php',
|
||||
'PhabricatorHandleList' => 'applications/phid/handle/pool/PhabricatorHandleList.php',
|
||||
'PhabricatorHandleObjectSelectorDataView' => 'applications/phid/handle/view/PhabricatorHandleObjectSelectorDataView.php',
|
||||
'PhabricatorHandlePool' => 'applications/phid/handle/pool/PhabricatorHandlePool.php',
|
||||
|
@ -2532,6 +2551,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPHID' => 'applications/phid/storage/PhabricatorPHID.php',
|
||||
'PhabricatorPHIDConstants' => 'applications/phid/PhabricatorPHIDConstants.php',
|
||||
'PhabricatorPHIDInterface' => 'applications/phid/interface/PhabricatorPHIDInterface.php',
|
||||
'PhabricatorPHIDResolver' => 'applications/phid/resolver/PhabricatorPHIDResolver.php',
|
||||
'PhabricatorPHIDType' => 'applications/phid/type/PhabricatorPHIDType.php',
|
||||
'PhabricatorPHIDTypeTestCase' => 'applications/phid/type/__tests__/PhabricatorPHIDTypeTestCase.php',
|
||||
'PhabricatorPHPASTApplication' => 'applications/phpast/application/PhabricatorPHPASTApplication.php',
|
||||
|
@ -2552,6 +2572,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPasteController' => 'applications/paste/controller/PhabricatorPasteController.php',
|
||||
'PhabricatorPasteDAO' => 'applications/paste/storage/PhabricatorPasteDAO.php',
|
||||
'PhabricatorPasteEditController' => 'applications/paste/controller/PhabricatorPasteEditController.php',
|
||||
'PhabricatorPasteEditEngine' => 'applications/paste/editor/PhabricatorPasteEditEngine.php',
|
||||
'PhabricatorPasteEditor' => 'applications/paste/editor/PhabricatorPasteEditor.php',
|
||||
'PhabricatorPasteListController' => 'applications/paste/controller/PhabricatorPasteListController.php',
|
||||
'PhabricatorPastePastePHIDType' => 'applications/paste/phid/PhabricatorPastePastePHIDType.php',
|
||||
|
@ -2622,8 +2643,11 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPhurlApplication' => 'applications/phurl/application/PhabricatorPhurlApplication.php',
|
||||
'PhabricatorPhurlController' => 'applications/phurl/controller/PhabricatorPhurlController.php',
|
||||
'PhabricatorPhurlDAO' => 'applications/phurl/storage/PhabricatorPhurlDAO.php',
|
||||
'PhabricatorPhurlLinkRemarkupRule' => 'applications/phurl/remarkup/PhabricatorPhurlLinkRemarkupRule.php',
|
||||
'PhabricatorPhurlRemarkupRule' => 'applications/phurl/remarkup/PhabricatorPhurlRemarkupRule.php',
|
||||
'PhabricatorPhurlSchemaSpec' => 'applications/phurl/storage/PhabricatorPhurlSchemaSpec.php',
|
||||
'PhabricatorPhurlURL' => 'applications/phurl/storage/PhabricatorPhurlURL.php',
|
||||
'PhabricatorPhurlURLAccessController' => 'applications/phurl/controller/PhabricatorPhurlURLAccessController.php',
|
||||
'PhabricatorPhurlURLEditController' => 'applications/phurl/controller/PhabricatorPhurlURLEditController.php',
|
||||
'PhabricatorPhurlURLEditor' => 'applications/phurl/editor/PhabricatorPhurlURLEditor.php',
|
||||
'PhabricatorPhurlURLListController' => 'applications/phurl/controller/PhabricatorPhurlURLListController.php',
|
||||
|
@ -2651,6 +2675,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPolicyDAO' => 'applications/policy/storage/PhabricatorPolicyDAO.php',
|
||||
'PhabricatorPolicyDataTestCase' => 'applications/policy/__tests__/PhabricatorPolicyDataTestCase.php',
|
||||
'PhabricatorPolicyEditController' => 'applications/policy/controller/PhabricatorPolicyEditController.php',
|
||||
'PhabricatorPolicyEditField' => 'applications/transactions/editfield/PhabricatorPolicyEditField.php',
|
||||
'PhabricatorPolicyException' => 'applications/policy/exception/PhabricatorPolicyException.php',
|
||||
'PhabricatorPolicyExplainController' => 'applications/policy/controller/PhabricatorPolicyExplainController.php',
|
||||
'PhabricatorPolicyFilter' => 'applications/policy/filter/PhabricatorPolicyFilter.php',
|
||||
|
@ -2718,6 +2743,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorProjectObjectHasProjectEdgeType' => 'applications/project/edge/PhabricatorProjectObjectHasProjectEdgeType.php',
|
||||
'PhabricatorProjectOrUserDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserDatasource.php',
|
||||
'PhabricatorProjectOrUserFunctionDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserFunctionDatasource.php',
|
||||
'PhabricatorProjectPHIDResolver' => 'applications/phid/resolver/PhabricatorProjectPHIDResolver.php',
|
||||
'PhabricatorProjectProfileController' => 'applications/project/controller/PhabricatorProjectProfileController.php',
|
||||
'PhabricatorProjectProjectHasMemberEdgeType' => 'applications/project/edge/PhabricatorProjectProjectHasMemberEdgeType.php',
|
||||
'PhabricatorProjectProjectHasObjectEdgeType' => 'applications/project/edge/PhabricatorProjectProjectHasObjectEdgeType.php',
|
||||
|
@ -2740,6 +2766,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorProjectUserFunctionDatasource' => 'applications/project/typeahead/PhabricatorProjectUserFunctionDatasource.php',
|
||||
'PhabricatorProjectViewController' => 'applications/project/controller/PhabricatorProjectViewController.php',
|
||||
'PhabricatorProjectWatchController' => 'applications/project/controller/PhabricatorProjectWatchController.php',
|
||||
'PhabricatorProjectsEditField' => 'applications/transactions/editfield/PhabricatorProjectsEditField.php',
|
||||
'PhabricatorProjectsPolicyRule' => 'applications/policy/rule/PhabricatorProjectsPolicyRule.php',
|
||||
'PhabricatorProtocolAdapter' => 'infrastructure/daemon/bot/adapter/PhabricatorProtocolAdapter.php',
|
||||
'PhabricatorPygmentSetupCheck' => 'applications/config/check/PhabricatorPygmentSetupCheck.php',
|
||||
|
@ -2914,6 +2941,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSearchWorker' => 'applications/search/worker/PhabricatorSearchWorker.php',
|
||||
'PhabricatorSecurityConfigOptions' => 'applications/config/option/PhabricatorSecurityConfigOptions.php',
|
||||
'PhabricatorSecuritySetupCheck' => 'applications/config/check/PhabricatorSecuritySetupCheck.php',
|
||||
'PhabricatorSelectEditField' => 'applications/transactions/editfield/PhabricatorSelectEditField.php',
|
||||
'PhabricatorSendGridConfigOptions' => 'applications/config/option/PhabricatorSendGridConfigOptions.php',
|
||||
'PhabricatorSessionsSettingsPanel' => 'applications/settings/panel/PhabricatorSessionsSettingsPanel.php',
|
||||
'PhabricatorSettingsAddEmailAction' => 'applications/settings/action/PhabricatorSettingsAddEmailAction.php',
|
||||
|
@ -2926,6 +2954,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSetupIssue' => 'applications/config/issue/PhabricatorSetupIssue.php',
|
||||
'PhabricatorSetupIssueUIExample' => 'applications/uiexample/examples/PhabricatorSetupIssueUIExample.php',
|
||||
'PhabricatorSetupIssueView' => 'applications/config/view/PhabricatorSetupIssueView.php',
|
||||
'PhabricatorSimpleEditType' => 'applications/transactions/edittype/PhabricatorSimpleEditType.php',
|
||||
'PhabricatorSite' => 'aphront/site/PhabricatorSite.php',
|
||||
'PhabricatorSlowvoteApplication' => 'applications/slowvote/application/PhabricatorSlowvoteApplication.php',
|
||||
'PhabricatorSlowvoteChoice' => 'applications/slowvote/storage/PhabricatorSlowvoteChoice.php',
|
||||
|
@ -2954,6 +2983,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSlugTestCase' => 'infrastructure/util/__tests__/PhabricatorSlugTestCase.php',
|
||||
'PhabricatorSortTableUIExample' => 'applications/uiexample/examples/PhabricatorSortTableUIExample.php',
|
||||
'PhabricatorSourceCodeView' => 'view/layout/PhabricatorSourceCodeView.php',
|
||||
'PhabricatorSpaceEditField' => 'applications/transactions/editfield/PhabricatorSpaceEditField.php',
|
||||
'PhabricatorSpacesApplication' => 'applications/spaces/application/PhabricatorSpacesApplication.php',
|
||||
'PhabricatorSpacesArchiveController' => 'applications/spaces/controller/PhabricatorSpacesArchiveController.php',
|
||||
'PhabricatorSpacesCapabilityCreateSpaces' => 'applications/spaces/capability/PhabricatorSpacesCapabilityCreateSpaces.php',
|
||||
|
@ -3017,6 +3047,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorStreamingProtocolAdapter' => 'infrastructure/daemon/bot/adapter/PhabricatorStreamingProtocolAdapter.php',
|
||||
'PhabricatorSubscribableInterface' => 'applications/subscriptions/interface/PhabricatorSubscribableInterface.php',
|
||||
'PhabricatorSubscribedToObjectEdgeType' => 'applications/transactions/edges/PhabricatorSubscribedToObjectEdgeType.php',
|
||||
'PhabricatorSubscribersEditField' => 'applications/transactions/editfield/PhabricatorSubscribersEditField.php',
|
||||
'PhabricatorSubscribersQuery' => 'applications/subscriptions/query/PhabricatorSubscribersQuery.php',
|
||||
'PhabricatorSubscriptionTriggerClock' => 'infrastructure/daemon/workers/clock/PhabricatorSubscriptionTriggerClock.php',
|
||||
'PhabricatorSubscriptionsAddSelfHeraldAction' => 'applications/subscriptions/herald/PhabricatorSubscriptionsAddSelfHeraldAction.php',
|
||||
|
@ -3060,6 +3091,8 @@ phutil_register_library_map(array(
|
|||
'PhabricatorTestNoCycleEdgeType' => 'applications/transactions/edges/PhabricatorTestNoCycleEdgeType.php',
|
||||
'PhabricatorTestStorageEngine' => 'applications/files/engine/PhabricatorTestStorageEngine.php',
|
||||
'PhabricatorTestWorker' => 'infrastructure/daemon/workers/__tests__/PhabricatorTestWorker.php',
|
||||
'PhabricatorTextAreaEditField' => 'applications/transactions/editfield/PhabricatorTextAreaEditField.php',
|
||||
'PhabricatorTextEditField' => 'applications/transactions/editfield/PhabricatorTextEditField.php',
|
||||
'PhabricatorTime' => 'infrastructure/time/PhabricatorTime.php',
|
||||
'PhabricatorTimeGuard' => 'infrastructure/time/PhabricatorTimeGuard.php',
|
||||
'PhabricatorTimeTestCase' => 'infrastructure/time/__tests__/PhabricatorTimeTestCase.php',
|
||||
|
@ -3081,6 +3114,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorTokenReceiverQuery' => 'applications/tokens/query/PhabricatorTokenReceiverQuery.php',
|
||||
'PhabricatorTokenTokenPHIDType' => 'applications/tokens/phid/PhabricatorTokenTokenPHIDType.php',
|
||||
'PhabricatorTokenUIEventListener' => 'applications/tokens/event/PhabricatorTokenUIEventListener.php',
|
||||
'PhabricatorTokenizerEditField' => 'applications/transactions/editfield/PhabricatorTokenizerEditField.php',
|
||||
'PhabricatorTokensApplication' => 'applications/tokens/application/PhabricatorTokensApplication.php',
|
||||
'PhabricatorTokensSettingsPanel' => 'applications/settings/panel/PhabricatorTokensSettingsPanel.php',
|
||||
'PhabricatorTooltipUIExample' => 'applications/uiexample/examples/PhabricatorTooltipUIExample.php',
|
||||
|
@ -3128,6 +3162,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorUserEmailTestCase' => 'applications/people/storage/__tests__/PhabricatorUserEmailTestCase.php',
|
||||
'PhabricatorUserLog' => 'applications/people/storage/PhabricatorUserLog.php',
|
||||
'PhabricatorUserLogView' => 'applications/people/view/PhabricatorUserLogView.php',
|
||||
'PhabricatorUserPHIDResolver' => 'applications/phid/resolver/PhabricatorUserPHIDResolver.php',
|
||||
'PhabricatorUserPreferences' => 'applications/settings/storage/PhabricatorUserPreferences.php',
|
||||
'PhabricatorUserProfile' => 'applications/people/storage/PhabricatorUserProfile.php',
|
||||
'PhabricatorUserProfileEditor' => 'applications/people/editor/PhabricatorUserProfileEditor.php',
|
||||
|
@ -3140,6 +3175,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorUserTestCase' => 'applications/people/storage/__tests__/PhabricatorUserTestCase.php',
|
||||
'PhabricatorUserTitleField' => 'applications/people/customfield/PhabricatorUserTitleField.php',
|
||||
'PhabricatorUserTransaction' => 'applications/people/storage/PhabricatorUserTransaction.php',
|
||||
'PhabricatorUsersEditField' => 'applications/transactions/editfield/PhabricatorUsersEditField.php',
|
||||
'PhabricatorUsersPolicyRule' => 'applications/policy/rule/PhabricatorUsersPolicyRule.php',
|
||||
'PhabricatorUsersSearchField' => 'applications/people/searchfield/PhabricatorUsersSearchField.php',
|
||||
'PhabricatorVCSResponse' => 'applications/repository/response/PhabricatorVCSResponse.php',
|
||||
|
@ -3211,6 +3247,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',
|
||||
|
@ -3229,6 +3266,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',
|
||||
|
@ -3239,6 +3277,7 @@ phutil_register_library_map(array(
|
|||
'PhamePostPreviewController' => 'applications/phame/controller/post/PhamePostPreviewController.php',
|
||||
'PhamePostPublishController' => 'applications/phame/controller/post/PhamePostPublishController.php',
|
||||
'PhamePostQuery' => 'applications/phame/query/PhamePostQuery.php',
|
||||
'PhamePostReplyHandler' => 'applications/phame/mail/PhamePostReplyHandler.php',
|
||||
'PhamePostSearchEngine' => 'applications/phame/query/PhamePostSearchEngine.php',
|
||||
'PhamePostTransaction' => 'applications/phame/storage/PhamePostTransaction.php',
|
||||
'PhamePostTransactionQuery' => 'applications/phame/query/PhamePostTransactionQuery.php',
|
||||
|
@ -3848,6 +3887,7 @@ phutil_register_library_map(array(
|
|||
'AphrontFormView' => 'AphrontView',
|
||||
'AphrontGlyphBarView' => 'AphrontBarView',
|
||||
'AphrontHTMLResponse' => 'AphrontResponse',
|
||||
'AphrontHTTPParameterType' => 'Phobject',
|
||||
'AphrontHTTPProxyResponse' => 'AphrontResponse',
|
||||
'AphrontHTTPSink' => 'Phobject',
|
||||
'AphrontHTTPSinkTestCase' => 'PhabricatorTestCase',
|
||||
|
@ -3862,10 +3902,13 @@ phutil_register_library_map(array(
|
|||
'AphrontMultiColumnView' => 'AphrontView',
|
||||
'AphrontMySQLDatabaseConnectionTestCase' => 'PhabricatorTestCase',
|
||||
'AphrontNullView' => 'AphrontView',
|
||||
'AphrontPHIDHTTPParameterType' => 'AphrontHTTPParameterType',
|
||||
'AphrontPHIDListHTTPParameterType' => 'AphrontHTTPParameterType',
|
||||
'AphrontPHPHTTPSink' => 'AphrontHTTPSink',
|
||||
'AphrontPageView' => 'AphrontView',
|
||||
'AphrontPlainTextResponse' => 'AphrontResponse',
|
||||
'AphrontProgressBarView' => 'AphrontBarView',
|
||||
'AphrontProjectListHTTPParameterType' => 'AphrontHTTPParameterType',
|
||||
'AphrontProxyResponse' => array(
|
||||
'AphrontResponse',
|
||||
'AphrontResponseProducerInterface',
|
||||
|
@ -3879,15 +3922,19 @@ phutil_register_library_map(array(
|
|||
'AphrontResponse' => 'Phobject',
|
||||
'AphrontRoutingMap' => 'Phobject',
|
||||
'AphrontRoutingResult' => 'Phobject',
|
||||
'AphrontSelectHTTPParameterType' => 'AphrontHTTPParameterType',
|
||||
'AphrontSideNavFilterView' => 'AphrontView',
|
||||
'AphrontSite' => 'Phobject',
|
||||
'AphrontStackTraceView' => 'AphrontView',
|
||||
'AphrontStandaloneHTMLResponse' => 'AphrontHTMLResponse',
|
||||
'AphrontStringHTTPParameterType' => 'AphrontHTTPParameterType',
|
||||
'AphrontStringListHTTPParameterType' => 'AphrontHTTPParameterType',
|
||||
'AphrontTableView' => 'AphrontView',
|
||||
'AphrontTagView' => 'AphrontView',
|
||||
'AphrontTokenizerTemplateView' => 'AphrontView',
|
||||
'AphrontTypeaheadTemplateView' => 'AphrontView',
|
||||
'AphrontUnhandledExceptionResponse' => 'AphrontStandaloneHTMLResponse',
|
||||
'AphrontUserListHTTPParameterType' => 'AphrontHTTPParameterType',
|
||||
'AphrontView' => array(
|
||||
'Phobject',
|
||||
'PhutilSafeHTMLProducerInterface',
|
||||
|
@ -5308,6 +5355,7 @@ phutil_register_library_map(array(
|
|||
'PHUI' => 'Phobject',
|
||||
'PHUIActionPanelExample' => 'PhabricatorUIExample',
|
||||
'PHUIActionPanelView' => 'AphrontTagView',
|
||||
'PHUIApplicationMenuView' => 'Phobject',
|
||||
'PHUIBadgeBoxView' => 'AphrontTagView',
|
||||
'PHUIBadgeExample' => 'PhabricatorUIExample',
|
||||
'PHUIBadgeMiniView' => 'AphrontTagView',
|
||||
|
@ -5338,6 +5386,7 @@ phutil_register_library_map(array(
|
|||
'PHUIDiffTwoUpInlineCommentRowScaffold' => 'PHUIDiffInlineCommentRowScaffold',
|
||||
'PHUIDocumentExample' => 'PhabricatorUIExample',
|
||||
'PHUIDocumentView' => 'AphrontTagView',
|
||||
'PHUIDocumentViewPro' => 'AphrontTagView',
|
||||
'PHUIFeedStoryExample' => 'PhabricatorUIExample',
|
||||
'PHUIFeedStoryView' => 'AphrontView',
|
||||
'PHUIFormDividerControl' => 'AphrontFormControl',
|
||||
|
@ -5441,6 +5490,7 @@ phutil_register_library_map(array(
|
|||
'PasteCreateMailReceiver' => 'PhabricatorMailReceiver',
|
||||
'PasteDefaultEditCapability' => 'PhabricatorPolicyCapability',
|
||||
'PasteDefaultViewCapability' => 'PhabricatorPolicyCapability',
|
||||
'PasteEditConduitAPIMethod' => 'PhabricatorApplicationEditEngineAPIMethod',
|
||||
'PasteEmbedView' => 'AphrontView',
|
||||
'PasteInfoConduitAPIMethod' => 'PasteConduitAPIMethod',
|
||||
'PasteMailReceiver' => 'PhabricatorObjectMailReceiver',
|
||||
|
@ -5484,6 +5534,9 @@ phutil_register_library_map(array(
|
|||
'PhabricatorApplicationDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||
'PhabricatorApplicationDetailViewController' => 'PhabricatorApplicationsController',
|
||||
'PhabricatorApplicationEditController' => 'PhabricatorApplicationsController',
|
||||
'PhabricatorApplicationEditEngine' => 'Phobject',
|
||||
'PhabricatorApplicationEditEngineAPIMethod' => 'ConduitAPIMethod',
|
||||
'PhabricatorApplicationEditHTTPParameterHelpView' => 'AphrontView',
|
||||
'PhabricatorApplicationEmailCommandsController' => 'PhabricatorApplicationsController',
|
||||
'PhabricatorApplicationLaunchView' => 'AphrontTagView',
|
||||
'PhabricatorApplicationPanelController' => 'PhabricatorApplicationsController',
|
||||
|
@ -5812,7 +5865,6 @@ phutil_register_library_map(array(
|
|||
'PhabricatorCommonPasswords' => 'Phobject',
|
||||
'PhabricatorConduitAPIController' => 'PhabricatorConduitController',
|
||||
'PhabricatorConduitApplication' => 'PhabricatorApplication',
|
||||
'PhabricatorConduitCertificateSettingsPanel' => 'PhabricatorSettingsPanel',
|
||||
'PhabricatorConduitCertificateToken' => 'PhabricatorConduitDAO',
|
||||
'PhabricatorConduitConnectionLog' => 'PhabricatorConduitDAO',
|
||||
'PhabricatorConduitConsoleController' => 'PhabricatorConduitController',
|
||||
|
@ -5866,6 +5918,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorConfigEntryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||
'PhabricatorConfigFileSource' => 'PhabricatorConfigProxySource',
|
||||
'PhabricatorConfigGroupController' => 'PhabricatorConfigController',
|
||||
'PhabricatorConfigHTTPParameterTypesModule' => 'PhabricatorConfigModule',
|
||||
'PhabricatorConfigHistoryController' => 'PhabricatorConfigController',
|
||||
'PhabricatorConfigIgnoreController' => 'PhabricatorConfigController',
|
||||
'PhabricatorConfigIssueListController' => 'PhabricatorConfigController',
|
||||
|
@ -6075,6 +6128,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorDataCacheSpec' => 'PhabricatorCacheSpec',
|
||||
'PhabricatorDataNotAttachedException' => 'Exception',
|
||||
'PhabricatorDatabaseSetupCheck' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorDatasourceEditField' => 'PhabricatorTokenizerEditField',
|
||||
'PhabricatorDateTimeSettingsPanel' => 'PhabricatorSettingsPanel',
|
||||
'PhabricatorDebugController' => 'PhabricatorController',
|
||||
'PhabricatorDefaultRequestExceptionHandler' => 'PhabricatorRequestExceptionHandler',
|
||||
|
@ -6102,12 +6156,15 @@ phutil_register_library_map(array(
|
|||
'PhabricatorEdgeConfig' => 'PhabricatorEdgeConstants',
|
||||
'PhabricatorEdgeConstants' => 'Phobject',
|
||||
'PhabricatorEdgeCycleException' => 'Exception',
|
||||
'PhabricatorEdgeEditType' => 'PhabricatorEditType',
|
||||
'PhabricatorEdgeEditor' => 'Phobject',
|
||||
'PhabricatorEdgeGraph' => 'AbstractDirectedGraph',
|
||||
'PhabricatorEdgeQuery' => 'PhabricatorQuery',
|
||||
'PhabricatorEdgeTestCase' => 'PhabricatorTestCase',
|
||||
'PhabricatorEdgeType' => 'Phobject',
|
||||
'PhabricatorEdgeTypeTestCase' => 'PhabricatorTestCase',
|
||||
'PhabricatorEditField' => 'Phobject',
|
||||
'PhabricatorEditType' => 'Phobject',
|
||||
'PhabricatorEditor' => 'Phobject',
|
||||
'PhabricatorElasticSearchEngine' => 'PhabricatorSearchEngine',
|
||||
'PhabricatorElasticSearchSetupCheck' => 'PhabricatorSetupCheck',
|
||||
|
@ -6285,6 +6342,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorGlobalLock' => 'PhutilLock',
|
||||
'PhabricatorGlobalUploadTargetView' => 'AphrontView',
|
||||
'PhabricatorGoogleAuthProvider' => 'PhabricatorOAuth2AuthProvider',
|
||||
'PhabricatorHTTPParameterTypeTableView' => 'AphrontView',
|
||||
'PhabricatorHandleList' => array(
|
||||
'Phobject',
|
||||
'Iterator',
|
||||
|
@ -6611,6 +6669,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPHDConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
||||
'PhabricatorPHID' => 'Phobject',
|
||||
'PhabricatorPHIDConstants' => 'Phobject',
|
||||
'PhabricatorPHIDResolver' => 'Phobject',
|
||||
'PhabricatorPHIDType' => 'Phobject',
|
||||
'PhabricatorPHIDTypeTestCase' => 'PhutilTestCase',
|
||||
'PhabricatorPHPASTApplication' => 'PhabricatorApplication',
|
||||
|
@ -6642,6 +6701,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPasteController' => 'PhabricatorController',
|
||||
'PhabricatorPasteDAO' => 'PhabricatorLiskDAO',
|
||||
'PhabricatorPasteEditController' => 'PhabricatorPasteController',
|
||||
'PhabricatorPasteEditEngine' => 'PhabricatorApplicationEditEngine',
|
||||
'PhabricatorPasteEditor' => 'PhabricatorApplicationTransactionEditor',
|
||||
'PhabricatorPasteListController' => 'PhabricatorPasteController',
|
||||
'PhabricatorPastePastePHIDType' => 'PhabricatorPHIDType',
|
||||
|
@ -6712,6 +6772,8 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPhurlApplication' => 'PhabricatorApplication',
|
||||
'PhabricatorPhurlController' => 'PhabricatorController',
|
||||
'PhabricatorPhurlDAO' => 'PhabricatorLiskDAO',
|
||||
'PhabricatorPhurlLinkRemarkupRule' => 'PhutilRemarkupRule',
|
||||
'PhabricatorPhurlRemarkupRule' => 'PhabricatorObjectRemarkupRule',
|
||||
'PhabricatorPhurlSchemaSpec' => 'PhabricatorConfigSchemaSpec',
|
||||
'PhabricatorPhurlURL' => array(
|
||||
'PhabricatorPhurlDAO',
|
||||
|
@ -6725,6 +6787,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorFlaggableInterface',
|
||||
'PhabricatorSpacesInterface',
|
||||
),
|
||||
'PhabricatorPhurlURLAccessController' => 'PhabricatorPhurlController',
|
||||
'PhabricatorPhurlURLEditController' => 'PhabricatorPhurlController',
|
||||
'PhabricatorPhurlURLEditor' => 'PhabricatorApplicationTransactionEditor',
|
||||
'PhabricatorPhurlURLListController' => 'PhabricatorPhurlController',
|
||||
|
@ -6756,6 +6819,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPolicyDAO' => 'PhabricatorLiskDAO',
|
||||
'PhabricatorPolicyDataTestCase' => 'PhabricatorTestCase',
|
||||
'PhabricatorPolicyEditController' => 'PhabricatorPolicyController',
|
||||
'PhabricatorPolicyEditField' => 'PhabricatorEditField',
|
||||
'PhabricatorPolicyException' => 'Exception',
|
||||
'PhabricatorPolicyExplainController' => 'PhabricatorPolicyController',
|
||||
'PhabricatorPolicyFilter' => 'Phobject',
|
||||
|
@ -6845,6 +6909,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorProjectObjectHasProjectEdgeType' => 'PhabricatorEdgeType',
|
||||
'PhabricatorProjectOrUserDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
||||
'PhabricatorProjectOrUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
||||
'PhabricatorProjectPHIDResolver' => 'PhabricatorPHIDResolver',
|
||||
'PhabricatorProjectProfileController' => 'PhabricatorProjectController',
|
||||
'PhabricatorProjectProjectHasMemberEdgeType' => 'PhabricatorEdgeType',
|
||||
'PhabricatorProjectProjectHasObjectEdgeType' => 'PhabricatorEdgeType',
|
||||
|
@ -6870,6 +6935,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorProjectUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
||||
'PhabricatorProjectViewController' => 'PhabricatorProjectController',
|
||||
'PhabricatorProjectWatchController' => 'PhabricatorProjectController',
|
||||
'PhabricatorProjectsEditField' => 'PhabricatorTokenizerEditField',
|
||||
'PhabricatorProjectsPolicyRule' => 'PhabricatorPolicyRule',
|
||||
'PhabricatorProtocolAdapter' => 'Phobject',
|
||||
'PhabricatorPygmentSetupCheck' => 'PhabricatorSetupCheck',
|
||||
|
@ -7084,6 +7150,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSearchWorker' => 'PhabricatorWorker',
|
||||
'PhabricatorSecurityConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
||||
'PhabricatorSecuritySetupCheck' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorSelectEditField' => 'PhabricatorEditField',
|
||||
'PhabricatorSendGridConfigOptions' => 'PhabricatorApplicationConfigOptions',
|
||||
'PhabricatorSessionsSettingsPanel' => 'PhabricatorSettingsPanel',
|
||||
'PhabricatorSettingsAddEmailAction' => 'PhabricatorSystemAction',
|
||||
|
@ -7096,6 +7163,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSetupIssue' => 'Phobject',
|
||||
'PhabricatorSetupIssueUIExample' => 'PhabricatorUIExample',
|
||||
'PhabricatorSetupIssueView' => 'AphrontView',
|
||||
'PhabricatorSimpleEditType' => 'PhabricatorEditType',
|
||||
'PhabricatorSite' => 'AphrontSite',
|
||||
'PhabricatorSlowvoteApplication' => 'PhabricatorApplication',
|
||||
'PhabricatorSlowvoteChoice' => 'PhabricatorSlowvoteDAO',
|
||||
|
@ -7134,6 +7202,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorSlugTestCase' => 'PhabricatorTestCase',
|
||||
'PhabricatorSortTableUIExample' => 'PhabricatorUIExample',
|
||||
'PhabricatorSourceCodeView' => 'AphrontView',
|
||||
'PhabricatorSpaceEditField' => 'PhabricatorEditField',
|
||||
'PhabricatorSpacesApplication' => 'PhabricatorApplication',
|
||||
'PhabricatorSpacesArchiveController' => 'PhabricatorSpacesController',
|
||||
'PhabricatorSpacesCapabilityCreateSpaces' => 'PhabricatorPolicyCapability',
|
||||
|
@ -7178,7 +7247,10 @@ phutil_register_library_map(array(
|
|||
'PhabricatorStandardCustomFieldText' => 'PhabricatorStandardCustomField',
|
||||
'PhabricatorStandardCustomFieldTokenizer' => 'PhabricatorStandardCustomFieldPHIDs',
|
||||
'PhabricatorStandardCustomFieldUsers' => 'PhabricatorStandardCustomFieldTokenizer',
|
||||
'PhabricatorStandardPageView' => 'PhabricatorBarePageView',
|
||||
'PhabricatorStandardPageView' => array(
|
||||
'PhabricatorBarePageView',
|
||||
'AphrontResponseProducerInterface',
|
||||
),
|
||||
'PhabricatorStandardSelectCustomFieldDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||
'PhabricatorStatusController' => 'PhabricatorController',
|
||||
'PhabricatorStatusUIExample' => 'PhabricatorUIExample',
|
||||
|
@ -7200,6 +7272,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorStorageSetupCheck' => 'PhabricatorSetupCheck',
|
||||
'PhabricatorStreamingProtocolAdapter' => 'PhabricatorProtocolAdapter',
|
||||
'PhabricatorSubscribedToObjectEdgeType' => 'PhabricatorEdgeType',
|
||||
'PhabricatorSubscribersEditField' => 'PhabricatorTokenizerEditField',
|
||||
'PhabricatorSubscribersQuery' => 'PhabricatorQuery',
|
||||
'PhabricatorSubscriptionTriggerClock' => 'PhabricatorTriggerClock',
|
||||
'PhabricatorSubscriptionsAddSelfHeraldAction' => 'PhabricatorSubscriptionsHeraldAction',
|
||||
|
@ -7243,6 +7316,8 @@ phutil_register_library_map(array(
|
|||
'PhabricatorTestNoCycleEdgeType' => 'PhabricatorEdgeType',
|
||||
'PhabricatorTestStorageEngine' => 'PhabricatorFileStorageEngine',
|
||||
'PhabricatorTestWorker' => 'PhabricatorWorker',
|
||||
'PhabricatorTextAreaEditField' => 'PhabricatorEditField',
|
||||
'PhabricatorTextEditField' => 'PhabricatorEditField',
|
||||
'PhabricatorTime' => 'Phobject',
|
||||
'PhabricatorTimeGuard' => 'Phobject',
|
||||
'PhabricatorTimeTestCase' => 'PhabricatorTestCase',
|
||||
|
@ -7269,6 +7344,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorTokenReceiverQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||
'PhabricatorTokenTokenPHIDType' => 'PhabricatorPHIDType',
|
||||
'PhabricatorTokenUIEventListener' => 'PhabricatorEventListener',
|
||||
'PhabricatorTokenizerEditField' => 'PhabricatorEditField',
|
||||
'PhabricatorTokensApplication' => 'PhabricatorApplication',
|
||||
'PhabricatorTokensSettingsPanel' => 'PhabricatorSettingsPanel',
|
||||
'PhabricatorTooltipUIExample' => 'PhabricatorUIExample',
|
||||
|
@ -7331,6 +7407,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorPolicyInterface',
|
||||
),
|
||||
'PhabricatorUserLogView' => 'AphrontView',
|
||||
'PhabricatorUserPHIDResolver' => 'PhabricatorPHIDResolver',
|
||||
'PhabricatorUserPreferences' => 'PhabricatorUserDAO',
|
||||
'PhabricatorUserProfile' => 'PhabricatorUserDAO',
|
||||
'PhabricatorUserProfileEditor' => 'PhabricatorApplicationTransactionEditor',
|
||||
|
@ -7343,6 +7420,7 @@ phutil_register_library_map(array(
|
|||
'PhabricatorUserTestCase' => 'PhabricatorTestCase',
|
||||
'PhabricatorUserTitleField' => 'PhabricatorUserCustomField',
|
||||
'PhabricatorUserTransaction' => 'PhabricatorApplicationTransaction',
|
||||
'PhabricatorUsersEditField' => 'PhabricatorTokenizerEditField',
|
||||
'PhabricatorUsersPolicyRule' => 'PhabricatorPolicyRule',
|
||||
'PhabricatorUsersSearchField' => 'PhabricatorSearchTokenizerField',
|
||||
'PhabricatorVCSResponse' => 'AphrontResponse',
|
||||
|
@ -7432,18 +7510,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',
|
||||
|
@ -7459,22 +7538,24 @@ 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',
|
||||
'PhamePostReplyHandler' => 'PhabricatorApplicationTransactionReplyHandler',
|
||||
'PhamePostSearchEngine' => 'PhabricatorApplicationSearchEngine',
|
||||
'PhamePostTransaction' => 'PhabricatorApplicationTransaction',
|
||||
'PhamePostTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
|
||||
'PhamePostUnpublishController' => 'PhameController',
|
||||
'PhamePostUnpublishController' => 'PhamePostController',
|
||||
'PhamePostView' => 'AphrontView',
|
||||
'PhamePostViewController' => 'PhameController',
|
||||
'PhamePostViewController' => 'PhamePostController',
|
||||
'PhameQueryConduitAPIMethod' => 'PhameConduitAPIMethod',
|
||||
'PhameQueryPostsConduitAPIMethod' => 'PhameConduitAPIMethod',
|
||||
'PhameResourceController' => 'CelerityResourceController',
|
||||
|
|
309
src/aphront/httpparametertype/AphrontHTTPParameterType.php
Normal file
309
src/aphront/httpparametertype/AphrontHTTPParameterType.php
Normal file
|
@ -0,0 +1,309 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Defines how to read a complex value from an HTTP request.
|
||||
*
|
||||
* Most HTTP parameters are simple (like strings or integers) but some
|
||||
* parameters accept more complex values (like lists of users or project names).
|
||||
*
|
||||
* This class handles reading simple and complex values from a request,
|
||||
* performing any required parsing or lookups, and returning a result in a
|
||||
* standard format.
|
||||
*
|
||||
* @task read Reading Values from a Request
|
||||
* @task info Information About the Type
|
||||
* @task util Parsing Utilities
|
||||
* @task impl Implementation
|
||||
*/
|
||||
abstract class AphrontHTTPParameterType extends Phobject {
|
||||
|
||||
|
||||
private $viewer;
|
||||
|
||||
|
||||
/* -( Reading Values from a Request )-------------------------------------- */
|
||||
|
||||
|
||||
/**
|
||||
* Set the current viewer.
|
||||
*
|
||||
* Some parameter types perform complex parsing involving lookups. For
|
||||
* example, a type might lookup usernames or project names. These types need
|
||||
* to use the current viewer to execute queries.
|
||||
*
|
||||
* @param PhabricatorUser Current viewer.
|
||||
* @return this
|
||||
* @task read
|
||||
*/
|
||||
final public function setViewer(PhabricatorUser $viewer) {
|
||||
$this->viewer = $viewer;
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the current viewer.
|
||||
*
|
||||
* @return PhabricatorUser Current viewer.
|
||||
* @task read
|
||||
*/
|
||||
final public function getViewer() {
|
||||
if (!$this->viewer) {
|
||||
throw new PhutilInvalidStateException('setViewer');
|
||||
}
|
||||
return $this->viewer;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test if a value is present in a request.
|
||||
*
|
||||
* @param AphrontRequest The incoming request.
|
||||
* @param string The key to examine.
|
||||
* @return bool True if a readable value is present in the request.
|
||||
* @task read
|
||||
*/
|
||||
final public function getExists(AphrontRequest $request, $key) {
|
||||
return $this->getParameterExists($request, $key);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Read a value from a request.
|
||||
*
|
||||
* If the value is not present, a default value is returned (usually `null`).
|
||||
* Use @{method:getExists} to test if a value is present.
|
||||
*
|
||||
* @param AphrontRequest The incoming request.
|
||||
* @param string The key to examine.
|
||||
* @return wild Value, or default if value is not present.
|
||||
* @task read
|
||||
*/
|
||||
final public function getValue(AphrontRequest $request, $key) {
|
||||
|
||||
if (!$this->getExists($request, $key)) {
|
||||
return $this->getParameterDefault();
|
||||
}
|
||||
|
||||
return $this->getParameterValue($request, $key);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the default value for this parameter type.
|
||||
*
|
||||
* @return wild Default value for this type.
|
||||
* @task read
|
||||
*/
|
||||
final public function getDefaultValue() {
|
||||
return $this->getParameterDefault();
|
||||
}
|
||||
|
||||
|
||||
/* -( Information About the Type )----------------------------------------- */
|
||||
|
||||
|
||||
/**
|
||||
* Get a short name for this type, like `string` or `list<phid>`.
|
||||
*
|
||||
* @return string Short type name.
|
||||
* @task info
|
||||
*/
|
||||
final public function getTypeName() {
|
||||
return $this->getParameterTypeName();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get a list of human-readable descriptions of acceptable formats for this
|
||||
* type.
|
||||
*
|
||||
* For example, a type might return strings like these:
|
||||
*
|
||||
* > Any positive integer.
|
||||
* > A comma-separated list of PHIDs.
|
||||
*
|
||||
* This is used to explain to users how to specify a type when generating
|
||||
* documentation.
|
||||
*
|
||||
* @return list<string> Human-readable list of acceptable formats.
|
||||
* @task info
|
||||
*/
|
||||
final public function getFormatDescriptions() {
|
||||
return $this->getParameterFormatDescriptions();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get a list of human-readable examples of how to format this type as an
|
||||
* HTTP GET parameter.
|
||||
*
|
||||
* For example, a type might return strings like these:
|
||||
*
|
||||
* > v=123
|
||||
* > v[]=1&v[]=2
|
||||
*
|
||||
* This is used to show users how to specify parameters of this type in
|
||||
* generated documentation.
|
||||
*
|
||||
* @return list<string> Human-readable list of format examples.
|
||||
* @task info
|
||||
*/
|
||||
final public function getExamples() {
|
||||
return $this->getParameterExamples();
|
||||
}
|
||||
|
||||
|
||||
/* -( Utilities )---------------------------------------------------------- */
|
||||
|
||||
|
||||
/**
|
||||
* Call another type's existence check.
|
||||
*
|
||||
* This method allows a type to reuse the exitence behavior of a different
|
||||
* type. For example, a "list of users" type may have the same basic
|
||||
* existence check that a simpler "list of strings" type has, and can just
|
||||
* call the simpler type to reuse its behavior.
|
||||
*
|
||||
* @param AphrontHTTPParameterType The other type.
|
||||
* @param AphrontRequest Incoming request.
|
||||
* @param string Key to examine.
|
||||
* @return bool True if the parameter exists.
|
||||
* @task util
|
||||
*/
|
||||
final protected function getExistsWithType(
|
||||
AphrontHTTPParameterType $type,
|
||||
AphrontRequest $request,
|
||||
$key) {
|
||||
|
||||
$type->setViewer($this->getViewer());
|
||||
|
||||
return $type->getParameterExists($request, $key);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Call another type's value parser.
|
||||
*
|
||||
* This method allows a type to reuse the parsing behavior of a different
|
||||
* type. For example, a "list of users" type may start by running the same
|
||||
* basic parsing that a simpler "list of strings" type does.
|
||||
*
|
||||
* @param AphrontHTTPParameterType The other type.
|
||||
* @param AphrontRequest Incoming request.
|
||||
* @param string Key to examine.
|
||||
* @return wild Parsed value.
|
||||
* @task util
|
||||
*/
|
||||
final protected function getValueWithType(
|
||||
AphrontHTTPParameterType $type,
|
||||
AphrontRequest $request,
|
||||
$key) {
|
||||
|
||||
$type->setViewer($this->getViewer());
|
||||
|
||||
return $type->getValue($request, $key);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get a list of all available parameter types.
|
||||
*
|
||||
* @return list<AphrontHTTPParameterType> List of all available types.
|
||||
* @task util
|
||||
*/
|
||||
final public static function getAllTypes() {
|
||||
return id(new PhutilClassMapQuery())
|
||||
->setAncestorClass(__CLASS__)
|
||||
->setUniqueMethod('getTypeName')
|
||||
->setSortMethod('getTypeName')
|
||||
->execute();
|
||||
}
|
||||
|
||||
|
||||
/* -( Implementation )----------------------------------------------------- */
|
||||
|
||||
|
||||
/**
|
||||
* Test if a parameter exists in a request.
|
||||
*
|
||||
* See @{method:getExists}. By default, this method tests if the key is
|
||||
* present in the request.
|
||||
*
|
||||
* To call another type's behavior in order to perform this check, use
|
||||
* @{method:getExistsWithType}.
|
||||
*
|
||||
* @param AphrontRequest The incoming request.
|
||||
* @param string The key to examine.
|
||||
* @return bool True if a readable value is present in the request.
|
||||
* @task impl
|
||||
*/
|
||||
protected function getParameterExists(AphrontRequest $request, $key) {
|
||||
return $request->getExists($key);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parse a value from a request.
|
||||
*
|
||||
* See @{method:getValue}. This method will //only// be called if this type
|
||||
* has already asserted that the value exists with
|
||||
* @{method:getParameterExists}.
|
||||
*
|
||||
* To call another type's behavior in order to parse a value, use
|
||||
* @{method:getValueWithType}.
|
||||
*
|
||||
* @param AphrontRequest The incoming request.
|
||||
* @param string The key to examine.
|
||||
* @return wild Parsed value.
|
||||
* @task impl
|
||||
*/
|
||||
abstract protected function getParameterValue(AphrontRequest $request, $key);
|
||||
|
||||
|
||||
/**
|
||||
* Return a simple type name string, like "string" or "list<phid>".
|
||||
*
|
||||
* See @{method:getTypeName}.
|
||||
*
|
||||
* @return string Short type name.
|
||||
* @task impl
|
||||
*/
|
||||
abstract protected function getParameterTypeName();
|
||||
|
||||
|
||||
/**
|
||||
* Return a human-readable list of format descriptions.
|
||||
*
|
||||
* See @{method:getFormatDescriptions}.
|
||||
*
|
||||
* @return list<string> Human-readable list of acceptable formats.
|
||||
* @task impl
|
||||
*/
|
||||
abstract protected function getParameterFormatDescriptions();
|
||||
|
||||
|
||||
/**
|
||||
* Return a human-readable list of examples.
|
||||
*
|
||||
* See @{method:getExamples}.
|
||||
*
|
||||
* @return list<string> Human-readable list of format examples.
|
||||
* @task impl
|
||||
*/
|
||||
abstract protected function getParameterExamples();
|
||||
|
||||
|
||||
/**
|
||||
* Return the default value for this parameter type.
|
||||
*
|
||||
* See @{method:getDefaultValue}. If unspecified, the default is `null`.
|
||||
*
|
||||
* @return wild Default value.
|
||||
* @task impl
|
||||
*/
|
||||
protected function getParameterDefault() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
final class AphrontPHIDHTTPParameterType
|
||||
extends AphrontHTTPParameterType {
|
||||
|
||||
protected function getParameterValue(AphrontRequest $request, $key) {
|
||||
return $request->getStr($key);
|
||||
}
|
||||
|
||||
protected function getParameterTypeName() {
|
||||
return 'phid';
|
||||
}
|
||||
|
||||
protected function getParameterFormatDescriptions() {
|
||||
return array(
|
||||
pht('A single object PHID.'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getParameterExamples() {
|
||||
return array(
|
||||
'v=PHID-XXXX-1111',
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
final class AphrontPHIDListHTTPParameterType
|
||||
extends AphrontHTTPParameterType {
|
||||
|
||||
protected function getParameterValue(AphrontRequest $request, $key) {
|
||||
$type = new AphrontStringListHTTPParameterType();
|
||||
return $this->getValueWithType($type, $request, $key);
|
||||
}
|
||||
|
||||
protected function getParameterTypeName() {
|
||||
return 'list<phid>';
|
||||
}
|
||||
|
||||
protected function getParameterFormatDescriptions() {
|
||||
return array(
|
||||
pht('Comma-separated list of PHIDs.'),
|
||||
pht('List of PHIDs, as array.'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getParameterExamples() {
|
||||
return array(
|
||||
'v=PHID-XXXX-1111',
|
||||
'v=PHID-XXXX-1111,PHID-XXXX-2222',
|
||||
'v[]=PHID-XXXX-1111&v[]=PHID-XXXX-2222',
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
final class AphrontProjectListHTTPParameterType
|
||||
extends AphrontHTTPParameterType {
|
||||
|
||||
protected function getParameterValue(AphrontRequest $request, $key) {
|
||||
$type = new AphrontStringListHTTPParameterType();
|
||||
$list = $this->getValueWithType($type, $request, $key);
|
||||
|
||||
return id(new PhabricatorProjectPHIDResolver())
|
||||
->setViewer($this->getViewer())
|
||||
->resolvePHIDs($list);
|
||||
}
|
||||
|
||||
protected function getParameterTypeName() {
|
||||
return 'list<project>';
|
||||
}
|
||||
|
||||
protected function getParameterFormatDescriptions() {
|
||||
return array(
|
||||
pht('Comma-separated list of project PHIDs.'),
|
||||
pht('List of project PHIDs, as array.'),
|
||||
pht('Comma-separated list of project hashtags.'),
|
||||
pht('List of project hashtags, as array.'),
|
||||
pht('Mixture of hashtags and PHIDs.'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getParameterExamples() {
|
||||
return array(
|
||||
'v=PHID-PROJ-1111',
|
||||
'v=PHID-PROJ-1111,PHID-PROJ-2222',
|
||||
'v=hashtag',
|
||||
'v=frontend,backend',
|
||||
'v[]=PHID-PROJ-1111&v[]=PHID-PROJ-2222',
|
||||
'v[]=frontend&v[]=backend',
|
||||
'v=PHID-PROJ-1111,frontend',
|
||||
'v[]=PHID-PROJ-1111&v[]=backend',
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
final class AphrontSelectHTTPParameterType
|
||||
extends AphrontHTTPParameterType {
|
||||
|
||||
protected function getParameterValue(AphrontRequest $request, $key) {
|
||||
return $request->getStr($key);
|
||||
}
|
||||
|
||||
protected function getParameterTypeName() {
|
||||
return 'select';
|
||||
}
|
||||
|
||||
protected function getParameterFormatDescriptions() {
|
||||
return array(
|
||||
pht('A single value from the allowed set.'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getParameterExamples() {
|
||||
return array(
|
||||
'v=value',
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
final class AphrontStringHTTPParameterType
|
||||
extends AphrontHTTPParameterType {
|
||||
|
||||
protected function getParameterValue(AphrontRequest $request, $key) {
|
||||
return $request->getStr($key);
|
||||
}
|
||||
|
||||
protected function getParameterTypeName() {
|
||||
return 'string';
|
||||
}
|
||||
|
||||
protected function getParameterFormatDescriptions() {
|
||||
return array(
|
||||
pht('A URL-encoded string.'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getParameterExamples() {
|
||||
return array(
|
||||
'v=simple',
|
||||
'v=properly%20escaped%20text',
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
final class AphrontStringListHTTPParameterType
|
||||
extends AphrontHTTPParameterType {
|
||||
|
||||
protected function getParameterValue(AphrontRequest $request, $key) {
|
||||
$list = $request->getArr($key, null);
|
||||
|
||||
if ($list === null) {
|
||||
$list = $request->getStrList($key);
|
||||
}
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
protected function getParameterDefault() {
|
||||
return array();
|
||||
}
|
||||
|
||||
protected function getParameterTypeName() {
|
||||
return 'list<string>';
|
||||
}
|
||||
|
||||
protected function getParameterFormatDescriptions() {
|
||||
return array(
|
||||
pht('Comma-separated list of strings.'),
|
||||
pht('List of strings, as array.'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getParameterExamples() {
|
||||
return array(
|
||||
'v=cat,dog,pig',
|
||||
'v[]=cat&v[]=dog',
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
final class AphrontUserListHTTPParameterType
|
||||
extends AphrontHTTPParameterType {
|
||||
|
||||
protected function getParameterValue(AphrontRequest $request, $key) {
|
||||
$type = new AphrontStringListHTTPParameterType();
|
||||
$list = $this->getValueWithType($type, $request, $key);
|
||||
|
||||
return id(new PhabricatorUserPHIDResolver())
|
||||
->setViewer($this->getViewer())
|
||||
->resolvePHIDs($list);
|
||||
}
|
||||
|
||||
protected function getParameterTypeName() {
|
||||
return 'list<user>';
|
||||
}
|
||||
|
||||
protected function getParameterFormatDescriptions() {
|
||||
return array(
|
||||
pht('Comma-separated list of user PHIDs.'),
|
||||
pht('List of user PHIDs, as array.'),
|
||||
pht('Comma-separated list of usernames.'),
|
||||
pht('List of usernames, as array.'),
|
||||
pht('Mixture of usernames and PHIDs.'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function getParameterExamples() {
|
||||
return array(
|
||||
'v=PHID-USER-1111',
|
||||
'v=PHID-USER-1111,PHID-USER-2222',
|
||||
'v=username',
|
||||
'v=alincoln,htaft',
|
||||
'v[]=PHID-USER-1111&v[]=PHID-USER-2222',
|
||||
'v[]=htaft&v[]=alincoln',
|
||||
'v=PHID-USER-1111,alincoln',
|
||||
'v[]=PHID-USER-1111&v[]=htaft',
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -12,6 +12,10 @@ final class AlmanacBindingPHIDType extends PhabricatorPHIDType {
|
|||
return new AlmanacBinding();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorAlmanacApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class AlmanacDevicePHIDType extends PhabricatorPHIDType {
|
|||
return new AlmanacDevice();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorAlmanacApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class AlmanacInterfacePHIDType extends PhabricatorPHIDType {
|
|||
return new AlmanacInterface();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorAlmanacApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class AlmanacNetworkPHIDType extends PhabricatorPHIDType {
|
|||
return new AlmanacNetwork();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorAlmanacApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class AlmanacServicePHIDType extends PhabricatorPHIDType {
|
|||
return new AlmanacService();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorAlmanacApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -2,18 +2,6 @@
|
|||
|
||||
abstract class PhabricatorAuthController extends PhabricatorController {
|
||||
|
||||
public function buildStandardPageResponse($view, array $data) {
|
||||
$page = $this->buildStandardPageView();
|
||||
|
||||
$page->setApplicationName(pht('Login'));
|
||||
$page->setBaseURI('/login/');
|
||||
$page->setTitle(idx($data, 'title'));
|
||||
$page->appendChild($view);
|
||||
|
||||
$response = new AphrontWebpageResponse();
|
||||
return $response->setContent($page->render());
|
||||
}
|
||||
|
||||
protected function renderErrorPage($title, array $messages) {
|
||||
$view = new PHUIInfoView();
|
||||
$view->setTitle($title);
|
||||
|
|
|
@ -109,7 +109,7 @@ final class PhabricatorAuthListController
|
|||
'only users with a verified email address at one of these %s '.
|
||||
'allowed domain(s) will be able to register an account: %s',
|
||||
$domains_link,
|
||||
new PhutilNumber(count($domains_value)),
|
||||
phutil_count($domains_value),
|
||||
phutil_tag('strong', array(), implode(', ', $domains_value)));
|
||||
} else {
|
||||
$issues[] = pht(
|
||||
|
|
|
@ -78,7 +78,7 @@ final class PhabricatorAuthManagementRefreshWorkflow
|
|||
"%s\n",
|
||||
pht(
|
||||
'Found %s account(s) to refresh.',
|
||||
new PhutilNumber(count($accounts))));
|
||||
phutil_count($accounts)));
|
||||
}
|
||||
|
||||
$providers = PhabricatorAuthProvider::getAllEnabledProviders();
|
||||
|
|
|
@ -12,6 +12,10 @@ final class PhabricatorAuthAuthFactorPHIDType extends PhabricatorPHIDType {
|
|||
return new PhabricatorAuthFactorConfig();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorAuthApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class PhabricatorAuthAuthProviderPHIDType extends PhabricatorPHIDType {
|
|||
return new PhabricatorAuthProviderConfig();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorAuthApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class PhabricatorAuthInvitePHIDType extends PhabricatorPHIDType {
|
|||
return new PhabricatorAuthInvite();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorAuthApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -635,4 +635,8 @@ abstract class PhabricatorApplication
|
|||
return array();
|
||||
}
|
||||
|
||||
protected function getEditRoutePattern($base) {
|
||||
return $base.'(?:(?P<id>[0-9]\d*)/)?(?:(?P<editAction>parameters)/)?';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
abstract class PhabricatorController extends AphrontController {
|
||||
|
||||
private $handles;
|
||||
private $extraQuicksandConfig = array();
|
||||
|
||||
public function shouldRequireLogin() {
|
||||
return true;
|
||||
|
@ -62,15 +61,6 @@ abstract class PhabricatorController extends AphrontController {
|
|||
return false;
|
||||
}
|
||||
|
||||
public function addExtraQuicksandConfig($config) {
|
||||
$this->extraQuicksandConfig += $config;
|
||||
return $this;
|
||||
}
|
||||
|
||||
private function getExtraQuicksandConfig() {
|
||||
return $this->extraQuicksandConfig;
|
||||
}
|
||||
|
||||
public function willBeginExecution() {
|
||||
$request = $this->getRequest();
|
||||
|
||||
|
@ -285,32 +275,6 @@ abstract class PhabricatorController extends AphrontController {
|
|||
}
|
||||
}
|
||||
|
||||
public function buildStandardPageView() {
|
||||
$view = new PhabricatorStandardPageView();
|
||||
$view->setRequest($this->getRequest());
|
||||
$view->setController($this);
|
||||
return $view;
|
||||
}
|
||||
|
||||
public function buildStandardPageResponse($view, array $data) {
|
||||
$page = $this->buildStandardPageView();
|
||||
$page->appendChild($view);
|
||||
return $this->buildPageResponse($page);
|
||||
}
|
||||
|
||||
private function buildPageResponse($page) {
|
||||
if ($this->getRequest()->isQuicksand()) {
|
||||
$response = id(new AphrontAjaxResponse())
|
||||
->setContent($page->renderForQuicksand(
|
||||
$this->getExtraQuicksandConfig()));
|
||||
} else {
|
||||
$response = id(new AphrontWebpageResponse())
|
||||
->setContent($page->render());
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getApplicationURI($path = '') {
|
||||
if (!$this->getCurrentApplication()) {
|
||||
throw new Exception(pht('No application!'));
|
||||
|
@ -318,58 +282,6 @@ abstract class PhabricatorController extends AphrontController {
|
|||
return $this->getCurrentApplication()->getApplicationURI($path);
|
||||
}
|
||||
|
||||
public function buildApplicationPage($view, array $options) {
|
||||
$page = $this->buildStandardPageView();
|
||||
|
||||
$title = PhabricatorEnv::getEnvConfig('phabricator.serious-business') ?
|
||||
'Phabricator' :
|
||||
pht('Bacon Ice Cream for Breakfast');
|
||||
|
||||
$application = $this->getCurrentApplication();
|
||||
$page->setTitle(idx($options, 'title', $title));
|
||||
if ($application) {
|
||||
$page->setApplicationName($application->getName());
|
||||
if ($application->getTitleGlyph()) {
|
||||
$page->setGlyph($application->getTitleGlyph());
|
||||
}
|
||||
}
|
||||
|
||||
if (!($view instanceof AphrontSideNavFilterView)) {
|
||||
$nav = new AphrontSideNavFilterView();
|
||||
$nav->appendChild($view);
|
||||
$view = $nav;
|
||||
}
|
||||
|
||||
$user = $this->getRequest()->getUser();
|
||||
$view->setUser($user);
|
||||
|
||||
$page->appendChild($view);
|
||||
|
||||
$object_phids = idx($options, 'pageObjects', array());
|
||||
if ($object_phids) {
|
||||
$page->appendPageObjects($object_phids);
|
||||
foreach ($object_phids as $object_phid) {
|
||||
PhabricatorFeedStoryNotification::updateObjectNotificationViews(
|
||||
$user,
|
||||
$object_phid);
|
||||
}
|
||||
}
|
||||
|
||||
if (idx($options, 'device', true)) {
|
||||
$page->setDeviceReady(true);
|
||||
}
|
||||
|
||||
$page->setShowFooter(idx($options, 'showFooter', true));
|
||||
$page->setShowChrome(idx($options, 'chrome', true));
|
||||
|
||||
$application_menu = $this->buildApplicationMenu();
|
||||
if ($application_menu) {
|
||||
$page->setApplicationMenu($application_menu);
|
||||
}
|
||||
|
||||
return $this->buildPageResponse($page);
|
||||
}
|
||||
|
||||
public function willSendResponse(AphrontResponse $response) {
|
||||
$request = $this->getRequest();
|
||||
|
||||
|
@ -532,6 +444,36 @@ abstract class PhabricatorController extends AphrontController {
|
|||
->setSubmitURI($submit_uri);
|
||||
}
|
||||
|
||||
public function newPage() {
|
||||
$page = id(new PhabricatorStandardPageView())
|
||||
->setRequest($this->getRequest())
|
||||
->setController($this)
|
||||
->setDeviceReady(true);
|
||||
|
||||
$application = $this->getCurrentApplication();
|
||||
if ($application) {
|
||||
$page->setApplicationName($application->getName());
|
||||
if ($application->getTitleGlyph()) {
|
||||
$page->setGlyph($application->getTitleGlyph());
|
||||
}
|
||||
}
|
||||
|
||||
$viewer = $this->getRequest()->getUser();
|
||||
if ($viewer) {
|
||||
$page->setUser($viewer);
|
||||
}
|
||||
|
||||
// TODO: Remove after removing callsites to addExtraQuicksandConfig().
|
||||
$page->addQuicksandConfig($this->extraQuicksandConfig);
|
||||
|
||||
return $page;
|
||||
}
|
||||
|
||||
public function newApplicationMenu() {
|
||||
return id(new PHUIApplicationMenuView())
|
||||
->setViewer($this->getRequest()->getUser());
|
||||
}
|
||||
|
||||
protected function buildTransactionTimeline(
|
||||
PhabricatorApplicationTransactionInterface $object,
|
||||
PhabricatorApplicationTransactionQuery $query,
|
||||
|
@ -579,4 +521,89 @@ abstract class PhabricatorController extends AphrontController {
|
|||
return $timeline;
|
||||
}
|
||||
|
||||
|
||||
public function buildApplicationCrumbsForEditEngine() {
|
||||
// TODO: This is kind of gross, I'm bascially just making this public so
|
||||
// I can use it in EditEngine. We could do this without making it public
|
||||
// by using controller delegation, or make it properly public.
|
||||
return $this->buildApplicationCrumbs();
|
||||
}
|
||||
|
||||
|
||||
/* -( Deprecated )--------------------------------------------------------- */
|
||||
|
||||
|
||||
/**
|
||||
* DEPRECATED.
|
||||
*/
|
||||
private $extraQuicksandConfig = array();
|
||||
|
||||
|
||||
/**
|
||||
* DEPRECATED. Use @{method:newPage} and call addQuicksandConfig().
|
||||
*/
|
||||
public function addExtraQuicksandConfig($config) {
|
||||
// TODO: When this method is removed,
|
||||
$this->extraQuicksandConfig += $config;
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* DEPRECATED. Use @{method:newPage}.
|
||||
*/
|
||||
public function buildStandardPageView() {
|
||||
return $this->newPage();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* DEPRECATED. Use @{method:newPage}.
|
||||
*/
|
||||
public function buildStandardPageResponse($view, array $data) {
|
||||
$page = $this->buildStandardPageView();
|
||||
$page->appendChild($view);
|
||||
return $page->produceAphrontResponse();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* DEPRECATED. Use @{method:newPage}.
|
||||
*/
|
||||
public function buildApplicationPage($view, array $options) {
|
||||
$page = $this->newPage();
|
||||
|
||||
$title = PhabricatorEnv::getEnvConfig('phabricator.serious-business') ?
|
||||
'Phabricator' :
|
||||
pht('Bacon Ice Cream for Breakfast');
|
||||
|
||||
$page->setTitle(idx($options, 'title', $title));
|
||||
|
||||
if (idx($options, 'class')) {
|
||||
$page->addClass($options['class']);
|
||||
}
|
||||
|
||||
if (!($view instanceof AphrontSideNavFilterView)) {
|
||||
$nav = new AphrontSideNavFilterView();
|
||||
$nav->appendChild($view);
|
||||
$view = $nav;
|
||||
}
|
||||
|
||||
$page->appendChild($view);
|
||||
|
||||
$object_phids = idx($options, 'pageObjects', array());
|
||||
if ($object_phids) {
|
||||
$page->setPageObjectPHIDs($object_phids);
|
||||
}
|
||||
|
||||
if (!idx($options, 'device', true)) {
|
||||
$page->setDeviceReady(false);
|
||||
}
|
||||
|
||||
$page->setShowFooter(idx($options, 'showFooter', true));
|
||||
$page->setShowChrome(idx($options, 'chrome', true));
|
||||
|
||||
return $page->produceAphrontResponse();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -8,14 +8,14 @@ final class PhabricatorCalendarEventPHIDType extends PhabricatorPHIDType {
|
|||
return pht('Event');
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorCalendarApplication';
|
||||
}
|
||||
|
||||
public function newObject() {
|
||||
return new PhabricatorCalendarEvent();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorCalendarApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -18,7 +18,7 @@ final class CelerityManagementMapWorkflow
|
|||
$this->log(
|
||||
pht(
|
||||
'Rebuilding %d resource source(s).',
|
||||
new PhutilNumber(count($resources_map))));
|
||||
phutil_count($resources_map)));
|
||||
|
||||
foreach ($resources_map as $name => $resources) {
|
||||
$this->rebuildResources($resources);
|
||||
|
|
|
@ -172,11 +172,11 @@ final class CelerityDefaultPostprocessor
|
|||
'sh-pinkbackground' => '#fbeaf8',
|
||||
|
||||
// Shade Grey
|
||||
'sh-lightgreyborder' => '#d8d8d8',
|
||||
'sh-lightgreyborder' => '#e3e4e8',
|
||||
'sh-greyborder' => '#b2b2b2',
|
||||
'sh-greyicon' => '#757575',
|
||||
'sh-greytext' => '#555555',
|
||||
'sh-greybackground' => '#e7e7e7',
|
||||
'sh-greybackground' => '#edeef2',
|
||||
|
||||
// Shade Disabled
|
||||
'sh-lightdisabledborder' => '#e5e5e5',
|
||||
|
|
|
@ -115,7 +115,7 @@ final class PhabricatorDaemonsSetupCheck extends PhabricatorSetupCheck {
|
|||
$list_section = array(
|
||||
pht(
|
||||
'The configurations differ in the following %s way(s):',
|
||||
new PhutilNumber(count($issues))),
|
||||
phutil_count($issues)),
|
||||
phutil_tag(
|
||||
'ul',
|
||||
array(),
|
||||
|
|
|
@ -111,7 +111,7 @@ final class PhabricatorPathSetupCheck extends PhabricatorSetupCheck {
|
|||
|
||||
$this
|
||||
->newIssue('config.PATH.'.$digest)
|
||||
->setName(pht('$PATH Component Unusable'))
|
||||
->setName(pht('%s Component Unusable', '$PATH'))
|
||||
->setSummary(
|
||||
pht(
|
||||
'A component of the configured PATH can not be used by '.
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
final class PhabricatorConfigHTTPParameterTypesModule
|
||||
extends PhabricatorConfigModule {
|
||||
|
||||
public function getModuleKey() {
|
||||
return 'httpparameter';
|
||||
}
|
||||
|
||||
public function getModuleName() {
|
||||
return pht('HTTP Parameter Types');
|
||||
}
|
||||
|
||||
public function renderModuleStatus(AphrontRequest $request) {
|
||||
$viewer = $request->getViewer();
|
||||
|
||||
$types = AphrontHTTPParameterType::getAllTypes();
|
||||
|
||||
$table = id(new PhabricatorHTTPParameterTypeTableView())
|
||||
->setHTTPParameterTypes($types);
|
||||
|
||||
return id(new PHUIObjectBoxView())
|
||||
->setHeaderText(pht('HTTP Parameter Types'))
|
||||
->setTable($table);
|
||||
}
|
||||
|
||||
}
|
|
@ -12,6 +12,10 @@ final class PhabricatorConfigConfigPHIDType extends PhabricatorPHIDType {
|
|||
return new PhabricatorConfigEntry();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorConfigApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
|
||||
final class PhabricatorHTTPParameterTypeTableView
|
||||
extends AphrontView {
|
||||
|
||||
private $types;
|
||||
|
||||
public function setHTTPParameterTypes(array $types) {
|
||||
assert_instances_of($types, 'AphrontHTTPParameterType');
|
||||
$this->types = $types;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getHTTPParameterTypes() {
|
||||
return $this->types;
|
||||
}
|
||||
|
||||
public function render() {
|
||||
$types = $this->getHTTPParameterTypes();
|
||||
$types = mpull($types, null, 'getTypeName');
|
||||
|
||||
$br = phutil_tag('br');
|
||||
|
||||
$rows = array();
|
||||
foreach ($types as $name => $type) {
|
||||
$formats = $type->getFormatDescriptions();
|
||||
$formats = phutil_implode_html($br, $formats);
|
||||
|
||||
$examples = $type->getExamples();
|
||||
$examples = phutil_implode_html($br, $examples);
|
||||
|
||||
$rows[] = array(
|
||||
$name,
|
||||
$formats,
|
||||
$examples,
|
||||
);
|
||||
}
|
||||
|
||||
$table = id(new AphrontTableView($rows))
|
||||
->setHeaders(
|
||||
array(
|
||||
pht('Type'),
|
||||
pht('Formats'),
|
||||
pht('Examples'),
|
||||
))
|
||||
->setColumnClasses(
|
||||
array(
|
||||
'pri top',
|
||||
'top',
|
||||
'wide top prewrap',
|
||||
));
|
||||
|
||||
return $table;
|
||||
}
|
||||
|
||||
}
|
|
@ -387,7 +387,7 @@ final class PhabricatorSetupIssueView extends AphrontView {
|
|||
array(),
|
||||
pht(
|
||||
'PHP also loaded these %s configuration file(s):',
|
||||
new PhutilNumber(count($more_loc))));
|
||||
phutil_count($more_loc)));
|
||||
$info[] = phutil_tag(
|
||||
'pre',
|
||||
array(),
|
||||
|
|
|
@ -29,14 +29,13 @@ final class ConpherenceUpdateThreadConduitAPIMethod
|
|||
protected function defineErrorTypes() {
|
||||
return array(
|
||||
'ERR_USAGE_NO_ROOM_ID' => pht(
|
||||
'You must specify a room id or room phid to query transactions '.
|
||||
'from.'),
|
||||
'You must specify a room ID or room PHID to query transactions from.'),
|
||||
'ERR_USAGE_ROOM_NOT_FOUND' => pht(
|
||||
'room does not exist or logged in user can not see it.'),
|
||||
'Room does not exist or logged in user can not see it.'),
|
||||
'ERR_USAGE_ONLY_SELF_REMOVE' => pht(
|
||||
'Only a user can remove themselves from a room.'),
|
||||
'ERR_USAGE_NO_UPDATES' => pht(
|
||||
'You must specify data that actually updates the conpherence.'),
|
||||
'You must specify data that actually updates the Conpherence.'),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -325,8 +325,7 @@ final class ConpherenceUpdateController
|
|||
$remove_person = $request->getStr('remove_person');
|
||||
$participants = $conpherence->getParticipants();
|
||||
|
||||
$message = pht(
|
||||
'Are you sure you want to leave this room?');
|
||||
$message = pht('Are you sure you want to leave this room?');
|
||||
$test_conpherence = clone $conpherence;
|
||||
$test_conpherence->attachParticipants(array());
|
||||
if (!PhabricatorPolicyFilter::hasCapability(
|
||||
|
@ -334,17 +333,14 @@ final class ConpherenceUpdateController
|
|||
$test_conpherence,
|
||||
PhabricatorPolicyCapability::CAN_VIEW)) {
|
||||
if (count($participants) == 1) {
|
||||
$message .= pht(
|
||||
' The room will be inaccessible forever and ever.');
|
||||
$message .= ' '.pht('The room will be inaccessible forever and ever.');
|
||||
} else {
|
||||
$message .= pht(
|
||||
' Someone else in the room can add you back later.');
|
||||
$message .= ' '.pht('Someone else in the room can add you back later.');
|
||||
}
|
||||
}
|
||||
$body = phutil_tag(
|
||||
'p',
|
||||
array(
|
||||
),
|
||||
array(),
|
||||
$message);
|
||||
|
||||
require_celerity_resource('conpherence-update-css');
|
||||
|
|
|
@ -77,14 +77,14 @@ final class ConpherenceTransaction extends PhabricatorApplicationTransaction {
|
|||
count($rem));
|
||||
} else if ($add) {
|
||||
$title = pht(
|
||||
'%s added %d files(s).',
|
||||
'%s added %s files(s).',
|
||||
$this->renderHandleLink($author_phid),
|
||||
count($add));
|
||||
phutil_count($add));
|
||||
} else {
|
||||
$title = pht(
|
||||
'%s removed %d file(s).',
|
||||
'%s removed %s file(s).',
|
||||
$this->renderHandleLink($author_phid),
|
||||
count($rem));
|
||||
phutil_count($rem));
|
||||
}
|
||||
return $title;
|
||||
break;
|
||||
|
|
|
@ -12,6 +12,10 @@ final class PhabricatorCountdownCountdownPHIDType extends PhabricatorPHIDType {
|
|||
return new PhabricatorCountdown();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorCountdownApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -226,7 +226,9 @@ abstract class PhabricatorDaemonManagementWorkflow
|
|||
// Retry without sudo
|
||||
$console->writeOut(
|
||||
"%s\n",
|
||||
pht('sudo command failed. Starting daemon as current user.'));
|
||||
pht(
|
||||
'%s command failed. Starting daemon as current user.',
|
||||
'sudo'));
|
||||
$this->executeDaemonLaunchCommand(
|
||||
$command,
|
||||
$daemon_script_dir,
|
||||
|
@ -265,8 +267,9 @@ abstract class PhabricatorDaemonManagementWorkflow
|
|||
if (preg_match('/sudo: a password is required/', $stderr)) {
|
||||
throw new Exception(
|
||||
pht(
|
||||
'sudo exited with a zero exit code, but emitted output '.
|
||||
'consistent with failure under OSX.'));
|
||||
'%s exited with a zero exit code, but emitted output '.
|
||||
'consistent with failure under OSX.',
|
||||
'sudo'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,10 @@ final class PhabricatorDashboardDashboardPHIDType extends PhabricatorPHIDType {
|
|||
return new PhabricatorDashboard();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDashboardApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class PhabricatorDashboardPanelPHIDType extends PhabricatorPHIDType {
|
|||
return new PhabricatorDashboardPanel();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDashboardApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -218,21 +218,21 @@ final class DifferentialJIRAIssuesField
|
|||
return pht(
|
||||
'%s updated JIRA issue(s): added %d %s; removed %d %s.',
|
||||
$xaction->renderHandleLink($author_phid),
|
||||
new PhutilNumber(count($add)),
|
||||
phutil_count($add),
|
||||
implode(', ', $add),
|
||||
new PhutilNumber(count($rem)),
|
||||
phutil_count($rem),
|
||||
implode(', ', $rem));
|
||||
} else if ($add) {
|
||||
return pht(
|
||||
'%s added %d JIRA issue(s): %s.',
|
||||
$xaction->renderHandleLink($author_phid),
|
||||
new PhutilNumber(count($add)),
|
||||
phutil_count($add),
|
||||
implode(', ', $add));
|
||||
} else if ($rem) {
|
||||
return pht(
|
||||
'%s removed %d JIRA issue(s): %s.',
|
||||
$xaction->renderHandleLink($author_phid),
|
||||
new PhutilNumber(count($rem)),
|
||||
phutil_count($rem),
|
||||
implode(', ', $rem));
|
||||
}
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ final class DifferentialUnitField
|
|||
)) + $groups;
|
||||
|
||||
foreach ($groups as $result => $group) {
|
||||
$count = new PhutilNumber(count($group));
|
||||
$count = phutil_count($group);
|
||||
switch ($result) {
|
||||
case ArcanistUnitTestResult::RESULT_PASS:
|
||||
$note[] = pht('%s Passed Test(s)', $count);
|
||||
|
|
|
@ -135,12 +135,12 @@ abstract class DifferentialReviewersHeraldAction
|
|||
case self::DO_ADD_REVIEWERS:
|
||||
return pht(
|
||||
'Added %s reviewer(s): %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
case self::DO_ADD_BLOCKING_REVIEWERS:
|
||||
return pht(
|
||||
'Added %s blocking reviewer(s): %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,14 +81,14 @@ final class DifferentialCreateMailReceiver extends PhabricatorMailReceiver {
|
|||
} else {
|
||||
$subject = pht(
|
||||
'Diff creation failed; see body for %s error(s).',
|
||||
new PhutilNumber(count($errors)));
|
||||
phutil_count($errors));
|
||||
}
|
||||
$body = new PhabricatorMetaMTAMailBody();
|
||||
$body->addRawSection($subject);
|
||||
if (count($diffs)) {
|
||||
$text_body = '';
|
||||
$html_body = array();
|
||||
$body_label = pht('%s DIFF LINK(S)', new PhutilNumber(count($diffs)));
|
||||
$body_label = pht('%s DIFF LINK(S)', phutil_count($diffs));
|
||||
foreach ($diffs as $filename => $diff_uri) {
|
||||
$text_body .= $filename.': '.$diff_uri."\n";
|
||||
$html_body[] = phutil_tag(
|
||||
|
@ -105,7 +105,7 @@ final class DifferentialCreateMailReceiver extends PhabricatorMailReceiver {
|
|||
|
||||
if (count($errors)) {
|
||||
$body_section = new PhabricatorMetaMTAMailSection();
|
||||
$body_label = pht('%s ERROR(S)', new PhutilNumber(count($errors)));
|
||||
$body_label = pht('%s ERROR(S)', phutil_count($errors));
|
||||
foreach ($errors as $error) {
|
||||
$body_section->addFragment($error);
|
||||
}
|
||||
|
|
|
@ -12,6 +12,10 @@ final class DifferentialDiffPHIDType extends PhabricatorPHIDType {
|
|||
return new DifferentialDiff();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDifferentialApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -8,14 +8,14 @@ final class DifferentialRevisionPHIDType extends PhabricatorPHIDType {
|
|||
return pht('Differential Revision');
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDifferentialApplication';
|
||||
}
|
||||
|
||||
public function newObject() {
|
||||
return new DifferentialRevision();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDifferentialApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -68,7 +68,7 @@ abstract class DiffusionAuditorsHeraldAction
|
|||
case self::DO_ADD_AUDITORS:
|
||||
return pht(
|
||||
'Added %s auditor(s): %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -152,8 +152,8 @@ final class DivinerPHPAtomizer extends DivinerAtomizer {
|
|||
$atom->addWarning(
|
||||
pht(
|
||||
'This call takes %s parameter(s), but only %s are documented.',
|
||||
new PhutilNumber(count($params)),
|
||||
new PhutilNumber(count($docs))));
|
||||
phutil_count($params),
|
||||
phutil_count($docs)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -58,13 +58,7 @@ final class DivinerAtomController extends DivinerController {
|
|||
$crumbs->addTextCrumb($atom_short_title);
|
||||
|
||||
$header = id(new PHUIHeaderView())
|
||||
->setHeader($this->renderFullSignature($symbol))
|
||||
->addTag(
|
||||
id(new PHUITagView())
|
||||
->setType(PHUITagView::TYPE_STATE)
|
||||
->setBackgroundColor(PHUITagView::COLOR_BLUE)
|
||||
->setName(DivinerAtom::getAtomTypeNameString(
|
||||
$atom ? $atom->getType() : $symbol->getType())));
|
||||
->setHeader($this->renderFullSignature($symbol));
|
||||
|
||||
$properties = new PHUIPropertyListView();
|
||||
|
||||
|
@ -78,11 +72,11 @@ final class DivinerAtomController extends DivinerController {
|
|||
$prop_list = new PHUIPropertyGroupView();
|
||||
$prop_list->addPropertyList($properties);
|
||||
|
||||
$document = id(new PHUIDocumentView())
|
||||
$document = id(new PHUIDocumentViewPro())
|
||||
->setBook($book->getTitle(), $group_name)
|
||||
->setHeader($header)
|
||||
->addClass('diviner-view')
|
||||
->appendChild($prop_list);
|
||||
->setPropertyList($prop_list);
|
||||
|
||||
if ($atom) {
|
||||
$this->buildDefined($properties, $symbol);
|
||||
|
@ -163,10 +157,6 @@ final class DivinerAtomController extends DivinerController {
|
|||
->setHeader($spec['title']));
|
||||
|
||||
$task_methods = idx($methods_by_task, $spec['name'], array());
|
||||
$inner_box = id(new PHUIBoxView())
|
||||
->addPadding(PHUI::PADDING_LARGE_LEFT)
|
||||
->addPadding(PHUI::PADDING_LARGE_RIGHT)
|
||||
->addPadding(PHUI::PADDING_LARGE_BOTTOM);
|
||||
|
||||
$box_content = array();
|
||||
if ($task_methods) {
|
||||
|
@ -198,7 +188,7 @@ final class DivinerAtomController extends DivinerController {
|
|||
$box_content = phutil_tag('em', array(), $no_methods);
|
||||
}
|
||||
|
||||
$inner_box->appendChild($box_content);
|
||||
$inner_box = phutil_tag_div('diviner-task-items', $box_content);
|
||||
$section->addContent($inner_box);
|
||||
}
|
||||
$document->appendChild($section);
|
||||
|
@ -246,7 +236,7 @@ final class DivinerAtomController extends DivinerController {
|
|||
->setHref('#'.$key));
|
||||
}
|
||||
|
||||
$document->setSideNav($side, PHUIDocumentView::NAV_TOP);
|
||||
$document->setToc($side);
|
||||
}
|
||||
|
||||
return $this->buildApplicationPage(
|
||||
|
@ -256,6 +246,7 @@ final class DivinerAtomController extends DivinerController {
|
|||
),
|
||||
array(
|
||||
'title' => $symbol->getTitle(),
|
||||
'class' => 'pro-white-background',
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -629,7 +620,7 @@ final class DivinerAtomController extends DivinerController {
|
|||
$content = phutil_tag(
|
||||
'div',
|
||||
array(
|
||||
'class' => 'phabricator-remarkup',
|
||||
'class' => 'phabricator-remarkup diviner-remarkup-section',
|
||||
),
|
||||
$content);
|
||||
} else {
|
||||
|
@ -668,8 +659,6 @@ final class DivinerAtomController extends DivinerController {
|
|||
|
||||
if (($impl !== $parent) || $out) {
|
||||
$where = id(new PHUIBoxView())
|
||||
->addPadding(PHUI::PADDING_MEDIUM_LEFT)
|
||||
->addPadding(PHUI::PADDING_MEDIUM_RIGHT)
|
||||
->addClass('diviner-method-implementation-header')
|
||||
->appendChild($impl->getName());
|
||||
$doc = array($where, $doc);
|
||||
|
|
|
@ -53,7 +53,7 @@ final class DivinerBookController extends DivinerController {
|
|||
->setName($book->getRepository()->getMonogram()));
|
||||
}
|
||||
|
||||
$document = new PHUIDocumentView();
|
||||
$document = new PHUIDocumentViewPro();
|
||||
$document->setHeader($header);
|
||||
$document->addClass('diviner-view');
|
||||
|
||||
|
@ -111,6 +111,7 @@ final class DivinerBookController extends DivinerController {
|
|||
),
|
||||
array(
|
||||
'title' => $book->getTitle(),
|
||||
'class' => 'pro-white-background',
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ final class DivinerMainController extends DivinerController {
|
|||
->setHeader(pht('Documentation Books'))
|
||||
->addActionLink($query_button);
|
||||
|
||||
$document = new PHUIDocumentView();
|
||||
$document = new PHUIDocumentViewPro();
|
||||
$document->setHeader($header);
|
||||
$document->addClass('diviner-view');
|
||||
|
||||
|
@ -45,10 +45,7 @@ final class DivinerMainController extends DivinerController {
|
|||
$list[] = $item;
|
||||
}
|
||||
$list = id(new PHUIBoxView())
|
||||
->addPadding(PHUI::PADDING_LARGE_LEFT)
|
||||
->addPadding(PHUI::PADDING_LARGE_RIGHT)
|
||||
->addPadding(PHUI::PADDING_SMALL_TOP)
|
||||
->addPadding(PHUI::PADDING_SMALL_BOTTOM)
|
||||
->addPadding(PHUI::PADDING_MEDIUM_TOP)
|
||||
->appendChild($list);
|
||||
|
||||
$document->appendChild($list);
|
||||
|
@ -82,7 +79,7 @@ final class DivinerMainController extends DivinerController {
|
|||
),
|
||||
array(
|
||||
'title' => pht('Documentation Books'),
|
||||
'fonts' => true,
|
||||
'class' => 'pro-white-background',
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -140,14 +140,14 @@ abstract class DivinerPublisher extends Phobject {
|
|||
"%s\n",
|
||||
pht(
|
||||
'Deleting %s document(s).',
|
||||
new PhutilNumber(count($deleted))));
|
||||
phutil_count($deleted)));
|
||||
$this->deleteDocumentsByHash($deleted);
|
||||
|
||||
$console->writeOut(
|
||||
"%s\n",
|
||||
pht(
|
||||
'Creating %s document(s).',
|
||||
new PhutilNumber(count($created))));
|
||||
phutil_count($created)));
|
||||
$this->createDocumentsByHash($created);
|
||||
}
|
||||
|
||||
|
|
|
@ -30,12 +30,10 @@ final class DivinerSectionView extends AphrontTagView {
|
|||
|
||||
$header = id(new PHUIHeaderView())
|
||||
->setBleedHeader(true)
|
||||
->addClass('diviner-section-header')
|
||||
->setHeader($this->header);
|
||||
|
||||
$content = id(new PHUIBoxView())
|
||||
->addPadding(PHUI::PADDING_LARGE_LEFT)
|
||||
->addPadding(PHUI::PADDING_LARGE_RIGHT)
|
||||
->appendChild($this->content);
|
||||
$content = phutil_tag_div('diviner-section-content', $this->content);
|
||||
|
||||
return array($header, $content);
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
|
|||
'.book',
|
||||
'--book <book>'));
|
||||
} else {
|
||||
$this->log(pht('Found %s book(s).', new PhutilNumber(count($books))));
|
||||
$this->log(pht('Found %s book(s).', phutil_count($books)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -224,26 +224,26 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
|
|||
$this->log(
|
||||
pht(
|
||||
'Found %s file(s) in project.',
|
||||
new PhutilNumber(count($file_hashes))));
|
||||
phutil_count($file_hashes)));
|
||||
|
||||
$this->deleteDeadAtoms($file_hashes);
|
||||
$atomize = $this->getFilesToAtomize($file_hashes);
|
||||
$this->log(
|
||||
pht(
|
||||
'Found %s unatomized, uncached file(s).',
|
||||
new PhutilNumber(count($atomize))));
|
||||
phutil_count($atomize)));
|
||||
|
||||
$file_atomizers = $this->getAtomizersForFiles($atomize);
|
||||
$this->log(
|
||||
pht(
|
||||
'Found %s file(s) to atomize.',
|
||||
new PhutilNumber(count($file_atomizers))));
|
||||
phutil_count($file_atomizers)));
|
||||
|
||||
$futures = $this->buildAtomizerFutures($file_atomizers);
|
||||
$this->log(
|
||||
pht(
|
||||
'Atomizing %s file(s).',
|
||||
new PhutilNumber(count($file_atomizers))));
|
||||
phutil_count($file_atomizers)));
|
||||
|
||||
if ($futures) {
|
||||
$this->resolveAtomizerFutures($futures, $file_hashes);
|
||||
|
@ -452,7 +452,7 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
|
|||
$this->log(
|
||||
pht(
|
||||
'Found %s obsolete atom(s) in graph.',
|
||||
new PhutilNumber(count($del_atoms))));
|
||||
phutil_count($del_atoms)));
|
||||
|
||||
foreach ($del_atoms as $nhash => $shash) {
|
||||
$atom_cache->deleteSymbol($nhash);
|
||||
|
@ -466,7 +466,7 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
|
|||
$this->log(
|
||||
pht(
|
||||
'Found %s new atom(s) in graph.',
|
||||
new PhutilNumber(count($new_atoms))));
|
||||
phutil_count($new_atoms)));
|
||||
|
||||
foreach ($new_atoms as $nhash => $ignored) {
|
||||
$shash = $this->computeSymbolHash($nhash);
|
||||
|
@ -505,7 +505,7 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
|
|||
$this->log(
|
||||
pht(
|
||||
'Found %s affected atoms.',
|
||||
new PhutilNumber(count($dirty_nhashes))));
|
||||
phutil_count($dirty_nhashes)));
|
||||
|
||||
foreach ($dirty_nhashes as $nhash => $ignored) {
|
||||
$atom_cache->addGraph($nhash, $this->computeGraphHash($nhash));
|
||||
|
|
|
@ -96,8 +96,11 @@ final class PhabricatorAsanaConfigOptions
|
|||
}
|
||||
|
||||
$out = array();
|
||||
$out[] = pht('| Workspace ID | Workspace Name |');
|
||||
$out[] = '| ------------ | -------------- |';
|
||||
$out[] = sprintf(
|
||||
'| %s | %s |',
|
||||
pht('Workspace ID'),
|
||||
pht('Workspace Name'));
|
||||
$out[] = '| ------------ | -------------- |';
|
||||
foreach ($workspaces as $workspace) {
|
||||
$out[] = sprintf('| `%s` | `%s` |', $workspace['id'], $workspace['name']);
|
||||
}
|
||||
|
|
|
@ -12,6 +12,10 @@ final class DrydockAuthorizationPHIDType extends PhabricatorPHIDType {
|
|||
return new DrydockAuthorization();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDrydockApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -8,10 +8,6 @@ final class DrydockBlueprintPHIDType extends PhabricatorPHIDType {
|
|||
return pht('Blueprint');
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDrydockApplication';
|
||||
}
|
||||
|
||||
public function getTypeIcon() {
|
||||
return 'fa-map-o';
|
||||
}
|
||||
|
@ -20,6 +16,10 @@ final class DrydockBlueprintPHIDType extends PhabricatorPHIDType {
|
|||
return new DrydockBlueprint();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDrydockApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -8,10 +8,6 @@ final class DrydockLeasePHIDType extends PhabricatorPHIDType {
|
|||
return pht('Drydock Lease');
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDrydockApplication';
|
||||
}
|
||||
|
||||
public function getTypeIcon() {
|
||||
return 'fa-link';
|
||||
}
|
||||
|
@ -20,6 +16,10 @@ final class DrydockLeasePHIDType extends PhabricatorPHIDType {
|
|||
return new DrydockLease();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDrydockApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class DrydockRepositoryOperationPHIDType extends PhabricatorPHIDType {
|
|||
return new DrydockRepositoryOperation();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDrydockApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -8,10 +8,6 @@ final class DrydockResourcePHIDType extends PhabricatorPHIDType {
|
|||
return pht('Drydock Resource');
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDrydockApplication';
|
||||
}
|
||||
|
||||
public function getTypeIcon() {
|
||||
return 'fa-map';
|
||||
}
|
||||
|
@ -20,6 +16,10 @@ final class DrydockResourcePHIDType extends PhabricatorPHIDType {
|
|||
return new DrydockResource();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorDrydockApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -2,26 +2,6 @@
|
|||
|
||||
abstract class PhabricatorFeedController extends PhabricatorController {
|
||||
|
||||
public function buildStandardPageResponse($view, array $data) {
|
||||
$page = $this->buildStandardPageView();
|
||||
|
||||
$page->setApplicationName(pht('Feed'));
|
||||
$page->setBaseURI('/feed/');
|
||||
$page->setTitle(idx($data, 'title'));
|
||||
$page->setGlyph("\xE2\x88\x9E");
|
||||
$page->appendChild($view);
|
||||
|
||||
$response = new AphrontWebpageResponse();
|
||||
|
||||
if (!empty($data['public'])) {
|
||||
$page->setFrameable(true);
|
||||
$page->setShowChrome(false);
|
||||
$response->setFrameable(true);
|
||||
}
|
||||
|
||||
return $response->setContent($page->render());
|
||||
}
|
||||
|
||||
protected function buildSideNavView() {
|
||||
$user = $this->getRequest()->getUser();
|
||||
|
||||
|
|
|
@ -12,6 +12,10 @@ final class PhabricatorFileFilePHIDType extends PhabricatorPHIDType {
|
|||
return new PhabricatorFile();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorFilesApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -557,7 +557,7 @@ final class PhabricatorFile extends PhabricatorFileDAO
|
|||
'Failed to fetch remote URI "%s" after following %s redirect(s) '.
|
||||
'(%s): %s',
|
||||
$uri,
|
||||
new PhutilNumber(count($redirects)),
|
||||
phutil_count($redirects),
|
||||
implode(' > ', array_keys($redirects)),
|
||||
$ex->getMessage()),
|
||||
$ex);
|
||||
|
|
|
@ -12,6 +12,10 @@ final class FundBackerPHIDType extends PhabricatorPHIDType {
|
|||
return new FundInitiative();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorFundApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -37,7 +37,7 @@ final class HarbormasterSendMessageConduitAPIMethod
|
|||
$unit_spec = HarbormasterBuildUnitMessage::getParameterSpec();
|
||||
foreach ($unit_spec as $key => $parameter) {
|
||||
$type = idx($parameter, 'type');
|
||||
$type = str_replace('|', pht(' or '), $type);
|
||||
$type = str_replace('|', ' '.pht('or').' ', $type);
|
||||
$description = idx($parameter, 'description');
|
||||
$rows[] = "| `{$key}` | //{$type}// | {$description} |";
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ final class HarbormasterSendMessageConduitAPIMethod
|
|||
$lint_spec = HarbormasterBuildLintMessage::getParameterSpec();
|
||||
foreach ($lint_spec as $key => $parameter) {
|
||||
$type = idx($parameter, 'type');
|
||||
$type = str_replace('|', pht(' or '), $type);
|
||||
$type = str_replace('|', ' '.pht('or').' ', $type);
|
||||
$description = idx($parameter, 'description');
|
||||
$rows[] = "| `{$key}` | //{$type}// | {$description} |";
|
||||
}
|
||||
|
|
|
@ -377,7 +377,7 @@ final class HarbormasterBuildViewController
|
|||
array(
|
||||
pht(
|
||||
'%s empty logs are hidden.',
|
||||
new PhutilNumber(count($empty_logs))),
|
||||
phutil_count($empty_logs)),
|
||||
' ',
|
||||
javelin_tag(
|
||||
'a',
|
||||
|
|
|
@ -59,7 +59,7 @@ final class HarbormasterPlanRunController extends HarbormasterController {
|
|||
|
||||
if (!$errors) {
|
||||
$buildable->save();
|
||||
$buildable->applyPlan($plan, array());
|
||||
$buildable->applyPlan($plan, array(), $viewer->getPHID());
|
||||
|
||||
$buildable_uri = '/B'.$buildable->getID();
|
||||
return id(new AphrontRedirectResponse())->setURI($buildable_uri);
|
||||
|
|
|
@ -231,7 +231,10 @@ final class HarbormasterStepEditController extends HarbormasterController {
|
|||
'The following variables can be used in most fields. '.
|
||||
'To reference a variable, use `%s` in a field.',
|
||||
'${name}');
|
||||
$rows[] = pht('| Variable | Description |');
|
||||
$rows[] = sprintf(
|
||||
'| %s | %s |',
|
||||
pht('Variable'),
|
||||
pht('Description'));
|
||||
$rows[] = '|---|---|';
|
||||
foreach ($variables as $name => $description) {
|
||||
$rows[] = '| `'.$name.'` | '.$description.' |';
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
final class HarbormasterBuildRequest extends Phobject {
|
||||
|
||||
private $buildPlanPHID;
|
||||
private $initiatorPHID;
|
||||
private $buildParameters = array();
|
||||
|
||||
public function setBuildPlanPHID($build_plan_phid) {
|
||||
|
@ -34,4 +35,13 @@ final class HarbormasterBuildRequest extends Phobject {
|
|||
return $this->buildParameters;
|
||||
}
|
||||
|
||||
public function setInitiatorPHID($phid) {
|
||||
$this->initiatorPHID = $phid;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getInitiatorPHID() {
|
||||
return $this->initiatorPHID;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ final class HarbormasterTargetEngine extends Phobject {
|
|||
private $object;
|
||||
private $autoTargetKeys;
|
||||
|
||||
public function setViewer($viewer) {
|
||||
public function setViewer(PhabricatorUser $viewer) {
|
||||
$this->viewer = $viewer;
|
||||
return $this;
|
||||
}
|
||||
|
@ -163,6 +163,10 @@ final class HarbormasterTargetEngine extends Phobject {
|
|||
array $step_map) {
|
||||
|
||||
$viewer = $this->getViewer();
|
||||
$initiator_phid = null;
|
||||
if (!$viewer->isOmnipotent()) {
|
||||
$initiator_phid = $viewer->getPHID();
|
||||
}
|
||||
$plan_map = mgroup($step_map, 'getBuildPlanPHID');
|
||||
|
||||
$builds = id(new HarbormasterBuildQuery())
|
||||
|
@ -206,7 +210,7 @@ final class HarbormasterTargetEngine extends Phobject {
|
|||
// resource and "own" it, so we don't try to handle this, but may need
|
||||
// to be more careful here if use of autotargets expands.
|
||||
|
||||
$build = $buildable->applyPlan($plan, array());
|
||||
$build = $buildable->applyPlan($plan, array(), $initiator_phid);
|
||||
PhabricatorWorker::setRunAllTasksInProcess(false);
|
||||
} catch (Exception $ex) {
|
||||
PhabricatorWorker::setRunAllTasksInProcess(false);
|
||||
|
|
|
@ -16,7 +16,7 @@ final class HarbormasterRunBuildPlansHeraldAction
|
|||
return ($adapter instanceof HarbormasterBuildableAdapterInterface);
|
||||
}
|
||||
|
||||
protected function applyBuilds(array $phids) {
|
||||
protected function applyBuilds(array $phids, HeraldRule $rule) {
|
||||
$adapter = $this->getAdapter();
|
||||
|
||||
$allowed_types = array(
|
||||
|
@ -32,7 +32,8 @@ final class HarbormasterRunBuildPlansHeraldAction
|
|||
|
||||
foreach ($phids as $phid) {
|
||||
$request = id(new HarbormasterBuildRequest())
|
||||
->setBuildPlanPHID($phid);
|
||||
->setBuildPlanPHID($phid)
|
||||
->setInitiatorPHID($rule->getPHID());
|
||||
$adapter->queueHarbormasterBuildRequest($request);
|
||||
}
|
||||
|
||||
|
@ -54,7 +55,7 @@ final class HarbormasterRunBuildPlansHeraldAction
|
|||
case self::DO_BUILD:
|
||||
return pht(
|
||||
'Started %s build(s): %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
}
|
||||
}
|
||||
|
@ -68,7 +69,7 @@ final class HarbormasterRunBuildPlansHeraldAction
|
|||
}
|
||||
|
||||
public function applyEffect($object, HeraldEffect $effect) {
|
||||
return $this->applyBuilds($effect->getTarget());
|
||||
return $this->applyBuilds($effect->getTarget(), $effect->getRule());
|
||||
}
|
||||
|
||||
public function getHeraldActionStandardType() {
|
||||
|
|
|
@ -98,7 +98,12 @@ final class HarbormasterManagementBuildWorkflow
|
|||
PhabricatorWorker::setRunAllTasksInProcess(true);
|
||||
}
|
||||
|
||||
$buildable->applyPlan($plan, array());
|
||||
if ($viewer->isOmnipotent()) {
|
||||
$initiator = id(new PhabricatorHarbormasterApplication())->getPHID();
|
||||
} else {
|
||||
$initiator = $viewer->getPHID();
|
||||
}
|
||||
$buildable->applyPlan($plan, array(), $initiator);
|
||||
|
||||
$console->writeOut("%s\n", pht('Done.'));
|
||||
|
||||
|
|
|
@ -12,6 +12,10 @@ final class HarbormasterBuildArtifactPHIDType extends PhabricatorPHIDType {
|
|||
return new HarbormasterBuildArtifact();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorHarbormasterApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class HarbormasterBuildLogPHIDType extends PhabricatorPHIDType {
|
|||
return new HarbormasterBuildLog();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorHarbormasterApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class HarbormasterBuildPHIDType extends PhabricatorPHIDType {
|
|||
return new HarbormasterBuild();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorHarbormasterApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -16,6 +16,10 @@ final class HarbormasterBuildPlanPHIDType extends PhabricatorPHIDType {
|
|||
return new HarbormasterBuildPlan();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorHarbormasterApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class HarbormasterBuildStepPHIDType extends PhabricatorPHIDType {
|
|||
return new HarbormasterBuildStep();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorHarbormasterApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class HarbormasterBuildTargetPHIDType extends PhabricatorPHIDType {
|
|||
return new HarbormasterBuildTarget();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorHarbormasterApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -12,6 +12,10 @@ final class HarbormasterBuildablePHIDType extends PhabricatorPHIDType {
|
|||
return new HarbormasterBuildable();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorHarbormasterApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -154,11 +154,14 @@ final class HarbormasterBuildable extends HarbormasterDAO
|
|||
}
|
||||
|
||||
$parameters = $request->getBuildParameters();
|
||||
$buildable->applyPlan($plan, $parameters);
|
||||
$buildable->applyPlan($plan, $parameters, $request->getInitiatorPHID());
|
||||
}
|
||||
}
|
||||
|
||||
public function applyPlan(HarbormasterBuildPlan $plan, array $parameters) {
|
||||
public function applyPlan(
|
||||
HarbormasterBuildPlan $plan,
|
||||
array $parameters,
|
||||
$initiator_phid) {
|
||||
|
||||
$viewer = PhabricatorUser::getOmnipotentUser();
|
||||
$build = HarbormasterBuild::initializeNewBuild($viewer)
|
||||
|
@ -166,6 +169,9 @@ final class HarbormasterBuildable extends HarbormasterDAO
|
|||
->setBuildPlanPHID($plan->getPHID())
|
||||
->setBuildParameters($parameters)
|
||||
->setBuildStatus(HarbormasterBuild::STATUS_PENDING);
|
||||
if ($initiator_phid) {
|
||||
$build->setInitiatorPHID($initiator_phid);
|
||||
}
|
||||
|
||||
$auto_key = $plan->getPlanAutoKey();
|
||||
if ($auto_key) {
|
||||
|
|
|
@ -10,6 +10,7 @@ final class HarbormasterBuild extends HarbormasterDAO
|
|||
protected $buildStatus;
|
||||
protected $buildGeneration;
|
||||
protected $buildParameters = array();
|
||||
protected $initiatorPHID;
|
||||
protected $planAutoKey;
|
||||
|
||||
private $buildable = self::ATTACHABLE;
|
||||
|
@ -164,6 +165,7 @@ final class HarbormasterBuild extends HarbormasterDAO
|
|||
'buildStatus' => 'text32',
|
||||
'buildGeneration' => 'uint32',
|
||||
'planAutoKey' => 'text32?',
|
||||
'initiatorPHID' => 'phid?',
|
||||
),
|
||||
self::CONFIG_KEY_SCHEMA => array(
|
||||
'key_buildable' => array(
|
||||
|
@ -260,6 +262,7 @@ final class HarbormasterBuild extends HarbormasterDAO
|
|||
'repository.uri' => null,
|
||||
'step.timestamp' => null,
|
||||
'build.id' => null,
|
||||
'initiator.phid' => null,
|
||||
);
|
||||
|
||||
foreach ($this->getBuildParameters() as $key => $value) {
|
||||
|
@ -275,6 +278,7 @@ final class HarbormasterBuild extends HarbormasterDAO
|
|||
|
||||
$results['step.timestamp'] = time();
|
||||
$results['build.id'] = $this->getID();
|
||||
$results['initiator.phid'] = $this->getInitiatorPHID();
|
||||
|
||||
return $results;
|
||||
}
|
||||
|
@ -289,6 +293,9 @@ final class HarbormasterBuild extends HarbormasterDAO
|
|||
'step.timestamp' => pht('The current UNIX timestamp.'),
|
||||
'build.id' => pht('The ID of the current build.'),
|
||||
'target.phid' => pht('The PHID of the current build target.'),
|
||||
'initiator.phid' => pht(
|
||||
'The PHID of the user or Object that initiated the build, '.
|
||||
'if applicable.'),
|
||||
);
|
||||
|
||||
foreach ($objects as $object) {
|
||||
|
|
|
@ -1,18 +1,3 @@
|
|||
<?php
|
||||
|
||||
abstract class PhabricatorHelpController extends PhabricatorController {
|
||||
|
||||
public function buildStandardPageResponse($view, array $data) {
|
||||
$page = $this->buildStandardPageView();
|
||||
|
||||
$page->setApplicationName(pht('Help'));
|
||||
$page->setBaseURI('/help/');
|
||||
$page->setTitle(idx($data, 'title'));
|
||||
$page->setGlyph('?');
|
||||
$page->appendChild($view);
|
||||
|
||||
$response = new AphrontWebpageResponse();
|
||||
return $response->setContent($page->render());
|
||||
}
|
||||
|
||||
}
|
||||
abstract class PhabricatorHelpController extends PhabricatorController {}
|
||||
|
|
|
@ -346,22 +346,22 @@ abstract class HeraldAction extends Phobject {
|
|||
case self::DO_STANDARD_NO_EFFECT:
|
||||
return pht(
|
||||
'This action has no effect on %s target(s): %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
case self::DO_STANDARD_INVALID:
|
||||
return pht(
|
||||
'%s target(s) are invalid or of the wrong type: %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
case self::DO_STANDARD_UNLOADABLE:
|
||||
return pht(
|
||||
'%s target(s) could not be loaded: %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
case self::DO_STANDARD_PERMISSION:
|
||||
return pht(
|
||||
'%s target(s) do not have permission to see this object: %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
case self::DO_STANDARD_INVALID_ACTION:
|
||||
return pht(
|
||||
|
|
|
@ -2,20 +2,6 @@
|
|||
|
||||
abstract class HeraldController extends PhabricatorController {
|
||||
|
||||
public function buildStandardPageResponse($view, array $data) {
|
||||
$page = $this->buildStandardPageView();
|
||||
|
||||
$page->setApplicationName(pht('Herald'));
|
||||
$page->setBaseURI('/herald/');
|
||||
$page->setTitle(idx($data, 'title'));
|
||||
$page->setGlyph("\xE2\x98\xBF");
|
||||
|
||||
$page->appendChild($view);
|
||||
|
||||
$response = new AphrontWebpageResponse();
|
||||
return $response->setContent($page->render());
|
||||
}
|
||||
|
||||
public function buildApplicationMenu() {
|
||||
return $this->buildSideNavView(true)->getMenu();
|
||||
}
|
||||
|
|
|
@ -12,6 +12,10 @@ final class HeraldRulePHIDType extends PhabricatorPHIDType {
|
|||
return new HeraldRule();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorHeraldApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -2,19 +2,6 @@
|
|||
|
||||
abstract class PhabricatorHomeController extends PhabricatorController {
|
||||
|
||||
public function buildStandardPageResponse($view, array $data) {
|
||||
$page = $this->buildStandardPageView();
|
||||
|
||||
$page->setBaseURI('/');
|
||||
$page->setTitle(idx($data, 'title'));
|
||||
|
||||
$page->setGlyph("\xE2\x9A\x92");
|
||||
$page->appendChild($view);
|
||||
|
||||
$response = new AphrontWebpageResponse();
|
||||
return $response->setContent($page->render());
|
||||
}
|
||||
|
||||
public function buildNav() {
|
||||
$user = $this->getRequest()->getUser();
|
||||
|
||||
|
|
|
@ -253,7 +253,7 @@ final class LegalpadDocumentSignController extends LegalpadController {
|
|||
->setIcon(
|
||||
id(new PHUIIconView())
|
||||
->setIconFont('fa-pencil'))
|
||||
->setText(pht('Manage Document'))
|
||||
->setText(pht('Manage'))
|
||||
->setHref($manage_uri)
|
||||
->setDisabled(!$can_edit)
|
||||
->setWorkflow(!$can_edit));
|
||||
|
@ -278,7 +278,7 @@ final class LegalpadDocumentSignController extends LegalpadController {
|
|||
$preamble_box->addPropertyList($preamble);
|
||||
}
|
||||
|
||||
$content = id(new PHUIDocumentView())
|
||||
$content = id(new PHUIDocumentViewPro())
|
||||
->addClass('legalpad')
|
||||
->setHeader($header)
|
||||
->appendChild(
|
||||
|
@ -288,6 +288,7 @@ final class LegalpadDocumentSignController extends LegalpadController {
|
|||
$document_markup,
|
||||
));
|
||||
|
||||
$signature_box = null;
|
||||
if (!$has_signed) {
|
||||
$error_view = null;
|
||||
if ($errors) {
|
||||
|
@ -301,23 +302,21 @@ final class LegalpadDocumentSignController extends LegalpadController {
|
|||
$field_errors);
|
||||
|
||||
switch ($document->getSignatureType()) {
|
||||
case LegalpadDocument::SIGNATURE_TYPE_NONE:
|
||||
$subheader = null;
|
||||
default:
|
||||
break;
|
||||
case LegalpadDocument::SIGNATURE_TYPE_INDIVIDUAL:
|
||||
case LegalpadDocument::SIGNATURE_TYPE_CORPORATION:
|
||||
$subheader = id(new PHUIHeaderView())
|
||||
->setHeader(pht('Agree and Sign Document'))
|
||||
->setBleedHeader(true);
|
||||
$box = id(new PHUIObjectBoxView())
|
||||
->setHeaderText(pht('Agree and Sign Document'))
|
||||
->setForm($signature_form);
|
||||
if ($error_view) {
|
||||
$box->setInfoView($error_view);
|
||||
}
|
||||
$signature_box = phutil_tag_div('phui-document-view-pro-box', $box);
|
||||
break;
|
||||
}
|
||||
|
||||
$content->appendChild(
|
||||
array(
|
||||
$subheader,
|
||||
$error_view,
|
||||
$signature_form,
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
$crumbs = $this->buildApplicationCrumbs();
|
||||
|
@ -328,9 +327,11 @@ final class LegalpadDocumentSignController extends LegalpadController {
|
|||
array(
|
||||
$crumbs,
|
||||
$content,
|
||||
$signature_box,
|
||||
),
|
||||
array(
|
||||
'title' => $title,
|
||||
'class' => 'pro-white-background',
|
||||
'pageObjects' => array($document->getPHID()),
|
||||
));
|
||||
}
|
||||
|
|
|
@ -95,12 +95,12 @@ final class LegalpadRequireSignatureHeraldAction
|
|||
case self::DO_SIGNED:
|
||||
return pht(
|
||||
'%s document(s) are already signed: %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
case self::DO_REQUIRED:
|
||||
return pht(
|
||||
'Required %s signature(s): %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,10 @@ final class PhabricatorLegalpadDocumentPHIDType extends PhabricatorPHIDType {
|
|||
return new LegalpadDocument();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorLegalpadApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -8,14 +8,14 @@ final class ManiphestTaskPHIDType extends PhabricatorPHIDType {
|
|||
return pht('Maniphest Task');
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorManiphestApplication';
|
||||
}
|
||||
|
||||
public function newObject() {
|
||||
return new ManiphestTask();
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorManiphestApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -546,23 +546,23 @@ final class ManiphestTransaction
|
|||
$removed = array_diff($old, $new);
|
||||
if ($added && !$removed) {
|
||||
return pht(
|
||||
'%s attached %d file(s): %s.',
|
||||
'%s attached %s file(s): %s.',
|
||||
$this->renderHandleLink($author_phid),
|
||||
count($added),
|
||||
phutil_count($added),
|
||||
$this->renderHandleList($added));
|
||||
} else if ($removed && !$added) {
|
||||
return pht(
|
||||
'%s detached %d file(s): %s.',
|
||||
'%s detached %s file(s): %s.',
|
||||
$this->renderHandleLink($author_phid),
|
||||
count($removed),
|
||||
phutil_count($removed),
|
||||
$this->renderHandleList($removed));
|
||||
} else {
|
||||
return pht(
|
||||
'%s changed file(s), attached %d: %s; detached %d: %s.',
|
||||
'%s changed file(s), attached %s: %s; detached %s: %s.',
|
||||
$this->renderHandleLink($author_phid),
|
||||
count($added),
|
||||
phutil_count($added),
|
||||
$this->renderHandleList($added),
|
||||
count($removed),
|
||||
phutil_count($removed),
|
||||
$this->renderHandleList($removed));
|
||||
}
|
||||
|
||||
|
@ -585,9 +585,9 @@ final class ManiphestTransaction
|
|||
|
||||
case self::TYPE_MERGED_FROM:
|
||||
return pht(
|
||||
'%s merged %d task(s): %s.',
|
||||
'%s merged %s task(s): %s.',
|
||||
$this->renderHandleLink($author_phid),
|
||||
count($new),
|
||||
phutil_count($new),
|
||||
$this->renderHandleList($new));
|
||||
break;
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ final class ManiphestTaskResultListView extends ManiphestView {
|
|||
$header = id(new PHUIHeaderView())
|
||||
->addSigil('task-group')
|
||||
->setMetadata(array('priority' => head($list)->getPriority()))
|
||||
->setHeader(pht('%s (%s)', $group, new PhutilNumber(count($list))));
|
||||
->setHeader(pht('%s (%s)', $group, phutil_count($list)));
|
||||
|
||||
$lists[] = id(new PHUIObjectBoxView())
|
||||
->setHeader($header)
|
||||
|
|
|
@ -115,6 +115,7 @@ final class PhabricatorApplicationEmailCommandsController
|
|||
$crumbs = $this->buildApplicationCrumbs();
|
||||
$this->addApplicationCrumb($crumbs, $selected);
|
||||
$crumbs->addTextCrumb($title);
|
||||
$crumbs->setBorder(true);
|
||||
|
||||
$content_box = PhabricatorMarkupEngine::renderOneObject(
|
||||
id(new PhabricatorMarkupOneOff())->setContent($content),
|
||||
|
@ -134,7 +135,7 @@ final class PhabricatorApplicationEmailCommandsController
|
|||
$header = id(new PHUIHeaderView())
|
||||
->setHeader($title);
|
||||
|
||||
$document = id(new PHUIDocumentView())
|
||||
$document = id(new PHUIDocumentViewPro())
|
||||
->setHeader($header)
|
||||
->appendChild($info_view)
|
||||
->appendChild($content_box);
|
||||
|
@ -146,6 +147,7 @@ final class PhabricatorApplicationEmailCommandsController
|
|||
),
|
||||
array(
|
||||
'title' => $title,
|
||||
'class' => 'pro-white-background',
|
||||
));
|
||||
|
||||
}
|
||||
|
|
|
@ -17,6 +17,10 @@ final class PhabricatorApplicationApplicationPHIDType
|
|||
return null;
|
||||
}
|
||||
|
||||
public function getPHIDTypeApplicationClass() {
|
||||
return 'PhabricatorApplicationsApplication';
|
||||
}
|
||||
|
||||
protected function buildQueryForObjects(
|
||||
PhabricatorObjectQuery $query,
|
||||
array $phids) {
|
||||
|
|
|
@ -75,13 +75,13 @@ abstract class PhabricatorMetaMTAEmailHeraldAction
|
|||
case self::DO_SEND:
|
||||
return pht(
|
||||
'Queued email to be delivered to %s target(s): %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
case self::DO_FORCE:
|
||||
return pht(
|
||||
'Queued email to be delivered to %s target(s), ignoring their '.
|
||||
'notification preferences: %s.',
|
||||
new PhutilNumber(count($data)),
|
||||
phutil_count($data),
|
||||
$this->renderHandleList($data));
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue