|
/**
* 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
-
Tagesordnungspunkt Casinos über Sofortauszahlung 2025 Schnelle Ausschüttung garantiert
-
Free Harbors Zero Download Zero Subscription: 100 percent free Slot machines Instantaneous Gamble
-
Free Gambling games & Online slots games Kingdom Urban area Online casino
-
Impressum
-
Slots Angels Gambling enterprise Rating a welcome Added bonus & Enjoy in the Ports Angels Gambling establishment On the internet
-
#1 Free online Societal Local casino Feel
-
Santastic Position No-deposit Extra Requirements 2026 #1
-
Thunderstruck 2 Slot Demonstration RTP 96 65% Totally free Play
-
Erreichbar Spielbank über PayPal 1 Ecu Einzahlung ᐅ Qua Freispiele
-
Online Ports Gamble 5000+ 100 percent free Position Online game Quickly
-
Pharaoh Wide range Harbors Remark: A money maker or perhaps Another Trap?
-
Can play Fa Fa Fa
-
Better African Harbors On the web #5 African Safari Ports to try out On the web
-
Xmas Joker Demonstration Play 100 percent free Slots at the High com
-
Super Hook Gambling games Much more Games
-
Pick the best 3 hundred Join Incentive Gambling establishment Philippines
-
Gunsbet Gambling enterprise Review 2026 Recommendations, Bonuses, Video game
-
Entsprechend konnte guy einen interessanten Freispiel-Bonus blo? Einzahlung erkennen?
-
Delight in Raging Rhino Condition 100 percent free instead of Subscription Grupo MBP Costa Rica
-
Raging Rhino Casino slot games Wager 100 percent free with no Deposit
-
Lord Of one’s Water Miracle Position Remark 2026 Free Play Trial
-
Gratorama Casino No deposit Bonus Requirements March 2026
-
Crime Development
-
Gamble 18,500+ Online Ports Zero Install No Subscription
-
Casumo dabei der umwerfender Abgabe bis wichtiger Hyperlink zu 500 Bonusgeld, 120 Freispiele
-
Ramses Book Trial Enjoy Totally free Ports during the Great com
-
Aristocrat’s Lightning Connect poker machine
-
Erreichbar Blackjack Spielen unter einsatz von Spielgeld unter anderem echtem Bares
-
Pharaoh’s Chance Slot Remark
-
Raging Rhino Position Gamble 100 percent free Spins
-
20 Euro Prämie exklusive Einzahlung Kasino » 20 No Frankierung Boni
-
Play 32,178+ Free Slot Demos Zero Obtain
-
Die gängigsten Casino-Zahlungsmethoden
-
Kingbit Casino View 2026
-
Live Casino Canada Up to $1,one hundred thousand Extra
-
Best Bitcoin Casinos to Play Verbunden in March 2026
-
7 Jurassic Park & World Videos Ranked Jurassic Community Rebirth Rotten Tomatoes
-
Better On-line casino Position Game 2026 Gamble Preferred Ports
-
Blackjack Masterplan: Die besten Tipps & Systeme je weitere Triumph
-
Free Cent Slots No Download, Gamble Online Slot machines and you may Game inside 2026
-
Cricket Betting Info Totally free Cricket Forecasts
-
Curso de Theatre elizabeth Audiovisual UESB
-
The brand new Jurassic Playground Remastered Position Spin the new Reels Today! Welcome to Pratek Automotive Pty Ltd
-
1977 Argentine Huge Prix
-
Dunder Spielsaal Nachprüfung Free Spins Maklercourtage Codes Games
-
Free Thunderstruck 2 Slot Gameplay Microgaming Web based casinos
-
Play 19,300+ 100 percent free Position Game Zero Obtain
-
Guide complet du casino en ligne : tout ce que vous devez savoir en 2026
-
Cashapillar Slots Remark Enjoyable 100-Payline Slot Book
| | |