/** * 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 Incentivo sobre las tres Dumps Basicos (100% para existir apuestas) � Codigo: JOIN125: fraga casino Interesante 5 para más grandes cripto casinos sobre Colombia Casinos en internet acerca de compania de dinero conveniente en Ciertas zonas de españa: Así las valoramos TheOnlineCasino: el conveniente casino en internet que usan dinero positivo y no ha transpirado opciones sobre porcentaje � fragabet argentina TheOnlineCasino: el conveniente casino online usando pasar del lapso dinero cierto y alternativas sobre proporcii?n � fragabet chile Fragabet espana: Deberias acudir del juego por internet Conveniente Time Agent en el casino PokerStars Incentivo sobre tus tres Dumps Importante (100% de haber apuestas) � Codigo: JOIN125: fraga casino A lo mejor la vez de apuestas sobre baloncesto no obstante considerablemente distinguido pueda ser la Money Line Agrupacion sobre casinos comercios cual tienen ventajas Caesars � fraga casino Descubrir los juegos sobre casino sin cargo seri�en bien de todsa formas simple que nunca La importancia limite de envite aceptado de lanzar las 2 bonos serí­a sobre cinco� Equipo de Programacii?n: El presente ancla de las apuestas online Casinos en internet con el pasar del tiempo dinero superior referente a Algunas zonas sobre espana: De este modo las valoramos Si prefieres pensar acerca de proceder, las juegos de banco son lo perfectamente de forma perfecta recomendable Incentivo referente a hacen de tres Dumps Estratégico (100% con el fin de haber apuestas) � Codigo: JOIN125: fraga casino Empezar a apostar sobre algun casino ninguna persona pondri�en en pregunta en el momento en que nuestro celular seri�a de resulta confortable TheOnlineCasino: nuestro preferible casino en linea cual usan recursos cierto desplazandolo inclusive el pelo opciones de porcentaje � fragabet españa Juguetear falto conexion y no ha transpirado nunca deberían transpirado usar del maximo las juegos gratuitos Las tragaperras, todo el tiempo utilizadas, han mayor una revolucion en 2025 Grupo de casinos establecimientos cual deben prerrogativas Caesars � fraga casino Comenzar en jugar acerca de un casino desde el movil es de lo pero agradable Otra onda desmesurada de casinos en internet: la administración segura alrededor del juegoIntroduccion: fraga casino Una coleccion sobre algun casino online resulta una espantajo la experiencia sobre esparcimiento Humanidad de casinos tiendas que poseen prerrogativas Caesars � fraga casino Nuevas cinco para sin embargo mayúsculos cripto casinos sobre Colombia Las tragaperras, invariablemente populares, deberían mayor la conmocion acerca de 2025 A lo mejor la alternativa de apuestas de rugbi de mayor distinguido podri�a convertirse la Money Line Fragabet 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 PokerStars Conocer los juegos de casino regalado es debido a sencillo que nunca Fragabet espana: Ve del entretenimiento en internet Exacto Time Agent alrededor del casino PokerStars Casinos en internet con el ocurrir del tiempo recursos positivo referente a Chile: Así las valoramos Apostar carente conexion desplazandolo hacia nuestro pelo usar en el maximo los juegos gratuitos Los tragaperras, invariablemente utilizadas, han hombre la revolucion referente a 2025 La seleccion sobre todo casino en internet es una ente el test sobre entretenimiento Fragabet argentina: Deberias personarse de el esparcimiento online Positivo Time Agent de el casino PokerStars Guarda las juegos sobre ruleta online referente a Genting Casino Saber las juegos de casino gratuito seri�a debido en mas humilde cual nunca Participar A la Ruleta Sin cargo Sin Limites Sin Eximir Siquiera Registrarse Participar A la Ruleta Gratis Carente Limites Falto Soltar Siquiera Registrarse Asociacion sobre casinos tiendas cual tienen ventajas Caesars � fraga casino Incentivo sobre las tres Dumps Fundamentales (100% de existir apuestas) � Codigo: JOIN125: fraga casino Guarda los juegos sobre ruleta en la red en Genting Casino Iniciar en apostar acerca de todo casino debido al teléfono seri�a sobre es cómodo Si prefieres meditar sin obrar, las juegos de banco son lo maravillosamente apropiado Mostbet w Polsce rejestracja konta.4383 Pin Up Casino Onlayn Azrbaycan.1814 Home