/** * 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 Aurora Angel Slot Opinion 2026 Entirely cobber local casino no deposit bonus password 100 percent free Gamble Demo fifty Lions Pokies Review Enjoy fifty Lions Pokie Games 100 percent free Fantastik Salle de jeu 2024: objectif de Penalty Duel Jeu bonus divertissement des français 5 Put Gambling enterprise Websites 2026 Far eastern Handicap Playing- Wagering by SBOBET Croupiers sans aucun Inscription et connexion Roulettino 2026 : Essai Exercé & Comparatif avec Casinos Actually quite easy Payments 47 The brand new No-put Incentive Standards For fifty 100 percent free spins to the genius away from oz Jan 2026 Up-to-date Everyday 100% Sportsbook Indication-up Incentives Over Checklist The center of your own websites Eye Of Horus Beaucoup de Brise-mottes Et Book Of Ra Magic Slot Play pour de l’argent réel De nombreux Agencées Fafafa Slot machine Play 100 percent free Enjoyment & Real money Now within the Canada 2026 Though it works less than a valid Costa Rica licenses, BetPanda comes after a danger-established research means Da, de obicei S -ar putea sa existe o limita de ca?tig asociata care au bonusurile in schimb depunere on cazinouri pe internet Which verification techniques helps in avoiding fraud and you can ensures the fresh gambling establishment complies that have standard anti-money-laundering checks Ranked & Indexed The modern structure will simulate the new gambling establishment experience in your community It is really not an easy task to remain very more information regarding thousands of casinos on the internet fresh Precisely the finest 20 greatest-rated United kingdom gambling establishment internet and Uk Betting Fee-signed up casinos are listed! So it privacy extends to to prevent GamStop, the fresh new UK’s worry about-exemption scheme tied to KYC inspections Check to have licensing details, SSL encoding, and you may reading user reviews prior to signing up The video game suggests provide a different sense out of antique dining table games The game library’s depth and you can top quality satisfy diverse preferences, as the transparent RTP guidance empowers informed decisions This article is always in the newest fine print Regal Panda ghost slider reputation No-put jacks if not greatest double up $1 deposit 2026 wolf silver on the internet cellular A lot more 2026 Well-known Pay from the Cellular telephone choices in the united kingdom is Boku and Payforit Complete with megaways ports, scatter slots and many more! Bringing holidays and frequently reviewing paying designs are simple but really active a method to remain in manage Casinos commonly establish how frequently players need choice owing to an advantage prior to saying earnings Some casinos ounts, but you won’t manage to claim the deal Freebets is your respected lover to possess expert advice and you can a safe, transparent gambling sense Fairy Gate Position Video game Review, 100 percent free Enjoy & Extra Password The latest UKGC enjoys wider energies that come with gaming-relevant advertisements in britain Common Spend by Cellular telephone solutions in the uk is Boku and you can Payforit Assist centersFind an established source of aid in all of our database regarding state betting let centers It certainly is nice to obtain special on-line casino bonuses on your own birthday celebration The customer customer care needs a good 24/7 speak solution lowest I by themselves ensure that you rating UKGC-subscribed gambling establishment websites for protection, prompt profits, bonuses and responsible gaming Normal refurbishments are carried out to compliment the customer experience Discount coupons & Free Revolves 2026 The online game library’s breadth and high quality meet varied choice, whilst the transparent RTP guidance allows told choices Our very own ideal-ranked minimum deposit casinos ability secure, safer gamble from the reduced limits you can Do an account – A lot of have already covered their premium access Alternatives for example totally free revolves and you can short time promotions keep the feel alive It gives people with a wide variety of commission solutions, as well as cryptocurrencies, while offering fast winnings Like, Yeti Gambling enterprise means 10x betting to the free twist earnings And therefore, if you would like liberty and you will smaller sign-upwards, Non-GamStop websites are quicker minimal The video game reveals give a different sort of feel of traditional desk games No-deposit Gambling enterprises No-deposit Gambling enterprises Community forum Home