|
/**
* 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
-
Lieve In Geld Casinos Pro Nederland 2026
-
Eye of Horus Gratis zum besten laden verde spielsaal-App verhalten abzüglich Anmeldung Partner2Connect
-
Beschermd storten gedurende online goksites
-
Vavada casino deposits and withdrawals at the online casino.2797
-
100 Freispiele schnell in Registrierung
-
Over eigenlijk poen gokken plus storten
-
Spielsaal Bonus ohne Einzahlung März 2026
-
Spel ofwe Gladiators Speculeren waarderen Gokkasten, online kasteel, kosteloos gokkast en Fruitautomaten
-
Freispiele exklusive Einzahlung 2024 pro erfolgreiche and neue Slots
-
Feuerwerk online anschaffen inoffizieller mitarbeiter 5 Feuerwerk Onlineshop
-
No Deposit Premie Casino Nederland: JACKS NL
-
Prämie ohne Einzahlung Top Kasino Angebote abzüglich Aussicht nützlichkeit 2025
-
De uitgelezene free spins toeslag 2025 lll Noppes spins bij aanmelding
-
Drehstühle über Blättern erreichbar besorgen
-
Blackjack Masterplan: Basic Strategy and Tipps
-
777 Bank Voor Spins Gokkasten: Fre Spins gedurende 777 Slots van JACKS NL
-
Erstplatzierter Online Spielbank Prämie Kasino Bonus 2026 sichern
-
Casino non AAMS in Italia le migliori opzioni per i giocatori.5871 (2)
-
Arne Fietsslot zijn het nieuwe Nederlandse meester: betreffende diegene methode loodste hij Feyenoord zoals u 16de aanhef
-
Echtgeld Casinos: Ihr Guide über das Zum besten geben um Echtgeld
-
Ozbekistonda mavjud bolgan yangi onlayn kazinolar.123
-
Mobile Casino Unser Traktandum 10 Mobile Anbieter pro 2024
-
Speel Dat Vinci Diamonds Gokkast Voor Online
-
Neue Erreichbar Casinos März 2026 Letter Bonus bewachen
-
Meilleur Casino en Ligne 2026 – Top 10 des Casinos Fiables.2464
-
Meilleur Casino en Ligne 2026 – Top 10 des Casinos Fiables.1996
-
Онлайн казино с бесплатными спинами в Польше 229
-
Neue Angeschlossen Casinos Dritter monat des jahres 2026 Neue Tagesordnungspunkt Casinos enthüllt
-
Легальные онлайн казино в Польше 156
-
The Benefits of Automating Document Management for Efficiency
-
The Essential Checklist for Creating a Durable Power of Attorney
-
Kloosterzuster Deposit Verzekeringspremie, Casino’s in Gratis Premie 2026
-
NetBet Prämie abzüglich Einzahlung 03 2026, Letter No Vorleistung Prämie beschützen!
-
Mr Bet Spielbank Tora Willkommensbonus schützen jetzt dem recht entsprechend inside Ostmark
-
Meilleur Casino en Ligne 2025 – Sites Fiables.16112
-
Топовые онлайн казино в Польше 623
-
Penalty Shoot Out da Evoplay jogo de casino online explicado em detalhe.1414
-
Pin Up Casino – Azrbaycanda onlayn kazino Pin-Up.4552
-
Pin Up Casino – Azrbaycanda onlayn kazino Pin-Up.27886 (2)
-
Olymp Casino Online oyun eidlri v sas funksiyalar.1261
-
Pin Up Casino – Azrbaycanda onlayn kazino Pin-Up.27508
-
Pin Up Casino – Azrbaycanda onlayn kazino Pin-Up.1389
-
Pin Up Casino Online Giri Trkiye.6925 (3)
-
Pin Up Casino Azrbaycan.2693 (2)
-
Pin Up Casino Azrbaycan.2506
-
Olymp Kazino Onlayn thlksizlik v mlumatlarn qorunmas.1042
-
Pin Up Casino – Azrbaycanda onlayn kazino Pin-Up.3115 (2)
-
Olymp Casino Online tez-tez veriln suallar v cavablar.821
-
Chicken Road: De Snelle Crash Game Die Snelle Multiplier Sensaties Biedt
-
Home
| | |