/[drupal]/contributions/modules/views/modules/statistics.views.inc
ViewVC logotype

Contents of /contributions/modules/views/modules/statistics.views.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.9 - (show annotations) (download) (as text)
Tue Oct 28 20:21:37 2008 UTC (12 months, 4 weeks ago) by merlinofchaos
Branch: MAIN
CVS Tags: DRUPAL-6--2-7, DRUPAL-6--2-6, DRUPAL-6--2-5, DRUPAL-6--2-4, DRUPAL-6--2-3, DRUPAL-6--2-2, HEAD
Branch point for: DRUPAL-6--2, DRUPAL-6--3, DRUPAL-7--3
Changes since 1.8: +4 -1 lines
File MIME type: text/x-php
#327151: Add filter for node_counter.timestamp.
1 <?php
2 // $Id: statistics.views.inc,v 1.8 2008/09/03 19:21:29 merlinofchaos Exp $
3 /**
4 * @file
5 * Provide views data and handlers for statistics.module
6 */
7
8 /**
9 * @defgroup views_statistics_module statistics.module handlers
10 *
11 * Includes the ability to create views of just the statistics table.
12 * @{
13 */
14
15 /**
16 * Implementation of hook_views_data()
17 */
18 function statistics_views_data() {
19 // Basic table information.
20
21 // ----------------------------------------------------------------
22 // node_counter table
23
24 $data['node_counter']['table']['group'] = t('Node statistics');
25
26 $data['node_counter']['table']['join'] = array(
27 // ...to the node table
28 'node' => array(
29 'left_field' => 'nid',
30 'field' => 'nid',
31 ),
32 );
33
34 // totalcount
35 $data['node_counter']['totalcount'] = array(
36 'title' => t('Total views'),
37 'help' => t('The total number of times the node has been viewed.'),
38
39 'field' => array(
40 'handler' => 'views_handler_field_numeric',
41 'click sortable' => TRUE,
42 ),
43 'filter' => array(
44 'handler' => 'views_handler_filter_numeric',
45 ),
46 'sort' => array(
47 'handler' => 'views_handler_sort',
48 ),
49 );
50
51 // daycount
52 $data['node_counter']['daycount'] = array(
53 'title' => t('Views today'),
54 'help' => t('The total number of times the node has been viewed today.'),
55
56 'field' => array(
57 'handler' => 'views_handler_field_numeric',
58 'click sortable' => TRUE,
59 ),
60 'filter' => array(
61 'handler' => 'views_handler_filter_numeric',
62 ),
63 'sort' => array(
64 'handler' => 'views_handler_sort',
65 ),
66 );
67
68 // timestamp
69 $data['node_counter']['timestamp'] = array(
70 'title' => t('Most recent view'),
71 'help' => t('The most recent time the node has been viewed.'),
72
73 'field' => array(
74 'handler' => 'views_handler_field_date',
75 'click sortable' => TRUE,
76 ),
77 'filter' => array(
78 'handler' => 'views_handler_filter_date',
79 ),
80 'sort' => array(
81 'handler' => 'views_handler_sort',
82 ),
83 );
84
85
86 // ----------------------------------------------------------------
87 // accesslog table
88
89 $data['accesslog']['table']['group'] = t('Access log');
90
91 // Advertise this table as a possible base table
92 $data['accesslog']['table']['base'] = array(
93 'field' => 'aid',
94 'title' => t('Access log'),
95 'help' => t('Stores site access information.'),
96 'weight' => 10,
97 );
98
99 // For other base tables, explain how we join
100 $data['accesslog']['table']['join'] = array(
101 'users' => array(
102 'field' => 'uid',
103 'left_field' => 'uid',
104 ),
105 );
106
107 // session id
108 $data['accesslog']['sid'] = array(
109 'title' => t('Session ID'),
110 'help' => t('Browser session ID of user that visited page.'),
111
112 'field' => array(
113 'handler' => 'views_handler_field',
114 'click sortable' => TRUE,
115 ),
116 'filter' => array(
117 'handler' => 'views_handler_filter_string',
118 ),
119 'argument' => array(
120 'handler' => 'views_handler_argument_string',
121 ),
122 'sort' => array(
123 'handler' => 'views_handler_sort',
124 ),
125 );
126
127 // title
128 $data['accesslog']['title'] = array(
129 'title' => t('Page title'),
130 'help' => t('Title of page visited.'),
131
132 'field' => array(
133 'handler' => 'views_handler_field_accesslog_path',
134 'click sortable' => TRUE,
135 ),
136 'filter' => array(
137 'handler' => 'views_handler_filter_string',
138 ),
139 'sort' => array(
140 'handler' => 'views_handler_sort',
141 ),
142 'argument' => array(
143 'handler' => 'views_handler_argument_string',
144 ),
145 );
146
147 // path
148 $data['accesslog']['path'] = array(
149 'title' => t('Path'),
150 'help' => t('Internal path to page visited (relative to Drupal root.)'),
151
152 'field' => array(
153 'handler' => 'views_handler_field_accesslog_path',
154 'click sortable' => TRUE,
155 ),
156 'filter' => array(
157 'handler' => 'views_handler_filter_string',
158 ),
159 'sort' => array(
160 'handler' => 'views_handler_sort',
161 ),
162 //No argument here. Can't send forward slashes as arguments.
163 //Can be worked around by node ID.
164 //(but what about aliases?)
165 );
166
167 // referrer
168 $data['accesslog']['url'] = array(
169 'title' => t('Referrer'),
170 'help' => t('Referrer URI.'),
171 'field' => array(
172 'handler' => 'views_handler_field_url',
173 'click sortable' => TRUE,
174 ),
175 'filter' => array(
176 'handler' => 'views_handler_filter_string',
177 ),
178 'sort' => array(
179 'handler' => 'views_handler_sort',
180 ),
181 );
182
183 // hostname
184 $data['accesslog']['hostname'] = array(
185 'title' => t('Hostname'),
186 'help' => t('Hostname of user that visited the page.'),
187 'field' => array(
188 'handler' => 'views_handler_field',
189 'click sortable' => TRUE,
190 ),
191 'filter' => array(
192 'handler' => 'views_handler_filter_string',
193 ),
194 'sort' => array(
195 'handler' => 'views_handler_sort',
196 ),
197 'argument' => array(
198 'handler' => 'views_handler_argument_string',
199 ),
200 );
201
202 // user
203 $data['accesslog']['uid'] = array(
204 'title' => t('User'),
205 'help' => t('The user who visited the site.'),
206 'relationship' => array(
207 'handler' => 'views_handler_relationship',
208 'base' => 'users',
209 'field' => 'uid',
210 ),
211 );
212
213 // timer
214 $data['accesslog']['timer'] = array(
215 'title' => t('Timer'),
216 'help' => t('Time in milliseconds that the page took to load.'),
217 'field' => array(
218 'handler' => 'views_handler_field_numeric',
219 'click sortable' => TRUE,
220 ),
221 'filter' => array(
222 'handler' => 'views_handler_filter_numeric',
223 ),
224 'sort' => array(
225 'handler' => 'views_handler_sort',
226 ),
227 );
228
229 // timestamp
230 $data['accesslog']['timestamp'] = array(
231 'title' => t('Timestamp'),
232 'help' => t('Timestamp of when the page was visited.'),
233 'field' => array(
234 'handler' => 'views_handler_field_date',
235 'click sortable' => TRUE,
236 ),
237 'sort' => array(
238 'handler' => 'views_handler_sort',
239 ),
240 'filter' => array(
241 'handler' => 'views_handler_filter_date',
242 ),
243 );
244
245
246 return $data;
247 }
248
249 /**
250 * Implementation of hook_views_handlers() to register all of the basic handlers
251 * views uses.
252 */
253 function statistics_views_handlers() {
254 return array(
255 'info' => array(
256 'path' => drupal_get_path('module', 'views') . '/modules/statistics',
257 ),
258 'handlers' => array(
259 'views_handler_field_accesslog_path' => array(
260 'parent' => 'views_handler_field',
261 ),
262 ),
263 );
264 }
265
266 /**
267 * @}
268 */

  ViewVC Help
Powered by ViewVC 1.1.2