Changeset View
Changeset View
Standalone View
Standalone View
src/applications/herald/controller/HeraldTranscriptController.php
| Show First 20 Lines • Show All 447 Lines • ▼ Show 20 Lines | final class HeraldTranscriptController extends HeraldController { | ||||
| private function buildObjectTranscriptPanel(HeraldTranscript $xscript) { | private function buildObjectTranscriptPanel(HeraldTranscript $xscript) { | ||||
| $adapter = $this->getAdapter(); | $adapter = $this->getAdapter(); | ||||
| $field_names = $adapter->getFieldNameMap(); | $field_names = $adapter->getFieldNameMap(); | ||||
| $object_xscript = $xscript->getObjectTranscript(); | $object_xscript = $xscript->getObjectTranscript(); | ||||
| $data = array(); | $rows = array(); | ||||
| if ($object_xscript) { | if ($object_xscript) { | ||||
| $phid = $object_xscript->getPHID(); | $phid = $object_xscript->getPHID(); | ||||
| $handles = $this->handles; | $handles = $this->handles; | ||||
| $data += array( | $rows[] = array( | ||||
| pht('Object Name') => $object_xscript->getName(), | pht('Object Name'), | ||||
| pht('Object Type') => $object_xscript->getType(), | $object_xscript->getName(), | ||||
| pht('Object PHID') => $phid, | ); | ||||
| pht('Object Link') => $handles[$phid]->renderLink(), | |||||
| $rows[] = array( | |||||
| pht('Object Type'), | |||||
| $object_xscript->getType(), | |||||
| ); | |||||
| $rows[] = array( | |||||
| pht('Object PHID'), | |||||
| $phid, | |||||
| ); | |||||
| $rows[] = array( | |||||
| pht('Object Link'), | |||||
| $handles[$phid]->renderLink(), | |||||
| ); | ); | ||||
| } | } | ||||
| $data += $xscript->getMetadataMap(); | foreach ($xscript->getMetadataMap() as $key => $value) { | ||||
| $rows[] = array( | |||||
| $key, | |||||
| $value, | |||||
| ); | |||||
| } | |||||
| if ($object_xscript) { | if ($object_xscript) { | ||||
| foreach ($object_xscript->getFields() as $field => $value) { | foreach ($object_xscript->getFields() as $field => $value) { | ||||
| $field = idx($field_names, $field, '['.$field.'?]'); | if (isset($field_names[$field])) { | ||||
| $data['Field: '.$field] = $value; | $field_name = pht('Field: %s', $field_names[$field]); | ||||
| } | } else { | ||||
| $field_name = pht('Unknown Field ("%s")', $field_name); | |||||
| } | } | ||||
| $rows = array(); | |||||
| foreach ($data as $name => $value) { | |||||
| if (!($value instanceof PhutilSafeHTML)) { | |||||
| if (!is_scalar($value) && !is_null($value)) { | if (!is_scalar($value) && !is_null($value)) { | ||||
| $value = implode("\n", $value); | $value = implode("\n", $value); | ||||
| } | } | ||||
| if (strlen($value) > 256) { | if (strlen($value) > 256) { | ||||
| $value = phutil_tag( | $value = phutil_tag( | ||||
| 'textarea', | 'textarea', | ||||
| array( | array( | ||||
| 'class' => 'herald-field-value-transcript', | 'class' => 'herald-field-value-transcript', | ||||
| ), | ), | ||||
| $value); | $value); | ||||
| } | } | ||||
| } | |||||
| $rows[] = array($name, $value); | $rows[] = array( | ||||
| $field_name, | |||||
| $value, | |||||
| ); | |||||
| } | |||||
| } | } | ||||
| $property_list = new PHUIPropertyListView(); | $property_list = new PHUIPropertyListView(); | ||||
| $property_list->setStacked(true); | $property_list->setStacked(true); | ||||
| foreach ($rows as $row) { | foreach ($rows as $row) { | ||||
| $property_list->addProperty($row[0], $row[1]); | $property_list->addProperty($row[0], $row[1]); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 192 Lines • Show Last 20 Lines | |||||