|
@@ -9,6 +9,8 @@
|
|
namespace room;
|
|
namespace room;
|
|
|
|
|
|
use uniquer;
|
|
use uniquer;
|
|
|
|
+use Log;
|
|
|
|
+
|
|
class face_item
|
|
class face_item
|
|
{
|
|
{
|
|
const user_count = 50;
|
|
const user_count = 50;
|
|
@@ -21,7 +23,7 @@ class face_item
|
|
return intval($this->mParams['face_id']);
|
|
return intval($this->mParams['face_id']);
|
|
}
|
|
}
|
|
public function hasroom() {
|
|
public function hasroom() {
|
|
- return $this->room_id() != 0;
|
|
|
|
|
|
+ return $this->room_id() > 0;
|
|
}
|
|
}
|
|
public function room_id() {
|
|
public function room_id() {
|
|
return intval($this->mParams['room_id']);
|
|
return intval($this->mParams['room_id']);
|
|
@@ -77,13 +79,14 @@ class face_room
|
|
$this->mFaceItem = new face_item($item);
|
|
$this->mFaceItem = new face_item($item);
|
|
|
|
|
|
$unique = $this->mFaceItem->users();
|
|
$unique = $this->mFaceItem->users();
|
|
- $unique->add_value($user);
|
|
|
|
|
|
|
|
- $users = $unique->values();
|
|
|
|
- if(!$this->mFaceItem->hasroom()) {
|
|
|
|
|
|
+ if($unique->add_value($user)) {
|
|
|
|
+ $users = $unique->values();
|
|
$fact_id = $this->mFaceItem->face_id();
|
|
$fact_id = $this->mFaceItem->face_id();
|
|
$strusers = implode(',',$users);
|
|
$strusers = implode(',',$users);
|
|
$this->mModRoom->editFace(['face_id' => $fact_id],['users' => $strusers]);
|
|
$this->mModRoom->editFace(['face_id' => $fact_id],['users' => $strusers]);
|
|
|
|
+ } else {
|
|
|
|
+ $users = $unique->values();
|
|
}
|
|
}
|
|
|
|
|
|
return $users;
|
|
return $users;
|
|
@@ -91,15 +94,20 @@ class face_room
|
|
public function join($user)
|
|
public function join($user)
|
|
{
|
|
{
|
|
if($this->find($user) === false) return false;
|
|
if($this->find($user) === false) return false;
|
|
|
|
+
|
|
if($this->mFaceItem->hasroom()) {
|
|
if($this->mFaceItem->hasroom()) {
|
|
|
|
+ Log::record("join hasroom true",Log::DEBUG);
|
|
return $this->mFaceItem->room_id();
|
|
return $this->mFaceItem->room_id();
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
$ret = factory_client::instance()->create_chat($user);
|
|
$ret = factory_client::instance()->create_chat($user);
|
|
if($ret == false) {
|
|
if($ret == false) {
|
|
|
|
+ Log::record("join create_chat error",Log::ERR);
|
|
return false;
|
|
return false;
|
|
} else {
|
|
} else {
|
|
|
|
+ Log::record("join create_chat OK",Log::DEBUG);
|
|
|
|
+
|
|
$room_id = $ret['room'];
|
|
$room_id = $ret['room'];
|
|
$fact_id = $this->mFaceItem->face_id();
|
|
$fact_id = $this->mFaceItem->face_id();
|
|
$this->mModRoom->editFace(['face_id' => $fact_id],['room_id' => $room_id]);
|
|
$this->mModRoom->editFace(['face_id' => $fact_id],['room_id' => $room_id]);
|