public/main/social/require_user_linking.php
<?php
/* For licensing terms, see /license.txt */
$cidReset = true;
require_once __DIR__.'/../inc/global.inc.php';
$isAllowed = ('true' === api_get_setting('admin.show_link_request_hrm_user') && api_is_drh());
if (!$isAllowed) {
api_not_allowed(true);
}
$hrm = api_get_user_entity(api_get_user_id());
$usersRequested = UserManager::getUsersFollowedByUser(
$hrm->getId(),
null,
null,
false,
false,
null,
null,
null,
null,
null,
null,
HRM_REQUEST
);
$requestOptions = [];
foreach ($usersRequested as $userRequested) {
$userInfo = api_get_user_info($userRequested['user_id']);
if (!$userInfo) {
continue;
}
$requestOptions[$userInfo['user_id']] = $userInfo['complete_name'];
}
$form = new FormValidator('require_user_linking');
$form->addUserAvatar('hrm', get_lang('Human Resources Manager'), 'medium');
$form->addSelectAjax(
'users',
[get_lang('Link me to student'), get_lang('Link me to studentComment')],
$requestOptions,
[
'multiple' => 'multiple',
'url' => api_get_path(WEB_AJAX_PATH).'user_manager.ajax.php?a=get_user_like',
]
);
$form->addButtonSave(get_lang('Request linking with student'));
$form->setDefaults([
'hrm' => $hrm,
'users' => array_keys($requestOptions),
]);
if ($form->validate()) {
$values = $form->exportValues();
//Avoid self-subscribe as request
$usersId = array_filter($values['users'], function ($userId) use ($hrm) {
return (int) $userId != $hrm->getId();
});
UserManager::clearHrmRequestsForUser($hrm, $usersId);
UserManager::requestUsersToHRManager($hrm->getId(), $usersId, false);
Display::addFlash(
Display::return_message(get_lang('Linking request added'), 'success')
);
header('Location: '.api_get_self());
exit;
}
$usersAssigned = UserManager::get_users_followed_by_drh($hrm->getId());
$content = $form->returnForm();
$content .= Display::page_subheader(get_lang('List of users assigned to Human Resources manager'));
$content .= '<div class="row">';
foreach ($usersAssigned as $userAssigned) {
$userAssigned = api_get_user_info($userAssigned['user_id']);
$userPicture = isset($userAssigned["avatar_medium"]) ? $userAssigned["avatar_medium"] : $userAssigned["avatar"];
$studentLink = api_get_path(WEB_CODE_PATH).'my_space/myStudents.php?student='.$userAssigned['user_id'];
$content .= '
<div class="col-sm-4 col-md-3">
<div class="media">
<div class="media-left">
';
$content .= '<a href="'.$studentLink.'">';
$content .= Display::img($userPicture, $userAssigned['complete_name'], ['class' => 'media-object'], false);
$content .= '</a>';
$content .= '
</div>
<div class="media-body">
<h4 class="media-heading"><a href="'.$studentLink.'">'.$userAssigned['complete_name'].'</a></h4>
'.$userAssigned['username'].'
</div>
</div>
</div>
';
}
$content .= '</div>';
$toolName = get_lang('Request linking to student');
$view = new Template($toolName);
$view->assign('header', $toolName);
$view->assign('content', $content);
$view->display_one_col_template();