/**
* 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موانئ وقت عيد الميلاد استمتع بموانئ مستوحاة من عيد الميلاد مجانًا تمامًاPride AffiliatesAdded bonus bucks works best once you treat it in a different way in the money you spend yourselfNew york gets their very first 3 Las vegas-style casinosRating instructions and tell you pathways inside Google Maps Computer system Yahoo Maps AssistR2PBet Gambling enterprise cities solid emphasis on doing a secure and you will transparent ecosystem for its usersZusatzlich profitierst Du inside the der App von exklusiven Boni, die nur fur mobile Nutzer bereitstehenPut 5 Rating a hundred Totally free Spins Finest 5 Minimal Put Casinos in the BritishClaim 5 No-deposit Free Spins at the Ports CreatureFree internet games in the Poki Gamble Now!Operating less than tight regulating supervision, Goldenbet Local casino British combines thorough gambling selection having security features one see United kingdom gambling standardsClassic Egyptian Themed Casino GamesThe video game write well, plus the app performs firmly through the productive sessions that have numerous entryQueen Victory Local casino is a modern-day betting program that has been released within the 2024twenty-five 100 percent free Revolves on the registration no-deposit Greatest 2026 Now offersThis will make it specifically tempting to own users exactly who choose clear incentive terminologySpinpug Local casino Opinion And 100 percent free Potato chips Extra Surgery treatment Philippines DermaestheticsThe fresh new Game & Incentive Provides: The latest Playing Enjoy UnlockedWe believed the most common position online game being usually calculated with no-deposit incentivesPreferred Slots and Casino games >> Wager 100 percent freeGenerate offers work harder – what things to discover before you could claimPlayamo Incentives: No deposit, Bonus Codes in the Playamo and you can 100 percent free RevolvesWhich have people local casino platform, the fresh online game and you can headings it’s is actually paramountTwist They Safe: Verified Totally free Spins Bonuses for March 2026Thanks for visiting Cocoa Casino, your new go-to destination for an unforgettable online betting feel!100 Totally free Spins No deposit South Africa 2026The heart of your own system is the slot point, marketed for the-site while the QueenWin Gambling establishment slotsJackpot Urban area Gambling enterprise Added bonus Code and you can Comment 2026You will find those gambling establishment bonuses as you are able to see now!Best 10 Deposit Added bonus British: Put 10 Get more!Note: Centered on all of our details, Qbet Gambling establishment resembles 3 most other online casinosTotally free Vegas Video game Enjoy Free online Gambling establishment SlotsGambling enterprise Cruise Added bonus Codes, Free Spins Incentive Code!Lieve Fre Spins Bonussen te legale online casino’s 2023Conclusion: the brand new Grand Ivy Casino games part is easy to help you navigate, quick to help you stream, and you will undoubtedly enjoyable to explore50 fre spins kloosterzuster deposit gedurende online casino’s 2026A large Candy Gambling establishment 20 100 percent free Chip No-deposit Incentive PasswordEffektive Wettkampfvorbereitung: Die Rolle von Cytomel in der DiätplanungNo-deposit Extra Casinos Finest Casino No-deposit Bonus Rules in the March 2026Bonus Casino Gamblezen: Unlocking Exclusive UK Promo CodesIdeas on how to Win during the Harbors: 10 Expert Info All of the Pro Should be aware ofBook away from Ra Luxury Position Opinion and Bonus, Get 50 Free RevolvesFree three-dimensional Slots On line Zero Obtain or MembershipParticular web based casinos offer cashback bonuses having live dealer video gameIn cases like this, anyone bits have a tendency to feature another band of regulations and you will constraintsDiscuss all of our top 10 greeting selling providing ?600+ inside incentive dollars and you may 900+ free spinsSuch rewards are provided in order to new customers through to registering a free account and you may to make their first putWe’re going to always upgrade this informative guide towards newest no-deposit incentivesIrrespective, United kingdom no deposit incentives aren’t extinct (yet), and nevertheless acquire some pretty good offers