aboutsummaryrefslogtreecommitdiffstats
path: root/mod/ping.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/ping.php')
-rw-r--r--mod/ping.php10
1 files changed, 7 insertions, 3 deletions
diff --git a/mod/ping.php b/mod/ping.php
index e205dbea7..c3c81992f 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -44,18 +44,22 @@ function ping_init(&$a) {
}
if(get_observer_hash() && (! $result['invalid'])) {
- $r = q("select cp_id from chatpresence where cp_xchan = '%s'",
- dbesc(get_observer_hash())
+ $r = q("select cp_id from chatpresence where cp_xchan = '%s' and cp_client = '%s'",
+ dbesc(get_observer_hash()),
+ dbesc($_SERVER['REMOTE_ADDR'])
);
+ $basic_presence = false;
if($r) {
foreach($r as $rr) {
+ if($rr['cp_id'] == 0)
+ $basic_presence = true;
q("update chatpresence set cp_last = '%s' where cp_id = %d limit 1",
dbesc(datetime_convert()),
intval($rr['cp_id'])
);
}
}
- else {
+ if(! $basic_presence) {
q("insert into chatpresence ( cp_xchan, cp_last, cp_status, cp_client)
values( '%s', '%s', '%s', '%s' ) ",
dbesc(get_observer_hash()),