1
|
<?php
|
2
|
defined('_JEXEC') or die('Restricted access');
|
3
|
|
4
|
|
5
|
jimport('joomla.environment.uri');
|
6
|
jimport('joomla.html.html');
|
7
|
jimport('joomla.methods');
|
8
|
jimport('joomla.log.log');
|
9
|
JHtml :: _('behavior.framework',true);
|
10
|
JHtml :: _('behavior.calendar');
|
11
|
require_once(JPATH_COMPONENT . DS . 'helpers' . DS . 'form.php');
|
12
|
|
13
|
$document = JFactory::getDocument();
|
14
|
$application = JFactory :: getApplication();
|
15
|
$application->set("jquery", true);
|
16
|
$document->addStyleSheet(JRoute :: _(JUri :: base() . 'components/com_openaire/js/DataTables-1.10.0/extensions/TableTools/css/dataTables.tableTools.css'));
|
17
|
$document->addStyleSheet(JRoute :: _(JUri :: base() . 'components/com_openaire/js/DataTables-1.10.0/media/css/jquery.dataTables.css'));
|
18
|
$document->addScript(JRoute :: _(JUri :: base() . 'templates/yoo_solar/warp/libraries/jquery/jquery.js'));
|
19
|
$document->addScript(JRoute :: _(JUri :: base() . 'components/com_openaire/js/DataTables-1.10.0/media/js/jquery.dataTables.min.js'));
|
20
|
$document->addScript(JRoute :: _(JUri :: base() . 'components/com_openaire/js/DataTables-1.10.0/extensions/TableTools/js/dataTables.tableTools.min.js'));
|
21
|
$document->setTitle("Claims");
|
22
|
$document->addStyleSheet('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/smoothness/jquery-ui.css');
|
23
|
$document->addScript("http://code.jquery.com/ui/1.11.1/jquery-ui.min.js");
|
24
|
//$tipModel = $this->getModel('tooltip');
|
25
|
JViewLegacy:: loadHelper('PublicationHelper');
|
26
|
JViewLegacy:: loadHelper('DatasetHelper');
|
27
|
JViewLegacy:: loadHelper('ProjectHelper');
|
28
|
?>
|
29
|
|
30
|
<div class="headline">
|
31
|
<h1 class="title">Claimed Documents (<?php echo($this->fromDate) ?> - <?php echo($this->toDate) ?>)</h1>
|
32
|
</div>
|
33
|
<h4> </h4>
|
34
|
|
35
|
<h5>Change period:</h5>
|
36
|
<?php OpenaireHelperForm :: openForm(array('option' => JFactory :: getApplication()->input->get('option'), 'view' => JFactory :: getApplication()->input->get('view'), 'Itemid' => JFactory :: getApplication()->input->get('Itemid')), array('method' => 'post', 'id' => 'form')); ?>
|
37
|
From
|
38
|
<input type="text" id="fromDate" value="<?php echo($this->fromDate) ?>" size="10" />
|
39
|
<input type="hidden" id="fromDateShadow" name="fromDate" value="<?php echo urlencode($this->fromDate); ?>"/>
|
40
|
To
|
41
|
<input type="text" id="toDate" value="<?php echo($this->toDate) ?>" size="10" />
|
42
|
<input type="hidden" id="toDateShadow" name="toDate" value="<?php echo urlencode($this->toDate); ?>"/>
|
43
|
<input type="hidden" name="action" id="action" value="changeDate" />
|
44
|
<input type="hidden" id="toRemove" name="toRemove" value="" />
|
45
|
<input type="hidden" id="toRemoveEmails" name="toRemoveEmails" value="" />
|
46
|
|
47
|
<input type="submit" />
|
48
|
<?php OpenaireHelperForm :: closeForm();
|
49
|
if (count($this->claims) == 0) { ?>
|
50
|
No publications were deposited in the specified date range.
|
51
|
<?php } else { ?>
|
52
|
<div class="filterClaims">
|
53
|
<input type="checkbox" class="cat_project" id="cat_project" value="cat_project">Projects
|
54
|
<input type="checkbox" class="cat_concept" id="cat_concept" value="cat_concept">Concepts
|
55
|
<input type="checkbox" class="cat_publ_dataset" id="cat_publ_dataset" value="cat_publ_dataset">Publication/Dataset
|
56
|
</div>
|
57
|
<table width="100%" cellspacing="0" cellpadding="0" border="0" class=" display data-table" id="claimsTable">
|
58
|
<thead>
|
59
|
<tr class="even">
|
60
|
<!-- <th align="left" valign="bottom" nowrap="nowrap">Source type</th>-->
|
61
|
<th align="left" valign="bottom" nowrap="nowrap" width="40%">Title</th>
|
62
|
<th align="left" valign="bottom" nowrap="nowrap" width="30%">Link to</th>
|
63
|
<th align="left" valign="bottom" nowrap="nowrap" width="15%">Claim Date</th>
|
64
|
<?php
|
65
|
if (JFactory::getUser()->get('isRoot')) {
|
66
|
?>
|
67
|
<th align="left" valign="bottom" nowrap="nowrap" width="10%">
|
68
|
Claimed by
|
69
|
</th>
|
70
|
<?php
|
71
|
}
|
72
|
?>
|
73
|
</tr>
|
74
|
</thead>
|
75
|
|
76
|
<tbody>
|
77
|
<?php
|
78
|
$i = 0;
|
79
|
foreach ($this->claims as $doc) {
|
80
|
if ($doc->publication != NULL &&(count($doc->projects)>0||count($doc->concepts)>0||count($doc->publications)>0||count($doc->datasets)>0)) {
|
81
|
$oddEven = (($i % 2 == 0) ? 'even' : 'odd');
|
82
|
foreach ($doc->publications as $pub) {
|
83
|
$i++;
|
84
|
write_table_row($oddEven,'tr_publication','Publication/Dataset',$doc,'Publication/Dataset',
|
85
|
htmlspecialchars($pub -> title),$pub->date,isset($pub->userEmail)?$pub->userEmail:'',$pub->claimId);
|
86
|
}
|
87
|
foreach ($doc->datasets as $dataset) {
|
88
|
$i++;
|
89
|
write_table_row($oddEven,'tr_dataset','Publication/Dataset',$doc ,'Publication/Dataset',
|
90
|
htmlspecialchars($dataset -> title),$dataset->date,isset($dataset->userEmail)?$dataset->userEmail:'',$dataset->claimId);
|
91
|
}
|
92
|
foreach ($doc->projects as $project) {
|
93
|
$i++;
|
94
|
$project_title= '<div class ="project" id="project" title="'.$project -> title.'">
|
95
|
<span class="acronym" id="acronym" data-info="'.($project -> projectId).'">
|
96
|
<span class="tooltip" id="tooltip">'.
|
97
|
|
98
|
($project -> acronym == NULL)
|
99
|
? (
|
100
|
(strlen($project -> title) > OpenAireViewClaim3 :: MAX_TITLE)
|
101
|
? (substr($project -> title, 0, OpenAireViewClaim3 :: MAX_TITLE - strlen("...")) . "...")
|
102
|
: $project -> title) : $project -> acronym.'</span></span>
|
103
|
<div style="display: none;">
|
104
|
<div id="'.($project -> projectId).'">'.($project -> title).
|
105
|
'</div></div> </div>';
|
106
|
write_table_row($oddEven,'tr_project','Publication/Dataset',$doc ,'Project',
|
107
|
$project_title,$project->date, isset($project->userEmail)?$project->userEmail:'' ,$project->claimId);
|
108
|
}
|
109
|
foreach ($doc->concepts as $concept) {
|
110
|
$i++;
|
111
|
write_table_row($oddEven,'tr_concept','Publication/Dataset',$doc,'Concept',
|
112
|
$concept->title ,$concept->date,isset($concept->userEmail)?$concept->userEmail:'',$concept->claimId);
|
113
|
}
|
114
|
}
|
115
|
}
|
116
|
|
117
|
?>
|
118
|
|
119
|
</tbody>
|
120
|
</table>
|
121
|
<div id="dialog-confirm"></div>
|
122
|
<?php }
|
123
|
|
124
|
function write_table_row($oddEven,$category,$source_type,$doc,$target_type,$target_title,$date,$email,$id) {
|
125
|
$publication=$doc -> publication;
|
126
|
?>
|
127
|
<tr class="publication-<?php echo $publication->id.' '.$category ?> " id="<?php echo $id;?>" data-email="<?php echo $email;?>" style="display:table-row;">
|
128
|
<!-- <td >
|
129
|
<?php echo($source_type); ?>
|
130
|
</td>-->
|
131
|
<td >
|
132
|
<div id="claimed" class="yoo-tooltip-toggler">
|
133
|
<?php
|
134
|
format_title($doc);
|
135
|
?>
|
136
|
</div>
|
137
|
</td>
|
138
|
<td title="<?php echo ($target_title);?>">
|
139
|
<?php
|
140
|
echo ($target_type.' : <h4>'.$target_title.'</h4>');
|
141
|
?>
|
142
|
|
143
|
</td>
|
144
|
|
145
|
<td >
|
146
|
<?php
|
147
|
echo date("Y/m/d H:i", $date / 1000)
|
148
|
?>
|
149
|
</td>
|
150
|
<?php
|
151
|
if (JFactory::getUser()->get('isRoot')) {
|
152
|
?>
|
153
|
<td >
|
154
|
<?php echo $email?>
|
155
|
</td>
|
156
|
<?php
|
157
|
}
|
158
|
?>
|
159
|
</tr>
|
160
|
<?php
|
161
|
}
|
162
|
|
163
|
function format_title($doc) {
|
164
|
$publication=$doc -> publication;
|
165
|
if ( $doc -> type==='dataset'){
|
166
|
$title=DatasetHelper :: _formatTitle(htmlspecialchars($publication -> title), $publication -> accessMode, $publication -> id, $publication -> source, $publication -> url, '',
|
167
|
isset($publication -> inferred)?$publication -> inferred:false,
|
168
|
isset($publication -> trust)?$publication -> trust:"",
|
169
|
isset($publication -> provenance)?$publication -> provenance:"");
|
170
|
echo ($title);
|
171
|
|
172
|
|
173
|
}else{
|
174
|
?>
|
175
|
|
176
|
<?php
|
177
|
echo( PublicationHelper :: _formatTitle(htmlspecialchars($publication -> title), $publication -> accessMode, $publication -> id, $publication -> source,
|
178
|
$publication -> url, '',
|
179
|
isset($publication -> inferred)?$publication -> inferred:false,
|
180
|
isset($publication -> trust)?$publication -> trust:"",
|
181
|
isset($publication -> provenance)?$publication -> provenance:""));
|
182
|
?>
|
183
|
|
184
|
<?php
|
185
|
}
|
186
|
}
|
187
|
?>
|
188
|
<script language="javascript" type="text/javascript">
|
189
|
var tableOptions = {};
|
190
|
var table = null;
|
191
|
var size ="";
|
192
|
<?php
|
193
|
if(!isset($i)){
|
194
|
//do nothing
|
195
|
}
|
196
|
else if($i>50){
|
197
|
?>
|
198
|
tableOptions = {
|
199
|
|
200
|
"lengthMenu": [[10, 20, 50, -1], [10, 20, 50, "All"]],
|
201
|
"order": [[ 3, "desc" ]],
|
202
|
"dom": 'T<"top"iflp>rt<"bottom"ip><"clear">',
|
203
|
tableTools: {
|
204
|
"sRowSelect": "multi",
|
205
|
"aButtons": [ "select_all", "select_none", "delete_selected" ]
|
206
|
|
207
|
|
208
|
}
|
209
|
};
|
210
|
<?php
|
211
|
}else if($i>20){
|
212
|
?>
|
213
|
tableOptions = {
|
214
|
|
215
|
"lengthMenu": [[10, 20, -1], [10, 20, "All"]],
|
216
|
"order": [[ 3, "desc" ]],
|
217
|
"dom": 'T<"top"iflp>rt<"bottom"ip><"clear">',
|
218
|
tableTools: {
|
219
|
"sRowSelect": "multi",
|
220
|
"aButtons": [ "select_all", "select_none", "delete_selected" ]
|
221
|
|
222
|
|
223
|
}
|
224
|
};
|
225
|
|
226
|
<?php
|
227
|
}else if($i>10){
|
228
|
?>
|
229
|
tableOptions = {
|
230
|
|
231
|
"lengthMenu": [[10, -1], [10, "All"]],
|
232
|
"order": [[ 3, "desc" ]],
|
233
|
"dom": 'T<"top"iflp>rt<"bottom"ip><"clear">',
|
234
|
tableTools: {
|
235
|
"sRowSelect": "multi",
|
236
|
"aButtons": [ "select_all", "select_none", "delete_selected" ]
|
237
|
|
238
|
|
239
|
}
|
240
|
};
|
241
|
|
242
|
<?php
|
243
|
}else {
|
244
|
|
245
|
?>
|
246
|
tableOptions = {
|
247
|
"order": [[ 3, "desc" ]],
|
248
|
"dom": 'T<"top"f>rt<"bottom"><"clear">',
|
249
|
tableTools: {
|
250
|
"sRowSelect": "multi",
|
251
|
"aButtons": [ "select_all", "select_none", "delete_selected" ]
|
252
|
|
253
|
|
254
|
}
|
255
|
};
|
256
|
|
257
|
<?php
|
258
|
}
|
259
|
?>
|
260
|
|
261
|
|
262
|
jQuery.fn.dataTable.TableTools.buttons.delete_selected = jQuery.extend(
|
263
|
true,
|
264
|
jQuery.fn.dataTable.TableTools.buttonBase,
|
265
|
{
|
266
|
"sNewLine": "<br>",
|
267
|
"sButtonText": "Delete",
|
268
|
"sDiv": "",
|
269
|
"fnClick": function( nButton, oConfig ) {
|
270
|
jQuery("#dialog-confirm").html("Confirm Dialog Box");
|
271
|
//confirm("Are you sure you want to delete this?")
|
272
|
/*if( jQuery("#dialog-confirm").dialog({
|
273
|
resizable: false,
|
274
|
modal: true,
|
275
|
title: "Modal",
|
276
|
height: 250,
|
277
|
width: 400,
|
278
|
buttons: {
|
279
|
"Yes": function () {
|
280
|
$(this).dialog('close');
|
281
|
callback(true);
|
282
|
},
|
283
|
"No": function () {
|
284
|
$(this).dialog('close');
|
285
|
callback(false);
|
286
|
}
|
287
|
}
|
288
|
})){
|
289
|
*/
|
290
|
var selected = [];
|
291
|
var selectedEmail = [];
|
292
|
var rows = this.fnGetSelected();
|
293
|
if(confirm(rows.length+" selected claim(s). Are you sure you want to delete them?")){
|
294
|
|
295
|
jQuery.each (rows, function(index, row){
|
296
|
selected.push(row.id);
|
297
|
selectedEmail.push(row.getAttribute('data-email'));
|
298
|
});
|
299
|
jQuery("#action").val('removeSelected');
|
300
|
jQuery("#toRemove").val(selected.join(","));
|
301
|
jQuery("#toRemoveEmails").val(selectedEmail.join(","));
|
302
|
|
303
|
jQuery("#form").submit();
|
304
|
}
|
305
|
else{
|
306
|
return false;
|
307
|
}
|
308
|
|
309
|
|
310
|
|
311
|
// Define the Dialog and its properties.
|
312
|
|
313
|
}
|
314
|
}
|
315
|
);
|
316
|
window.addEvent('domready', function() {
|
317
|
Calendar.setup({
|
318
|
inputField: 'fromDate', // id of the input field
|
319
|
ifFormat: '%d/%m/%Y', // format of the input field
|
320
|
button: 'fromDate', // trigger for the calendar (button ID)
|
321
|
align: 'Tl', // alignment (defaults to "Bl")
|
322
|
step: 1,
|
323
|
singleClick: true
|
324
|
});
|
325
|
Calendar.setup({
|
326
|
inputField: 'toDate', // id of the input field
|
327
|
ifFormat: '%d/%m/%Y', // format of the input field
|
328
|
button: 'toDate', // trigger for the calendar (button ID)
|
329
|
align: 'Tl', // alignment (defaults to "Bl")
|
330
|
step: 1,
|
331
|
singleClick: true
|
332
|
});
|
333
|
$('form').addEvent('submit', function() {
|
334
|
$('fromDateShadow').value = encodeURIComponent($('fromDate').value);
|
335
|
$('toDateShadow').value = encodeURIComponent($('toDate').value);
|
336
|
});
|
337
|
|
338
|
$('cat_project').addEvent('click', function() {
|
339
|
table.draw();
|
340
|
});
|
341
|
|
342
|
$('cat_publ_dataset').addEvent('click', function() {
|
343
|
table.draw();
|
344
|
});
|
345
|
$('cat_concept').addEvent('click', function() {
|
346
|
table.draw();
|
347
|
});
|
348
|
table = jQuery('.data-table').DataTable(tableOptions);
|
349
|
/* Custom filtering function which will search data in column four between two values */
|
350
|
jQuery.fn.dataTable.ext.search.push(
|
351
|
function( settings, data, dataIndex ) {
|
352
|
var type = data[1] ; // use data for the target type column
|
353
|
if($('cat_project').checked&& type.indexOf( "Project" ) != -1){
|
354
|
return true;
|
355
|
}
|
356
|
if($('cat_concept').checked&& type.indexOf( "Concept" ) != -1){
|
357
|
return true;
|
358
|
}
|
359
|
if($('cat_publ_dataset').checked&& type.indexOf( "Publication/Dataset" ) != -1){
|
360
|
return true;
|
361
|
}
|
362
|
if(!$('cat_project').checked &&! $('cat_concept').checked && !$('cat_publ_dataset').checked){
|
363
|
return true;
|
364
|
}
|
365
|
return false;
|
366
|
}
|
367
|
);
|
368
|
|
369
|
});
|
370
|
|
371
|
|
372
|
</script>
|
373
|
|