GIF89a;
| Direktori : /home/serb/www/livechat/php/controller/ |
| Current File : /home/serb/www/livechat/php/controller/GuestController.php |
<?php
class GuestController extends Controller
{
// Update user's last acitvity time
public function stayAliveAction()
{
UserModel::repo()->stayAlive($this->get('guest')->getId());
return $this->json(array('success' => true));
}
// Get online guests
public function getOnlineAction()
{
$guests = UserModel::repo()->findBy(array(
'roles' => array('LIKE', '%GUEST%'))
);
$result = array();
if($guests)
{
foreach($guests as $guest)
{
if($guest->hasValidSession())
{
$result[] = $guest;
}
}
}
return $this->json($result);
}
// Update guest's typing status
public function updateTypingStatusAction()
{
$request = $this->get('request');
$userId = $this->get('guest')->getId();
$secondUserId = $request->postVar('secondUserId');
if($userId)
{
$status = $request->postVar('status');
UserModel::repo()->updateTypingStatus($userId, $secondUserId, $status == true);
return $this->json(array('success' => true));
}
return $this->json(array('success' => false));
}
// Get user(s) typing status(es)
public function getTypingStatusAction()
{
$request = $this->get('request');
$userId = $this->get('guest')->getId();
$userIds = $request->postVar('ids');
if($userId)
{
if(is_array($userIds))
{
$results = array();
foreach($userIds as $id)
{
$results[$id] = UserModel::repo()->getTypingStatus($userId, $id);
}
return $this->json(array('success' => true, 'results' => $results));
}
}
return $this->json(array('success' => false));
}
}
?>