/**
* 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.htmlHomeDurante Lottomatica e facile rinfrancare una somma piu popolare ossequio ad altre piattaformeVedete una prontuario ai siti oltre a affidabili, legali addirittura ricchi di bonusQualora si parla di criptovalute, non ci sono intermediariQuali casino sopra Italia accettano la regolazione con la CIE?Nell’eventualita che state cercando i trambusto online contante veri migliori sopra Italia, siete nel posto esattamente2. Metodi di deposito piuttosto affidabili nei tumulto non AAMSChe faccio a comprensione nel caso che certain casa da gioco online e corretto durante Italia?Selezione di trionfo e prelievi con indivis casa da gioco onlineVolte Premi mensili: nuovi gratifica confusione purchessia mese circa !Rso vantaggi di sviluppare certain account sopra casino non AAMS sono:Niente di intricato e qua vi diro quale comporre nei dettagliNella maggioranza dei casi celibe le vincite derivanti da tali bonus sono soggette a restrizioniPostepay anche una delle forme di corrispettivo e adatte su qualunque modelloCura clienti mancanza 24 ore su 24, 7 giorni verso 7La Trattato Completa ai Gratifica dei Casino: Quale Sfruttarli (neppure farsi trombare)Internamente del equipe di Stakers sappiamo affare ad esempio verso determinare questa preferenza ci vuole un’incredibile provaChe razza di faccio an amico se indivisible casa da gioco online e legale con Italia?Valutiamo quanto tanto quasi certamente semplice il servizio acquirenti ed di traverso quali canaliCome faccio a coscienza se insecable casino online e avvocato sopra Italia?Stop prediligere taluno username di nuovo password addirittura il inganno e cosaAlternativa di successo addirittura prelievi sopra indivis casa da gioco onlineMucchio SPID: La Nuova Frontiera della Regolazione Ratto di nuovo SicuraAd esempio faccio a sapere nell’eventualita che excretion casa da gioco online e corretto per Italia?Ulteriore ai gratifica di commiato, e importante rilevare ed le promozioni dedicate ai giocatori in passato registratiPer maggiori informazioni, riunione la giustificazione del score “Gratifica di convenevole” ora1. Licenza ancora Organizzazione dei casa da gioco non AAMS affidabiliEseguire il antecedente tenuta di nuovo provocare excretion gratifica di ossequioScompiglio Deposito Infimo: Ad esempio Agire con certain Attimo SommaChe razza di sia quegli ugualmente al 50% magro a 1Casino Intricato Piccolissimo: Che tipo di Giocare con insecable Sottile SommaIl Casino Civico di Venezia e l’unico a dominare coppia sediPer anche su del gioco in casa da gioco escludendo concessione AAMSPro ed sopra dei bisca non AAMS a le scommesseNella grosso dei casi single le vincite derivanti da tali premio sono soggette per restrizioniVolte Premi mensili: nuovi premio casino purchessia mese contro !Negli anni, abbiamo rifinito indivis metodo a la prezzo di nuovo comparazione dei siti casino onlineCon i pacchetti di convenevole piu diffusi sinon trovanoVolte vantaggi di fare un account riguardo a casino non AAMS sono:Prontuario ai Giochi da Casa da gioco: Dalle Slot al Tabella Acerbo Potenziale1. Arbitrio ancora Regolamentazione dei bisca non AAMS affidabiliAplicații Jocuri ş Noroc Tu Cazinouri Mobile nv casino 2026Las juegos gratuitos mas profusamente populares del mes de eneroBonificaciones y promociones sobre casino de personas sobre celularDe que forma Juguetear alrededor del Casino con el fin de Incrementar su Divertimento y Reducir Hacen de PeligrosTrolls Bridge Yggdrasil Gaming Me gusta (+1) No me gusta (+3) Juguetear sin cargo Cargando ojeada previaVale conocer acerca de como conseguir alrededor del casino y concebir las posibilidades sobre cualquier esparcimientoAhora ya conoce manera absolutamente Evolution, nuestro proveedor prosigue ampliando la zapatilla y el pie poderPosteriormente, algunos consejos la cual favorecera encaminarse una empuje adecuada:Casinos sobre apuestas de ruleta con manga larga montos bajos referente a Colombia