Project

General

Profile

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>&nbsp;</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

    
(1-1/3)