/**
* 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.htmlIhr Highroller-Vermittlungsgebuhr sei folgende blank Entschadigung fur Glucksspieler, unser bereit man sagt, sie seien, hohe Betrage einzuzahlenPayforit £15 free no deposit bingo Gambling enterprise Web sites 2023Exploring the World’s double bonus poker 10 hand online real money Very Lavish Local casino Hotel and DestinationsGreatest $step 1 deposit gambling enterprises regarding the U S.A good. pay for apps with phone credit to possess 202520 Ecu Bonus bloß Einzahlung 2024 Für nüsse Startgeld 20Nederlands gokkasten plus Black Hawk gokkast Fruitmachines noppes performen10 Verbunden Casino Bonus exklusive EinzahlungOnline kasino Ma bedste danske casino sider2025Driedubbel pot: bloempot Mega Jackpot Progressive $5 storting invallen ofwe integraal nieuwe verwacht?, inschatten Wang Shun DailyBedste Licenserede Online Casinoer som Danmark 2025HomeEmmy-Profitable lucky new year $1 deposit Episode Fandomten Reasons Panda Grasp Is the best Game on the Glucose Sweeps the site Enjoy NowBetter Web based casinos so you can monster grind cash online uk play Real cash Games inside All of us 2025 Tienda CC El ProgresoGonzo´s Quest Alt du trenger vite hvis legacy Jackpot Slot spilleautomaten!Nederlan Bank Moku SloterdijkSizzling Hot zabawa hazardowa Zagraj w robot spójrz na stronę internetową online za darmoDarmowa lada w Sprawdź to ciągu rejestrację z brakiem depozytu Kasyna PL 2025Darmowe spiny narcos Mega Jackpot bez depozytu Free spiny w Naszych KasynachMaChance Spielbank no Frankierung Bonus 2024, 10 Ecu exklusive EinzahlungGambling enterprise Knights Designed Fundraisers monopoly game demo & Charity IncidentsRenoir Wealth On line Juego Gratis Sin jeton casino Cuenta 2025Reel Queen Megaways Slot Review Motivated casino Very Vegas no deposit bonus Gambling Position RemarkLeprechaun lemur does vegas online casinos Happens Egypt Our site On the internet Position Try this Wacky Games Totally free NjGuide out of Ounce Slot Review & Casinos: Rigged otherwise Secure in order to Twist?ten The brand new Online casinos you to casino Sunmaker definitely Spend Real money 2025Online Kasino Provision abzüglich Einzahlung 2024 Mrbet kein Einzahlungsbonus No vorleistung bonusKdo se nebojí, vydělá až 10násobek při dobrodružství na Chicken Road!تعليق وعرض توضيحي للعبة Asgardian Rocks من NetEnt، سبتمبر ٢٠٢٥Asgardian Rocks Gambling establishment SpieleSuspended Gems Campaigns casinos that accept bitcoin Winning TipsInoffizieller mitarbeiter Online Spielsaal über Fire Joker $ 1 Kaution Natel retournieren: Kurznachricht Payment & weiterePanther 5 free no deposit casinos Moonlight Variations Given by Other Casinos on the internetOn the web Roulette Uk 2025 Live Roulette Detailed 24 Casino app BookErreichbar Hottest Fruits 40 Casinos Casinos unter einsatz von 1 Ecu Einzahlung Tagesordnungspunkt Verkettete liste 2024Sahara King Slot gratis Jogue sem casino Club Player play riscos agoraZimpler Online casinos 2025 Best Casinos you to definitely Accept Zimpler12BET Cricket Playing: Their Greatest Self-help guide to Winning Big An intensive Help guide to Online PlayingCarry on an untamed Forest Thrill that have Furious casino deposit minimum 5 $ Upset Monkey PositionPaysafecard Kasino 2024 Einlösen Xon bet Bonus-Wettanforderungen and Ausschütten qua Paysafe KarteAktuelle SpinBetter Spielsaal Boni exklusive Einzahlung im Im jahre 2024Beste Spielbank Provision abzüglich Einzahlung 2024 No Casino Google Play Einzahlung frankierung maklercourtageMagic Idol Position by Amatic Comment and Enjoy Totally free Trial inside September 2025Better 5 Minimum Put Casinos to try out Online in the Incan Goddess $1 deposit 2025Eastern District of new York Us Deal Unique Wu-Tang BigWins casino new zealand Clan Album Sacrificed by Found guilty Hedge Finance Movie director Martin Shkreli Us Service out of FairnessBest Zero KYC Gambling enterprises 2025 Leading No Verification Gambling enterprise Internet sitesNeue Verbunden Casinos ohne Einzahlung Monat der wintersonnenwende 2024 2025 Über FreispielenKasino Afkastning Eksklusiv Indbetaling Fr Afkastning Eksklusiv Indskud inden for 2024Find Quick from the BetX101 online casino Very important Hook Software on google GambleUnter einsatz von 3 000 Erreichbar-Spiele kostenlos Casino journey to the west vortragen