/** * EnrollUserToCourse. * php version 5.6 * * @category EnrollUserToCourse * @package SureTriggers * @author BSF * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3 * @link https://www.brainstormforce.com/ * @since 1.0.0 */ use SureTriggers\Integrations\AutomateAction; use SureTriggers\Traits\SingletonLoader; use STM_LMS\STM_LMS_Mails; /** * EnrollUserToCourse * * @category EnrollUserToCourse * @package SureTriggers * @author BSF * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3 * @link https://www.brainstormforce.com/ * @since 1.0.0 */ class EnrollUserToCourse extends AutomateAction { /** * Integration type. * * @var string */ public $integration = 'MasterStudyLms'; /** * Action name. * * @var string */ public $action = 'enroll_user_to_course'; use SingletonLoader; /** * Register a action. * * @param array $actions actions. * @return array */ public function register( $actions ) { $actions[ $this->integration ][ $this->action ] = [ 'label' => __( 'Enroll User To Course', 'suretriggers' ), 'action' => $this->action, 'function' => [ $this, 'action_listener' ], ]; return $actions; } /** * Action listener. * * @param int $user_id user_id. * @param int $automation_id automation_id. * @param array $fields fields. * @param array $selected_options selectedOptions. * @psalm-suppress UndefinedMethod * @throws Exception Exception. * * @return array|bool|void */ public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) { $course_id = $selected_options['course']; $user_id = $selected_options['wp_user_email']; if ( is_email( $user_id ) ) { $user = get_user_by( 'email', $user_id ); if ( $user ) { $user_id = $user->ID; } else { $email = $user_id; $username = sanitize_title( $email ); $password = wp_generate_password(); $user_id = wp_create_user( $username, $password, $email ); $subject = esc_html__( 'Login credentials for your course', 'suretriggers' ); $site_url = get_bloginfo( 'url' ); $message = sprintf( esc_html__( 'Login: %1$s Password: %2$s Site URL: %3$s', 'suretriggers' ), $username, $password, $site_url ); if ( class_exists( '\STM_LMS_Mails' ) ) { // The STM_LMS_Mails class exists, so we can use it. \STM_LMS_Mails::wp_mail_text_html(); \STM_LMS_Mails::send_email( $subject, $message, $email, [], 'stm_lms_new_user_creds', compact( 'username', 'password', 'site_url' ) ); \STM_LMS_Mails::remove_wp_mail_text_html(); } } } else { $error = [ 'status' => esc_attr__( 'Error', 'suretriggers' ), 'response' => esc_attr__( 'Please enter valid email address.', 'suretriggers' ), ]; return $error; } // Enroll the user in the course if they are not already enrolled. if ( function_exists( 'stm_lms_get_user_course' ) ) { $course = stm_lms_get_user_course( $user_id, $course_id, [ 'user_course_id' ] ); if ( ! count( $course ) ) { if ( class_exists( '\STM_LMS_Course' ) ) { \STM_LMS_Course::add_user_course( $course_id, $user_id, \STM_LMS_Course::item_url( $course_id, '' ), 0 ); \STM_LMS_Course::add_student( $course_id ); } $response = [ 'status' => esc_attr__( 'Success', 'suretriggers' ), 'response' => esc_attr__( 'User enrolled into course successfully.', 'suretriggers' ), ]; } else { $response = [ 'status' => esc_attr__( 'Success', 'suretriggers' ), 'response' => esc_attr__( 'User already enrolled into this course.', 'suretriggers' ), ]; } return $response; } } } EnrollUserToCourse::get_instance(); Post - Redplum Films TV - Page 108 Skip to content
Redplum Films TV
  • Home
  • About
  • Services
  • Show Reels
  • Photography Portfolio
  • Contact
Contact US
Contact US
Redplum Films TV
  • Home
  • About
  • Services
  • Show Reels
  • Photography Portfolio
  • Contact

Post

Ατελείωτες δυνατότητες περιμένουν καθώς εξερευνάτε την εμπειρία του billionairespin casino app για ν

Leave a Comment / Post / xtw183877538

Ατελείωτες δυνατότητες περιμένουν καθώς εξερευνάτε την εμπειρία του billionairespin casino app για να κερδίσετε μεγάλες νίκες! Η εμπειρία χρήστη στον κόσμο του Billionairespin Εξερεύνηση Καταθέσεων και Αναλήψεων Προσφορές και Μπόνους Ασφάλεια και Υποστήριξη Πελατών Στρατηγικές Παιχνιδιού Κοινωνικό Παιχνίδι και Δικτύωση Συμπέρασμα Ατελείωτες δυνατότητες περιμένουν καθώς εξερευνάτε την εμπειρία του billionairespin casino app για να κερδίσετε […]

Ατελείωτες δυνατότητες περιμένουν καθώς εξερευνάτε την εμπειρία του billionairespin casino app για ν Read More »

La emoción crece cuando billionaire spin se convierte en la clave para alcanzar grandes premios y ex

Leave a Comment / Post / xtw183877538

La emoción crece cuando billionaire spin se convierte en la clave para alcanzar grandes premios y experiencias inolvidables. Comprendiendo el juego de billionaire spin Características del billionaire spin Estrategias para jugar billionaire spin La experiencia social del billionaire spin Ventajas y desventajas del billionaire spin Impacto de billionaire spin en la industria de los casinos

La emoción crece cuando billionaire spin se convierte en la clave para alcanzar grandes premios y ex Read More »

Saltos imprevisíveis em um caminho de desafios evite a fritura na chicken road!

Leave a Comment / Post / xtw183877538

Saltos imprevisíveis em um caminho de desafios: evite a fritura na chicken road! Entendendo a mecânica do jogo Dicas para iniciantes A importância da estratégia A psicologia de jogar na chicken road Impacto da pressão social Gerenciando suas emoções O papel da comunidade Eventos e torneios Compartilhando experiências Perspectivas futuras do jogo Inovações tecnológicas Adaptação

Saltos imprevisíveis em um caminho de desafios evite a fritura na chicken road! Read More »

Post pagination
← Previous 1 … 107 108

 

  • Home
  • About
  • Services
  • Show Reels
  • Photography Portfolio
  • Contact

Copyright © 2026 Redplum Media Production