get_nodes_by_type and logout moved to backend, warnings cleanup
[mirrors/Kyberia-bloodline.git] / wwwroot / inc / eventz.inc
1 <?php
2 if(preg_match('/36$/', $event) || (!empty($_POST['event']) && preg_match('/36$/', $_POST['event']))) {
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
9 if($event=='delete' || (!empty($_POST['event']) && $_POST['event']=='delete')) {
10 //XXX TODO FIXME UglyFuckingHack - should go to delete.inc (but something is broken)
11 $event='set_parent';
12 $_POST['event']=$event;
13 $_POST['new_parent']=123456; //XXX TODO FIXME Hardcoded
14 }
15
16 //do not make a permission check if an event was executed before
17 if (!empty($_SESSION['eventz'][$event]) && ($_SESSION['eventz'][$event])) {
18 include_once(INCLUDE_DIR."eventz/$event.inc");
19 $status=$event();
20 }
21
22 elseif (is_file(INCLUDE_DIR."eventz/$event.inc")) {
23 $event_id=nodes::getNodeIdByName($event,"event://$event");
24 $event_node=nodes::getNodeById($event_id,isset($_SESSION['user_id']) ? $_SESSION['user_id'] : "");
25 if (
26 ($event_node['node_system_access']=='public')
27 || (!empty($_SESSION['user_id']) && ($event_node['node_creator']==$_SESSION['user_id']))
28 || ($event_node['node_permission']=='op')
29 || ($event_node['node_permission']=='execute')
30 || ($event_node['node_permission']=='master')
31 || ($event=='display')
32 ) {
33 require_once(INCLUDE_DIR."eventz/$event.inc");
34 $status=$event();
35 $_SESSION['eventz'][$event]=true;
36
37 } else {
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
48 if (!$status) {
49 require_once(INCLUDE_DIR."eventz/display.inc");
50 display();
51 }
52
53 elseif ($status>1) {
54 Header("Location: /id/".$status."/");
55 }
56
57 elseif ($status && $event!='display') {
58 Header("Location: /id/".$node['node_id']."/");
59 }
60
61
62 ?>
This page took 0.330153 seconds and 4 git commands to generate.