コード例 #1
0
 protected final function buildEditFields($object)
 {
     $viewer = $this->getViewer();
     $fields = $this->buildCustomEditFields($object);
     foreach ($fields as $field) {
         $field->setViewer($viewer)->setObject($object);
     }
     $fields = mpull($fields, null, 'getKey');
     $this->didBuildCustomEditFields($object, $fields);
     $extensions = PhabricatorEditEngineExtension::getAllEnabledExtensions();
     foreach ($extensions as $extension) {
         $extension->setViewer($viewer);
         if (!$extension->supportsObject($this, $object)) {
             continue;
         }
         $extension_fields = $extension->buildCustomEditFields($this, $object);
         // TODO: Validate this in more detail with a more tailored error.
         assert_instances_of($extension_fields, 'PhabricatorEditField');
         foreach ($extension_fields as $field) {
             $field->setViewer($viewer)->setObject($object);
         }
         $extension_fields = mpull($extension_fields, null, 'getKey');
         $extension->didBuildCustomEditFields($this, $object, $extension_fields);
         foreach ($extension_fields as $key => $field) {
             $fields[$key] = $field;
         }
     }
     $config = $this->getEditEngineConfiguration();
     $fields = $config->applyConfigurationToFields($this, $object, $fields);
     return $fields;
 }
コード例 #2
0
 public function renderModuleStatus(AphrontRequest $request)
 {
     $viewer = $request->getViewer();
     $extensions = PhabricatorEditEngineExtension::getAllExtensions();
     $rows = array();
     foreach ($extensions as $extension) {
         $rows[] = array($extension->getExtensionPriority(), get_class($extension), $extension->getExtensionName(), $extension->isExtensionEnabled() ? pht('Yes') : pht('No'));
     }
     return id(new AphrontTableView($rows))->setHeaders(array(pht('Priority'), pht('Class'), pht('Name'), pht('Enabled')))->setColumnClasses(array(null, null, 'wide pri', null));
 }