-
Notifications
You must be signed in to change notification settings - Fork 0
/
loadOutput.php
99 lines (64 loc) · 2.15 KB
/
loadOutput.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
require __DIR__."/../../config/bootstrap.php";
redirectOutside();
if($_REQUEST){
$wd = $GLOBALS['dataDir']."/".$_SESSION['User']['id']."/".$_SESSION['User']['activeProject']."/".$GLOBALS['tmpUser_dir']."/outputs_".$_REQUEST['execution'];
$indexFile = $wd.'/index';
$results =Array();
if(is_dir($wd)) {
// check if content uncompressed
if(file_exists($indexFile)) {
$results = file($indexFile);
//var_dump($results);
}
}else{
// create $wd
mkdir($wd);
touch($indexFile);
}
// Get internal results
//
if(!count($results)) {
$files = $GLOBALS['filesCol']->findOne(array('_id' => $_REQUEST['execution']), array('files' => 1, '_id' => 0));
$has_statistics = false;
foreach($files["files"] as $id) {
$fMeta = iterator_to_array($GLOBALS['filesMetaCol']->find(array('_id' => $id,
'data_type' => "tool_statistics",
'file_type' =>'TAR',
'compressed' =>"gzip")));
if(count($fMeta) != 0) {
$has_statistics = true;
}
}
if(!$has_statistics) {
$_SESSION['errorData']['Error'][]="Error creating custom results, please check the selected job.";
echo '0';
die();
}
foreach($files["files"] as $id) {
$fMeta = iterator_to_array($GLOBALS['filesMetaCol']->find(array('_id' => $id,
'data_type' => "tool_statistics",
'file_type' =>'TAR',
'compressed' =>"gzip")));
/*if(!count($fMeta)) {
//$_SESSION['errorData']['Error'][]="Error creating custom results, please check the selected job.";
//echo '0';
var_dump(getAttr_fromGSFileId($id,'path'));
die();
}*/
if(count($fMeta) ) {
$path = $GLOBALS['dataDir']."/".getAttr_fromGSFileId($id,'path');
exec("tar --touch -xzf \"$path\" -C \"$wd\" 2>&1", $err);
if(!count($err)) {
$fp = fopen($indexFile, 'a');
fwrite($fp, $id.PHP_EOL);
fclose($fp);
} else { echo "error!!!!"; }
}
}
$results = file($indexFile);
}
echo '1';
}else{
redirect($GLOBALS['URL']);
}