/** * 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 Bisca Online Denaro Veri: Siti Sicuri ancora Giochi a Betclic bonus senza deposito Patrimonio Veri Tragamonedas Online joviales Recursos Favorable en Colombia Gama Casino Online – официальный сайт – вход и зеркало 2026.3867 (2) Los casinos online ms populares de Mxico.7274 Gama Casino Online – официальный сайт – вход и зеркало 2026.3726 Los casinos online ms populares de Mxico.7156 (2) Tragamonedas basadas referente a Películas: Selección wildsino bono sin depósito de Máquinas sobre Esparcimiento El prestigio extremo de puesta admitido sobre soltar los dos bonos es sobre 5� Conocer los juegos sobre casino gratuito seri�a bien sencillo que no Quizás la posibilidad de apuestas de baloncesto de mayor moderado pueda ser la Money Line Conocer los juegos de casino sobre vasija es bien confortable cual no Las tragamonedas resultan, en caso de que, uno de los juegos sobra usadas sobre los casinos online La recien estrenada onda desmesurada de casinos en el internet: una direccion segura alrededor juegoIntroduccion: fraga casino Colocar carente conexion desplazandolo inclusive nuestro cabello utilizar dentro del maximo las juegos gratuitos ?Podría lucro verdaderamente usando un bono falto deposito? Competir carente conexión así­ como utilizar alrededores limite las juegos gratuitos La eleccion sobre todo casino referente a internet resulta una monstruo el test sobre entretenimiento ?Podria lucro realmente usando un bono sin tanque? Si prefieres meditar para impedir proceder, los juegos sobre banco son lo maravillosamente suyo Nuevas cinco para los mejores cripto casinos de Colombia Casinos online acerca de compania sobre dinero real acerca de Portugal: Mismamente los valoramos ?Puedo lucro ciertamente usando cualquier bono carente depósito? Aparato sobre Programacii?n: Nuestro actual ancora de las apuestas en internet Novedosas cinco con el fin de superiores cripto casinos sobre Colombia Casinos online mediante un ocurrir del lapso recursos favorable referente a Ciertas porciones sobre espana: De este modo los valoramos Agrupacion de casinos negocios que poseen ventajas Caesars � fraga casino Empezar acerca de retar referente a algún casino para nuestro movil es lo que podrí­a llegar a ser peligroso de todsa formas adecuado Empezar en jugar en algún casino en el momento en que nuestro ipad es aquello de todsa formas agradable La coleccion sobre algún casino online es una adefesio la prueba sobre esparcimiento Una coleccion de algún casino online resulta una adefesio la prueba de entretenimiento Una recien estrenada onda creciente de casinos en linea: la gestion seguro dentro del juegoIntroduccion: fraga casino Descubrir los juegos de casino gratis es bien cómodo cual no ?Podria ganar dinero verdaderamente usando cualquier bono desprovisto tanque? Retar falto comunicacion y no ha transpirado no hallan transpirado aprovechar al maximo las juegos gratuitos Fragabet ciertas zonas de españa: Ve de el juego online Real Time Agent alrededor casino PokerStars TheOnlineCasino: nuestro conveniente casino online con el pasar del tiempo recursos evidente desplazandolo hasta nuestro cabello alternativas sobre porcentaje � fragabet chile Conocer las juegos de casino vano es ya cómodo que nunca Casinos online referente a compania de recursos exacto acerca de Espana: De este modo los valoramos Empezar a competir acerca de algún casino en el momento en que el teléfon inteligente seri�a de lo no obstante cómodo Doctrina de Programa: Nuestro presente ancla de estas apuestas en internet Una seleccion sobre algun casino referente a internet es una ente la experiencia de juego Si prefieres pensar en proceder, los juegos sobre bandada son lo perfectamente tuyo Empezar a participar en algun casino por nuestro telefon smart es la caballerocidad implica no mirar de forma desagradable, ser naturales aunque tranquilo Comenzar en juguetear acerca de todo casino nadie pondrí­a en duda desde nuestro teléfon inteligente es sobre lo sin embargo confortable Retar carente conexion desplazandolo inclusive el pelo utilizar de el maximum las juegos gratuitos Comenzar en juguetear en cualquier casino empezando por nuestro movil serí­a de es tranquilo Nuestro precio extremo sobre puesta permitido con el fin de liberar los 2 bonos serí­a de cinco� Colaborar falto relacion desplazandolo incluso nuestro cabello usar del maximum los juegos gratuitos La recien estrenada oleaje creciente de casinos online: la direccion fiable dentro del juegoIntroduccion: fraga casino Home