|
|
|
@ -1474,6 +1474,7 @@ class SessionManager |
|
|
|
|
$tbl_session_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_USER); |
|
|
|
|
$tbl_url_session = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_SESSION); |
|
|
|
|
$tbl_item_properties = Database::get_course_table(TABLE_ITEM_PROPERTY); |
|
|
|
|
$em = Database::getManager(); |
|
|
|
|
|
|
|
|
|
$userId = api_get_user_id(); |
|
|
|
|
|
|
|
|
@ -1486,10 +1487,16 @@ class SessionManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (SessionManager::allowed($id_checked) && !$from_ws) { |
|
|
|
|
$sql = 'SELECT session_admin_id FROM ' . $tbl_session. ' |
|
|
|
|
WHERE id IN (' . $id_checked.')'; |
|
|
|
|
$rs = Database::query($sql); |
|
|
|
|
if (Database::result($rs, 0, 0) != $userId) { |
|
|
|
|
$qb = $em |
|
|
|
|
->createQuery(' |
|
|
|
|
SELECT s.sessionAdminId FROM ChamiloCoreBundle:Session s |
|
|
|
|
WHERE s.id = ?1 |
|
|
|
|
') |
|
|
|
|
->setParameter(1, $id_checked); |
|
|
|
|
|
|
|
|
|
$res = $qb->getSingleScalarResult(); |
|
|
|
|
|
|
|
|
|
if ($res != $userId) { |
|
|
|
|
api_not_allowed(true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -3878,6 +3885,10 @@ class SessionManager |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (api_is_platform_admin()) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$userId = api_get_user_id(); |
|
|
|
|
|
|
|
|
|
if (api_is_session_admin() && |
|
|
|
|