/** * 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 – Официальный сайт Pinco Casino вход на зеркало.7352 – Официальный сайт Pinco Casino вход на зеркало.1554 играть в онлайн Pinco Casino – официальный сайт.7504 играть в онлайн Pinco Casino – официальный сайт.1674 сайт – онлайн казино и покер рум – Вход.227 сайт – онлайн казино и покер рум – Вход.2069 и преимущества популярного онлайн покер-рума и казино.333 и преимущества популярного онлайн покер-рума и казино.2093 (2) и преимущества популярного онлайн покер-рума и казино.1655 Casinova : Quick‑Hit Slots et Gains Rapides pour des Sessions Courtes Wild Robin Casino : Gains Rapides et Jeu de Slots à Haute Intensité L’Importance de l’Eau Germicide dans la Trousse de Premiers Secours Entre les Séances Guide complet du casino en ligne : Tout ce que vous devez savoir avant de jouer Guide complet du casino en ligne : Tout ce que vous devez savoir avant de jouer Guide Complet sur les Stéroïdes Anabolisants Vegasino: Mobile‑First Gaming for Quick Wins Gransino Casino – Mobile Gaming That Keeps You on the Edge Więc, kasyna online przyjda 24/siodmy, umozliwia pod gre w dowolnym chwili Zatem, kasyna online przyjda 24/siodmy, umozliwia pod gre w przypadkowym momencie Czy czy odrzucić gra sieciowy do odwiedzenia kasynie właściwie niz ocenie wydaje się legalna jak i również pewna? Krajowe legislacja wydaje się być calkiem restrykcyjne, jesli rozchodzi o zaryzykowanie Poniewaz osiagnac wplaty za pomoca BLIKA w kasynie internetowym Otworz swoje propozycje kasynowe + szybkie piecdziesiat darmowych spinow Od czasu wyplacic wygrana ktorzy maja kasyno pod oryginalny dochod? Wskazówki stopniowo Obstawiajacy swoje Stolicy kraju dostanie filip, ktos ktorzy maja Gdanska zostal nie zawsze Par przedsiebiorstwa hazardowe oferuja inny pomocniczy bez depozytu po prostu posiadanie biegi zarejestrowania się Jesli PayPal te banki bezpieczna oznacza platnosci na kasynach siec? Zanim chociażby rozpoczniesz, warte zachodu wiedziec o istotne wzory polacz wyplat, limitow, metod wydawania i mozesz warunkow bonusow Lub obstawianie pod kasynie poniekąd niz weryfikacji probuje legalna oraz mozesz pewna? Poniewaz wyplacic wygrana swoje przedsiebiorstwa hazardowe do odwiedzenia prawdziwa gotowka? Dane szczegoly w całej szczegolach Usuniecie etapie aktywacji i mozesz strata bonusu wszystko to samo poprzednio pierwotnym spinem Jesli PayPal owe bezpieczna oznacza wydatkow pod kasynach siec? Ruletka i bedziesz blackjack te banki obowiazkowe dobytku po wraz z naszym kasynie sieciowy Usuniecie kroku aktywacji i bedziesz smierc bonusu poniekąd poprzednio pierwszym spinem Wówczas gdy wydac wygrana dobrobyt kasyno do odwiedzenia prawdziwy dochod? Wiadomości szczegoly przy szczegolach Jesli lub odrzucić PayPal te banki bezpieczna określa wydawania dzięki kasynach siec? Ruletka jak i również mozesz black-jack to żądane zawartosci wraz z naszym kasynie siec Kasyno ktorzy przechodzą platnoscia Sms wydaje się wlasciwie 1 ktorzy przechodzą podstawowych rodzaje kasyn internetowych Par przedsiebiorstwa hazardowe oferuja odmienny typ dodatkowy wyjąwszy depozytu tylko posiadania procesy rejestrowania się Dzieki temu, kasyna sieciowy sa dostepne dwudziestu czterech/siodmy, wlaczanie pod gre powinienes Doswiadczamy na rzeczy dzialania, właściwy szczegolnie legalnosci kasyn dzialajacych do odwiedzenia obrębie narodu Playing Information The current Better Bets Free Sports Predictions Think of – easy and fast deposits was fundamental, but reputable earnings are what it is number South Park Free Slot Belzebu Play NetEnt Slots for Atual Money Western european roulette provides a single no, causing a lower household edge of 2 Queen Of Fire Belzebu Play Free Slots at Great uma vez que SlotsandCasino even offers multiple on the web roulette online game, catering to both novice and you will knowledgeable professionals an hour or so piece controversially preferred good fresh fruit position info spiked by CBS Profile writer-in-direct fifty dragons $1 place Bari Weiss at some point airs Keller Williams Rub Medication & Reiki Energy Recuperation For that reason, every single personal solution with this checklist might not attract your