Improve code for get_user_popup in user_manager.ajax.php #3493

pull/3495/head
Angel Fernando Quiroz Campos 5 years ago
parent b533fd8d0d
commit aff65c3f97
  1. 39
      main/inc/ajax/user_manager.ajax.php

@ -4,12 +4,15 @@
use Chamilo\UserBundle\Entity\User; use Chamilo\UserBundle\Entity\User;
use Doctrine\Common\Collections\Criteria; use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\Query\Expr\Join; use Doctrine\ORM\Query\Expr\Join;
use Symfony\Component\HttpFoundation\Request;
/** /**
* Responses to AJAX calls. * Responses to AJAX calls.
*/ */
require_once __DIR__.'/../global.inc.php'; require_once __DIR__.'/../global.inc.php';
$request = Request::createFromGlobals();
$action = $_GET['a']; $action = $_GET['a'];
switch ($action) { switch ($action) {
@ -33,39 +36,37 @@ switch ($action) {
} }
break; break;
case 'get_user_popup': case 'get_user_popup':
$courseId = isset($_REQUEST['course_id']) ? (int) $_REQUEST['course_id'] : 0; $courseId = (int) $request->get('course_id');
$sessionId = isset($_REQUEST['session_id']) ? (int) $_REQUEST['session_id'] : 0; $sessionId = (int) $request->get('session_id');
$userId = (int) $request->get('user_id');
$user_info = api_get_user_info($_REQUEST['user_id']); $user_info = api_get_user_info($userId);
$isAnonymous = api_is_anonymous(); $isAnonymous = api_is_anonymous();
echo '<div class="row">'; echo '<div class="row">';
echo '<div class="col-sm-5">'; echo '<div class="col-sm-5">';
echo '<div class="thumbnail">'; echo '<div class="thumbnail">';
echo '<img src="'.$user_info['avatar'].'" /> '; echo Display::img($user_info['avatar'], $user_info['complete_name']);
echo '</div>'; echo '</div>';
echo '</div>'; echo '</div>';
echo '<div class="col-sm-7">'; echo '<div class="col-sm-7">';
if (api_get_setting('show_email_addresses') == 'false') { if ($isAnonymous || api_get_setting('show_email_addresses') == 'false') {
$user_info['mail'] = ' '; $user_info['mail'] = '';
} else {
$user_info['mail'] = ' '.$user_info['mail'].' ';
} }
if ($isAnonymous) { $userData = '<h3>'.$user_info['complete_name'].'</h3>'
$user_info['mail'] = ' '; .PHP_EOL
} .$user_info['mail']
.PHP_EOL
.$user_info['official_code'];
$userData = '<h3>'.$user_info['complete_name'].'</h3>'.$user_info['mail'].$user_info['official_code'];
if ($isAnonymous) { if ($isAnonymous) {
// Only allow anonymous users to see user popup if the popup user // Only allow anonymous users to see user popup if the popup user
// is a teacher (which might be necessary to illustrate a course) // is a teacher (which might be necessary to illustrate a course)
if ($user_info['status'] === COURSEMANAGER) { if ($user_info['status'] === COURSEMANAGER) {
echo $userData; echo $userData;
} else {
echo '<h3>-</h3>';
} }
} else { } else {
echo Display::url( echo Display::url(
@ -76,7 +77,15 @@ switch ($action) {
echo '</div>'; echo '</div>';
echo '</div>'; echo '</div>';
$url = api_get_path(WEB_AJAX_PATH).'message.ajax.php?a=send_message&user_id='.$user_info['user_id'].'&course_id='.$courseId.'&session_id='.$sessionId; $url = api_get_path(WEB_AJAX_PATH).'message.ajax.php?'
.http_build_query(
[
'a' => 'send_message',
'user_id' => $user_info['user_id'],
'course_id' => $courseId,
'session_id' => $sessionId,
]
);
if ($isAnonymous === false && if ($isAnonymous === false &&
api_get_setting('allow_message_tool') == 'true' api_get_setting('allow_message_tool') == 'true'

Loading…
Cancel
Save