/** * 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(); Grandpashabet - Redplum Films TV 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

Grandpashabet

Grandpashabet ile Sorunsuz Giriş İçin Pratik Rehber

Leave a Comment / Grandpashabet / xtw183877538

Online casino dünyasında doğru adresi bulmak bazen tıpkı kumar masasında şans aramak kadar zor olabiliyor. grandpashabet, grandpasha casino ve grandpashabet casino gibi isimler karşınıza çıksa da, sık sık değişen erişim adresleri veya güncel link eksikliği oyuncuları yoruyor. grandpasha giriş, pashabet giriş veya grandpashabet güncel giriş arayan herkes için doğru bilgiye hızlı ulaşmak önemli. Hızlı Çözüm: […]

Grandpashabet ile Sorunsuz Giriş İçin Pratik Rehber Read More »

Grandpashabet ile Kesintisiz Oyun: Erişim Sorunu ve Pratik Çözümler

Leave a Comment / Grandpashabet / xtw183877538

Online casino dünyası hızla değişiyor, ama en sinir bozucu şey hep aynı: site adresleri değişiyor, erişim engelleri devreye giriyor ve bir anda maçın ortasında “siteye bağlanamıyorum” cümlesiyle karşılaşıyorsunuz. grandpashabet sevenler için de bu sıkıntılar tanıdık. Neyse ki birkaç basit adımla grandpashabet güncel giriş sorununu aşmak mümkün. Çözümün ilk adımı güncel bağlantıyı bulmak. Resmi ve güncel

Grandpashabet ile Kesintisiz Oyun: Erişim Sorunu ve Pratik Çözümler Read More »

 

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

Copyright © 2026 Redplum Media Production