Version 1
[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   protected $createdColumn = 'changed';
26
27   /**
28    * Set default values for the filters.
29    */
30   protected $filters = [
31     'status' => [
32       'value' => TRUE,
33       'table' => 'node_field_revision',
34       'field' => 'status',
35       'plugin_id' => 'boolean',
36       'entity_type' => 'node',
37       'entity_field' => 'status',
38     ]
39   ];
40
41   /**
42    * Overrides Drupal\views\Plugin\views\wizard\WizardPluginBase::rowStyleOptions().
43    *
44    * Node revisions do not support full posts or teasers, so remove them.
45    */
46   protected function rowStyleOptions() {
47     $options = parent::rowStyleOptions();
48     unset($options['teasers']);
49     unset($options['full_posts']);
50     return $options;
51   }
52
53   /**
54    * {@inheritdoc}
55    */
56   protected function defaultDisplayOptions() {
57     $display_options = parent::defaultDisplayOptions();
58
59     // Add permission-based access control.
60     $display_options['access']['type'] = 'perm';
61     $display_options['access']['options']['perm'] = 'view all revisions';
62
63     // Remove the default fields, since we are customizing them here.
64     unset($display_options['fields']);
65
66     /* Field: Content revision: Created date */
67     $display_options['fields']['changed']['id'] = 'changed';
68     $display_options['fields']['changed']['table'] = 'node_field_revision';
69     $display_options['fields']['changed']['field'] = 'changed';
70     $display_options['fields']['changed']['entity_type'] = 'node';
71     $display_options['fields']['changed']['entity_field'] = 'changed';
72     $display_options['fields']['changed']['alter']['alter_text'] = FALSE;
73     $display_options['fields']['changed']['alter']['make_link'] = FALSE;
74     $display_options['fields']['changed']['alter']['absolute'] = FALSE;
75     $display_options['fields']['changed']['alter']['trim'] = FALSE;
76     $display_options['fields']['changed']['alter']['word_boundary'] = FALSE;
77     $display_options['fields']['changed']['alter']['ellipsis'] = FALSE;
78     $display_options['fields']['changed']['alter']['strip_tags'] = FALSE;
79     $display_options['fields']['changed']['alter']['html'] = FALSE;
80     $display_options['fields']['changed']['hide_empty'] = FALSE;
81     $display_options['fields']['changed']['empty_zero'] = FALSE;
82     $display_options['fields']['changed']['plugin_id'] = 'field';
83     $display_options['fields']['changed']['type'] = 'timestamp';
84     $display_options['fields']['changed']['settings']['date_format'] = 'medium';
85     $display_options['fields']['changed']['settings']['custom_date_format'] = '';
86     $display_options['fields']['changed']['settings']['timezone'] = '';
87
88     /* Field: Content revision: Title */
89     $display_options['fields']['title']['id'] = 'title';
90     $display_options['fields']['title']['table'] = 'node_field_revision';
91     $display_options['fields']['title']['field'] = 'title';
92     $display_options['fields']['title']['entity_type'] = 'node';
93     $display_options['fields']['title']['entity_field'] = 'title';
94     $display_options['fields']['title']['label'] = '';
95     $display_options['fields']['title']['alter']['alter_text'] = 0;
96     $display_options['fields']['title']['alter']['make_link'] = 0;
97     $display_options['fields']['title']['alter']['absolute'] = 0;
98     $display_options['fields']['title']['alter']['trim'] = 0;
99     $display_options['fields']['title']['alter']['word_boundary'] = 0;
100     $display_options['fields']['title']['alter']['ellipsis'] = 0;
101     $display_options['fields']['title']['alter']['strip_tags'] = 0;
102     $display_options['fields']['title']['alter']['html'] = 0;
103     $display_options['fields']['title']['hide_empty'] = 0;
104     $display_options['fields']['title']['empty_zero'] = 0;
105     $display_options['fields']['title']['settings']['link_to_entity'] = 0;
106     $display_options['fields']['title']['plugin_id'] = 'field';
107     return $display_options;
108   }
109
110 }