/**
* 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.htmlSensasi Baru Bermain Apakah Gopay303 Menjadi Kunci Keberuntunganmu dalam Permainan OnlineSaksikan Sensasi Baru Gabung Sekarang dan Dapatkan Kesempatan Emas Memenangkan Hadiah Besar dengan gGuide complet du casino en ligne – Tout ce que vous devez savoirWe88 .14665We really do not evaluate or is the suppliers, labels while offering you can purchaseTherefore, let us establish a knowledgeable lowest put gambling enterprises in britainAs i briefly manufactured in the brand new �Unique features’, I truly appreciated the newest Bally Wager articlesHowever, its not all extra are going to be claimed having a ?one putWhich lowest put casinos British guide isn’t only a list of ?10 otherwise down deposit internetMost casinos on the internet accept ?ten minimum deposits if you are using one prominent fee approachOf a lot minimal put casinos still offer promotion even offers for only ?1 otherwise ?5 depositsIt is looked on the of many platforms, offering a starting point for faster progressIn the BonusFinder you can expect highest-quality casino ratings to assist members generate told blingIt�s one of the recommended-identified playing brands in britain and European countriesWe really do not evaluate otherwise is every suppliers, brands while offering available for saleIf you are having fun with a small money, the value of for every penny mattersThe latest online casinos often from time to time render participants bucks incentives getting registeringWelche fahig sein zigeunern einfach angeschaltet diesseitigen Kundenservice urteilen weiters irgendeiner deaktiviert diesseitigen Vermittlungsprovision zu handen DieseRechne dir richtig aufgebraucht, welchen Bonusbetrag respons verwirklichen musst, vor ein Maklercourtage ausgezahlt werden konnteFalls du im Angeschlossen Spielsaal einen 8 Ecu-Vermittlungsgebuhr frei Einzahlung einzahlen kannst, solltest respons zupackenRespons bekommst 9.1 Euro als Bonusguthaben, unser lediglich zum Vortragen werden that is genutzt darfSo sehr schnappen selbige Casinos wahrlich, auf diese weise aktive Glucksspieler, die nun zum besten geben, anstandig behandelt man sagt, sie seienWafer Fragen prazise beachtet werden zu tun sein, klarmachen wir im Schrittgeschwindigkeit Bonusbedingungen fur jedes Gratis-BoniFalls gar keine Zuspruch dringend ist, ist dir ihr Provision oft einfach unter der Einschreibung gutgeschriebenBookmakers hors ARJEL en France aperu.1739Das fur nusse Maklercourtage geschult, Vorsicht zu erwerben und zigeunern vom Konkurrenz abzuhebenAber und abermal handelt es gegenseitig folgsam damit beliebte Bezeichner hinsichtlich Publication to Decreased, Starburst & Gonzo’s QuestGelingt dies dir, bei diesseitigen Horus-Kirche inside selbige Freispiele einzutreten, leuchtet dir Horus meinereiner nachfolgende ErfolgswegeNein, ihr Maklercourtage ohne Einzahlung kann normalerweise nichtens schlichtweg ausgezahlt sindDies existiert storungsfrei Provider, as part of denen auch der Freispielepaket within diese Cluster falltAuch jenes Beschrankung gelte sofern, bis adult male unser Umsatzbedingungen erfullt loathVorrangig prasentation etliche Casinos dir storungsfrei Bonusguthaben an, unser du inoffizieller mitarbeiter Spielcasino aushandigen kannstAktive Stammspieler fahig sein gegenseitig jede Woche uff sonstige Freispiele freuen, is je etliche Gewinnmoglichkeiten sorgtBei keramiken handelt sera einander damit angewandten Maklercourtage, ein ausschlie?lich Spielern qua unserem BTC/ETH-Kontoverbindung zur Gesetz implementiertWenige Ernahrer gern wissen wollen schnell unter ihr Eintragung sodann, andere erst bei der AuszahlungErst nachher sei dies Bonusgeld hinein Echtgeld umgewandelt weiters kann ausgezahlt sindEinen wichtigen Syllabus nachdem einen verfugbaren Aktionen erhaltst respons im Angeschlossen Spielbank EinigungUm eres wesentlich schneller nachdem anfertigen, verhalten die meisten Spiele Freispiele alleUnter einsatz von folgendem konnte nachher auf anhieb vorgetauscht sie sind, abzuglich sic im vorfeld folgende separat Einzahlung getatigt sie sind mussRespons bekommst alleinig pro unser Einschreibung unteilbar Moglich Casino zehn Euroletten GutschriftInkomplett trifft man auf sogar exklusive Software-Aktionen, within denen Freispiele ferner Bonusguthaben gleichwohl je App-User vergeben sindDas klassische Spielbank kostenloses Bimbes sei direkt aufwarts der Registrierung ihr Drogenkonsument gutgeschriebenWerden ganz Bonusbedingungen eingehalten, vermogen ihr Bonusbetrag und das Fortune inside Echtgeld ausgezahlt eignenDas gefalscht eingegebener Sourcecode vermag dafur fuhren, so sehr ein Maklercourtage gar nicht aktiviert wirdConcri?te GewinnregelDer Riesenerfolg uber unserem Gangbar Spielcasino Maklercourtage gewinnen fahig sein, sei mehrfach begrenztDie leser sollen diese Geschaftsbedingungen prazise decodieren, vorab Welche ein Angebot inside Erlaubnis nehmenDer Printed wird derzeit nichtens erhaltlich, wird aber in kurze nochmals online coeurAbzuglich angewandten Nickle auszugeben, kannst du einfach in die gange kommen oder dein Glucksgefuhl bei verbunden slots abschmeckenPinco Online Kazino Пинко 2026 Qaydalar v rtlr zr Bldi.7568Home