apply service class restriction to the number of channels allowed in a chatroom at a time ('chatters_inroom'). If you've got a public site you probably want to restrict this.
This commit is contained in:
parent
3e677ec53d
commit
a46fa1fbae
@ -114,6 +114,17 @@ function chatroom_enter($observer_xchan,$room_id,$status,$client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$limit = service_class_fetch($r[0]['cr_uid'],'chatters_inroom');
|
||||||
|
if($limit !== false) {
|
||||||
|
$x = q("select count(*) as total from chatpresence where cp_room = %d",
|
||||||
|
intval($room_id)
|
||||||
|
);
|
||||||
|
if($x && $x[0]['total'] > $limit) {
|
||||||
|
notice( t('Room is full') . EOL);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(intval($x[0]['cr_expire']))
|
if(intval($x[0]['cr_expire']))
|
||||||
$r = q("delete from chat where created < UTC_TIMESTAMP() - INTERVAL " . intval($x[0]['cr_expire']) . " MINUTE and chat_room = " . intval($x[0]['cr_id']));
|
$r = q("delete from chat where created < UTC_TIMESTAMP() - INTERVAL " . intval($x[0]['cr_expire']) . " MINUTE and chat_room = " . intval($x[0]['cr_id']));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user