Commit | Line | Data |
---|---|---|
bc13d5d6 H |
1 | <?php |
2 | ||
3 | /* | |
4 | define("HAPPY","UIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"); | |
5 | define("LOVE","mam vas rad.majte ma radi"); | |
6 | define("DRUGGED","som na kasu, serte na mna"); | |
7 | define("ANGRY","23 stoporenych volskych kokotov do riti a kotvu do chrbta. vam vsetkym!"); | |
8 | define("DEPRESSED","ZABITE MAAAAAAAAAAAAAAAAAA"); | |
9 | */ | |
10 | ||
11 | include_once("htmlparse.inc"); | |
12 | switch ($_POST['event']) { | |
13 | ||
14 | case 'poslat': | |
15 | ||
16 | //do not send a message when limit number is changed | |
17 | if ($user_amount!=$limit and empty($_POST['submission_text'])) {} | |
18 | ||
19 | else { | |
20 | ||
21 | $status=eventz::add(); | |
22 | if ($status) { | |
23 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
24 | } | |
25 | } | |
26 | break; | |
27 | ||
28 | case 'odpovedat': | |
29 | $status=eventz::answer(); | |
30 | if ($status) { | |
31 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
32 | } | |
33 | break; | |
34 | ||
35 | case 'zmazat': | |
36 | $status=eventz::delete(); | |
37 | if ($status) { | |
38 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
39 | } | |
40 | break; | |
41 | ||
42 | case 'K!': | |
43 | $status=eventz::k(); | |
44 | if ($status) { | |
45 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
46 | } | |
47 | break; | |
48 | ||
49 | ||
50 | ||
51 | case 'zmaz forum': | |
52 | $status=eventz::forum_delete(); | |
53 | if ($status) { | |
54 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
55 | } | |
56 | break; | |
57 | ||
58 | case 'book': | |
59 | $status=eventz::forum_book(); | |
60 | if ($status) { | |
61 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
62 | } | |
63 | break; | |
64 | ||
65 | case 'unbook': | |
66 | $status=eventz::forum_unbook(); | |
67 | if ($status) { | |
68 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
69 | } | |
70 | break; | |
71 | ||
72 | case 'addPoll': | |
73 | $status=eventz::forum_addpoll(); | |
74 | if ($status) { | |
75 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
76 | } | |
77 | break; | |
78 | ||
79 | case 'op list': | |
80 | $status=eventz::addOperator(); | |
81 | if ($status) { | |
82 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&status=ok&nocache=".time()); | |
83 | } | |
84 | break; | |
85 | ||
86 | case 'master list': | |
87 | $status=eventz::addMaster(); | |
88 | if ($status) { | |
89 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&status=ok&nocache=".time()); | |
90 | } | |
91 | break; | |
92 | case 'access list': | |
93 | $status=eventz::addAccess(); | |
94 | if ($status) { | |
95 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&status=ok&nocache=".time()); | |
96 | } | |
97 | break; | |
98 | ||
99 | ||
100 | case 'ban list': | |
101 | $status=eventz::banUser(); | |
102 | if ($status) { | |
103 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&status=ok&nocache=".time()); | |
104 | } | |
105 | break; | |
106 | ||
107 | case 'nahlad': | |
108 | $status=eventz::nahlad(); | |
109 | break; | |
110 | ||
111 | case 'zmen nastavenie': | |
112 | $status=eventz::forum_change(); | |
113 | if ($status) { | |
114 | Header("Location:".SCRIPT."?action=forum&node_id=".$node_id."&nocache=".time()); | |
115 | } | |
116 | break; | |
117 | ||
118 | ||
119 | } | |
120 | ||
121 | class eventz { | |
122 | ||
123 | function k() { | |
124 | $k_amount=$_POST['k_amount']; | |
125 | global $user_id; | |
126 | $submission_id=$_POST['delete_name'][0]; | |
127 | global $kyberia; | |
128 | global $error; | |
129 | ||
130 | if ($k_amount<-1) { | |
131 | $error="ale rydaj sa PREC tam kam siel hitler a diablov MEC ti odrazi hlavu ;) ale fakt nevymyslaj bravcoviny karle, oko bez viecka vidi vsecko ;)"; | |
132 | return false; | |
133 | } | |
134 | if ($k_amount > 1) { | |
135 | $error = "mozes dat maximalne 1K prispevku"; | |
136 | return false; | |
137 | } | |
138 | ||
139 | if (!$submission_id) { | |
140 | $set=$kyberia->query("select user_k from user where id='$user_id'"); | |
141 | $set->next(); | |
142 | $k_amount=$set->getString('user_k'); | |
143 | $error="nezadal si prispevok ktoremu sa maju pridelit K.dnes ti zostava $k_amount K"; | |
144 | return false; | |
145 | } | |
146 | ||
147 | if (!$k_amount) { | |
148 | $set=$kyberia->query("select user_k from user where id='$user_id'"); | |
149 | $set->next(); | |
150 | $k_amount=$set->getString('user_k'); | |
151 | $error="nezadal si pocet K ktore chces prispevku pridelit.dnes ti ostava $k_amount K"; | |
152 | return false; | |
153 | } | |
154 | ||
155 | ||
156 | $q="select sum(k_amount) as amount from k_logs where donor_id='$user_id' and node_id='$submission_id' and node_type='submission'"; | |
157 | $set=$kyberia->query($q); | |
158 | $set->next(); | |
159 | $amount=$set->getInt('amount'); | |
160 | ||
161 | if (abs($amount)>=1) { | |
162 | $error="tomuto prispevku uz si pridelil maximalny mozny pocet 1 K!"; | |
163 | return false; | |
164 | } | |
165 | ||
166 | $set2=$kyberia->query("select submission_owner from submissions where submission_id='$submission_id'"); | |
167 | $set2->next(); | |
168 | $acceptor_id=$set2->getString('submission_owner'); | |
169 | ||
170 | if ($acceptor_id == $user_id) { | |
171 | $error="egotrip?"; | |
172 | return false; | |
173 | } | |
174 | ||
175 | $set3=$kyberia->query("select user_k from user where id='$user_id'"); | |
176 | $set3->next(); | |
177 | if ($set3->getInt('user_k') < abs($k_amount)) { | |
178 | $error="bohuzial dnes uz ti zostava ".$set3->getString('user_k')." K. zadel menej alebo pockaj do polnoci"; | |
179 | return false; | |
180 | } | |
181 | ||
182 | $kyberia->query("update user set user_k=user_k-".abs($k_amount)." where id='$user_id'"); | |
183 | $kyberia->query("update user set user_karma=user_karma+$k_amount where id='$acceptor_id'"); | |
184 | $kyberia->query("update submissions set submission_k=submission_k+$k_amount where submission_id='$submission_id'"); | |
185 | $kyberia->query("insert into k_logs set donor_id='$user_id',acceptor_id='$acceptor_id',k_amount='$k_amount',node_id='$submission_id',node_type='submission'"); | |
186 | return true; | |
187 | ||
188 | ||
189 | } | |
190 | ||
191 | ||
192 | function nahlad() { | |
193 | global $user_name; | |
194 | global $user_mode_message; | |
195 | ||
196 | $submission_text=$_POST['submission_text']; | |
197 | $submission_text = EregI_Replace("((( )|(\n)|(^))+)(http://|ftp://|https://)([[:alnum:]][^,[:space:]]*)","\\2<a target='_blank' href=\"\\6\\7\">\\6\\7</a>",$submission_text); | |
198 | $submission_text=strip_tags($submission_text,'<a><b><i><u><img><br><p><font>'); | |
199 | $submission_text=str_replace("\n","<br>",$submission_text); | |
200 | ||
201 | $nohtml=$_POST['nohtml']; | |
202 | if (!empty($nohtml)) { | |
203 | $submission_text=htmlspecialchars($submission_text); | |
204 | } | |
205 | ||
206 | ||
207 | if (empty($submission_text)) { | |
208 | global $error; | |
209 | $error="Nahlizet na NIC? take metafyzicke triky neskusaj"; | |
210 | return false; | |
211 | } | |
212 | if (!htmlparse::htmlparse($submission_text)) { | |
213 | global $htmlparse; | |
214 | global $error; | |
215 | $error=$htmlparse; | |
216 | return false; | |
217 | } | |
218 | ||
219 | ||
220 | //adding mode message | |
221 | if (!empty($user_mode_message)) $submission_text.="<br><br>-->$user_mode_message<--"; | |
222 | ||
223 | global $preview; | |
224 | $preview="<table class='bigitem'><tr><td class='icon'>"; | |
225 | $preview.= "<img alt='".$user_name."' src='/images/users/".strtolower($user_name).".gif'>"; | |
226 | $preview.= "</td><td class='item'>"; | |
227 | $preview.= "<table class='item'>"; | |
228 | $preview.="<td class='header'>".$user_name; | |
229 | $preview.="</td>"; | |
230 | $preview.="</tr>"; | |
231 | $preview.="<tr class='content'><td class='content'>".StripSlashes($submission_text)."</td></tr>"; | |
232 | $preview.="</table>"; | |
233 | $preview.="</td></tr></table>"; | |
234 | } | |
235 | ||
236 | function add() { | |
237 | ||
238 | $submission_text=$_POST['submission_text']; | |
239 | global $forum; | |
240 | global $kyberia; | |
241 | global $user_id; | |
242 | global $node_id; | |
243 | global $user_status; | |
244 | global $user_mode_message; | |
245 | ||
246 | $nohtml=$_POST['nohtml']; | |
247 | if (!empty($nohtml)) { | |
248 | $submission_text=htmlspecialchars($submission_text); | |
249 | } | |
250 | ||
251 | ||
252 | $submission_text = EregI_Replace("((( )|(\n)|(^))+)(http://|ftp://|https://)([[:alnum:]][^,[:space:]]*)","\\2<a target='_blank' href=\"\\6\\7\">\\6\\7</a>",$submission_text); | |
253 | $submission_text=strip_tags($submission_text,'<a><b><i><u><img><br><p><font>'); | |
254 | $submission_text=str_replace("\n","<br>",$submission_text); | |
255 | $submission_text=addslashes($submission_text); | |
256 | if (empty($submission_text)) { | |
257 | global $error; | |
258 | $error="Nic nenapises a predsa chces pridat prispevok? hovno hovno zlata rybka"; | |
259 | return false; | |
260 | } | |
261 | ||
262 | if (!htmlparse::htmlparse($submission_text)) { | |
263 | global $htmlparse; | |
264 | global $error; | |
265 | $error=$htmlparse; | |
266 | return false; | |
267 | } | |
268 | ||
269 | //adding mode message | |
270 | if (!empty($user_mode_message)) $submission_text.="<br><br>-->$user_mode_message<--"; | |
271 | ||
272 | ||
273 | $result=$kyberia->query("insert into submissions set forum_id='$node_id',submission_text='$submission_text',submission_owner='$user_id',submission_thread=submission_id,submission_timestamp=NOW()"); | |
274 | $id=$kyberia->getLastInsertId(); | |
275 | ||
276 | if ($forum['forum_public']!='private') { | |
277 | $result=$kyberia->query("insert into last_submissions set forum_id='$node_id',submission_text='$submission_text',submission_owner='$user_id',submission_id='$id',submission_thread=submission_id"); | |
278 | $kyberia->query("update submissions set submission_thread=concat('$id','.') where submission_id='$id'"); | |
279 | } | |
280 | ||
281 | $result=$kyberia->query("update forum set last_submission=NOW(), forum_submissions=forum_submissions+1 where forum_id='$node_id'"); | |
282 | $q="update user_forum set submission_count=submission_count+1 where forum_id='$node_id'"; | |
283 | $result=$kyberia->update($q); | |
284 | // $kyberia->substanceIt($user_name,$submission_text,$forumset['forum_name']); | |
285 | return true; | |
286 | } | |
287 | ||
288 | function answer() { | |
289 | ||
290 | $submission_text=$_POST['submission_text']; | |
291 | $submission_thread=$_POST['delete_name'][0]; | |
292 | ||
293 | ||
294 | $nohtml=$_POST['nohtml']; | |
295 | if (!empty($nohtml)) { | |
296 | $submission_text=htmlspecialchars($submission_text); | |
297 | } | |
298 | ||
299 | global $kyberia; | |
300 | global $user_id; | |
301 | global $node_id; | |
302 | global $user_status; | |
303 | ||
304 | $submission_text = EregI_Replace("((( )|(\n)|(^))+)(http://|ftp://|https://)([[:alnum:]][^,[:space:]]*)","\\2<a target='_blank' href=\"\\6\\7\">\\6\\7</a>",$submission_text); | |
305 | $submission_text=strip_tags($submission_text,'<a><b><i><u><img><br><p><font>'); | |
306 | $submission_text=str_replace("\n","<br>",$submission_text); | |
307 | ||
308 | //adding mode message | |
309 | if (!empty($user_mode_message)) $submission_text.="<br><br>-->$user_mode_message<--"; | |
310 | ||
311 | $submission_text=addslashes($submission_text); | |
312 | ||
313 | $result=$kyberia->query("select submission_thread from submissions where submission_id='$submission_thread'"); | |
314 | $result->next(); | |
315 | $submission_thread=$result->getString('submission_thread'); | |
316 | $result=$kyberia->query("insert into submissions set forum_id='$node_id',submission_text='$submission_text',submission_owner='$user_id',submission_thread='$submission_thread'"); | |
317 | $id=$kyberia->getLastInsertId(); | |
318 | $kyberia->query("update submissions set submission_thread=concat(submission_thread,'.','$id') where submission_id='$id'"); | |
319 | // echo "insert into submissions set forum_id='$node_id',submission_text='$submission_text',submission_owner='$user_id',submission_thread=concat('$submission_thread','.')"; | |
320 | $result=$kyberia->query("update forum set last_submission=NOW(),forum_submissions=forum_submissions+1 where forum_id='$node_id'"); | |
321 | $q="update user_forum set submission_count=submission_count+1 where forum_id='$node_id'"; | |
322 | $result=$kyberia->update($q); | |
323 | // $kyberia->substanceIt($user_name,$submission_text,$forumset['forum_name']); | |
324 | return true; | |
325 | } | |
326 | ||
327 | function delete() { | |
328 | global $error; | |
329 | global $kyberia; | |
330 | global $delete_name; | |
331 | $delete_time=$_POST['delete_time']; | |
332 | global $user_id; | |
333 | global $node_id; | |
334 | global $forumset; | |
335 | global $access_type; | |
336 | $forum_owner=$forumset->getInt('forum_owner'); | |
337 | $delbetween=$_POST['delbetween']; | |
338 | ||
339 | $q = "select user_id, access_type from node_access where node_id = '$node_id'"; | |
340 | $access = $kyberia->query($q); | |
341 | if($access->getNumRows() > 0) | |
342 | { | |
343 | $master_id = 0; | |
344 | $op_id = 0; | |
345 | while($access->next()) | |
346 | { | |
347 | if($access->getString('access_type') == 'master') | |
348 | { | |
349 | $master_list[$master_id] = $access->getString('user_id'); | |
350 | $master_id++; | |
351 | } | |
352 | if($access->getString('access_type') == 'op') | |
353 | { | |
354 | $op_list[$op_id] = $access->getString('user_id'); | |
355 | $op_id++; | |
356 | } | |
357 | } | |
358 | } | |
359 | ||
360 | foreach ($delete_name as $submissiondel) { | |
361 | $sub = $kyberia->query("select * from submissions where submission_id='$submissiondel'"); | |
362 | $sub->next(); | |
363 | ||
364 | if ($user_id == $forum_owner || $user_id == $sub->getInt("submission_owner") || $access_type == 'master' || $access_type == 'op') { | |
365 | if($user_id == $sub->getInt("submission_owner")) define("DELETE", true); | |
366 | elseif($user_id == $forum_owner) define("DELETE", true); | |
367 | elseif($access_type == 'master' && !in_array($sub->getString("submission_owner"), $master_list) && $sub->getString("submission_owner") != $forum_owner) define("DELETE", true); | |
368 | elseif($access_type == 'op' && !in_array($sub->getString("submission_owner"), $master_list) && !in_array($sub->getString("submission_owner"), $op_list) && ($sub->getString("submission_owner") != $forum_owner)) define("DELETE", true); | |
369 | else define("DELETE", false); | |
370 | if (DELETE) | |
371 | { | |
372 | $kyberia->update("delete from submissions where submission_id='$submissiondel'"); | |
373 | $kyberia->update("delete from last_submissions where submission_id='$submissiondel'"); | |
374 | $kyberia->update("update forum set forum_submissions=forum_submissions-1 where forum_id='$node_id'"); | |
375 | $kyberia->update("update user_forum set submission_count=submission_count-1 where forum_id='$node_id' and last_visit<'".$delete_time[$submissiondel]."'"); | |
376 | } | |
377 | ||
378 | } | |
379 | ||
380 | /* old one | |
381 | $result=false; | |
382 | $q="delete from submissions where submission_id='$submissiondel' and submission_owner='$user_id'"; | |
383 | $result=$kyberia->update($q); | |
384 | $q="delete from last_submissions where submission_id='$submissiondel' and submission_owner='$user_id'"; | |
385 | ||
386 | $result=$kyberia->update($q); | |
387 | ||
388 | if (!$result and $user_id==38) { | |
389 | $q="delete from submissions where submission_id='$submissiondel'"; | |
390 | $result=$kyberia->update($q); | |
391 | $q="delete from last_submissions where submission_id='$submissiondel'"; | |
392 | $result=$kyberia->update($q); | |
393 | ||
394 | } | |
395 | elseif (!$result) { | |
396 | $set=$kyberia->query("select forum.forum_owner from submissions left join forum on forum.forum_id=submissions.forum_id where submission_id='$submissiondel'"); | |
397 | if ($set->getString('forum_owner')==$forum_owner) { | |
398 | $result=$kyberia->update("delete from submissions where submission_id='$submissiondel'"); | |
399 | $result=$kyberia->update("delete from last_submissions where submission_id='$submissiondel'"); | |
400 | } | |
401 | } | |
402 | ||
403 | if ($result) { | |
404 | $kyberia->query("update forum set forum_submissions=forum_submissions-1 where forum_id='$node_id'"); | |
405 | $q="update user_forum set submission_count=submission_count-1 where forum_id='$node_id' and last_visit<'".$delete_time[$submissiondel]."'"; | |
406 | $kyberia->query($q); | |
407 | ||
408 | } | |
409 | ||
410 | else { global $error; $error.="spravu id:$submissiondel sa nepodarilo zmazat.nemas na to pravo, kravo!<br>"; } | |
411 | */ | |
412 | } | |
413 | return true; | |
414 | } | |
415 | ||
416 | function forum_book() { | |
417 | global $error; | |
418 | global $kyberia; | |
419 | global $delete_name; | |
420 | global $delete_time; | |
421 | global $user_id; | |
422 | global $node_id; | |
423 | $q="update user_forum set user_bookmark='yes' where user_id='$user_id' and forum_id='$node_id'"; | |
424 | ||
425 | $kyberia->query($q); | |
426 | return true; | |
427 | ||
428 | } | |
429 | ||
430 | function forum_unbook() { | |
431 | global $error; | |
432 | global $kyberia; | |
433 | global $delete_name; | |
434 | global $delete_time; | |
435 | global $user_id; | |
436 | global $node_id; | |
437 | $q="update user_forum set user_bookmark='no' where user_id='$user_id' and forum_id='$node_id'"; | |
438 | ||
439 | $kyberia->query($q); | |
440 | return true; | |
441 | } | |
442 | ||
443 | function forum_delete() { | |
444 | global $error; | |
445 | global $kyberia; | |
446 | global $delete_name; | |
447 | global $delete_time; | |
448 | global $user_id; | |
449 | global $forum; | |
450 | $forumdel=$_POST['node_id']; | |
451 | ||
452 | // prec s nim, h4ck3r0m | |
453 | if ($user_id != 38 && $forum['forum_owner'] != $user_id) | |
454 | return; | |
455 | ||
456 | if ($user_id==38) $kyberia->query("delete from forum where forum_id='$forumdel'"); | |
457 | $kyberia->query("delete from forum where forum_id='$forumdel' and (forum_owner='$user_id')"); | |
458 | $kyberia->query("delete from submissions where forum_id='$forumdel'"); | |
459 | $kyberia->query("update category set category_forums=category_forums-1 where category_id='".$forum['forum_category']."'"); | |
460 | } | |
461 | ||
462 | function forum_change() { | |
463 | global $error; | |
464 | global $kyberia; | |
465 | global $user_id; | |
466 | global $node_id; | |
467 | global $user_name; | |
468 | global $forum; | |
469 | global $access_type; | |
470 | ||
471 | $forum_name=$_POST['forum_name']; | |
472 | $forum_icon_name=$_FILES['forum_icon']['name']; | |
473 | $forum_icon=$_FILES['forum_icon']['tmp_name']; | |
474 | $forum_info=$_POST['forum_info']; | |
475 | $forum_public=$_POST['forum_public']; | |
476 | $forum_owner=$_POST['forum_owner']; | |
477 | $forum_category=$_POST['forum_category']; | |
478 | ||
479 | // taky voblud tu nema co robit | |
480 | if ($user_id != $forum['forum_owner'] && $access_type != 'master' && $access_type != 'op') | |
481 | return true; | |
482 | ||
483 | if ($forum_owner==$user_name) $owner_id=$user_id; | |
484 | else { | |
485 | $userset=$kyberia->query("select id from user where login='$forum_owner'"); | |
486 | if (!$userset->getNumRows()) { | |
487 | $error="Neexistuje uzivatel $forum_owner "; | |
488 | return false; | |
489 | } | |
490 | else { | |
491 | $userset->next(); | |
492 | $owner_id=$userset->getString('id'); | |
493 | } | |
494 | } | |
495 | ||
496 | // toto moze iba owner | |
497 | if ($user_id == $forum['forum_owner']) { | |
498 | $q="UPDATE forum set forum_public='$forum_public' , forum_category='$forum_category',forum_name='$forum_name',forum_owner='$owner_id' where forum_id='$node_id' and forum_owner='$user_id'"; | |
499 | $kyberia->query($q); | |
500 | } | |
501 | ||
502 | // zmena popisu fora | |
503 | $forum_info=strip_tags($forum_info,'<font><a><b><i><u><img><br><p><h1><h2><h3><center>'); | |
504 | if ($forum_info) { | |
505 | $kyberia->query("update forum_info set forum_info='$forum_info' where forum_id='$node_id'"); | |
506 | } | |
507 | // elseif ($forum_info and !$forum['forum_info']) $kyberia->query("insert into forum_info set forum_info='$forum_info',forum_id='$node_id'"); | |
508 | $icondir="/home/hromi1/kyberia/images/forums/"; | |
509 | $cmd=0; | |
510 | if (strstr($forum_icon_name,".jpg") || strstr($forum_icon_name,".jpeg") ){ | |
511 | $cmd="/home/utils/netpbm/bin/jpegtopnm $forum_icon | /home/utils/netpbm/bin/pnmscale -width=123 | /home/utils/netpbm/bin/ppmquant 256 | /home/utils/netpbm/bin/ppmtogif > ".ICONDIR_FORUM.strtolower($node_id).".gif"; | |
512 | ||
513 | } | |
514 | elseif (strstr($forum_icon_name,".gif")) { | |
515 | $cmd="/home/hromi1/kyberia/gifsicle --resize 123x_ $forum_icon > ".ICONDIR_FORUM.strtolower($node_id).".gif"; | |
516 | } | |
517 | ||
518 | if ($cmd) shell_exec($cmd); | |
519 | ||
520 | // toto by mohlo ist do paze, nie? | |
521 | $set=$kyberia->query("SELECT forum_info.forum_info as forum_info,user.id as user_id,user.login as login,forum.*,category.category_name as category_name from forum left join category on category.category_id=forum.forum_category left join user on forum_owner=user.id left join forum_info on forum_info.forum_id=forum.forum_id where forum.forum_id='$node_id'"); | |
522 | $set->next(); | |
523 | $forum=$set->getRecord(); | |
524 | ||
525 | return true; | |
526 | } | |
527 | ||
528 | function forum_addpoll() { | |
529 | global $access_type; | |
530 | global $forum; | |
531 | global $user_id; | |
532 | ||
533 | // ee | |
534 | if (($forum['forum_owner'] != $user_id) && ($access_type != "op") && | |
535 | ($access_type != "master")) | |
536 | return; | |
537 | ||
538 | $question=$_POST['question']; | |
539 | $response=$_POST['response']; | |
540 | $node_id=$_POST['node_id']; | |
541 | global $kyberia; | |
542 | ||
543 | $question = strip_tags($question); | |
544 | $kyberia->query("insert into polls set question='$question',forum_id='$node_id'"); | |
545 | $id=$kyberia->getLastInsertId(); | |
546 | ||
547 | foreach ($response as $value) { | |
548 | ||
549 | if (empty($value)) break; | |
550 | $kyberia->query("insert into poll_options set text='$value',id_poll='$id',number='0'"); | |
551 | } | |
552 | ||
553 | ||
554 | } | |
555 | ||
556 | function addMaster() { | |
557 | global $error; | |
558 | global $kyberia; | |
559 | global $user_id; | |
560 | global $forum; | |
561 | ||
562 | if ($forum['forum_owner'] != $user_id) | |
563 | return false; | |
564 | ||
565 | $admins=$_POST['masterlist']; | |
566 | $node_id=$_POST['node_id']; | |
567 | $array=explode(";",$admins); | |
568 | if (!Is_array($array)) { | |
569 | $error="nezadal si ziadne mena"; | |
570 | } | |
571 | ||
572 | $kyberia->query("delete from node_access where node_id='$node_id' and node_type='forum' and access_type='master'"); | |
573 | ||
574 | foreach($array as $owner) { | |
575 | if (!trim($owner)) | |
576 | continue; | |
577 | ||
578 | $q="select id from user where login='$owner'"; | |
579 | $set=$kyberia->query($q); | |
580 | $set->next(); | |
581 | $access_id=$set->getString('id'); | |
582 | if ($access_id) { | |
583 | $q="insert into node_access set user_id='$access_id',node_id='$node_id',node_type='forum',access_type='master'"; | |
584 | $kyberia->query($q); | |
585 | } | |
586 | ||
587 | else $error.="Neexistuje uzivatel $owner.<br>"; | |
588 | } | |
589 | ||
590 | if (!empty($error)) return false; | |
591 | else return true; | |
592 | } | |
593 | ||
594 | ||
595 | ||
596 | function addAccess() { | |
597 | global $error; | |
598 | global $kyberia; | |
599 | global $user_id; | |
600 | global $forum; | |
601 | ||
602 | // ee | |
603 | if ($forum['forum_owner'] != $user_id) | |
604 | return; | |
605 | ||
606 | $admins=$_POST['accesslist']; | |
607 | $node_id=$_POST['node_id']; | |
608 | $array=explode(";",$admins); | |
609 | if (!Is_array($array)) { | |
610 | $error="nezadal si ziadne mena"; | |
611 | } | |
612 | ||
613 | $kyberia->query("delete from node_access where node_id='$node_id' and node_type='forum' and access_type='access'"); | |
614 | ||
615 | foreach($array as $owner) { | |
616 | if (!trim($owner)) | |
617 | continue; | |
618 | ||
619 | $q="select id from user where login='$owner'"; | |
620 | $set=$kyberia->query($q); | |
621 | $set->next(); | |
622 | $access_id=$set->getString('id'); | |
623 | if ($access_id) { | |
624 | $q="insert into node_access set user_id='$access_id',node_id='$node_id',node_type='forum',access_type='access'"; | |
625 | $kyberia->query($q); | |
626 | } | |
627 | ||
628 | else $error.="Neexistuje uzivatel $owner.<br>"; | |
629 | } | |
630 | ||
631 | if (!empty($error)) return false; | |
632 | else return true; | |
633 | } | |
634 | ||
635 | ||
636 | ||
637 | function addOperator() { | |
638 | global $error; | |
639 | global $kyberia; | |
640 | global $user_id; | |
641 | global $forum; | |
642 | global $access_type; | |
643 | ||
644 | if ($forum['forum_owner'] != $user_id && $access_type != 'master') | |
645 | return; | |
646 | ||
647 | $admins=$_POST['oplist']; | |
648 | $node_id=$_POST['node_id']; | |
649 | $array=explode(";",$admins); | |
650 | if (!Is_array($array)) { | |
651 | $error="nezadal si ziadne mena"; | |
652 | } | |
653 | ||
654 | $kyberia->query("delete from node_access where node_id='$node_id' and node_type='forum' and access_type='op'"); | |
655 | ||
656 | foreach($array as $owner) { | |
657 | if (!trim($owner)) | |
658 | continue; | |
659 | ||
660 | $q="select id from user where login='$owner'"; | |
661 | ||
662 | $set=$kyberia->query($q); | |
663 | $set->next(); | |
664 | $access_id=$set->getString('id'); | |
665 | if ($access_id) { | |
666 | $q="insert into node_access set user_id='$access_id',node_id='$node_id',node_type='forum',access_type='op'"; | |
667 | ||
668 | $kyberia->query($q); | |
669 | } | |
670 | ||
671 | else $error.="Neexistuje uzivatel $owner.<br>"; | |
672 | } | |
673 | ||
674 | if (!empty($error)) return false; | |
675 | else return true; | |
676 | } | |
677 | ||
678 | ||
679 | function banUser() { | |
680 | global $error; | |
681 | global $kyberia; | |
682 | global $forum; | |
683 | global $user_id; | |
684 | global $access_type; | |
685 | ||
686 | // ee | |
687 | if ($forum['forum_owner'] != $user_id && $access_type != 'master' && $access_type != 'op') | |
688 | return false; | |
689 | ||
690 | $admins=$_POST['banlist']; | |
691 | if (empty($admins)) { | |
692 | $error="nezadal si ziadne mena"; | |
693 | } | |
694 | ||
695 | $node_id=$_POST['node_id']; | |
696 | $array=explode(";",$admins); | |
697 | ||
698 | $kyberia->query("delete from node_access where node_id='$node_id' and node_type='forum' and access_type='ban'"); | |
699 | ||
700 | foreach($array as $owner) { | |
701 | if (!trim($owner)) | |
702 | continue; | |
703 | ||
704 | $q="select id from user where login='$owner'"; | |
705 | $set=$kyberia->query($q); | |
706 | $set->next(); | |
707 | $access_id=$set->getString('id'); | |
708 | if ($access_id) { | |
709 | $q="insert into node_access set user_id='$access_id',node_id='$node_id',node_type='forum',access_type='ban'"; | |
710 | $kyberia->query($q); | |
711 | } | |
712 | ||
713 | else $error.="Neexistuje uzivatel $owner.<br>"; | |
714 | } | |
715 | ||
716 | if (!empty($error)) return false; | |
717 | else return true; | |
718 | } | |
719 | ||
720 | ||
721 | ||
722 | } | |
723 |