You are here

class CmisFieldBrowserBuilder in CMIS API 8.2

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

Provides a lazy builder for field browser formatter.

Hierarchy

Expanded class hierarchy of CmisFieldBrowserBuilder

1 string reference to 'CmisFieldBrowserBuilder'
cmis.services.yml in ./cmis.services.yml
cmis.services.yml
1 service uses CmisFieldBrowserBuilder
cmis.field_browser_builder in ./cmis.services.yml
Drupal\cmis\Service\CmisFieldBrowserBuilder

File

src/Service/CmisFieldBrowserBuilder.php, line 13

Namespace

Drupal\cmis\Service
View source
class CmisFieldBrowserBuilder {

  /**
   * Lazy builder callback for displaying a browser formatter.
   *
   * @param string $path
   *   The CMIS path.
   * @param string $show_breadcrumb
   *   Check if show breadcrumb.
   *
   * @return array
   *   A render array for the browser formatter.
   */
  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);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CmisFieldBrowserBuilder::build public function Lazy builder callback for displaying a browser formatter.