Path: blob/master/src/applications/flag/view/PhabricatorFlagSelectControl.php
12256 views
<?php12final class PhabricatorFlagSelectControl extends AphrontFormControl {34protected function getCustomControlClass() {5return 'phabricator-flag-select-control';6}78protected function renderInput() {9require_celerity_resource('phabricator-flag-css');1011$colors = PhabricatorFlagColor::getColorNameMap();1213$value_map = array_fuse($this->getValue());1415$file_map = array(16PhabricatorFlagColor::COLOR_RED => 'red',17PhabricatorFlagColor::COLOR_ORANGE => 'orange',18PhabricatorFlagColor::COLOR_YELLOW => 'yellow',19PhabricatorFlagColor::COLOR_GREEN => 'green',20PhabricatorFlagColor::COLOR_BLUE => 'blue',21PhabricatorFlagColor::COLOR_PINK => 'pink',22PhabricatorFlagColor::COLOR_PURPLE => 'purple',23PhabricatorFlagColor::COLOR_CHECKERED => 'finish',24);2526$out = array();27foreach ($colors as $const => $name) {28// TODO: This should probably be a sprite sheet.29$partial = $file_map[$const];30$uri = '/rsrc/image/icon/fatcow/flag_'.$partial.'.png';31$uri = celerity_get_resource_uri($uri);3233$icon = id(new PHUIIconView())34->setImage($uri);3536$input = phutil_tag(37'input',38array(39'type' => 'checkbox',40'name' => $this->getName().'[]',41'value' => $const,42'checked' => isset($value_map[$const])43? 'checked'44: null,45'class' => 'phabricator-flag-select-checkbox',46));4748$label = phutil_tag(49'label',50array(51'class' => 'phabricator-flag-select-label',52),53array(54$icon,55$input,56));5758$out[] = $label;59}6061return $out;62}6364}656667