|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
|
|
|
|
|
|
namespace Chamilo\CoreBundle\Controller;
|
|
|
|
|
|
|
|
|
|
use SocialManager;
|
|
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
|
use Symfony\Component\Routing\Attribute\Route;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author Julio Montoya <gugli100@gmail.com>.
|
|
|
|
|
*/
|
|
|
|
|
#[Route('/online')]
|
|
|
|
|
class OnlineController extends BaseController
|
|
|
|
|
{
|
|
|
|
|
#[Route(path: '/', name: 'users_online', methods: ['GET'], options: ['expose' => true])]
|
|
|
|
|
public function index(): Response
|
|
|
|
|
{
|
|
|
|
|
// @todo don't use legacy code
|
|
|
|
|
$users = who_is_online(0, MAX_ONLINE_USERS);
|
|
|
|
|
$users = SocialManager::display_user_list($users);
|
|
|
|
|
|
|
|
|
|
return $this->render(
|
|
|
|
|
'@ChamiloCore/Online/index.html.twig',
|
|
|
|
|
[
|
|
|
|
|
'whoisonline' => $users,
|
|
|
|
|
]
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[Route(path: '/in_course/{cidReq}', name: 'online_users_in_course', methods: ['GET', 'POST'], options: ['expose' => true])]
|
|
|
|
|
public function onlineUsersInCourses(string $cidReq): Response
|
|
|
|
|
{
|
|
|
|
|
// @todo don't use legacy code
|
|
|
|
|
$users = who_is_online_in_this_course(
|
|
|
|
|
0,
|
|
|
|
|
MAX_ONLINE_USERS,
|
|
|
|
|
api_get_user_id(),
|
|
|
|
|
api_get_setting('time_limit_whosonline'),
|
|
|
|
|
$cidReq
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$users = SocialManager::display_user_list($users);
|
|
|
|
|
|
|
|
|
|
return $this->render(
|
|
|
|
|
'@ChamiloCore/Online/index.html.twig',
|
|
|
|
|
[
|
|
|
|
|
'whoisonline' => $users,
|
|
|
|
|
]
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[Route(path: '/in_sessions', name: 'online_users_in_session', methods: ['GET', 'POST'], options: ['expose' => true])]
|
|
|
|
|
public function onlineUsersInCoursesSession(int $id = 0): Response
|
|
|
|
|
{
|
|
|
|
|
$users = who_is_online_in_this_course(
|
|
|
|
|
0,
|
|
|
|
|
MAX_ONLINE_USERS,
|
|
|
|
|
api_get_user_id(),
|
|
|
|
|
api_get_setting('time_limit_whosonline'),
|
|
|
|
|
$_GET['cidReq']
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$users = SocialManager::display_user_list($users);
|
|
|
|
|
|
|
|
|
|
return $this->render(
|
|
|
|
|
'@ChamiloCore/Online/index.html.twig',
|
|
|
|
|
[
|
|
|
|
|
'whoisonline' => $users,
|
|
|
|
|
]
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|