From 72ceffd2d1b55a1eb7ce765201a2d19ca005dcfe Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Tue, 28 May 2019 13:08:41 +0200 Subject: [PATCH] Minor - Refactor code BT#15624 --- main/inc/lib/certificate.lib.php | 60 ++++++++++++++++++++++++++++++++ main/social/my_skills_report.php | 51 +-------------------------- 2 files changed, 61 insertions(+), 50 deletions(-) diff --git a/main/inc/lib/certificate.lib.php b/main/inc/lib/certificate.lib.php index 7330c45717..36adc5894d 100755 --- a/main/inc/lib/certificate.lib.php +++ b/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 + ); + } + } + } + } + } + } + } + } } diff --git a/main/social/my_skills_report.php b/main/social/my_skills_report.php index 80d95d5cd6..374ed67fff 100644 --- a/main/social/my_skills_report.php +++ b/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;