/**
* 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.htmlHomeKelly Gulliver has actually viewed a change in the way of many customers has begun impacted by “scambling” in the past 12 monthsOur very own Called for Secure Web based casinos Which have 2025The Recommended Safe Online casinos To possess 2025How Canadian Private Safety Efforts Cover On line GamblersSafe financial is an essential part of one to on the web a real income gambling establishmentThe fresh new Recommended Safe Web based casinos Having 2025How to Choose a secure Online casino in australia?How exactly we Identify Casinos on the internet end up being Not harmful to Bien bien au Advantages?Right here, you’ll find ports, movies black colored-jack, and concerning your wants out of NetEnt, Microgaming, and you can Play’n GoDependence on Certification When deciding on a secure On-line casinoThey Bitcoin gambling establishment brings with respect to fast cashouts, with most crypto withdrawals earned in just minutes!Exactly how Canadian Individual Safety Perform Include On line BettorsRight here, you will find slots, video black colored-jack, along with into the have out of NetEnt, Microgaming, and Play’n Godos. Hemorrhoids O’ Victories � Easiest Online casino in australia with PokiesKelly Gulliver has actually viewed a move in how of several readers have come influenced by “scambling” in earlier times 12 monthsHow can i Choose a safe On-line casino in australia?In the SafeCanada, i manage providing Canadian players sincere, detailed study out-of safer web based casinosGreatest 5 Trusted Online gambling Websites in america � OpposedJust how Canadian Societal Protection Work Perform On the internet GamblersRight here, you’ll find slots, video clips black-jack, and you will of possess away from NetEnt, Microgaming, and you will Play’n GoLegal Surroundings for Gambling on line in australia2. Hemorrhoids O’ Progress � Safest Internet casino in australia having PokiesHow can i Particularly a safe On-line casino around australia?Just how Canadian Individual Coverage Perform Manage On the web GamblersWilliam Hill � El mejor casino en internet con el pasar del tiempo MasterCard por sus limites altos (DGOJ)Right here, discover harbors, videos black colored-jack, and more toward likes off NetEnt, Microgaming, and you will Play’n GoBetter 5 Respected Gambling on line Sites in the usa � OpposedRoulette try a prominent alternatives yes internet casino Dining table Videos video gameExactly how Canadian Social Shelter Services Safety On line BettorsHow to choose a secure Online casino in australia?Which Bitcoin gambling enterprise provides with respect to small cashouts, with many different crypto withdrawals produced in only moments!This type of demonstration types are just the thing for experimenting with a good-online game in advance of playing bucks on itKelly Gulliver possess viewed a change in the manner of numerous customers enjoys started affected by “scambling” before yearKelly Gulliver provides seen a move in how many people provides started impacted by “scambling” previously 12 monthsJust how Canadian Social Safety Perform Cover Online BettorsSafer banking is an essential element of that online real money casinoCourtroom Landscape for Gambling on line around australiaThe way we Get a hold of Web based casinos once the Not harmful to Au Somebody?Pros y contratiempos, estrategias de remuneracion, juegos, RTP, promocionesDependence on Certification When choosing a safe On-line casinoThe required Safe Online casinos To have 2025These demonstration sizes have become great for tinkering with a casino game ahead of playing cash inside itRoulette are a famous choice among to your-line local casino Table GamePlaying within the Safer AUS Web based casinos � Professional Tricks and tipsRoulette is preferred solutions yes internet casino Desk Video gamedos. Heaps O’ Victories � Safest Online casino in australia with PokiesAll of our Demanded Safer Casinos on the internet To have 2025Which Bitcoin local casino will bring regarding short cashouts, with many crypto withdrawals brought in simple moments!To try out regarding the Secure AUS Casinos on the internet � Expert Tips and tricks