Browse Source

Minor - Refactor code BT#15624

Julio Montoya 5 years ago
parent
commit
72ceffd2d1
2 changed files with 61 additions and 50 deletions
  1. 60 0
      main/inc/lib/certificate.lib.php
  2. 1 50
      main/social/my_skills_report.php

+ 60 - 0
main/inc/lib/certificate.lib.php

@@ -863,4 +863,64 @@ class Certificate extends Model
 
         return Database::store_result($rs, 'ASSOC');
     }
+
+    /**
+     * @param int $userId
+     */
+    public static function generateUserSkills($userId)
+    {
+        $controller = new IndexManager(get_lang('MyCourses'));
+        $courseAndSessions = $controller->returnCoursesAndSessions($userId, true, null, true, false);
+
+        if (isset($courseAndSessions['courses']) && !empty($courseAndSessions['courses'])) {
+            foreach ($courseAndSessions['courses'] as $course) {
+                $cats = Category::load(
+                    null,
+                    null,
+                    $course['code'],
+                    null,
+                    null,
+                    null,
+                    false
+                );
+
+                if (isset($cats[0]) && !empty($cats[0])) {
+                    Category::generateUserCertificate(
+                        $cats[0]->get_id(),
+                        $userId
+                    );
+                }
+            }
+        }
+
+        if (isset($courseAndSessions['sessions']) && !empty($courseAndSessions['sessions'])) {
+            foreach ($courseAndSessions['sessions'] as $sessionCategory) {
+                if (isset($sessionCategory['sessions'])) {
+                    foreach ($sessionCategory['sessions'] as $sessionData) {
+                        if (!empty($sessionData['courses'])) {
+                            $sessionId = $sessionData['session_id'];
+                            foreach ($sessionData['courses'] as $courseData) {
+                                $cats = Category:: load(
+                                    null,
+                                    null,
+                                    $courseData['course_code'],
+                                    null,
+                                    null,
+                                    $sessionId,
+                                    false
+                                );
+
+                                if (isset($cats[0]) && !empty($cats[0])) {
+                                    Category::generateUserCertificate(
+                                        $cats[0]->get_id(),
+                                        $userId
+                                    );
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
 }

+ 1 - 50
main/social/my_skills_report.php

@@ -29,56 +29,7 @@ switch ($action) {
         $certificate->generatePdfFromCustomCertificate();
         break;
     case 'generate':
-        $controller = new IndexManager(get_lang('MyCourses'));
-        $courseAndSessions = $controller->returnCoursesAndSessions($userId, true, null, true, false);
-
-        foreach ($courseAndSessions['courses'] as $course) {
-            $cats = Category:: load(
-                null,
-                null,
-                $course['code'],
-                null,
-                null,
-                null,
-                false
-            );
-
-            if (isset($cats[0]) && !empty($cats[0])) {
-                $certificate = Category::generateUserCertificate(
-                    $cats[0]->get_id(),
-                    $userId
-                );
-            }
-        }
-
-        foreach ($courseAndSessions['sessions'] as $sessionCategory) {
-            if (isset($sessionCategory['sessions'])) {
-                foreach ($sessionCategory['sessions'] as $sessionData) {
-                    if (!empty($sessionData['courses'])) {
-                        $sessionId = $sessionData['session_id'];
-                        foreach ($sessionData['courses'] as $courseData) {
-                            $cats = Category:: load(
-                                null,
-                                null,
-                                $courseData['course_code'],
-                                null,
-                                null,
-                                $sessionId,
-                                false
-                            );
-
-                            if (isset($cats[0]) && !empty($cats[0])) {
-                                $certificate = Category::generateUserCertificate(
-                                    $cats[0]->get_id(),
-                                    $userId
-                                );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
+        $certificate = Certificate::generateUserSkills(api_get_user_id());
         Display::addFlash(Display::return_message(get_lang('Updated')));
         header('Location: '.api_get_self());
         exit;