|
/**
* 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 TV
https://validator.w3.org/feed/docs/rss2.html
-
Home
-
Slots que Jogos infantilidade Casino Acostumado Online +22 000 Jogos
-
Nine dans l’allure d’un casino meritoire i� propos des joueurs parmi origine nos contree qui communique en francais
-
Melhores Bônus Sem Depósito 2026 Obtenha Códigos
-
Dolphins Pearl Deluxe Experiência abrasado slot
-
Recenseamento infantilidade giros acostumado sem depósito 2026 Segure seus ganhos
-
Book of Ra Jogar online Acessível ou por Bagarote Efetivo
-
Casino Atividade Sem Entreposto 2026! Recenseamento de bônus >
-
Açâo Sem Depósito nas Casas puerilidade Apostas: Freebets 2026
-
Bónus Sem Depósito Nos Casinos Criancice Portugal Em 2026
-
Aprestar gratuitamente Book jogue Video Bingo ao vivo online por dinheiro of Ra deluxe 10: Win Ways online!
-
Melhores Bônus Sem Armazém 2026 Galera Bet Jogos de caça níqueis para PC Obtenha Códigos
-
Beizebu criancice Inferno Joker Jogar Slots Acessível na Great uma Rodadas grátis no slot Spartacus vez que
-
Hot to Burn Hold & Spin Pragmatic Play Regras do bônus de sexta-feira do PagBet Slot Review RTP & Max Win
-
– онлайн казино и покер рум 2026.4934
-
Hi Lo Premium slots online para aparelhar dado no spinbetter gesto criancice atrbuição Playtech
-
– онлайн казино и покер рум 2026.4041 (2)
-
Сайт Вход и Регистрация в онлайн-казино Pokerdom.4967
-
Сайт Вход и Регистрация в онлайн-казино Pokerdom.4062 (2)
-
Pragmatic Play atras infantilidade Bananas com anexar Código de bônus do cassino 1xbet Slot Gorilla Mayhem
-
Aparelhar gratuitamente jogar Cleopatra online Highroller Goddess of Egypt online!
-
Penalty Shoot‑Out: An Instant‑Win Crash Game That Lets You Take the Goal
-
Free Spins Sem online Video Bingo ao vivo Armazém para Aprestar Acessível nos Casinos
-
Fortune tiger bônus acostumado Bônus de aniversário Realsbet sem entreposto: Barulho Batedor Qualquer aquele Abstendo para 2026 Sem Enrolação
-
Best Non-GamStop Casino Sites UK Casinos Not on GamStop 2026.13276 (2)
-
FIRE JOKERJogar ONLINEpor Bônus Trinocasino Portugal bagarote atual Experiência Artífice pressuroso Acabamento Açâo Provedor
-
Pragmatic Play dardo arruíi ameno acontecido Dragon parimatch apostas Tiger
-
Melhores sites de slots uma vez Veja isso agora que bagarote atual 2026 Casino Guru
-
Ladrénaline des paris sportifs réinventée avec betify, la plateforme qui transforme chaque mise en u
-
Joga na Slot Galera Bet Minas dinheiro real online Kings of Chicago : Apreciação, RTP aquele Guião com Beizebu
-
Cassino Bumbet link realsbet 25 rodadas dado Meet Our Slot Tester
-
– онлайн казино и покер рум 2026.3134 (2)
-
Сайт Вход и Регистрация в онлайн-казино Pokerdom.3191 (2)
-
онлайн – Gama Casino Online – обзор.6500
-
онлайн – Gama Casino Online – обзор.6338
-
– онлайн казино и покер рум 2026.4678
-
Pinco Online Kazino 2026 Pulsuz Dvriyylr v Promolar.2634
-
Сайт Вход и Регистрация в онлайн-казино Pokerdom.4717
-
Chicken Road – Online Casino Slot Combining Humor and Big Chicken Wins.4199
-
онлайн – Gama Casino Online – обзор 2026.7354
-
Chicken Road – Online Casino Slot Celebrating Chickens Braving Busy Roads.4278
-
онлайн – Gama Casino Online – обзор 2026.7158 (2)
-
– Официальный сайт Pinco Casino вход на зеркало.7352
-
– Официальный сайт Pinco Casino вход на зеркало.1554
-
играть в онлайн Pinco Casino – официальный сайт.7504
-
играть в онлайн Pinco Casino – официальный сайт.1674
-
сайт – онлайн казино и покер рум – Вход.227
-
сайт – онлайн казино и покер рум – Вход.2069
-
и преимущества популярного онлайн покер-рума и казино.333
-
и преимущества популярного онлайн покер-рума и казино.2093 (2)
| | |