Browse Source

Merge branch '1.11.x' of github.com:chamilo/chamilo-lms into 1.11.x

Yannick Warnier 6 years ago
parent
commit
5382c2ad4c
2 changed files with 79 additions and 3 deletions
  1. 19 1
      main/social/personal_data.php
  2. 60 2
      src/Chamilo/UserBundle/Repository/UserRepository.php

+ 19 - 1
main/social/personal_data.php

@@ -249,6 +249,25 @@ $webCoursePath = api_get_path(WEB_COURSE_PATH);
 foreach ($properties as $key => $value) {
     if (is_array($value) || is_object($value)) {
         switch ($key) {
+            case 'classes':
+                foreach ($value as $category => $subValue) {
+                    $categoryName = 'Social group';
+                    if ($category == 0) {
+                        $categoryName = 'Class';
+                    }
+                    $personalDataContent .= '<li class="advanced_options" id="personal-data-list-'.$category.'">';
+                    $personalDataContent .= '<u>'.$categoryName.'</u> &gt;</li>';
+                    $personalDataContent .= '<ul id="personal-data-list-'.$category.'_options" style="display:none;">';
+                    if (empty($subValue)) {
+                        $personalDataContent .= '<li>'.get_lang('NoData').'</li>';
+                    } else {
+                        foreach ($subValue as $subSubValue) {
+                            $personalDataContent .= '<li>'.$subSubValue.'</li>';
+                        }
+                    }
+                    $personalDataContent .= '</ul>';
+                }
+                break;
             case 'extraFields':
                 $personalDataContent .= '<li>'.$key.': </li><ul>';
                 if (empty($value)) {
@@ -288,7 +307,6 @@ foreach ($properties as $key => $value) {
             case 'roles':
             case 'achievedSkills':
             case 'sessionAsGeneralCoach':
-            case 'classes':
             case 'courses':
             case 'groupNames':
             case 'groups':

+ 60 - 2
src/Chamilo/UserBundle/Repository/UserRepository.php

@@ -12,6 +12,7 @@ use Chamilo\CoreBundle\Entity\Message;
 use Chamilo\CoreBundle\Entity\Session;
 use Chamilo\CoreBundle\Entity\SessionRelCourseRelUser;
 use Chamilo\CoreBundle\Entity\SkillRelUser;
+use Chamilo\CoreBundle\Entity\SkillRelUserComment;
 use Chamilo\CoreBundle\Entity\TrackEAccess;
 use Chamilo\CoreBundle\Entity\TrackEAttempt;
 use Chamilo\CoreBundle\Entity\TrackECourseAccess;
@@ -22,8 +23,10 @@ use Chamilo\CoreBundle\Entity\TrackELastaccess;
 use Chamilo\CoreBundle\Entity\TrackELogin;
 use Chamilo\CoreBundle\Entity\TrackEOnline;
 use Chamilo\CoreBundle\Entity\TrackEUploads;
+use Chamilo\CoreBundle\Entity\UserApiKey;
 use Chamilo\CoreBundle\Entity\UserCourseCategory;
 use Chamilo\CoreBundle\Entity\UsergroupRelUser;
+use Chamilo\CoreBundle\Entity\UserRelCourseVote;
 use Chamilo\CourseBundle\Entity\CAttendanceResult;
 use Chamilo\CourseBundle\Entity\CAttendanceSheet;
 use Chamilo\CourseBundle\Entity\CBlogPost;
@@ -521,7 +524,8 @@ class UserRepository extends EntityRepository
         $list = [];
         /** @var UsergroupRelUser $class */
         foreach ($classes as $class) {
-            $list[] = $class->getUsergroup()->getName();
+            $name = $class->getUsergroup()->getName();
+            $list[$class->getUsergroup()->getGroupType()][] = $name.' - Status: '.$class->getRelationType();
         }
         $user->setClasses($list);
 
@@ -1042,12 +1046,63 @@ class UserRepository extends EntityRepository
             $list = [
                 'Subject: '.$item->getSubject(),
                 'IP: '.$item->getIpAddress(),
-                'Status: '. $item->getStatus(),
+                'Status: '.$item->getStatus(),
                 'Creation date: '.$item->getInsertDateTime()->format($dateFormat),
             ];
             $ticketMessage[] = implode(', ', $list);
         }
 
+        // SkillRelUserComment
+        $criteria = [
+            'feedbackGiver' => $userId,
+        ];
+        $result = $em->getRepository('ChamiloCoreBundle:SkillRelUserComment')->findBy($criteria);
+        $skillRelUserComment = [];
+        /** @var SkillRelUserComment $item */
+        foreach ($result as $item) {
+            $list = [
+                'Feedback: '.$item->getFeedbackText(),
+                'Value: '. $item->getFeedbackValue(),
+                'Created at: '.$item->getFeedbackDateTime()->format($dateFormat),
+            ];
+            $skillRelUserComment[] = implode(', ', $list);
+        }
+
+        // UserRelCourseVote
+        $criteria = [
+            'userId' => $userId,
+        ];
+        $result = $em->getRepository('ChamiloCoreBundle:UserRelCourseVote')->findBy($criteria);
+        $userRelCourseVote = [];
+        /** @var UserRelCourseVote $item */
+        foreach ($result as $item) {
+            $list = [
+                'Course #'.$item->getCId(),
+                'Session #'.$item->getSessionId(),
+                'Vote: '. $item->getVote(),
+            ];
+            $userRelCourseVote[] = implode(', ', $list);
+        }
+
+        // UserApiKey
+        $criteria = [
+            'userId' => $userId,
+        ];
+        $result = $em->getRepository('ChamiloCoreBundle:UserApiKey')->findBy($criteria);
+        $userApiKey = [];
+        /** @var UserApiKey $item */
+        foreach ($result as $item) {
+            $list = [
+                'ApiKey #'.$item->getApiKey(),
+                'Service: '.$item->getApiService(),
+                'EndPoint: '.$item->getApiEndPoint(),
+                'Validity start date: '.$item->getValidityEndDate()->format($dateFormat),
+                'Validity enddate: '.$item->getValidityStartDate()->format($dateFormat),
+                'Created at: '. $item->getCreatedDate()->format($dateFormat),
+            ];
+            $userApiKey[] = implode(', ', $list);
+        }
+
         $user->setDropBoxSentFiles(
             [
                 'Friends' => $friendList,
@@ -1064,6 +1119,9 @@ class UserRepository extends EntityRepository
                 'GradebookResult' => $gradebookResult,
                 'Downloads' => $trackEDownloads,
                 'UserCourseCategory' => $userCourseCategory,
+                'SkillRelUserComment' => $skillRelUserComment,
+                'UserRelCourseVote' => $userRelCourseVote,
+                'UserApiKey' => $userApiKey,
 
                 // courses
                 'AttendanceResult' => $cAttendanceResult,