aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mod/chat.php3
-rw-r--r--mod/chatsvc.php21
-rw-r--r--view/pdl/mod_chat.pdl3
3 files changed, 26 insertions, 1 deletions
diff --git a/mod/chat.php b/mod/chat.php
index b8af4c1a6..fa3d05364 100644
--- a/mod/chat.php
+++ b/mod/chat.php
@@ -67,5 +67,8 @@ function chat_content(&$a) {
));
return $o;
}
+ require_once('include/widgets.php');
+
+ return widget_chatroom_list(array());
} \ No newline at end of file
diff --git a/mod/chatsvc.php b/mod/chatsvc.php
index 23b95cd1c..39161b5a7 100644
--- a/mod/chatsvc.php
+++ b/mod/chatsvc.php
@@ -29,7 +29,19 @@ function chatsvc_post(&$a) {
$room_id = $a->data['chat']['room_id'];
$text = escape_tags($_REQUEST['chat_text']);
-
+ $status = strip_tags($_REQUEST['status']);
+
+ if($status && $room_id) {
+ $r = q("update chatpresence set cp_status = '%s', cp_last = '%s' where cp_room = %d and cp_xchan = '%s' and cp_client = '%s' limit 1",
+ dbesc($status),
+ dbesc(datetime_convert()),
+ intval($room_id),
+ dbesc(get_observer_hash()),
+ dbesc($_SERVER['REMOTE_ADDR'])
+ );
+ }
+ if(! $text)
+ return;
$sql_extra = permissions_sql($a->data['chat']['uid']);
@@ -96,6 +108,13 @@ function chatsvc_content(&$a) {
}
}
+ $r = q("update chatpresence set cp_last = '%s' where cp_room = %d and cp_xchan = '%s' and cp_client = '%s' limit 1",
+ dbesc(datetime_convert()),
+ intval($room_id),
+ dbesc(get_observer_hash()),
+ dbesc($_SERVER['REMOTE_ADDR'])
+ );
+
$ret['success'] = true;
$ret['inroom'] = $inroom;
$ret['chats'] = $chats;
diff --git a/view/pdl/mod_chat.pdl b/view/pdl/mod_chat.pdl
new file mode 100644
index 000000000..6b1d2a15e
--- /dev/null
+++ b/view/pdl/mod_chat.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=profile][/widget]
+[/region]