@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

render_tag -> tag: phabricator_render_form -> phabricator_form

Summary: Convert most phabricator_render_form callsites. In the case of the "headsup view", it converts it by deleting the element entirely (this is the very old Maniphest/Differential header which we no longer use).

Test Plan: Poked around a bit.

Reviewers: vrana

Reviewed By: vrana

CC: aran

Maniphest Tasks: T2432

Differential Revision: https://secure.phabricator.com/D4726

+98 -430
-2
scripts/celerity_mapper.php
··· 81 81 'aphront-pager-view-css', 82 82 'phabricator-transaction-view-css', 83 83 'aphront-tooltip-css', 84 - 'aphront-headsup-view-css', 85 84 'phabricator-flag-css', 86 85 'aphront-error-view-css', 87 86 ··· 115 114 'differential-revision-add-comment-css', 116 115 'differential-revision-comment-list-css', 117 116 'phabricator-object-selector-css', 118 - 'aphront-headsup-action-list-view-css', 119 117 'phabricator-content-source-view-css', 120 118 'differential-local-commits-view-css', 121 119 'inline-comment-summary-css',
+80 -102
src/__celerity_resource_map__.php
··· 653 653 ), 654 654 'disk' => '/rsrc/css/aphront/form-view.css', 655 655 ), 656 - 'aphront-headsup-action-list-view-css' => 657 - array( 658 - 'uri' => '/res/1dce0ad7/rsrc/css/aphront/headsup-action-list-view.css', 659 - 'type' => 'css', 660 - 'requires' => 661 - array( 662 - ), 663 - 'disk' => '/rsrc/css/aphront/headsup-action-list-view.css', 664 - ), 665 - 'aphront-headsup-view-css' => 666 - array( 667 - 'uri' => '/res/73874cd2/rsrc/css/aphront/headsup.css', 668 - 'type' => 'css', 669 - 'requires' => 670 - array( 671 - ), 672 - 'disk' => '/rsrc/css/aphront/headsup.css', 673 - ), 674 656 'aphront-list-filter-view-css' => 675 657 array( 676 658 'uri' => '/res/e783d6e1/rsrc/css/aphront/list-filter-view.css', ··· 1166 1148 ), 1167 1149 'javelin-behavior-dark-console' => 1168 1150 array( 1169 - 'uri' => '/res/c3e8a3d8/rsrc/js/application/core/behavior-dark-console.js', 1151 + 'uri' => '/res/52444d4e/rsrc/js/application/core/behavior-dark-console.js', 1170 1152 'type' => 'js', 1171 1153 'requires' => 1172 1154 array( ··· 3375 3357 ), array( 3376 3358 'packages' => 3377 3359 array( 3378 - '0cb71c48' => 3360 + '0e6165d0' => 3379 3361 array( 3380 3362 'name' => 'core.pkg.css', 3381 3363 'symbols' => ··· 3399 3381 16 => 'aphront-pager-view-css', 3400 3382 17 => 'phabricator-transaction-view-css', 3401 3383 18 => 'aphront-tooltip-css', 3402 - 19 => 'aphront-headsup-view-css', 3403 - 20 => 'phabricator-flag-css', 3404 - 21 => 'aphront-error-view-css', 3405 - 22 => 'sprite-icon-css', 3406 - 23 => 'sprite-gradient-css', 3407 - 24 => 'sprite-menu-css', 3408 - 25 => 'sprite-apps-large-css', 3409 - 26 => 'phabricator-main-menu-view', 3410 - 27 => 'phabricator-notification-css', 3411 - 28 => 'phabricator-notification-menu-css', 3412 - 29 => 'lightbox-attachment-css', 3413 - 30 => 'phabricator-header-view-css', 3414 - 31 => 'phabricator-form-view-css', 3415 - 32 => 'phabricator-filetree-view-css', 3416 - 33 => 'phabricator-nav-view-css', 3417 - 34 => 'phabricator-side-menu-view-css', 3418 - 35 => 'phabricator-crumbs-view-css', 3419 - 36 => 'phabricator-object-item-list-view-css', 3420 - 37 => 'global-drag-and-drop-css', 3384 + 19 => 'phabricator-flag-css', 3385 + 20 => 'aphront-error-view-css', 3386 + 21 => 'sprite-icon-css', 3387 + 22 => 'sprite-gradient-css', 3388 + 23 => 'sprite-menu-css', 3389 + 24 => 'sprite-apps-large-css', 3390 + 25 => 'phabricator-main-menu-view', 3391 + 26 => 'phabricator-notification-css', 3392 + 27 => 'phabricator-notification-menu-css', 3393 + 28 => 'lightbox-attachment-css', 3394 + 29 => 'phabricator-header-view-css', 3395 + 30 => 'phabricator-form-view-css', 3396 + 31 => 'phabricator-filetree-view-css', 3397 + 32 => 'phabricator-nav-view-css', 3398 + 33 => 'phabricator-side-menu-view-css', 3399 + 34 => 'phabricator-crumbs-view-css', 3400 + 35 => 'phabricator-object-item-list-view-css', 3401 + 36 => 'global-drag-and-drop-css', 3421 3402 ), 3422 - 'uri' => '/res/pkg/0cb71c48/core.pkg.css', 3403 + 'uri' => '/res/pkg/0e6165d0/core.pkg.css', 3423 3404 'type' => 'css', 3424 3405 ), 3425 3406 'ff199687' => ··· 3464 3445 'uri' => '/res/pkg/ff199687/core.pkg.js', 3465 3446 'type' => 'js', 3466 3447 ), 3467 - '032118cf' => 3448 + '74593df4' => 3468 3449 array( 3469 3450 'name' => 'darkconsole.pkg.js', 3470 3451 'symbols' => ··· 3472 3453 0 => 'javelin-behavior-dark-console', 3473 3454 1 => 'javelin-behavior-error-log', 3474 3455 ), 3475 - 'uri' => '/res/pkg/032118cf/darkconsole.pkg.js', 3456 + 'uri' => '/res/pkg/74593df4/darkconsole.pkg.js', 3476 3457 'type' => 'js', 3477 3458 ), 3478 - 'ec01d039' => 3459 + '8aaacd1b' => 3479 3460 array( 3480 3461 'name' => 'differential.pkg.css', 3481 3462 'symbols' => ··· 3490 3471 7 => 'differential-revision-add-comment-css', 3491 3472 8 => 'differential-revision-comment-list-css', 3492 3473 9 => 'phabricator-object-selector-css', 3493 - 10 => 'aphront-headsup-action-list-view-css', 3494 - 11 => 'phabricator-content-source-view-css', 3495 - 12 => 'differential-local-commits-view-css', 3496 - 13 => 'inline-comment-summary-css', 3474 + 10 => 'phabricator-content-source-view-css', 3475 + 11 => 'differential-local-commits-view-css', 3476 + 12 => 'inline-comment-summary-css', 3497 3477 ), 3498 - 'uri' => '/res/pkg/ec01d039/differential.pkg.css', 3478 + 'uri' => '/res/pkg/8aaacd1b/differential.pkg.css', 3499 3479 'type' => 'css', 3500 3480 ), 3501 3481 '9dae5f20' => ··· 3608 3588 'reverse' => 3609 3589 array( 3610 3590 'aphront-attached-file-view-css' => 'e30a3fa8', 3611 - 'aphront-crumbs-view-css' => '0cb71c48', 3612 - 'aphront-dialog-view-css' => '0cb71c48', 3613 - 'aphront-error-view-css' => '0cb71c48', 3614 - 'aphront-form-view-css' => '0cb71c48', 3615 - 'aphront-headsup-action-list-view-css' => 'ec01d039', 3616 - 'aphront-headsup-view-css' => '0cb71c48', 3617 - 'aphront-list-filter-view-css' => '0cb71c48', 3618 - 'aphront-pager-view-css' => '0cb71c48', 3619 - 'aphront-panel-view-css' => '0cb71c48', 3620 - 'aphront-table-view-css' => '0cb71c48', 3621 - 'aphront-tokenizer-control-css' => '0cb71c48', 3622 - 'aphront-tooltip-css' => '0cb71c48', 3623 - 'aphront-typeahead-control-css' => '0cb71c48', 3624 - 'differential-changeset-view-css' => 'ec01d039', 3625 - 'differential-core-view-css' => 'ec01d039', 3591 + 'aphront-crumbs-view-css' => '0e6165d0', 3592 + 'aphront-dialog-view-css' => '0e6165d0', 3593 + 'aphront-error-view-css' => '0e6165d0', 3594 + 'aphront-form-view-css' => '0e6165d0', 3595 + 'aphront-list-filter-view-css' => '0e6165d0', 3596 + 'aphront-pager-view-css' => '0e6165d0', 3597 + 'aphront-panel-view-css' => '0e6165d0', 3598 + 'aphront-table-view-css' => '0e6165d0', 3599 + 'aphront-tokenizer-control-css' => '0e6165d0', 3600 + 'aphront-tooltip-css' => '0e6165d0', 3601 + 'aphront-typeahead-control-css' => '0e6165d0', 3602 + 'differential-changeset-view-css' => '8aaacd1b', 3603 + 'differential-core-view-css' => '8aaacd1b', 3626 3604 'differential-inline-comment-editor' => '9dae5f20', 3627 - 'differential-local-commits-view-css' => 'ec01d039', 3628 - 'differential-results-table-css' => 'ec01d039', 3629 - 'differential-revision-add-comment-css' => 'ec01d039', 3630 - 'differential-revision-comment-css' => 'ec01d039', 3631 - 'differential-revision-comment-list-css' => 'ec01d039', 3632 - 'differential-revision-history-css' => 'ec01d039', 3633 - 'differential-revision-list-css' => 'ec01d039', 3634 - 'differential-table-of-contents-css' => 'ec01d039', 3605 + 'differential-local-commits-view-css' => '8aaacd1b', 3606 + 'differential-results-table-css' => '8aaacd1b', 3607 + 'differential-revision-add-comment-css' => '8aaacd1b', 3608 + 'differential-revision-comment-css' => '8aaacd1b', 3609 + 'differential-revision-comment-list-css' => '8aaacd1b', 3610 + 'differential-revision-history-css' => '8aaacd1b', 3611 + 'differential-revision-list-css' => '8aaacd1b', 3612 + 'differential-table-of-contents-css' => '8aaacd1b', 3635 3613 'diffusion-commit-view-css' => 'c8ce2d88', 3636 3614 'diffusion-icons-css' => 'c8ce2d88', 3637 - 'global-drag-and-drop-css' => '0cb71c48', 3638 - 'inline-comment-summary-css' => 'ec01d039', 3615 + 'global-drag-and-drop-css' => '0e6165d0', 3616 + 'inline-comment-summary-css' => '8aaacd1b', 3639 3617 'javelin-aphlict' => 'ff199687', 3640 3618 'javelin-behavior' => '1c6f020b', 3641 3619 'javelin-behavior-aphlict-dropdown' => 'ff199687', ··· 3645 3623 'javelin-behavior-aphront-drag-and-drop-textarea' => '9dae5f20', 3646 3624 'javelin-behavior-aphront-form-disable-on-submit' => 'ff199687', 3647 3625 'javelin-behavior-audit-preview' => 'f96657b8', 3648 - 'javelin-behavior-dark-console' => '032118cf', 3626 + 'javelin-behavior-dark-console' => '74593df4', 3649 3627 'javelin-behavior-device' => 'ff199687', 3650 3628 'javelin-behavior-differential-accept-with-errors' => '9dae5f20', 3651 3629 'javelin-behavior-differential-add-reviewers-and-ccs' => '9dae5f20', ··· 3661 3639 'javelin-behavior-differential-user-select' => '9dae5f20', 3662 3640 'javelin-behavior-diffusion-commit-graph' => 'f96657b8', 3663 3641 'javelin-behavior-diffusion-pull-lastmodified' => 'f96657b8', 3664 - 'javelin-behavior-error-log' => '032118cf', 3642 + 'javelin-behavior-error-log' => '74593df4', 3665 3643 'javelin-behavior-global-drag-and-drop' => 'ff199687', 3666 3644 'javelin-behavior-konami' => 'ff199687', 3667 3645 'javelin-behavior-lightbox-attachments' => 'ff199687', ··· 3703 3681 'javelin-util' => '1c6f020b', 3704 3682 'javelin-vector' => '1c6f020b', 3705 3683 'javelin-workflow' => '1c6f020b', 3706 - 'lightbox-attachment-css' => '0cb71c48', 3684 + 'lightbox-attachment-css' => '0e6165d0', 3707 3685 'maniphest-task-summary-css' => 'e30a3fa8', 3708 3686 'maniphest-transaction-detail-css' => 'e30a3fa8', 3709 3687 'phabricator-busy' => 'ff199687', 3710 - 'phabricator-content-source-view-css' => 'ec01d039', 3711 - 'phabricator-core-buttons-css' => '0cb71c48', 3712 - 'phabricator-core-css' => '0cb71c48', 3713 - 'phabricator-crumbs-view-css' => '0cb71c48', 3714 - 'phabricator-directory-css' => '0cb71c48', 3688 + 'phabricator-content-source-view-css' => '8aaacd1b', 3689 + 'phabricator-core-buttons-css' => '0e6165d0', 3690 + 'phabricator-core-css' => '0e6165d0', 3691 + 'phabricator-crumbs-view-css' => '0e6165d0', 3692 + 'phabricator-directory-css' => '0e6165d0', 3715 3693 'phabricator-drag-and-drop-file-upload' => '9dae5f20', 3716 3694 'phabricator-dropdown-menu' => 'ff199687', 3717 3695 'phabricator-file-upload' => 'ff199687', 3718 - 'phabricator-filetree-view-css' => '0cb71c48', 3719 - 'phabricator-flag-css' => '0cb71c48', 3720 - 'phabricator-form-view-css' => '0cb71c48', 3721 - 'phabricator-header-view-css' => '0cb71c48', 3722 - 'phabricator-jump-nav' => '0cb71c48', 3696 + 'phabricator-filetree-view-css' => '0e6165d0', 3697 + 'phabricator-flag-css' => '0e6165d0', 3698 + 'phabricator-form-view-css' => '0e6165d0', 3699 + 'phabricator-header-view-css' => '0e6165d0', 3700 + 'phabricator-jump-nav' => '0e6165d0', 3723 3701 'phabricator-keyboard-shortcut' => 'ff199687', 3724 3702 'phabricator-keyboard-shortcut-manager' => 'ff199687', 3725 - 'phabricator-main-menu-view' => '0cb71c48', 3703 + 'phabricator-main-menu-view' => '0e6165d0', 3726 3704 'phabricator-menu-item' => 'ff199687', 3727 - 'phabricator-nav-view-css' => '0cb71c48', 3705 + 'phabricator-nav-view-css' => '0e6165d0', 3728 3706 'phabricator-notification' => 'ff199687', 3729 - 'phabricator-notification-css' => '0cb71c48', 3730 - 'phabricator-notification-menu-css' => '0cb71c48', 3731 - 'phabricator-object-item-list-view-css' => '0cb71c48', 3732 - 'phabricator-object-selector-css' => 'ec01d039', 3707 + 'phabricator-notification-css' => '0e6165d0', 3708 + 'phabricator-notification-menu-css' => '0e6165d0', 3709 + 'phabricator-object-item-list-view-css' => '0e6165d0', 3710 + 'phabricator-object-selector-css' => '8aaacd1b', 3733 3711 'phabricator-paste-file-upload' => 'ff199687', 3734 3712 'phabricator-prefab' => 'ff199687', 3735 3713 'phabricator-project-tag-css' => 'e30a3fa8', 3736 - 'phabricator-remarkup-css' => '0cb71c48', 3714 + 'phabricator-remarkup-css' => '0e6165d0', 3737 3715 'phabricator-shaped-request' => '9dae5f20', 3738 - 'phabricator-side-menu-view-css' => '0cb71c48', 3739 - 'phabricator-standard-page-view' => '0cb71c48', 3716 + 'phabricator-side-menu-view-css' => '0e6165d0', 3717 + 'phabricator-standard-page-view' => '0e6165d0', 3740 3718 'phabricator-textareautils' => 'ff199687', 3741 3719 'phabricator-tooltip' => 'ff199687', 3742 - 'phabricator-transaction-view-css' => '0cb71c48', 3743 - 'phabricator-zindex-css' => '0cb71c48', 3744 - 'sprite-apps-large-css' => '0cb71c48', 3745 - 'sprite-gradient-css' => '0cb71c48', 3746 - 'sprite-icon-css' => '0cb71c48', 3747 - 'sprite-menu-css' => '0cb71c48', 3748 - 'syntax-highlighting-css' => '0cb71c48', 3720 + 'phabricator-transaction-view-css' => '0e6165d0', 3721 + 'phabricator-zindex-css' => '0e6165d0', 3722 + 'sprite-apps-large-css' => '0e6165d0', 3723 + 'sprite-gradient-css' => '0e6165d0', 3724 + 'sprite-icon-css' => '0e6165d0', 3725 + 'sprite-menu-css' => '0e6165d0', 3726 + 'syntax-highlighting-css' => '0e6165d0', 3749 3727 ), 3750 3728 ));
-6
src/__phutil_library_map__.php
··· 55 55 'AphrontHTMLResponse' => 'aphront/response/AphrontHTMLResponse.php', 56 56 'AphrontHTTPSink' => 'aphront/sink/AphrontHTTPSink.php', 57 57 'AphrontHTTPSinkTestCase' => 'aphront/sink/__tests__/AphrontHTTPSinkTestCase.php', 58 - 'AphrontHeadsupActionListView' => 'view/layout/headsup/AphrontHeadsupActionListView.php', 59 - 'AphrontHeadsupActionView' => 'view/layout/headsup/AphrontHeadsupActionView.php', 60 - 'AphrontHeadsupView' => 'view/layout/headsup/AphrontHeadsupView.php', 61 58 'AphrontIsolatedDatabaseConnectionTestCase' => 'infrastructure/storage/__tests__/AphrontIsolatedDatabaseConnectionTestCase.php', 62 59 'AphrontIsolatedHTTPSink' => 'aphront/sink/AphrontIsolatedHTTPSink.php', 63 60 'AphrontJSONResponse' => 'aphront/response/AphrontJSONResponse.php', ··· 1544 1541 'AphrontFormView' => 'AphrontView', 1545 1542 'AphrontHTMLResponse' => 'AphrontResponse', 1546 1543 'AphrontHTTPSinkTestCase' => 'PhabricatorTestCase', 1547 - 'AphrontHeadsupActionListView' => 'AphrontView', 1548 - 'AphrontHeadsupActionView' => 'AphrontView', 1549 - 'AphrontHeadsupView' => 'AphrontView', 1550 1544 'AphrontIsolatedDatabaseConnectionTestCase' => 'PhabricatorTestCase', 1551 1545 'AphrontIsolatedHTTPSink' => 'AphrontHTTPSink', 1552 1546 'AphrontJSONResponse' => 'AphrontResponse',
+1 -1
src/applications/auth/controller/PhabricatorMustVerifyEmailController.php
··· 51 51 '</p>'); 52 52 $error_view->appendChild( 53 53 '<div class="aphront-failure-continue">'. 54 - phabricator_render_form( 54 + phabricator_form( 55 55 $user, 56 56 array( 57 57 'action' => '/login/mustverify/',
+5 -4
src/applications/differential/controller/DifferentialDiffViewController.php
··· 113 113 } 114 114 } 115 115 116 - $action_panel = new AphrontHeadsupView(); 117 - $action_panel->setProperties($dict); 118 - $action_panel->setHeader(pht('Diff Properties')); 116 + $property_view = new PhabricatorPropertyListView(); 117 + foreach ($dict as $key => $value) { 118 + $property_view->addProperty($key, $value); 119 + } 119 120 120 121 $changesets = $diff->loadChangesets(); 121 122 $changesets = msort($changesets, 'getSortKey'); ··· 144 145 ->appendChild( 145 146 array( 146 147 $top_panel->render(), 147 - $action_panel->render(), 148 + $property_view, 148 149 $table_of_contents->render(), 149 150 $details->render(), 150 151 )),
+5 -3
src/applications/directory/controller/PhabricatorDirectoryMainController.php
··· 322 322 $panel = new AphrontPanelView(); 323 323 $panel->setHeader('Jump Nav'); 324 324 $panel->appendChild( 325 - phabricator_render_form( 325 + phabricator_form( 326 326 $user, 327 327 array( 328 328 'action' => '/jump/', 329 329 'method' => 'POST', 330 330 'class' => 'phabricator-jump-nav-form', 331 331 ), 332 - $jump_input. 333 - $jump_caption)); 332 + array( 333 + $jump_input, 334 + $jump_caption, 335 + ))); 334 336 335 337 return $panel; 336 338 }
+2 -2
src/applications/flag/view/PhabricatorFlagListView.php
··· 29 29 $flag->getHandle()->renderLink(), 30 30 phutil_escape_html($flag->getNote()), 31 31 phabricator_datetime($flag->getDateCreated(), $user), 32 - phabricator_render_form( 32 + phabricator_form( 33 33 $user, 34 34 array( 35 35 'method' => 'POST', ··· 42 42 'class' => 'small grey', 43 43 ), 44 44 'Edit Flag')), 45 - phabricator_render_form( 45 + phabricator_form( 46 46 $user, 47 47 array( 48 48 'method' => 'POST',
+2 -2
src/applications/project/controller/PhabricatorProjectMembersEditController.php
··· 151 151 152 152 $list->addButton( 153 153 $handle, 154 - phabricator_render_form( 154 + phabricator_form( 155 155 $user, 156 156 array( 157 157 'method' => 'POST', 158 158 'action' => $request->getRequestURI(), 159 159 ), 160 - $hidden_input.$button)); 160 + array($hidden_input, $button))); 161 161 } 162 162 163 163 return $list;
+1 -1
src/applications/project/controller/PhabricatorProjectProfileController.php
··· 85 85 $class = 'grey disabled'; 86 86 } 87 87 88 - $action = phabricator_render_form( 88 + $action = phabricator_form( 89 89 $user, 90 90 array( 91 91 'action' => '/project/update/'.$project->getID().'/join/',
+1 -1
src/view/layout/PhabricatorActionView.php
··· 91 91 $sigils[] = 'download'; 92 92 } 93 93 94 - $item = phabricator_render_form( 94 + $item = phabricator_form( 95 95 $this->user, 96 96 array( 97 97 'action' => $this->href,
-28
src/view/layout/headsup/AphrontHeadsupActionListView.php
··· 1 - <?php 2 - 3 - final class AphrontHeadsupActionListView extends AphrontView { 4 - 5 - private $actions; 6 - 7 - public function setActions(array $actions) { 8 - $this->actions = $actions; 9 - return $this; 10 - } 11 - 12 - public function render() { 13 - 14 - require_celerity_resource('aphront-headsup-action-list-view-css'); 15 - 16 - $actions = array(); 17 - foreach ($this->actions as $action_view) { 18 - $actions[] = $action_view->render(); 19 - } 20 - $actions = implode("\n", $actions); 21 - 22 - return 23 - '<div class="aphront-headsup-action-list">'. 24 - $actions. 25 - '</div>'; 26 - } 27 - 28 - }
-73
src/view/layout/headsup/AphrontHeadsupActionView.php
··· 1 - <?php 2 - 3 - final class AphrontHeadsupActionView extends AphrontView { 4 - 5 - private $name; 6 - private $class; 7 - private $uri; 8 - private $workflow; 9 - private $instant; 10 - 11 - public function setName($name) { 12 - $this->name = $name; 13 - return $this; 14 - } 15 - 16 - public function setClass($class) { 17 - $this->class = $class; 18 - return $this; 19 - } 20 - 21 - public function setURI($uri) { 22 - $this->uri = $uri; 23 - return $this; 24 - } 25 - 26 - public function setWorkflow($workflow) { 27 - $this->workflow = $workflow; 28 - return $this; 29 - } 30 - 31 - public function setInstant($instant) { 32 - $this->instant = $instant; 33 - return $this; 34 - } 35 - 36 - public function render() { 37 - if ($this->instant) { 38 - $button_class = $this->class.' link'; 39 - return phabricator_render_form( 40 - $this->user, 41 - array( 42 - 'action' => $this->uri, 43 - 'method' => 'post', 44 - 'style' => 'display: inline', 45 - ), 46 - '<button class="'.$button_class.'">'. 47 - phutil_escape_html($this->name). 48 - '</button>' 49 - ); 50 - } 51 - 52 - if ($this->uri) { 53 - $tag = 'a'; 54 - } else { 55 - $tag = 'span'; 56 - } 57 - 58 - $attrs = array( 59 - 'href' => $this->uri, 60 - 'class' => $this->class, 61 - ); 62 - 63 - if ($this->workflow) { 64 - $attrs['sigil'] = 'workflow'; 65 - } 66 - 67 - return javelin_tag( 68 - $tag, 69 - $attrs, 70 - $this->name); 71 - } 72 - 73 - }
-81
src/view/layout/headsup/AphrontHeadsupView.php
··· 1 - <?php 2 - 3 - final class AphrontHeadsupView extends AphrontView { 4 - 5 - private $actionList; 6 - private $header; 7 - private $properties; 8 - private $objectName; 9 - 10 - public function setActionList(AphrontHeadsupActionListView $action_list) { 11 - $this->actionList = $action_list; 12 - return $this; 13 - } 14 - 15 - public function setHeader($header) { 16 - $this->header = $header; 17 - return $this; 18 - } 19 - 20 - public function setProperties(array $dict) { 21 - $this->properties = $dict; 22 - return $this; 23 - } 24 - 25 - public function setObjectName($name) { 26 - $this->objectName = $name; 27 - return $this; 28 - } 29 - 30 - public function render() { 31 - $header = 32 - '<h1>'. 33 - phutil_tag( 34 - 'a', 35 - array( 36 - 'href' => '/'.$this->objectName, 37 - 'class' => 'aphront-headsup-object-name', 38 - ), 39 - $this->objectName). 40 - ' '. 41 - phutil_escape_html($this->header). 42 - '</h1>'; 43 - 44 - require_celerity_resource('aphront-headsup-view-css'); 45 - 46 - $prop_table = null; 47 - if ($this->properties) { 48 - $prop_table = array(); 49 - foreach ($this->properties as $key => $value) { 50 - $prop_table[] = 51 - '<tr>'. 52 - '<th>'.phutil_escape_html($key.':').'</th>'. 53 - '<td>'.$value.'</td>'. 54 - '</tr>'; 55 - } 56 - $prop_table = 57 - '<table class="aphront-headsup-property-table">'. 58 - implode("\n", $prop_table). 59 - '</table>'; 60 - } 61 - 62 - $children = $this->renderChildren(); 63 - if (strlen($children)) { 64 - $children = 65 - '<div class="aphront-headsup-details">'. 66 - $children. 67 - '</div>'; 68 - } 69 - 70 - return 71 - '<div class="aphront-headsup-panel">'. 72 - self::renderSingleView($this->actionList). 73 - '<div class="aphront-headsup-core">'. 74 - $header. 75 - $prop_table. 76 - $children. 77 - '</div>'. 78 - '</div>'; 79 - } 80 - 81 - }
+1 -1
src/view/page/PhabricatorStandardPageView.php
··· 119 119 PhabricatorEnv::getCDNURI( 120 120 '/rsrc/image/icon/fatcow/document_black.png' 121 121 ); 122 - $download_form = phabricator_render_form( 122 + $download_form = phabricator_form( 123 123 $user, 124 124 array( 125 125 'action' => '#',
-74
webroot/rsrc/css/aphront/headsup-action-list-view.css
··· 1 - /** 2 - * @provides aphront-headsup-action-list-view-css 3 - */ 4 - 5 - .aphront-headsup-action-list { 6 - float: right; 7 - width: 250px; 8 - background: #cfcfbf; 9 - border: 1px solid #666622; 10 - border-width: 0px 0px 1px 1px; 11 - margin: -15px 0px 1em 0; 12 - font-size: 11px; 13 - } 14 - 15 - .aphront-headsup-action-list a, 16 - .aphront-headsup-action-list span, 17 - .aphront-headsup-action-list button { 18 - background-position: 8px center; 19 - background-repeat: no-repeat; 20 - display: block; 21 - padding: 4px 4px 4px 32px; 22 - line-height: normal; 23 - } 24 - 25 - .aphront-headsup-action-list span.unavailable { 26 - color: #666666; 27 - font-style: italic; 28 - } 29 - 30 - .aphront-headsup-action-list .subscribe-rem { 31 - background-image: url(/rsrc/image/icon/unsubscribe.png); 32 - } 33 - 34 - .aphront-headsup-action-list .subscribe-add { 35 - background-image: url(/rsrc/image/icon/subscribe.png); 36 - } 37 - 38 - .aphront-headsup-action-list .action-edit, 39 - .aphront-headsup-action-list .revision-edit { 40 - background-image: url(/rsrc/image/icon/tango/edit.png); 41 - } 42 - 43 - .aphront-headsup-action-list .action-attach, 44 - .aphront-headsup-action-list .attach-maniphest { 45 - background-image: url(/rsrc/image/icon/tango/attachment.png); 46 - } 47 - 48 - .aphront-headsup-action-list .action-upload { 49 - background-image: url(/rsrc/image/icon/tango/upload.png); 50 - } 51 - 52 - .aphront-headsup-action-list .action-download { 53 - background-image: url(/rsrc/image/icon/tango/go-down.png); 54 - } 55 - 56 - .aphront-headsup-action-list .transcripts-metamta { 57 - background-image: url(/rsrc/image/icon/tango/log.png); 58 - } 59 - 60 - .aphront-headsup-action-list .transcripts-herald { 61 - background-image: url(/rsrc/image/icon/tango/log.png); 62 - } 63 - 64 - .aphront-headsup-action-list .action-merge { 65 - background-image: url(/rsrc/image/icon/fatcow/arrow_merge.png); 66 - } 67 - 68 - .aphront-headsup-action-list .action-branch { 69 - background-image: url(/rsrc/image/icon/fatcow/arrow_branch.png); 70 - } 71 - 72 - .aphront-headsup-action-list .action-dependencies { 73 - background-image: url(/rsrc/image/icon/fatcow/link.png); 74 - }
-49
webroot/rsrc/css/aphront/headsup.css
··· 1 - /** 2 - * @provides aphront-headsup-view-css 3 - */ 4 - 5 - .aphront-headsup-panel { 6 - border: 1px solid #666622; 7 - background: #efefdf; 8 - font-size: 13px; 9 - margin: .5em 2em .25em; 10 - padding: 15px 0 0; 11 - } 12 - 13 - .aphront-headsup-panel h1 { 14 - border-bottom: 1px solid #aaaa99; 15 - 16 - margin: 0 285px 8px 20px; 17 - padding-bottom: 8px; 18 - } 19 - 20 - .aphront-headsup-property-table { 21 - font-size: 12px; 22 - width: auto; 23 - margin: 0 285px 15px 20px; 24 - } 25 - 26 - .aphront-headsup-property-table th { 27 - font-weight: bold; 28 - width: 100px; 29 - text-align: right; 30 - padding: 3px; 31 - color: #333333; 32 - white-space: nowrap; 33 - } 34 - 35 - .aphront-headsup-property-table td { 36 - padding: 3px; 37 - } 38 - 39 - .aphront-headsup-details { 40 - clear: both; 41 - border-top: 1px solid #666622; 42 - background: #fbfbef; 43 - margin-top: 1em; 44 - padding: .75em 20px; 45 - } 46 - 47 - .aphront-headsup-object-name { 48 - margin-right: 0.25em; 49 - }