403Webshell
Server IP : 104.21.28.229  /  Your IP : 216.73.216.216
Web Server : Apache/2
System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : mienphi ( 1014)
PHP Version : 8.2.14
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/mienphi/public_html/wp-content/plugins/learnpress/inc/Ajax/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/mienphi/public_html/wp-content/plugins/learnpress/inc/Ajax/LessonAjax.php
<?php
/**
 * class AjaxBase
 *
 * @since 4.2.7.6
 * @version 1.0.0
 */

namespace LearnPress\Ajax;

use Exception;
use LearnPress\Helpers\Template;
use LearnPress\Models\CourseModel;
use LearnPress\Models\LessonPostModel;
use LearnPress\Models\UserItems\UserCourseModel;
use LearnPress\Models\UserItems\UserItemModel;
use LearnPress\Models\UserItems\UserLessonModel;
use LP_Helper;
use LP_Request;
use LP_REST_Response;
use stdClass;
use Throwable;
use WP_Error;

class LessonAjax extends AbstractAjax {
	public function user_complete_lesson() {
		$link_continue = '';
		$message_data  = [
			'status'  => 'error',
			'content' => '',
		];

		try {
			$lesson_id = LP_Request::get_param( 'lesson_id', 0, 'int', 'post' );
			$course_id = LP_Request::get_param( 'course_id', 0, 'int', 'post' );

			$courseModel = CourseModel::find( $course_id, true );
			if ( ! $courseModel ) {
				throw new Exception( __( 'Course is invalid!', 'learnpress' ) );
			}

			$lessonModel = LessonPostModel::find( $lesson_id, true );
			if ( ! $lessonModel ) {
				throw new Exception( __( 'Lesson is invalid!', 'learnpress' ) );
			}

			$userLessonModel = UserLessonModel::find_user_item(
				get_current_user_id(),
				$lesson_id,
				$lessonModel->post_type,
				$course_id,
				LP_COURSE_CPT,
				true
			);
			if ( ! $userLessonModel instanceof UserLessonModel ) {
				throw new Exception( __( 'You have not started lesson', 'learnpress' ) );
			}

			$userLessonModel->set_complete();
			$userCourseModel = $userLessonModel->get_user_course_model();
			$item_model_next = $userCourseModel->get_item_continue();
			if ( $item_model_next ) {
				$link_continue = $courseModel->get_item_link( $item_model_next->ID, $item_model_next->post_type );
			} else {
				$link_continue = $courseModel->get_permalink();
			}

			$message_data['status']  = 'success';
			$message_data['content'] = sprintf(
				__( 'Congrats! You have completed "%s".', 'learnpress' ),
				$lessonModel->get_the_title()
			);
		} catch ( Throwable $e ) {
			$message_data['content'] = $e->getMessage();
			if ( isset( $courseModel ) && isset( $lessonModel ) ) {
				$link_continue = $courseModel->get_item_link( $lessonModel->ID, $lessonModel->post_type );
			}
		}

		learn_press_set_message( $message_data );

		wp_safe_redirect( $link_continue );
		die();
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit