403Webshell
Server IP : 185.143.233.238  /  Your IP : 185.215.232.195
Web Server : LiteSpeed
System : Linux saman.shetabanhost.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User : behrakir ( 1361)
PHP Version : 8.1.34
Disable Function : symlink,shell_exec,show_source,exec,popen,system,passthru,proc_open,proc_close,pcntl_exec,mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/behrakir/khanomam.com/wp-content/plugins/wp-score-gamification/app/classes/parts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/behrakir/khanomam.com/wp-content/plugins/wp-score-gamification/app/classes/parts/course.php
<?php namespace Avans\parts;

use Avans\actions;
use Avans\func;

class course{

    public function __construct()
    {   
        // learnpress
        add_action( 'learn-press/user-course-finished', array($this,'avans_learnpress_course_completed'), 10, 3 );
        add_action( 'learn-press/user-completed-lesson', array($this,'avans_learnpress_lesson_completed'), 10, 3 );
        add_action( 'learn-press/user/quiz-finished', array($this,'avans_learnpress_quiz_passed') , 10, 3 );
        add_action( "learn-press/user-enrolled-course",array($this,'avans_learnpress_user_enrolled_in_course') , 10, 3 );

        // learndash 
        add_action( 'learndash_course_completed', array($this,'avans_learndash_course_completed'), 10, 1 );
        add_action( 'learndash_lesson_completed', array($this,'avans_learndash_lesson_completed'), 10, 1 );
        add_action( 'learndash_quiz_completed', array($this,'avans_learndash_quiz_passed') , 10, 2 );
        add_action( "learndash_update_course_access",array($this,'avans_learndash_user_enrolled_in_course') , 10, 4 );

        // lifterLms
        add_action( 'lifterlms_course_completed', array($this,'avans_lifterlms_course_completed'), 10, 2 );
        add_action( 'lifterlms_lesson_completed', array($this,'avans_lifterlms_lesson_completed'), 10, 2 );
        add_action( 'lifterlms_quiz_passed', array($this,'avans_lifterlms_quiz_passed') , 10, 3 );
        add_action( "llms_user_enrolled_in_course",array($this,'avans_lifterlms_user_enrolled_in_course') , 10, 2 );

        //totur
        add_action( 'tutor_course_complete_after', array($this,'avans_totur_course_completed'), 10, 1 );
        add_action( 'tutor_lesson_completed_after', array($this,'avans_totur_lesson_completed'), 10, 1 );
        add_action( 'tutor_quiz/attempt_ended', array($this,'avans_totur_quiz_passed') , 10, 1 );
        add_action( "tutor_after_enroll",array($this,'avans_totur_user_enrolled_in_course') , 10, 1 );

        //senesi
        add_action( 'sensei_user_course_end', array($this,'avans_senesi_course_completed'), 10, 2 );
        add_action( 'sensei_user_lesson_end', array($this,'avans_senesi_lesson_completed'), 10, 2 );
        add_action( 'sensei_user_quiz_grade', array($this,'avans_senesi_quiz_passed') , 10, 5 );
        add_action( "sensei_user_course_start",array($this,'avans_senesi_user_enrolled_in_course') , 10, 2 );

        //senesi
        add_action( 'stm_lms_progress_updated', array($this,'avans_masterstudy_course_completed'), 10, 2 );
        add_action( 'stm_lms_lesson_passed', array($this,'avans_masterstudy_lesson_completed'), 10, 2 );
        add_action( 'stm_lms_quiz_passed', array($this,'avans_masterstudy_quiz_passed') , 10, 3 );
        add_action( "add_user_course",array($this,'avans_masterstudy_user_enrolled_in_course') , 10, 2 );

        //hamseda
        add_action('htq_test_complete', array($this,'avans_hamseda_complete_test'), 11, 2);


    }

