From afcec41aae96c84efdf1d8155a0e6fa89ff30f67 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 9 Aug 2018 21:31:26 +0200 Subject: [PATCH 1/8] Add more data in the export see #2503 --- .../UserBundle/Repository/UserRepository.php | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/Chamilo/UserBundle/Repository/UserRepository.php b/src/Chamilo/UserBundle/Repository/UserRepository.php index 493c892b7b..3297c4f0af 100644 --- a/src/Chamilo/UserBundle/Repository/UserRepository.php +++ b/src/Chamilo/UserBundle/Repository/UserRepository.php @@ -801,6 +801,21 @@ class UserRepository extends EntityRepository $cForumThreadList[] = implode(', ', $list); } + // CForumAttachment + /*$criteria = [ + 'threadPosterId' => $userId, + ]; + $result = $em->getRepository('ChamiloCourseBundle:CForumAttachment')->findBy($criteria); + $cForumThreadList = []; + * @var CForumThread $item + foreach ($result as $item) { + $list = [ + 'Title: '.$item->getThreadTitle(), + 'Creation date: '.$item->getThreadDate()->format($dateFormat), + ]; + $cForumThreadList[] = implode(', ', $list); + }*/ + // cGroupRelUser $criteria = [ 'userId' => $userId, @@ -873,7 +888,8 @@ class UserRepository extends EntityRepository $list = [ 'Title: '.$item->getTitle(), 'Sent date: '.$item->getSendDate()->format($dateFormat), - 'To user# '.$item->getUserReceiverId(), + 'To user # '.$item->getUserReceiverId(), + 'Status'.$item->getMsgStatus(), ]; $messageList[] = implode(', ', $list); } @@ -919,6 +935,7 @@ class UserRepository extends EntityRepository foreach ($result as $item) { $list = [ 'File #'.$item->getFileId(), + 'Course #'.$item->getCId(), ]; $cDropboxPerson[] = implode(', ', $list); } @@ -1062,7 +1079,7 @@ class UserRepository extends EntityRepository foreach ($result as $item) { $list = [ 'Feedback: '.$item->getFeedbackText(), - 'Value: '. $item->getFeedbackValue(), + 'Value: '.$item->getFeedbackValue(), 'Created at: '.$item->getFeedbackDateTime()->format($dateFormat), ]; $skillRelUserComment[] = implode(', ', $list); @@ -1079,7 +1096,7 @@ class UserRepository extends EntityRepository $list = [ 'Course #'.$item->getCId(), 'Session #'.$item->getSessionId(), - 'Vote: '. $item->getVote(), + 'Vote: '.$item->getVote(), ]; $userRelCourseVote[] = implode(', ', $list); } @@ -1098,7 +1115,7 @@ class UserRepository extends EntityRepository 'EndPoint: '.$item->getApiEndPoint(), 'Validity start date: '.$item->getValidityEndDate()->format($dateFormat), 'Validity enddate: '.$item->getValidityStartDate()->format($dateFormat), - 'Created at: '. $item->getCreatedDate()->format($dateFormat), + 'Created at: '.$item->getCreatedDate()->format($dateFormat), ]; $userApiKey[] = implode(', ', $list); } From f6cb4e198533eaf9b3baa123b98358c54e66cfe6 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 9 Aug 2018 22:15:26 +0200 Subject: [PATCH 2/8] Add extra fields from getTreatmentTypeList() --- main/admin/legal_add.php | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/main/admin/legal_add.php b/main/admin/legal_add.php index 02d08102e1..13e70f726d 100755 --- a/main/admin/legal_add.php +++ b/main/admin/legal_add.php @@ -25,6 +25,25 @@ $term_preview = [ 'content' => '', 'changes' => '', ]; + +$extraField = new ExtraField('terms_and_condition'); + +$types = LegalManager::getTreatmentTypeList(); +foreach ($types as $variable => $name) { + $params = [ + 'variable' => $variable, + 'display_text' => $name, + 'field_type' => ExtraField::FIELD_TYPE_TEXTAREA, + 'default_value' => '', + 'visible' => true, + 'changeable' => true, + 'filter' => true, + 'visible_to_self' => true, + 'visible_to_others' => true, + ]; + $extraField->save($params); +} + if ($form->validate()) { $check = Security::check_token('post'); if ($check) { @@ -67,7 +86,7 @@ if ($form->validate()) { $tok = Security::get_token(); header('Location: legal_list.php?sec_token='.$tok); exit(); - } elseif ($submit == 'preview') { + } elseif ($submit === 'preview') { $defaults['type'] = $type; $defaults['content'] = $content; $defaults['changes'] = $changes; @@ -128,7 +147,6 @@ if (isset($_POST['language'])) { } $termId = isset($term_preview['id']) ? $term_preview['id'] : 0; - $extraField = new ExtraField('terms_and_condition'); $returnParams = $extraField->addElements( $form, $termId, From 89b4761e0970f6fb7fc5333a3f0a0cbbeac4a474 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 9 Aug 2018 22:22:42 +0200 Subject: [PATCH 3/8] Comment unused code see #2503 --- main/social/personal_data.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main/social/personal_data.php b/main/social/personal_data.php index 771b2d73c5..34f3098233 100755 --- a/main/social/personal_data.php +++ b/main/social/personal_data.php @@ -403,7 +403,7 @@ $legalTermsRepo = $em->getRepository('ChamiloCoreBundle:Legal'); // Get data about the treatment of data $treatmentTypes = LegalManager::getTreatmentTypeList(); -foreach ($treatmentTypes as $id => $item) { +/*foreach ($treatmentTypes as $id => $item) { $personalData['treatment'][$item]['title'] = get_lang('PersonalData'.ucfirst($item).'Title'); $legalTerm = $legalTermsRepo->findOneByTypeAndLanguage($id, api_get_language_id($user_language)); $legalTermContent = ''; @@ -411,7 +411,8 @@ foreach ($treatmentTypes as $id => $item) { $legalTermContent = $legalTerm[0]['content']; } $personalData['treatment'][$item]['content'] = $legalTermContent; -} +}*/ + $officerName = api_get_configuration_value('data_protection_officer_name'); $officerRole = api_get_configuration_value('data_protection_officer_role'); $officerEmail = api_get_configuration_value('data_protection_officer_email'); From 5c6ab06edc5dedfa174774fbaa6a876f69972a62 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 9 Aug 2018 22:30:27 +0200 Subject: [PATCH 4/8] Minor - fix name #2503 --- main/admin/legal_add.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main/admin/legal_add.php b/main/admin/legal_add.php index 13e70f726d..70d15d80b2 100755 --- a/main/admin/legal_add.php +++ b/main/admin/legal_add.php @@ -30,9 +30,10 @@ $extraField = new ExtraField('terms_and_condition'); $types = LegalManager::getTreatmentTypeList(); foreach ($types as $variable => $name) { + $label = 'PrivacyTerms'.ucfirst($name); $params = [ 'variable' => $variable, - 'display_text' => $name, + 'display_text' => $label, 'field_type' => ExtraField::FIELD_TYPE_TEXTAREA, 'default_value' => '', 'visible' => true, From 38eba4dcbbbce0c1caafc414f8e385710564efa8 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 9 Aug 2018 22:50:22 +0200 Subject: [PATCH 5/8] Add chat from courses #2503 --- .../UserBundle/Repository/UserRepository.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Chamilo/UserBundle/Repository/UserRepository.php b/src/Chamilo/UserBundle/Repository/UserRepository.php index 3297c4f0af..78f567a075 100644 --- a/src/Chamilo/UserBundle/Repository/UserRepository.php +++ b/src/Chamilo/UserBundle/Repository/UserRepository.php @@ -46,6 +46,7 @@ use Chamilo\TicketBundle\Entity\Ticket; use Chamilo\UserBundle\Entity\User; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\Query\Expr\Join; +use Symfony\Component\Finder\Finder; use Symfony\Component\Serializer\Encoder\JsonEncoder; use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer; use Symfony\Component\Serializer\Serializer; @@ -514,10 +515,22 @@ class UserRepository extends EntityRepository $courses = $user->getCourses(); $list = []; + $documentDir = []; + $chatFiles = []; /** @var CourseRelUser $course */ foreach ($courses as $course) { $list[] = $course->getCourse()->getCode(); + $courseDir = api_get_path(SYS_COURSE_PATH).$course->getCourse()->getDirectory(); + $documentDir = $courseDir.'/document/chat_files/'; + if (is_dir($documentDir)) { + $fs = new Finder(); + $fs->files()->in($documentDir); + foreach ($fs as $file) { + $chatFiles[] = $file->getFilename(); + } + } } + $user->setCourses($list); $classes = $user->getClasses(); @@ -1144,6 +1157,7 @@ class UserRepository extends EntityRepository 'AttendanceResult' => $cAttendanceResult, 'Blog' => $cBlog, 'DocumentsAdded' => $documents, + 'Chat' => $chatFiles, 'ForumPost' => $cForumPostList, 'ForumThread' => $cForumThreadList, 'TrackEExercises' => $trackEExercises, From e2e5102eee35eb7c28f8e2e0243048d73b1147db Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 9 Aug 2018 22:52:07 +0200 Subject: [PATCH 6/8] Add chat course file see #2503 --- src/Chamilo/UserBundle/Repository/UserRepository.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Chamilo/UserBundle/Repository/UserRepository.php b/src/Chamilo/UserBundle/Repository/UserRepository.php index 78f567a075..cda01a8791 100644 --- a/src/Chamilo/UserBundle/Repository/UserRepository.php +++ b/src/Chamilo/UserBundle/Repository/UserRepository.php @@ -526,6 +526,8 @@ class UserRepository extends EntityRepository $fs = new Finder(); $fs->files()->in($documentDir); foreach ($fs as $file) { +// $data = file_get_contents($file->getRealPath()); + //$chatFiles[] = $file->getRealPath(); $chatFiles[] = $file->getFilename(); } } From ea907496f39dd858cd0aab885b0cbeb819bcaf50 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 9 Aug 2018 23:09:28 +0200 Subject: [PATCH 7/8] Show only name of the chat course html file #2503 Lang variable added ContentNotAccessibleRequestFromDataPrivacyOfficer --- src/Chamilo/UserBundle/Repository/UserRepository.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Chamilo/UserBundle/Repository/UserRepository.php b/src/Chamilo/UserBundle/Repository/UserRepository.php index cda01a8791..6bb25cc631 100644 --- a/src/Chamilo/UserBundle/Repository/UserRepository.php +++ b/src/Chamilo/UserBundle/Repository/UserRepository.php @@ -515,7 +515,6 @@ class UserRepository extends EntityRepository $courses = $user->getCourses(); $list = []; - $documentDir = []; $chatFiles = []; /** @var CourseRelUser $course */ foreach ($courses as $course) { @@ -526,9 +525,9 @@ class UserRepository extends EntityRepository $fs = new Finder(); $fs->files()->in($documentDir); foreach ($fs as $file) { -// $data = file_get_contents($file->getRealPath()); - //$chatFiles[] = $file->getRealPath(); - $chatFiles[] = $file->getFilename(); + $chatFiles[] = + $course->getCourse()->getDirectory().'/document/chat_files/'.$file->getFilename().' - '. + get_lang('ContentNotAccessibleRequestFromDataPrivacyOfficer'); } } } From ded8de9758505b31bedd6ef649ab688334de73d8 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 9 Aug 2018 23:10:44 +0200 Subject: [PATCH 8/8] Hide results from exercise and attempt #2503 --- src/Chamilo/UserBundle/Repository/UserRepository.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Chamilo/UserBundle/Repository/UserRepository.php b/src/Chamilo/UserBundle/Repository/UserRepository.php index 6bb25cc631..2bf6a6176a 100644 --- a/src/Chamilo/UserBundle/Repository/UserRepository.php +++ b/src/Chamilo/UserBundle/Repository/UserRepository.php @@ -598,8 +598,8 @@ class UserRepository extends EntityRepository 'IP: '.$item->getUserIp(), 'Start: '.$item->getExeDate()->format($dateFormat), 'Status: '.$item->getStatus(), - 'Result: '.$item->getExeResult(), - 'Weighting: '.$item->getExeWeighting(), + // 'Result: '.$item->getExeResult(), + // 'Weighting: '.$item->getExeWeighting(), ]; $trackEExercises[] = implode(', ', $list); } @@ -615,9 +615,9 @@ class UserRepository extends EntityRepository $list = [ 'Attempt #'.$item->getExeId(), 'Course # '.$item->getCId(), - 'Answer: '.$item->getAnswer(), + //'Answer: '.$item->getAnswer(), 'Session #'.$item->getSessionId(), - 'Marks: '.$item->getMarks(), + //'Marks: '.$item->getMarks(), 'Position: '.$item->getPosition(), 'Date: '.$item->getTms()->format($dateFormat), ]; @@ -751,7 +751,7 @@ class UserRepository extends EntityRepository foreach ($result as $item) { $list = [ 'Evaluation id# '.$item->getEvaluationId(), - 'Score: '.$item->getScore(), + //'Score: '.$item->getScore(), 'Creation date: '.$item->getCreatedAt()->format($dateFormat), ]; $gradebookResult[] = implode(', ', $list);