Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 /**
|
Chris@0
|
4 * @file
|
Chris@0
|
5 * Provide views data for book.module.
|
Chris@0
|
6 *
|
Chris@0
|
7 * @ingroup views_module_handlers
|
Chris@0
|
8 */
|
Chris@0
|
9
|
Chris@0
|
10 /**
|
Chris@0
|
11 * Implements hook_views_data().
|
Chris@0
|
12 */
|
Chris@0
|
13 function book_views_data() {
|
Chris@0
|
14 $data = [];
|
Chris@0
|
15 $data['book'] = [];
|
Chris@0
|
16 $data['book']['table'] = [];
|
Chris@0
|
17 $data['book']['table']['group'] = t('Book');
|
Chris@0
|
18
|
Chris@0
|
19 $data['book']['table']['join'] = [
|
Chris@0
|
20 'node_field_data' => [
|
Chris@0
|
21 'left_field' => 'nid',
|
Chris@0
|
22 'field' => 'nid',
|
Chris@0
|
23 ],
|
Chris@0
|
24 ];
|
Chris@0
|
25
|
Chris@0
|
26 $data['book']['nid'] = [
|
Chris@0
|
27 'title' => t('Page'),
|
Chris@0
|
28 'help' => t('The book page node.'),
|
Chris@0
|
29 'relationship' => [
|
Chris@0
|
30 'base' => 'node_field_data',
|
Chris@0
|
31 'id' => 'standard',
|
Chris@0
|
32 'label' => t('Book Page'),
|
Chris@0
|
33 ],
|
Chris@0
|
34 ];
|
Chris@0
|
35
|
Chris@0
|
36 $data['book']['bid'] = [
|
Chris@0
|
37 'title' => t('Top level book'),
|
Chris@0
|
38 'help' => t('The book the node is in.'),
|
Chris@0
|
39 'relationship' => [
|
Chris@0
|
40 'base' => 'node_field_data',
|
Chris@0
|
41 'id' => 'standard',
|
Chris@0
|
42 'label' => t('Book'),
|
Chris@0
|
43 ],
|
Chris@0
|
44 ];
|
Chris@0
|
45
|
Chris@0
|
46 $data['book']['pid'] = [
|
Chris@0
|
47 'title' => t('Parent'),
|
Chris@0
|
48 'help' => t('The parent book node.'),
|
Chris@0
|
49 'relationship' => [
|
Chris@0
|
50 'base' => 'node_field_data',
|
Chris@0
|
51 'id' => 'standard',
|
Chris@0
|
52 'label' => t('Book Parent'),
|
Chris@0
|
53 ],
|
Chris@0
|
54 ];
|
Chris@0
|
55
|
Chris@0
|
56 $data['book']['has_children'] = [
|
Chris@0
|
57 'title' => t('Page has Children'),
|
Chris@0
|
58 'help' => t('Flag indicating whether this book page has children'),
|
Chris@0
|
59 'field' => [
|
Chris@0
|
60 'id' => 'boolean',
|
Chris@0
|
61 ],
|
Chris@0
|
62 'sort' => [
|
Chris@0
|
63 'id' => 'standard',
|
Chris@0
|
64 ],
|
Chris@0
|
65 'filter' => [
|
Chris@0
|
66 'id' => 'boolean',
|
Chris@0
|
67 'label' => t('Has Children'),
|
Chris@0
|
68 ],
|
Chris@0
|
69 'argument' => [
|
Chris@0
|
70 'id' => 'numeric',
|
Chris@0
|
71 ],
|
Chris@0
|
72 ];
|
Chris@0
|
73
|
Chris@0
|
74 $data['book']['weight'] = [
|
Chris@0
|
75 'title' => t('Weight'),
|
Chris@0
|
76 'help' => t('The weight of the book page.'),
|
Chris@0
|
77 'field' => [
|
Chris@0
|
78 'id' => 'numeric',
|
Chris@0
|
79 ],
|
Chris@0
|
80 'sort' => [
|
Chris@0
|
81 'id' => 'standard',
|
Chris@0
|
82 ],
|
Chris@0
|
83 ];
|
Chris@0
|
84
|
Chris@0
|
85 $data['book']['depth'] = [
|
Chris@0
|
86 'title' => t('Depth'),
|
Chris@0
|
87 'help' => t('The depth of the book page in the hierarchy; top level books have a depth of 1.'),
|
Chris@0
|
88 'field' => [
|
Chris@0
|
89 'id' => 'numeric',
|
Chris@0
|
90 ],
|
Chris@0
|
91 'sort' => [
|
Chris@0
|
92 'id' => 'standard',
|
Chris@0
|
93 ],
|
Chris@0
|
94 'filter' => [
|
Chris@0
|
95 'id' => 'numeric',
|
Chris@0
|
96 ],
|
Chris@0
|
97 'argument' => [
|
Chris@0
|
98 'id' => 'standard',
|
Chris@0
|
99 ],
|
Chris@0
|
100 ];
|
Chris@0
|
101 $parents = [
|
Chris@0
|
102 1 => t('1st parent'),
|
Chris@0
|
103 2 => t('2nd parent'),
|
Chris@0
|
104 3 => t('3rd parent'),
|
Chris@0
|
105 4 => t('4th parent'),
|
Chris@0
|
106 5 => t('5th parent'),
|
Chris@0
|
107 6 => t('6th parent'),
|
Chris@0
|
108 7 => t('7th parent'),
|
Chris@0
|
109 8 => t('8th parent'),
|
Chris@0
|
110 9 => t('9th parent'),
|
Chris@0
|
111 ];
|
Chris@0
|
112 foreach ($parents as $i => $parent_label) {
|
Chris@0
|
113 $data['book']["p$i"] = [
|
Chris@0
|
114 'title' => $parent_label,
|
Chris@0
|
115 'help' => t('The @parent of book node.', ['@parent' => $parent_label]),
|
Chris@0
|
116 'relationship' => [
|
Chris@0
|
117 'base' => 'node_field_data',
|
Chris@0
|
118 'id' => 'standard',
|
Chris@0
|
119 'label' => t('Book @parent', ['@parent' => $parent_label]),
|
Chris@0
|
120 ],
|
Chris@0
|
121 ];
|
Chris@0
|
122 }
|
Chris@0
|
123
|
Chris@0
|
124 return $data;
|
Chris@0
|
125 }
|