    // hamseda test
    public function avans_hamseda_complete_test($item_id, $test_id){
        if (!$item_id){
            return;
        }
        // $data = get_result_parent_by_id($item_id);
        // $test_id = $data->test_id;
        // $test_obj = get_test_by_id($test_id);

        // $user = get_user_by("ID", $data->user_id);
        // $user_id = $user->ID;

        // $correction_formula = htq_get_test_mata_value($test_id, 'test_correction_formula', "");
        // if (empty($correction_formula)){
        //     $average_score1 = htq_get_Average_Score($item_id);
        // } else{
        //     $average_score1 = htq_get_Average_Score_by_formula($item_id, $correction_formula);
        // }
        // $average_score = htq_format_score($average_score1); //نمره میانگین آزمون

        // $test_passed_score = get_post_meta($test_id, 'test_passed_score', true);

        // if ($average_score1 >= $test_passed_score){
        //     return;
        //     actions::avans_quiz_passed($user_id,$item_id,$test_id);
        // }
        
    }

    // Learn Press Lms

    public function avans_learnpress_course_completed( $course_id, $user_id, $return ){
        actions::avans_course_completed($user_id, $course_id);
    }

    public function avans_learnpress_lesson_completed( $lesson_id, $course_id, $user_id  ){
        actions::avans_lesson_completed($user_id,$course_id,$lesson_id);
    }

    public function avans_learnpress_quiz_passed($quiz_id, $course_id, $user_id){

            $user = learn_press_get_user( $user_id );

            if( ! ( $user instanceof \LP_User ) ) {
                return;
            }

            $user_quiz = $user->get_item_data( $quiz_id, $course_id );

            if( ! $user_quiz ) {
                return;
            }

            // Calculate the results to meet if the quiz has been passed
            $result = $user_quiz->calculate_results();
            $percent = $result['mark'] ? ( $result['user_mark'] / $result['mark'] ) * 100 : 0;
            $grade = '';
            if ( $user_quiz->get_status() === 'completed' ) {
                $grade = $percent >= $user_quiz->get_quiz()->get_data( 'passing_grade' ) ? 'passed' : 'failed';
            }

            if( $grade === 'passed' ) {
                actions::avans_quiz_passed($user_id,$course_id,$quiz_id);
            }

    }

    public function avans_learnpress_user_enrolled_in_course($course_id, $user_id, $return){
        actions::avans_user_enrolled_in_course($user_id, $course_id);
    }


    // Learn Dash Lms

    public function avans_learndash_course_completed( $args ){
        actions::avans_course_completed($args['user']->ID, $args['course']->ID);
    }

    public function avans_learndash_lesson_completed($args){
        $course_id = $args['course'] instanceof \WP_Post ? absint( $args['course']->ID ) : 0;
        if($course_id !== 0){
            actions::avans_lesson_completed($args['user']->ID,$course_id,$args['lesson']->ID);
        }
    }

    public function avans_learndash_quiz_passed($quiz_data, $current_user){
        $course_id = $quiz_data['course'] instanceof \WP_Post ? absint( $quiz_data['course']->ID ) : 0;
        if( $quiz_data['pass'] && $course_id !== 0) {
            actions::avans_quiz_passed($current_user->ID,$course_id,$quiz_data['quiz']->ID);
        }
    }

    public function avans_learndash_user_enrolled_in_course( $user_id, $course_id, $course_access_list, $remove){
        // Bail if hasn't been enrolled
        if ( ! empty( $remove ) ) {
            return;
        }
        actions::avans_user_enrolled_in_course($user_id, $course_id);
    }



    // Lifter Lms

    public function avans_lifterlms_course_completed( $user_id, $object_id ){
        $course_id = (  (int)$object_id > 0	) ? $object_id : null;
        actions::avans_course_completed($user_id, $course_id);
    }

    public function avans_lifterlms_lesson_completed( $user_id, $object_id ){

        $course = llms_get_post_parent_course( $object_id );
        $course_id = null;

        if( $course ) {
            $course_id = $course->get( 'id' );
        }
        
        actions::avans_lesson_completed($user_id,$course_id,$object_id);
    }

