get_nodes_by_type and logout moved to backend, warnings cleanup
[mirrors/Kyberia-bloodline.git] / wwwroot / inc / eventz.inc
CommitLineData
51ff3226 1<?php
b17a1e9b 2if(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 9if($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 17if (!empty($_SESSION['eventz'][$event]) && ($_SESSION['eventz'][$event])) {
e909f81b 18 include_once(INCLUDE_DIR."eventz/$event.inc");
51ff3226 19 $status=$event();
20}
21
e909f81b 22elseif (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
43else {
44 $error=$error_messages['EVENT_NOT_EXISTENT'];
45 $status=false;
46}
47
cba4eab7
DH
48if (!$status) {
49 require_once(INCLUDE_DIR."eventz/display.inc");
50 display();
51}
51ff3226 52
cba4eab7 53elseif ($status>1) {
51ff3226 54 Header("Location: /id/".$status."/");
55}
56
1552688a 57elseif ($status && $event!='display') {
51ff3226 58 Header("Location: /id/".$node['node_id']."/");
cba4eab7 59}
51ff3226 60
61
62?>
This page took 0.298876 seconds and 4 git commands to generate.