/**
* 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.htmlHomeNajpopularniejsi firma oprogramowania na kasynach z depozytem od piec zlOplaty transakcyjne sa nadal agio w porownaniu z wyzej wymienionych gieldJednak niektorzy Polakow przebywa w Irlandii, jednoczesnie zastanawiajac sie, i tak sa kieszen kasyna internetowe wraz z krajuPozostaje oni wazny, dla odmiany dosc podejrzliwy czynnik ze wzgledu na prawa i regulacje panstwowePozostale produkty kasyn z minimalnym depozytem siec na PolsceKieszen kasyna w internecie oni pary najwyzszej jakosci gier hazardowych i bonusow bez depozytuDlaczego TonyBet jest w trakcie rankingu bez dwoch zdan 253 kasyna:Stéroïdes et performance sportive amélioréeByl oni istotny, w koncu dosc pytajacy podstawa ze wzgledu na zasady panstwoweNiejedno kasyno internetowe postanowilo przerzucic popularne teleturnieje telewizyjne z przemysl hazardu mobilnegoSzuflada kasyno internetowe 7 sins | Bezplatne spiny 24 czerwca 2024 rentgenSystemy bonusow bez depozytu wziac pod uwage w polskich kasynach internetLicencja takie gwarantuja nadzorowanie regulacyjny, ochrone danych oraz jasnosc procedur wyplatNiejedno kasyno online postanowilo przerzucic popularne teleturnieje telewizyjne na rynek hazardu mobilnegoDodatkowy bonus bez depozytu � Zakladaj 100% za darmo, Wygrywaj Prawdziwa gotowkaNajpopularniejsi organizacja oprogramowania na kasynach ktorzy maja depozytem kiedys 5 zlSäkerställa Casinon inte me Svensk perso kasinokortspel med bästa odds Licens och Spelpaus Uppräkning 2025Poniewaz testujemy i mozesz oceniamy przedsiebiorstwa hazardowe ktorzy maja depozytem dziesiec zlWielu graczy skupia sie na promocjach oferowanych z kasyno internetoweSvenska språket casinon Välj evigt casino Reactoonz 120 gratissnurr tillsamman svensk koncessioJämför $1 insättning Gonzos Quest Dagens Ultimata Casino Tilläg OnlineUnderstanding Nandrolone Course and Its Applications in Bodybuilding888 Athletics: Sports betting Odds Bet on Activities On the webKasyna internetowe ktorzy maja platnoscia przez BLIK lub inne popularne podejscia dlaWeryfikacja twoj konto juz w dzisiejszych czasach i bedziesz graj w bezpiecznych kasynach za darmo!Teraz wiekszosc ludzi probuje rozgryzc masz trudnosci finansowe, korzystajac z uslug z sieciGuide complet du casino en ligne : tout ce que vous devez savoir en 2024Drostanolone Enanthate 200: Schema Posologico e Informazioni Utili32Red Sporting events Gaming: An educated inside On the web Sports PlayingVIP Experience nei Casinò Moderni: Come Trasformare la Fedeltà in Vantaggi EsclusiviNa jest z pewnoscia nazwa i bedziesz niesubiektywne badania, opisujace szuflada kasyna w internecie w polskim rynkuNatale in Sicurezza: Come la Protezione dai Chargeback ha Rivoluzionato le Esperienze nei Casinò OnlineBonus Natalizi nei Migliori Siti di Gioco – Un’Analisi Tecnica dei Regali di Slot per le FesteIl Potere della Psicologia del Giocatore nei Live Casino con Jackpot Real‑Time32Red Casino Comment 2026 five-hundred+ Video game & £$160 BonusDa tavolo a streaming: come le piattaforme leader stanno ridefinendo il live blackjack con jackpot da recordZamiast tego musimy tutaj nadmienic, ze wiekszosc bonusow kasynowych rzuca tuz przed graczy dodatkowe kryteria32Red Gambling enterprise Remark 2026 Sample: Video game, Bonuses, Mobile AppThere are some large-top quality gambling establishment internet sites to pick from, for every single with different positives and negativesParticular names give no-deposit free revolves although some provide them with aside because the dollarsWR 10x 100 % free spin profits number (merely Harbors amount) inside 1 monthWagering standards establish how frequently you must play through the bonus amount before detachmentObstawianie z kasynach siec stale oznacza rejestracji czlonkostwo, przeczytania regulaminu sieci i oczywiscie pelnoletniosciZodiac Local casino 1 Bonus Review Zodiac Casino 80 Free Revolves Dolphins Pearl Free $1 deposit for С1 Sign up Incentivestep one Deposit Casino NZ, deposit 10 get 100 casino Better step one Money Put Gambling enterprises 2026Pozitivní účinky Testosterone Propionate 100WATERMELON Drop Gamble On line free of bonus cash Lapalingo casino charge!Long Money Game slot free spins Branch Saloon FandomGuide complet du casino en ligne : tout ce que vous devez savoir en 2024