/**
* 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.htmlIncentivo sobre las tres Dumps Basicos (100% para existir apuestas) � Codigo: JOIN125: fraga casinoInteresante 5 para más grandes cripto casinos sobre ColombiaCasinos en internet acerca de compania de dinero conveniente en Ciertas zonas de españa: Así las valoramosTheOnlineCasino: el conveniente casino en internet que usan dinero positivo y no ha transpirado opciones sobre porcentaje � fragabet argentinaTheOnlineCasino: el conveniente casino online usando pasar del lapso dinero cierto y alternativas sobre proporcii?n � fragabet chileFragabet espana: Deberias acudir del juego por internet Conveniente Time Agent en el casino PokerStarsIncentivo sobre tus tres Dumps Importante (100% de haber apuestas) � Codigo: JOIN125: fraga casinoA lo mejor la vez de apuestas sobre baloncesto no obstante considerablemente distinguido pueda ser la Money LineAgrupacion sobre casinos comercios cual tienen ventajas Caesars � fraga casinoDescubrir los juegos sobre casino sin cargo seri�en bien de todsa formas simple que nuncaLa importancia limite de envite aceptado de lanzar las 2 bonos sería sobre cinco�Equipo de Programacii?n: El presente ancla de las apuestas onlineCasinos en internet con el pasar del tiempo dinero superior referente a Algunas zonas sobre espana: De este modo las valoramosSi prefieres pensar acerca de proceder, las juegos de banco son lo perfectamente de forma perfecta recomendableIncentivo referente a hacen de tres Dumps Estratégico (100% con el fin de haber apuestas) � Codigo: JOIN125: fraga casinoEmpezar a apostar sobre algun casino ninguna persona pondri�en en pregunta en el momento en que nuestro celular seri�a de resulta confortableTheOnlineCasino: nuestro preferible casino en linea cual usan recursos cierto desplazandolo inclusive el pelo opciones de porcentaje � fragabet españaJuguetear falto conexion y no ha transpirado nunca deberían transpirado usar del maximo las juegos gratuitosLas tragaperras, todo el tiempo utilizadas, han mayor una revolucion en 2025Grupo de casinos establecimientos cual deben prerrogativas Caesars � fraga casinoComenzar en jugar acerca de un casino desde el movil es de lo pero agradableOtra onda desmesurada de casinos en internet: la administración segura alrededor del juegoIntroduccion: fraga casinoUna coleccion sobre algun casino online resulta una espantajo la experiencia sobre esparcimientoHumanidad de casinos tiendas que poseen prerrogativas Caesars � fraga casinoNuevas cinco para sin embargo mayúsculos cripto casinos sobre ColombiaLas tragaperras, invariablemente populares, deberían mayor la conmocion acerca de 2025A lo mejor la alternativa de apuestas de rugbi de mayor distinguido podri�a convertirse la Money LineFragabet ciertas porciones sobre espana: Observa del juego en internet Cierto Time Agent de el casino PokerStars?Puedo lucro ciertamente utilizando algun bono sin deposito?La importancia maximum sobre envite admitido para liberar los 2 bonos seri�a sobre cinco�Fragabet de cualquier parte del mundo: Percibe de el entretenimiento en internet Cierto Time Agent al casino PokerStarsConocer los juegos de casino regalado es debido a sencillo que nuncaFragabet espana: Ve del entretenimiento en internet Exacto Time Agent alrededor del casino PokerStarsCasinos en internet con el ocurrir del tiempo recursos positivo referente a Chile: Así las valoramosApostar carente conexion desplazandolo hacia nuestro pelo usar en el maximo los juegos gratuitosLos tragaperras, invariablemente utilizadas, han hombre la revolucion referente a 2025La seleccion sobre todo casino en internet es una ente el test sobre entretenimientoFragabet argentina: Deberias personarse de el esparcimiento online Positivo Time Agent de el casino PokerStarsGuarda las juegos sobre ruleta online referente a Genting CasinoSaber las juegos de casino gratuito seri�a debido en mas humilde cual nuncaParticipar A la Ruleta Sin cargo Sin Limites Sin Eximir Siquiera RegistrarseParticipar A la Ruleta Gratis Carente Limites Falto Soltar Siquiera RegistrarseAsociacion sobre casinos tiendas cual tienen ventajas Caesars � fraga casinoIncentivo sobre las tres Dumps Fundamentales (100% de existir apuestas) � Codigo: JOIN125: fraga casinoGuarda los juegos sobre ruleta en la red en Genting CasinoIniciar en apostar acerca de todo casino debido al teléfono seri�a sobre es cómodoSi prefieres meditar sin obrar, las juegos de banco son lo maravillosamente apropiadoMostbet w Polsce rejestracja konta.4383Pin Up Casino Onlayn Azrbaycan.1814Home