Debugged upload_data_file method unified for upload_data_file & add eventz and moved...
[mirrors/Kyberia-bloodline.git] / wwwroot / inc / eventz / add.inc
1 <?php
2 //funkcie na pridanie Re: alebo Re[x]: do nazvu (by Maniax)
3 function title_reply_callback($_matches) {
4 return ($_matches[1].($_matches[2] + 1).$_matches[3]);
5 }
6
7 function title_reply($_in) {
8 if (preg_match('/^Re[:\[]/', $_in)) {
9 if (preg_match('/^Re\[/', $_in))
10 return (preg_replace_callback('/^(Re\[)(\d*)(\].*)$/', 'title_reply_callback', $_in));
11 else return (preg_replace('/^(Re)(:.*)$/', '\1[2]\2', $_in));
12 } else return ('Re: '.$_in);
13 }
14
15 //Pridanie prispevku
16 function add() {
17
18 global $db,$error,$node,$permissions,$types;
19
20 $node_content=$_POST['node_content'];
21 $node_parent=$_POST['node_parent'];
22 $template_id=$_POST['template_id'];
23 if (empty($template_id)) $template_id=4;
24 $node_type=$template_id;
25
26 if (strlen($node_name)<1){
27 // $error="node_name too short. please write some title";
28 // return false;
29 }
30
31 $node_name=addslashes(strip_tags($_POST['node_name']));
32 $external_link=addslashes(strip_tags($_POST['external_link']));
33
34 if (!empty($_POST['node_chosen'])) {
35 $node_chosen=$_POST['node_chosen'];
36 if (count($node_chosen)>1) {
37 $error="please select only one node.";
38 return false;
39 }else {
40 $node_parent=addslashes($node_chosen['0']);
41 $q="select * from nodes where node_id='".$node_parent."'";
42 $p_set = $db->query($q);
43 if($p_set->next()){
44 $node_parent_name = $p_set->getString('node_name');
45 $node_parent_template = $p_set->getString('template_id');
46 }
47 }
48 }else{
49 $node_parent_name = $node['node_name'];
50 $node_parent_template = $node['template_id'];
51 }
52
53
54 if (empty($node_name)) {
55 if (empty($node_parent_name)){
56 $node_name=date("d.m.Y-G:i:s");
57 }elseif ($node_parent_template == "4"){
58 $node_name = title_reply($node_parent_name);
59 }else{
60 $node_name=date("d.m.Y-G:i:s");
61 }
62 }
63
64 if (empty($node_name)) {
65 $node_name=date("d.m.Y-G:i:s");
66 }
67 $parent_name=$node['node_name'];
68 $node_creator=$_SESSION['user_id'];
69
70 $node_system_access=$node['node_system_access'];
71
72
73 if (empty($node_system_access)) {
74 $node_system_access='public';
75 }
76
77 $node_external_access=$_POST['node_external_access'];
78 if (empty($node_external_access)) {
79 $node_external_access='yes';
80 }
81
82
83 if (empty($node_content)) {
84 $error=$error_messages['ADD_NO_CONTENT'];
85 return false;
86 }
87
88 // prida mood na koniec contentu
89 if (is_numeric($_SESSION['mood_id']) && $node['external_link'] != 'db://user' && $node['external_link'] != 'session://user') {
90 $node_content .= "\n\n<small>".$_SESSION['mood_content']."</small>";
91 }
92
93 $node_content=nodes::processContent($node_content);
94
95 $params['node_name']=$node_name;
96 $params['template_id']=$template_id;
97 $params['node_parent']=$node_parent;
98 $params['node_system_access']=$node_system_access;
99 $params['node_creator']=$_SESSION['user_id'];
100 $params['node_content']=db_escape_string($node_content);
101 $params['external_link']=$external_link;
102 $node_id=nodes::addNode($params);
103
104 if (!$node_id) {
105 return false;
106 }
107
108 if ($_FILES['data_file']['tmp_name']) {
109 require(INCLUDE_DIR.'filez.inc');
110 filez::upload_data_file($node_id);
111 }
112
113 //substitute @@@ token by a node_id of a newly created node
114 $nc=preg_replace('/@@@/',$node_id,$params['node_content']);
115 if ($nc!=$params['node_content']) {
116 $db->update("update nodes set node_content='$nc' where node_id=$node_id");
117 }
118
119 return true;
120 }
121
122 ?>
This page took 0.279228 seconds and 4 git commands to generate.