lessons); $i = 0; foreach ($lessons->courses as $key => $lesson) { $i += count($lesson->lessons->name); } $courseApplication = Course::getCourseApplication($course->id, $user->id); $coursePercentage = round(100 / $i); $courseArray = (array)$lessons->courses; $selectedCourse = $courseArray[$id]; $lastLesson = count($selectedCourse->lessons->name); $courses = (array)$lessons->courses; if ($user->id > 0) { if (empty($courseApplication)) { $completedCourses[$id] = array(); array_push($completedCourses[$id], (int)$lessonID); $jsonStr = '{"courses":' . json_encode($completedCourses, JSON_UNESCAPED_UNICODE) . '}'; $courseApp = array( 'course_id' => $course->id, 'user_id' => $user->id, 'percentage' => $coursePercentage ); $id = Database::getInstance()->insert(JMLADATBAZIS . ".aleducation_applications", $courseApp, 'iii'); $query = "UPDATE `" . JMLADATBAZIS . "`.`aleducation_applications` SET completedCourses = ? WHERE id = ?"; Database::getInstance()->query($query, array('si', $jsonStr, $id)); } else { $completedCourses = (array)json_decode($courseApplication['completedCourses'])->courses; if ($completedCourses[$id] == null || !in_array($lessonID, $completedCourses[$id])) { if ($completedCourses[$id] == null) $completedCourses[$id] = array(); array_push($completedCourses[$id], (int)$lessonID); $courseCounter = 0; $allLesson = 0; foreach ($completedCourses as $completedCourse) { $courseCounter += count($completedCourse); } foreach ($courses as $lessonArray) { $allLesson += count($lessonArray->lessons->name); } $percentage = round(($courseCounter / $allLesson) * 100); $updatedJson = '{"courses":' . json_encode($completedCourses, JSON_UNESCAPED_UNICODE) . '}'; $query = "UPDATE `" . JMLADATBAZIS . "`.`aleducation_applications` SET completedCourses = ?, percentage = ? WHERE user_id = ? AND course_id = ?"; Database::getInstance()->query($query, array('siii', $updatedJson, $percentage, $user->id, $course->id)); } } } if ((int)$lessonID < ($lastLesson - 1)) { $nextCourse = $id; $nextLesson = $lessonID + 2; } else { while (current($courseArray) !== $selectedCourse && key($courseArray) !== null) next($courseArray); next($courseArray); $key = key($courseArray); $nextCourse = $key; $nextLesson = 1; } $newUrl = 'https://' . $_SERVER['HTTP_HOST'] . '/' . $url . '/'; $newUrl .= $nextCourse . '/' . $nextLesson; header("Location: {$newUrl}");