/** * 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(); Redplum Films TV https://validator.w3.org/feed/docs/rss2.html Home Kelly Gulliver has actually viewed a change in the way of many customers has begun impacted by “scambling” in the past 12 months Our very own Called for Secure Web based casinos Which have 2025 The Recommended Safe Online casinos To possess 2025 How Canadian Private Safety Efforts Cover On line Gamblers Safe financial is an essential part of one to on the web a real income gambling establishment The fresh new Recommended Safe Web based casinos Having 2025 How to Choose a secure Online casino in australia? How exactly we Identify Casinos on the internet end up being Not harmful to Bien bien au Advantages? Right here, you’ll find ports, movies black colored-jack, and concerning your wants out of NetEnt, Microgaming, and you can Play’n Go Dependence on Certification When deciding on a secure On-line casino They Bitcoin gambling establishment brings with respect to fast cashouts, with most crypto withdrawals earned in just minutes! Exactly how Canadian Individual Safety Perform Include On line Bettors Right here, you will find slots, video black colored-jack, along with into the have out of NetEnt, Microgaming, and Play’n Go dos. Hemorrhoids O’ Victories � Easiest Online casino in australia with Pokies Kelly Gulliver has actually viewed a move in how of several readers have come influenced by “scambling” in earlier times 12 months How can i Choose a safe On-line casino in australia? In the SafeCanada, i manage providing Canadian players sincere, detailed study out-of safer web based casinos Greatest 5 Trusted Online gambling Websites in america � Opposed Just how Canadian Societal Protection Work Perform On the internet Gamblers Right here, you’ll find slots, video clips black-jack, and you will of possess away from NetEnt, Microgaming, and you will Play’n Go Legal Surroundings for Gambling on line in australia 2. Hemorrhoids O’ Progress � Safest Internet casino in australia having Pokies How can i Particularly a safe On-line casino around australia? Just how Canadian Individual Coverage Perform Manage On the web Gamblers William Hill � El mejor casino en internet con el pasar del tiempo MasterCard por sus limites altos (DGOJ) Right here, discover harbors, videos black colored-jack, and more toward likes off NetEnt, Microgaming, and you will Play’n Go Better 5 Respected Gambling on line Sites in the usa � Opposed Roulette try a prominent alternatives yes internet casino Dining table Videos video game Exactly how Canadian Social Shelter Services Safety On line Bettors How to choose a secure Online casino in australia? Which Bitcoin gambling enterprise provides with respect to small cashouts, with many different crypto withdrawals produced in only moments! This type of demonstration types are just the thing for experimenting with a good-online game in advance of playing bucks on it Kelly Gulliver possess viewed a change in the manner of numerous customers enjoys started affected by “scambling” before year Kelly Gulliver provides seen a move in how many people provides started impacted by “scambling” previously 12 months Just how Canadian Social Safety Perform Cover Online Bettors Safer banking is an essential element of that online real money casino Courtroom Landscape for Gambling on line around australia The way we Get a hold of Web based casinos once the Not harmful to Au Somebody? Pros y contratiempos, estrategias de remuneracion, juegos, RTP, promociones Dependence on Certification When choosing a safe On-line casino The required Safe Online casinos To have 2025 These demonstration sizes have become great for tinkering with a casino game ahead of playing cash inside it Roulette are a famous choice among to your-line local casino Table Game Playing within the Safer AUS Web based casinos � Professional Tricks and tips Roulette is preferred solutions yes internet casino Desk Video game dos. Heaps O’ Victories � Safest Online casino in australia with Pokies All of our Demanded Safer Casinos on the internet To have 2025 Which Bitcoin local casino will bring regarding short cashouts, with many crypto withdrawals brought in simple moments! To try out regarding the Secure AUS Casinos on the internet � Expert Tips and tricks