Commit | Line | Data |
---|---|---|
51ff3226 | 1 | <?php |
b17a1e9b | 2 | if(preg_match('/36$/', $event) || (!empty($_POST['event']) && preg_match('/36$/', $_POST['event']))) { |
f4b4ee22 H |
3 | $event = preg_replace('/36$/', '', $event); |
4 | $_POST['event'] = preg_replace('/36$/', '', $_POST['event']); | |
5 | $_POST['nodeshell_id'] = base_convert($_POST['nodeshell_id'], 36, 10); //put36 | |
6 | $_POST['new_parent'] = base_convert($_POST['new_parent'], 36, 10); //set_parent36 | |
7 | } | |
8 | ||
b17a1e9b | 9 | if($event=='delete' || (!empty($_POST['event']) && $_POST['event']=='delete')) { |
10 | //XXX TODO FIXME UglyFuckingHack - should go to delete.inc (but something is broken) | |
54edb627 H |
11 | $event='set_parent'; |
12 | $_POST['event']=$event; | |
13 | $_POST['new_parent']=123456; //XXX TODO FIXME Hardcoded | |
14 | } | |
15 | ||
51ff3226 | 16 | //do not make a permission check if an event was executed before |
13826e4f | 17 | if (!empty($_SESSION['eventz'][$event]) && ($_SESSION['eventz'][$event])) { |
e909f81b | 18 | include_once(INCLUDE_DIR."eventz/$event.inc"); |
51ff3226 | 19 | $status=$event(); |
20 | } | |
21 | ||
e909f81b | 22 | elseif (is_file(INCLUDE_DIR."eventz/$event.inc")) { |
51ff3226 | 23 | $event_id=nodes::getNodeIdByName($event,"event://$event"); |
d69b37e1 | 24 | $event_node=nodes::getNodeById($event_id,isset($_SESSION['user_id']) ? $_SESSION['user_id'] : ""); |
65c78def H |
25 | if ( |
26 | ($event_node['node_system_access']=='public') | |
13826e4f | 27 | || (!empty($_SESSION['user_id']) && ($event_node['node_creator']==$_SESSION['user_id'])) |
65c78def H |
28 | || ($event_node['node_permission']=='op') |
29 | || ($event_node['node_permission']=='execute') | |
30 | || ($event_node['node_permission']=='master') | |
31 | || ($event=='display') | |
32 | ) { | |
cba4eab7 | 33 | require_once(INCLUDE_DIR."eventz/$event.inc"); |
51ff3226 | 34 | $status=$event(); |
35 | $_SESSION['eventz'][$event]=true; | |
36 | ||
73063bed | 37 | } else { |
51ff3226 | 38 | $error=$error_messages['EVENT_NOT_PERMITTED']; |
39 | } | |
40 | ||
41 | } | |
42 | ||
43 | else { | |
44 | $error=$error_messages['EVENT_NOT_EXISTENT']; | |
45 | $status=false; | |
46 | } | |
47 | ||
cba4eab7 DH |
48 | if (!$status) { |
49 | require_once(INCLUDE_DIR."eventz/display.inc"); | |
50 | display(); | |
51 | } | |
51ff3226 | 52 | |
cba4eab7 | 53 | elseif ($status>1) { |
51ff3226 | 54 | Header("Location: /id/".$status."/"); |
55 | } | |
56 | ||
1552688a | 57 | elseif ($status && $event!='display') { |
51ff3226 | 58 | Header("Location: /id/".$node['node_id']."/"); |
cba4eab7 | 59 | } |
51ff3226 | 60 | |
61 | ||
62 | ?> |