| 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 : |
<?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);
}
}