-
Notifications
You must be signed in to change notification settings - Fork 0
/
tiki-shoutbox.php
116 lines (113 loc) · 4.26 KB
/
tiki-shoutbox.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
// (c) Copyright 2002-2012 by authors of the Tiki Wiki CMS Groupware Project
//
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
// $Id: tiki-shoutbox.php 39467 2012-01-12 19:47:28Z changi67 $
require_once ('tiki-setup.php');
include_once ('lib/shoutbox/shoutboxlib.php');
$access->check_feature('feature_shoutbox');
$access->check_permission('tiki_p_view_shoutbox');
if (!isset($_REQUEST["msgId"])) {
$_REQUEST["msgId"] = 0;
}
$smarty->assign('msgId', $_REQUEST["msgId"]);
if ($_REQUEST["msgId"]) {
$info = $shoutboxlib->get_shoutbox($_REQUEST["msgId"]);
$owner = $info["user"];
if ($tiki_p_admin_shoutbox != 'y' && $owner != $user) {
$smarty->assign('msg', tr("You do not have permission to edit messages %0", $owner));
$smarty->display("error.tpl");
die;
}
} else {
$info = array();
$info["message"] = '';
$info["user"] = $user;
$owner = $info["user"];
}
$smarty->assign('message', $info["message"]);
if ($tiki_p_admin_shoutbox == 'y' || $user == $owner) {
if (isset($_REQUEST["remove"])) {
$access->check_authenticity();
$shoutboxlib->remove_shoutbox($_REQUEST["remove"]);
} elseif (isset($_REQUEST["shoutbox_admin"])) {
$prefs['shoutbox_autolink'] = (isset($_REQUEST["shoutbox_autolink"])) ? 'y' : 'n';
$tikilib->set_preference('shoutbox_autolink', $prefs['shoutbox_autolink']);
}
}
if ($tiki_p_post_shoutbox == 'y') {
if (isset($_REQUEST["save"]) && !empty($_REQUEST['message'])) {
check_ticket('shoutbox');
if (($prefs['feature_antibot'] == 'y' && empty($user)) && !$captchalib->validate()) {
$smarty->assign('msg', $captchalib->getErrors());
if (!empty($_REQUEST['message'])) $smarty->assign_by_ref('message', $_REQUEST['message']);
} else {
$shoutboxlib->replace_shoutbox($_REQUEST['msgId'], $owner, $_REQUEST['message'], ($_REQUEST['tweet']==1));
$smarty->assign('msgId', '0');
$smarty->assign('message', '');
}
}
}
if (!isset($_REQUEST["sort_mode"])) {
$sort_mode = 'timestamp_desc';
} else {
$sort_mode = $_REQUEST["sort_mode"];
}
if (!isset($_REQUEST["offset"])) {
$offset = 0;
} else {
$offset = $_REQUEST["offset"];
}
$smarty->assign_by_ref('offset', $offset);
if (isset($_REQUEST["find"])) {
$find = $_REQUEST["find"];
} else {
$find = '';
}
if (isset($_REQUEST["get"])) {
$get=$_REQUEST["get"];
} else {
$get=0;
}
/* additions for ajax (formerly shoutjax) */
function processShout($formValues, $destDiv = 'mod-shoutbox')
{ // AJAX_TODO
global $shoutboxlib, $user, $smarty, $prefs, $tiki_p_admin_shoutbox;
$smarty->assign('tweet', $formValues['tweet']);
$smarty->assign('facebook', $formValues['facebook']);
if (array_key_exists('shout_msg', $formValues) && strlen($formValues['shout_msg']) > 2) {
if (empty($user) && $prefs['feature_antibot'] == 'y' && !$captchalib->validate()) {
$smarty->assign('shout_error', $captchalib->getErrors());
$smarty->assign_by_ref('shout_msg', $formValues['shout_msg']);
} else {
$shoutboxlib->replace_shoutbox(0, $user, $formValues['shout_msg'], ($formValues['shout_tweet']==1), ($formValues['shout_facebook']==1));
}
} else if (array_key_exists('shout_remove', $formValues) && $formValues['shout_remove'] > 0) {
$info = $shoutboxlib->get_shoutbox($formValues['shout_remove']);
if ($tiki_p_admin_shoutbox == 'y' || $info['user'] == $user) {
$shoutboxlib->remove_shoutbox($formValues['shout_remove']);
}
}
//$ajaxlib->registerTemplate('mod-shoutbox.tpl');
include ('lib/wiki-plugins/wikiplugin_module.php');
$data = wikiplugin_module('', Array('module' => 'shoutbox', 'max' => 10, 'np' => 0, 'nobox' => 'y', 'notitle' => 'y', 'tweet'=>$formValues['tweet']));
//$objResponse->assign($destDiv, "innerHTML", $data);
//return $objResponse;
}
/* end additions for ajax */
$smarty->assign('find', $find);
$smarty->assign_by_ref('sort_mode', $sort_mode);
if ($get) {
$data=$shoutboxlib->get_shoutbox($get);
$channels['data']=array($data);
$channels['cant']=1;
} else {
$channels = $shoutboxlib->list_shoutbox($offset, $maxRecords, $sort_mode, $find);
}
$smarty->assign_by_ref('cant_pages', $channels["cant"]);
$smarty->assign_by_ref('channels', $channels["data"]);
ask_ticket('shoutbox');
// Display the template
$smarty->assign('mid', 'tiki-shoutbox.tpl');
$smarty->display("tiki.tpl");