You are here

class ContentExportController in Content Export YAML 8

Class ContentExportController.

@package Drupal\content_export_yaml\Controller

Hierarchy

Expanded class hierarchy of ContentExportController

File

src/Controller/ContentExportController.php, line 14

Namespace

Drupal\content_export_yaml\Controller
View source
class ContentExportController extends ControllerBase implements ContainerInjectionInterface {

  /**
   * Handles html requests.
   *
   * @return string Return Hello string.
   */
  public function view() {
    $query = \Drupal::request()->query
      ->all();
    if ($query['file_single']) {
      $result = $query['file_single'];
      $id = basename($query['file_single'], '.yml');
      $bundle = $this
        ->_getBundleName($result);
      $entity_type = $this
        ->_getEntityType($result);
      $object_file = $this
        ->_getObjectinFile($result);

      ///in database
      $entity_list_name = array_keys(\Drupal::entityTypeManager()
        ->getDefinitions());
      if (in_array($entity_type, $entity_list_name)) {
        $item['is_entity'] = true;
        $bundle_list_name = \Drupal::service('entity_type.bundle.info')
          ->getBundleInfo($entity_type);
        if (in_array($bundle, array_keys($bundle_list_name))) {
          $item['is_bundle'] = true;
          $object = \Drupal::entityTypeManager()
            ->getStorage($entity_type)
            ->load($id);
          if ($object) {
            $item['database']['id'] = $object ? $object
              ->id() : "";
            $item['database']['label'] = $object ? $object
              ->label() : "";
            $item['database']['created'] = $object && $object->created ? date("Y-m-d H:i:s", $object->created->value) : "";
            $item['database']['changed'] = $object && $object->changed ? date("Y-m-d H:i:s", $object->changed->value) : "";
            $item['database']['uid'] = $object && $object->uid ? $object->uid->target_id : "";
          }
          if ($object_file) {
            $item['file']['id'] = $object_file ? $object_file
              ->id() : "";
            $item['file']['label'] = $object_file ? $object_file
              ->label() : "";
            $item['file']['created'] = $object_file && $object_file->created ? date("Y-m-d H:i:s", $object_file->created->value) : "";
            $item['file']['changed'] = $object_file && $object_file->changed ? date("Y-m-d H:i:s", $object_file->changed->value) : "";
            $item['file']['uid'] = $object_file && $object_file->uid ? $object_file->uid->target_id : "";
          }
        }
      }
      $item['file_path'] = $query['file_single'];
      $item['entity_type'] = $entity_type;
      $item['bundle'] = $bundle;
      $output = [
        '#theme' => 'view_template_item',
        '#item' => $item,
        '#cache' => [
          'max-age' => 0,
        ],
      ];
      return $output;
    }
    else {
      return [
        '#markup' => $this
          ->t('Item not found.'),
      ];
    }
  }
  protected function _getBundleName($result) {
    $root_folder = dirname($result);
    return basename($root_folder);
  }
  protected function _getEntityType($result) {
    $root_folder_1 = dirname($result);
    $root_folder = dirname($root_folder_1);
    return basename($root_folder);
  }
  protected function _getObjectinFile($file) {
    $file = DRUPAL_ROOT . $file;
    if (file_exists($file)) {
      $yaml_object = file_get_contents($file, FILE_USE_INCLUDE_PATH);
      $parsed = new Parser();
      $object = $parsed
        ->parse($yaml_object, SymfonyYaml::PARSE_OBJECT);
      if (is_object($object)) {
        return $object;
      }
    }
    return FALSE;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ContentExportController::view public function Handles html requests.
ContentExportController::_getBundleName protected function
ContentExportController::_getEntityType protected function
ContentExportController::_getObjectinFile protected function
ControllerBase::$configFactory protected property The configuration factory.
ControllerBase::$currentUser protected property The current user service. 1
ControllerBase::$entityFormBuilder protected property The entity form builder.
ControllerBase::$entityManager protected property The entity manager.
ControllerBase::$entityTypeManager protected property The entity type manager.
ControllerBase::$formBuilder protected property The form builder. 2
ControllerBase::$keyValue protected property The key-value storage. 1
ControllerBase::$languageManager protected property The language manager. 1
ControllerBase::$moduleHandler protected property The module handler. 2
ControllerBase::$stateService protected property The state service.
ControllerBase::cache protected function Returns the requested cache bin.
ControllerBase::config protected function Retrieves a configuration object.
ControllerBase::container private function Returns the service container.
ControllerBase::create public static function Instantiates a new instance of this class. Overrides ContainerInjectionInterface::create 40
ControllerBase::currentUser protected function Returns the current user. 1
ControllerBase::entityFormBuilder protected function Retrieves the entity form builder.
ControllerBase::entityManager Deprecated protected function Retrieves the entity manager service.
ControllerBase::entityTypeManager protected function Retrieves the entity type manager.
ControllerBase::formBuilder protected function Returns the form builder service. 2
ControllerBase::keyValue protected function Returns a key/value storage collection. 1
ControllerBase::languageManager protected function Returns the language manager service. 1
ControllerBase::moduleHandler protected function Returns the module handler. 2
ControllerBase::redirect protected function Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait::redirect
ControllerBase::state protected function Returns the state storage service.
LinkGeneratorTrait::$linkGenerator protected property The link generator. 1
LinkGeneratorTrait::getLinkGenerator Deprecated protected function Returns the link generator.
LinkGeneratorTrait::l Deprecated protected function Renders a link to a route given a route name and its parameters.
LinkGeneratorTrait::setLinkGenerator Deprecated public function Sets the link generator service.
LoggerChannelTrait::$loggerFactory protected property The logger channel factory service.
LoggerChannelTrait::getLogger protected function Gets the logger for a specific channel.
LoggerChannelTrait::setLoggerFactory public function Injects the logger channel factory.
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
RedirectDestinationTrait::getDestinationArray protected function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
RedirectDestinationTrait::getRedirectDestination protected function Returns the redirect destination service.
RedirectDestinationTrait::setRedirectDestination public function Sets the redirect destination service.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
UrlGeneratorTrait::$urlGenerator protected property The url generator.
UrlGeneratorTrait::getUrlGenerator Deprecated protected function Returns the URL generator service.
UrlGeneratorTrait::setUrlGenerator Deprecated public function Sets the URL generator service.
UrlGeneratorTrait::url Deprecated protected function Generates a URL or path for a specific route based on the given parameters.