1
|
<?php
|
2
|
|
3
|
/**
|
4
|
* @file
|
5
|
* Definition of MediaBrowserView.
|
6
|
*/
|
7
|
|
8
|
/**
|
9
|
* Media browser plugin for displaying a specific view and display.
|
10
|
*/
|
11
|
class MediaBrowserView extends MediaBrowserPlugin {
|
12
|
/**
|
13
|
* The view object from views_get_view() for this plugin.
|
14
|
*
|
15
|
* @var view
|
16
|
*/
|
17
|
protected $view;
|
18
|
|
19
|
/**
|
20
|
* Implements MediaBrowserPluginInterface::__construct().
|
21
|
*/
|
22
|
public function __construct($info, $params) {
|
23
|
parent::__construct($info, $params);
|
24
|
|
25
|
// Set up the view object with the proper display.
|
26
|
if ($view = views_get_view($info['view_name'])) {
|
27
|
$display_id = !empty($info['view_display_id']) ? $info['view_display_id'] : NULL;
|
28
|
if ($view->set_display($display_id)) {
|
29
|
$this->view = $view;
|
30
|
}
|
31
|
}
|
32
|
}
|
33
|
|
34
|
/**
|
35
|
* Implements MediaBrowserPluginInterface::access().
|
36
|
*/
|
37
|
public function access($account = NULL) {
|
38
|
return !empty($this->view) && $this->view->access($this->view->current_display, $account);
|
39
|
}
|
40
|
|
41
|
/**
|
42
|
* Implements MediaBrowserPlugin::view().
|
43
|
*/
|
44
|
public function view() {
|
45
|
if (!empty($this->view)) {
|
46
|
$build['#markup'] = $this->view->preview();
|
47
|
|
48
|
// Allow the View title to override the plugin title.
|
49
|
if ($title = $this->view->get_title()) {
|
50
|
$build['#title'] = $title;
|
51
|
}
|
52
|
|
53
|
return $build;
|
54
|
}
|
55
|
}
|
56
|
}
|