1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-04 12:42:43 +01:00

(stable) Promote 2015 Week 45

This commit is contained in:
epriestley 2015-11-07 04:58:26 -08:00
commit e1642ada6e
289 changed files with 15122 additions and 9638 deletions

View file

@ -29,19 +29,18 @@ html {
.oblivious-content { .oblivious-content {
padding-top: 3%; padding-top: 3%;
margin-left: 22%; margin-left: 22%;
max-width: 600px; max-width: 800px;
} }
a { a {
color: #222222; color: #2980b9;
text-decoration: none; text-decoration: none;
} }
a:hover { a:hover {
color: #a00000; text-decoration: underline;
} }
h1 { h1 {
font-size: 24px; font-size: 24px;
font-weight: normal; font-weight: normal;
@ -50,37 +49,24 @@ h1 {
h2 { h2 {
font-size: 22px; font-size: 22px;
font-weight: bold; font-weight: bold;
margin-bottom: 8px;
} }
.phame-post { .phame-post {
margin: 0 0 2em; margin: 0 0 2em;
} }
.phame-post-title {
font-size: 28px;
}
.phame-post-date { .phame-post-date {
font-size: 12px; font-size: 12px;
margin: .25em 0 1em; margin: .25em 0 2em;
} }
.phame-post { .oblivious-content .phabricator-remarkup ul.remarkup-list {
line-height: 1.6em; margin-left: 0;
}
.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;
} }
.fb-comments, .fb-comments,

View file

@ -13,6 +13,6 @@
echo _e($blog->getName()); echo _e($blog->getName());
?></a> ?></a>
</h1> </h1>
<p><?php echo _e($blog->getDescription()); ?></p> <p><?php echo $skin->remarkup($blog->getDescription()); ?></p>
</div> </div>
<div class="oblivious-content"> <div class="oblivious-content">

View file

@ -7,7 +7,7 @@
*/ */
return array( return array(
'names' => array( 'names' => array(
'core.pkg.css' => '15e557bc', 'core.pkg.css' => 'e94665e4',
'core.pkg.js' => '47dc9ebb', 'core.pkg.js' => '47dc9ebb',
'darkconsole.pkg.js' => 'e7393ebb', 'darkconsole.pkg.js' => 'e7393ebb',
'differential.pkg.css' => '2de124c9', 'differential.pkg.css' => '2de124c9',
@ -25,8 +25,8 @@ return array(
'rsrc/css/aphront/notification.css' => '9c279160', 'rsrc/css/aphront/notification.css' => '9c279160',
'rsrc/css/aphront/panel-view.css' => '8427b78d', 'rsrc/css/aphront/panel-view.css' => '8427b78d',
'rsrc/css/aphront/phabricator-nav-view.css' => 'a24cb589', 'rsrc/css/aphront/phabricator-nav-view.css' => 'a24cb589',
'rsrc/css/aphront/table-view.css' => '61543e7a', 'rsrc/css/aphront/table-view.css' => '6d01d468',
'rsrc/css/aphront/tokenizer.css' => '04875312', 'rsrc/css/aphront/tokenizer.css' => '056da01b',
'rsrc/css/aphront/tooltip.css' => '7672b60f', 'rsrc/css/aphront/tooltip.css' => '7672b60f',
'rsrc/css/aphront/typeahead-browse.css' => 'd8581d2c', 'rsrc/css/aphront/typeahead-browse.css' => 'd8581d2c',
'rsrc/css/aphront/typeahead.css' => '0e403212', 'rsrc/css/aphront/typeahead.css' => '0e403212',
@ -36,7 +36,7 @@ return array(
'rsrc/css/application/base/notification-menu.css' => 'f31c0bde', 'rsrc/css/application/base/notification-menu.css' => 'f31c0bde',
'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601', 'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601',
'rsrc/css/application/base/phui-theme.css' => '6b451f24', '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/calendar/calendar-icon.css' => 'c69aa59f',
'rsrc/css/application/chatlog/chatlog.css' => 'd295b020', 'rsrc/css/application/chatlog/chatlog.css' => 'd295b020',
'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4', '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-differential-create-dialog.css' => '8d8b92cd',
'rsrc/css/application/releeph/releeph-request-typeahead.css' => '667a48ae', 'rsrc/css/application/releeph/releeph-request-typeahead.css' => '667a48ae',
'rsrc/css/application/search/search-results.css' => '7dea472c', '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/tokens/tokens.css' => '3d0f239e',
'rsrc/css/application/uiexample/example.css' => '528b19de', 'rsrc/css/application/uiexample/example.css' => '528b19de',
'rsrc/css/core/core.css' => 'a76cefc9', 'rsrc/css/core/core.css' => '78e8d7ea',
'rsrc/css/core/remarkup.css' => '8d341238', 'rsrc/css/core/remarkup.css' => '2193fc05',
'rsrc/css/core/syntax.css' => '9fd11da8', 'rsrc/css/core/syntax.css' => '9fd11da8',
'rsrc/css/core/z-index.css' => '57ddcaa2', '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-awesome.css' => 'd2fc4e8d',
'rsrc/css/font/font-lato.css' => '5ab1a46a', '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/font/phui-font-icon-base.css' => 'ecbbb4c2',
'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82', 'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82',
'rsrc/css/layout/phabricator-hovercard-view.css' => '1239cd52', '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-box.css' => 'a5bb366d',
'rsrc/css/phui/phui-button.css' => '16020a60', 'rsrc/css/phui/phui-button.css' => '16020a60',
'rsrc/css/phui/phui-crumbs-view.css' => 'd842f867', '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-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-view.css' => '621b21c5',
'rsrc/css/phui/phui-form.css' => 'afdb2c6e', 'rsrc/css/phui/phui-form.css' => 'afdb2c6e',
'rsrc/css/phui/phui-header-view.css' => '55bb32dd', 'rsrc/css/phui/phui-header-view.css' => '55bb32dd',
'rsrc/css/phui/phui-icon.css' => 'b0a6b1b6', 'rsrc/css/phui/phui-icon.css' => 'b0a6b1b6',
'rsrc/css/phui/phui-image-mask.css' => '5a8b09c8', 'rsrc/css/phui/phui-image-mask.css' => '5a8b09c8',
'rsrc/css/phui/phui-info-panel.css' => '27ea50a1', '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-list.css' => '125599df',
'rsrc/css/phui/phui-object-box.css' => '407eaf5a', 'rsrc/css/phui/phui-object-box.css' => '407eaf5a',
'rsrc/css/phui/phui-object-item-list-view.css' => '26c30d3f', '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-remarkup-preview.css' => '867f85b3',
'rsrc/css/phui/phui-spacing.css' => '042804d6', 'rsrc/css/phui/phui-spacing.css' => '042804d6',
'rsrc/css/phui/phui-status.css' => '888cedb8', '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-text.css' => 'cf019f54',
'rsrc/css/phui/phui-timeline-view.css' => '2efceff8', 'rsrc/css/phui/phui-timeline-view.css' => '2efceff8',
'rsrc/css/phui/phui-two-column-view.css' => '39ecafb1', 'rsrc/css/phui/phui-two-column-view.css' => '39ecafb1',
@ -156,6 +157,14 @@ return array(
'rsrc/css/sprite-menu.css' => '9dd65b92', 'rsrc/css/sprite-menu.css' => '9dd65b92',
'rsrc/css/sprite-projects.css' => 'e5ad842a', 'rsrc/css/sprite-projects.css' => 'e5ad842a',
'rsrc/css/sprite-tokens.css' => '4f399012', '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.eot' => '7d5a4653',
'rsrc/externals/font/fontawesome/fontawesome-webfont.ttf' => '531835e8', 'rsrc/externals/font/fontawesome/fontawesome-webfont.ttf' => '531835e8',
'rsrc/externals/font/fontawesome/fontawesome-webfont.woff' => '427fe363', '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.ttf' => 'e270165b',
'rsrc/externals/font/lato/lato-regular.woff' => '13d39fe2', 'rsrc/externals/font/lato/lato-regular.woff' => '13d39fe2',
'rsrc/externals/font/lato/lato-regular.woff2' => '57a9f742', '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/Event.js' => '85ea0626',
'rsrc/externals/javelin/core/Stratcom.js' => '6c53634d', 'rsrc/externals/javelin/core/Stratcom.js' => '6c53634d',
'rsrc/externals/javelin/core/__tests__/event-stop-and-kill.js' => '717554e4', '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-device.js' => 'a205cf28',
'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '6d49590e', 'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '6d49590e',
'rsrc/js/core/behavior-error-log.js' => '6882e80a', '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-file-tree.js' => '88236f00',
'rsrc/js/core/behavior-form.js' => '5c54cbf3', 'rsrc/js/core/behavior-form.js' => '5c54cbf3',
'rsrc/js/core/behavior-gesture.js' => '3ab51e2c', 'rsrc/js/core/behavior-gesture.js' => '3ab51e2c',
@ -493,8 +498,8 @@ return array(
'aphront-list-filter-view-css' => '5d6f0526', 'aphront-list-filter-view-css' => '5d6f0526',
'aphront-multi-column-view-css' => 'fd18389d', 'aphront-multi-column-view-css' => 'fd18389d',
'aphront-panel-view-css' => '8427b78d', 'aphront-panel-view-css' => '8427b78d',
'aphront-table-view-css' => '61543e7a', 'aphront-table-view-css' => '6d01d468',
'aphront-tokenizer-control-css' => '04875312', 'aphront-tokenizer-control-css' => '056da01b',
'aphront-tooltip-css' => '7672b60f', 'aphront-tooltip-css' => '7672b60f',
'aphront-typeahead-control-css' => '0e403212', 'aphront-typeahead-control-css' => '0e403212',
'auth-css' => '0877ed6e', 'auth-css' => '0877ed6e',
@ -523,10 +528,10 @@ return array(
'diffusion-icons-css' => '2941baf1', 'diffusion-icons-css' => '2941baf1',
'diffusion-readme-css' => '2106ea08', 'diffusion-readme-css' => '2106ea08',
'diffusion-source-css' => '075ba788', 'diffusion-source-css' => '075ba788',
'diviner-shared-css' => '5a337049', 'diviner-shared-css' => 'aa3656aa',
'font-aleo' => 'b61d3062',
'font-fontawesome' => 'd2fc4e8d', 'font-fontawesome' => 'd2fc4e8d',
'font-lato' => '5ab1a46a', 'font-lato' => '5ab1a46a',
'font-roboto-slab' => 'f24a53cb',
'global-drag-and-drop-css' => '697324ad', 'global-drag-and-drop-css' => '697324ad',
'harbormaster-css' => 'b0758ca5', 'harbormaster-css' => 'b0758ca5',
'herald-css' => '826075fa', 'herald-css' => '826075fa',
@ -581,7 +586,7 @@ return array(
'javelin-behavior-durable-column' => 'c72aa091', 'javelin-behavior-durable-column' => 'c72aa091',
'javelin-behavior-error-log' => '6882e80a', 'javelin-behavior-error-log' => '6882e80a',
'javelin-behavior-event-all-day' => '38dcf3c8', '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-global-drag-and-drop' => 'c8e57404',
'javelin-behavior-herald-rule-editor' => '7ebaeed3', 'javelin-behavior-herald-rule-editor' => '7ebaeed3',
'javelin-behavior-high-security-warning' => 'a464fe03', 'javelin-behavior-high-security-warning' => 'a464fe03',
@ -713,7 +718,7 @@ return array(
'phabricator-busy' => '59a7976a', 'phabricator-busy' => '59a7976a',
'phabricator-chatlog-css' => 'd295b020', 'phabricator-chatlog-css' => 'd295b020',
'phabricator-content-source-view-css' => '4b8b05d4', 'phabricator-content-source-view-css' => '4b8b05d4',
'phabricator-core-css' => 'a76cefc9', 'phabricator-core-css' => '78e8d7ea',
'phabricator-countdown-css' => 'e7544472', 'phabricator-countdown-css' => 'e7544472',
'phabricator-dashboard-css' => 'eb458607', 'phabricator-dashboard-css' => 'eb458607',
'phabricator-drag-and-drop-file-upload' => 'ad10aeac', 'phabricator-drag-and-drop-file-upload' => 'ad10aeac',
@ -735,13 +740,13 @@ return array(
'phabricator-object-selector-css' => '85ee8ce6', 'phabricator-object-selector-css' => '85ee8ce6',
'phabricator-phtize' => 'd254d646', 'phabricator-phtize' => 'd254d646',
'phabricator-prefab' => '6920d200', 'phabricator-prefab' => '6920d200',
'phabricator-remarkup-css' => '8d341238', 'phabricator-remarkup-css' => '2193fc05',
'phabricator-search-results-css' => '7dea472c', 'phabricator-search-results-css' => '7dea472c',
'phabricator-shaped-request' => '7cbe244b', 'phabricator-shaped-request' => '7cbe244b',
'phabricator-side-menu-view-css' => 'bec2458e', 'phabricator-side-menu-view-css' => 'bec2458e',
'phabricator-slowvote-css' => '475b4bd2', 'phabricator-slowvote-css' => 'da0afb1b',
'phabricator-source-code-view-css' => 'cbeef983', 'phabricator-source-code-view-css' => 'cbeef983',
'phabricator-standard-page-view' => '1f53d056', 'phabricator-standard-page-view' => 'a1096ed4',
'phabricator-textareautils' => '5c93c52c', 'phabricator-textareautils' => '5c93c52c',
'phabricator-title' => 'df5e11d2', 'phabricator-title' => 'df5e11d2',
'phabricator-tooltip' => '1d298e3a', 'phabricator-tooltip' => '1d298e3a',
@ -775,17 +780,18 @@ return array(
'phui-calendar-list-css' => 'c1c7f338', 'phui-calendar-list-css' => 'c1c7f338',
'phui-calendar-month-css' => '476be7e0', 'phui-calendar-month-css' => '476be7e0',
'phui-crumbs-view-css' => 'd842f867', '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-feed-story-css' => 'b7b26d23',
'phui-font-icon-base-css' => 'ecbbb4c2', 'phui-font-icon-base-css' => 'ecbbb4c2',
'phui-fontkit-css' => 'cb8ae7ad', 'phui-fontkit-css' => 'c9d63950',
'phui-form-css' => 'afdb2c6e', 'phui-form-css' => 'afdb2c6e',
'phui-form-view-css' => '621b21c5', 'phui-form-view-css' => '621b21c5',
'phui-header-view-css' => '55bb32dd', 'phui-header-view-css' => '55bb32dd',
'phui-icon-view-css' => 'b0a6b1b6', 'phui-icon-view-css' => 'b0a6b1b6',
'phui-image-mask-css' => '5a8b09c8', 'phui-image-mask-css' => '5a8b09c8',
'phui-info-panel-css' => '27ea50a1', 'phui-info-panel-css' => '27ea50a1',
'phui-info-view-css' => '5b16bac6', 'phui-info-view-css' => '6d7c3509',
'phui-inline-comment-view-css' => '0fdb3667', 'phui-inline-comment-view-css' => '0fdb3667',
'phui-list-view-css' => '125599df', 'phui-list-view-css' => '125599df',
'phui-object-box-css' => '407eaf5a', 'phui-object-box-css' => '407eaf5a',
@ -796,7 +802,7 @@ return array(
'phui-remarkup-preview-css' => '867f85b3', 'phui-remarkup-preview-css' => '867f85b3',
'phui-spacing-css' => '042804d6', 'phui-spacing-css' => '042804d6',
'phui-status-list-view-css' => '888cedb8', 'phui-status-list-view-css' => '888cedb8',
'phui-tag-view-css' => '402691cc', 'phui-tag-view-css' => 'e60e227b',
'phui-text-css' => 'cf019f54', 'phui-text-css' => 'cf019f54',
'phui-theme-css' => '6b451f24', 'phui-theme-css' => '6b451f24',
'phui-timeline-view-css' => '2efceff8', 'phui-timeline-view-css' => '2efceff8',
@ -861,14 +867,14 @@ return array(
'javelin-stratcom', 'javelin-stratcom',
'phabricator-prefab', 'phabricator-prefab',
), ),
'04875312' => array(
'aphront-typeahead-control-css',
'phui-tag-view-css',
),
'05270951' => array( '05270951' => array(
'javelin-util', 'javelin-util',
'javelin-magical-init', 'javelin-magical-init',
), ),
'056da01b' => array(
'aphront-typeahead-control-css',
'phui-tag-view-css',
),
'065227cc' => array( '065227cc' => array(
'javelin-behavior', 'javelin-behavior',
'javelin-dom', 'javelin-dom',
@ -1288,13 +1294,6 @@ return array(
'javelin-vector', 'javelin-vector',
'differential-inline-comment-editor', 'differential-inline-comment-editor',
), ),
'665cf6ac' => array(
'javelin-behavior',
'javelin-util',
'javelin-dom',
'javelin-stratcom',
'javelin-vector',
),
'6882e80a' => array( '6882e80a' => array(
'javelin-dom', 'javelin-dom',
), ),
@ -1494,6 +1493,13 @@ return array(
'javelin-install', 'javelin-install',
'javelin-dom', 'javelin-dom',
), ),
'8ae55229' => array(
'javelin-behavior',
'javelin-util',
'javelin-dom',
'javelin-stratcom',
'javelin-vector',
),
'8b3fd187' => array( '8b3fd187' => array(
'javelin-install', 'javelin-install',
'javelin-util', 'javelin-util',
@ -1711,6 +1717,9 @@ return array(
'javelin-dom', 'javelin-dom',
'javelin-util', 'javelin-util',
), ),
'b61d3062' => array(
'phui-fontkit-css',
),
'b6993408' => array( 'b6993408' => array(
'javelin-behavior', 'javelin-behavior',
'javelin-stratcom', 'javelin-stratcom',
@ -1946,9 +1955,6 @@ return array(
'javelin-workflow', 'javelin-workflow',
'javelin-json', 'javelin-json',
), ),
'f24a53cb' => array(
'phui-fontkit-css',
),
'f36e01af' => array( 'f36e01af' => array(
'javelin-behavior', 'javelin-behavior',
'javelin-behavior-device', 'javelin-behavior-device',

View file

@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_harbormaster.harbormaster_build
ADD COLUMN initiatorPHID VARBINARY(64);

View file

@ -0,0 +1,2 @@
ALTER TABLE {$NAMESPACE}_phame.phame_post
ADD mailKey binary(20) NOT NULL;

View 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);
}

View file

@ -102,7 +102,7 @@ function commit_symbols(
$repository->getPHID()); $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) { foreach (array_chunk($sql, 128) as $chunk) {
queryfx( queryfx(
$conn_w, $conn_w,

View file

@ -135,6 +135,7 @@ phutil_register_library_map(array(
'AphrontFormView' => 'view/form/AphrontFormView.php', 'AphrontFormView' => 'view/form/AphrontFormView.php',
'AphrontGlyphBarView' => 'view/widget/bars/AphrontGlyphBarView.php', 'AphrontGlyphBarView' => 'view/widget/bars/AphrontGlyphBarView.php',
'AphrontHTMLResponse' => 'aphront/response/AphrontHTMLResponse.php', 'AphrontHTMLResponse' => 'aphront/response/AphrontHTMLResponse.php',
'AphrontHTTPParameterType' => 'aphront/httpparametertype/AphrontHTTPParameterType.php',
'AphrontHTTPProxyResponse' => 'aphront/response/AphrontHTTPProxyResponse.php', 'AphrontHTTPProxyResponse' => 'aphront/response/AphrontHTTPProxyResponse.php',
'AphrontHTTPSink' => 'aphront/sink/AphrontHTTPSink.php', 'AphrontHTTPSink' => 'aphront/sink/AphrontHTTPSink.php',
'AphrontHTTPSinkTestCase' => 'aphront/sink/__tests__/AphrontHTTPSinkTestCase.php', 'AphrontHTTPSinkTestCase' => 'aphront/sink/__tests__/AphrontHTTPSinkTestCase.php',
@ -149,10 +150,13 @@ phutil_register_library_map(array(
'AphrontMultiColumnView' => 'view/layout/AphrontMultiColumnView.php', 'AphrontMultiColumnView' => 'view/layout/AphrontMultiColumnView.php',
'AphrontMySQLDatabaseConnectionTestCase' => 'infrastructure/storage/__tests__/AphrontMySQLDatabaseConnectionTestCase.php', 'AphrontMySQLDatabaseConnectionTestCase' => 'infrastructure/storage/__tests__/AphrontMySQLDatabaseConnectionTestCase.php',
'AphrontNullView' => 'view/AphrontNullView.php', 'AphrontNullView' => 'view/AphrontNullView.php',
'AphrontPHIDHTTPParameterType' => 'aphront/httpparametertype/AphrontPHIDHTTPParameterType.php',
'AphrontPHIDListHTTPParameterType' => 'aphront/httpparametertype/AphrontPHIDListHTTPParameterType.php',
'AphrontPHPHTTPSink' => 'aphront/sink/AphrontPHPHTTPSink.php', 'AphrontPHPHTTPSink' => 'aphront/sink/AphrontPHPHTTPSink.php',
'AphrontPageView' => 'view/page/AphrontPageView.php', 'AphrontPageView' => 'view/page/AphrontPageView.php',
'AphrontPlainTextResponse' => 'aphront/response/AphrontPlainTextResponse.php', 'AphrontPlainTextResponse' => 'aphront/response/AphrontPlainTextResponse.php',
'AphrontProgressBarView' => 'view/widget/bars/AphrontProgressBarView.php', 'AphrontProgressBarView' => 'view/widget/bars/AphrontProgressBarView.php',
'AphrontProjectListHTTPParameterType' => 'aphront/httpparametertype/AphrontProjectListHTTPParameterType.php',
'AphrontProxyResponse' => 'aphront/response/AphrontProxyResponse.php', 'AphrontProxyResponse' => 'aphront/response/AphrontProxyResponse.php',
'AphrontRedirectResponse' => 'aphront/response/AphrontRedirectResponse.php', 'AphrontRedirectResponse' => 'aphront/response/AphrontRedirectResponse.php',
'AphrontRedirectResponseTestCase' => 'aphront/response/__tests__/AphrontRedirectResponseTestCase.php', 'AphrontRedirectResponseTestCase' => 'aphront/response/__tests__/AphrontRedirectResponseTestCase.php',
@ -164,15 +168,19 @@ phutil_register_library_map(array(
'AphrontResponseProducerInterface' => 'aphront/interface/AphrontResponseProducerInterface.php', 'AphrontResponseProducerInterface' => 'aphront/interface/AphrontResponseProducerInterface.php',
'AphrontRoutingMap' => 'aphront/site/AphrontRoutingMap.php', 'AphrontRoutingMap' => 'aphront/site/AphrontRoutingMap.php',
'AphrontRoutingResult' => 'aphront/site/AphrontRoutingResult.php', 'AphrontRoutingResult' => 'aphront/site/AphrontRoutingResult.php',
'AphrontSelectHTTPParameterType' => 'aphront/httpparametertype/AphrontSelectHTTPParameterType.php',
'AphrontSideNavFilterView' => 'view/layout/AphrontSideNavFilterView.php', 'AphrontSideNavFilterView' => 'view/layout/AphrontSideNavFilterView.php',
'AphrontSite' => 'aphront/site/AphrontSite.php', 'AphrontSite' => 'aphront/site/AphrontSite.php',
'AphrontStackTraceView' => 'view/widget/AphrontStackTraceView.php', 'AphrontStackTraceView' => 'view/widget/AphrontStackTraceView.php',
'AphrontStandaloneHTMLResponse' => 'aphront/response/AphrontStandaloneHTMLResponse.php', 'AphrontStandaloneHTMLResponse' => 'aphront/response/AphrontStandaloneHTMLResponse.php',
'AphrontStringHTTPParameterType' => 'aphront/httpparametertype/AphrontStringHTTPParameterType.php',
'AphrontStringListHTTPParameterType' => 'aphront/httpparametertype/AphrontStringListHTTPParameterType.php',
'AphrontTableView' => 'view/control/AphrontTableView.php', 'AphrontTableView' => 'view/control/AphrontTableView.php',
'AphrontTagView' => 'view/AphrontTagView.php', 'AphrontTagView' => 'view/AphrontTagView.php',
'AphrontTokenizerTemplateView' => 'view/control/AphrontTokenizerTemplateView.php', 'AphrontTokenizerTemplateView' => 'view/control/AphrontTokenizerTemplateView.php',
'AphrontTypeaheadTemplateView' => 'view/control/AphrontTypeaheadTemplateView.php', 'AphrontTypeaheadTemplateView' => 'view/control/AphrontTypeaheadTemplateView.php',
'AphrontUnhandledExceptionResponse' => 'aphront/response/AphrontUnhandledExceptionResponse.php', 'AphrontUnhandledExceptionResponse' => 'aphront/response/AphrontUnhandledExceptionResponse.php',
'AphrontUserListHTTPParameterType' => 'aphront/httpparametertype/AphrontUserListHTTPParameterType.php',
'AphrontView' => 'view/AphrontView.php', 'AphrontView' => 'view/AphrontView.php',
'AphrontWebpageResponse' => 'aphront/response/AphrontWebpageResponse.php', 'AphrontWebpageResponse' => 'aphront/response/AphrontWebpageResponse.php',
'ArcanistConduitAPIMethod' => 'applications/arcanist/conduit/ArcanistConduitAPIMethod.php', 'ArcanistConduitAPIMethod' => 'applications/arcanist/conduit/ArcanistConduitAPIMethod.php',
@ -1403,6 +1411,7 @@ phutil_register_library_map(array(
'PHUI' => 'view/phui/PHUI.php', 'PHUI' => 'view/phui/PHUI.php',
'PHUIActionPanelExample' => 'applications/uiexample/examples/PHUIActionPanelExample.php', 'PHUIActionPanelExample' => 'applications/uiexample/examples/PHUIActionPanelExample.php',
'PHUIActionPanelView' => 'view/phui/PHUIActionPanelView.php', 'PHUIActionPanelView' => 'view/phui/PHUIActionPanelView.php',
'PHUIApplicationMenuView' => 'view/layout/PHUIApplicationMenuView.php',
'PHUIBadgeBoxView' => 'view/phui/PHUIBadgeBoxView.php', 'PHUIBadgeBoxView' => 'view/phui/PHUIBadgeBoxView.php',
'PHUIBadgeExample' => 'applications/uiexample/examples/PHUIBadgeExample.php', 'PHUIBadgeExample' => 'applications/uiexample/examples/PHUIBadgeExample.php',
'PHUIBadgeMiniView' => 'view/phui/PHUIBadgeMiniView.php', 'PHUIBadgeMiniView' => 'view/phui/PHUIBadgeMiniView.php',
@ -1433,6 +1442,7 @@ phutil_register_library_map(array(
'PHUIDiffTwoUpInlineCommentRowScaffold' => 'infrastructure/diff/view/PHUIDiffTwoUpInlineCommentRowScaffold.php', 'PHUIDiffTwoUpInlineCommentRowScaffold' => 'infrastructure/diff/view/PHUIDiffTwoUpInlineCommentRowScaffold.php',
'PHUIDocumentExample' => 'applications/uiexample/examples/PHUIDocumentExample.php', 'PHUIDocumentExample' => 'applications/uiexample/examples/PHUIDocumentExample.php',
'PHUIDocumentView' => 'view/phui/PHUIDocumentView.php', 'PHUIDocumentView' => 'view/phui/PHUIDocumentView.php',
'PHUIDocumentViewPro' => 'view/phui/PHUIDocumentViewPro.php',
'PHUIFeedStoryExample' => 'applications/uiexample/examples/PHUIFeedStoryExample.php', 'PHUIFeedStoryExample' => 'applications/uiexample/examples/PHUIFeedStoryExample.php',
'PHUIFeedStoryView' => 'view/phui/PHUIFeedStoryView.php', 'PHUIFeedStoryView' => 'view/phui/PHUIFeedStoryView.php',
'PHUIFormDividerControl' => 'view/form/control/PHUIFormDividerControl.php', 'PHUIFormDividerControl' => 'view/form/control/PHUIFormDividerControl.php',
@ -1528,6 +1538,7 @@ phutil_register_library_map(array(
'PasteCreateMailReceiver' => 'applications/paste/mail/PasteCreateMailReceiver.php', 'PasteCreateMailReceiver' => 'applications/paste/mail/PasteCreateMailReceiver.php',
'PasteDefaultEditCapability' => 'applications/paste/capability/PasteDefaultEditCapability.php', 'PasteDefaultEditCapability' => 'applications/paste/capability/PasteDefaultEditCapability.php',
'PasteDefaultViewCapability' => 'applications/paste/capability/PasteDefaultViewCapability.php', 'PasteDefaultViewCapability' => 'applications/paste/capability/PasteDefaultViewCapability.php',
'PasteEditConduitAPIMethod' => 'applications/paste/conduit/PasteEditConduitAPIMethod.php',
'PasteEmbedView' => 'applications/paste/view/PasteEmbedView.php', 'PasteEmbedView' => 'applications/paste/view/PasteEmbedView.php',
'PasteInfoConduitAPIMethod' => 'applications/paste/conduit/PasteInfoConduitAPIMethod.php', 'PasteInfoConduitAPIMethod' => 'applications/paste/conduit/PasteInfoConduitAPIMethod.php',
'PasteMailReceiver' => 'applications/paste/mail/PasteMailReceiver.php', 'PasteMailReceiver' => 'applications/paste/mail/PasteMailReceiver.php',
@ -1568,6 +1579,9 @@ phutil_register_library_map(array(
'PhabricatorApplicationDatasource' => 'applications/meta/typeahead/PhabricatorApplicationDatasource.php', 'PhabricatorApplicationDatasource' => 'applications/meta/typeahead/PhabricatorApplicationDatasource.php',
'PhabricatorApplicationDetailViewController' => 'applications/meta/controller/PhabricatorApplicationDetailViewController.php', 'PhabricatorApplicationDetailViewController' => 'applications/meta/controller/PhabricatorApplicationDetailViewController.php',
'PhabricatorApplicationEditController' => 'applications/meta/controller/PhabricatorApplicationEditController.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', 'PhabricatorApplicationEmailCommandsController' => 'applications/meta/controller/PhabricatorApplicationEmailCommandsController.php',
'PhabricatorApplicationLaunchView' => 'applications/meta/view/PhabricatorApplicationLaunchView.php', 'PhabricatorApplicationLaunchView' => 'applications/meta/view/PhabricatorApplicationLaunchView.php',
'PhabricatorApplicationPanelController' => 'applications/meta/controller/PhabricatorApplicationPanelController.php', 'PhabricatorApplicationPanelController' => 'applications/meta/controller/PhabricatorApplicationPanelController.php',
@ -1840,7 +1854,6 @@ phutil_register_library_map(array(
'PhabricatorCommonPasswords' => 'applications/auth/constants/PhabricatorCommonPasswords.php', 'PhabricatorCommonPasswords' => 'applications/auth/constants/PhabricatorCommonPasswords.php',
'PhabricatorConduitAPIController' => 'applications/conduit/controller/PhabricatorConduitAPIController.php', 'PhabricatorConduitAPIController' => 'applications/conduit/controller/PhabricatorConduitAPIController.php',
'PhabricatorConduitApplication' => 'applications/conduit/application/PhabricatorConduitApplication.php', 'PhabricatorConduitApplication' => 'applications/conduit/application/PhabricatorConduitApplication.php',
'PhabricatorConduitCertificateSettingsPanel' => 'applications/settings/panel/PhabricatorConduitCertificateSettingsPanel.php',
'PhabricatorConduitCertificateToken' => 'applications/conduit/storage/PhabricatorConduitCertificateToken.php', 'PhabricatorConduitCertificateToken' => 'applications/conduit/storage/PhabricatorConduitCertificateToken.php',
'PhabricatorConduitConnectionLog' => 'applications/conduit/storage/PhabricatorConduitConnectionLog.php', 'PhabricatorConduitConnectionLog' => 'applications/conduit/storage/PhabricatorConduitConnectionLog.php',
'PhabricatorConduitConsoleController' => 'applications/conduit/controller/PhabricatorConduitConsoleController.php', 'PhabricatorConduitConsoleController' => 'applications/conduit/controller/PhabricatorConduitConsoleController.php',
@ -1884,6 +1897,7 @@ phutil_register_library_map(array(
'PhabricatorConfigEntryQuery' => 'applications/config/query/PhabricatorConfigEntryQuery.php', 'PhabricatorConfigEntryQuery' => 'applications/config/query/PhabricatorConfigEntryQuery.php',
'PhabricatorConfigFileSource' => 'infrastructure/env/PhabricatorConfigFileSource.php', 'PhabricatorConfigFileSource' => 'infrastructure/env/PhabricatorConfigFileSource.php',
'PhabricatorConfigGroupController' => 'applications/config/controller/PhabricatorConfigGroupController.php', 'PhabricatorConfigGroupController' => 'applications/config/controller/PhabricatorConfigGroupController.php',
'PhabricatorConfigHTTPParameterTypesModule' => 'applications/config/module/PhabricatorConfigHTTPParameterTypesModule.php',
'PhabricatorConfigHistoryController' => 'applications/config/controller/PhabricatorConfigHistoryController.php', 'PhabricatorConfigHistoryController' => 'applications/config/controller/PhabricatorConfigHistoryController.php',
'PhabricatorConfigIgnoreController' => 'applications/config/controller/PhabricatorConfigIgnoreController.php', 'PhabricatorConfigIgnoreController' => 'applications/config/controller/PhabricatorConfigIgnoreController.php',
'PhabricatorConfigIssueListController' => 'applications/config/controller/PhabricatorConfigIssueListController.php', 'PhabricatorConfigIssueListController' => 'applications/config/controller/PhabricatorConfigIssueListController.php',
@ -2061,6 +2075,7 @@ phutil_register_library_map(array(
'PhabricatorDataCacheSpec' => 'applications/cache/spec/PhabricatorDataCacheSpec.php', 'PhabricatorDataCacheSpec' => 'applications/cache/spec/PhabricatorDataCacheSpec.php',
'PhabricatorDataNotAttachedException' => 'infrastructure/storage/lisk/PhabricatorDataNotAttachedException.php', 'PhabricatorDataNotAttachedException' => 'infrastructure/storage/lisk/PhabricatorDataNotAttachedException.php',
'PhabricatorDatabaseSetupCheck' => 'applications/config/check/PhabricatorDatabaseSetupCheck.php', 'PhabricatorDatabaseSetupCheck' => 'applications/config/check/PhabricatorDatabaseSetupCheck.php',
'PhabricatorDatasourceEditField' => 'applications/transactions/editfield/PhabricatorDatasourceEditField.php',
'PhabricatorDateTimeSettingsPanel' => 'applications/settings/panel/PhabricatorDateTimeSettingsPanel.php', 'PhabricatorDateTimeSettingsPanel' => 'applications/settings/panel/PhabricatorDateTimeSettingsPanel.php',
'PhabricatorDebugController' => 'applications/system/controller/PhabricatorDebugController.php', 'PhabricatorDebugController' => 'applications/system/controller/PhabricatorDebugController.php',
'PhabricatorDefaultRequestExceptionHandler' => 'aphront/handler/PhabricatorDefaultRequestExceptionHandler.php', 'PhabricatorDefaultRequestExceptionHandler' => 'aphront/handler/PhabricatorDefaultRequestExceptionHandler.php',
@ -2089,12 +2104,15 @@ phutil_register_library_map(array(
'PhabricatorEdgeConfig' => 'infrastructure/edges/constants/PhabricatorEdgeConfig.php', 'PhabricatorEdgeConfig' => 'infrastructure/edges/constants/PhabricatorEdgeConfig.php',
'PhabricatorEdgeConstants' => 'infrastructure/edges/constants/PhabricatorEdgeConstants.php', 'PhabricatorEdgeConstants' => 'infrastructure/edges/constants/PhabricatorEdgeConstants.php',
'PhabricatorEdgeCycleException' => 'infrastructure/edges/exception/PhabricatorEdgeCycleException.php', 'PhabricatorEdgeCycleException' => 'infrastructure/edges/exception/PhabricatorEdgeCycleException.php',
'PhabricatorEdgeEditType' => 'applications/transactions/edittype/PhabricatorEdgeEditType.php',
'PhabricatorEdgeEditor' => 'infrastructure/edges/editor/PhabricatorEdgeEditor.php', 'PhabricatorEdgeEditor' => 'infrastructure/edges/editor/PhabricatorEdgeEditor.php',
'PhabricatorEdgeGraph' => 'infrastructure/edges/util/PhabricatorEdgeGraph.php', 'PhabricatorEdgeGraph' => 'infrastructure/edges/util/PhabricatorEdgeGraph.php',
'PhabricatorEdgeQuery' => 'infrastructure/edges/query/PhabricatorEdgeQuery.php', 'PhabricatorEdgeQuery' => 'infrastructure/edges/query/PhabricatorEdgeQuery.php',
'PhabricatorEdgeTestCase' => 'infrastructure/edges/__tests__/PhabricatorEdgeTestCase.php', 'PhabricatorEdgeTestCase' => 'infrastructure/edges/__tests__/PhabricatorEdgeTestCase.php',
'PhabricatorEdgeType' => 'infrastructure/edges/type/PhabricatorEdgeType.php', 'PhabricatorEdgeType' => 'infrastructure/edges/type/PhabricatorEdgeType.php',
'PhabricatorEdgeTypeTestCase' => 'infrastructure/edges/type/__tests__/PhabricatorEdgeTypeTestCase.php', 'PhabricatorEdgeTypeTestCase' => 'infrastructure/edges/type/__tests__/PhabricatorEdgeTypeTestCase.php',
'PhabricatorEditField' => 'applications/transactions/editfield/PhabricatorEditField.php',
'PhabricatorEditType' => 'applications/transactions/edittype/PhabricatorEditType.php',
'PhabricatorEditor' => 'infrastructure/PhabricatorEditor.php', 'PhabricatorEditor' => 'infrastructure/PhabricatorEditor.php',
'PhabricatorElasticSearchEngine' => 'applications/search/engine/PhabricatorElasticSearchEngine.php', 'PhabricatorElasticSearchEngine' => 'applications/search/engine/PhabricatorElasticSearchEngine.php',
'PhabricatorElasticSearchSetupCheck' => 'applications/config/check/PhabricatorElasticSearchSetupCheck.php', 'PhabricatorElasticSearchSetupCheck' => 'applications/config/check/PhabricatorElasticSearchSetupCheck.php',
@ -2241,6 +2259,7 @@ phutil_register_library_map(array(
'PhabricatorGlobalLock' => 'infrastructure/util/PhabricatorGlobalLock.php', 'PhabricatorGlobalLock' => 'infrastructure/util/PhabricatorGlobalLock.php',
'PhabricatorGlobalUploadTargetView' => 'applications/files/view/PhabricatorGlobalUploadTargetView.php', 'PhabricatorGlobalUploadTargetView' => 'applications/files/view/PhabricatorGlobalUploadTargetView.php',
'PhabricatorGoogleAuthProvider' => 'applications/auth/provider/PhabricatorGoogleAuthProvider.php', 'PhabricatorGoogleAuthProvider' => 'applications/auth/provider/PhabricatorGoogleAuthProvider.php',
'PhabricatorHTTPParameterTypeTableView' => 'applications/config/view/PhabricatorHTTPParameterTypeTableView.php',
'PhabricatorHandleList' => 'applications/phid/handle/pool/PhabricatorHandleList.php', 'PhabricatorHandleList' => 'applications/phid/handle/pool/PhabricatorHandleList.php',
'PhabricatorHandleObjectSelectorDataView' => 'applications/phid/handle/view/PhabricatorHandleObjectSelectorDataView.php', 'PhabricatorHandleObjectSelectorDataView' => 'applications/phid/handle/view/PhabricatorHandleObjectSelectorDataView.php',
'PhabricatorHandlePool' => 'applications/phid/handle/pool/PhabricatorHandlePool.php', 'PhabricatorHandlePool' => 'applications/phid/handle/pool/PhabricatorHandlePool.php',
@ -2532,6 +2551,7 @@ phutil_register_library_map(array(
'PhabricatorPHID' => 'applications/phid/storage/PhabricatorPHID.php', 'PhabricatorPHID' => 'applications/phid/storage/PhabricatorPHID.php',
'PhabricatorPHIDConstants' => 'applications/phid/PhabricatorPHIDConstants.php', 'PhabricatorPHIDConstants' => 'applications/phid/PhabricatorPHIDConstants.php',
'PhabricatorPHIDInterface' => 'applications/phid/interface/PhabricatorPHIDInterface.php', 'PhabricatorPHIDInterface' => 'applications/phid/interface/PhabricatorPHIDInterface.php',
'PhabricatorPHIDResolver' => 'applications/phid/resolver/PhabricatorPHIDResolver.php',
'PhabricatorPHIDType' => 'applications/phid/type/PhabricatorPHIDType.php', 'PhabricatorPHIDType' => 'applications/phid/type/PhabricatorPHIDType.php',
'PhabricatorPHIDTypeTestCase' => 'applications/phid/type/__tests__/PhabricatorPHIDTypeTestCase.php', 'PhabricatorPHIDTypeTestCase' => 'applications/phid/type/__tests__/PhabricatorPHIDTypeTestCase.php',
'PhabricatorPHPASTApplication' => 'applications/phpast/application/PhabricatorPHPASTApplication.php', 'PhabricatorPHPASTApplication' => 'applications/phpast/application/PhabricatorPHPASTApplication.php',
@ -2552,6 +2572,7 @@ phutil_register_library_map(array(
'PhabricatorPasteController' => 'applications/paste/controller/PhabricatorPasteController.php', 'PhabricatorPasteController' => 'applications/paste/controller/PhabricatorPasteController.php',
'PhabricatorPasteDAO' => 'applications/paste/storage/PhabricatorPasteDAO.php', 'PhabricatorPasteDAO' => 'applications/paste/storage/PhabricatorPasteDAO.php',
'PhabricatorPasteEditController' => 'applications/paste/controller/PhabricatorPasteEditController.php', 'PhabricatorPasteEditController' => 'applications/paste/controller/PhabricatorPasteEditController.php',
'PhabricatorPasteEditEngine' => 'applications/paste/editor/PhabricatorPasteEditEngine.php',
'PhabricatorPasteEditor' => 'applications/paste/editor/PhabricatorPasteEditor.php', 'PhabricatorPasteEditor' => 'applications/paste/editor/PhabricatorPasteEditor.php',
'PhabricatorPasteListController' => 'applications/paste/controller/PhabricatorPasteListController.php', 'PhabricatorPasteListController' => 'applications/paste/controller/PhabricatorPasteListController.php',
'PhabricatorPastePastePHIDType' => 'applications/paste/phid/PhabricatorPastePastePHIDType.php', 'PhabricatorPastePastePHIDType' => 'applications/paste/phid/PhabricatorPastePastePHIDType.php',
@ -2622,8 +2643,11 @@ phutil_register_library_map(array(
'PhabricatorPhurlApplication' => 'applications/phurl/application/PhabricatorPhurlApplication.php', 'PhabricatorPhurlApplication' => 'applications/phurl/application/PhabricatorPhurlApplication.php',
'PhabricatorPhurlController' => 'applications/phurl/controller/PhabricatorPhurlController.php', 'PhabricatorPhurlController' => 'applications/phurl/controller/PhabricatorPhurlController.php',
'PhabricatorPhurlDAO' => 'applications/phurl/storage/PhabricatorPhurlDAO.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', 'PhabricatorPhurlSchemaSpec' => 'applications/phurl/storage/PhabricatorPhurlSchemaSpec.php',
'PhabricatorPhurlURL' => 'applications/phurl/storage/PhabricatorPhurlURL.php', 'PhabricatorPhurlURL' => 'applications/phurl/storage/PhabricatorPhurlURL.php',
'PhabricatorPhurlURLAccessController' => 'applications/phurl/controller/PhabricatorPhurlURLAccessController.php',
'PhabricatorPhurlURLEditController' => 'applications/phurl/controller/PhabricatorPhurlURLEditController.php', 'PhabricatorPhurlURLEditController' => 'applications/phurl/controller/PhabricatorPhurlURLEditController.php',
'PhabricatorPhurlURLEditor' => 'applications/phurl/editor/PhabricatorPhurlURLEditor.php', 'PhabricatorPhurlURLEditor' => 'applications/phurl/editor/PhabricatorPhurlURLEditor.php',
'PhabricatorPhurlURLListController' => 'applications/phurl/controller/PhabricatorPhurlURLListController.php', 'PhabricatorPhurlURLListController' => 'applications/phurl/controller/PhabricatorPhurlURLListController.php',
@ -2651,6 +2675,7 @@ phutil_register_library_map(array(
'PhabricatorPolicyDAO' => 'applications/policy/storage/PhabricatorPolicyDAO.php', 'PhabricatorPolicyDAO' => 'applications/policy/storage/PhabricatorPolicyDAO.php',
'PhabricatorPolicyDataTestCase' => 'applications/policy/__tests__/PhabricatorPolicyDataTestCase.php', 'PhabricatorPolicyDataTestCase' => 'applications/policy/__tests__/PhabricatorPolicyDataTestCase.php',
'PhabricatorPolicyEditController' => 'applications/policy/controller/PhabricatorPolicyEditController.php', 'PhabricatorPolicyEditController' => 'applications/policy/controller/PhabricatorPolicyEditController.php',
'PhabricatorPolicyEditField' => 'applications/transactions/editfield/PhabricatorPolicyEditField.php',
'PhabricatorPolicyException' => 'applications/policy/exception/PhabricatorPolicyException.php', 'PhabricatorPolicyException' => 'applications/policy/exception/PhabricatorPolicyException.php',
'PhabricatorPolicyExplainController' => 'applications/policy/controller/PhabricatorPolicyExplainController.php', 'PhabricatorPolicyExplainController' => 'applications/policy/controller/PhabricatorPolicyExplainController.php',
'PhabricatorPolicyFilter' => 'applications/policy/filter/PhabricatorPolicyFilter.php', 'PhabricatorPolicyFilter' => 'applications/policy/filter/PhabricatorPolicyFilter.php',
@ -2718,6 +2743,7 @@ phutil_register_library_map(array(
'PhabricatorProjectObjectHasProjectEdgeType' => 'applications/project/edge/PhabricatorProjectObjectHasProjectEdgeType.php', 'PhabricatorProjectObjectHasProjectEdgeType' => 'applications/project/edge/PhabricatorProjectObjectHasProjectEdgeType.php',
'PhabricatorProjectOrUserDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserDatasource.php', 'PhabricatorProjectOrUserDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserDatasource.php',
'PhabricatorProjectOrUserFunctionDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserFunctionDatasource.php', 'PhabricatorProjectOrUserFunctionDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserFunctionDatasource.php',
'PhabricatorProjectPHIDResolver' => 'applications/phid/resolver/PhabricatorProjectPHIDResolver.php',
'PhabricatorProjectProfileController' => 'applications/project/controller/PhabricatorProjectProfileController.php', 'PhabricatorProjectProfileController' => 'applications/project/controller/PhabricatorProjectProfileController.php',
'PhabricatorProjectProjectHasMemberEdgeType' => 'applications/project/edge/PhabricatorProjectProjectHasMemberEdgeType.php', 'PhabricatorProjectProjectHasMemberEdgeType' => 'applications/project/edge/PhabricatorProjectProjectHasMemberEdgeType.php',
'PhabricatorProjectProjectHasObjectEdgeType' => 'applications/project/edge/PhabricatorProjectProjectHasObjectEdgeType.php', 'PhabricatorProjectProjectHasObjectEdgeType' => 'applications/project/edge/PhabricatorProjectProjectHasObjectEdgeType.php',
@ -2740,6 +2766,7 @@ phutil_register_library_map(array(
'PhabricatorProjectUserFunctionDatasource' => 'applications/project/typeahead/PhabricatorProjectUserFunctionDatasource.php', 'PhabricatorProjectUserFunctionDatasource' => 'applications/project/typeahead/PhabricatorProjectUserFunctionDatasource.php',
'PhabricatorProjectViewController' => 'applications/project/controller/PhabricatorProjectViewController.php', 'PhabricatorProjectViewController' => 'applications/project/controller/PhabricatorProjectViewController.php',
'PhabricatorProjectWatchController' => 'applications/project/controller/PhabricatorProjectWatchController.php', 'PhabricatorProjectWatchController' => 'applications/project/controller/PhabricatorProjectWatchController.php',
'PhabricatorProjectsEditField' => 'applications/transactions/editfield/PhabricatorProjectsEditField.php',
'PhabricatorProjectsPolicyRule' => 'applications/policy/rule/PhabricatorProjectsPolicyRule.php', 'PhabricatorProjectsPolicyRule' => 'applications/policy/rule/PhabricatorProjectsPolicyRule.php',
'PhabricatorProtocolAdapter' => 'infrastructure/daemon/bot/adapter/PhabricatorProtocolAdapter.php', 'PhabricatorProtocolAdapter' => 'infrastructure/daemon/bot/adapter/PhabricatorProtocolAdapter.php',
'PhabricatorPygmentSetupCheck' => 'applications/config/check/PhabricatorPygmentSetupCheck.php', 'PhabricatorPygmentSetupCheck' => 'applications/config/check/PhabricatorPygmentSetupCheck.php',
@ -2914,6 +2941,7 @@ phutil_register_library_map(array(
'PhabricatorSearchWorker' => 'applications/search/worker/PhabricatorSearchWorker.php', 'PhabricatorSearchWorker' => 'applications/search/worker/PhabricatorSearchWorker.php',
'PhabricatorSecurityConfigOptions' => 'applications/config/option/PhabricatorSecurityConfigOptions.php', 'PhabricatorSecurityConfigOptions' => 'applications/config/option/PhabricatorSecurityConfigOptions.php',
'PhabricatorSecuritySetupCheck' => 'applications/config/check/PhabricatorSecuritySetupCheck.php', 'PhabricatorSecuritySetupCheck' => 'applications/config/check/PhabricatorSecuritySetupCheck.php',
'PhabricatorSelectEditField' => 'applications/transactions/editfield/PhabricatorSelectEditField.php',
'PhabricatorSendGridConfigOptions' => 'applications/config/option/PhabricatorSendGridConfigOptions.php', 'PhabricatorSendGridConfigOptions' => 'applications/config/option/PhabricatorSendGridConfigOptions.php',
'PhabricatorSessionsSettingsPanel' => 'applications/settings/panel/PhabricatorSessionsSettingsPanel.php', 'PhabricatorSessionsSettingsPanel' => 'applications/settings/panel/PhabricatorSessionsSettingsPanel.php',
'PhabricatorSettingsAddEmailAction' => 'applications/settings/action/PhabricatorSettingsAddEmailAction.php', 'PhabricatorSettingsAddEmailAction' => 'applications/settings/action/PhabricatorSettingsAddEmailAction.php',
@ -2926,6 +2954,7 @@ phutil_register_library_map(array(
'PhabricatorSetupIssue' => 'applications/config/issue/PhabricatorSetupIssue.php', 'PhabricatorSetupIssue' => 'applications/config/issue/PhabricatorSetupIssue.php',
'PhabricatorSetupIssueUIExample' => 'applications/uiexample/examples/PhabricatorSetupIssueUIExample.php', 'PhabricatorSetupIssueUIExample' => 'applications/uiexample/examples/PhabricatorSetupIssueUIExample.php',
'PhabricatorSetupIssueView' => 'applications/config/view/PhabricatorSetupIssueView.php', 'PhabricatorSetupIssueView' => 'applications/config/view/PhabricatorSetupIssueView.php',
'PhabricatorSimpleEditType' => 'applications/transactions/edittype/PhabricatorSimpleEditType.php',
'PhabricatorSite' => 'aphront/site/PhabricatorSite.php', 'PhabricatorSite' => 'aphront/site/PhabricatorSite.php',
'PhabricatorSlowvoteApplication' => 'applications/slowvote/application/PhabricatorSlowvoteApplication.php', 'PhabricatorSlowvoteApplication' => 'applications/slowvote/application/PhabricatorSlowvoteApplication.php',
'PhabricatorSlowvoteChoice' => 'applications/slowvote/storage/PhabricatorSlowvoteChoice.php', 'PhabricatorSlowvoteChoice' => 'applications/slowvote/storage/PhabricatorSlowvoteChoice.php',
@ -2954,6 +2983,7 @@ phutil_register_library_map(array(
'PhabricatorSlugTestCase' => 'infrastructure/util/__tests__/PhabricatorSlugTestCase.php', 'PhabricatorSlugTestCase' => 'infrastructure/util/__tests__/PhabricatorSlugTestCase.php',
'PhabricatorSortTableUIExample' => 'applications/uiexample/examples/PhabricatorSortTableUIExample.php', 'PhabricatorSortTableUIExample' => 'applications/uiexample/examples/PhabricatorSortTableUIExample.php',
'PhabricatorSourceCodeView' => 'view/layout/PhabricatorSourceCodeView.php', 'PhabricatorSourceCodeView' => 'view/layout/PhabricatorSourceCodeView.php',
'PhabricatorSpaceEditField' => 'applications/transactions/editfield/PhabricatorSpaceEditField.php',
'PhabricatorSpacesApplication' => 'applications/spaces/application/PhabricatorSpacesApplication.php', 'PhabricatorSpacesApplication' => 'applications/spaces/application/PhabricatorSpacesApplication.php',
'PhabricatorSpacesArchiveController' => 'applications/spaces/controller/PhabricatorSpacesArchiveController.php', 'PhabricatorSpacesArchiveController' => 'applications/spaces/controller/PhabricatorSpacesArchiveController.php',
'PhabricatorSpacesCapabilityCreateSpaces' => 'applications/spaces/capability/PhabricatorSpacesCapabilityCreateSpaces.php', 'PhabricatorSpacesCapabilityCreateSpaces' => 'applications/spaces/capability/PhabricatorSpacesCapabilityCreateSpaces.php',
@ -3017,6 +3047,7 @@ phutil_register_library_map(array(
'PhabricatorStreamingProtocolAdapter' => 'infrastructure/daemon/bot/adapter/PhabricatorStreamingProtocolAdapter.php', 'PhabricatorStreamingProtocolAdapter' => 'infrastructure/daemon/bot/adapter/PhabricatorStreamingProtocolAdapter.php',
'PhabricatorSubscribableInterface' => 'applications/subscriptions/interface/PhabricatorSubscribableInterface.php', 'PhabricatorSubscribableInterface' => 'applications/subscriptions/interface/PhabricatorSubscribableInterface.php',
'PhabricatorSubscribedToObjectEdgeType' => 'applications/transactions/edges/PhabricatorSubscribedToObjectEdgeType.php', 'PhabricatorSubscribedToObjectEdgeType' => 'applications/transactions/edges/PhabricatorSubscribedToObjectEdgeType.php',
'PhabricatorSubscribersEditField' => 'applications/transactions/editfield/PhabricatorSubscribersEditField.php',
'PhabricatorSubscribersQuery' => 'applications/subscriptions/query/PhabricatorSubscribersQuery.php', 'PhabricatorSubscribersQuery' => 'applications/subscriptions/query/PhabricatorSubscribersQuery.php',
'PhabricatorSubscriptionTriggerClock' => 'infrastructure/daemon/workers/clock/PhabricatorSubscriptionTriggerClock.php', 'PhabricatorSubscriptionTriggerClock' => 'infrastructure/daemon/workers/clock/PhabricatorSubscriptionTriggerClock.php',
'PhabricatorSubscriptionsAddSelfHeraldAction' => 'applications/subscriptions/herald/PhabricatorSubscriptionsAddSelfHeraldAction.php', 'PhabricatorSubscriptionsAddSelfHeraldAction' => 'applications/subscriptions/herald/PhabricatorSubscriptionsAddSelfHeraldAction.php',
@ -3060,6 +3091,8 @@ phutil_register_library_map(array(
'PhabricatorTestNoCycleEdgeType' => 'applications/transactions/edges/PhabricatorTestNoCycleEdgeType.php', 'PhabricatorTestNoCycleEdgeType' => 'applications/transactions/edges/PhabricatorTestNoCycleEdgeType.php',
'PhabricatorTestStorageEngine' => 'applications/files/engine/PhabricatorTestStorageEngine.php', 'PhabricatorTestStorageEngine' => 'applications/files/engine/PhabricatorTestStorageEngine.php',
'PhabricatorTestWorker' => 'infrastructure/daemon/workers/__tests__/PhabricatorTestWorker.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', 'PhabricatorTime' => 'infrastructure/time/PhabricatorTime.php',
'PhabricatorTimeGuard' => 'infrastructure/time/PhabricatorTimeGuard.php', 'PhabricatorTimeGuard' => 'infrastructure/time/PhabricatorTimeGuard.php',
'PhabricatorTimeTestCase' => 'infrastructure/time/__tests__/PhabricatorTimeTestCase.php', 'PhabricatorTimeTestCase' => 'infrastructure/time/__tests__/PhabricatorTimeTestCase.php',
@ -3081,6 +3114,7 @@ phutil_register_library_map(array(
'PhabricatorTokenReceiverQuery' => 'applications/tokens/query/PhabricatorTokenReceiverQuery.php', 'PhabricatorTokenReceiverQuery' => 'applications/tokens/query/PhabricatorTokenReceiverQuery.php',
'PhabricatorTokenTokenPHIDType' => 'applications/tokens/phid/PhabricatorTokenTokenPHIDType.php', 'PhabricatorTokenTokenPHIDType' => 'applications/tokens/phid/PhabricatorTokenTokenPHIDType.php',
'PhabricatorTokenUIEventListener' => 'applications/tokens/event/PhabricatorTokenUIEventListener.php', 'PhabricatorTokenUIEventListener' => 'applications/tokens/event/PhabricatorTokenUIEventListener.php',
'PhabricatorTokenizerEditField' => 'applications/transactions/editfield/PhabricatorTokenizerEditField.php',
'PhabricatorTokensApplication' => 'applications/tokens/application/PhabricatorTokensApplication.php', 'PhabricatorTokensApplication' => 'applications/tokens/application/PhabricatorTokensApplication.php',
'PhabricatorTokensSettingsPanel' => 'applications/settings/panel/PhabricatorTokensSettingsPanel.php', 'PhabricatorTokensSettingsPanel' => 'applications/settings/panel/PhabricatorTokensSettingsPanel.php',
'PhabricatorTooltipUIExample' => 'applications/uiexample/examples/PhabricatorTooltipUIExample.php', 'PhabricatorTooltipUIExample' => 'applications/uiexample/examples/PhabricatorTooltipUIExample.php',
@ -3128,6 +3162,7 @@ phutil_register_library_map(array(
'PhabricatorUserEmailTestCase' => 'applications/people/storage/__tests__/PhabricatorUserEmailTestCase.php', 'PhabricatorUserEmailTestCase' => 'applications/people/storage/__tests__/PhabricatorUserEmailTestCase.php',
'PhabricatorUserLog' => 'applications/people/storage/PhabricatorUserLog.php', 'PhabricatorUserLog' => 'applications/people/storage/PhabricatorUserLog.php',
'PhabricatorUserLogView' => 'applications/people/view/PhabricatorUserLogView.php', 'PhabricatorUserLogView' => 'applications/people/view/PhabricatorUserLogView.php',
'PhabricatorUserPHIDResolver' => 'applications/phid/resolver/PhabricatorUserPHIDResolver.php',
'PhabricatorUserPreferences' => 'applications/settings/storage/PhabricatorUserPreferences.php', 'PhabricatorUserPreferences' => 'applications/settings/storage/PhabricatorUserPreferences.php',
'PhabricatorUserProfile' => 'applications/people/storage/PhabricatorUserProfile.php', 'PhabricatorUserProfile' => 'applications/people/storage/PhabricatorUserProfile.php',
'PhabricatorUserProfileEditor' => 'applications/people/editor/PhabricatorUserProfileEditor.php', 'PhabricatorUserProfileEditor' => 'applications/people/editor/PhabricatorUserProfileEditor.php',
@ -3140,6 +3175,7 @@ phutil_register_library_map(array(
'PhabricatorUserTestCase' => 'applications/people/storage/__tests__/PhabricatorUserTestCase.php', 'PhabricatorUserTestCase' => 'applications/people/storage/__tests__/PhabricatorUserTestCase.php',
'PhabricatorUserTitleField' => 'applications/people/customfield/PhabricatorUserTitleField.php', 'PhabricatorUserTitleField' => 'applications/people/customfield/PhabricatorUserTitleField.php',
'PhabricatorUserTransaction' => 'applications/people/storage/PhabricatorUserTransaction.php', 'PhabricatorUserTransaction' => 'applications/people/storage/PhabricatorUserTransaction.php',
'PhabricatorUsersEditField' => 'applications/transactions/editfield/PhabricatorUsersEditField.php',
'PhabricatorUsersPolicyRule' => 'applications/policy/rule/PhabricatorUsersPolicyRule.php', 'PhabricatorUsersPolicyRule' => 'applications/policy/rule/PhabricatorUsersPolicyRule.php',
'PhabricatorUsersSearchField' => 'applications/people/searchfield/PhabricatorUsersSearchField.php', 'PhabricatorUsersSearchField' => 'applications/people/searchfield/PhabricatorUsersSearchField.php',
'PhabricatorVCSResponse' => 'applications/repository/response/PhabricatorVCSResponse.php', 'PhabricatorVCSResponse' => 'applications/repository/response/PhabricatorVCSResponse.php',
@ -3211,6 +3247,7 @@ phutil_register_library_map(array(
'PhameBasicBlogSkin' => 'applications/phame/skins/PhameBasicBlogSkin.php', 'PhameBasicBlogSkin' => 'applications/phame/skins/PhameBasicBlogSkin.php',
'PhameBasicTemplateBlogSkin' => 'applications/phame/skins/PhameBasicTemplateBlogSkin.php', 'PhameBasicTemplateBlogSkin' => 'applications/phame/skins/PhameBasicTemplateBlogSkin.php',
'PhameBlog' => 'applications/phame/storage/PhameBlog.php', 'PhameBlog' => 'applications/phame/storage/PhameBlog.php',
'PhameBlogController' => 'applications/phame/controller/blog/PhameBlogController.php',
'PhameBlogDeleteController' => 'applications/phame/controller/blog/PhameBlogDeleteController.php', 'PhameBlogDeleteController' => 'applications/phame/controller/blog/PhameBlogDeleteController.php',
'PhameBlogEditController' => 'applications/phame/controller/blog/PhameBlogEditController.php', 'PhameBlogEditController' => 'applications/phame/controller/blog/PhameBlogEditController.php',
'PhameBlogEditor' => 'applications/phame/editor/PhameBlogEditor.php', 'PhameBlogEditor' => 'applications/phame/editor/PhameBlogEditor.php',
@ -3229,6 +3266,7 @@ phutil_register_library_map(array(
'PhameCreatePostConduitAPIMethod' => 'applications/phame/conduit/PhameCreatePostConduitAPIMethod.php', 'PhameCreatePostConduitAPIMethod' => 'applications/phame/conduit/PhameCreatePostConduitAPIMethod.php',
'PhameDAO' => 'applications/phame/storage/PhameDAO.php', 'PhameDAO' => 'applications/phame/storage/PhameDAO.php',
'PhamePost' => 'applications/phame/storage/PhamePost.php', 'PhamePost' => 'applications/phame/storage/PhamePost.php',
'PhamePostController' => 'applications/phame/controller/post/PhamePostController.php',
'PhamePostDeleteController' => 'applications/phame/controller/post/PhamePostDeleteController.php', 'PhamePostDeleteController' => 'applications/phame/controller/post/PhamePostDeleteController.php',
'PhamePostEditController' => 'applications/phame/controller/post/PhamePostEditController.php', 'PhamePostEditController' => 'applications/phame/controller/post/PhamePostEditController.php',
'PhamePostEditor' => 'applications/phame/editor/PhamePostEditor.php', 'PhamePostEditor' => 'applications/phame/editor/PhamePostEditor.php',
@ -3239,6 +3277,7 @@ phutil_register_library_map(array(
'PhamePostPreviewController' => 'applications/phame/controller/post/PhamePostPreviewController.php', 'PhamePostPreviewController' => 'applications/phame/controller/post/PhamePostPreviewController.php',
'PhamePostPublishController' => 'applications/phame/controller/post/PhamePostPublishController.php', 'PhamePostPublishController' => 'applications/phame/controller/post/PhamePostPublishController.php',
'PhamePostQuery' => 'applications/phame/query/PhamePostQuery.php', 'PhamePostQuery' => 'applications/phame/query/PhamePostQuery.php',
'PhamePostReplyHandler' => 'applications/phame/mail/PhamePostReplyHandler.php',
'PhamePostSearchEngine' => 'applications/phame/query/PhamePostSearchEngine.php', 'PhamePostSearchEngine' => 'applications/phame/query/PhamePostSearchEngine.php',
'PhamePostTransaction' => 'applications/phame/storage/PhamePostTransaction.php', 'PhamePostTransaction' => 'applications/phame/storage/PhamePostTransaction.php',
'PhamePostTransactionQuery' => 'applications/phame/query/PhamePostTransactionQuery.php', 'PhamePostTransactionQuery' => 'applications/phame/query/PhamePostTransactionQuery.php',
@ -3848,6 +3887,7 @@ phutil_register_library_map(array(
'AphrontFormView' => 'AphrontView', 'AphrontFormView' => 'AphrontView',
'AphrontGlyphBarView' => 'AphrontBarView', 'AphrontGlyphBarView' => 'AphrontBarView',
'AphrontHTMLResponse' => 'AphrontResponse', 'AphrontHTMLResponse' => 'AphrontResponse',
'AphrontHTTPParameterType' => 'Phobject',
'AphrontHTTPProxyResponse' => 'AphrontResponse', 'AphrontHTTPProxyResponse' => 'AphrontResponse',
'AphrontHTTPSink' => 'Phobject', 'AphrontHTTPSink' => 'Phobject',
'AphrontHTTPSinkTestCase' => 'PhabricatorTestCase', 'AphrontHTTPSinkTestCase' => 'PhabricatorTestCase',
@ -3862,10 +3902,13 @@ phutil_register_library_map(array(
'AphrontMultiColumnView' => 'AphrontView', 'AphrontMultiColumnView' => 'AphrontView',
'AphrontMySQLDatabaseConnectionTestCase' => 'PhabricatorTestCase', 'AphrontMySQLDatabaseConnectionTestCase' => 'PhabricatorTestCase',
'AphrontNullView' => 'AphrontView', 'AphrontNullView' => 'AphrontView',
'AphrontPHIDHTTPParameterType' => 'AphrontHTTPParameterType',
'AphrontPHIDListHTTPParameterType' => 'AphrontHTTPParameterType',
'AphrontPHPHTTPSink' => 'AphrontHTTPSink', 'AphrontPHPHTTPSink' => 'AphrontHTTPSink',
'AphrontPageView' => 'AphrontView', 'AphrontPageView' => 'AphrontView',
'AphrontPlainTextResponse' => 'AphrontResponse', 'AphrontPlainTextResponse' => 'AphrontResponse',
'AphrontProgressBarView' => 'AphrontBarView', 'AphrontProgressBarView' => 'AphrontBarView',
'AphrontProjectListHTTPParameterType' => 'AphrontHTTPParameterType',
'AphrontProxyResponse' => array( 'AphrontProxyResponse' => array(
'AphrontResponse', 'AphrontResponse',
'AphrontResponseProducerInterface', 'AphrontResponseProducerInterface',
@ -3879,15 +3922,19 @@ phutil_register_library_map(array(
'AphrontResponse' => 'Phobject', 'AphrontResponse' => 'Phobject',
'AphrontRoutingMap' => 'Phobject', 'AphrontRoutingMap' => 'Phobject',
'AphrontRoutingResult' => 'Phobject', 'AphrontRoutingResult' => 'Phobject',
'AphrontSelectHTTPParameterType' => 'AphrontHTTPParameterType',
'AphrontSideNavFilterView' => 'AphrontView', 'AphrontSideNavFilterView' => 'AphrontView',
'AphrontSite' => 'Phobject', 'AphrontSite' => 'Phobject',
'AphrontStackTraceView' => 'AphrontView', 'AphrontStackTraceView' => 'AphrontView',
'AphrontStandaloneHTMLResponse' => 'AphrontHTMLResponse', 'AphrontStandaloneHTMLResponse' => 'AphrontHTMLResponse',
'AphrontStringHTTPParameterType' => 'AphrontHTTPParameterType',
'AphrontStringListHTTPParameterType' => 'AphrontHTTPParameterType',
'AphrontTableView' => 'AphrontView', 'AphrontTableView' => 'AphrontView',
'AphrontTagView' => 'AphrontView', 'AphrontTagView' => 'AphrontView',
'AphrontTokenizerTemplateView' => 'AphrontView', 'AphrontTokenizerTemplateView' => 'AphrontView',
'AphrontTypeaheadTemplateView' => 'AphrontView', 'AphrontTypeaheadTemplateView' => 'AphrontView',
'AphrontUnhandledExceptionResponse' => 'AphrontStandaloneHTMLResponse', 'AphrontUnhandledExceptionResponse' => 'AphrontStandaloneHTMLResponse',
'AphrontUserListHTTPParameterType' => 'AphrontHTTPParameterType',
'AphrontView' => array( 'AphrontView' => array(
'Phobject', 'Phobject',
'PhutilSafeHTMLProducerInterface', 'PhutilSafeHTMLProducerInterface',
@ -5308,6 +5355,7 @@ phutil_register_library_map(array(
'PHUI' => 'Phobject', 'PHUI' => 'Phobject',
'PHUIActionPanelExample' => 'PhabricatorUIExample', 'PHUIActionPanelExample' => 'PhabricatorUIExample',
'PHUIActionPanelView' => 'AphrontTagView', 'PHUIActionPanelView' => 'AphrontTagView',
'PHUIApplicationMenuView' => 'Phobject',
'PHUIBadgeBoxView' => 'AphrontTagView', 'PHUIBadgeBoxView' => 'AphrontTagView',
'PHUIBadgeExample' => 'PhabricatorUIExample', 'PHUIBadgeExample' => 'PhabricatorUIExample',
'PHUIBadgeMiniView' => 'AphrontTagView', 'PHUIBadgeMiniView' => 'AphrontTagView',
@ -5338,6 +5386,7 @@ phutil_register_library_map(array(
'PHUIDiffTwoUpInlineCommentRowScaffold' => 'PHUIDiffInlineCommentRowScaffold', 'PHUIDiffTwoUpInlineCommentRowScaffold' => 'PHUIDiffInlineCommentRowScaffold',
'PHUIDocumentExample' => 'PhabricatorUIExample', 'PHUIDocumentExample' => 'PhabricatorUIExample',
'PHUIDocumentView' => 'AphrontTagView', 'PHUIDocumentView' => 'AphrontTagView',
'PHUIDocumentViewPro' => 'AphrontTagView',
'PHUIFeedStoryExample' => 'PhabricatorUIExample', 'PHUIFeedStoryExample' => 'PhabricatorUIExample',
'PHUIFeedStoryView' => 'AphrontView', 'PHUIFeedStoryView' => 'AphrontView',
'PHUIFormDividerControl' => 'AphrontFormControl', 'PHUIFormDividerControl' => 'AphrontFormControl',
@ -5441,6 +5490,7 @@ phutil_register_library_map(array(
'PasteCreateMailReceiver' => 'PhabricatorMailReceiver', 'PasteCreateMailReceiver' => 'PhabricatorMailReceiver',
'PasteDefaultEditCapability' => 'PhabricatorPolicyCapability', 'PasteDefaultEditCapability' => 'PhabricatorPolicyCapability',
'PasteDefaultViewCapability' => 'PhabricatorPolicyCapability', 'PasteDefaultViewCapability' => 'PhabricatorPolicyCapability',
'PasteEditConduitAPIMethod' => 'PhabricatorApplicationEditEngineAPIMethod',
'PasteEmbedView' => 'AphrontView', 'PasteEmbedView' => 'AphrontView',
'PasteInfoConduitAPIMethod' => 'PasteConduitAPIMethod', 'PasteInfoConduitAPIMethod' => 'PasteConduitAPIMethod',
'PasteMailReceiver' => 'PhabricatorObjectMailReceiver', 'PasteMailReceiver' => 'PhabricatorObjectMailReceiver',
@ -5484,6 +5534,9 @@ phutil_register_library_map(array(
'PhabricatorApplicationDatasource' => 'PhabricatorTypeaheadDatasource', 'PhabricatorApplicationDatasource' => 'PhabricatorTypeaheadDatasource',
'PhabricatorApplicationDetailViewController' => 'PhabricatorApplicationsController', 'PhabricatorApplicationDetailViewController' => 'PhabricatorApplicationsController',
'PhabricatorApplicationEditController' => 'PhabricatorApplicationsController', 'PhabricatorApplicationEditController' => 'PhabricatorApplicationsController',
'PhabricatorApplicationEditEngine' => 'Phobject',
'PhabricatorApplicationEditEngineAPIMethod' => 'ConduitAPIMethod',
'PhabricatorApplicationEditHTTPParameterHelpView' => 'AphrontView',
'PhabricatorApplicationEmailCommandsController' => 'PhabricatorApplicationsController', 'PhabricatorApplicationEmailCommandsController' => 'PhabricatorApplicationsController',
'PhabricatorApplicationLaunchView' => 'AphrontTagView', 'PhabricatorApplicationLaunchView' => 'AphrontTagView',
'PhabricatorApplicationPanelController' => 'PhabricatorApplicationsController', 'PhabricatorApplicationPanelController' => 'PhabricatorApplicationsController',
@ -5812,7 +5865,6 @@ phutil_register_library_map(array(
'PhabricatorCommonPasswords' => 'Phobject', 'PhabricatorCommonPasswords' => 'Phobject',
'PhabricatorConduitAPIController' => 'PhabricatorConduitController', 'PhabricatorConduitAPIController' => 'PhabricatorConduitController',
'PhabricatorConduitApplication' => 'PhabricatorApplication', 'PhabricatorConduitApplication' => 'PhabricatorApplication',
'PhabricatorConduitCertificateSettingsPanel' => 'PhabricatorSettingsPanel',
'PhabricatorConduitCertificateToken' => 'PhabricatorConduitDAO', 'PhabricatorConduitCertificateToken' => 'PhabricatorConduitDAO',
'PhabricatorConduitConnectionLog' => 'PhabricatorConduitDAO', 'PhabricatorConduitConnectionLog' => 'PhabricatorConduitDAO',
'PhabricatorConduitConsoleController' => 'PhabricatorConduitController', 'PhabricatorConduitConsoleController' => 'PhabricatorConduitController',
@ -5866,6 +5918,7 @@ phutil_register_library_map(array(
'PhabricatorConfigEntryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorConfigEntryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhabricatorConfigFileSource' => 'PhabricatorConfigProxySource', 'PhabricatorConfigFileSource' => 'PhabricatorConfigProxySource',
'PhabricatorConfigGroupController' => 'PhabricatorConfigController', 'PhabricatorConfigGroupController' => 'PhabricatorConfigController',
'PhabricatorConfigHTTPParameterTypesModule' => 'PhabricatorConfigModule',
'PhabricatorConfigHistoryController' => 'PhabricatorConfigController', 'PhabricatorConfigHistoryController' => 'PhabricatorConfigController',
'PhabricatorConfigIgnoreController' => 'PhabricatorConfigController', 'PhabricatorConfigIgnoreController' => 'PhabricatorConfigController',
'PhabricatorConfigIssueListController' => 'PhabricatorConfigController', 'PhabricatorConfigIssueListController' => 'PhabricatorConfigController',
@ -6075,6 +6128,7 @@ phutil_register_library_map(array(
'PhabricatorDataCacheSpec' => 'PhabricatorCacheSpec', 'PhabricatorDataCacheSpec' => 'PhabricatorCacheSpec',
'PhabricatorDataNotAttachedException' => 'Exception', 'PhabricatorDataNotAttachedException' => 'Exception',
'PhabricatorDatabaseSetupCheck' => 'PhabricatorSetupCheck', 'PhabricatorDatabaseSetupCheck' => 'PhabricatorSetupCheck',
'PhabricatorDatasourceEditField' => 'PhabricatorTokenizerEditField',
'PhabricatorDateTimeSettingsPanel' => 'PhabricatorSettingsPanel', 'PhabricatorDateTimeSettingsPanel' => 'PhabricatorSettingsPanel',
'PhabricatorDebugController' => 'PhabricatorController', 'PhabricatorDebugController' => 'PhabricatorController',
'PhabricatorDefaultRequestExceptionHandler' => 'PhabricatorRequestExceptionHandler', 'PhabricatorDefaultRequestExceptionHandler' => 'PhabricatorRequestExceptionHandler',
@ -6102,12 +6156,15 @@ phutil_register_library_map(array(
'PhabricatorEdgeConfig' => 'PhabricatorEdgeConstants', 'PhabricatorEdgeConfig' => 'PhabricatorEdgeConstants',
'PhabricatorEdgeConstants' => 'Phobject', 'PhabricatorEdgeConstants' => 'Phobject',
'PhabricatorEdgeCycleException' => 'Exception', 'PhabricatorEdgeCycleException' => 'Exception',
'PhabricatorEdgeEditType' => 'PhabricatorEditType',
'PhabricatorEdgeEditor' => 'Phobject', 'PhabricatorEdgeEditor' => 'Phobject',
'PhabricatorEdgeGraph' => 'AbstractDirectedGraph', 'PhabricatorEdgeGraph' => 'AbstractDirectedGraph',
'PhabricatorEdgeQuery' => 'PhabricatorQuery', 'PhabricatorEdgeQuery' => 'PhabricatorQuery',
'PhabricatorEdgeTestCase' => 'PhabricatorTestCase', 'PhabricatorEdgeTestCase' => 'PhabricatorTestCase',
'PhabricatorEdgeType' => 'Phobject', 'PhabricatorEdgeType' => 'Phobject',
'PhabricatorEdgeTypeTestCase' => 'PhabricatorTestCase', 'PhabricatorEdgeTypeTestCase' => 'PhabricatorTestCase',
'PhabricatorEditField' => 'Phobject',
'PhabricatorEditType' => 'Phobject',
'PhabricatorEditor' => 'Phobject', 'PhabricatorEditor' => 'Phobject',
'PhabricatorElasticSearchEngine' => 'PhabricatorSearchEngine', 'PhabricatorElasticSearchEngine' => 'PhabricatorSearchEngine',
'PhabricatorElasticSearchSetupCheck' => 'PhabricatorSetupCheck', 'PhabricatorElasticSearchSetupCheck' => 'PhabricatorSetupCheck',
@ -6285,6 +6342,7 @@ phutil_register_library_map(array(
'PhabricatorGlobalLock' => 'PhutilLock', 'PhabricatorGlobalLock' => 'PhutilLock',
'PhabricatorGlobalUploadTargetView' => 'AphrontView', 'PhabricatorGlobalUploadTargetView' => 'AphrontView',
'PhabricatorGoogleAuthProvider' => 'PhabricatorOAuth2AuthProvider', 'PhabricatorGoogleAuthProvider' => 'PhabricatorOAuth2AuthProvider',
'PhabricatorHTTPParameterTypeTableView' => 'AphrontView',
'PhabricatorHandleList' => array( 'PhabricatorHandleList' => array(
'Phobject', 'Phobject',
'Iterator', 'Iterator',
@ -6611,6 +6669,7 @@ phutil_register_library_map(array(
'PhabricatorPHDConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorPHDConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorPHID' => 'Phobject', 'PhabricatorPHID' => 'Phobject',
'PhabricatorPHIDConstants' => 'Phobject', 'PhabricatorPHIDConstants' => 'Phobject',
'PhabricatorPHIDResolver' => 'Phobject',
'PhabricatorPHIDType' => 'Phobject', 'PhabricatorPHIDType' => 'Phobject',
'PhabricatorPHIDTypeTestCase' => 'PhutilTestCase', 'PhabricatorPHIDTypeTestCase' => 'PhutilTestCase',
'PhabricatorPHPASTApplication' => 'PhabricatorApplication', 'PhabricatorPHPASTApplication' => 'PhabricatorApplication',
@ -6642,6 +6701,7 @@ phutil_register_library_map(array(
'PhabricatorPasteController' => 'PhabricatorController', 'PhabricatorPasteController' => 'PhabricatorController',
'PhabricatorPasteDAO' => 'PhabricatorLiskDAO', 'PhabricatorPasteDAO' => 'PhabricatorLiskDAO',
'PhabricatorPasteEditController' => 'PhabricatorPasteController', 'PhabricatorPasteEditController' => 'PhabricatorPasteController',
'PhabricatorPasteEditEngine' => 'PhabricatorApplicationEditEngine',
'PhabricatorPasteEditor' => 'PhabricatorApplicationTransactionEditor', 'PhabricatorPasteEditor' => 'PhabricatorApplicationTransactionEditor',
'PhabricatorPasteListController' => 'PhabricatorPasteController', 'PhabricatorPasteListController' => 'PhabricatorPasteController',
'PhabricatorPastePastePHIDType' => 'PhabricatorPHIDType', 'PhabricatorPastePastePHIDType' => 'PhabricatorPHIDType',
@ -6712,6 +6772,8 @@ phutil_register_library_map(array(
'PhabricatorPhurlApplication' => 'PhabricatorApplication', 'PhabricatorPhurlApplication' => 'PhabricatorApplication',
'PhabricatorPhurlController' => 'PhabricatorController', 'PhabricatorPhurlController' => 'PhabricatorController',
'PhabricatorPhurlDAO' => 'PhabricatorLiskDAO', 'PhabricatorPhurlDAO' => 'PhabricatorLiskDAO',
'PhabricatorPhurlLinkRemarkupRule' => 'PhutilRemarkupRule',
'PhabricatorPhurlRemarkupRule' => 'PhabricatorObjectRemarkupRule',
'PhabricatorPhurlSchemaSpec' => 'PhabricatorConfigSchemaSpec', 'PhabricatorPhurlSchemaSpec' => 'PhabricatorConfigSchemaSpec',
'PhabricatorPhurlURL' => array( 'PhabricatorPhurlURL' => array(
'PhabricatorPhurlDAO', 'PhabricatorPhurlDAO',
@ -6725,6 +6787,7 @@ phutil_register_library_map(array(
'PhabricatorFlaggableInterface', 'PhabricatorFlaggableInterface',
'PhabricatorSpacesInterface', 'PhabricatorSpacesInterface',
), ),
'PhabricatorPhurlURLAccessController' => 'PhabricatorPhurlController',
'PhabricatorPhurlURLEditController' => 'PhabricatorPhurlController', 'PhabricatorPhurlURLEditController' => 'PhabricatorPhurlController',
'PhabricatorPhurlURLEditor' => 'PhabricatorApplicationTransactionEditor', 'PhabricatorPhurlURLEditor' => 'PhabricatorApplicationTransactionEditor',
'PhabricatorPhurlURLListController' => 'PhabricatorPhurlController', 'PhabricatorPhurlURLListController' => 'PhabricatorPhurlController',
@ -6756,6 +6819,7 @@ phutil_register_library_map(array(
'PhabricatorPolicyDAO' => 'PhabricatorLiskDAO', 'PhabricatorPolicyDAO' => 'PhabricatorLiskDAO',
'PhabricatorPolicyDataTestCase' => 'PhabricatorTestCase', 'PhabricatorPolicyDataTestCase' => 'PhabricatorTestCase',
'PhabricatorPolicyEditController' => 'PhabricatorPolicyController', 'PhabricatorPolicyEditController' => 'PhabricatorPolicyController',
'PhabricatorPolicyEditField' => 'PhabricatorEditField',
'PhabricatorPolicyException' => 'Exception', 'PhabricatorPolicyException' => 'Exception',
'PhabricatorPolicyExplainController' => 'PhabricatorPolicyController', 'PhabricatorPolicyExplainController' => 'PhabricatorPolicyController',
'PhabricatorPolicyFilter' => 'Phobject', 'PhabricatorPolicyFilter' => 'Phobject',
@ -6845,6 +6909,7 @@ phutil_register_library_map(array(
'PhabricatorProjectObjectHasProjectEdgeType' => 'PhabricatorEdgeType', 'PhabricatorProjectObjectHasProjectEdgeType' => 'PhabricatorEdgeType',
'PhabricatorProjectOrUserDatasource' => 'PhabricatorTypeaheadCompositeDatasource', 'PhabricatorProjectOrUserDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
'PhabricatorProjectOrUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource', 'PhabricatorProjectOrUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
'PhabricatorProjectPHIDResolver' => 'PhabricatorPHIDResolver',
'PhabricatorProjectProfileController' => 'PhabricatorProjectController', 'PhabricatorProjectProfileController' => 'PhabricatorProjectController',
'PhabricatorProjectProjectHasMemberEdgeType' => 'PhabricatorEdgeType', 'PhabricatorProjectProjectHasMemberEdgeType' => 'PhabricatorEdgeType',
'PhabricatorProjectProjectHasObjectEdgeType' => 'PhabricatorEdgeType', 'PhabricatorProjectProjectHasObjectEdgeType' => 'PhabricatorEdgeType',
@ -6870,6 +6935,7 @@ phutil_register_library_map(array(
'PhabricatorProjectUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource', 'PhabricatorProjectUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
'PhabricatorProjectViewController' => 'PhabricatorProjectController', 'PhabricatorProjectViewController' => 'PhabricatorProjectController',
'PhabricatorProjectWatchController' => 'PhabricatorProjectController', 'PhabricatorProjectWatchController' => 'PhabricatorProjectController',
'PhabricatorProjectsEditField' => 'PhabricatorTokenizerEditField',
'PhabricatorProjectsPolicyRule' => 'PhabricatorPolicyRule', 'PhabricatorProjectsPolicyRule' => 'PhabricatorPolicyRule',
'PhabricatorProtocolAdapter' => 'Phobject', 'PhabricatorProtocolAdapter' => 'Phobject',
'PhabricatorPygmentSetupCheck' => 'PhabricatorSetupCheck', 'PhabricatorPygmentSetupCheck' => 'PhabricatorSetupCheck',
@ -7084,6 +7150,7 @@ phutil_register_library_map(array(
'PhabricatorSearchWorker' => 'PhabricatorWorker', 'PhabricatorSearchWorker' => 'PhabricatorWorker',
'PhabricatorSecurityConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorSecurityConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorSecuritySetupCheck' => 'PhabricatorSetupCheck', 'PhabricatorSecuritySetupCheck' => 'PhabricatorSetupCheck',
'PhabricatorSelectEditField' => 'PhabricatorEditField',
'PhabricatorSendGridConfigOptions' => 'PhabricatorApplicationConfigOptions', 'PhabricatorSendGridConfigOptions' => 'PhabricatorApplicationConfigOptions',
'PhabricatorSessionsSettingsPanel' => 'PhabricatorSettingsPanel', 'PhabricatorSessionsSettingsPanel' => 'PhabricatorSettingsPanel',
'PhabricatorSettingsAddEmailAction' => 'PhabricatorSystemAction', 'PhabricatorSettingsAddEmailAction' => 'PhabricatorSystemAction',
@ -7096,6 +7163,7 @@ phutil_register_library_map(array(
'PhabricatorSetupIssue' => 'Phobject', 'PhabricatorSetupIssue' => 'Phobject',
'PhabricatorSetupIssueUIExample' => 'PhabricatorUIExample', 'PhabricatorSetupIssueUIExample' => 'PhabricatorUIExample',
'PhabricatorSetupIssueView' => 'AphrontView', 'PhabricatorSetupIssueView' => 'AphrontView',
'PhabricatorSimpleEditType' => 'PhabricatorEditType',
'PhabricatorSite' => 'AphrontSite', 'PhabricatorSite' => 'AphrontSite',
'PhabricatorSlowvoteApplication' => 'PhabricatorApplication', 'PhabricatorSlowvoteApplication' => 'PhabricatorApplication',
'PhabricatorSlowvoteChoice' => 'PhabricatorSlowvoteDAO', 'PhabricatorSlowvoteChoice' => 'PhabricatorSlowvoteDAO',
@ -7134,6 +7202,7 @@ phutil_register_library_map(array(
'PhabricatorSlugTestCase' => 'PhabricatorTestCase', 'PhabricatorSlugTestCase' => 'PhabricatorTestCase',
'PhabricatorSortTableUIExample' => 'PhabricatorUIExample', 'PhabricatorSortTableUIExample' => 'PhabricatorUIExample',
'PhabricatorSourceCodeView' => 'AphrontView', 'PhabricatorSourceCodeView' => 'AphrontView',
'PhabricatorSpaceEditField' => 'PhabricatorEditField',
'PhabricatorSpacesApplication' => 'PhabricatorApplication', 'PhabricatorSpacesApplication' => 'PhabricatorApplication',
'PhabricatorSpacesArchiveController' => 'PhabricatorSpacesController', 'PhabricatorSpacesArchiveController' => 'PhabricatorSpacesController',
'PhabricatorSpacesCapabilityCreateSpaces' => 'PhabricatorPolicyCapability', 'PhabricatorSpacesCapabilityCreateSpaces' => 'PhabricatorPolicyCapability',
@ -7178,7 +7247,10 @@ phutil_register_library_map(array(
'PhabricatorStandardCustomFieldText' => 'PhabricatorStandardCustomField', 'PhabricatorStandardCustomFieldText' => 'PhabricatorStandardCustomField',
'PhabricatorStandardCustomFieldTokenizer' => 'PhabricatorStandardCustomFieldPHIDs', 'PhabricatorStandardCustomFieldTokenizer' => 'PhabricatorStandardCustomFieldPHIDs',
'PhabricatorStandardCustomFieldUsers' => 'PhabricatorStandardCustomFieldTokenizer', 'PhabricatorStandardCustomFieldUsers' => 'PhabricatorStandardCustomFieldTokenizer',
'PhabricatorStandardPageView' => 'PhabricatorBarePageView', 'PhabricatorStandardPageView' => array(
'PhabricatorBarePageView',
'AphrontResponseProducerInterface',
),
'PhabricatorStandardSelectCustomFieldDatasource' => 'PhabricatorTypeaheadDatasource', 'PhabricatorStandardSelectCustomFieldDatasource' => 'PhabricatorTypeaheadDatasource',
'PhabricatorStatusController' => 'PhabricatorController', 'PhabricatorStatusController' => 'PhabricatorController',
'PhabricatorStatusUIExample' => 'PhabricatorUIExample', 'PhabricatorStatusUIExample' => 'PhabricatorUIExample',
@ -7200,6 +7272,7 @@ phutil_register_library_map(array(
'PhabricatorStorageSetupCheck' => 'PhabricatorSetupCheck', 'PhabricatorStorageSetupCheck' => 'PhabricatorSetupCheck',
'PhabricatorStreamingProtocolAdapter' => 'PhabricatorProtocolAdapter', 'PhabricatorStreamingProtocolAdapter' => 'PhabricatorProtocolAdapter',
'PhabricatorSubscribedToObjectEdgeType' => 'PhabricatorEdgeType', 'PhabricatorSubscribedToObjectEdgeType' => 'PhabricatorEdgeType',
'PhabricatorSubscribersEditField' => 'PhabricatorTokenizerEditField',
'PhabricatorSubscribersQuery' => 'PhabricatorQuery', 'PhabricatorSubscribersQuery' => 'PhabricatorQuery',
'PhabricatorSubscriptionTriggerClock' => 'PhabricatorTriggerClock', 'PhabricatorSubscriptionTriggerClock' => 'PhabricatorTriggerClock',
'PhabricatorSubscriptionsAddSelfHeraldAction' => 'PhabricatorSubscriptionsHeraldAction', 'PhabricatorSubscriptionsAddSelfHeraldAction' => 'PhabricatorSubscriptionsHeraldAction',
@ -7243,6 +7316,8 @@ phutil_register_library_map(array(
'PhabricatorTestNoCycleEdgeType' => 'PhabricatorEdgeType', 'PhabricatorTestNoCycleEdgeType' => 'PhabricatorEdgeType',
'PhabricatorTestStorageEngine' => 'PhabricatorFileStorageEngine', 'PhabricatorTestStorageEngine' => 'PhabricatorFileStorageEngine',
'PhabricatorTestWorker' => 'PhabricatorWorker', 'PhabricatorTestWorker' => 'PhabricatorWorker',
'PhabricatorTextAreaEditField' => 'PhabricatorEditField',
'PhabricatorTextEditField' => 'PhabricatorEditField',
'PhabricatorTime' => 'Phobject', 'PhabricatorTime' => 'Phobject',
'PhabricatorTimeGuard' => 'Phobject', 'PhabricatorTimeGuard' => 'Phobject',
'PhabricatorTimeTestCase' => 'PhabricatorTestCase', 'PhabricatorTimeTestCase' => 'PhabricatorTestCase',
@ -7269,6 +7344,7 @@ phutil_register_library_map(array(
'PhabricatorTokenReceiverQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhabricatorTokenReceiverQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhabricatorTokenTokenPHIDType' => 'PhabricatorPHIDType', 'PhabricatorTokenTokenPHIDType' => 'PhabricatorPHIDType',
'PhabricatorTokenUIEventListener' => 'PhabricatorEventListener', 'PhabricatorTokenUIEventListener' => 'PhabricatorEventListener',
'PhabricatorTokenizerEditField' => 'PhabricatorEditField',
'PhabricatorTokensApplication' => 'PhabricatorApplication', 'PhabricatorTokensApplication' => 'PhabricatorApplication',
'PhabricatorTokensSettingsPanel' => 'PhabricatorSettingsPanel', 'PhabricatorTokensSettingsPanel' => 'PhabricatorSettingsPanel',
'PhabricatorTooltipUIExample' => 'PhabricatorUIExample', 'PhabricatorTooltipUIExample' => 'PhabricatorUIExample',
@ -7331,6 +7407,7 @@ phutil_register_library_map(array(
'PhabricatorPolicyInterface', 'PhabricatorPolicyInterface',
), ),
'PhabricatorUserLogView' => 'AphrontView', 'PhabricatorUserLogView' => 'AphrontView',
'PhabricatorUserPHIDResolver' => 'PhabricatorPHIDResolver',
'PhabricatorUserPreferences' => 'PhabricatorUserDAO', 'PhabricatorUserPreferences' => 'PhabricatorUserDAO',
'PhabricatorUserProfile' => 'PhabricatorUserDAO', 'PhabricatorUserProfile' => 'PhabricatorUserDAO',
'PhabricatorUserProfileEditor' => 'PhabricatorApplicationTransactionEditor', 'PhabricatorUserProfileEditor' => 'PhabricatorApplicationTransactionEditor',
@ -7343,6 +7420,7 @@ phutil_register_library_map(array(
'PhabricatorUserTestCase' => 'PhabricatorTestCase', 'PhabricatorUserTestCase' => 'PhabricatorTestCase',
'PhabricatorUserTitleField' => 'PhabricatorUserCustomField', 'PhabricatorUserTitleField' => 'PhabricatorUserCustomField',
'PhabricatorUserTransaction' => 'PhabricatorApplicationTransaction', 'PhabricatorUserTransaction' => 'PhabricatorApplicationTransaction',
'PhabricatorUsersEditField' => 'PhabricatorTokenizerEditField',
'PhabricatorUsersPolicyRule' => 'PhabricatorPolicyRule', 'PhabricatorUsersPolicyRule' => 'PhabricatorPolicyRule',
'PhabricatorUsersSearchField' => 'PhabricatorSearchTokenizerField', 'PhabricatorUsersSearchField' => 'PhabricatorSearchTokenizerField',
'PhabricatorVCSResponse' => 'AphrontResponse', 'PhabricatorVCSResponse' => 'AphrontResponse',
@ -7432,18 +7510,19 @@ phutil_register_library_map(array(
'PhabricatorProjectInterface', 'PhabricatorProjectInterface',
'PhabricatorApplicationTransactionInterface', 'PhabricatorApplicationTransactionInterface',
), ),
'PhameBlogDeleteController' => 'PhameController', 'PhameBlogController' => 'PhameController',
'PhameBlogEditController' => 'PhameController', 'PhameBlogDeleteController' => 'PhameBlogController',
'PhameBlogEditController' => 'PhameBlogController',
'PhameBlogEditor' => 'PhabricatorApplicationTransactionEditor', 'PhameBlogEditor' => 'PhabricatorApplicationTransactionEditor',
'PhameBlogFeedController' => 'PhameController', 'PhameBlogFeedController' => 'PhameBlogController',
'PhameBlogListController' => 'PhameController', 'PhameBlogListController' => 'PhameBlogController',
'PhameBlogLiveController' => 'PhameController', 'PhameBlogLiveController' => 'PhameBlogController',
'PhameBlogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhameBlogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhameBlogSearchEngine' => 'PhabricatorApplicationSearchEngine', 'PhameBlogSearchEngine' => 'PhabricatorApplicationSearchEngine',
'PhameBlogSite' => 'PhameSite', 'PhameBlogSite' => 'PhameSite',
'PhameBlogSkin' => 'PhabricatorController', 'PhameBlogSkin' => 'PhabricatorController',
'PhameBlogTransaction' => 'PhabricatorApplicationTransaction', 'PhameBlogTransaction' => 'PhabricatorApplicationTransaction',
'PhameBlogViewController' => 'PhameController', 'PhameBlogViewController' => 'PhameBlogController',
'PhameCelerityResources' => 'CelerityResources', 'PhameCelerityResources' => 'CelerityResources',
'PhameConduitAPIMethod' => 'ConduitAPIMethod', 'PhameConduitAPIMethod' => 'ConduitAPIMethod',
'PhameController' => 'PhabricatorController', 'PhameController' => 'PhabricatorController',
@ -7459,22 +7538,24 @@ phutil_register_library_map(array(
'PhabricatorSubscribableInterface', 'PhabricatorSubscribableInterface',
'PhabricatorTokenReceiverInterface', 'PhabricatorTokenReceiverInterface',
), ),
'PhamePostDeleteController' => 'PhameController', 'PhamePostController' => 'PhameController',
'PhamePostEditController' => 'PhameController', 'PhamePostDeleteController' => 'PhamePostController',
'PhamePostEditController' => 'PhamePostController',
'PhamePostEditor' => 'PhabricatorApplicationTransactionEditor', 'PhamePostEditor' => 'PhabricatorApplicationTransactionEditor',
'PhamePostFramedController' => 'PhameController', 'PhamePostFramedController' => 'PhamePostController',
'PhamePostListController' => 'PhameController', 'PhamePostListController' => 'PhamePostController',
'PhamePostNewController' => 'PhameController', 'PhamePostNewController' => 'PhamePostController',
'PhamePostNotLiveController' => 'PhameController', 'PhamePostNotLiveController' => 'PhamePostController',
'PhamePostPreviewController' => 'PhameController', 'PhamePostPreviewController' => 'PhamePostController',
'PhamePostPublishController' => 'PhameController', 'PhamePostPublishController' => 'PhamePostController',
'PhamePostQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', 'PhamePostQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhamePostReplyHandler' => 'PhabricatorApplicationTransactionReplyHandler',
'PhamePostSearchEngine' => 'PhabricatorApplicationSearchEngine', 'PhamePostSearchEngine' => 'PhabricatorApplicationSearchEngine',
'PhamePostTransaction' => 'PhabricatorApplicationTransaction', 'PhamePostTransaction' => 'PhabricatorApplicationTransaction',
'PhamePostTransactionQuery' => 'PhabricatorApplicationTransactionQuery', 'PhamePostTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
'PhamePostUnpublishController' => 'PhameController', 'PhamePostUnpublishController' => 'PhamePostController',
'PhamePostView' => 'AphrontView', 'PhamePostView' => 'AphrontView',
'PhamePostViewController' => 'PhameController', 'PhamePostViewController' => 'PhamePostController',
'PhameQueryConduitAPIMethod' => 'PhameConduitAPIMethod', 'PhameQueryConduitAPIMethod' => 'PhameConduitAPIMethod',
'PhameQueryPostsConduitAPIMethod' => 'PhameConduitAPIMethod', 'PhameQueryPostsConduitAPIMethod' => 'PhameConduitAPIMethod',
'PhameResourceController' => 'CelerityResourceController', 'PhameResourceController' => 'CelerityResourceController',

View 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;
}
}

View file

@ -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',
);
}
}

View file

@ -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',
);
}
}

View file

@ -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',
);
}
}

View file

@ -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',
);
}
}

View file

@ -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',
);
}
}

View file

@ -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',
);
}
}

View file

@ -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',
);
}
}

View file

@ -12,6 +12,10 @@ final class AlmanacBindingPHIDType extends PhabricatorPHIDType {
return new AlmanacBinding(); return new AlmanacBinding();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class AlmanacDevicePHIDType extends PhabricatorPHIDType {
return new AlmanacDevice(); return new AlmanacDevice();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class AlmanacInterfacePHIDType extends PhabricatorPHIDType {
return new AlmanacInterface(); return new AlmanacInterface();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class AlmanacNetworkPHIDType extends PhabricatorPHIDType {
return new AlmanacNetwork(); return new AlmanacNetwork();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class AlmanacServicePHIDType extends PhabricatorPHIDType {
return new AlmanacService(); return new AlmanacService();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -2,18 +2,6 @@
abstract class PhabricatorAuthController extends PhabricatorController { 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) { protected function renderErrorPage($title, array $messages) {
$view = new PHUIInfoView(); $view = new PHUIInfoView();
$view->setTitle($title); $view->setTitle($title);

View file

@ -109,7 +109,7 @@ final class PhabricatorAuthListController
'only users with a verified email address at one of these %s '. 'only users with a verified email address at one of these %s '.
'allowed domain(s) will be able to register an account: %s', 'allowed domain(s) will be able to register an account: %s',
$domains_link, $domains_link,
new PhutilNumber(count($domains_value)), phutil_count($domains_value),
phutil_tag('strong', array(), implode(', ', $domains_value))); phutil_tag('strong', array(), implode(', ', $domains_value)));
} else { } else {
$issues[] = pht( $issues[] = pht(

View file

@ -78,7 +78,7 @@ final class PhabricatorAuthManagementRefreshWorkflow
"%s\n", "%s\n",
pht( pht(
'Found %s account(s) to refresh.', 'Found %s account(s) to refresh.',
new PhutilNumber(count($accounts)))); phutil_count($accounts)));
} }
$providers = PhabricatorAuthProvider::getAllEnabledProviders(); $providers = PhabricatorAuthProvider::getAllEnabledProviders();

View file

@ -12,6 +12,10 @@ final class PhabricatorAuthAuthFactorPHIDType extends PhabricatorPHIDType {
return new PhabricatorAuthFactorConfig(); return new PhabricatorAuthFactorConfig();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class PhabricatorAuthAuthProviderPHIDType extends PhabricatorPHIDType {
return new PhabricatorAuthProviderConfig(); return new PhabricatorAuthProviderConfig();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class PhabricatorAuthInvitePHIDType extends PhabricatorPHIDType {
return new PhabricatorAuthInvite(); return new PhabricatorAuthInvite();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -635,4 +635,8 @@ abstract class PhabricatorApplication
return array(); return array();
} }
protected function getEditRoutePattern($base) {
return $base.'(?:(?P<id>[0-9]\d*)/)?(?:(?P<editAction>parameters)/)?';
}
} }

View file

@ -3,7 +3,6 @@
abstract class PhabricatorController extends AphrontController { abstract class PhabricatorController extends AphrontController {
private $handles; private $handles;
private $extraQuicksandConfig = array();
public function shouldRequireLogin() { public function shouldRequireLogin() {
return true; return true;
@ -62,15 +61,6 @@ abstract class PhabricatorController extends AphrontController {
return false; return false;
} }
public function addExtraQuicksandConfig($config) {
$this->extraQuicksandConfig += $config;
return $this;
}
private function getExtraQuicksandConfig() {
return $this->extraQuicksandConfig;
}
public function willBeginExecution() { public function willBeginExecution() {
$request = $this->getRequest(); $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 = '') { public function getApplicationURI($path = '') {
if (!$this->getCurrentApplication()) { if (!$this->getCurrentApplication()) {
throw new Exception(pht('No application!')); throw new Exception(pht('No application!'));
@ -318,58 +282,6 @@ abstract class PhabricatorController extends AphrontController {
return $this->getCurrentApplication()->getApplicationURI($path); 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) { public function willSendResponse(AphrontResponse $response) {
$request = $this->getRequest(); $request = $this->getRequest();
@ -532,6 +444,36 @@ abstract class PhabricatorController extends AphrontController {
->setSubmitURI($submit_uri); ->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( protected function buildTransactionTimeline(
PhabricatorApplicationTransactionInterface $object, PhabricatorApplicationTransactionInterface $object,
PhabricatorApplicationTransactionQuery $query, PhabricatorApplicationTransactionQuery $query,
@ -579,4 +521,89 @@ abstract class PhabricatorController extends AphrontController {
return $timeline; 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();
}
} }

View file

@ -8,14 +8,14 @@ final class PhabricatorCalendarEventPHIDType extends PhabricatorPHIDType {
return pht('Event'); return pht('Event');
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorCalendarApplication';
}
public function newObject() { public function newObject() {
return new PhabricatorCalendarEvent(); return new PhabricatorCalendarEvent();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorCalendarApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -18,7 +18,7 @@ final class CelerityManagementMapWorkflow
$this->log( $this->log(
pht( pht(
'Rebuilding %d resource source(s).', 'Rebuilding %d resource source(s).',
new PhutilNumber(count($resources_map)))); phutil_count($resources_map)));
foreach ($resources_map as $name => $resources) { foreach ($resources_map as $name => $resources) {
$this->rebuildResources($resources); $this->rebuildResources($resources);

View file

@ -172,11 +172,11 @@ final class CelerityDefaultPostprocessor
'sh-pinkbackground' => '#fbeaf8', 'sh-pinkbackground' => '#fbeaf8',
// Shade Grey // Shade Grey
'sh-lightgreyborder' => '#d8d8d8', 'sh-lightgreyborder' => '#e3e4e8',
'sh-greyborder' => '#b2b2b2', 'sh-greyborder' => '#b2b2b2',
'sh-greyicon' => '#757575', 'sh-greyicon' => '#757575',
'sh-greytext' => '#555555', 'sh-greytext' => '#555555',
'sh-greybackground' => '#e7e7e7', 'sh-greybackground' => '#edeef2',
// Shade Disabled // Shade Disabled
'sh-lightdisabledborder' => '#e5e5e5', 'sh-lightdisabledborder' => '#e5e5e5',

View file

@ -115,7 +115,7 @@ final class PhabricatorDaemonsSetupCheck extends PhabricatorSetupCheck {
$list_section = array( $list_section = array(
pht( pht(
'The configurations differ in the following %s way(s):', 'The configurations differ in the following %s way(s):',
new PhutilNumber(count($issues))), phutil_count($issues)),
phutil_tag( phutil_tag(
'ul', 'ul',
array(), array(),

View file

@ -111,7 +111,7 @@ final class PhabricatorPathSetupCheck extends PhabricatorSetupCheck {
$this $this
->newIssue('config.PATH.'.$digest) ->newIssue('config.PATH.'.$digest)
->setName(pht('$PATH Component Unusable')) ->setName(pht('%s Component Unusable', '$PATH'))
->setSummary( ->setSummary(
pht( pht(
'A component of the configured PATH can not be used by '. 'A component of the configured PATH can not be used by '.

View file

@ -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);
}
}

View file

@ -12,6 +12,10 @@ final class PhabricatorConfigConfigPHIDType extends PhabricatorPHIDType {
return new PhabricatorConfigEntry(); return new PhabricatorConfigEntry();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorConfigApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -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;
}
}

View file

@ -387,7 +387,7 @@ final class PhabricatorSetupIssueView extends AphrontView {
array(), array(),
pht( pht(
'PHP also loaded these %s configuration file(s):', 'PHP also loaded these %s configuration file(s):',
new PhutilNumber(count($more_loc)))); phutil_count($more_loc)));
$info[] = phutil_tag( $info[] = phutil_tag(
'pre', 'pre',
array(), array(),

View file

@ -29,14 +29,13 @@ final class ConpherenceUpdateThreadConduitAPIMethod
protected function defineErrorTypes() { protected function defineErrorTypes() {
return array( return array(
'ERR_USAGE_NO_ROOM_ID' => pht( 'ERR_USAGE_NO_ROOM_ID' => pht(
'You must specify a room id or room phid to query transactions '. 'You must specify a room ID or room PHID to query transactions from.'),
'from.'),
'ERR_USAGE_ROOM_NOT_FOUND' => pht( '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( 'ERR_USAGE_ONLY_SELF_REMOVE' => pht(
'Only a user can remove themselves from a room.'), 'Only a user can remove themselves from a room.'),
'ERR_USAGE_NO_UPDATES' => pht( 'ERR_USAGE_NO_UPDATES' => pht(
'You must specify data that actually updates the conpherence.'), 'You must specify data that actually updates the Conpherence.'),
); );
} }

View file

@ -325,8 +325,7 @@ final class ConpherenceUpdateController
$remove_person = $request->getStr('remove_person'); $remove_person = $request->getStr('remove_person');
$participants = $conpherence->getParticipants(); $participants = $conpherence->getParticipants();
$message = pht( $message = pht('Are you sure you want to leave this room?');
'Are you sure you want to leave this room?');
$test_conpherence = clone $conpherence; $test_conpherence = clone $conpherence;
$test_conpherence->attachParticipants(array()); $test_conpherence->attachParticipants(array());
if (!PhabricatorPolicyFilter::hasCapability( if (!PhabricatorPolicyFilter::hasCapability(
@ -334,17 +333,14 @@ final class ConpherenceUpdateController
$test_conpherence, $test_conpherence,
PhabricatorPolicyCapability::CAN_VIEW)) { PhabricatorPolicyCapability::CAN_VIEW)) {
if (count($participants) == 1) { if (count($participants) == 1) {
$message .= pht( $message .= ' '.pht('The room will be inaccessible forever and ever.');
' The room will be inaccessible forever and ever.');
} else { } else {
$message .= pht( $message .= ' '.pht('Someone else in the room can add you back later.');
' Someone else in the room can add you back later.');
} }
} }
$body = phutil_tag( $body = phutil_tag(
'p', 'p',
array( array(),
),
$message); $message);
require_celerity_resource('conpherence-update-css'); require_celerity_resource('conpherence-update-css');

View file

@ -77,14 +77,14 @@ final class ConpherenceTransaction extends PhabricatorApplicationTransaction {
count($rem)); count($rem));
} else if ($add) { } else if ($add) {
$title = pht( $title = pht(
'%s added %d files(s).', '%s added %s files(s).',
$this->renderHandleLink($author_phid), $this->renderHandleLink($author_phid),
count($add)); phutil_count($add));
} else { } else {
$title = pht( $title = pht(
'%s removed %d file(s).', '%s removed %s file(s).',
$this->renderHandleLink($author_phid), $this->renderHandleLink($author_phid),
count($rem)); phutil_count($rem));
} }
return $title; return $title;
break; break;

View file

@ -12,6 +12,10 @@ final class PhabricatorCountdownCountdownPHIDType extends PhabricatorPHIDType {
return new PhabricatorCountdown(); return new PhabricatorCountdown();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorCountdownApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -226,7 +226,9 @@ abstract class PhabricatorDaemonManagementWorkflow
// Retry without sudo // Retry without sudo
$console->writeOut( $console->writeOut(
"%s\n", "%s\n",
pht('sudo command failed. Starting daemon as current user.')); pht(
'%s command failed. Starting daemon as current user.',
'sudo'));
$this->executeDaemonLaunchCommand( $this->executeDaemonLaunchCommand(
$command, $command,
$daemon_script_dir, $daemon_script_dir,
@ -265,8 +267,9 @@ abstract class PhabricatorDaemonManagementWorkflow
if (preg_match('/sudo: a password is required/', $stderr)) { if (preg_match('/sudo: a password is required/', $stderr)) {
throw new Exception( throw new Exception(
pht( pht(
'sudo exited with a zero exit code, but emitted output '. '%s exited with a zero exit code, but emitted output '.
'consistent with failure under OSX.')); 'consistent with failure under OSX.',
'sudo'));
} }
} }
} }

View file

@ -12,6 +12,10 @@ final class PhabricatorDashboardDashboardPHIDType extends PhabricatorPHIDType {
return new PhabricatorDashboard(); return new PhabricatorDashboard();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDashboardApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class PhabricatorDashboardPanelPHIDType extends PhabricatorPHIDType {
return new PhabricatorDashboardPanel(); return new PhabricatorDashboardPanel();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDashboardApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -218,21 +218,21 @@ final class DifferentialJIRAIssuesField
return pht( return pht(
'%s updated JIRA issue(s): added %d %s; removed %d %s.', '%s updated JIRA issue(s): added %d %s; removed %d %s.',
$xaction->renderHandleLink($author_phid), $xaction->renderHandleLink($author_phid),
new PhutilNumber(count($add)), phutil_count($add),
implode(', ', $add), implode(', ', $add),
new PhutilNumber(count($rem)), phutil_count($rem),
implode(', ', $rem)); implode(', ', $rem));
} else if ($add) { } else if ($add) {
return pht( return pht(
'%s added %d JIRA issue(s): %s.', '%s added %d JIRA issue(s): %s.',
$xaction->renderHandleLink($author_phid), $xaction->renderHandleLink($author_phid),
new PhutilNumber(count($add)), phutil_count($add),
implode(', ', $add)); implode(', ', $add));
} else if ($rem) { } else if ($rem) {
return pht( return pht(
'%s removed %d JIRA issue(s): %s.', '%s removed %d JIRA issue(s): %s.',
$xaction->renderHandleLink($author_phid), $xaction->renderHandleLink($author_phid),
new PhutilNumber(count($rem)), phutil_count($rem),
implode(', ', $rem)); implode(', ', $rem));
} }

View file

@ -125,7 +125,7 @@ final class DifferentialUnitField
)) + $groups; )) + $groups;
foreach ($groups as $result => $group) { foreach ($groups as $result => $group) {
$count = new PhutilNumber(count($group)); $count = phutil_count($group);
switch ($result) { switch ($result) {
case ArcanistUnitTestResult::RESULT_PASS: case ArcanistUnitTestResult::RESULT_PASS:
$note[] = pht('%s Passed Test(s)', $count); $note[] = pht('%s Passed Test(s)', $count);

View file

@ -135,12 +135,12 @@ abstract class DifferentialReviewersHeraldAction
case self::DO_ADD_REVIEWERS: case self::DO_ADD_REVIEWERS:
return pht( return pht(
'Added %s reviewer(s): %s.', 'Added %s reviewer(s): %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
case self::DO_ADD_BLOCKING_REVIEWERS: case self::DO_ADD_BLOCKING_REVIEWERS:
return pht( return pht(
'Added %s blocking reviewer(s): %s.', 'Added %s blocking reviewer(s): %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
} }
} }

View file

@ -81,14 +81,14 @@ final class DifferentialCreateMailReceiver extends PhabricatorMailReceiver {
} else { } else {
$subject = pht( $subject = pht(
'Diff creation failed; see body for %s error(s).', 'Diff creation failed; see body for %s error(s).',
new PhutilNumber(count($errors))); phutil_count($errors));
} }
$body = new PhabricatorMetaMTAMailBody(); $body = new PhabricatorMetaMTAMailBody();
$body->addRawSection($subject); $body->addRawSection($subject);
if (count($diffs)) { if (count($diffs)) {
$text_body = ''; $text_body = '';
$html_body = array(); $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) { foreach ($diffs as $filename => $diff_uri) {
$text_body .= $filename.': '.$diff_uri."\n"; $text_body .= $filename.': '.$diff_uri."\n";
$html_body[] = phutil_tag( $html_body[] = phutil_tag(
@ -105,7 +105,7 @@ final class DifferentialCreateMailReceiver extends PhabricatorMailReceiver {
if (count($errors)) { if (count($errors)) {
$body_section = new PhabricatorMetaMTAMailSection(); $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) { foreach ($errors as $error) {
$body_section->addFragment($error); $body_section->addFragment($error);
} }

View file

@ -12,6 +12,10 @@ final class DifferentialDiffPHIDType extends PhabricatorPHIDType {
return new DifferentialDiff(); return new DifferentialDiff();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDifferentialApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -8,14 +8,14 @@ final class DifferentialRevisionPHIDType extends PhabricatorPHIDType {
return pht('Differential Revision'); return pht('Differential Revision');
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDifferentialApplication';
}
public function newObject() { public function newObject() {
return new DifferentialRevision(); return new DifferentialRevision();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDifferentialApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -68,7 +68,7 @@ abstract class DiffusionAuditorsHeraldAction
case self::DO_ADD_AUDITORS: case self::DO_ADD_AUDITORS:
return pht( return pht(
'Added %s auditor(s): %s.', 'Added %s auditor(s): %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
} }
} }

View file

@ -152,8 +152,8 @@ final class DivinerPHPAtomizer extends DivinerAtomizer {
$atom->addWarning( $atom->addWarning(
pht( pht(
'This call takes %s parameter(s), but only %s are documented.', 'This call takes %s parameter(s), but only %s are documented.',
new PhutilNumber(count($params)), phutil_count($params),
new PhutilNumber(count($docs)))); phutil_count($docs)));
} }
} }

View file

@ -58,13 +58,7 @@ final class DivinerAtomController extends DivinerController {
$crumbs->addTextCrumb($atom_short_title); $crumbs->addTextCrumb($atom_short_title);
$header = id(new PHUIHeaderView()) $header = id(new PHUIHeaderView())
->setHeader($this->renderFullSignature($symbol)) ->setHeader($this->renderFullSignature($symbol));
->addTag(
id(new PHUITagView())
->setType(PHUITagView::TYPE_STATE)
->setBackgroundColor(PHUITagView::COLOR_BLUE)
->setName(DivinerAtom::getAtomTypeNameString(
$atom ? $atom->getType() : $symbol->getType())));
$properties = new PHUIPropertyListView(); $properties = new PHUIPropertyListView();
@ -78,11 +72,11 @@ final class DivinerAtomController extends DivinerController {
$prop_list = new PHUIPropertyGroupView(); $prop_list = new PHUIPropertyGroupView();
$prop_list->addPropertyList($properties); $prop_list->addPropertyList($properties);
$document = id(new PHUIDocumentView()) $document = id(new PHUIDocumentViewPro())
->setBook($book->getTitle(), $group_name) ->setBook($book->getTitle(), $group_name)
->setHeader($header) ->setHeader($header)
->addClass('diviner-view') ->addClass('diviner-view')
->appendChild($prop_list); ->setPropertyList($prop_list);
if ($atom) { if ($atom) {
$this->buildDefined($properties, $symbol); $this->buildDefined($properties, $symbol);
@ -163,10 +157,6 @@ final class DivinerAtomController extends DivinerController {
->setHeader($spec['title'])); ->setHeader($spec['title']));
$task_methods = idx($methods_by_task, $spec['name'], array()); $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(); $box_content = array();
if ($task_methods) { if ($task_methods) {
@ -198,7 +188,7 @@ final class DivinerAtomController extends DivinerController {
$box_content = phutil_tag('em', array(), $no_methods); $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); $section->addContent($inner_box);
} }
$document->appendChild($section); $document->appendChild($section);
@ -246,7 +236,7 @@ final class DivinerAtomController extends DivinerController {
->setHref('#'.$key)); ->setHref('#'.$key));
} }
$document->setSideNav($side, PHUIDocumentView::NAV_TOP); $document->setToc($side);
} }
return $this->buildApplicationPage( return $this->buildApplicationPage(
@ -256,6 +246,7 @@ final class DivinerAtomController extends DivinerController {
), ),
array( array(
'title' => $symbol->getTitle(), 'title' => $symbol->getTitle(),
'class' => 'pro-white-background',
)); ));
} }
@ -629,7 +620,7 @@ final class DivinerAtomController extends DivinerController {
$content = phutil_tag( $content = phutil_tag(
'div', 'div',
array( array(
'class' => 'phabricator-remarkup', 'class' => 'phabricator-remarkup diviner-remarkup-section',
), ),
$content); $content);
} else { } else {
@ -668,8 +659,6 @@ final class DivinerAtomController extends DivinerController {
if (($impl !== $parent) || $out) { if (($impl !== $parent) || $out) {
$where = id(new PHUIBoxView()) $where = id(new PHUIBoxView())
->addPadding(PHUI::PADDING_MEDIUM_LEFT)
->addPadding(PHUI::PADDING_MEDIUM_RIGHT)
->addClass('diviner-method-implementation-header') ->addClass('diviner-method-implementation-header')
->appendChild($impl->getName()); ->appendChild($impl->getName());
$doc = array($where, $doc); $doc = array($where, $doc);

View file

@ -53,7 +53,7 @@ final class DivinerBookController extends DivinerController {
->setName($book->getRepository()->getMonogram())); ->setName($book->getRepository()->getMonogram()));
} }
$document = new PHUIDocumentView(); $document = new PHUIDocumentViewPro();
$document->setHeader($header); $document->setHeader($header);
$document->addClass('diviner-view'); $document->addClass('diviner-view');
@ -111,6 +111,7 @@ final class DivinerBookController extends DivinerController {
), ),
array( array(
'title' => $book->getTitle(), 'title' => $book->getTitle(),
'class' => 'pro-white-background',
)); ));
} }

View file

@ -30,7 +30,7 @@ final class DivinerMainController extends DivinerController {
->setHeader(pht('Documentation Books')) ->setHeader(pht('Documentation Books'))
->addActionLink($query_button); ->addActionLink($query_button);
$document = new PHUIDocumentView(); $document = new PHUIDocumentViewPro();
$document->setHeader($header); $document->setHeader($header);
$document->addClass('diviner-view'); $document->addClass('diviner-view');
@ -45,10 +45,7 @@ final class DivinerMainController extends DivinerController {
$list[] = $item; $list[] = $item;
} }
$list = id(new PHUIBoxView()) $list = id(new PHUIBoxView())
->addPadding(PHUI::PADDING_LARGE_LEFT) ->addPadding(PHUI::PADDING_MEDIUM_TOP)
->addPadding(PHUI::PADDING_LARGE_RIGHT)
->addPadding(PHUI::PADDING_SMALL_TOP)
->addPadding(PHUI::PADDING_SMALL_BOTTOM)
->appendChild($list); ->appendChild($list);
$document->appendChild($list); $document->appendChild($list);
@ -82,7 +79,7 @@ final class DivinerMainController extends DivinerController {
), ),
array( array(
'title' => pht('Documentation Books'), 'title' => pht('Documentation Books'),
'fonts' => true, 'class' => 'pro-white-background',
)); ));
} }
} }

View file

@ -140,14 +140,14 @@ abstract class DivinerPublisher extends Phobject {
"%s\n", "%s\n",
pht( pht(
'Deleting %s document(s).', 'Deleting %s document(s).',
new PhutilNumber(count($deleted)))); phutil_count($deleted)));
$this->deleteDocumentsByHash($deleted); $this->deleteDocumentsByHash($deleted);
$console->writeOut( $console->writeOut(
"%s\n", "%s\n",
pht( pht(
'Creating %s document(s).', 'Creating %s document(s).',
new PhutilNumber(count($created)))); phutil_count($created)));
$this->createDocumentsByHash($created); $this->createDocumentsByHash($created);
} }

View file

@ -30,12 +30,10 @@ final class DivinerSectionView extends AphrontTagView {
$header = id(new PHUIHeaderView()) $header = id(new PHUIHeaderView())
->setBleedHeader(true) ->setBleedHeader(true)
->addClass('diviner-section-header')
->setHeader($this->header); ->setHeader($this->header);
$content = id(new PHUIBoxView()) $content = phutil_tag_div('diviner-section-content', $this->content);
->addPadding(PHUI::PADDING_LARGE_LEFT)
->addPadding(PHUI::PADDING_LARGE_RIGHT)
->appendChild($this->content);
return array($header, $content); return array($header, $content);
} }

View file

@ -69,7 +69,7 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
'.book', '.book',
'--book <book>')); '--book <book>'));
} else { } 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( $this->log(
pht( pht(
'Found %s file(s) in project.', 'Found %s file(s) in project.',
new PhutilNumber(count($file_hashes)))); phutil_count($file_hashes)));
$this->deleteDeadAtoms($file_hashes); $this->deleteDeadAtoms($file_hashes);
$atomize = $this->getFilesToAtomize($file_hashes); $atomize = $this->getFilesToAtomize($file_hashes);
$this->log( $this->log(
pht( pht(
'Found %s unatomized, uncached file(s).', 'Found %s unatomized, uncached file(s).',
new PhutilNumber(count($atomize)))); phutil_count($atomize)));
$file_atomizers = $this->getAtomizersForFiles($atomize); $file_atomizers = $this->getAtomizersForFiles($atomize);
$this->log( $this->log(
pht( pht(
'Found %s file(s) to atomize.', 'Found %s file(s) to atomize.',
new PhutilNumber(count($file_atomizers)))); phutil_count($file_atomizers)));
$futures = $this->buildAtomizerFutures($file_atomizers); $futures = $this->buildAtomizerFutures($file_atomizers);
$this->log( $this->log(
pht( pht(
'Atomizing %s file(s).', 'Atomizing %s file(s).',
new PhutilNumber(count($file_atomizers)))); phutil_count($file_atomizers)));
if ($futures) { if ($futures) {
$this->resolveAtomizerFutures($futures, $file_hashes); $this->resolveAtomizerFutures($futures, $file_hashes);
@ -452,7 +452,7 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
$this->log( $this->log(
pht( pht(
'Found %s obsolete atom(s) in graph.', 'Found %s obsolete atom(s) in graph.',
new PhutilNumber(count($del_atoms)))); phutil_count($del_atoms)));
foreach ($del_atoms as $nhash => $shash) { foreach ($del_atoms as $nhash => $shash) {
$atom_cache->deleteSymbol($nhash); $atom_cache->deleteSymbol($nhash);
@ -466,7 +466,7 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
$this->log( $this->log(
pht( pht(
'Found %s new atom(s) in graph.', 'Found %s new atom(s) in graph.',
new PhutilNumber(count($new_atoms)))); phutil_count($new_atoms)));
foreach ($new_atoms as $nhash => $ignored) { foreach ($new_atoms as $nhash => $ignored) {
$shash = $this->computeSymbolHash($nhash); $shash = $this->computeSymbolHash($nhash);
@ -505,7 +505,7 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
$this->log( $this->log(
pht( pht(
'Found %s affected atoms.', 'Found %s affected atoms.',
new PhutilNumber(count($dirty_nhashes)))); phutil_count($dirty_nhashes)));
foreach ($dirty_nhashes as $nhash => $ignored) { foreach ($dirty_nhashes as $nhash => $ignored) {
$atom_cache->addGraph($nhash, $this->computeGraphHash($nhash)); $atom_cache->addGraph($nhash, $this->computeGraphHash($nhash));

View file

@ -96,8 +96,11 @@ final class PhabricatorAsanaConfigOptions
} }
$out = array(); $out = array();
$out[] = pht('| Workspace ID | Workspace Name |'); $out[] = sprintf(
$out[] = '| ------------ | -------------- |'; '| %s | %s |',
pht('Workspace ID'),
pht('Workspace Name'));
$out[] = '| ------------ | -------------- |';
foreach ($workspaces as $workspace) { foreach ($workspaces as $workspace) {
$out[] = sprintf('| `%s` | `%s` |', $workspace['id'], $workspace['name']); $out[] = sprintf('| `%s` | `%s` |', $workspace['id'], $workspace['name']);
} }

View file

@ -12,6 +12,10 @@ final class DrydockAuthorizationPHIDType extends PhabricatorPHIDType {
return new DrydockAuthorization(); return new DrydockAuthorization();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDrydockApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -8,10 +8,6 @@ final class DrydockBlueprintPHIDType extends PhabricatorPHIDType {
return pht('Blueprint'); return pht('Blueprint');
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDrydockApplication';
}
public function getTypeIcon() { public function getTypeIcon() {
return 'fa-map-o'; return 'fa-map-o';
} }
@ -20,6 +16,10 @@ final class DrydockBlueprintPHIDType extends PhabricatorPHIDType {
return new DrydockBlueprint(); return new DrydockBlueprint();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDrydockApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -8,10 +8,6 @@ final class DrydockLeasePHIDType extends PhabricatorPHIDType {
return pht('Drydock Lease'); return pht('Drydock Lease');
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDrydockApplication';
}
public function getTypeIcon() { public function getTypeIcon() {
return 'fa-link'; return 'fa-link';
} }
@ -20,6 +16,10 @@ final class DrydockLeasePHIDType extends PhabricatorPHIDType {
return new DrydockLease(); return new DrydockLease();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDrydockApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class DrydockRepositoryOperationPHIDType extends PhabricatorPHIDType {
return new DrydockRepositoryOperation(); return new DrydockRepositoryOperation();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDrydockApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -8,10 +8,6 @@ final class DrydockResourcePHIDType extends PhabricatorPHIDType {
return pht('Drydock Resource'); return pht('Drydock Resource');
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDrydockApplication';
}
public function getTypeIcon() { public function getTypeIcon() {
return 'fa-map'; return 'fa-map';
} }
@ -20,6 +16,10 @@ final class DrydockResourcePHIDType extends PhabricatorPHIDType {
return new DrydockResource(); return new DrydockResource();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorDrydockApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -2,26 +2,6 @@
abstract class PhabricatorFeedController extends PhabricatorController { 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() { protected function buildSideNavView() {
$user = $this->getRequest()->getUser(); $user = $this->getRequest()->getUser();

View file

@ -12,6 +12,10 @@ final class PhabricatorFileFilePHIDType extends PhabricatorPHIDType {
return new PhabricatorFile(); return new PhabricatorFile();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorFilesApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -557,7 +557,7 @@ final class PhabricatorFile extends PhabricatorFileDAO
'Failed to fetch remote URI "%s" after following %s redirect(s) '. 'Failed to fetch remote URI "%s" after following %s redirect(s) '.
'(%s): %s', '(%s): %s',
$uri, $uri,
new PhutilNumber(count($redirects)), phutil_count($redirects),
implode(' > ', array_keys($redirects)), implode(' > ', array_keys($redirects)),
$ex->getMessage()), $ex->getMessage()),
$ex); $ex);

View file

@ -12,6 +12,10 @@ final class FundBackerPHIDType extends PhabricatorPHIDType {
return new FundInitiative(); return new FundInitiative();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorFundApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -37,7 +37,7 @@ final class HarbormasterSendMessageConduitAPIMethod
$unit_spec = HarbormasterBuildUnitMessage::getParameterSpec(); $unit_spec = HarbormasterBuildUnitMessage::getParameterSpec();
foreach ($unit_spec as $key => $parameter) { foreach ($unit_spec as $key => $parameter) {
$type = idx($parameter, 'type'); $type = idx($parameter, 'type');
$type = str_replace('|', pht(' or '), $type); $type = str_replace('|', ' '.pht('or').' ', $type);
$description = idx($parameter, 'description'); $description = idx($parameter, 'description');
$rows[] = "| `{$key}` | //{$type}// | {$description} |"; $rows[] = "| `{$key}` | //{$type}// | {$description} |";
} }
@ -61,7 +61,7 @@ final class HarbormasterSendMessageConduitAPIMethod
$lint_spec = HarbormasterBuildLintMessage::getParameterSpec(); $lint_spec = HarbormasterBuildLintMessage::getParameterSpec();
foreach ($lint_spec as $key => $parameter) { foreach ($lint_spec as $key => $parameter) {
$type = idx($parameter, 'type'); $type = idx($parameter, 'type');
$type = str_replace('|', pht(' or '), $type); $type = str_replace('|', ' '.pht('or').' ', $type);
$description = idx($parameter, 'description'); $description = idx($parameter, 'description');
$rows[] = "| `{$key}` | //{$type}// | {$description} |"; $rows[] = "| `{$key}` | //{$type}// | {$description} |";
} }

View file

@ -377,7 +377,7 @@ final class HarbormasterBuildViewController
array( array(
pht( pht(
'%s empty logs are hidden.', '%s empty logs are hidden.',
new PhutilNumber(count($empty_logs))), phutil_count($empty_logs)),
' ', ' ',
javelin_tag( javelin_tag(
'a', 'a',

View file

@ -59,7 +59,7 @@ final class HarbormasterPlanRunController extends HarbormasterController {
if (!$errors) { if (!$errors) {
$buildable->save(); $buildable->save();
$buildable->applyPlan($plan, array()); $buildable->applyPlan($plan, array(), $viewer->getPHID());
$buildable_uri = '/B'.$buildable->getID(); $buildable_uri = '/B'.$buildable->getID();
return id(new AphrontRedirectResponse())->setURI($buildable_uri); return id(new AphrontRedirectResponse())->setURI($buildable_uri);

View file

@ -231,7 +231,10 @@ final class HarbormasterStepEditController extends HarbormasterController {
'The following variables can be used in most fields. '. 'The following variables can be used in most fields. '.
'To reference a variable, use `%s` in a field.', 'To reference a variable, use `%s` in a field.',
'${name}'); '${name}');
$rows[] = pht('| Variable | Description |'); $rows[] = sprintf(
'| %s | %s |',
pht('Variable'),
pht('Description'));
$rows[] = '|---|---|'; $rows[] = '|---|---|';
foreach ($variables as $name => $description) { foreach ($variables as $name => $description) {
$rows[] = '| `'.$name.'` | '.$description.' |'; $rows[] = '| `'.$name.'` | '.$description.' |';

View file

@ -14,6 +14,7 @@
final class HarbormasterBuildRequest extends Phobject { final class HarbormasterBuildRequest extends Phobject {
private $buildPlanPHID; private $buildPlanPHID;
private $initiatorPHID;
private $buildParameters = array(); private $buildParameters = array();
public function setBuildPlanPHID($build_plan_phid) { public function setBuildPlanPHID($build_plan_phid) {
@ -34,4 +35,13 @@ final class HarbormasterBuildRequest extends Phobject {
return $this->buildParameters; return $this->buildParameters;
} }
public function setInitiatorPHID($phid) {
$this->initiatorPHID = $phid;
return $this;
}
public function getInitiatorPHID() {
return $this->initiatorPHID;
}
} }

View file

@ -6,7 +6,7 @@ final class HarbormasterTargetEngine extends Phobject {
private $object; private $object;
private $autoTargetKeys; private $autoTargetKeys;
public function setViewer($viewer) { public function setViewer(PhabricatorUser $viewer) {
$this->viewer = $viewer; $this->viewer = $viewer;
return $this; return $this;
} }
@ -163,6 +163,10 @@ final class HarbormasterTargetEngine extends Phobject {
array $step_map) { array $step_map) {
$viewer = $this->getViewer(); $viewer = $this->getViewer();
$initiator_phid = null;
if (!$viewer->isOmnipotent()) {
$initiator_phid = $viewer->getPHID();
}
$plan_map = mgroup($step_map, 'getBuildPlanPHID'); $plan_map = mgroup($step_map, 'getBuildPlanPHID');
$builds = id(new HarbormasterBuildQuery()) $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 // 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. // 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); PhabricatorWorker::setRunAllTasksInProcess(false);
} catch (Exception $ex) { } catch (Exception $ex) {
PhabricatorWorker::setRunAllTasksInProcess(false); PhabricatorWorker::setRunAllTasksInProcess(false);

View file

@ -16,7 +16,7 @@ final class HarbormasterRunBuildPlansHeraldAction
return ($adapter instanceof HarbormasterBuildableAdapterInterface); return ($adapter instanceof HarbormasterBuildableAdapterInterface);
} }
protected function applyBuilds(array $phids) { protected function applyBuilds(array $phids, HeraldRule $rule) {
$adapter = $this->getAdapter(); $adapter = $this->getAdapter();
$allowed_types = array( $allowed_types = array(
@ -32,7 +32,8 @@ final class HarbormasterRunBuildPlansHeraldAction
foreach ($phids as $phid) { foreach ($phids as $phid) {
$request = id(new HarbormasterBuildRequest()) $request = id(new HarbormasterBuildRequest())
->setBuildPlanPHID($phid); ->setBuildPlanPHID($phid)
->setInitiatorPHID($rule->getPHID());
$adapter->queueHarbormasterBuildRequest($request); $adapter->queueHarbormasterBuildRequest($request);
} }
@ -54,7 +55,7 @@ final class HarbormasterRunBuildPlansHeraldAction
case self::DO_BUILD: case self::DO_BUILD:
return pht( return pht(
'Started %s build(s): %s.', 'Started %s build(s): %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
} }
} }
@ -68,7 +69,7 @@ final class HarbormasterRunBuildPlansHeraldAction
} }
public function applyEffect($object, HeraldEffect $effect) { public function applyEffect($object, HeraldEffect $effect) {
return $this->applyBuilds($effect->getTarget()); return $this->applyBuilds($effect->getTarget(), $effect->getRule());
} }
public function getHeraldActionStandardType() { public function getHeraldActionStandardType() {

View file

@ -98,7 +98,12 @@ final class HarbormasterManagementBuildWorkflow
PhabricatorWorker::setRunAllTasksInProcess(true); 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.')); $console->writeOut("%s\n", pht('Done.'));

View file

@ -12,6 +12,10 @@ final class HarbormasterBuildArtifactPHIDType extends PhabricatorPHIDType {
return new HarbormasterBuildArtifact(); return new HarbormasterBuildArtifact();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorHarbormasterApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class HarbormasterBuildLogPHIDType extends PhabricatorPHIDType {
return new HarbormasterBuildLog(); return new HarbormasterBuildLog();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorHarbormasterApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class HarbormasterBuildPHIDType extends PhabricatorPHIDType {
return new HarbormasterBuild(); return new HarbormasterBuild();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorHarbormasterApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -16,6 +16,10 @@ final class HarbormasterBuildPlanPHIDType extends PhabricatorPHIDType {
return new HarbormasterBuildPlan(); return new HarbormasterBuildPlan();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorHarbormasterApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class HarbormasterBuildStepPHIDType extends PhabricatorPHIDType {
return new HarbormasterBuildStep(); return new HarbormasterBuildStep();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorHarbormasterApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class HarbormasterBuildTargetPHIDType extends PhabricatorPHIDType {
return new HarbormasterBuildTarget(); return new HarbormasterBuildTarget();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorHarbormasterApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -12,6 +12,10 @@ final class HarbormasterBuildablePHIDType extends PhabricatorPHIDType {
return new HarbormasterBuildable(); return new HarbormasterBuildable();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorHarbormasterApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -154,11 +154,14 @@ final class HarbormasterBuildable extends HarbormasterDAO
} }
$parameters = $request->getBuildParameters(); $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(); $viewer = PhabricatorUser::getOmnipotentUser();
$build = HarbormasterBuild::initializeNewBuild($viewer) $build = HarbormasterBuild::initializeNewBuild($viewer)
@ -166,6 +169,9 @@ final class HarbormasterBuildable extends HarbormasterDAO
->setBuildPlanPHID($plan->getPHID()) ->setBuildPlanPHID($plan->getPHID())
->setBuildParameters($parameters) ->setBuildParameters($parameters)
->setBuildStatus(HarbormasterBuild::STATUS_PENDING); ->setBuildStatus(HarbormasterBuild::STATUS_PENDING);
if ($initiator_phid) {
$build->setInitiatorPHID($initiator_phid);
}
$auto_key = $plan->getPlanAutoKey(); $auto_key = $plan->getPlanAutoKey();
if ($auto_key) { if ($auto_key) {

View file

@ -10,6 +10,7 @@ final class HarbormasterBuild extends HarbormasterDAO
protected $buildStatus; protected $buildStatus;
protected $buildGeneration; protected $buildGeneration;
protected $buildParameters = array(); protected $buildParameters = array();
protected $initiatorPHID;
protected $planAutoKey; protected $planAutoKey;
private $buildable = self::ATTACHABLE; private $buildable = self::ATTACHABLE;
@ -164,6 +165,7 @@ final class HarbormasterBuild extends HarbormasterDAO
'buildStatus' => 'text32', 'buildStatus' => 'text32',
'buildGeneration' => 'uint32', 'buildGeneration' => 'uint32',
'planAutoKey' => 'text32?', 'planAutoKey' => 'text32?',
'initiatorPHID' => 'phid?',
), ),
self::CONFIG_KEY_SCHEMA => array( self::CONFIG_KEY_SCHEMA => array(
'key_buildable' => array( 'key_buildable' => array(
@ -260,6 +262,7 @@ final class HarbormasterBuild extends HarbormasterDAO
'repository.uri' => null, 'repository.uri' => null,
'step.timestamp' => null, 'step.timestamp' => null,
'build.id' => null, 'build.id' => null,
'initiator.phid' => null,
); );
foreach ($this->getBuildParameters() as $key => $value) { foreach ($this->getBuildParameters() as $key => $value) {
@ -275,6 +278,7 @@ final class HarbormasterBuild extends HarbormasterDAO
$results['step.timestamp'] = time(); $results['step.timestamp'] = time();
$results['build.id'] = $this->getID(); $results['build.id'] = $this->getID();
$results['initiator.phid'] = $this->getInitiatorPHID();
return $results; return $results;
} }
@ -289,6 +293,9 @@ final class HarbormasterBuild extends HarbormasterDAO
'step.timestamp' => pht('The current UNIX timestamp.'), 'step.timestamp' => pht('The current UNIX timestamp.'),
'build.id' => pht('The ID of the current build.'), 'build.id' => pht('The ID of the current build.'),
'target.phid' => pht('The PHID of the current build target.'), '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) { foreach ($objects as $object) {

View file

@ -1,18 +1,3 @@
<?php <?php
abstract class PhabricatorHelpController extends PhabricatorController { 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());
}
}

View file

@ -346,22 +346,22 @@ abstract class HeraldAction extends Phobject {
case self::DO_STANDARD_NO_EFFECT: case self::DO_STANDARD_NO_EFFECT:
return pht( return pht(
'This action has no effect on %s target(s): %s.', 'This action has no effect on %s target(s): %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
case self::DO_STANDARD_INVALID: case self::DO_STANDARD_INVALID:
return pht( return pht(
'%s target(s) are invalid or of the wrong type: %s.', '%s target(s) are invalid or of the wrong type: %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
case self::DO_STANDARD_UNLOADABLE: case self::DO_STANDARD_UNLOADABLE:
return pht( return pht(
'%s target(s) could not be loaded: %s.', '%s target(s) could not be loaded: %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
case self::DO_STANDARD_PERMISSION: case self::DO_STANDARD_PERMISSION:
return pht( return pht(
'%s target(s) do not have permission to see this object: %s.', '%s target(s) do not have permission to see this object: %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
case self::DO_STANDARD_INVALID_ACTION: case self::DO_STANDARD_INVALID_ACTION:
return pht( return pht(

View file

@ -2,20 +2,6 @@
abstract class HeraldController extends PhabricatorController { 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() { public function buildApplicationMenu() {
return $this->buildSideNavView(true)->getMenu(); return $this->buildSideNavView(true)->getMenu();
} }

View file

@ -12,6 +12,10 @@ final class HeraldRulePHIDType extends PhabricatorPHIDType {
return new HeraldRule(); return new HeraldRule();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorHeraldApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -2,19 +2,6 @@
abstract class PhabricatorHomeController extends PhabricatorController { 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() { public function buildNav() {
$user = $this->getRequest()->getUser(); $user = $this->getRequest()->getUser();

View file

@ -253,7 +253,7 @@ final class LegalpadDocumentSignController extends LegalpadController {
->setIcon( ->setIcon(
id(new PHUIIconView()) id(new PHUIIconView())
->setIconFont('fa-pencil')) ->setIconFont('fa-pencil'))
->setText(pht('Manage Document')) ->setText(pht('Manage'))
->setHref($manage_uri) ->setHref($manage_uri)
->setDisabled(!$can_edit) ->setDisabled(!$can_edit)
->setWorkflow(!$can_edit)); ->setWorkflow(!$can_edit));
@ -278,7 +278,7 @@ final class LegalpadDocumentSignController extends LegalpadController {
$preamble_box->addPropertyList($preamble); $preamble_box->addPropertyList($preamble);
} }
$content = id(new PHUIDocumentView()) $content = id(new PHUIDocumentViewPro())
->addClass('legalpad') ->addClass('legalpad')
->setHeader($header) ->setHeader($header)
->appendChild( ->appendChild(
@ -288,6 +288,7 @@ final class LegalpadDocumentSignController extends LegalpadController {
$document_markup, $document_markup,
)); ));
$signature_box = null;
if (!$has_signed) { if (!$has_signed) {
$error_view = null; $error_view = null;
if ($errors) { if ($errors) {
@ -301,23 +302,21 @@ final class LegalpadDocumentSignController extends LegalpadController {
$field_errors); $field_errors);
switch ($document->getSignatureType()) { switch ($document->getSignatureType()) {
case LegalpadDocument::SIGNATURE_TYPE_NONE: default:
$subheader = null;
break; break;
case LegalpadDocument::SIGNATURE_TYPE_INDIVIDUAL: case LegalpadDocument::SIGNATURE_TYPE_INDIVIDUAL:
case LegalpadDocument::SIGNATURE_TYPE_CORPORATION: case LegalpadDocument::SIGNATURE_TYPE_CORPORATION:
$subheader = id(new PHUIHeaderView()) $box = id(new PHUIObjectBoxView())
->setHeader(pht('Agree and Sign Document')) ->setHeaderText(pht('Agree and Sign Document'))
->setBleedHeader(true); ->setForm($signature_form);
if ($error_view) {
$box->setInfoView($error_view);
}
$signature_box = phutil_tag_div('phui-document-view-pro-box', $box);
break; break;
} }
$content->appendChild(
array(
$subheader,
$error_view,
$signature_form,
));
} }
$crumbs = $this->buildApplicationCrumbs(); $crumbs = $this->buildApplicationCrumbs();
@ -328,9 +327,11 @@ final class LegalpadDocumentSignController extends LegalpadController {
array( array(
$crumbs, $crumbs,
$content, $content,
$signature_box,
), ),
array( array(
'title' => $title, 'title' => $title,
'class' => 'pro-white-background',
'pageObjects' => array($document->getPHID()), 'pageObjects' => array($document->getPHID()),
)); ));
} }

View file

@ -95,12 +95,12 @@ final class LegalpadRequireSignatureHeraldAction
case self::DO_SIGNED: case self::DO_SIGNED:
return pht( return pht(
'%s document(s) are already signed: %s.', '%s document(s) are already signed: %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
case self::DO_REQUIRED: case self::DO_REQUIRED:
return pht( return pht(
'Required %s signature(s): %s.', 'Required %s signature(s): %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
} }
} }

View file

@ -16,6 +16,10 @@ final class PhabricatorLegalpadDocumentPHIDType extends PhabricatorPHIDType {
return new LegalpadDocument(); return new LegalpadDocument();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorLegalpadApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -8,14 +8,14 @@ final class ManiphestTaskPHIDType extends PhabricatorPHIDType {
return pht('Maniphest Task'); return pht('Maniphest Task');
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorManiphestApplication';
}
public function newObject() { public function newObject() {
return new ManiphestTask(); return new ManiphestTask();
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorManiphestApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -546,23 +546,23 @@ final class ManiphestTransaction
$removed = array_diff($old, $new); $removed = array_diff($old, $new);
if ($added && !$removed) { if ($added && !$removed) {
return pht( return pht(
'%s attached %d file(s): %s.', '%s attached %s file(s): %s.',
$this->renderHandleLink($author_phid), $this->renderHandleLink($author_phid),
count($added), phutil_count($added),
$this->renderHandleList($added)); $this->renderHandleList($added));
} else if ($removed && !$added) { } else if ($removed && !$added) {
return pht( return pht(
'%s detached %d file(s): %s.', '%s detached %s file(s): %s.',
$this->renderHandleLink($author_phid), $this->renderHandleLink($author_phid),
count($removed), phutil_count($removed),
$this->renderHandleList($removed)); $this->renderHandleList($removed));
} else { } else {
return pht( 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), $this->renderHandleLink($author_phid),
count($added), phutil_count($added),
$this->renderHandleList($added), $this->renderHandleList($added),
count($removed), phutil_count($removed),
$this->renderHandleList($removed)); $this->renderHandleList($removed));
} }
@ -585,9 +585,9 @@ final class ManiphestTransaction
case self::TYPE_MERGED_FROM: case self::TYPE_MERGED_FROM:
return pht( return pht(
'%s merged %d task(s): %s.', '%s merged %s task(s): %s.',
$this->renderHandleLink($author_phid), $this->renderHandleLink($author_phid),
count($new), phutil_count($new),
$this->renderHandleList($new)); $this->renderHandleList($new));
break; break;

View file

@ -82,7 +82,7 @@ final class ManiphestTaskResultListView extends ManiphestView {
$header = id(new PHUIHeaderView()) $header = id(new PHUIHeaderView())
->addSigil('task-group') ->addSigil('task-group')
->setMetadata(array('priority' => head($list)->getPriority())) ->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()) $lists[] = id(new PHUIObjectBoxView())
->setHeader($header) ->setHeader($header)

View file

@ -115,6 +115,7 @@ final class PhabricatorApplicationEmailCommandsController
$crumbs = $this->buildApplicationCrumbs(); $crumbs = $this->buildApplicationCrumbs();
$this->addApplicationCrumb($crumbs, $selected); $this->addApplicationCrumb($crumbs, $selected);
$crumbs->addTextCrumb($title); $crumbs->addTextCrumb($title);
$crumbs->setBorder(true);
$content_box = PhabricatorMarkupEngine::renderOneObject( $content_box = PhabricatorMarkupEngine::renderOneObject(
id(new PhabricatorMarkupOneOff())->setContent($content), id(new PhabricatorMarkupOneOff())->setContent($content),
@ -134,7 +135,7 @@ final class PhabricatorApplicationEmailCommandsController
$header = id(new PHUIHeaderView()) $header = id(new PHUIHeaderView())
->setHeader($title); ->setHeader($title);
$document = id(new PHUIDocumentView()) $document = id(new PHUIDocumentViewPro())
->setHeader($header) ->setHeader($header)
->appendChild($info_view) ->appendChild($info_view)
->appendChild($content_box); ->appendChild($content_box);
@ -146,6 +147,7 @@ final class PhabricatorApplicationEmailCommandsController
), ),
array( array(
'title' => $title, 'title' => $title,
'class' => 'pro-white-background',
)); ));
} }

View file

@ -17,6 +17,10 @@ final class PhabricatorApplicationApplicationPHIDType
return null; return null;
} }
public function getPHIDTypeApplicationClass() {
return 'PhabricatorApplicationsApplication';
}
protected function buildQueryForObjects( protected function buildQueryForObjects(
PhabricatorObjectQuery $query, PhabricatorObjectQuery $query,
array $phids) { array $phids) {

View file

@ -75,13 +75,13 @@ abstract class PhabricatorMetaMTAEmailHeraldAction
case self::DO_SEND: case self::DO_SEND:
return pht( return pht(
'Queued email to be delivered to %s target(s): %s.', 'Queued email to be delivered to %s target(s): %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
case self::DO_FORCE: case self::DO_FORCE:
return pht( return pht(
'Queued email to be delivered to %s target(s), ignoring their '. 'Queued email to be delivered to %s target(s), ignoring their '.
'notification preferences: %s.', 'notification preferences: %s.',
new PhutilNumber(count($data)), phutil_count($data),
$this->renderHandleList($data)); $this->renderHandleList($data));
} }
} }

Some files were not shown because too many files have changed in this diff Show more