|
|
|
@ -2,6 +2,7 @@ |
|
|
|
|
/* For licensing terms, see /license.txt */ |
|
|
|
|
|
|
|
|
|
use Chamilo\CoreBundle\Entity\ExtraField as EntityExtraField; |
|
|
|
|
use Chamilo\CoreBundle\Entity\Resource\ResourceNode; |
|
|
|
|
use Chamilo\CoreBundle\Entity\SkillRelUser; |
|
|
|
|
use Chamilo\CoreBundle\Entity\SkillRelUserComment; |
|
|
|
|
use Chamilo\CoreBundle\Framework\Container; |
|
|
|
@ -336,7 +337,25 @@ class UserManager |
|
|
|
|
if (!empty($expirationDate)) { |
|
|
|
|
$user->setExpirationDate($expirationDate); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
$factory = Container::$container->get('Chamilo\CoreBundle\Repository\ResourceFactory'); |
|
|
|
|
$repo = $factory->createRepository('global', 'users'); |
|
|
|
|
|
|
|
|
|
// Add user as a node: |
|
|
|
|
$url = api_get_url_entity($access_url_id); |
|
|
|
|
$resourceNode = new ResourceNode(); |
|
|
|
|
$resourceNode |
|
|
|
|
->setSlug($loginName) |
|
|
|
|
->setCreator(api_get_user_entity($creatorId)) |
|
|
|
|
->setResourceType($repo->getResourceType()) |
|
|
|
|
->setParent($url->getResourceNode()) |
|
|
|
|
; |
|
|
|
|
$repo->getEntityManager()->persist($resourceNode); |
|
|
|
|
|
|
|
|
|
$user->setResourceNode($resourceNode); |
|
|
|
|
$repo->getEntityManager()->persist($user); |
|
|
|
|
|
|
|
|
|
$userManager->updateUser($user); |
|
|
|
|
$userId = $user->getId(); |
|
|
|
|
|
|
|
|
@ -738,8 +757,8 @@ class UserManager |
|
|
|
|
$user = api_get_user_entity($user_id); |
|
|
|
|
|
|
|
|
|
// Unsubscribe the user from all groups in all his courses |
|
|
|
|
$sql = "SELECT c.id |
|
|
|
|
FROM $table_course c |
|
|
|
|
$sql = "SELECT c.id |
|
|
|
|
FROM $table_course c |
|
|
|
|
INNER JOIN $table_course_user cu |
|
|
|
|
ON (c.id = cu.c_id) |
|
|
|
|
WHERE |
|
|
|
@ -2279,13 +2298,13 @@ class UserManager |
|
|
|
|
</a>'; |
|
|
|
|
if ($showDelete) { |
|
|
|
|
$production_list .= ' |
|
|
|
|
<input |
|
|
|
|
style="width:16px;" |
|
|
|
|
type="image" |
|
|
|
|
name="remove_production['.urlencode($file).']" |
|
|
|
|
src="'.$del_image.'" |
|
|
|
|
alt="'.$del_text.'" |
|
|
|
|
title="'.$del_text.' '.htmlentities($file).'" |
|
|
|
|
<input |
|
|
|
|
style="width:16px;" |
|
|
|
|
type="image" |
|
|
|
|
name="remove_production['.urlencode($file).']" |
|
|
|
|
src="'.$del_image.'" |
|
|
|
|
alt="'.$del_text.'" |
|
|
|
|
title="'.$del_text.' '.htmlentities($file).'" |
|
|
|
|
onclick="javascript: return confirmation(\''.htmlentities($file).'\');" /></li>'; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -2677,7 +2696,7 @@ class UserManager |
|
|
|
|
$res = Database::query($sql); |
|
|
|
|
if (Database::num_rows($res) > 0) { |
|
|
|
|
while ($row = Database::fetch_array($res)) { |
|
|
|
|
$sqlu = "SELECT value as fval FROM $t_ufv v |
|
|
|
|
$sqlu = "SELECT value as fval FROM $t_ufv v |
|
|
|
|
INNER JOIN $t_uf f |
|
|
|
|
ON (v.field_id = f.id) |
|
|
|
|
WHERE |
|
|
|
@ -3356,7 +3375,7 @@ class UserManager |
|
|
|
|
INNER JOIN $tbl_course AS course |
|
|
|
|
ON course.id = session_course_user.c_id AND session_course_user.session_id = $session_id |
|
|
|
|
LEFT JOIN $tblCourseCategory course_category ON course.category_id = course_category.id |
|
|
|
|
INNER JOIN $tbl_session as session |
|
|
|
|
INNER JOIN $tbl_session as session |
|
|
|
|
ON session_course_user.session_id = session.id |
|
|
|
|
LEFT JOIN $tbl_user as user ON user.id = session_course_user.user_id |
|
|
|
|
WHERE session_course_user.user_id = $user_id |
|
|
|
@ -3444,7 +3463,7 @@ class UserManager |
|
|
|
|
|
|
|
|
|
if (api_is_allowed_to_create_course()) { |
|
|
|
|
$sql = "SELECT DISTINCT |
|
|
|
|
c.visibility, |
|
|
|
|
c.visibility, |
|
|
|
|
c.id as real_id, |
|
|
|
|
c.code as course_code, |
|
|
|
|
sc.position |
|
|
|
@ -3754,7 +3773,7 @@ class UserManager |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
$t_api = Database::get_main_table(TABLE_MAIN_USER_API_KEY); |
|
|
|
|
$sql = "SELECT id FROM $t_api |
|
|
|
|
$sql = "SELECT id FROM $t_api |
|
|
|
|
WHERE user_id=".$user_id." AND api_service='".$api_service."'"; |
|
|
|
|
$res = Database::query($sql); |
|
|
|
|
$num = Database::num_rows($res); |
|
|
|
@ -3788,7 +3807,7 @@ class UserManager |
|
|
|
|
} |
|
|
|
|
$t_api = Database::get_main_table(TABLE_MAIN_USER_API_KEY); |
|
|
|
|
$api_service = Database::escape_string($api_service); |
|
|
|
|
$sql = "SELECT id FROM $t_api |
|
|
|
|
$sql = "SELECT id FROM $t_api |
|
|
|
|
WHERE user_id=".$user_id." AND api_service='".$api_service."'"; |
|
|
|
|
$res = Database::query($sql); |
|
|
|
|
if (Database::num_rows($res) < 1) { |
|
|
|
@ -3836,14 +3855,14 @@ class UserManager |
|
|
|
|
$t_a = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); |
|
|
|
|
|
|
|
|
|
if (api_is_multiple_url_enabled()) { |
|
|
|
|
$sql = "SELECT count(u.id) |
|
|
|
|
FROM $t_u u |
|
|
|
|
$sql = "SELECT count(u.id) |
|
|
|
|
FROM $t_u u |
|
|
|
|
INNER JOIN $t_a url_user |
|
|
|
|
ON (u.id = url_user.user_id) |
|
|
|
|
WHERE url_user.access_url_id = $access_url_id |
|
|
|
|
WHERE url_user.access_url_id = $access_url_id |
|
|
|
|
"; |
|
|
|
|
} else { |
|
|
|
|
$sql = "SELECT count(u.id) |
|
|
|
|
$sql = "SELECT count(u.id) |
|
|
|
|
FROM $t_u u |
|
|
|
|
WHERE 1 = 1 "; |
|
|
|
|
} |
|
|
|
@ -4488,10 +4507,10 @@ class UserManager |
|
|
|
|
$js = '<script> |
|
|
|
|
extra_field_toogle(); |
|
|
|
|
function extra_field_toogle() { |
|
|
|
|
if (jQuery("select[name=search_type]").val() != "1") { |
|
|
|
|
jQuery(".extra_field").hide(); |
|
|
|
|
} else { |
|
|
|
|
jQuery(".extra_field").show(); |
|
|
|
|
if (jQuery("select[name=search_type]").val() != "1") { |
|
|
|
|
jQuery(".extra_field").hide(); |
|
|
|
|
} else { |
|
|
|
|
jQuery(".extra_field").show(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</script>'; |
|
|
|
@ -4605,13 +4624,13 @@ class UserManager |
|
|
|
|
$extra_condition = ' AND relation_type = '.intval($with_status_condition); |
|
|
|
|
} |
|
|
|
|
$sql = 'DELETE FROM '.$tbl_my_friend.' |
|
|
|
|
WHERE |
|
|
|
|
relation_type <> '.USER_RELATION_TYPE_RRHH.' AND |
|
|
|
|
WHERE |
|
|
|
|
relation_type <> '.USER_RELATION_TYPE_RRHH.' AND |
|
|
|
|
friend_user_id='.$friend_id.' '.$extra_condition; |
|
|
|
|
Database::query($sql); |
|
|
|
|
$sql = 'DELETE FROM '.$tbl_my_friend.' |
|
|
|
|
WHERE |
|
|
|
|
relation_type <> '.USER_RELATION_TYPE_RRHH.' AND |
|
|
|
|
WHERE |
|
|
|
|
relation_type <> '.USER_RELATION_TYPE_RRHH.' AND |
|
|
|
|
user_id='.$friend_id.' '.$extra_condition; |
|
|
|
|
Database::query($sql); |
|
|
|
|
} else { |
|
|
|
@ -4628,16 +4647,16 @@ class UserManager |
|
|
|
|
WHERE user_id='.$user_id.' AND friend_user_id='.$friend_id; |
|
|
|
|
|
|
|
|
|
$sql_j = 'UPDATE '.$tbl_my_message.' SET msg_status='.MESSAGE_STATUS_INVITATION_DENIED.' |
|
|
|
|
WHERE |
|
|
|
|
user_receiver_id='.$user_id.' AND |
|
|
|
|
WHERE |
|
|
|
|
user_receiver_id='.$user_id.' AND |
|
|
|
|
user_sender_id='.$friend_id.' AND update_date="0000-00-00 00:00:00" '; |
|
|
|
|
// Delete user |
|
|
|
|
$sql_ij = 'UPDATE '.$tbl_my_friend.' SET relation_type='.USER_RELATION_TYPE_DELETED.' |
|
|
|
|
WHERE user_id='.$friend_id.' AND friend_user_id='.$user_id; |
|
|
|
|
$sql_ji = 'UPDATE '.$tbl_my_message.' SET msg_status='.MESSAGE_STATUS_INVITATION_DENIED.' |
|
|
|
|
WHERE |
|
|
|
|
user_receiver_id='.$friend_id.' AND |
|
|
|
|
user_sender_id='.$user_id.' AND |
|
|
|
|
WHERE |
|
|
|
|
user_receiver_id='.$friend_id.' AND |
|
|
|
|
user_sender_id='.$user_id.' AND |
|
|
|
|
update_date="0000-00-00 00:00:00" '; |
|
|
|
|
Database::query($sql_i); |
|
|
|
|
Database::query($sql_j); |
|
|
|
@ -4647,15 +4666,15 @@ class UserManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Delete accepted invitations |
|
|
|
|
$sql = "DELETE FROM $tbl_my_message |
|
|
|
|
$sql = "DELETE FROM $tbl_my_message |
|
|
|
|
WHERE |
|
|
|
|
msg_status = ".MESSAGE_STATUS_INVITATION_ACCEPTED." AND |
|
|
|
|
( |
|
|
|
|
user_receiver_id = $user_id AND |
|
|
|
|
user_receiver_id = $user_id AND |
|
|
|
|
user_sender_id = $friend_id |
|
|
|
|
) OR |
|
|
|
|
) OR |
|
|
|
|
( |
|
|
|
|
user_sender_id = $user_id AND |
|
|
|
|
user_sender_id = $user_id AND |
|
|
|
|
user_receiver_id = $friend_id |
|
|
|
|
) |
|
|
|
|
"; |
|
|
|
@ -4874,7 +4893,7 @@ class UserManager |
|
|
|
|
$tbl_session_rel_access_url session_rel_access_rel_user |
|
|
|
|
ON session_rel_access_rel_user.session_id = s.id |
|
|
|
|
WHERE access_url_id = ".api_get_current_access_url_id()." |
|
|
|
|
$sessionConditionsCoach |
|
|
|
|
$sessionConditionsCoach |
|
|
|
|
) OR sru.session_id IN ( |
|
|
|
|
SELECT DISTINCT(s.id) FROM $tbl_session s |
|
|
|
|
INNER JOIN $tbl_session_rel_access_url url |
|
|
|
@ -4884,7 +4903,7 @@ class UserManager |
|
|
|
|
WHERE access_url_id = ".api_get_current_access_url_id()." |
|
|
|
|
$sessionConditionsTeacher |
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
) |
|
|
|
|
$userConditions |
|
|
|
|
) |
|
|
|
|
UNION ALL( |
|
|
|
@ -5053,29 +5072,29 @@ class UserManager |
|
|
|
|
if ($deleteOtherAssignedUsers) { |
|
|
|
|
if (api_get_multiple_access_url()) { |
|
|
|
|
// Deleting assigned users to hrm_id |
|
|
|
|
$sql = "SELECT s.user_id |
|
|
|
|
FROM $userRelUserTable s |
|
|
|
|
$sql = "SELECT s.user_id |
|
|
|
|
FROM $userRelUserTable s |
|
|
|
|
INNER JOIN $userRelAccessUrlTable a |
|
|
|
|
ON (a.user_id = s.user_id) |
|
|
|
|
WHERE |
|
|
|
|
friend_user_id = $userId AND |
|
|
|
|
relation_type = $relationType AND |
|
|
|
|
ON (a.user_id = s.user_id) |
|
|
|
|
WHERE |
|
|
|
|
friend_user_id = $userId AND |
|
|
|
|
relation_type = $relationType AND |
|
|
|
|
access_url_id = ".api_get_current_access_url_id(); |
|
|
|
|
} else { |
|
|
|
|
$sql = "SELECT user_id |
|
|
|
|
FROM $userRelUserTable |
|
|
|
|
WHERE |
|
|
|
|
friend_user_id = $userId AND |
|
|
|
|
$sql = "SELECT user_id |
|
|
|
|
FROM $userRelUserTable |
|
|
|
|
WHERE |
|
|
|
|
friend_user_id = $userId AND |
|
|
|
|
relation_type = $relationType"; |
|
|
|
|
} |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
while ($row = Database::fetch_array($result)) { |
|
|
|
|
$sql = "DELETE FROM $userRelUserTable |
|
|
|
|
$sql = "DELETE FROM $userRelUserTable |
|
|
|
|
WHERE |
|
|
|
|
user_id = {$row['user_id']} AND |
|
|
|
|
friend_user_id = $userId AND |
|
|
|
|
user_id = {$row['user_id']} AND |
|
|
|
|
friend_user_id = $userId AND |
|
|
|
|
relation_type = $relationType"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
} |
|
|
|
@ -5083,8 +5102,8 @@ class UserManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($deleteUsersBeforeInsert) { |
|
|
|
|
$sql = "DELETE FROM $userRelUserTable |
|
|
|
|
WHERE |
|
|
|
|
$sql = "DELETE FROM $userRelUserTable |
|
|
|
|
WHERE |
|
|
|
|
user_id = $userId AND |
|
|
|
|
relation_type = $relationType"; |
|
|
|
|
Database::query($sql); |
|
|
|
@ -5094,11 +5113,11 @@ class UserManager |
|
|
|
|
if (is_array($subscribedUsersId)) { |
|
|
|
|
foreach ($subscribedUsersId as $subscribedUserId) { |
|
|
|
|
$subscribedUserId = (int) $subscribedUserId; |
|
|
|
|
$sql = "SELECT id |
|
|
|
|
$sql = "SELECT id |
|
|
|
|
FROM $userRelUserTable |
|
|
|
|
WHERE |
|
|
|
|
user_id = $subscribedUserId AND |
|
|
|
|
friend_user_id = $userId AND |
|
|
|
|
WHERE |
|
|
|
|
user_id = $subscribedUserId AND |
|
|
|
|
friend_user_id = $userId AND |
|
|
|
|
relation_type = $relationType"; |
|
|
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
@ -5213,7 +5232,7 @@ class UserManager |
|
|
|
|
$user_id = (int) $user_id; |
|
|
|
|
|
|
|
|
|
$table = Database::get_main_table(TABLE_MAIN_GRADEBOOK_CERTIFICATE); |
|
|
|
|
$sql = 'SELECT path_certificate |
|
|
|
|
$sql = 'SELECT path_certificate |
|
|
|
|
FROM '.$table.' |
|
|
|
|
WHERE |
|
|
|
|
cat_id = "'.$cat_id.'" AND |
|
|
|
@ -5248,12 +5267,12 @@ class UserManager |
|
|
|
|
$session_condition = " AND session_id = $session_id"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sql = 'SELECT * FROM '.$tbl_grade_certificate.' |
|
|
|
|
$sql = 'SELECT * FROM '.$tbl_grade_certificate.' |
|
|
|
|
WHERE cat_id = ( |
|
|
|
|
SELECT id FROM '.$tbl_grade_category.' |
|
|
|
|
WHERE |
|
|
|
|
course_code = "'.Database::escape_string($course_code).'" '.$session_condition.' |
|
|
|
|
LIMIT 1 |
|
|
|
|
course_code = "'.Database::escape_string($course_code).'" '.$session_condition.' |
|
|
|
|
LIMIT 1 |
|
|
|
|
) AND user_id='.intval($user_id); |
|
|
|
|
|
|
|
|
|
$rs = Database::query($sql); |
|
|
|
@ -5422,7 +5441,7 @@ class UserManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$userRelUserTable = Database::get_main_table(TABLE_MAIN_USER_REL_USER); |
|
|
|
|
$sql = "DELETE FROM $userRelUserTable |
|
|
|
|
$sql = "DELETE FROM $userRelUserTable |
|
|
|
|
WHERE user_id = $userId AND relation_type = ".USER_RELATION_TYPE_BOSS; |
|
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
|
@ -5752,7 +5771,7 @@ class UserManager |
|
|
|
|
$sql = <<<SQL |
|
|
|
|
SELECT id, username, lastname, firstname |
|
|
|
|
FROM $userTable |
|
|
|
|
WHERE |
|
|
|
|
WHERE |
|
|
|
|
firstname LIKE '$firstname%' AND |
|
|
|
|
lastname LIKE '$lastname%' |
|
|
|
|
SQL; |
|
|
|
@ -6492,11 +6511,11 @@ SQL; |
|
|
|
|
$tableCareer = Database::get_main_table(TABLE_CAREER); |
|
|
|
|
$userId = (int) $userId; |
|
|
|
|
|
|
|
|
|
$sql = "SELECT c.id, c.name |
|
|
|
|
FROM $table uc |
|
|
|
|
INNER JOIN $tableCareer c |
|
|
|
|
ON uc.career_id = c.id |
|
|
|
|
WHERE user_id = $userId |
|
|
|
|
$sql = "SELECT c.id, c.name |
|
|
|
|
FROM $table uc |
|
|
|
|
INNER JOIN $tableCareer c |
|
|
|
|
ON uc.career_id = c.id |
|
|
|
|
WHERE user_id = $userId |
|
|
|
|
ORDER BY uc.created_at |
|
|
|
|
"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|