-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.processitem.php
More file actions
75 lines (70 loc) · 2.5 KB
/
Copy pathaction.processitem.php
File metadata and controls
75 lines (70 loc) · 2.5 KB
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
<?php
#----------------------------------------------------------------------
# Module: Booker - a resource booking module
# Action: processitem - perform operation on item(s) or group(s)
#----------------------------------------------------------------------
# See file Booker.module.php for full details of copyright, licence, etc.
#----------------------------------------------------------------------
$p = FALSE; //TODO relevant permission
$funcs = new Booker\Itemops();
//NB some links are diverted in DoAction to action.administer
if (isset($params['task'])) { //clicked link
$params['active_tab'] = ($params['$item_id'] >= Booker::MINGRPID) ? 'groups':'items';
switch ($params['task']) {
case 'add':
case 'edit':
case 'copy':
case 'see':
$params['resume'] = json_encode(array('defaultadmin'));
$this->Redirect($id,'openitem','',$params);
break;
case 'delete':
$funcs->DeleteItem($this,$params['$item_id']);
break;
case 'toggle': //handled in module
$this->_ActivateItem($id,$params,$returnid);
break;
case 'export':
$this->Crash();
break;
}
$this->Redirect($id,'defaultadmin','',array('active_tab'=>$params['active_tab']));
}
if (isset($params['selitm']))
$sel = $params['selitm'];
else if (isset($params['selgrp']))
$sel = $params['selgrp'];
else
$this->Redirect($id,'defaultadmin','',array(
'active_tab'=>$params['active_tab'],
'message'=>$this->_PrettyMessage('nosel',FALSE)));
if (isset($params['delete'])) {
if (!($this->_CheckAccess('admin') || $this->_CheckAccess('delete'))) exit;
$funcs->DeleteItem($this,$sel);
} elseif (isset($params['activate'])) {
if (!($this->_CheckAccess('admin') || $this->_CheckAccess('add')
|| $this->_CheckAccess('delete'))) exit;
$funcs->ToggleItemActive($this,$sel);
} elseif (isset($params['export'])) {
$funcs = new Booker\Export();
list($res,$key) = $funcs->ExportItems($this,$sel);
if ($res)
exit;
$this->Redirect($id,'defaultadmin','',array(
'active_tab'=>$params['active_tab'],
'message'=>$this->_PrettyMessage($key,FALSE)));
} else if (isset($params['exportbkg'])) {
$funcs = new Booker\Export();
list($res,$key) = $funcs->ExportBookings($this,$sel,'*','*');
if ($res)
exit;
$this->Redirect($id,'defaultadmin','',array(
'active_tab'=>$params['active_tab'],
'message'=>$this->_PrettyMessage($key,FALSE)));
}
/*elseif (isset($params['setfees'])) {
diverted upstream
if (!($this->_CheckAccess('admin') || $this->_CheckAccess('modify'))) exit;
}
*/
$this->Redirect($id,'defaultadmin','',array('active_tab'=>$params['active_tab']));