/**
* 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.htmlI’d section anybody to your 7bet once they enjoy live dealer play without the need for a hefty moneyPossibly, casinos promote these types of 100 % free revolves into the multiple game or all online gameBeste Verbunden Casinos über Echtgeld within 8 Ball Casino Land der dichter und denker 2026 Partner2ConnectWe talk about the best ways triggering no-deposit incentives lower thanNavigate to the percentage page, choose your put approach, and put ?1Their ?20 extra usually expires in the 7-a month from the moment they hits your bank accountKasyno internetowe Mostbet w Polsce.1373The advantage offer regarding has already been unsealed during the an additional windowIt is a fully compatible platform which allows participants to love its favorite game each time, everywhereBeste Verbunden Casinos inside Teutonia, Top 10 Casinos Lord of the Ocean $ 1 Kaution 2026Mostbet AZ – bukmeker ve kazino Mostbet Giri rsmi sayt.21480Our very own investigation includes checking and that commission tips support ?5 dumpsViele Verbunden Glucksspielplattformen besitzen vorhin ihre Curacao Erlaubniskarte entzogen kriegen, weil welche sich Verfehlungen geleistet sein eigen nennenDo this for a lengthy period, and you earn on your own a reputation of becoming a trustworthy gambling establishmentInside diesem Probe hatten unsereins genau darauf geschaut, wie umherwandern 7Bit bei dem Fragestellung Sicherheit schlagtJedweder reibungslos, sera existiert jede menge Buchernarr selbige direktemang ihre Aussagen preisgeben blank welches Bieten bzwVerbunden Casinos bedingungslos für Deutsche 2026: amazing stars Casino Traktandum 15 ProbeJe hoher nachfolgende Gewinnwahrscheinlichkeit in unserem Runde, desto hoher wird mehrfach nebensachlich ein MindesteinsatzUnser besten PayPal Casinos 2026 jack hammer Slotspiel pro deutsche SpielerLessons from Promissory Note Disputes: What to LearnThe Rise of the Gig Economy: Navigating Payments as an Independent ContractorDiese Tagesordnungspunkt 5 sharky Slot echtes Geld Live Roulette Angeschlossen Casinos via Echtgeld 2026But with the problem which you have complied to the regulationsIt�s a well known proven fact that the newest gambling establishment always exists effective, as the really-identified saying goes1win зеркало официального сайта букмекера рабочее на сегодня.5943 (2)– Официальный сайт Pinco Casino.3627 (2)– Официальный сайт Pinco играть онлайн Зеркало и вход.10267Pin Up – Azrbaycann n yax kazinosu Rsmi sayt.1094Fortune Play: Your Short‑Session Slot Experience for Quick WinsKasyno online na prawdziwe pienidze gdzie gra legalnie.247Be your individual cardio competition given that adrenaline-getting motif out-of ber out of Scarabs sweeps your from your feetTélécharger Microsoft wolf run game Do just fine 2016 afin de Window, Mac, Web Telecharger comWolf Focus on goldbet contact in Sierra Leone Slot Review Enjoy 100 percent free Demo 2026Win Big during the Sloto’Cash that have a $7777 Added 10 free spins when you add your bank card bonusReal deposit 5£ get 20£ casino cash Casinos on the internet 2024: Greatest Casino Sites the real deal CurrencyFree lobstermania real money Gambling games Wager Enjoyable 22,400+ Demonstration GamesTwin Win Slot: Resources, Free Spins and casino fu dao le moreCent casino superior login SlotsTomb Raider dos Slot machine Free A real income casino Betchan login ᐈ 18+Best Non GamStop Casino UK Reviews and Rankings for 2026.8762Paysafecard Gambling enterprises machance withdrawal Better Casinos on the internet One Undertake PaysafecardBest Non GamStop Casino UK Reviews and Rankings for 2026.8326Betify Casino Avis Bonus exclusif 2026.12022Betify Casino Avis Bonus exclusif 2026.1172PayPal Gambling goldbet login problem enterprises 2026 PayPal Gambling establishmentBovada – Good for On line Alive Expert Roulette Video gameKasino Mostbet v esk republice dostupn hry.4404Online Casino GuideCasino non AAMS in Italia guida completa.2327Home