-
Notifications
You must be signed in to change notification settings - Fork 0
/
actionsWS.php
69 lines (54 loc) · 1.84 KB
/
actionsWS.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
<?php
/*
*
*/
require "../phplib/genlibraries.php";
redirectOutside();
//
// Check operation and input files
if (!isset($_REQUEST['op'])) {
header("location:../workspace/");
}
if (!isset($_REQUEST['fn']) && !isset($_REQUEST['fnPath']) && !preg_match('/cancelJob/',$_REQUEST['op']) ) {
$_SESSION['errorData']['Error'][] = "Selected operation ('".$_REQUEST['op']."') requires at least one file. Any file name received.";
header("location:../workspace/");
}
/*if (is_array($_REQUEST['fn']))
$_REQUEST['fn']=$_REQUEST['fn'][0];*/
//$fileData = $GLOBALS['filesCol']->findOne(array('_id' => $_REQUEST['fn'], 'owner' => $_SESSION['User']['id']));
//$fileMeta = $GLOBALS['filesMetaCol']->findOne(array('_id' => $_REQUEST['fn']));
$filePath = getAttr_fromGSFileId($_REQUEST['fn'],'path');
$rfn = $GLOBALS['dataDir']."/$filePath";
//
// Process operation
if (isset($_REQUEST['op'])){
switch ($_REQUEST['op']) {
case 'deleteAll':
case 'deleteSure':
$r = deleteFiles($_REQUEST['fn']);
# OJO
$RData = str_replace(".bam",".RData",$rfn);
if (is_file($RData)){
exec ("rm -r \"$RData\" 2>&1",$output);
if (error_get_last()){
$_SESSION['errorData']['error'][]=implode(" ",$output);
}
}
break;
case 'deleteDirOk':
if (basename($filePath) == "uploads" || basename($filePath) == "repository" ){
$_SESSION['errorData']['error'][]="Cannot delete structural directory '$filePath'.";
break;
}
$r = deleteGSDirBNS($_REQUEST['fn']);
if ($r == 0){
$_SESSION['errorData']['error'][]="Cannot delete directory '$filePath' file from repository";
break;
}
exec ("rm -r \"$rfn\" 2>&1",$output);
if (error_get_last()){
$_SESSION['errorData']['error'][]=implode(" ",$output);
}
break;
}
}