/** * 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 Why Ignition Is considered the most Top On-line casino to possess Safety If you are searching getting obvious details about all the factors of your most recent casino’s doing work, next look at Ignition Local casino Data of one’s Best 5 Sites into the Most useful On the internet gambling establishment Bonuses How we Prefer Online casinos because the Safe for Au Professionals? Baccarat – because the told me regarding Seymour within the 1897 It Bitcoin gambling establishment brings with regards to punctual cashouts, with lots of crypto withdrawals produced in mere minutes! 2. Heaps O’ Wins � Safest With the-line local casino in australia which have Pokies Exactly how we Choose Casinos on the internet be Not harmful to Bien au Experts? Kelly Gulliver will bring seen a move in the way many readers provides become affected by “scambling” previously season As to why Ignition Is considered the most Leading Online casino taking Security Kelly Gulliver has seen a shift in the way of a great package website subscribers will bring end up being impacted by “scambling” prior to now year Our very own Needed Safer Web based casinos Having 2025 Roulette are well-known solutions certainly online casino Dining table Game Courtroom Belongings having Online gambling in australia These demo products are including good for tinkering with a game before to relax and play cash involved If you are searching to have clear facts about all aspects of fresh casino’s working, upcoming take a look at Ignition Casino To experience inside Secure AUS Web based casinos � Professional Tips and tricks dos. Stacks O’ Victories � Most secure Online casino around australia taking Pokies Right here, you’ll find slots, video black-jack, and more regarding the desires from NetEnt, Microgaming, and Play’n Wade Kelly Gulliver enjoys viewed a change in the manner out of a beneficial lot clients might have been influenced by “scambling” previously seasons The Demanded Safe Casinos on the internet To have 2025 Significance of Certification When deciding on a secure On the-range casino Below Italian code betting rules, pages during the courtroom web based casinos is actually on mercy of 30 days-to-few days set maximum out-of �one,100 All of our Necessary Safer Online casinos To have 2025 Just how Canadian Public Cover Operate Protection On the web Gamblers From the SafeCanada, we work with taking Canadian users truthful, detail by detail recommendations regarding secure web based casinos Roulette are a well known alternatives among online casino Restaurants desk Games Right here, you can find harbors, clips black-jack, and on enjoys off NetEnt, Microgaming, and you can Play’n Wade In this SafeCanada, we perform giving Canadian profiles polite, intricate studies from safer casinos on the internet Most readily useful 5 Respected Online gambling Websites in america � Opposed Here, there’s slots, clips black-jack, as well as on likes off NetEnt, Microgaming, and you may Play’n Go Kelly Gulliver enjoys seen a relocate just how many website readers brings feel determined by “scambling” before year Right here, you will find ports, films black-jack, and a lot more into the likes out-of NetEnt, Microgaming, and you can Play’n Wade How can i Prefer a safe Internet casino in australia? To play within Secure AUS Casinos on the internet � Professional Tips and tricks Kelly Gulliver features seen a shift in the manner of several professionals provides been affected by “scambling” in the past season Baccarat – once the revealed on Seymour to the 1897 To play throughout the Safe AUS Web based casinos � Elite group Tricks and tips Roulette is actually well-known possibilities among with the-line casino Dining table Video game Our very own Called for Secure Casinos on the internet Having 2025 Best 5 Easiest Online gambling Web sites in america � Compared How to For example a safe On-line casino around australia? Greatest 5 Easiest Online gambling Internet in the us � Compared Legal Landscape getting Online gambling around australia Here, there can be slots, clips black-jack, as well as concerning your have regarding NetEnt, Microgaming, and you will Play’n Wade Such trial models are useful to have experimenting with an excellent-online game prior to betting actual cash involved As to the reasons Ignition Is the most Top Online casino which have Safeguards Most useful 5 Easiest Gambling on line Internet in the usa � Compared How Canadian Personal Safeguards Work Would Online Gamblers Home