1
|
<?php
|
2
|
|
3
|
defined('_JEXEC') or die('Access denied');
|
4
|
|
5
|
jimport('joomla.application.component.view');
|
6
|
jimport('joomla.environment.request');
|
7
|
jimport('joomla.log.log');
|
8
|
|
9
|
const ADVANCED = 'advanced';
|
10
|
const ALERTS = 'alerts';
|
11
|
const BROWSE = 'browse';
|
12
|
const CLAIMS = 'claims';
|
13
|
const COMMUNITIES = 'communities';
|
14
|
const DATASET = 'dataset';
|
15
|
const DATASETS = 'datasets';
|
16
|
const DATASOURCE = 'datasource';
|
17
|
const DATASOURCES = 'datasources';
|
18
|
const DEPOSIT = 'deposit';
|
19
|
const DEPOSITIONS = 'depositions';
|
20
|
const FIND = 'find';
|
21
|
const JOIN = 'join';
|
22
|
const LINK = 'link';
|
23
|
const MY_PROFILE = 'myProfile';
|
24
|
const OPENAIRE = 'openaire';
|
25
|
const ORGANIZATION = 'organization';
|
26
|
const ORGANIZATIONS = 'organizations';
|
27
|
const PARTICIPATE = 'participate';
|
28
|
const PEOPLE = 'people';
|
29
|
const PERSON = 'person';
|
30
|
const PROJECT = 'project';
|
31
|
const PROJECTS = 'projects';
|
32
|
const PROVIDERS = 'providers';
|
33
|
const PUBLICATION = 'publication';
|
34
|
const PUBLICATIONS = 'publications';
|
35
|
const SEARCH = 'search';
|
36
|
const LOG = 'router';
|
37
|
|
38
|
function OpenAIREBuildRoute(&$query) {
|
39
|
$segments = array();
|
40
|
$initialQuery = print_r($query, TRUE);
|
41
|
|
42
|
if ($query['option'] == 'com_openaire') {
|
43
|
switch (@$query['view']) {
|
44
|
case 'advancedsearchdatasources':
|
45
|
$segments[] = SEARCH;
|
46
|
$segments[] = ADVANCED;
|
47
|
$segments[] = DATASOURCES;
|
48
|
unset($query['option']);
|
49
|
unset($query['view']);
|
50
|
unset($query['Itemid']);
|
51
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
52
|
return $segments;
|
53
|
case 'advancedsearchorganizations':
|
54
|
$segments[] = SEARCH;
|
55
|
$segments[] = ADVANCED;
|
56
|
$segments[] = ORGANIZATIONS;
|
57
|
unset($query['option']);
|
58
|
unset($query['view']);
|
59
|
unset($query['Itemid']);
|
60
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
61
|
return $segments;
|
62
|
case 'advancedsearchpeople':
|
63
|
$segments[] = SEARCH;
|
64
|
$segments[] = ADVANCED;
|
65
|
$segments[] = PEOPLE;
|
66
|
unset($query['option']);
|
67
|
unset($query['view']);
|
68
|
unset($query['Itemid']);
|
69
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
70
|
return $segments;
|
71
|
case 'advancedsearchprojects':
|
72
|
$segments[] = SEARCH;
|
73
|
$segments[] = ADVANCED;
|
74
|
$segments[] = PROJECTS;
|
75
|
unset($query['option']);
|
76
|
unset($query['view']);
|
77
|
unset($query['Itemid']);
|
78
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
79
|
return $segments;
|
80
|
case 'advancedsearchpublications':
|
81
|
$segments[] = SEARCH;
|
82
|
$segments[] = ADVANCED;
|
83
|
$segments[] = PUBLICATIONS;
|
84
|
unset($query['option']);
|
85
|
unset($query['view']);
|
86
|
unset($query['Itemid']);
|
87
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
88
|
return $segments;
|
89
|
case 'alerts':
|
90
|
$segments[] = ΜΥ_PROFILE;
|
91
|
$segments[] = ALERTS;
|
92
|
unset($query['option']);
|
93
|
unset($query['view']);
|
94
|
unset($query['Itemid']);
|
95
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
96
|
case 'article':
|
97
|
$segments[] = SEARCH;
|
98
|
$segments[] = PUBLICATION;
|
99
|
unset($query['option']);
|
100
|
unset($query['view']);
|
101
|
unset($query['Itemid']);
|
102
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
103
|
return $segments;
|
104
|
case 'browsedatasets':
|
105
|
$segments[] = SEARCH;
|
106
|
$segments[] = BROWSE;
|
107
|
$segments[] = DATASETS;
|
108
|
unset($query['option']);
|
109
|
unset($query['view']);
|
110
|
unset($query['Itemid']);
|
111
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
112
|
return $segments;
|
113
|
case 'browsedatasources':
|
114
|
$segments[] = SEARCH;
|
115
|
$segments[] = BROWSE;
|
116
|
$segments[] = DATASOURCES;
|
117
|
unset($query['option']);
|
118
|
unset($query['view']);
|
119
|
unset($query['Itemid']);
|
120
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
121
|
return $segments;
|
122
|
case 'browseorganizations':
|
123
|
$segments[] = SEARCH;
|
124
|
$segments[] = BROWSE;
|
125
|
$segments[] = ORGANIZATIONS;
|
126
|
unset($query['option']);
|
127
|
unset($query['view']);
|
128
|
unset($query['Itemid']);
|
129
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
130
|
return $segments;
|
131
|
case 'browsepeople':
|
132
|
$segments[] = SEARCH;
|
133
|
$segments[] = BROWSE;
|
134
|
$segments[] = PEOPLE;
|
135
|
unset($query['option']);
|
136
|
unset($query['view']);
|
137
|
unset($query['Itemid']);
|
138
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
139
|
return $segments;
|
140
|
case 'browseprojects':
|
141
|
$segments[] = SEARCH;
|
142
|
$segments[] = BROWSE;
|
143
|
$segments[] = PROJECTS;
|
144
|
unset($query['option']);
|
145
|
unset($query['view']);
|
146
|
unset($query['Itemid']);
|
147
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
148
|
return $segments;
|
149
|
case 'browsepublications':
|
150
|
$segments[] = SEARCH;
|
151
|
$segments[] = BROWSE;
|
152
|
$segments[] = PUBLICATIONS;
|
153
|
unset($query['option']);
|
154
|
unset($query['view']);
|
155
|
unset($query['Itemid']);
|
156
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
157
|
return $segments;
|
158
|
case 'chart':
|
159
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
160
|
return $segments;
|
161
|
case 'claim1':
|
162
|
$segments[] = PARTICIPATE;
|
163
|
$segments[] = LINK;
|
164
|
$segments[] = 'idproject';
|
165
|
unset($query['option']);
|
166
|
unset($query['view']);
|
167
|
unset($query['Itemid']);
|
168
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
169
|
return $segments;
|
170
|
case 'claim2':
|
171
|
$segments[] = PARTICIPATE;
|
172
|
$segments[] = LINK;
|
173
|
$segments[] = 'idpubs';
|
174
|
unset($query['option']);
|
175
|
unset($query['view']);
|
176
|
unset($query['Itemid']);
|
177
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
178
|
return $segments;
|
179
|
case 'claim3':
|
180
|
$segments[] = PARTICIPATE;
|
181
|
$segments[] = LINK;
|
182
|
$segments[] = 'idaccess';
|
183
|
unset($query['option']);
|
184
|
unset($query['view']);
|
185
|
unset($query['Itemid']);
|
186
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
187
|
return $segments;
|
188
|
case 'claim4':
|
189
|
$segments[] = MY_PROFILE;
|
190
|
$segments[] = DEPOSITIONS;
|
191
|
unset($query['option']);
|
192
|
unset($query['view']);
|
193
|
unset($query['Itemid']);
|
194
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
195
|
return $segments;
|
196
|
case 'claims':
|
197
|
$segments[] = OPENAIRE;
|
198
|
$segments[] = CLAIMS;
|
199
|
unset($query['option']);
|
200
|
unset($query['view']);
|
201
|
unset($query['Itemid']);
|
202
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
203
|
return $segments;
|
204
|
case 'claim2raw': // search datasets raw is a raw view
|
205
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
206
|
return $segments;
|
207
|
case 'data': // data is a raw view
|
208
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
209
|
return $segments;
|
210
|
case 'dataset':
|
211
|
$segments[] = SEARCH;
|
212
|
$segments[] = DATASET;
|
213
|
unset($query['option']);
|
214
|
unset($query['view']);
|
215
|
unset($query['Itemid']);
|
216
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
217
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
218
|
return $segments;
|
219
|
case 'datasource':
|
220
|
$segments[] = SEARCH;
|
221
|
$segments[] = DATASOURCE;
|
222
|
unset($query['option']);
|
223
|
unset($query['view']);
|
224
|
unset($query['Itemid']);
|
225
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
226
|
return $segments;
|
227
|
case 'emailpublication':
|
228
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
229
|
return $segments;
|
230
|
case 'ingestion1':
|
231
|
$segments[] = PARTICIPATE;
|
232
|
$segments[] = DEPOSIT;
|
233
|
$segments[] = 'idrepos';
|
234
|
unset($query['option']);
|
235
|
unset($query['view']);
|
236
|
unset($query['Itemid']);
|
237
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
238
|
return $segments;
|
239
|
case 'ingestion2':
|
240
|
$segments[] = PARTICIPATE;
|
241
|
$segments[] = DEPOSIT;
|
242
|
$segments[] = 'repo';
|
243
|
unset($query['option']);
|
244
|
unset($query['view']);
|
245
|
unset($query['Itemid']);
|
246
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
247
|
return $segments;
|
248
|
case 'institutions': // institutions is a raw view
|
249
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
250
|
return $segments;
|
251
|
case 'invenio':
|
252
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
253
|
return $segments;
|
254
|
case 'organization':
|
255
|
$segments[] = SEARCH;
|
256
|
$segments[] = ORGANIZATION;
|
257
|
unset($query['option']);
|
258
|
unset($query['view']);
|
259
|
unset($query['Itemid']);
|
260
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
261
|
return $segments;
|
262
|
case 'person':
|
263
|
$segments[] = SEARCH;
|
264
|
$segments[] = PERSON;
|
265
|
unset($query['option']);
|
266
|
unset($query['view']);
|
267
|
unset($query['Itemid']);
|
268
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
269
|
return $segments;
|
270
|
case 'printpublication': // print publication is a raw view
|
271
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
272
|
return $segments;
|
273
|
case 'project':
|
274
|
$segments[] = SEARCH;
|
275
|
$segments[] = PROJECT;
|
276
|
unset($query['option']);
|
277
|
unset($query['view']);
|
278
|
unset($query['Itemid']);
|
279
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
280
|
return $segments;
|
281
|
case 'projects': // projects is a raw view
|
282
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
283
|
return $segments;
|
284
|
case 'publications': // publications is a raw view
|
285
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
286
|
return $segments;
|
287
|
case 'repositories':
|
288
|
$segments[] = SEARCH;
|
289
|
$segments[] = PROVIDERS;
|
290
|
unset($query['option']);
|
291
|
unset($query['view']);
|
292
|
unset($query['Itemid']);
|
293
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
294
|
return $segments;
|
295
|
case 'search':
|
296
|
$segments[] = SEARCH;
|
297
|
$segments[] = FIND;
|
298
|
unset($query['option']);
|
299
|
unset($query['view']);
|
300
|
unset($query['Itemid']);
|
301
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
302
|
return $segments;
|
303
|
case 'searchdatasets':
|
304
|
$segments[] = SEARCH;
|
305
|
$segments[] = FIND;
|
306
|
$segments[] = DATASETS;
|
307
|
unset($query['option']);
|
308
|
unset($query['view']);
|
309
|
unset($query['Itemid']);
|
310
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
311
|
return $segments;
|
312
|
case 'searchdatasetsraw': // search datasets raw is a raw view
|
313
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
314
|
return $segments;
|
315
|
case 'searchdatasources':
|
316
|
$segments[] = SEARCH;
|
317
|
$segments[] = FIND;
|
318
|
$segments[] = DATASOURCES;
|
319
|
unset($query['option']);
|
320
|
unset($query['view']);
|
321
|
unset($query['Itemid']);
|
322
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
323
|
return $segments;
|
324
|
case 'searchdatasourcesraw': // search datasources raw is a raw view
|
325
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
326
|
return $segments;
|
327
|
case 'searchorganizations':
|
328
|
$segments[] = SEARCH;
|
329
|
$segments[] = FIND;
|
330
|
$segments[] = ORGANIZATIONS;
|
331
|
unset($query['option']);
|
332
|
unset($query['view']);
|
333
|
unset($query['Itemid']);
|
334
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
335
|
return $segments;
|
336
|
case 'searchorganizationsraw': // search organizations raw is a raw view
|
337
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
338
|
return $segments;
|
339
|
case 'searchpeople':
|
340
|
$segments[] = SEARCH;
|
341
|
$segments[] = FIND;
|
342
|
$segments[] = PEOPLE;
|
343
|
unset($query['option']);
|
344
|
unset($query['view']);
|
345
|
unset($query['Itemid']);
|
346
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
347
|
return $segments;
|
348
|
case 'searchpeopleraw': // search people raw is a raw view
|
349
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
350
|
return $segments;
|
351
|
case 'searchprojects':
|
352
|
$segments[] = SEARCH;
|
353
|
$segments[] = FIND;
|
354
|
$segments[] = PROJECTS;
|
355
|
unset($query['option']);
|
356
|
unset($query['view']);
|
357
|
unset($query['Itemid']);
|
358
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
359
|
return $segments;
|
360
|
case 'searchprojectsraw': // search projects raw is a raw view
|
361
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
362
|
return $segments;
|
363
|
case 'searchpublications':
|
364
|
$segments[] = SEARCH;
|
365
|
$segments[] = FIND;
|
366
|
$segments[] = PUBLICATIONS;
|
367
|
unset($query['option']);
|
368
|
unset($query['view']);
|
369
|
unset($query['Itemid']);
|
370
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
371
|
return $segments;
|
372
|
case 'searchpublicationsraw': // search publications raw is a raw view
|
373
|
JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
374
|
return $segments;
|
375
|
case 'statistics':
|
376
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
377
|
return $segments;
|
378
|
case 'topics': // topics is a raw view
|
379
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
380
|
return $segments;
|
381
|
case 'validator':
|
382
|
$segments[] = PARTICIPATE;
|
383
|
$segments[] = JOIN;
|
384
|
unset($query['option']);
|
385
|
unset($query['view']);
|
386
|
unset($query['Itemid']);
|
387
|
//JLog :: add('Built route ' . $initialQuery . ' into ' . print_r($segments, TRUE) . '', JLog :: INFO, LOG);
|
388
|
return $segments;
|
389
|
case 'widget': // widget is a raw view
|
390
|
//JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
391
|
return $segments;
|
392
|
}
|
393
|
}
|
394
|
JLog :: add('Ignoring route ' . $initialQuery . '', JLog :: INFO, LOG);
|
395
|
return $segments;
|
396
|
}
|
397
|
|
398
|
|
399
|
function OpenAIREParseRoute($segments) {
|
400
|
JLog :: add('Parse route called', JLog :: WARNING, LOG);
|
401
|
return $segments;
|
402
|
}
|
403
|
|