@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.

Add javelin_tag(), convert easy callsites

Summary:
- Implements `javelin_tag()`, which is `javelin_render_tag()` on top of `phutil_tag()` instead of `phutil_render_tag()`.
- Manually converts all or almost all of the trivial callsites.

Test Plan:
- Site does not seem any more broken than before.

Reviewers: vrana

Reviewed By: vrana

CC: aran

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

+188 -171
+2 -2
src/aphront/console/DarkConsoleCore.php
··· 97 97 $tabclass = null; 98 98 } 99 99 100 - $tabs_markup[] = javelin_render_tag( 100 + $tabs_markup[] = javelin_tag( 101 101 'a', 102 102 array( 103 103 'class' => "dark-console-tab {$tabclass}", ··· 173 173 ), 174 174 '<tr>'. 175 175 '<th class="dark-console-tabs">'. 176 - javelin_render_tag( 176 + phutil_tag( 177 177 'a', 178 178 array( 179 179 'class' => 'dark-console-tab dark-console-tab-selected',
+3 -3
src/applications/calendar/view/AphrontCalendarMonthView.php
··· 291 291 $href = null; 292 292 } 293 293 294 - $text_div = javelin_render_tag( 294 + $text_div = javelin_tag( 295 295 $tag, 296 296 array( 297 297 'sigil' => 'has-tooltip', ··· 302 302 'class' => 'aphront-calendar-event-text', 303 303 'href' => $href, 304 304 ), 305 - phutil_escape_html(phutil_utf8_shorten($event->getName(), 32))); 305 + phutil_utf8_shorten($event->getName(), 32)); 306 306 307 - return javelin_render_tag( 307 + return javelin_tag( 308 308 'div', 309 309 array( 310 310 'class' => implode(' ', $classes),
+24 -20
src/applications/conpherence/controller/ConpherenceViewController.php
··· 163 163 array( 164 164 'class' => 'widgets-header' 165 165 ), 166 - javelin_render_tag( 167 - 'a', 168 - array( 169 - 'sigil' => 'conpherence-change-widget', 170 - 'meta' => array('widget' => 'widgets-files') 166 + array( 167 + javelin_tag( 168 + 'a', 169 + array( 170 + 'sigil' => 'conpherence-change-widget', 171 + 'meta' => array('widget' => 'widgets-files') 172 + ), 173 + pht('Files') 171 174 ), 172 - pht('Files') 173 - ).' | '. 174 - javelin_render_tag( 175 - 'a', 176 - array( 177 - 'sigil' => 'conpherence-change-widget', 178 - 'meta' => array('widget' => 'widgets-tasks') 175 + ' | ', 176 + javelin_tag( 177 + 'a', 178 + array( 179 + 'sigil' => 'conpherence-change-widget', 180 + 'meta' => array('widget' => 'widgets-tasks') 181 + ), 182 + pht('Tasks') 179 183 ), 180 - pht('Tasks') 181 - ).' | '. 182 - javelin_render_tag( 183 - 'a', 184 - array( 185 - 'sigil' => 'conpherence-change-widget', 186 - 'meta' => array('widget' => 'widgets-calendar') 184 + ' | ', 185 + javelin_tag( 186 + 'a', 187 + array( 188 + 'sigil' => 'conpherence-change-widget', 189 + 'meta' => array('widget' => 'widgets-calendar') 190 + ), 191 + pht('Calendar') 187 192 ), 188 - pht('Calendar') 189 193 ) 190 194 ). 191 195 phutil_render_tag(
+1 -1
src/applications/countdown/controller/PhabricatorCountdownListController.php
··· 36 36 ), 37 37 'Edit'); 38 38 39 - $delete_button = javelin_render_tag( 39 + $delete_button = javelin_tag( 40 40 'a', 41 41 array( 42 42 'class' => 'small button grey',
+4 -4
src/applications/countdown/controller/PhabricatorCountdownViewController.php
··· 47 47 <th>Seconds</th> 48 48 </tr> 49 49 <tr>'. 50 - javelin_render_tag('td', 50 + javelin_tag('td', 51 51 array('sigil' => 'phabricator-timer-days'), ''). 52 - javelin_render_tag('td', 52 + javelin_tag('td', 53 53 array('sigil' => 'phabricator-timer-hours'), ''). 54 - javelin_render_tag('td', 54 + javelin_tag('td', 55 55 array('sigil' => 'phabricator-timer-minutes'), ''). 56 - javelin_render_tag('td', 56 + javelin_tag('td', 57 57 array('sigil' => 'phabricator-timer-seconds'), ''). 58 58 '</tr> 59 59 </table>
+1 -1
src/applications/differential/field/specification/DifferentialReviewersFieldSpecification.php
··· 146 146 $names[] = phutil_escape_html( 147 147 $this->getHandle($reviewer)->getLinkName()); 148 148 } 149 - $suffix = ' '.javelin_render_tag( 149 + $suffix = ' '.javelin_tag( 150 150 'abbr', 151 151 array( 152 152 'sigil' => 'has-tooltip',
+1 -1
src/applications/differential/render/DifferentialChangesetHTMLRenderer.php
··· 321 321 322 322 $more = null; 323 323 if ($force !== 'none') { 324 - $more = ' '.javelin_render_tag( 324 + $more = ' '.javelin_tag( 325 325 'a', 326 326 array( 327 327 'mustcapture' => true,
+5 -5
src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php
··· 16 16 17 17 $context_not_available = null; 18 18 if ($hunk_starts) { 19 - $context_not_available = javelin_render_tag( 19 + $context_not_available = javelin_tag( 20 20 'tr', 21 21 array( 22 22 'sigil' => 'context-target', ··· 83 83 $is_first_block = true; 84 84 } 85 85 86 - $contents[] = javelin_render_tag( 86 + $contents[] = javelin_tag( 87 87 'a', 88 88 array( 89 89 'href' => '#', ··· 99 99 : pht("\xE2\x96\xB2 Show 20 Lines")); 100 100 } 101 101 102 - $contents[] = javelin_render_tag( 102 + $contents[] = javelin_tag( 103 103 'a', 104 104 array( 105 105 'href' => '#', ··· 119 119 } 120 120 121 121 if ($len > 40) { 122 - $contents[] = javelin_render_tag( 122 + $contents[] = javelin_tag( 123 123 'a', 124 124 array( 125 125 'href' => '#', ··· 235 235 dirname('/'.$orig_file); 236 236 } 237 237 $class = ($orig_type == '-' ? 'new-move' : 'new-copy'); 238 - $n_copy = javelin_render_tag( 238 + $n_copy = javelin_tag( 239 239 'td', 240 240 array( 241 241 'meta' => array(
+2 -2
src/applications/differential/view/DifferentialChangesetFileTreeSideNavBuilder.php
··· 104 104 ), 105 105 $name); 106 106 107 - $filetree[] = javelin_render_tag( 107 + $filetree[] = javelin_tag( 108 108 $href ? 'a' : 'span', 109 109 array( 110 110 'href' => $href, ··· 112 112 'title' => $title, 113 113 'class' => 'phabricator-filetree-item', 114 114 ), 115 - $icon.$name_element); 115 + array($icon, $name_element)); 116 116 } 117 117 $tree->destroy(); 118 118
+6 -6
src/applications/differential/view/DifferentialChangesetListView.php
··· 143 143 $load = 'Loading...'; 144 144 $mapping[$uniq_id] = $ref; 145 145 } else { 146 - $load = javelin_render_tag( 146 + $load = javelin_tag( 147 147 'a', 148 148 array( 149 149 'href' => '#'.$uniq_id, ··· 155 155 'sigil' => 'differential-load', 156 156 'mustcapture' => true, 157 157 ), 158 - 'Load'); 158 + pht('Load')); 159 159 } 160 160 $detail->appendChild( 161 161 phutil_tag( ··· 209 209 * Render the "Undo" markup for the inline comment undo feature. 210 210 */ 211 211 private function renderUndoTemplates() { 212 - $link = javelin_render_tag( 212 + $link = javelin_tag( 213 213 'a', 214 214 array( 215 215 'href' => '#', 216 216 'sigil' => 'differential-inline-comment-undo', 217 217 ), 218 - 'Undo'); 218 + pht('Undo')); 219 219 220 220 $div = phutil_tag( 221 221 'div', ··· 302 302 'differential-dropdown-menus', 303 303 array()); 304 304 305 - return javelin_render_tag( 305 + return javelin_tag( 306 306 'a', 307 307 array( 308 308 'class' => 'button small grey', ··· 311 311 'target' => '_blank', 312 312 'sigil' => 'differential-view-options', 313 313 ), 314 - "View Options \xE2\x96\xBC"); 314 + pht("View Options \xE2\x96\xBC")); 315 315 } 316 316 317 317 }
+4 -6
src/applications/differential/view/DifferentialDiffTableOfContentsView.php
··· 192 192 } 193 193 } 194 194 195 - $reveal_link = 196 - javelin_render_tag( 195 + $reveal_link = javelin_tag( 197 196 'a', 198 197 array( 199 198 'sigil' => 'differential-reveal-all', 200 199 'mustcapture' => true, 201 200 'class' => 'button differential-toc-reveal-all', 202 201 ), 203 - pht('Show All Context') 204 - ); 202 + pht('Show All Context')); 205 203 206 204 $buttons = 207 205 '<tr><td colspan="7">'. ··· 256 254 private function renderChangesetLink(DifferentialChangeset $changeset, $ref) { 257 255 $display_file = $changeset->getDisplayFilename(); 258 256 259 - return javelin_render_tag( 257 + return javelin_tag( 260 258 'a', 261 259 array( 262 260 'href' => '#'.$changeset->getAnchorName(), ··· 266 264 ), 267 265 'sigil' => 'differential-load', 268 266 ), 269 - phutil_escape_html($display_file)); 267 + $display_file); 270 268 } 271 269 272 270 }
+1 -1
src/applications/differential/view/DifferentialInlineCommentEditView.php
··· 94 94 $buttons = array(); 95 95 96 96 $buttons[] = '<button>Ready</button>'; 97 - $buttons[] = javelin_render_tag( 97 + $buttons[] = javelin_tag( 98 98 'button', 99 99 array( 100 100 'sigil' => 'inline-edit-cancel',
+7 -7
src/applications/differential/view/DifferentialInlineCommentView.php
··· 95 95 } 96 96 97 97 if (!$this->preview) { 98 - $links[] = javelin_render_tag( 98 + $links[] = javelin_tag( 99 99 'a', 100 100 array( 101 101 'href' => '#', ··· 104 104 ), 105 105 pht('Previous')); 106 106 107 - $links[] = javelin_render_tag( 107 + $links[] = javelin_tag( 108 108 'a', 109 109 array( 110 110 'href' => '#', ··· 122 122 // file/line information, and synthetic comments don't have an inline 123 123 // comment ID. 124 124 125 - $links[] = javelin_render_tag( 125 + $links[] = javelin_tag( 126 126 'a', 127 127 array( 128 128 'href' => '#', ··· 138 138 $anchor_name = 'inline-'.$inline->getID(); 139 139 140 140 if ($this->editable && !$this->preview) { 141 - $links[] = javelin_render_tag( 141 + $links[] = javelin_tag( 142 142 'a', 143 143 array( 144 144 'href' => '#', ··· 146 146 'sigil' => 'differential-inline-edit', 147 147 ), 148 148 pht('Edit')); 149 - $links[] = javelin_render_tag( 149 + $links[] = javelin_tag( 150 150 'a', 151 151 array( 152 152 'href' => '#', ··· 155 155 ), 156 156 pht('Delete')); 157 157 } else if ($this->preview) { 158 - $links[] = javelin_render_tag( 158 + $links[] = javelin_tag( 159 159 'a', 160 160 array( 161 161 'meta' => array( ··· 164 164 'sigil' => 'differential-inline-preview-jump', 165 165 ), 166 166 pht('Not Visible')); 167 - $links[] = javelin_render_tag( 167 + $links[] = javelin_tag( 168 168 'a', 169 169 array( 170 170 'href' => '#',
+1 -1
src/applications/differential/view/DifferentialRevisionCommentListView.php
··· 166 166 ), 167 167 '<div class="differential-older-comments-are-hidden">'. 168 168 pht('%d older comments are hidden. ', number_format(count($hidden))). 169 - javelin_render_tag( 169 + javelin_tag( 170 170 'a', 171 171 array( 172 172 'href' => '#',
+1 -1
src/applications/differential/view/DifferentialRevisionListView.php
··· 111 111 if (isset($flagged[$phid])) { 112 112 $class = PhabricatorFlagColor::getCSSClass($flagged[$phid]->getColor()); 113 113 $note = $flagged[$phid]->getNote(); 114 - $flag = javelin_render_tag( 114 + $flag = javelin_tag( 115 115 'div', 116 116 $note ? array( 117 117 'class' => 'phabricator-flag-icon '.$class,
+1 -1
src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php
··· 72 72 73 73 if ($id) { 74 74 $new_checked = ($this->selectedDiffID == $id); 75 - $new = javelin_render_tag( 75 + $new = javelin_tag( 76 76 'input', 77 77 array( 78 78 'type' => 'radio',
+5 -5
src/applications/diffusion/controller/DiffusionBrowseFileController.php
··· 605 605 Javelin::initBehavior('phabricator-tooltips', array()); 606 606 require_celerity_resource('aphront-tooltip-css'); 607 607 608 - $commit_link = javelin_render_tag( 608 + $commit_link = javelin_tag( 609 609 'a', 610 610 array( 611 611 'href' => $drequest->generateURI( ··· 620 620 'size' => 600, 621 621 ), 622 622 ), 623 - phutil_escape_html(phutil_utf8_shorten($line['commit'], 9, ''))); 623 + phutil_utf8_shorten($line['commit'], 9, '')); 624 624 625 625 $revision_id = null; 626 626 if (idx($commits, $commit)) { ··· 637 637 " \xC2\xB7 ". 638 638 $revision->getTitle(); 639 639 } 640 - $revision_link = javelin_render_tag( 640 + $revision_link = javelin_tag( 641 641 'a', 642 642 array( 643 643 'href' => '/D'.$revision_id, ··· 652 652 } 653 653 654 654 $uri = $line_href->alter('before', $commit); 655 - $before_link = javelin_render_tag( 655 + $before_link = javelin_tag( 656 656 'a', 657 657 array( 658 658 'href' => $uri->setQueryParam('view', 'blame'), ··· 706 706 ), 707 707 $line['line']); 708 708 709 - $blame[] = javelin_render_tag( 709 + $blame[] = javelin_tag( 710 710 'th', 711 711 array( 712 712 'class' => 'diffusion-line-link',
+3 -3
src/applications/diffusion/controller/DiffusionCommitEditController.php
··· 62 62 ->setValue($proj_t_values) 63 63 ->setID($tokenizer_id) 64 64 ->setCaption( 65 - javelin_render_tag( 65 + javelin_tag( 66 66 'a', 67 67 array( 68 68 'href' => '/project/create/', 69 69 'mustcapture' => true, 70 70 'sigil' => 'project-create', 71 71 ), 72 - 'Create New Project')) 73 - ->setDatasource('/typeahead/common/projects/'));; 72 + pht('Create New Project'))) 73 + ->setDatasource('/typeahead/common/projects/'));; 74 74 75 75 Javelin::initBehavior('project-create', array( 76 76 'tokenizerID' => $tokenizer_id,
+2 -2
src/applications/diffusion/view/DiffusionCommitChangeTableView.php
··· 39 39 } 40 40 41 41 if (isset($this->renderingReferences[$id])) { 42 - $path_column = javelin_render_tag( 42 + $path_column = javelin_tag( 43 43 'a', 44 44 array( 45 45 'href' => '#'.$hash, ··· 49 49 ), 50 50 'sigil' => 'differential-load', 51 51 ), 52 - phutil_escape_html($path)); 52 + $path); 53 53 } else { 54 54 $path_column = phutil_escape_html($path); 55 55 }
+1 -1
src/applications/diffusion/view/DiffusionHistoryTableView.php
··· 312 312 // Render into tags for the behavior. 313 313 314 314 foreach ($graph as $k => $meta) { 315 - $graph[$k] = javelin_render_tag( 315 + $graph[$k] = javelin_tag( 316 316 'div', 317 317 array( 318 318 'sigil' => 'commit-graph',
+2 -2
src/applications/diffusion/view/DiffusionView.php
··· 144 144 if ($email->getDisplayName() && $email->getDomainName()) { 145 145 Javelin::initBehavior('phabricator-tooltips', array()); 146 146 require_celerity_resource('aphront-tooltip-css'); 147 - return javelin_render_tag( 147 + return javelin_tag( 148 148 'span', 149 149 array( 150 150 'sigil' => 'has-tooltip', ··· 154 154 'size' => 'auto', 155 155 ), 156 156 ), 157 - phutil_escape_html($email->getDisplayName())); 157 + $email->getDisplayName()); 158 158 } 159 159 return phutil_escape_html($name); 160 160 }
+5 -5
src/applications/herald/controller/HeraldRuleController.php
··· 100 100 ->appendChild( 101 101 // Build this explicitly (instead of using addHiddenInput()) 102 102 // so we can add a sigil to it. 103 - javelin_render_tag( 103 + javelin_tag( 104 104 'input', 105 105 array( 106 106 'type' => 'hidden', ··· 123 123 ->appendChild( 124 124 id(new AphrontFormInsetView()) 125 125 ->setTitle('Conditions') 126 - ->setRightButton(javelin_render_tag( 126 + ->setRightButton(javelin_tag( 127 127 'a', 128 128 array( 129 129 'href' => '#', ··· 135 135 ->setDescription( 136 136 'When '.$must_match_selector . 137 137 ' these conditions are met:') 138 - ->setContent(javelin_render_tag( 138 + ->setContent(javelin_tag( 139 139 'table', 140 140 array( 141 141 'sigil' => 'rule-conditions', ··· 145 145 ->appendChild( 146 146 id(new AphrontFormInsetView()) 147 147 ->setTitle('Action') 148 - ->setRightButton(javelin_render_tag( 148 + ->setRightButton(javelin_tag( 149 149 'a', 150 150 array( 151 151 'href' => '#', ··· 156 156 'Create New Action')) 157 157 ->setDescription('Take these actions '.$repetition_selector. 158 158 ' this rule matches:') 159 - ->setContent(javelin_render_tag( 159 + ->setContent(javelin_tag( 160 160 'table', 161 161 array( 162 162 'sigil' => 'rule-actions',
+1 -1
src/applications/herald/view/HeraldRuleListView.php
··· 58 58 ), 59 59 'View Edit Log'); 60 60 61 - $delete = javelin_render_tag( 61 + $delete = javelin_tag( 62 62 'a', 63 63 array( 64 64 'href' => '/herald/delete/'.$rule->getID().'/',
+2 -2
src/applications/maniphest/controller/ManiphestBatchEditController.php
··· 101 101 $form->appendChild( 102 102 id(new AphrontFormInsetView()) 103 103 ->setTitle('Actions') 104 - ->setRightButton(javelin_render_tag( 104 + ->setRightButton(javelin_tag( 105 105 'a', 106 106 array( 107 107 'href' => '#', ··· 110 110 'mustcapture' => true, 111 111 ), 112 112 'Add Another Action')) 113 - ->setContent(javelin_render_tag( 113 + ->setContent(javelin_tag( 114 114 'table', 115 115 array( 116 116 'sigil' => 'maniphest-batch-actions',
+5 -5
src/applications/maniphest/controller/ManiphestReportController.php
··· 574 574 } 575 575 $cname[] = 'Total'; 576 576 $cclass[] = 'n'; 577 - $cname[] = javelin_render_tag( 577 + $cname[] = javelin_tag( 578 578 'span', 579 579 array( 580 580 'sigil' => 'has-tooltip', ··· 585 585 ), 586 586 'Oldest (All)'); 587 587 $cclass[] = 'n'; 588 - $cname[] = javelin_render_tag( 588 + $cname[] = javelin_tag( 589 589 'span', 590 590 array( 591 591 'sigil' => 'has-tooltip', ··· 599 599 $cclass[] = 'n'; 600 600 601 601 list($ignored, $window_epoch) = $this->getWindow(); 602 - $cname[] = javelin_render_tag( 602 + $cname[] = javelin_tag( 603 603 'span', 604 604 array( 605 605 'sigil' => 'has-tooltip', ··· 745 745 $raw_age = (time() - $oldest->getDateCreated()); 746 746 $age = number_format($raw_age / (24 * 60 * 60)).' d'; 747 747 748 - $link = javelin_render_tag( 748 + $link = javelin_tag( 749 749 'a', 750 750 array( 751 751 'href' => '/T'.$oldest->getID(), ··· 755 755 ), 756 756 'target' => '_blank', 757 757 ), 758 - phutil_escape_html($age)); 758 + $age); 759 759 760 760 return array($link, $raw_age); 761 761 }
+1 -1
src/applications/maniphest/controller/ManiphestSavedQueryListController.php
··· 61 61 'class' => 'grey small button', 62 62 ), 63 63 'Edit'), 64 - javelin_render_tag( 64 + javelin_tag( 65 65 'a', 66 66 array( 67 67 'href' => '/maniphest/custom/delete/'.$query->getID().'/',
+1 -1
src/applications/maniphest/controller/ManiphestTaskEditController.php
··· 425 425 ->setValue($projects_value) 426 426 ->setID($project_tokenizer_id) 427 427 ->setCaption( 428 - javelin_render_tag( 428 + javelin_tag( 429 429 'a', 430 430 array( 431 431 'href' => '/project/create/',
+3 -3
src/applications/maniphest/controller/ManiphestTaskListController.php
··· 641 641 'status' => 'batch-select-status-cell', 642 642 )); 643 643 644 - $select_all = javelin_render_tag( 644 + $select_all = javelin_tag( 645 645 'a', 646 646 array( 647 647 'href' => '#', ··· 651 651 ), 652 652 'Select All'); 653 653 654 - $select_none = javelin_render_tag( 654 + $select_none = javelin_tag( 655 655 'a', 656 656 array( 657 657 'href' => '#', ··· 670 670 ), 671 671 "Batch Edit Selected Tasks \xC2\xBB"); 672 672 673 - $export = javelin_render_tag( 673 + $export = javelin_tag( 674 674 'a', 675 675 array( 676 676 'href' => '/maniphest/export/'.$search_query->getQueryKey().'/',
+2 -2
src/applications/maniphest/view/ManiphestTaskProjectsView.php
··· 27 27 'href' => $handle->getURI(), 28 28 'class' => 'phabricator-project-tag', 29 29 ), 30 - phutil_utf8_shorten($handle->getName(), 24)); 30 + phutil_utf8_shorten($handle->getName(), 24)); 31 31 } 32 32 33 33 if (count($this->handles) > 2) { ··· 39 39 $all[] = $handle->getName(); 40 40 } 41 41 42 - $tags[] = javelin_render_tag( 42 + $tags[] = javelin_tag( 43 43 'span', 44 44 array( 45 45 'class' => 'phabricator-project-tag',
+3 -4
src/applications/maniphest/view/ManiphestTaskSummaryView.php
··· 62 62 if ($this->showBatchControls) { 63 63 $batch = 64 64 '<td class="maniphest-task-batch">'. 65 - javelin_render_tag( 65 + javelin_tag( 66 66 'input', 67 67 array( 68 68 'type' => 'checkbox', 69 69 'name' => 'batch[]', 70 70 'value' => $task->getID(), 71 71 'sigil' => 'maniphest-batch', 72 - ), 73 - null). 72 + )). 74 73 '</td>'; 75 74 } 76 75 ··· 87 86 $control_sigil = 'maniphest-task-handle'; 88 87 } 89 88 90 - $handle = javelin_render_tag( 89 + $handle = javelin_tag( 91 90 'td', 92 91 array( 93 92 'class' => 'maniphest-task-handle '.$pri_class.' '.$control_class,
+1 -1
src/applications/maniphest/view/ManiphestTransactionDetailView.php
··· 590 590 591 591 Javelin::initBehavior('maniphest-transaction-expand'); 592 592 593 - return javelin_render_tag( 593 + return javelin_tag( 594 594 'a', 595 595 array( 596 596 'href' => '/maniphest/task/descriptionchange/'.$id.'/',
+1 -1
src/applications/notification/controller/PhabricatorNotificationListController.php
··· 61 61 $panel->setHeader($header); 62 62 $panel->setWidth(AphrontPanelView::WIDTH_FORM); 63 63 $panel->addButton( 64 - javelin_render_tag( 64 + javelin_tag( 65 65 'a', 66 66 array( 67 67 'href' => '/notification/clear/',
+1 -1
src/applications/owners/controller/PhabricatorOwnersDetailController.php
··· 120 120 $panel->setHeader( 121 121 'Package Details for "'.phutil_escape_html($package->getName()).'"'); 122 122 $panel->addButton( 123 - javelin_render_tag( 123 + javelin_tag( 124 124 'a', 125 125 array( 126 126 'href' => '/owners/delete/'.$package->getID().'/',
+2 -2
src/applications/owners/controller/PhabricatorOwnersEditController.php
··· 218 218 id(new AphrontFormInsetView()) 219 219 ->setTitle('Paths') 220 220 ->addDivAttributes(array('id' => 'path-editor')) 221 - ->setRightButton(javelin_render_tag( 221 + ->setRightButton(javelin_tag( 222 222 'a', 223 223 array( 224 224 'href' => '#', ··· 229 229 'Add New Path')) 230 230 ->setDescription('Specify the files and directories which comprise '. 231 231 'this package.') 232 - ->setContent(javelin_render_tag( 232 + ->setContent(javelin_tag( 233 233 'table', 234 234 array( 235 235 'class' => 'owners-path-editor-table',
+3 -3
src/applications/phortune/stripe/view/PhortuneStripePaymentFormView.php
··· 51 51 id(new AphrontFormMarkupControl()) 52 52 ->setLabel('') 53 53 ->setValue( 54 - javelin_render_tag( 54 + javelin_tag( 55 55 'div', 56 56 array( 57 57 'class' => 'credit-card-logos', ··· 86 86 ->setError($this->getCardExpirationError()) 87 87 ) 88 88 ->appendChild( 89 - javelin_render_tag( 89 + javelin_tag( 90 90 'input', 91 91 array( 92 92 'hidden' => true, ··· 96 96 ) 97 97 ) 98 98 ->appendChild( 99 - javelin_render_tag( 99 + javelin_tag( 100 100 'input', 101 101 array( 102 102 'hidden' => true,
+4 -4
src/applications/ponder/view/PonderVotableView.php
··· 35 35 36 36 $uri = id(new PhutilURI($this->uri))->alter('phid', $this->phid); 37 37 38 - $up = javelin_render_tag( 38 + $up = javelin_tag( 39 39 'a', 40 40 array( 41 41 'href' => (string)$uri, ··· 45 45 ), 46 46 "\xE2\x96\xB2"); 47 47 48 - $down = javelin_render_tag( 48 + $down = javelin_tag( 49 49 'a', 50 50 array( 51 51 'href' => (string)$uri, ··· 55 55 ), 56 56 "\xE2\x96\xBC"); 57 57 58 - $count = javelin_render_tag( 58 + $count = javelin_tag( 59 59 'div', 60 60 array( 61 61 'class' => 'ponder-vote-count', 62 62 'sigil' => 'ponder-vote-count', 63 63 ), 64 - phutil_escape_html($this->count)); 64 + $this->count); 65 65 66 66 return javelin_render_tag( 67 67 'div',
+1 -1
src/applications/project/controller/PhabricatorProjectMembersEditController.php
··· 142 142 ), 143 143 ''); 144 144 145 - $button = javelin_render_tag( 145 + $button = javelin_tag( 146 146 'button', 147 147 array( 148 148 'class' => 'grey',
+1 -1
src/applications/project/controller/PhabricatorProjectProfileController.php
··· 98 98 ), 99 99 'Join Project')); 100 100 } else { 101 - $action = javelin_render_tag( 101 + $action = javelin_tag( 102 102 'a', 103 103 array( 104 104 'href' => '/project/update/'.$project->getID().'/leave/',
+1 -1
src/applications/repository/controller/PhabricatorRepositoryListController.php
··· 43 43 'href' => '/repository/edit/'.$repo->getID().'/', 44 44 ), 45 45 'Edit'), 46 - javelin_render_tag( 46 + javelin_tag( 47 47 'a', 48 48 array( 49 49 'class' => 'button small grey',
+4 -4
src/applications/settings/panel/PhabricatorSettingsPanelEmailAddresses.php
··· 52 52 $rows = array(); 53 53 foreach ($emails as $email) { 54 54 55 - $button_verify = javelin_render_tag( 55 + $button_verify = javelin_tag( 56 56 'a', 57 57 array( 58 58 'class' => 'button small grey', ··· 61 61 ), 62 62 'Verify'); 63 63 64 - $button_make_primary = javelin_render_tag( 64 + $button_make_primary = javelin_tag( 65 65 'a', 66 66 array( 67 67 'class' => 'button small grey', ··· 70 70 ), 71 71 'Make Primary'); 72 72 73 - $button_remove = javelin_render_tag( 73 + $button_remove = javelin_tag( 74 74 'a', 75 75 array( 76 76 'class' => 'button small grey', ··· 133 133 $view = new AphrontPanelView(); 134 134 if ($editable) { 135 135 $view->addButton( 136 - javelin_render_tag( 136 + javelin_tag( 137 137 'a', 138 138 array( 139 139 'href' => $uri->alter('new', 'true'),
+1 -1
src/applications/settings/panel/PhabricatorSettingsPanelSSHKeys.php
··· 186 186 phutil_escape_html($key->getKeyType()), 187 187 phabricator_date($key->getDateCreated(), $user), 188 188 phabricator_time($key->getDateCreated(), $user), 189 - javelin_render_tag( 189 + javelin_tag( 190 190 'a', 191 191 array( 192 192 'href' => $this->getPanelURI('?delete='.$key->getID()),
+2 -2
src/applications/uiexample/examples/JavelinUIExample.php
··· 20 20 $button_red_id = celerity_generate_unique_node_id(); 21 21 $button_blue_id = celerity_generate_unique_node_id(); 22 22 23 - $button_red = javelin_render_tag( 23 + $button_red = javelin_tag( 24 24 'a', 25 25 array( 26 26 'class' => 'button', ··· 36 36 ), 37 37 'Toggle Red Border'); 38 38 39 - $button_blue = javelin_render_tag( 39 + $button_blue = javelin_tag( 40 40 'a', 41 41 array( 42 42 'class' => 'button jxui-active',
+1 -1
src/applications/uiexample/examples/PhabricatorUINotificationExample.php
··· 15 15 require_celerity_resource('phabricator-notification-css'); 16 16 Javelin::initBehavior('phabricator-notification-example'); 17 17 18 - $content = javelin_render_tag( 18 + $content = javelin_tag( 19 19 'a', 20 20 array( 21 21 'sigil' => 'notification-example',
+2 -2
src/applications/uiexample/examples/PhabricatorUITooltipExample.php
··· 89 89 90 90 $content = array(); 91 91 foreach ($metas as $key => $meta) { 92 - $content[] = javelin_render_tag( 92 + $content[] = javelin_tag( 93 93 'div', 94 94 array( 95 95 'sigil' => 'has-tooltip', 96 96 'meta' => $meta, 97 97 'style' => $style, 98 98 ), 99 - phutil_escape_html($key)); 99 + $key); 100 100 } 101 101 102 102 return $content;
+2 -2
src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php
··· 84 84 array( 85 85 'Symbol', 86 86 'Count', 87 - javelin_render_tag( 87 + javelin_tag( 88 88 'span', 89 89 array( 90 90 'sigil' => 'has-tooltip', ··· 97 97 ), 98 98 'Wall Time (Inclusive)'), 99 99 '%', 100 - javelin_render_tag( 100 + javelin_tag( 101 101 'span', 102 102 array( 103 103 'sigil' => 'has-tooltip',
+2 -2
src/infrastructure/diff/PhabricatorInlineCommentController.php
··· 234 234 } 235 235 236 236 private function renderTextArea($text) { 237 - return javelin_render_tag( 237 + return javelin_tag( 238 238 'textarea', 239 239 array( 240 240 'class' => 'differential-inline-comment-edit-textarea', 241 241 'sigil' => 'differential-inline-comment-edit-textarea', 242 242 'name' => 'text', 243 243 ), 244 - phutil_escape_html($text)); 244 + $text); 245 245 } 246 246 247 247 }
+14 -2
src/infrastructure/javelin/markup.php
··· 5 5 array $attributes = array(), 6 6 $content = null) { 7 7 8 + if (is_array($content)) { 9 + $content = implode('', $content); 10 + } 11 + 12 + $html = javelin_tag($tag, $attributes, phutil_safe_html($content)); 13 + return $html->getHTMLContent(); 14 + } 15 + 16 + function javelin_tag( 17 + $tag, 18 + array $attributes = array(), 19 + $content = null) { 20 + 8 21 if (isset($attributes['sigil']) || 9 22 isset($attributes['meta']) || 10 23 isset($attributes['mustcapture'])) { ··· 32 45 } 33 46 } 34 47 35 - return phutil_render_tag($tag, $attributes, $content); 48 + return phutil_tag($tag, $attributes, $content); 36 49 } 37 - 38 50 39 51 function phabricator_render_form(PhabricatorUser $user, $attributes, $content) { 40 52 if (strcasecmp(idx($attributes, 'method'), 'POST') == 0 &&
+4 -4
src/infrastructure/markup/rule/PhabricatorRemarkupRuleCountdown.php
··· 52 52 'id' => $id, 53 53 ), 54 54 array( 55 - javelin_render_tag('span', 55 + javelin_tag('span', 56 56 array('sigil' => 'phabricator-timer-days'), '').'d', 57 - javelin_render_tag('span', 57 + javelin_tag('span', 58 58 array('sigil' => 'phabricator-timer-hours'), '').'h', 59 - javelin_render_tag('span', 59 + javelin_tag('span', 60 60 array('sigil' => 'phabricator-timer-minutes'), '').'m', 61 - javelin_render_tag('span', 61 + javelin_tag('span', 62 62 array('sigil' => 'phabricator-timer-seconds'), '').'s', 63 63 )); 64 64 Javelin::initBehavior('countdown-timer', array(
+1 -1
src/infrastructure/markup/rule/PhabricatorRemarkupRuleEmbedFile.php
··· 110 110 require_celerity_resource('lightbox-attachment-css'); 111 111 $img = phutil_tag('img', $data['attrs']); 112 112 113 - $embed = javelin_render_tag( 113 + $embed = javelin_tag( 114 114 'a', 115 115 array( 116 116 'href' => $meta['uri'],
+5 -5
src/view/AphrontDialogView.php
··· 79 79 80 80 $buttons = array(); 81 81 if ($this->submitButton) { 82 - $buttons[] = javelin_render_tag( 82 + $buttons[] = javelin_tag( 83 83 'button', 84 84 array( 85 85 'name' => '__submit__', 86 86 'sigil' => '__default__', 87 87 ), 88 - phutil_escape_html($this->submitButton)); 88 + $this->submitButton); 89 89 } 90 90 91 91 if ($this->cancelURI) { 92 - $buttons[] = javelin_render_tag( 92 + $buttons[] = javelin_tag( 93 93 'a', 94 94 array( 95 95 'href' => $this->cancelURI, ··· 97 97 'name' => '__cancel__', 98 98 'sigil' => 'jx-workflow-button', 99 99 ), 100 - phutil_escape_html($this->cancelText)); 100 + $this->cancelText); 101 101 } 102 102 $buttons = implode('', $buttons); 103 103 ··· 133 133 $hidden_inputs = array(); 134 134 foreach ($this->hidden as $desc) { 135 135 list($key, $value) = $desc; 136 - $hidden_inputs[] = javelin_render_tag( 136 + $hidden_inputs[] = javelin_tag( 137 137 'input', 138 138 array( 139 139 'type' => 'hidden',
+1 -1
src/view/control/AphrontAttachedFileView.php
··· 32 32 $file->getName()); 33 33 $size = number_format($file->getByteSize()).' bytes'; 34 34 35 - $remove = javelin_render_tag( 35 + $remove = javelin_tag( 36 36 'a', 37 37 array( 38 38 'class' => 'button grey',
+1 -1
src/view/control/AphrontTokenizerTemplateView.php
··· 41 41 $tokens[] = $this->renderToken($key, $value); 42 42 } 43 43 44 - $input = javelin_render_tag( 44 + $input = javelin_tag( 45 45 'input', 46 46 array( 47 47 'mustcapture' => true,
+6 -4
src/view/control/AphrontTypeaheadTemplateView.php
··· 41 41 $tokens[] = $this->renderToken($key, $value); 42 42 } 43 43 44 - $input = javelin_render_tag( 44 + $input = javelin_tag( 45 45 'input', 46 46 array( 47 47 'name' => $name, ··· 52 52 'autocomplete' => 'off', 53 53 )); 54 54 55 - return javelin_render_tag( 55 + return javelin_tag( 56 56 'div', 57 57 array( 58 58 'id' => $id, 59 59 'sigil' => 'typeahead-hardpoint', 60 60 'class' => 'jx-typeahead-hardpoint', 61 61 ), 62 - $input. 63 - '<div style="clear: both;"></div>'); 62 + array( 63 + $input, 64 + phutil_tag('div', array('style' => 'clear: both'), ''), 65 + )); 64 66 } 65 67 }
+1 -1
src/view/form/control/AphrontFormDateControl.php
··· 225 225 'sigil' => 'year-input', 226 226 )); 227 227 228 - $cal_icon = javelin_render_tag( 228 + $cal_icon = javelin_tag( 229 229 'a', 230 230 array( 231 231 'href' => '#',
+1 -1
src/view/form/control/AphrontFormTextControl.php
··· 25 25 } 26 26 27 27 protected function renderInput() { 28 - return javelin_render_tag( 28 + return javelin_tag( 29 29 'input', 30 30 array( 31 31 'type' => 'text',
+1 -1
src/view/form/control/PhabricatorRemarkupControl.php
··· 99 99 100 100 require_celerity_resource('sprite-icon-css'); 101 101 102 - $buttons[] = javelin_render_tag( 102 + $buttons[] = javelin_tag( 103 103 'a', 104 104 array( 105 105 'class' => implode(' ', $classes),
+1 -1
src/view/layout/AphrontMoreView.php
··· 32 32 $link = null; 33 33 if ($this->more && $this->more != $this->some) { 34 34 Javelin::initBehavior('aphront-more'); 35 - $link = ' '.javelin_render_tag( 35 + $link = ' '.javelin_tag( 36 36 'a', 37 37 array( 38 38 'sigil' => 'aphront-more-view-show-more',
+4 -4
src/view/layout/PhabricatorActionView.php
··· 66 66 'Call setUser() when rendering an action as a form.'); 67 67 } 68 68 69 - $item = javelin_render_tag( 69 + $item = javelin_tag( 70 70 'button', 71 71 array( 72 72 'class' => 'phabricator-action-view-item', 73 73 ), 74 - phutil_escape_html($this->name)); 74 + $this->name); 75 75 76 76 $item = phabricator_render_form( 77 77 $this->user, ··· 82 82 ), 83 83 $item); 84 84 } else { 85 - $item = javelin_render_tag( 85 + $item = javelin_tag( 86 86 'a', 87 87 array( 88 88 'href' => $this->href, 89 89 'class' => 'phabricator-action-view-item', 90 90 'sigil' => $this->workflow ? 'workflow' : null, 91 91 ), 92 - phutil_escape_html($this->name)); 92 + $this->name); 93 93 } 94 94 } else { 95 95 $item = phutil_tag(
+1 -1
src/view/layout/PhabricatorAnchorView.php
··· 18 18 public function render() { 19 19 $marker = null; 20 20 if ($this->navigationMarker) { 21 - $marker = javelin_render_tag( 21 + $marker = javelin_tag( 22 22 'legend', 23 23 array( 24 24 'class' => 'phabricator-anchor-navigation-marker',
+5 -2
src/view/layout/PhabricatorCrumbsView.php
··· 37 37 ), 38 38 ''); 39 39 } 40 - $actions[] = javelin_render_tag( 40 + $actions[] = javelin_tag( 41 41 'a', 42 42 array( 43 43 'href' => $action->getHref(), 44 44 'class' => 'phabricator-crumbs-action', 45 45 'sigil' => $action->getWorkflow() ? 'workflow' : null, 46 46 ), 47 - $icon.phutil_escape_html($action->getName())); 47 + array( 48 + $icon, 49 + $action->getName(), 50 + )); 48 51 } 49 52 50 53 $action_view = phutil_render_tag(
+2 -3
src/view/layout/PhabricatorFileLinkView.php
··· 67 67 ); 68 68 } 69 69 70 - return javelin_render_tag( 70 + return javelin_tag( 71 71 'a', 72 72 array( 73 73 'href' => $this->getFileViewURI(), ··· 76 76 'meta' => $meta, 77 77 'mustcapture' => $mustcapture, 78 78 ), 79 - phutil_escape_html($this->getFileName()) 80 - ); 79 + $this->getFileName()); 81 80 } 82 81 }
+2 -2
src/view/layout/PhabricatorTimelineEventView.php
··· 235 235 236 236 237 237 if ($this->getIsEdited()) { 238 - $extra[] = javelin_render_tag( 238 + $extra[] = javelin_tag( 239 239 'a', 240 240 array( 241 241 'href' => '/transactions/history/'.$xaction_phid.'/', ··· 245 245 } 246 246 247 247 if ($this->getIsEditable()) { 248 - $extra[] = javelin_render_tag( 248 + $extra[] = javelin_tag( 249 249 'a', 250 250 array( 251 251 'href' => '/transactions/edit/'.$xaction_phid.'/',
+2 -2
src/view/layout/headsup/AphrontHeadsupActionView.php
··· 64 64 $attrs['sigil'] = 'workflow'; 65 65 } 66 66 67 - return javelin_render_tag( 67 + return javelin_tag( 68 68 $tag, 69 69 $attrs, 70 - phutil_escape_html($this->name)); 70 + $this->name); 71 71 } 72 72 73 73 }
+3 -3
src/view/page/menu/PhabricatorMainMenuIconView.php
··· 65 65 $classes = $this->classes; 66 66 $classes[] = 'phabricator-main-menu-icon'; 67 67 68 - $label = javelin_render_tag( 68 + $label = javelin_tag( 69 69 'a', 70 70 array( 71 71 'href' => $href, 72 72 'class' => 'phabricator-main-menu-icon-label', 73 73 ), 74 - phutil_escape_html($name)); 74 + $name); 75 75 76 - $item = javelin_render_tag( 76 + $item = javelin_tag( 77 77 'a', 78 78 array( 79 79 'href' => $href,
+1 -1
src/view/page/menu/PhabricatorMainMenuSearchView.php
··· 34 34 35 35 $scope = $this->scope; 36 36 37 - $target = javelin_render_tag( 37 + $target = javelin_tag( 38 38 'div', 39 39 array( 40 40 'id' => $target_id,
+3 -3
src/view/page/menu/PhabricatorMainMenuView.php
··· 118 118 } 119 119 120 120 private function renderPhabricatorMenuButton($header_id) { 121 - return javelin_render_tag( 121 + return javelin_tag( 122 122 'a', 123 123 array( 124 124 'class' => 'phabricator-main-menu-expand-button '. ··· 139 139 } 140 140 141 141 public function renderApplicationMenuButton($header_id) { 142 - return javelin_render_tag( 142 + return javelin_tag( 143 143 'a', 144 144 array( 145 145 'class' => 'phabricator-main-menu-expand-button '. ··· 344 344 'dropdownID' => $dropdown_id, 345 345 )); 346 346 347 - $notification_dropdown = javelin_render_tag( 347 + $notification_dropdown = javelin_tag( 348 348 'div', 349 349 array( 350 350 'id' => $dropdown_id,