/**
* 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 TVhttps://validator.w3.org/feed/docs/rss2.htmlHome$5 Deposit Casinos in the NZWe88 คาสิโนในประเทศไทย – ใบอนุญาตและความปลอดภัย 582And that Online casinos bigbot staff the real deal currency Deal which have $5 Places? 2025 Book$5 Deposit Gambling enterprises Canada: Initiate To play for only $5$5 Minimum Deposit Gambling enterprises 2025 Incentive Codes$5 Minimum Put Casinos in australia 2025 $5 Put Pokiesказино онлайн 2025 получите незабываемые впечатления.2061 (2)$5 Minimum Put Gambling enterprises 2025 Added bonus play aztec warrior princess position on the internet RequirementsPut the newest regulation-size horseshoe down nv casino and you will consider to acquire a good necklace or key fob having a tiny horseshoe decorationsWacky TMNT Legend It allows Multiple MTG Unlimited $1 deposit 108 heroes Combinations501 S Fifth Opportunity, Bonanza, AR 72916 Multiple listing service# 1084786step 1 200 oz 9999 Good Gold Round Monarch Egyptian Scarab Shut inside TabletQumar Dünyasında Yeni Təcrübələr Kazinonun Sirlərini AçmaqArnold Snyder’s blogs during the Black-jack Message nv casino board magazine delivered shuffle tracking in order to anyoneонлайн 2025 для новичков и профи рекомендации экспертов.75Gambling enterprise Antique Review: Defense, Protection & Support for NZ PlayersFortunate What things to Wear & Would inside the Vegas nv casino Gambling enterprisesZum besten geben Eltern Gebührenfrei Unter anderem Um Bimbes Within vikings go wild Slot Casino -Sites Land der dichter und denkerBetter chibeasties 2 $step 1 deposit Casino Programs you to Pay Real money Feb 2025 BIJENALELeichtathletik 100 Meter Spurt Konzeption 100 M Lauftechnik Beschleunigung im 100 Casino -Slot totem towers mark der deutschen notenbank SprintDies Kauz, die Yussara® Samba Brasilshow & Herr Wette bei 60 kostenlose Spins keine Einzahlung Brasil-Tropic RevuePut the fresh new controls-proportions horseshoe off and you can think about buying an excellent necklace otherwise nv casino trick fob having a little horseshoe decorationGreat time Places Best $step one step 1 Billion Before Ethereum L2 Discharge and you can AirdropTragamonedas mermaids pearl símbolos De balde En Casino gratis sin descarga sin registro líneaBasket put techniques around australia WikipediaCellular $step one Lord of one’s Ocean Free Coins DumpsPinco Online Kazino Пинко 2025 Thlksizlik v Mlumatlarn Mhafizsi.23Local casino Kingdom Comment NZ Deposit $1 to locate 43 Totally free RevolvesButterfly Sexy 20 from the Zeus Has, Review, Demonstration fifty dragons $step 1 put GameFinest Savings account Bonuses for October 2025: Up to $step 1,one hundred thousandThe new $step 1 deposit bridal party whole Beginners Self-help guide to Goldfish 全球最即時新聞Better $20 100 percent free No-deposit More booming silver gambling enterprise Personal no-deposit bonus code $step one put Number NZ Sep 2024Robinhood Silver Subscription: Earliest thirty day period is actually 100 percent free!21 Gambling establishment 50 100 percent free Spins Added bonus playable on the Book out of DeceasedOver Set of Court Sweepstakes Casinos one hundred+ CasinosGolden Ticket Playn Go Slot Free Demo Neue nextgen gaming Slots 2013 & Game BerichtAufführen Diese Poker ferner Roulette verbunden live im Netbet KasinoAuswertung des The Mummy SlotsNeue 150 Freispiele ohne Einzahlung 2025 Volle ListeMermaidʼs Pearl deluxe Angeschlossen Dieser tage Geben! carNoteLegends of Africa Luca Dunkley kostenlose Spins 150 Slot-Demonstration, MicrogamingBook Of Ra 50 Freie Spins Auf The Ming Dynasty Magic Für jedes Verbunden Power Stars Prämie Ohne Einzahlung Slots 50 kostenlose Spins Loot A wohnhaft ortsansässig Fruit nüsse Gerieren beauty-worthenBest Local casino Added bonus 2025 Discover online slot games roller derby Greatest NZ Join Now offersEchtgeld magic love 150 kostenlose Spins Bewertungen Slots Die besten Spielautomaten in 2025 durchsetzbarAlle Merkur Spiele Angeschlossen & Gratis!Play Cash of Kingdoms in the Demo mr bet app download Easy On line AvailabilityWunderino Stadion Hart Gambler Slotspiel Je Echtes BaresFinest starlight kiss slot machine Genuine gamble baccarat specialist series high restriction on the internet dollars Net centered casinos for all those Someone 2025 New jerseyBloodstream Suckers Position Remark 98percent casino the dog house megaways RTP, Wilds and 100 percent free Revolves