577b4da4b05dac389d5298c2924b4000050f15ea
[yaffs-website] / web / core / modules / node / src / Plugin / views / wizard / NodeRevision.php
1 <?php
2
3 namespace Drupal\node\Plugin\views\wizard;
4
5 use Drupal\views\Plugin\views\wizard\WizardPluginBase;
6
7 /**
8  * @todo: replace numbers with constants.
9  */
10
11 /**
12  * Tests creating node revision views with the wizard.
13  *
14  * @ViewsWizard(
15  *   id = "node_revision",
16  *   base_table = "node_field_revision",
17  *   title = @Translation("Content revisions")
18  * )
19  */
20 class NodeRevision extends WizardPluginBase {
21
22   /**
23    * Set the created column.
24    *
25    * @var string
26    */
27   protected $createdColumn = 'changed';
28
29   /**
30    * Set default values for the filters.
31    */
32   protected $filters = [
33     'status' => [
34       'value' => TRUE,
35       'table' => 'node_field_revision',
36       'field' => 'status',
37       'plugin_id' => 'boolean',
38       'entity_type' => 'node',
39       'entity_field' => 'status',
40     ]
41   ];
42
43   /**
44    * Overrides Drupal\views\Plugin\views\wizard\WizardPluginBase::rowStyleOptions().
45    *
46    * Node revisions do not support full posts or teasers, so remove them.
47    */
48   protected function rowStyleOptions() {
49     $options = parent::rowStyleOptions();
50     unset($options['teasers']);
51     unset($options['full_posts']);
52     return $options;
53   }
54
55   /**
56    * {@inheritdoc}
57    */
58   protected function defaultDisplayOptions() {
59     $display_options = parent::defaultDisplayOptions();
60
61     // Add permission-based access control.
62     $display_options['access']['type'] = 'perm';
63     $display_options['access']['options']['perm'] = 'view all revisions';
64
65     // Remove the default fields, since we are customizing them here.
66     unset($display_options['fields']);
67
68     /* Field: Content revision: Created date */
69     $display_options['fields']['changed']['id'] = 'changed';
70     $display_options['fields']['changed']['table'] = 'node_field_revision';
71     $display_options['fields']['changed']['field'] = 'changed';
72     $display_options['fields']['changed']['entity_type'] = 'node';
73     $display_options['fields']['changed']['entity_field'] = 'changed';
74     $display_options['fields']['changed']['alter']['alter_text'] = FALSE;
75     $display_options['fields']['changed']['alter']['make_link'] = FALSE;
76     $display_options['fields']['changed']['alter']['absolute'] = FALSE;
77     $display_options['fields']['changed']['alter']['trim'] = FALSE;
78     $display_options['fields']['changed']['alter']['word_boundary'] = FALSE;
79     $display_options['fields']['changed']['alter']['ellipsis'] = FALSE;
80     $display_options['fields']['changed']['alter']['strip_tags'] = FALSE;
81     $display_options['fields']['changed']['alter']['html'] = FALSE;
82     $display_options['fields']['changed']['hide_empty'] = FALSE;
83     $display_options['fields']['changed']['empty_zero'] = FALSE;
84     $display_options['fields']['changed']['plugin_id'] = 'field';
85     $display_options['fields']['changed']['type'] = 'timestamp';
86     $display_options['fields']['changed']['settings']['date_format'] = 'medium';
87     $display_options['fields']['changed']['settings']['custom_date_format'] = '';
88     $display_options['fields']['changed']['settings']['timezone'] = '';
89
90     /* Field: Content revision: Title */
91     $display_options['fields']['title']['id'] = 'title';
92     $display_options['fields']['title']['table'] = 'node_field_revision';
93     $display_options['fields']['title']['field'] = 'title';
94     $display_options['fields']['title']['entity_type'] = 'node';
95     $display_options['fields']['title']['entity_field'] = 'title';
96     $display_options['fields']['title']['label'] = '';
97     $display_options['fields']['title']['alter']['alter_text'] = 0;
98     $display_options['fields']['title']['alter']['make_link'] = 0;
99     $display_options['fields']['title']['alter']['absolute'] = 0;
100     $display_options['fields']['title']['alter']['trim'] = 0;
101     $display_options['fields']['title']['alter']['word_boundary'] = 0;
102     $display_options['fields']['title']['alter']['ellipsis'] = 0;
103     $display_options['fields']['title']['alter']['strip_tags'] = 0;
104     $display_options['fields']['title']['alter']['html'] = 0;
105     $display_options['fields']['title']['hide_empty'] = 0;
106     $display_options['fields']['title']['empty_zero'] = 0;
107     $display_options['fields']['title']['settings']['link_to_entity'] = 0;
108     $display_options['fields']['title']['plugin_id'] = 'field';
109     return $display_options;
110   }
111
112 }