Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13955303
D10001.id24106.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
86 KB
Referenced Files
None
Subscribers
None
D10001.id24106.diff
View Options
diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -836,1325 +836,1325 @@
),
'requires' => array(
'00861799' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-util',
- 4 => 'javelin-vector',
- 5 => 'differential-inline-comment-editor',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-vector',
+ 'differential-inline-comment-editor',
),
'029a133d' => array(
- 0 => 'aphront-dialog-view-css',
+ 'aphront-dialog-view-css',
),
'03d6ed07' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-vector',
- 4 => 'javelin-install',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-vector',
+ 'javelin-install',
),
'065227cc' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-workflow',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-workflow',
),
'06e05112' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-vector',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-vector',
),
'0720f2cf' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-mask',
- 4 => 'javelin-util',
- 5 => 'phabricator-busy',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-mask',
+ 'javelin-util',
+ 'phabricator-busy',
),
'09eee344' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-dom',
- 4 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-dom',
+ 'phabricator-draggable-list',
),
'0a3f3021' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-dom',
- 4 => 'javelin-router',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-dom',
+ 'javelin-router',
),
'0c33c1a0' => array(
- 0 => 'javelin-view',
- 1 => 'javelin-install',
- 2 => 'javelin-dom',
+ 'javelin-view',
+ 'javelin-install',
+ 'javelin-dom',
),
'0c6946e7' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-util',
- 4 => 'phabricator-notification-css',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-util',
+ 'phabricator-notification-css',
),
'0ec56e1d' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'phuix-dropdown-menu',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'phuix-dropdown-menu',
),
'0f764c35' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-util',
),
'0f81f8df' => array(
- 0 => 'javelin-util',
- 1 => 'javelin-uri',
- 2 => 'javelin-install',
+ 'javelin-util',
+ 'javelin-uri',
+ 'javelin-install',
),
'127f2018' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-request',
- 4 => 'javelin-util',
- 5 => 'phabricator-shaped-request',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-request',
+ 'javelin-util',
+ 'phabricator-shaped-request',
),
'14a827de' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-json',
- 4 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-json',
+ 'phabricator-draggable-list',
),
'14d7a8b8' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-behavior-device',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-dom',
- 4 => 'javelin-magical-init',
- 5 => 'javelin-vector',
- 6 => 'javelin-request',
- 7 => 'javelin-util',
+ 'javelin-behavior',
+ 'javelin-behavior-device',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-magical-init',
+ 'javelin-vector',
+ 'javelin-request',
+ 'javelin-util',
),
'152178f0' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-util',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-dom',
- 4 => 'javelin-vector',
- 5 => 'javelin-magical-init',
- 6 => 'javelin-request',
- 7 => 'javelin-history',
- 8 => 'javelin-workflow',
- 9 => 'javelin-mask',
- 10 => 'javelin-behavior-device',
- 11 => 'phabricator-keyboard-shortcut',
+ 'javelin-behavior',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-vector',
+ 'javelin-magical-init',
+ 'javelin-request',
+ 'javelin-history',
+ 'javelin-workflow',
+ 'javelin-mask',
+ 'javelin-behavior-device',
+ 'phabricator-keyboard-shortcut',
),
'1693a296' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'phortune-credit-card-form',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'phortune-credit-card-form',
),
'1ae869f2' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'phabricator-keyboard-shortcut-manager',
+ 'javelin-install',
+ 'javelin-util',
+ 'phabricator-keyboard-shortcut-manager',
),
'1d8ad5c3' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-request',
- 3 => 'javelin-dom',
- 4 => 'javelin-uri',
- 5 => 'phabricator-file-upload',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-request',
+ 'javelin-dom',
+ 'javelin-uri',
+ 'phabricator-file-upload',
),
'1def2711' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-reactor-dom',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-reactor-dom',
),
'1ffb3a9c' => array(
- 0 => 'javelin-util',
- 1 => 'javelin-magical-init',
+ 'javelin-util',
+ 'javelin-magical-init',
),
'2290aeef' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-json',
- 3 => 'javelin-workflow',
- 4 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-json',
+ 'javelin-workflow',
+ 'javelin-util',
),
'22e16ae7' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-vector',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-vector',
),
'23cbb8ac' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-event',
+ 'javelin-install',
+ 'javelin-event',
),
'2926fff2' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-dom',
),
'29274e2b' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-util',
),
'2b228192' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-workflow',
- 4 => 'javelin-json',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-workflow',
+ 'javelin-json',
),
'2cad29d1' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-util',
- 4 => 'javelin-vector',
- 5 => 'javelin-magical-init',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-util',
+ 'javelin-vector',
+ 'javelin-magical-init',
),
'2fa810fc' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-view-renderer',
- 3 => 'javelin-install',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-view-renderer',
+ 'javelin-install',
),
'316b8fa1' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-typeahead-source',
+ 'javelin-install',
+ 'javelin-typeahead-source',
),
'357b6e9b' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-util',
- 3 => 'javelin-dom',
- 4 => 'javelin-request',
- 5 => 'phabricator-keyboard-shortcut',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-util',
+ 'javelin-dom',
+ 'javelin-request',
+ 'phabricator-keyboard-shortcut',
),
'361e3ed3' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-dom',
),
'3672899b' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-uri',
- 3 => 'javelin-mask',
- 4 => 'phabricator-drag-and-drop-file-upload',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-uri',
+ 'javelin-mask',
+ 'phabricator-drag-and-drop-file-upload',
),
'3915d490' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-dom',
- 3 => 'javelin-vector',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-dom',
+ 'javelin-vector',
),
'39841ead' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-request',
- 3 => 'javelin-util',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-request',
+ 'javelin-util',
),
'3ab51e2c' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-behavior-device',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-vector',
- 4 => 'javelin-dom',
- 5 => 'javelin-magical-init',
+ 'javelin-behavior',
+ 'javelin-behavior-device',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ 'javelin-dom',
+ 'javelin-magical-init',
),
'3b1557b3' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'3b3e1664' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'phortune-credit-card-form',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'phortune-credit-card-form',
),
'3d51a746' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-workflow',
- 4 => 'javelin-util',
- 5 => 'javelin-uri',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-util',
+ 'javelin-uri',
),
'3ee3408b' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-behavior-device',
- 2 => 'javelin-stratcom',
- 3 => 'phabricator-tooltip',
+ 'javelin-behavior',
+ 'javelin-behavior-device',
+ 'javelin-stratcom',
+ 'phabricator-tooltip',
),
'3fc2c8f2' => array(
- 0 => 'multirow-row-manager',
- 1 => 'javelin-install',
- 2 => 'javelin-util',
- 3 => 'javelin-dom',
- 4 => 'javelin-stratcom',
- 5 => 'javelin-json',
- 6 => 'phabricator-prefab',
+ 'multirow-row-manager',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-json',
+ 'phabricator-prefab',
),
'40a6a403' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-reactor-dom',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-reactor-dom',
),
'40b1ff90' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-workflow',
- 4 => 'javelin-util',
- 5 => 'phabricator-notification',
- 6 => 'javelin-behavior-device',
- 7 => 'phuix-dropdown-menu',
- 8 => 'phuix-action-list-view',
- 9 => 'phuix-action-view',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-util',
+ 'phabricator-notification',
+ 'javelin-behavior-device',
+ 'phuix-dropdown-menu',
+ 'phuix-action-list-view',
+ 'phuix-action-view',
),
'41e47dea' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-util',
),
'44168bad' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'phabricator-prefab',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'phabricator-prefab',
),
'453c5375' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-dom',
),
'469c0d9e' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-workflow',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-workflow',
),
'47c794d8' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-reactor-dom',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-reactor-dom',
),
'4a07e8e3' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-util',
),
'4d94d9c3' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'phuix-dropdown-menu',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'phuix-dropdown-menu',
),
'4e3e79a6' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'4e9b766b' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-stratcom',
- 4 => 'javelin-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-request',
),
'4fdb476d' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'503e17fd' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-typeahead-source',
- 2 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-typeahead-source',
+ 'javelin-util',
),
'519705ea' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-reactor-dom',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-reactor-dom',
),
'54b612ba' => array(
- 0 => 'javelin-color',
- 1 => 'javelin-install',
- 2 => 'javelin-util',
+ 'javelin-color',
+ 'javelin-install',
+ 'javelin-util',
),
'54f314a0' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-request',
- 3 => 'javelin-typeahead-source',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-request',
+ 'javelin-typeahead-source',
),
'558829c2' => array(
- 0 => 'javelin-stratcom',
- 1 => 'javelin-behavior',
- 2 => 'javelin-vector',
- 3 => 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-vector',
+ 'javelin-dom',
),
'58f7803f' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-aphlict',
- 2 => 'phabricator-phtize',
- 3 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-aphlict',
+ 'phabricator-phtize',
+ 'javelin-dom',
),
'59b251eb' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-vector',
- 3 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ 'javelin-dom',
),
'5bc2cb21' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
),
'5fefb143' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-workflow',
+ 'javelin-stratcom',
),
'60821bc7' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'6153c708' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-workflow',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-workflow',
),
'61cbc29a' => array(
- 0 => 'javelin-magical-init',
- 1 => 'javelin-util',
+ 'javelin-magical-init',
+ 'javelin-util',
),
'6453c869' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-fx',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-fx',
),
'69adf288' => array(
- 0 => 'javelin-install',
+ 'javelin-install',
),
'6b3dcf44' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-util',
),
'6c2b09a2' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-util',
),
'6d3e1947' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-diffusion-locate-file-source',
- 2 => 'javelin-dom',
- 3 => 'javelin-typeahead',
- 4 => 'javelin-uri',
+ 'javelin-behavior',
+ 'javelin-diffusion-locate-file-source',
+ 'javelin-dom',
+ 'javelin-typeahead',
+ 'javelin-uri',
),
'6e8cefa4' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-util',
),
'6eff08aa' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-stratcom',
),
'710f209e' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-stratcom',
- 4 => 'javelin-workflow',
- 5 => 'phuix-dropdown-menu',
- 6 => 'phuix-action-list-view',
- 7 => 'phuix-action-view',
- 8 => 'phabricator-phtize',
- 9 => 'changeset-view-manager',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'phuix-dropdown-menu',
+ 'phuix-action-list-view',
+ 'phuix-action-view',
+ 'phabricator-phtize',
+ 'changeset-view-manager',
),
'71f66c08' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-dom',
- 4 => 'javelin-uri',
- 5 => 'phabricator-textareautils',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-dom',
+ 'javelin-uri',
+ 'phabricator-textareautils',
),
'7319e029' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-dom',
),
'76b9fc3e' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-dom',
- 4 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-dom',
+ 'phabricator-draggable-list',
),
'76f4ebed' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-reactor',
- 2 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-reactor',
+ 'javelin-util',
),
'77b1cf6f' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-util',
),
'7814b593' => array(
- 0 => 'javelin-request',
- 1 => 'javelin-behavior',
- 2 => 'javelin-dom',
- 3 => 'javelin-router',
- 4 => 'javelin-util',
- 5 => 'phabricator-busy',
+ 'javelin-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-router',
+ 'javelin-util',
+ 'phabricator-busy',
),
'7a68dda3' => array(
- 0 => 'owners-path-editor',
- 1 => 'javelin-behavior',
+ 'owners-path-editor',
+ 'javelin-behavior',
),
'7a9677fc' => array(
- 0 => 'phabricator-notification',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-behavior',
+ 'phabricator-notification',
+ 'javelin-stratcom',
+ 'javelin-behavior',
),
'7b98d7c5' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-util',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-util',
),
'7c273581' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'7cbe244b' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-request',
- 3 => 'javelin-router',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-request',
+ 'javelin-router',
),
'7e41274a' => array(
- 0 => 'javelin-install',
+ 'javelin-install',
),
'7e8468ae' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-vector',
- 3 => 'javelin-request',
- 4 => 'javelin-uri',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-vector',
+ 'javelin-request',
+ 'javelin-uri',
),
'7ebaeed3' => array(
- 0 => 'herald-rule-editor',
- 1 => 'javelin-behavior',
+ 'herald-rule-editor',
+ 'javelin-behavior',
),
'7ee2b591' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-history',
+ 'javelin-behavior',
+ 'javelin-history',
),
'82ce2142' => array(
- 0 => 'aphront-typeahead-control-css',
+ 'aphront-typeahead-control-css',
),
'84845b5b' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-workflow',
- 4 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'phabricator-draggable-list',
),
'85ab3c8e' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-workflow',
- 4 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-workflow',
+ 'javelin-stratcom',
),
'85ea0626' => array(
- 0 => 'javelin-install',
+ 'javelin-install',
),
'88236f00' => array(
- 0 => 'javelin-behavior',
- 1 => 'phabricator-keyboard-shortcut',
- 2 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'phabricator-keyboard-shortcut',
+ 'javelin-stratcom',
),
'886fd850' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-reactor-dom',
- 2 => 'javelin-view-html',
- 3 => 'javelin-view-interpreter',
- 4 => 'javelin-view-renderer',
+ 'javelin-install',
+ 'javelin-reactor-dom',
+ 'javelin-view-html',
+ 'javelin-view-interpreter',
+ 'javelin-view-renderer',
),
'8a41885b' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
+ 'javelin-install',
+ 'javelin-dom',
),
'8b0ad945' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-event',
- 2 => 'javelin-util',
- 3 => 'javelin-magical-init',
+ 'javelin-install',
+ 'javelin-event',
+ 'javelin-util',
+ 'javelin-magical-init',
),
'8b3fd187' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-request',
- 3 => 'javelin-typeahead-source',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-request',
+ 'javelin-typeahead-source',
),
'8d199d97' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'phabricator-keyboard-shortcut',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'phabricator-keyboard-shortcut',
),
'8ef9ab58' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
),
'8fc1c918' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-uri',
- 2 => 'phabricator-notification',
+ 'javelin-behavior',
+ 'javelin-uri',
+ 'phabricator-notification',
),
'92eb531d' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'phabricator-drag-and-drop-file-upload',
- 3 => 'phabricator-textareautils',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'phabricator-drag-and-drop-file-upload',
+ 'phabricator-textareautils',
),
'9414ff18' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-resource',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-workflow',
- 4 => 'javelin-util',
+ 'javelin-behavior',
+ 'javelin-resource',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-util',
),
'97258e55' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-util',
- 3 => 'javelin-behavior',
- 4 => 'javelin-json',
- 5 => 'javelin-dom',
- 6 => 'javelin-resource',
- 7 => 'javelin-routable',
+ 'javelin-install',
+ 'javelin-stratcom',
+ 'javelin-util',
+ 'javelin-behavior',
+ 'javelin-json',
+ 'javelin-dom',
+ 'javelin-resource',
+ 'javelin-routable',
),
'988040b4' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-reactor-dom',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-reactor-dom',
),
'9c2623f4' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-workflow',
- 4 => 'phabricator-phtize',
- 5 => 'phabricator-drag-and-drop-file-upload',
- 6 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-workflow',
+ 'phabricator-phtize',
+ 'phabricator-drag-and-drop-file-upload',
+ 'phabricator-draggable-list',
),
'9db3d160' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-vector',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-vector',
+ 'javelin-dom',
),
'9f7309fb' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-request',
- 4 => 'phabricator-shaped-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-request',
+ 'phabricator-shaped-request',
),
'a155550f' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-reactor-dom',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-reactor-dom',
),
'a3e2244e' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'a4ae61bf' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'phabricator-notification',
+ 'javelin-install',
+ 'javelin-dom',
+ 'phabricator-notification',
),
'a5573bcd' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-util',
- 2 => 'javelin-dom',
- 3 => 'javelin-stratcom',
- 4 => 'javelin-vector',
+ 'javelin-behavior',
+ 'javelin-util',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-vector',
),
'a5b67173' => array(
- 0 => 'javelin-dom',
- 1 => 'javelin-util',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-install',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-install',
),
'a5d7cf86' => array(
- 0 => 'javelin-dom',
+ 'javelin-dom',
),
'a80d0378' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'a826c925' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-aphlict',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-request',
- 4 => 'javelin-uri',
- 5 => 'javelin-dom',
- 6 => 'javelin-json',
- 7 => 'javelin-router',
- 8 => 'javelin-util',
- 9 => 'phabricator-notification',
+ 'javelin-behavior',
+ 'javelin-aphlict',
+ 'javelin-stratcom',
+ 'javelin-request',
+ 'javelin-uri',
+ 'javelin-dom',
+ 'javelin-json',
+ 'javelin-router',
+ 'javelin-util',
+ 'phabricator-notification',
),
'a8d8459d' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
),
'a8da01f0' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-uri',
- 2 => 'phabricator-keyboard-shortcut',
+ 'javelin-behavior',
+ 'javelin-uri',
+ 'phabricator-keyboard-shortcut',
),
'a9f88de2' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-workflow',
- 4 => 'javelin-fx',
- 5 => 'javelin-util',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-fx',
+ 'javelin-util',
),
'aa1733d0' => array(
- 0 => 'multirow-row-manager',
- 1 => 'javelin-install',
- 2 => 'path-typeahead',
- 3 => 'javelin-dom',
- 4 => 'javelin-util',
- 5 => 'phabricator-prefab',
+ 'multirow-row-manager',
+ 'javelin-install',
+ 'path-typeahead',
+ 'javelin-dom',
+ 'javelin-util',
+ 'phabricator-prefab',
),
'aa93c7b0' => array(
- 0 => 'javelin-install',
+ 'javelin-install',
),
'ab836011' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-workflow',
- 4 => 'javelin-util',
- 5 => 'phabricator-keyboard-shortcut',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-util',
+ 'phabricator-keyboard-shortcut',
),
'ab8d2723' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'phortune-credit-card-form',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'phortune-credit-card-form',
),
'ad7a69ca' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-dom',
- 4 => 'javelin-vector',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-vector',
),
'b1f0ccee' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-reactor-dom',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-reactor-dom',
),
'b2b4fbaf' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-uri',
- 3 => 'javelin-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-uri',
+ 'javelin-request',
),
'b3a4b884' => array(
- 0 => 'javelin-behavior',
- 1 => 'phabricator-prefab',
+ 'javelin-behavior',
+ 'phabricator-prefab',
),
'b3e7d692' => array(
- 0 => 'javelin-install',
+ 'javelin-install',
),
'b3ec3cfc' => array(
- 0 => 'javelin-install',
+ 'javelin-install',
),
'b42eddc7' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-typeahead-preloaded-source',
- 3 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-typeahead-preloaded-source',
+ 'javelin-util',
),
'b4c30592' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-reactor',
- 2 => 'javelin-util',
- 3 => 'javelin-reactor-node-calmer',
+ 'javelin-install',
+ 'javelin-reactor',
+ 'javelin-util',
+ 'javelin-reactor-node-calmer',
),
'b5c256b8' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
+ 'javelin-install',
+ 'javelin-dom',
),
'b6d401d6' => array(
- 0 => 'javelin-dom',
- 1 => 'javelin-dynval',
- 2 => 'javelin-reactor',
- 3 => 'javelin-reactornode',
- 4 => 'javelin-install',
- 5 => 'javelin-util',
+ 'javelin-dom',
+ 'javelin-dynval',
+ 'javelin-reactor',
+ 'javelin-reactornode',
+ 'javelin-install',
+ 'javelin-util',
),
'b716477f' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-dom',
- 4 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-dom',
+ 'phabricator-draggable-list',
),
'bba9eedf' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'bbae734c' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-dom',
- 3 => 'javelin-typeahead',
- 4 => 'javelin-tokenizer',
- 5 => 'javelin-typeahead-preloaded-source',
- 6 => 'javelin-typeahead-ondemand-source',
- 7 => 'javelin-dom',
- 8 => 'javelin-stratcom',
- 9 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-dom',
+ 'javelin-typeahead',
+ 'javelin-tokenizer',
+ 'javelin-typeahead-preloaded-source',
+ 'javelin-typeahead-ondemand-source',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-util',
),
'bd4c8dca' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-dom',
- 3 => 'javelin-vector',
- 4 => 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-dom',
+ 'javelin-vector',
+ 'javelin-stratcom',
),
'bdaf4d04' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-request',
),
'bdb3e4d0' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'phabricator-tooltip',
- 4 => 'changeset-view-manager',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'phabricator-tooltip',
+ 'changeset-view-manager',
),
'be807912' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'phabricator-shaped-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'phabricator-shaped-request',
),
'c4569c05' => array(
- 0 => 'javelin-magical-init',
- 1 => 'javelin-install',
- 2 => 'javelin-util',
- 3 => 'javelin-vector',
- 4 => 'javelin-stratcom',
+ 'javelin-magical-init',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-vector',
+ 'javelin-stratcom',
),
'c60f4327' => array(
- 0 => 'javelin-stratcom',
- 1 => 'javelin-install',
- 2 => 'javelin-uri',
- 3 => 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-uri',
+ 'javelin-util',
),
'c6b95cbd' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-stratcom',
- 4 => 'javelin-workflow',
- 5 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'phabricator-draggable-list',
),
'ca3f91eb' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'phabricator-phtize',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'phabricator-phtize',
),
'd149e002' => array(
- 0 => 'javelin-stratcom',
- 1 => 'javelin-request',
- 2 => 'javelin-dom',
- 3 => 'javelin-vector',
- 4 => 'javelin-install',
- 5 => 'javelin-util',
- 6 => 'javelin-mask',
- 7 => 'javelin-uri',
- 8 => 'javelin-routable',
+ 'javelin-stratcom',
+ 'javelin-request',
+ 'javelin-dom',
+ 'javelin-vector',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-mask',
+ 'javelin-uri',
+ 'javelin-routable',
),
'd19198c8' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-dynval',
- 4 => 'javelin-reactor-dom',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-dynval',
+ 'javelin-reactor-dom',
),
'd254d646' => array(
- 0 => 'javelin-util',
+ 'javelin-util',
),
'd2907473' => array(
- 0 => 'javelin-dom',
- 1 => 'javelin-util',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-install',
- 4 => 'javelin-workflow',
- 5 => 'javelin-router',
- 6 => 'javelin-behavior-device',
- 7 => 'javelin-vector',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-workflow',
+ 'javelin-router',
+ 'javelin-behavior-device',
+ 'javelin-vector',
),
'd4a14807' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-view',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-view',
),
'd4eecc63' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
),
'd6f54db0' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-request',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-request',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'd712ac5f' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-typeahead-ondemand-source',
- 2 => 'javelin-typeahead',
- 3 => 'javelin-dom',
- 4 => 'javelin-uri',
- 5 => 'javelin-util',
- 6 => 'javelin-stratcom',
- 7 => 'phabricator-prefab',
+ 'javelin-behavior',
+ 'javelin-typeahead-ondemand-source',
+ 'javelin-typeahead',
+ 'javelin-dom',
+ 'javelin-uri',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'phabricator-prefab',
),
'd75709e6' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-workflow',
- 2 => 'javelin-json',
- 3 => 'javelin-dom',
- 4 => 'phabricator-keyboard-shortcut',
+ 'javelin-behavior',
+ 'javelin-workflow',
+ 'javelin-json',
+ 'javelin-dom',
+ 'phabricator-keyboard-shortcut',
),
'd835b03a' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'phabricator-shaped-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'phabricator-shaped-request',
),
'dd7e8ef5' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-util',
- 4 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-workflow',
+ 'javelin-util',
+ 'javelin-stratcom',
),
'de2e896f' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-typeahead',
- 3 => 'javelin-typeahead-ondemand-source',
- 4 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-typeahead',
+ 'javelin-typeahead-ondemand-source',
+ 'javelin-dom',
),
'e10f8e18' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'phabricator-prefab',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'phabricator-prefab',
),
'e1ff79b1' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'e32d14ab' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'phabricator-phtize',
- 4 => 'phabricator-textareautils',
- 5 => 'javelin-workflow',
- 6 => 'javelin-vector',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'phabricator-phtize',
+ 'phabricator-textareautils',
+ 'javelin-workflow',
+ 'javelin-vector',
),
'e379b58e' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-vector',
- 3 => 'javelin-dom',
- 4 => 'javelin-uri',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ 'javelin-dom',
+ 'javelin-uri',
),
'e566f52c' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
),
'e5822781' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-json',
- 3 => 'javelin-workflow',
- 4 => 'javelin-magical-init',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-json',
+ 'javelin-workflow',
+ 'javelin-magical-init',
),
'e5b406f9' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-view-visitor',
- 3 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-view-visitor',
+ 'javelin-util',
),
'e614d22b' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-dom',
- 2 => 'javelin-vector',
- 3 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-vector',
+ 'javelin-util',
),
'e9581f08' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-workflow',
- 3 => 'javelin-dom',
- 4 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-dom',
+ 'phabricator-draggable-list',
),
'efe49472' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-util',
),
'f0a41b9f' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-stratcom',
- 4 => 'javelin-workflow',
- 5 => 'javelin-behavior-device',
- 6 => 'javelin-history',
- 7 => 'javelin-vector',
- 8 => 'phabricator-shaped-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'javelin-behavior-device',
+ 'javelin-history',
+ 'javelin-vector',
+ 'phabricator-shaped-request',
),
'f2441746' => array(
- 0 => 'javelin-dom',
- 1 => 'javelin-util',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-install',
- 4 => 'javelin-request',
- 5 => 'javelin-workflow',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-request',
+ 'javelin-workflow',
),
'f36e01af' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-behavior-device',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-vector',
- 4 => 'phabricator-hovercard',
+ 'javelin-behavior',
+ 'javelin-behavior-device',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ 'phabricator-hovercard',
),
'f3fef818' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'phuix-dropdown-menu',
- 4 => 'phuix-action-list-view',
- 5 => 'phuix-action-view',
- 6 => 'javelin-workflow',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'phuix-dropdown-menu',
+ 'phuix-action-list-view',
+ 'phuix-action-view',
+ 'javelin-workflow',
),
'f51afce0' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-request',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-vector',
- 4 => 'javelin-dom',
- 5 => 'javelin-uri',
- 6 => 'javelin-behavior-device',
+ 'javelin-behavior',
+ 'javelin-request',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ 'javelin-dom',
+ 'javelin-uri',
+ 'javelin-behavior-device',
),
'f588412e' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'phabricator-prefab',
- 4 => 'multirow-row-manager',
- 5 => 'javelin-json',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'phabricator-prefab',
+ 'multirow-row-manager',
+ 'javelin-json',
),
'f6555212' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-reactornode',
- 2 => 'javelin-util',
- 3 => 'javelin-reactor',
+ 'javelin-install',
+ 'javelin-reactornode',
+ 'javelin-util',
+ 'javelin-reactor',
),
'f726d506' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-stratcom',
- 2 => 'javelin-dom',
- 3 => 'javelin-history',
+ 'javelin-behavior',
+ 'javelin-stratcom',
+ 'javelin-dom',
+ 'javelin-history',
),
'f7379f45' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'phabricator-shaped-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'phabricator-shaped-request',
),
'f7f1289f' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
),
'f7fc67ec' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-typeahead',
- 2 => 'javelin-dom',
- 3 => 'javelin-request',
- 4 => 'javelin-typeahead-ondemand-source',
- 5 => 'javelin-util',
+ 'javelin-install',
+ 'javelin-typeahead',
+ 'javelin-dom',
+ 'javelin-request',
+ 'javelin-typeahead-ondemand-source',
+ 'javelin-util',
),
'f8248bc5' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-json',
- 4 => 'javelin-stratcom',
- 5 => 'phabricator-shaped-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-json',
+ 'javelin-stratcom',
+ 'phabricator-shaped-request',
),
'f9539603' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-stratcom',
- 3 => 'javelin-uri',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-uri',
),
'fa0f4fc2' => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-vector',
- 3 => 'javelin-magical-init',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-vector',
+ 'javelin-magical-init',
),
'fcba4ecc' => array(
- 0 => 'javelin-install',
- 1 => 'javelin-util',
- 2 => 'javelin-dom',
- 3 => 'javelin-typeahead-normalizer',
+ 'javelin-install',
+ 'javelin-util',
+ 'javelin-dom',
+ 'javelin-typeahead-normalizer',
),
'fe9a552f' => array(
- 0 => 'javelin-behavior',
- 1 => 'multirow-row-manager',
- 2 => 'javelin-dom',
- 3 => 'javelin-util',
- 4 => 'phabricator-prefab',
- 5 => 'javelin-json',
+ 'javelin-behavior',
+ 'multirow-row-manager',
+ 'javelin-dom',
+ 'javelin-util',
+ 'phabricator-prefab',
+ 'javelin-json',
),
42126667 => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-request',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-request',
),
48086888 => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-workflow',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-workflow',
),
60479091 => array(
- 0 => 'phabricator-busy',
- 1 => 'javelin-behavior',
+ 'phabricator-busy',
+ 'javelin-behavior',
),
82439934 => array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- 2 => 'javelin-util',
- 3 => 'javelin-stratcom',
- 4 => 'javelin-workflow',
- 5 => 'phabricator-draggable-list',
+ 'javelin-behavior',
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-workflow',
+ 'phabricator-draggable-list',
),
),
'packages' => array(
'core.pkg.css' => array(
- 0 => 'phabricator-core-css',
- 1 => 'phabricator-zindex-css',
- 2 => 'phui-button-css',
- 3 => 'phabricator-standard-page-view',
- 4 => 'aphront-dialog-view-css',
- 5 => 'phui-form-view-css',
- 6 => 'aphront-panel-view-css',
- 7 => 'aphront-table-view-css',
- 8 => 'aphront-tokenizer-control-css',
- 9 => 'aphront-typeahead-control-css',
- 10 => 'aphront-list-filter-view-css',
- 11 => 'phabricator-remarkup-css',
- 12 => 'syntax-highlighting-css',
- 13 => 'aphront-pager-view-css',
- 14 => 'phabricator-transaction-view-css',
- 15 => 'aphront-tooltip-css',
- 16 => 'phabricator-flag-css',
- 17 => 'aphront-error-view-css',
- 18 => 'sprite-gradient-css',
- 19 => 'sprite-menu-css',
- 20 => 'sprite-apps-css',
- 21 => 'sprite-apps-large-css',
- 22 => 'phabricator-main-menu-view',
- 23 => 'phabricator-notification-css',
- 24 => 'phabricator-notification-menu-css',
- 25 => 'lightbox-attachment-css',
- 26 => 'phui-header-view-css',
- 27 => 'phabricator-filetree-view-css',
- 28 => 'phabricator-nav-view-css',
- 29 => 'phabricator-side-menu-view-css',
- 30 => 'phabricator-crumbs-view-css',
- 31 => 'phui-object-item-list-view-css',
- 32 => 'global-drag-and-drop-css',
- 33 => 'phui-spacing-css',
- 34 => 'phui-form-css',
- 35 => 'phui-icon-view-css',
- 36 => 'phabricator-application-launch-view-css',
- 37 => 'phabricator-action-list-view-css',
- 38 => 'phui-property-list-view-css',
- 39 => 'phui-tag-view-css',
- 40 => 'phui-list-view-css',
- 41 => 'font-fontawesome',
- 42 => 'phui-font-icon-base-css',
- 43 => 'sprite-main-header-css',
- 44 => 'phui-box-css',
- 45 => 'phui-object-box-css',
- 46 => 'phui-timeline-view-css',
- 47 => 'sprite-tokens-css',
- 48 => 'tokens-css',
- 49 => 'phui-status-list-view-css',
+ 'phabricator-core-css',
+ 'phabricator-zindex-css',
+ 'phui-button-css',
+ 'phabricator-standard-page-view',
+ 'aphront-dialog-view-css',
+ 'phui-form-view-css',
+ 'aphront-panel-view-css',
+ 'aphront-table-view-css',
+ 'aphront-tokenizer-control-css',
+ 'aphront-typeahead-control-css',
+ 'aphront-list-filter-view-css',
+ 'phabricator-remarkup-css',
+ 'syntax-highlighting-css',
+ 'aphront-pager-view-css',
+ 'phabricator-transaction-view-css',
+ 'aphront-tooltip-css',
+ 'phabricator-flag-css',
+ 'aphront-error-view-css',
+ 'sprite-gradient-css',
+ 'sprite-menu-css',
+ 'sprite-apps-css',
+ 'sprite-apps-large-css',
+ 'phabricator-main-menu-view',
+ 'phabricator-notification-css',
+ 'phabricator-notification-menu-css',
+ 'lightbox-attachment-css',
+ 'phui-header-view-css',
+ 'phabricator-filetree-view-css',
+ 'phabricator-nav-view-css',
+ 'phabricator-side-menu-view-css',
+ 'phabricator-crumbs-view-css',
+ 'phui-object-item-list-view-css',
+ 'global-drag-and-drop-css',
+ 'phui-spacing-css',
+ 'phui-form-css',
+ 'phui-icon-view-css',
+ 'phabricator-application-launch-view-css',
+ 'phabricator-action-list-view-css',
+ 'phui-property-list-view-css',
+ 'phui-tag-view-css',
+ 'phui-list-view-css',
+ 'font-fontawesome',
+ 'phui-font-icon-base-css',
+ 'sprite-main-header-css',
+ 'phui-box-css',
+ 'phui-object-box-css',
+ 'phui-timeline-view-css',
+ 'sprite-tokens-css',
+ 'tokens-css',
+ 'phui-status-list-view-css',
),
'core.pkg.js' => array(
- 0 => 'javelin-util',
- 1 => 'javelin-install',
- 2 => 'javelin-event',
- 3 => 'javelin-stratcom',
- 4 => 'javelin-behavior',
- 5 => 'javelin-resource',
- 6 => 'javelin-request',
- 7 => 'javelin-vector',
- 8 => 'javelin-dom',
- 9 => 'javelin-json',
- 10 => 'javelin-uri',
- 11 => 'javelin-workflow',
- 12 => 'javelin-mask',
- 13 => 'javelin-typeahead',
- 14 => 'javelin-typeahead-normalizer',
- 15 => 'javelin-typeahead-source',
- 16 => 'javelin-typeahead-preloaded-source',
- 17 => 'javelin-typeahead-ondemand-source',
- 18 => 'javelin-tokenizer',
- 19 => 'javelin-history',
- 20 => 'javelin-router',
- 21 => 'javelin-routable',
- 22 => 'javelin-behavior-aphront-basic-tokenizer',
- 23 => 'javelin-behavior-workflow',
- 24 => 'javelin-behavior-aphront-form-disable-on-submit',
- 25 => 'phabricator-keyboard-shortcut-manager',
- 26 => 'phabricator-keyboard-shortcut',
- 27 => 'javelin-behavior-phabricator-keyboard-shortcuts',
- 28 => 'javelin-behavior-refresh-csrf',
- 29 => 'javelin-behavior-phabricator-watch-anchor',
- 30 => 'javelin-behavior-phabricator-autofocus',
- 31 => 'phuix-dropdown-menu',
- 32 => 'phuix-action-list-view',
- 33 => 'phuix-action-view',
- 34 => 'phabricator-phtize',
- 35 => 'javelin-behavior-phabricator-oncopy',
- 36 => 'phabricator-tooltip',
- 37 => 'javelin-behavior-phabricator-tooltips',
- 38 => 'phabricator-prefab',
- 39 => 'javelin-behavior-device',
- 40 => 'javelin-behavior-toggle-class',
- 41 => 'javelin-behavior-lightbox-attachments',
- 42 => 'phabricator-busy',
- 43 => 'javelin-aphlict',
- 44 => 'phabricator-notification',
- 45 => 'javelin-behavior-aphlict-listen',
- 46 => 'javelin-behavior-phabricator-search-typeahead',
- 47 => 'javelin-behavior-konami',
- 48 => 'javelin-behavior-aphlict-dropdown',
- 49 => 'javelin-behavior-history-install',
- 50 => 'javelin-behavior-phabricator-gesture',
- 51 => 'javelin-behavior-phabricator-active-nav',
- 52 => 'javelin-behavior-phabricator-nav',
- 53 => 'javelin-behavior-phabricator-remarkup-assist',
- 54 => 'phabricator-textareautils',
- 55 => 'phabricator-file-upload',
- 56 => 'javelin-behavior-global-drag-and-drop',
- 57 => 'javelin-behavior-phabricator-reveal-content',
- 58 => 'phabricator-hovercard',
- 59 => 'javelin-behavior-phabricator-hovercards',
- 60 => 'javelin-color',
- 61 => 'javelin-fx',
- 62 => 'phabricator-draggable-list',
- 63 => 'javelin-behavior-phabricator-transaction-list',
- 64 => 'javelin-behavior-phabricator-show-all-transactions',
- 65 => 'javelin-behavior-phui-timeline-dropdown-menu',
- 66 => 'javelin-behavior-doorkeeper-tag',
+ 'javelin-util',
+ 'javelin-install',
+ 'javelin-event',
+ 'javelin-stratcom',
+ 'javelin-behavior',
+ 'javelin-resource',
+ 'javelin-request',
+ 'javelin-vector',
+ 'javelin-dom',
+ 'javelin-json',
+ 'javelin-uri',
+ 'javelin-workflow',
+ 'javelin-mask',
+ 'javelin-typeahead',
+ 'javelin-typeahead-normalizer',
+ 'javelin-typeahead-source',
+ 'javelin-typeahead-preloaded-source',
+ 'javelin-typeahead-ondemand-source',
+ 'javelin-tokenizer',
+ 'javelin-history',
+ 'javelin-router',
+ 'javelin-routable',
+ 'javelin-behavior-aphront-basic-tokenizer',
+ 'javelin-behavior-workflow',
+ 'javelin-behavior-aphront-form-disable-on-submit',
+ 'phabricator-keyboard-shortcut-manager',
+ 'phabricator-keyboard-shortcut',
+ 'javelin-behavior-phabricator-keyboard-shortcuts',
+ 'javelin-behavior-refresh-csrf',
+ 'javelin-behavior-phabricator-watch-anchor',
+ 'javelin-behavior-phabricator-autofocus',
+ 'phuix-dropdown-menu',
+ 'phuix-action-list-view',
+ 'phuix-action-view',
+ 'phabricator-phtize',
+ 'javelin-behavior-phabricator-oncopy',
+ 'phabricator-tooltip',
+ 'javelin-behavior-phabricator-tooltips',
+ 'phabricator-prefab',
+ 'javelin-behavior-device',
+ 'javelin-behavior-toggle-class',
+ 'javelin-behavior-lightbox-attachments',
+ 'phabricator-busy',
+ 'javelin-aphlict',
+ 'phabricator-notification',
+ 'javelin-behavior-aphlict-listen',
+ 'javelin-behavior-phabricator-search-typeahead',
+ 'javelin-behavior-konami',
+ 'javelin-behavior-aphlict-dropdown',
+ 'javelin-behavior-history-install',
+ 'javelin-behavior-phabricator-gesture',
+ 'javelin-behavior-phabricator-active-nav',
+ 'javelin-behavior-phabricator-nav',
+ 'javelin-behavior-phabricator-remarkup-assist',
+ 'phabricator-textareautils',
+ 'phabricator-file-upload',
+ 'javelin-behavior-global-drag-and-drop',
+ 'javelin-behavior-phabricator-reveal-content',
+ 'phabricator-hovercard',
+ 'javelin-behavior-phabricator-hovercards',
+ 'javelin-color',
+ 'javelin-fx',
+ 'phabricator-draggable-list',
+ 'javelin-behavior-phabricator-transaction-list',
+ 'javelin-behavior-phabricator-show-all-transactions',
+ 'javelin-behavior-phui-timeline-dropdown-menu',
+ 'javelin-behavior-doorkeeper-tag',
),
'darkconsole.pkg.js' => array(
- 0 => 'javelin-behavior-dark-console',
- 1 => 'javelin-behavior-error-log',
+ 'javelin-behavior-dark-console',
+ 'javelin-behavior-error-log',
),
'differential.pkg.css' => array(
- 0 => 'differential-core-view-css',
- 1 => 'differential-changeset-view-css',
- 2 => 'differential-results-table-css',
- 3 => 'differential-revision-history-css',
- 4 => 'differential-revision-list-css',
- 5 => 'differential-table-of-contents-css',
- 6 => 'differential-revision-comment-css',
- 7 => 'differential-revision-add-comment-css',
- 8 => 'phabricator-object-selector-css',
- 9 => 'phabricator-content-source-view-css',
- 10 => 'inline-comment-summary-css',
+ 'differential-core-view-css',
+ 'differential-changeset-view-css',
+ 'differential-results-table-css',
+ 'differential-revision-history-css',
+ 'differential-revision-list-css',
+ 'differential-table-of-contents-css',
+ 'differential-revision-comment-css',
+ 'differential-revision-add-comment-css',
+ 'phabricator-object-selector-css',
+ 'phabricator-content-source-view-css',
+ 'inline-comment-summary-css',
),
'differential.pkg.js' => array(
- 0 => 'phabricator-drag-and-drop-file-upload',
- 1 => 'phabricator-shaped-request',
- 2 => 'javelin-behavior-differential-feedback-preview',
- 3 => 'javelin-behavior-differential-edit-inline-comments',
- 4 => 'javelin-behavior-differential-populate',
- 5 => 'javelin-behavior-differential-show-more',
- 6 => 'javelin-behavior-differential-diff-radios',
- 7 => 'javelin-behavior-differential-comment-jump',
- 8 => 'javelin-behavior-differential-add-reviewers-and-ccs',
- 9 => 'javelin-behavior-differential-keyboard-navigation',
- 10 => 'javelin-behavior-aphront-drag-and-drop-textarea',
- 11 => 'javelin-behavior-phabricator-object-selector',
- 12 => 'javelin-behavior-repository-crossreference',
- 13 => 'javelin-behavior-load-blame',
- 14 => 'differential-inline-comment-editor',
- 15 => 'javelin-behavior-differential-dropdown-menus',
- 16 => 'javelin-behavior-differential-toggle-files',
- 17 => 'javelin-behavior-differential-user-select',
- 18 => 'javelin-behavior-aphront-more',
+ 'phabricator-drag-and-drop-file-upload',
+ 'phabricator-shaped-request',
+ 'javelin-behavior-differential-feedback-preview',
+ 'javelin-behavior-differential-edit-inline-comments',
+ 'javelin-behavior-differential-populate',
+ 'javelin-behavior-differential-show-more',
+ 'javelin-behavior-differential-diff-radios',
+ 'javelin-behavior-differential-comment-jump',
+ 'javelin-behavior-differential-add-reviewers-and-ccs',
+ 'javelin-behavior-differential-keyboard-navigation',
+ 'javelin-behavior-aphront-drag-and-drop-textarea',
+ 'javelin-behavior-phabricator-object-selector',
+ 'javelin-behavior-repository-crossreference',
+ 'javelin-behavior-load-blame',
+ 'differential-inline-comment-editor',
+ 'javelin-behavior-differential-dropdown-menus',
+ 'javelin-behavior-differential-toggle-files',
+ 'javelin-behavior-differential-user-select',
+ 'javelin-behavior-aphront-more',
),
'diffusion.pkg.css' => array(
- 0 => 'diffusion-commit-view-css',
- 1 => 'diffusion-icons-css',
+ 'diffusion-commit-view-css',
+ 'diffusion-icons-css',
),
'diffusion.pkg.js' => array(
- 0 => 'javelin-behavior-diffusion-pull-lastmodified',
- 1 => 'javelin-behavior-diffusion-commit-graph',
- 2 => 'javelin-behavior-audit-preview',
+ 'javelin-behavior-diffusion-pull-lastmodified',
+ 'javelin-behavior-diffusion-commit-graph',
+ 'javelin-behavior-audit-preview',
),
'maniphest.pkg.css' => array(
- 0 => 'maniphest-task-summary-css',
+ 'maniphest-task-summary-css',
),
'maniphest.pkg.js' => array(
- 0 => 'javelin-behavior-maniphest-batch-selector',
- 1 => 'javelin-behavior-maniphest-transaction-controls',
- 2 => 'javelin-behavior-maniphest-transaction-preview',
- 3 => 'javelin-behavior-maniphest-transaction-expand',
- 4 => 'javelin-behavior-maniphest-subpriority-editor',
- 5 => 'javelin-behavior-maniphest-list-editor',
+ 'javelin-behavior-maniphest-batch-selector',
+ 'javelin-behavior-maniphest-transaction-controls',
+ 'javelin-behavior-maniphest-transaction-preview',
+ 'javelin-behavior-maniphest-transaction-expand',
+ 'javelin-behavior-maniphest-subpriority-editor',
+ 'javelin-behavior-maniphest-list-editor',
),
),
);
diff --git a/resources/sql/autopatches/20140721.phortune.1.cart.sql b/resources/sql/autopatches/20140721.phortune.1.cart.sql
new file mode 100644
--- /dev/null
+++ b/resources/sql/autopatches/20140721.phortune.1.cart.sql
@@ -0,0 +1,11 @@
+CREATE TABLE {$NAMESPACE}_phortune.phortune_cart (
+ id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
+ accountPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
+ authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
+ metadata LONGTEXT NOT NULL COLLATE utf8_bin,
+ dateCreated INT UNSIGNED NOT NULL,
+ dateModified INT UNSIGNED NOT NULL,
+ UNIQUE KEY `key_phid` (phid),
+ KEY `key_account` (accountPHID)
+) ENGINE=InnoDB, COLLATE utf8_general_ci;
diff --git a/resources/sql/autopatches/20140721.phortune.2.purchase.sql b/resources/sql/autopatches/20140721.phortune.2.purchase.sql
new file mode 100644
--- /dev/null
+++ b/resources/sql/autopatches/20140721.phortune.2.purchase.sql
@@ -0,0 +1,17 @@
+CREATE TABLE {$NAMESPACE}_phortune.phortune_purchase (
+ id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ phid VARCHAR(64) NOT NULL COLLATE utf8_bin,
+ productPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
+ accountPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
+ authorPHID VARCHAR(64) NOT NULL COLLATE utf8_bin,
+ cartPHID VARCHAR(64) COLLATE utf8_bin,
+ basePriceInCents INT NOT NULL,
+ quantity INT UNSIGNED NOT NULL,
+ totalPriceInCents INT NOT NULL,
+ status VARCHAR(32) NOT NULL COLLATE utf8_bin,
+ metadata LONGTEXT NOT NULL COLLATE utf8_bin,
+ dateCreated INT UNSIGNED NOT NULL,
+ dateModified INT UNSIGNED NOT NULL,
+ UNIQUE KEY `key_phid` (phid),
+ KEY `key_cart` (cartPHID)
+) ENGINE=InnoDB, COLLATE utf8_general_ci;
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -2496,6 +2496,7 @@
'PhortuneAccountViewController' => 'applications/phortune/controller/PhortuneAccountViewController.php',
'PhortuneBalancedPaymentProvider' => 'applications/phortune/provider/PhortuneBalancedPaymentProvider.php',
'PhortuneCart' => 'applications/phortune/storage/PhortuneCart.php',
+ 'PhortuneCartQuery' => 'applications/phortune/query/PhortuneCartQuery.php',
'PhortuneCharge' => 'applications/phortune/storage/PhortuneCharge.php',
'PhortuneConstants' => 'applications/phortune/constants/PhortuneConstants.php',
'PhortuneController' => 'applications/phortune/controller/PhortuneController.php',
@@ -2521,12 +2522,14 @@
'PhortuneProductEditController' => 'applications/phortune/controller/PhortuneProductEditController.php',
'PhortuneProductEditor' => 'applications/phortune/editor/PhortuneProductEditor.php',
'PhortuneProductListController' => 'applications/phortune/controller/PhortuneProductListController.php',
+ 'PhortuneProductPurchaseController' => 'applications/phortune/controller/PhortuneProductPurchaseController.php',
'PhortuneProductQuery' => 'applications/phortune/query/PhortuneProductQuery.php',
'PhortuneProductTransaction' => 'applications/phortune/storage/PhortuneProductTransaction.php',
'PhortuneProductTransactionQuery' => 'applications/phortune/query/PhortuneProductTransactionQuery.php',
'PhortuneProductViewController' => 'applications/phortune/controller/PhortuneProductViewController.php',
'PhortuneProviderController' => 'applications/phortune/controller/PhortuneProviderController.php',
'PhortunePurchase' => 'applications/phortune/storage/PhortunePurchase.php',
+ 'PhortunePurchaseQuery' => 'applications/phortune/query/PhortunePurchaseQuery.php',
'PhortuneStripePaymentProvider' => 'applications/phortune/provider/PhortuneStripePaymentProvider.php',
'PhortuneTestExtraPaymentProvider' => 'applications/phortune/provider/__tests__/PhortuneTestExtraPaymentProvider.php',
'PhortuneTestPaymentProvider' => 'applications/phortune/provider/PhortuneTestPaymentProvider.php',
@@ -5374,7 +5377,11 @@
'PhortuneAccountTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
'PhortuneAccountViewController' => 'PhortuneController',
'PhortuneBalancedPaymentProvider' => 'PhortunePaymentProvider',
- 'PhortuneCart' => 'PhortuneDAO',
+ 'PhortuneCart' => array(
+ 'PhortuneDAO',
+ 'PhabricatorPolicyInterface',
+ ),
+ 'PhortuneCartQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhortuneCharge' => 'PhortuneDAO',
'PhortuneController' => 'PhabricatorController',
'PhortuneCurrencyTestCase' => 'PhabricatorTestCase',
@@ -5402,12 +5409,17 @@
'PhortuneProductEditController' => 'PhabricatorController',
'PhortuneProductEditor' => 'PhabricatorApplicationTransactionEditor',
'PhortuneProductListController' => 'PhabricatorController',
+ 'PhortuneProductPurchaseController' => 'PhortuneController',
'PhortuneProductQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhortuneProductTransaction' => 'PhabricatorApplicationTransaction',
'PhortuneProductTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
'PhortuneProductViewController' => 'PhortuneController',
'PhortuneProviderController' => 'PhortuneController',
- 'PhortunePurchase' => 'PhortuneDAO',
+ 'PhortunePurchase' => array(
+ 'PhortuneDAO',
+ 'PhabricatorPolicyInterface',
+ ),
+ 'PhortunePurchaseQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhortuneStripePaymentProvider' => 'PhortunePaymentProvider',
'PhortuneTestExtraPaymentProvider' => 'PhortunePaymentProvider',
'PhortuneTestPaymentProvider' => 'PhortunePaymentProvider',
diff --git a/src/applications/phortune/application/PhabricatorPhortuneApplication.php b/src/applications/phortune/application/PhabricatorPhortuneApplication.php
--- a/src/applications/phortune/application/PhabricatorPhortuneApplication.php
+++ b/src/applications/phortune/application/PhabricatorPhortuneApplication.php
@@ -39,8 +39,9 @@
'paymentmethod/' => array(
'edit/' => 'PhortunePaymentMethodEditController',
),
- 'buy/(?P<id>\d+)/' => 'PhortuneAccountBuyController',
+ 'buy/(?P<productID>\d+)/' => 'PhortuneProductPurchaseController',
),
+ 'cart/(?P<id>\d+)/' => 'PhortuneAccountBuyController',
'account/' => array(
'' => 'PhortuneAccountListController',
'edit/(?:(?P<id>\d+)/)?' => 'PhortuneAccountEditController',
diff --git a/src/applications/phortune/controller/PhortuneAccountBuyController.php b/src/applications/phortune/controller/PhortuneAccountBuyController.php
--- a/src/applications/phortune/controller/PhortuneAccountBuyController.php
+++ b/src/applications/phortune/controller/PhortuneAccountBuyController.php
@@ -3,11 +3,9 @@
final class PhortuneAccountBuyController
extends PhortuneController {
- private $accountID;
private $id;
public function willProcessRequest(array $data) {
- $this->accountID = $data['accountID'];
$this->id = $data['id'];
}
@@ -15,47 +13,23 @@
$request = $this->getRequest();
$user = $request->getUser();
- $account = id(new PhortuneAccountQuery())
- ->setViewer($user)
- ->withIDs(array($this->accountID))
- ->executeOne();
- if (!$account) {
- return new Aphront404Response();
- }
-
- $account_uri = $this->getApplicationURI($account->getID().'/');
-
- $product = id(new PhortuneProductQuery())
+ $cart = id(new PhortuneCartQuery())
->setViewer($user)
->withIDs(array($this->id))
+ ->needPurchases(true)
->executeOne();
- if (!$product) {
+ if (!$cart) {
return new Aphront404Response();
}
- $purchase = new PhortunePurchase();
- $purchase->setProductPHID($product->getPHID());
- $purchase->setAccountPHID($account->getPHID());
- $purchase->setPurchaseName($product->getProductName());
- $purchase->setBasePriceInCents($product->getPriceInCents());
- $purchase->setQuantity(1);
- $purchase->setTotalPriceInCents(
- $purchase->getBasePriceInCents() * $purchase->getQuantity());
- $purchase->setStatus(PhortunePurchase::STATUS_PENDING);
-
- $cart = new PhortuneCart();
- $cart->setAccountPHID($account->getPHID());
- $cart->setOwnerPHID($user->getPHID());
- $cart->attachPurchases(
- array(
- $purchase,
- ));
+ $account = $cart->getAccount();
+ $account_uri = $this->getApplicationURI($account->getID().'/');
$rows = array();
$total = 0;
foreach ($cart->getPurchases() as $purchase) {
$rows[] = array(
- $purchase->getPurchaseName(),
+ pht('A Purchase'),
PhortuneCurrency::newFromUSDCents($purchase->getBasePriceInCents())
->formatForDisplay(),
$purchase->getQuantity(),
diff --git a/src/applications/phortune/controller/PhortunePaymentMethodEditController.php b/src/applications/phortune/controller/PhortunePaymentMethodEditController.php
--- a/src/applications/phortune/controller/PhortunePaymentMethodEditController.php
+++ b/src/applications/phortune/controller/PhortunePaymentMethodEditController.php
@@ -211,7 +211,8 @@
'as a payment method.');
break;
default:
- $message = $provider->getCreatePaymentErrorMessage($client_error);
+ $message = $provider->getCreatePaymentMethodErrorMessage(
+ $client_error);
if (!$message) {
$message = pht(
"There was an unexpected error ('%s') processing payment ".
diff --git a/src/applications/phortune/controller/PhortuneProductEditController.php b/src/applications/phortune/controller/PhortuneProductEditController.php
--- a/src/applications/phortune/controller/PhortuneProductEditController.php
+++ b/src/applications/phortune/controller/PhortuneProductEditController.php
@@ -142,15 +142,14 @@
$is_create ? pht('Create') : pht('Edit'),
$request->getRequestURI());
- $header = id(new PHUIHeaderView())
- ->setHeader(pht('Edit Product'));
+ $box = id(new PHUIObjectBoxView())
+ ->setHeaderText(pht('Edit Product'))
+ ->appendChild($form);
return $this->buildApplicationPage(
array(
$crumbs,
- $header,
- $errors,
- $form,
+ $box,
),
array(
'title' => $title,
diff --git a/src/applications/phortune/controller/PhortuneProductPurchaseController.php b/src/applications/phortune/controller/PhortuneProductPurchaseController.php
new file mode 100644
--- /dev/null
+++ b/src/applications/phortune/controller/PhortuneProductPurchaseController.php
@@ -0,0 +1,70 @@
+<?php
+
+final class PhortuneProductPurchaseController
+ extends PhortuneController {
+
+ private $accountID;
+ private $productID;
+
+ public function willProcessRequest(array $data) {
+ $this->accountID = $data['accountID'];
+ $this->productID = $data['productID'];
+ }
+
+ public function processRequest() {
+ $request = $this->getRequest();
+ $user = $request->getUser();
+
+ $account = id(new PhortuneAccountQuery())
+ ->setViewer($user)
+ ->withIDs(array($this->accountID))
+ ->executeOne();
+ if (!$account) {
+ return new Aphront404Response();
+ }
+
+ $account_uri = $this->getApplicationURI($account->getID().'/');
+
+ $product = id(new PhortuneProductQuery())
+ ->setViewer($user)
+ ->withIDs(array($this->productID))
+ ->executeOne();
+ if (!$product) {
+ return new Aphront404Response();
+ }
+
+ if ($request->isFormPost()) {
+ // TODO: Use ApplicationTransations.
+
+ $cart = new PhortuneCart();
+ $cart->openTransaction();
+
+ $cart->setAccountPHID($account->getPHID());
+ $cart->setAuthorPHID($user->getPHID());
+ $cart->save();
+
+ $purchase = new PhortunePurchase();
+ $purchase->setProductPHID($product->getPHID());
+ $purchase->setAccountPHID($account->getPHID());
+ $purchase->setAuthorPHID($user->getPHID());
+ $purchase->setCartPHID($cart->getPHID());
+ $purchase->setBasePriceInCents($product->getPriceInCents());
+ $purchase->setQuantity(1);
+ $purchase->setTotalPriceInCents(
+ $purchase->getBasePriceInCents() * $purchase->getQuantity());
+ $purchase->setStatus(PhortunePurchase::STATUS_PENDING);
+ $purchase->save();
+
+ $cart->saveTransaction();
+
+ $cart_uri = $this->getApplicationURI('/cart/'.$cart->getID().'/');
+ return id(new AphrontRedirectResponse())->setURI($cart_uri);
+ }
+
+ return $this->newDialog()
+ ->setTitle(pht('Purchase Product'))
+ ->appendParagraph(pht('Really purchase this stuff?'))
+ ->addSubmitButton(pht('Checkout'))
+ ->addCancelButton($account_uri);
+ }
+}
diff --git a/src/applications/phortune/controller/PhortuneProductViewController.php b/src/applications/phortune/controller/PhortuneProductViewController.php
--- a/src/applications/phortune/controller/PhortuneProductViewController.php
+++ b/src/applications/phortune/controller/PhortuneProductViewController.php
@@ -46,7 +46,7 @@
->setName(pht('Purchase'))
->setHref($cart_uri)
->setIcon('fa-shopping-cart')
- ->setRenderAsForm(true));
+ ->setWorkflow(true));
$crumbs = $this->buildApplicationCrumbs();
$crumbs->setActionList($actions);
diff --git a/src/applications/phortune/currency/PhortuneCurrency.php b/src/applications/phortune/currency/PhortuneCurrency.php
--- a/src/applications/phortune/currency/PhortuneCurrency.php
+++ b/src/applications/phortune/currency/PhortuneCurrency.php
@@ -54,7 +54,8 @@
public static function newFromUSDCents($cents) {
if (!is_int($cents)) {
- throw new Exception('USDCents value is not an integer!');
+ throw new Exception(
+ pht('USDCents value "%s" is not an integer!', $cents));
}
$obj = new PhortuneCurrency();
diff --git a/src/applications/phortune/provider/PhortuneStripePaymentProvider.php b/src/applications/phortune/provider/PhortuneStripePaymentProvider.php
--- a/src/applications/phortune/provider/PhortuneStripePaymentProvider.php
+++ b/src/applications/phortune/provider/PhortuneStripePaymentProvider.php
@@ -110,8 +110,9 @@
$customer = Stripe_Customer::create($params, $secret_key);
$card = $info->card;
+
$method
- ->setBrand($card->type)
+ ->setBrand($card->brand)
->setLastFourDigits($card->last4)
->setExpires($card->exp_year, $card->exp_month)
->setMetadata(
diff --git a/src/applications/phortune/query/PhortuneCartQuery.php b/src/applications/phortune/query/PhortuneCartQuery.php
new file mode 100644
--- /dev/null
+++ b/src/applications/phortune/query/PhortuneCartQuery.php
@@ -0,0 +1,102 @@
+<?php
+
+final class PhortuneCartQuery
+ extends PhabricatorCursorPagedPolicyAwareQuery {
+
+ private $ids;
+ private $phids;
+
+ private $needPurchases;
+
+ public function withIDs(array $ids) {
+ $this->ids = $ids;
+ return $this;
+ }
+
+ public function withPHIDs(array $phids) {
+ $this->phids = $phids;
+ return $this;
+ }
+
+ public function needPurchases($need_purchases) {
+ $this->needPurchases = $need_purchases;
+ return $this;
+ }
+
+ protected function loadPage() {
+ $table = new PhortuneCart();
+ $conn = $table->establishConnection('r');
+
+ $rows = queryfx_all(
+ $conn,
+ 'SELECT cart.* FROM %T cart %Q %Q %Q',
+ $table->getTableName(),
+ $this->buildWhereClause($conn),
+ $this->buildOrderClause($conn),
+ $this->buildLimitClause($conn));
+
+ return $table->loadAllFromArray($rows);
+ }
+
+ protected function willFilterPage(array $carts) {
+ $accounts = id(new PhortuneAccountQuery())
+ ->setViewer($this->getViewer())
+ ->withPHIDs(mpull($carts, 'getAccountPHID'))
+ ->execute();
+ $accounts = mpull($accounts, null, 'getPHID');
+
+ foreach ($carts as $key => $cart) {
+ $account = idx($accounts, $cart->getAccountPHID());
+ if (!$account) {
+ unset($carts[$key]);
+ }
+ $cart->attachAccount($account);
+ }
+
+ return $carts;
+ }
+
+ protected function didFilterPage(array $carts) {
+ if ($this->needPurchases) {
+ $purchases = id(new PhortunePurchaseQuery())
+ ->setViewer($this->getViewer())
+ ->setParentQuery($this)
+ ->withCartPHIDs(mpull($carts, 'getPHID'))
+ ->execute();
+
+ $purchases = mgroup($purchases, 'getCartPHID');
+ foreach ($carts as $cart) {
+ $cart->attachPurchases(idx($purchases, $cart->getPHID(), array()));
+ }
+ }
+
+ return $carts;
+ }
+
+ private function buildWhereClause(AphrontDatabaseConnection $conn) {
+ $where = array();
+
+ $where[] = $this->buildPagingClause($conn);
+
+ if ($this->ids !== null) {
+ $where[] = qsprintf(
+ $conn,
+ 'cart.id IN (%Ld)',
+ $this->ids);
+ }
+
+ if ($this->phids !== null) {
+ $where[] = qsprintf(
+ $conn,
+ 'cart.phid IN (%Ls)',
+ $this->phids);
+ }
+
+ return $this->formatWhereClause($where);
+ }
+
+ public function getQueryApplicationClass() {
+ return 'PhabricatorApplicationPhortune';
+ }
+
+}
diff --git a/src/applications/phortune/query/PhortunePurchaseQuery.php b/src/applications/phortune/query/PhortunePurchaseQuery.php
new file mode 100644
--- /dev/null
+++ b/src/applications/phortune/query/PhortunePurchaseQuery.php
@@ -0,0 +1,91 @@
+<?php
+
+final class PhortunePurchaseQuery
+ extends PhabricatorCursorPagedPolicyAwareQuery {
+
+ private $ids;
+ private $phids;
+ private $cartPHIDs;
+
+ public function withIDs(array $ids) {
+ $this->ids = $ids;
+ return $this;
+ }
+
+ public function withPHIDs(array $phids) {
+ $this->phids = $phids;
+ return $this;
+ }
+
+ public function withCartPHIDs(array $cart_phids) {
+ $this->cartPHIDs = $cart_phids;
+ return $this;
+ }
+
+ protected function loadPage() {
+ $table = new PhortunePurchase();
+ $conn = $table->establishConnection('r');
+
+ $rows = queryfx_all(
+ $conn,
+ 'SELECT purchase.* FROM %T purchase %Q %Q %Q',
+ $table->getTableName(),
+ $this->buildWhereClause($conn),
+ $this->buildOrderClause($conn),
+ $this->buildLimitClause($conn));
+
+ return $table->loadAllFromArray($rows);
+ }
+
+ protected function willFilterPage(array $purchases) {
+ $carts = id(new PhabricatorObjectQuery())
+ ->setViewer($this->getViewer())
+ ->setParentQuery($this)
+ ->withPHIDs(mpull($purchases, 'getCartPHID'))
+ ->execute();
+
+ foreach ($purchases as $key => $purchase) {
+ $cart = idx($carts, $purchase->getCartPHID());
+ if (!$cart) {
+ unset($purchases[$key]);
+ }
+ $purchase->attachCart($cart);
+ }
+
+ return $purchases;
+ }
+
+ private function buildWhereClause(AphrontDatabaseConnection $conn) {
+ $where = array();
+
+ $where[] = $this->buildPagingClause($conn);
+
+ if ($this->ids !== null) {
+ $where[] = qsprintf(
+ $conn,
+ 'purchase.id IN (%Ld)',
+ $this->ids);
+ }
+
+ if ($this->phids !== null) {
+ $where[] = qsprintf(
+ $conn,
+ 'purchase.phid IN (%Ls)',
+ $this->phids);
+ }
+
+ if ($this->cartPHIDs !== null) {
+ $where[] = qsprintf(
+ $conn,
+ 'purchase.cartPHID IN (%Ls)',
+ $this->cartPHIDs);
+ }
+
+ return $this->formatWhereClause($where);
+ }
+
+ public function getQueryApplicationClass() {
+ return 'PhabricatorApplicationPhortune';
+ }
+
+}
diff --git a/src/applications/phortune/storage/PhortuneCart.php b/src/applications/phortune/storage/PhortuneCart.php
--- a/src/applications/phortune/storage/PhortuneCart.php
+++ b/src/applications/phortune/storage/PhortuneCart.php
@@ -1,11 +1,13 @@
<?php
-final class PhortuneCart extends PhortuneDAO {
+final class PhortuneCart extends PhortuneDAO
+ implements PhabricatorPolicyInterface {
protected $accountPHID;
- protected $ownerPHID;
+ protected $authorPHID;
protected $metadata;
+ private $account = self::ATTACHABLE;
private $purchases = self::ATTACHABLE;
public function getConfiguration() {
@@ -22,18 +24,50 @@
PhabricatorPHIDConstants::PHID_TYPE_CART);
}
+ public function getTotalInCents() {
+ return 123;
+ }
+
public function attachPurchases(array $purchases) {
assert_instances_of($purchases, 'PhortunePurchase');
$this->purchases = $purchases;
return $this;
}
- public function getTotalInCents() {
- return 123;
- }
-
public function getPurchases() {
return $this->assertAttached($this->purchases);
}
+ public function attachAccount(PhortuneAccount $account) {
+ $this->account = $account;
+ return $this;
+ }
+
+ public function getAccount() {
+ return $this->assertAttached($this->account);
+ }
+
+
+/* -( PhabricatorPolicyInterface )----------------------------------------- */
+
+
+ public function getCapabilities() {
+ return array(
+ PhabricatorPolicyCapability::CAN_VIEW,
+ PhabricatorPolicyCapability::CAN_EDIT,
+ );
+ }
+
+ public function getPolicy($capability) {
+ return $this->getAccount()->getPolicy($capability);
+ }
+
+ public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {
+ return $this->getAccount()->hasAutomaticCapability($capability, $viewer);
+ }
+
+ public function describeAutomaticCapability($capability) {
+ return pht('Carts inherit the policies of the associated account.');
+ }
+
}
diff --git a/src/applications/phortune/storage/PhortunePurchase.php b/src/applications/phortune/storage/PhortunePurchase.php
--- a/src/applications/phortune/storage/PhortunePurchase.php
+++ b/src/applications/phortune/storage/PhortunePurchase.php
@@ -3,7 +3,8 @@
/**
* A purchase represents a user buying something or a subscription to a plan.
*/
-final class PhortunePurchase extends PhortuneDAO {
+final class PhortunePurchase extends PhortuneDAO
+ implements PhabricatorPolicyInterface {
const STATUS_PENDING = 'purchase:pending';
const STATUS_PROCESSING = 'purchase:processing';
@@ -15,17 +16,15 @@
protected $productPHID;
protected $accountPHID;
protected $authorPHID;
- protected $purchaseName;
- protected $purchaseURI;
- protected $paymentMethodPHID;
+ protected $cartPHID;
protected $basePriceInCents;
- protected $priceAdjustmentInCents;
- protected $finalPriceInCents;
protected $quantity;
protected $totalPriceInCents;
protected $status;
protected $metadata;
+ private $cart = self::ATTACHABLE;
+
public function getConfiguration() {
return array(
self::CONFIG_AUX_PHID => true,
@@ -40,4 +39,42 @@
PhabricatorPHIDConstants::PHID_TYPE_PRCH);
}
+ public function attachCart(PhortuneCart $cart) {
+ $this->cart = $cart;
+ return $this;
+ }
+
+ public function getCart() {
+ return $this->assertAttached($this->cart);
+ }
+
+ protected function didReadData() {
+ // The payment processing code is strict about types.
+ $this->basePriceInCents = (int)$this->basePriceInCents;
+ $this->totalPriceInCents = (int)$this->totalPriceInCents;
+ }
+
+
+/* -( PhabricatorPolicyInterface )----------------------------------------- */
+
+
+ public function getCapabilities() {
+ return array(
+ PhabricatorPolicyCapability::CAN_VIEW,
+ PhabricatorPolicyCapability::CAN_EDIT,
+ );
+ }
+
+ public function getPolicy($capability) {
+ return $this->getCart()->getPolicy($capability);
+ }
+
+ public function hasAutomaticCapability($capability, PhabricatorUser $viewer) {
+ return $this->getCart()->hasAutomaticCapability($capability, $viewer);
+ }
+
+ public function describeAutomaticCapability($capability) {
+ return pht('Purchases have the policies of their cart.');
+ }
+
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Oct 15 2024, 12:52 AM (4 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6710694
Default Alt Text
D10001.id24106.diff (86 KB)
Attached To
Mode
D10001: Phortune Carts and Purchases
Attached
Detach File
Event Timeline
Log In to Comment