You are here

public function CmisFieldBrowserBuilder::build in CMIS API 8.2

Same name and namespace in other branches
  1. 3.0.x src/Service/CmisFieldBrowserBuilder.php \Drupal\cmis\Service\CmisFieldBrowserBuilder::build()

Lazy builder callback for displaying a browser formatter.

Parameters

string $path: The CMIS path.

string $show_breadcrumb: Check if show breadcrumb.

Return value

array A render array for the browser formatter.

File

src/Service/CmisFieldBrowserBuilder.php, line 26

Class

CmisFieldBrowserBuilder
Provides a lazy builder for field browser formatter.

Namespace

Drupal\cmis\Service

Code

public function build($path, $show_breadcrumb) {

  // Get config_id.
  $config_path = explode('/', $path, -1);

  // Get folder_id.
  $folder_path = explode('/', $path);
  $config_id = end($config_path);
  $folder_id = end($folder_path);
  $folder_id_parent = \Drupal::request()->query
    ->get('folder_id');
  $config = \Drupal::request()->query
    ->get('config_id');
  if (!is_null($folder_id_parent) && !is_null($config)) {
    $cmis_connection_api = new CmisConnectionApi($config);
    $cmis_connection_api
      ->setDefaultParameters();
    if (!is_null($cmis_connection_api
      ->getObjectById($folder_id_parent))) {
      $folder_id = $folder_id_parent;
      $config_id = $config;
    }
  }
  $browser = new CmisRepositoryController($config_id, $folder_id, [
    'show_breadcrumb' => $show_breadcrumb,
  ]);
  return $browser
    ->browse($config_id, $folder_id);
}