/**
* 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.htmlWenn respons gewissenhaft weiteren Bonus beibehalten mochtest, achte darauf, ungeachtet zugelassene Spiele dahinter wahlenSome video game, like slots, enables you to spin away from as little as ?0Miss Kitty Ports Opinion Gamble Miss Kitty & Get 100x IncentiveClaiming a plus at the one pound put casinos is amazingly simpleWar ein nueve� Bonus aufwarts Einschreibung Spielsaal unteilbar Moglich Spielsaal serviceleistungen, sollten Sie weiteren gewinnExtremely minimal put casinos attach totally free spins on the desired packagesZuruckblickend bekommst du im allgemeinen gleichwohl folgende Handvoll ein FreispieleYou could bet on your favourite recreations class, skills or competition which have a little depositNachtraglich bekommst respons alles in allem dennoch folgende Handvoll einer FreispieleThese types of free spins into the card registration are approved once you render their debit card adviceEtliche Boni gebieten noch, sic ein Bonus Kode eingegeben wird, vor selbige Aktion freigeschaltet seiThat it means that any minimum deposit gambling establishment British i encourage was fully agreeable and you may trustworthyThe newest casinos we identify all possess sophisticated customer support because of real time speak, email, otherwise cellphoneIrgendetwas unter einsatz von just one� Einzahlung bekommst respons 300 Freispiele zu handen den Slot Guide for the Ra Deluxe gutgeschriebenMinimal choice works for banker and athlete bets the sameBesonders oft taucht Huge Mineralquelle Wolf hinein Bonusaktionen unter, der Marchenslot via Cascading Wins und FreispielelementenAll of our study includes checking and that fee methods assistance ?5 placesWenn das nicht moglich ist findest respons as part of diesem Vereinbarung evtl. auch zudem ein weiteres nueve Euronen Startguthaben furs SpielbankAfterwards, the new twist profits is mentioned as the extra finance, demanding a great 65x betting dependence on cashoutLeading Seller from Ports, Live Gambling establishment & RNG GameYou might wager on a favourite recreations class, knowledge otherwise race that have a little putPro Partie die erlaubnis haben Die kunden inside einen meisten Anbietern im besten fall ungefahr a single-5 Euro lagernThis type of end up being almost just like advertisements that don’t wanted any paymentGewinne beherrschen schnell ausgezahlt seien, weil kaum Umsatzbedingungen in kraft seinThere are many resources for you personally if you beginning to struggle with gambling on lineDu konntest reibungslos sobald kostenlose Drehungen probieren, bis Respons gewinnstWhen you are reduced deposit gambling enterprise websites is actually increasing in popularity, they’re not a simple task to locateWhile you are lowest deposit gambling enterprise internet are increasing in popularity, they aren’t always easy to locateUnter ihr Jokerstar Webseite solltest respons dich footlocker ausrichtenNo private financial advice alter give, getting complete privacy getting placesOnline-Casinos gewinn ebendiese Aktionen, um besondere Gamer dahinter degustierenGetting people, these words explain how easy it�s to alter the advantage for the real moneyThe most famous ?one deposit added bonus we now have found ‘s the totally free revolves (FS) offerDer gutes Casino erkennst Respons daruber hinaus an schnalzen Ladezeiten, ubersichtlichen Menus weiters transparenten BonusinformationenMega Joker Slot machine Method, Opinion, and you can blood suckers $ step one depósito Bonus 2024 Mercantile Place of work Systems Pvt Ltd.I would section anyone to the 7bet if they fancy live dealer gamble without the need for a hefty moneyUnsereins auf den neuesten stand bringen die aktuellen Angebote zyklisch unter anderem moglichkeit schaffen hinein unseren Bewertungen gar kein Glied leerThe main consideration is understanding exactly what for every deposit level unlocksConical buoy Sight for Horus im Echtgeld Spielcasino vortragen unter anderem unser Bonusangebote vorteil!Next, playing with one procedure of elimination, get a hold of a casino you to definitely ideally complements your needsDas mess wohl kein Beweggrund coeur, diesseitigen solchen Vermittlungsgebuhr nicht nach pluspunktThe primary issue is understanding exactly what per deposit tier unlocksFor every single strategy may differ with respect to running minutes, charges, and you will limitationsDamit liegt ihr Gesamtwert solch ein Angebots within nueve�, abzuglich sic du gunstgewerblerin Einzahlung durchfuhren musst60 Non payants Authentifiés D’excellente Eye Of Horus machine à sous OffresMany minimal put casinos provide incentives and you can promotions even for such small placesSo lange du unteilbar Verbunden Casino das 8 Euro Startguthaben einlost, erhaltst du diesseitigen BonusbetragParticular video game, including slots, will let you spin from as low as ?0It’s like helpful to understand the commission procedure plus deposits and you will withdrawalsHome