    public function avans_lifterlms_quiz_passed($user_id, $quiz_id, $quiz){

            $lesson_id = $quiz->get( 'lesson_id' );
            $course = llms_get_post_parent_course( $lesson_id );
            $course_id = null;

            if( $course ) {
                $course_id = $course->get( 'id' );
            }

            actions::avans_quiz_passed($user_id,$course_id,$quiz_id);
    }

    public function avans_lifterlms_user_enrolled_in_course($user_id, $product_id){
        actions::avans_user_enrolled_in_course($user_id, $product_id);
    }




    // totur lms

    public function avans_totur_course_completed($course_id){
        $user_id = get_current_user_id();
        actions::avans_course_completed($user_id,$course_id);
    }

    public function avans_totur_lesson_completed( $lesson_id ){

        $user_id = get_current_user_id();
        $course_id = tutor_utils()->get_course_id_by_lesson( $lesson_id );
        actions::avans_lesson_completed($user_id,$course_id,$lesson_id);

    }

    public function avans_totur_quiz_passed($attempt_id){

            $attempt = tutor_utils()->get_attempt( $attempt_id );
            $user_id = get_current_user_id();
            $quiz_id = $attempt->quiz_id;

            // Bail if is not a quiz
            if ( 'tutor_quiz' !== get_post_type( $quiz_id ) ) {
                return;
            }

            // Bail if attempt isn't finished yet
            if ( 'attempt_ended' !== $attempt->attempt_status ) {
                return;
            }

            $course = tutor_utils()->get_course_by_quiz( $quiz_id );
            $course_id = $course->ID;

            $grade = ( $attempt->earned_marks * 100 ) / $attempt->total_marks;
            $passing_grade = (int) tutor_utils()->get_quiz_option( $attempt->quiz_id, 'passing_grade', 0 );

            // Just trigger events if user has asked all questions correctly
            if( $grade >= $passing_grade  ) {
                actions::avans_quiz_passed($user_id,$course_id,$quiz_id);
            } 


    }

    public function avans_totur_user_enrolled_in_course($course_id){
        $user_id = get_current_user_id();
        actions::avans_user_enrolled_in_course($user_id, $course_id);
    }



    // senesi lms

    public function avans_senesi_course_completed($user_id, $course_id){
        actions::avans_course_completed($user_id,$course_id);
    }

    public function avans_senesi_lesson_completed(  $user_id, $lesson_id ){
        $course_id = get_post_meta( $lesson_id, '_lesson_course', true );
        actions::avans_lesson_completed($user_id,$course_id,$lesson_id);
    }

    public function avans_senesi_quiz_passed($user_id, $quiz_id, $grade, $quiz_passmark, $quiz_grade_type){

          // course_id not Exist
            // if( $grade > $quiz_passmark  ) {
            //     actions::avans_quiz_passed($user_id,$course_id,$quiz_id);
            // } 


    }

    public function avans_senesi_user_enrolled_in_course($user_id, $course_id){
        actions::avans_user_enrolled_in_course($user_id, $course_id);
    }

    
    // masterstudy lms

    public function avans_masterstudy_course_completed($course_id,$user_id,  $progress ){
        if( $progress < 100 ) return;

        actions::avans_course_completed($user_id,$course_id);
    }

    public function avans_masterstudy_lesson_completed(  $user_id, $lesson_id ){
        $course_id = intval( $_GET['course'] );

        if( $course_id !== 0 ) {
            actions::avans_lesson_completed($user_id,$course_id,$lesson_id);
        }
    }

    public function avans_masterstudy_quiz_passed($user_id, $quiz_id, $progress){
        $course_id = intval( $_GET['course_id'] );
        actions::avans_quiz_passed($user_id,$course_id,$quiz_id);
    }

    public function avans_masterstudy_user_enrolled_in_course($user_id, $course_id){
        actions::avans_user_enrolled_in_course($user_id, $course_id);
    }
    

    

}

Youez - 2016 - github.com/yon3zu
LinuXploit