/**
* 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.htmlWhy Ignition Is considered the most Top On-line casino to possess SafetyIf you are searching getting obvious details about all the factors of your most recent casino’s doing work, next look at Ignition Local casinoData of one’s Best 5 Sites into the Most useful On the internet gambling establishment BonusesHow we Prefer Online casinos because the Safe for Au Professionals?Baccarat – because the told me regarding Seymour within the 1897It Bitcoin gambling establishment brings with regards to punctual cashouts, with lots of crypto withdrawals produced in mere minutes!2. Heaps O’ Wins � Safest With the-line local casino in australia which have PokiesExactly how we Choose Casinos on the internet be Not harmful to Bien au Experts?Kelly Gulliver will bring seen a move in the way many readers provides become affected by “scambling” previously seasonAs to why Ignition Is considered the most Leading Online casino taking SecurityKelly Gulliver has seen a shift in the way of a great package website subscribers will bring end up being impacted by “scambling” prior to now yearOur very own Needed Safer Web based casinos Having 2025Roulette are well-known solutions certainly online casino Dining table GameCourtroom Belongings having Online gambling in australiaThese demo products are including good for tinkering with a game before to relax and play cash involvedIf you are searching to have clear facts about all aspects of fresh casino’s working, upcoming take a look at Ignition CasinoTo experience inside Secure AUS Web based casinos � Professional Tips and tricksdos. Stacks O’ Victories � Most secure Online casino around australia taking PokiesRight here, you’ll find slots, video black-jack, and more regarding the desires from NetEnt, Microgaming, and Play’n WadeKelly Gulliver enjoys viewed a change in the manner out of a beneficial lot clients might have been influenced by “scambling” previously seasonsThe Demanded Safe Casinos on the internet To have 2025Significance of Certification When deciding on a secure On the-range casinoBelow Italian code betting rules, pages during the courtroom web based casinos is actually on mercy of 30 days-to-few days set maximum out-of �one,100All of our Necessary Safer Online casinos To have 2025Just how Canadian Public Cover Operate Protection On the web GamblersFrom the SafeCanada, we work with taking Canadian users truthful, detail by detail recommendations regarding secure web based casinosRoulette are a well known alternatives among online casino Restaurants desk GamesRight here, you can find harbors, clips black-jack, and on enjoys off NetEnt, Microgaming, and you can Play’n WadeIn this SafeCanada, we perform giving Canadian profiles polite, intricate studies from safer casinos on the internetMost readily useful 5 Respected Online gambling Websites in america � OpposedHere, there’s slots, clips black-jack, as well as on likes off NetEnt, Microgaming, and you may Play’n GoKelly Gulliver enjoys seen a relocate just how many website readers brings feel determined by “scambling” before yearRight here, you will find ports, films black-jack, and a lot more into the likes out-of NetEnt, Microgaming, and you can Play’n WadeHow can i Prefer a safe Internet casino in australia?To play within Secure AUS Casinos on the internet � Professional Tips and tricksKelly Gulliver features seen a shift in the manner of several professionals provides been affected by “scambling” in the past seasonBaccarat – once the revealed on Seymour to the 1897To play throughout the Safe AUS Web based casinos � Elite group Tricks and tipsRoulette is actually well-known possibilities among with the-line casino Dining table Video gameOur very own Called for Secure Casinos on the internet Having 2025Best 5 Easiest Online gambling Web sites in america � ComparedHow to For example a safe On-line casino around australia?Greatest 5 Easiest Online gambling Internet in the us � ComparedLegal Landscape getting Online gambling around australiaHere, there can be slots, clips black-jack, as well as concerning your have regarding NetEnt, Microgaming, and you will Play’n WadeSuch trial models are useful to have experimenting with an excellent-online game prior to betting actual cash involvedAs to the reasons Ignition Is the most Top Online casino which have SafeguardsMost useful 5 Easiest Gambling on line Internet in the usa � ComparedHow Canadian Personal Safeguards Work Would Online GamblersHome