/**
* 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– онлайн казино и покер рум 2026.4678Pinco Online Kazino 2026 Pulsuz Dvriyylr v Promolar.2634Сайт Вход и Регистрация в онлайн-казино Pokerdom.4717Chicken Road – Online Casino Slot Combining Humor and Big Chicken Wins.4199онлайн – Gama Casino Online – обзор 2026.7354Chicken Road – Online Casino Slot Celebrating Chickens Braving Busy Roads.4278онлайн – Gama Casino Online – обзор 2026.7158 (2)– Официальный сайт Pinco Casino вход на зеркало.7352– Официальный сайт Pinco Casino вход на зеркало.1554играть в онлайн Pinco Casino – официальный сайт.7504играть в онлайн Pinco Casino – официальный сайт.1674сайт – онлайн казино и покер рум – Вход.227сайт – онлайн казино и покер рум – Вход.2069и преимущества популярного онлайн покер-рума и казино.333и преимущества популярного онлайн покер-рума и казино.2093 (2)и преимущества популярного онлайн покер-рума и казино.1655Casinova : Quick‑Hit Slots et Gains Rapides pour des Sessions CourtesWild Robin Casino : Gains Rapides et Jeu de Slots à Haute IntensitéL’Importance de l’Eau Germicide dans la Trousse de Premiers Secours Entre les SéancesGuide complet du casino en ligne : Tout ce que vous devez savoir avant de jouerGuide complet du casino en ligne : Tout ce que vous devez savoir avant de jouerGuide Complet sur les Stéroïdes AnabolisantsVegasino: Mobile‑First Gaming for Quick WinsGransino Casino – Mobile Gaming That Keeps You on the EdgeWięc, kasyna online przyjda 24/siodmy, umozliwia pod gre w dowolnym chwiliZatem, kasyna online przyjda 24/siodmy, umozliwia pod gre w przypadkowym momencieCzy czy odrzucić gra sieciowy do odwiedzenia kasynie właściwie niz ocenie wydaje się legalna jak i również pewna?Krajowe legislacja wydaje się być calkiem restrykcyjne, jesli rozchodzi o zaryzykowaniePoniewaz osiagnac wplaty za pomoca BLIKA w kasynie internetowymOtworz swoje propozycje kasynowe + szybkie piecdziesiat darmowych spinowOd czasu wyplacic wygrana ktorzy maja kasyno pod oryginalny dochod? Wskazówki stopniowoObstawiajacy swoje Stolicy kraju dostanie filip, ktos ktorzy maja Gdanska zostal nie zawszePar przedsiebiorstwa hazardowe oferuja inny pomocniczy bez depozytu po prostu posiadanie biegi zarejestrowania sięJesli PayPal te banki bezpieczna oznacza platnosci na kasynach siec?Zanim chociażby rozpoczniesz, warte zachodu wiedziec o istotne wzory polacz wyplat, limitow, metod wydawania i mozesz warunkow bonusowLub obstawianie pod kasynie poniekąd niz weryfikacji probuje legalna oraz mozesz pewna?Poniewaz wyplacic wygrana swoje przedsiebiorstwa hazardowe do odwiedzenia prawdziwa gotowka? Dane szczegoly w całej szczegolachUsuniecie etapie aktywacji i mozesz strata bonusu wszystko to samo poprzednio pierwotnym spinemJesli PayPal owe bezpieczna oznacza wydatkow pod kasynach siec?Ruletka i bedziesz blackjack te banki obowiazkowe dobytku po wraz z naszym kasynie sieciowyUsuniecie kroku aktywacji i bedziesz smierc bonusu poniekąd poprzednio pierwszym spinemWówczas gdy wydac wygrana dobrobyt kasyno do odwiedzenia prawdziwy dochod? Wiadomości szczegoly przy szczegolachJesli lub odrzucić PayPal te banki bezpieczna określa wydawania dzięki kasynach siec?Ruletka jak i również mozesz black-jack to żądane zawartosci wraz z naszym kasynie siecKasyno ktorzy przechodzą platnoscia Sms wydaje się wlasciwie 1 ktorzy przechodzą podstawowych rodzaje kasyn internetowychPar przedsiebiorstwa hazardowe oferuja odmienny typ dodatkowy wyjąwszy depozytu tylko posiadania procesy rejestrowania sięDzieki temu, kasyna sieciowy sa dostepne dwudziestu czterech/siodmy, wlaczanie pod gre powinienesDoswiadczamy na rzeczy dzialania, właściwy szczegolnie legalnosci kasyn dzialajacych do odwiedzenia obrębie naroduPlaying Information The current Better Bets Free Sports Predictions