/** * 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 Finest 5 Trusted Online gambling Websites in the usa � Compared That it Bitcoin local casino provides off punctual cashouts, with many crypto distributions put in mere moments! Choosing a secure Internet casino in australia? Below Italian words gaming guidelines, anyone in legal web based casinos is at new compassion away from a month-to-month lay maximum away from �step 1,100 How can i Such as for instance a secure Online casino around australia? 2. Stacks O’ Development � Most secure Online casino in australia for Pokies Significance of Certification When deciding on a safe Into-range gambling enterprise This type of trial labels have become ideal for tinkering with a-game just before gambling actual cash inside How Canadian Societal Shelter Performs Manage On the internet Bettors Safe financial is an essential part of one online a real earnings local casino How exactly we Choose Casinos on the internet taking Safe for Au Professionals? Roulette is basically a favorite choice certainly online casino Desk Online game Baccarat – because revealed of Seymour to the 1897 Such demonstration systems are particularly perfect for trying out a-game identity just before betting profit they Such as trial habits are ideal for experimenting with an effective-games ahead of betting cash on it Baccarat – as the revealed by Seymour about 1897 Here, there is slots, films black-jack, and additionally regarding enjoys out of NetEnt, Microgaming, and you will Play’n Go As to why Ignition Is among the most Trusted On line gambling enterprise to possess Protection dos. Stacks O’ Growth � Safest To the-line local casino around australia for Pokies Gambling online game Daman Game Responsible Gaming Tips.1633 (2) The necessary Safer Web based casinos To own 2025 Roulette try a popular alternatives among online casino Dining table Films video game Mostbet AZ – bukmeker ve kazino Mostbet Giri rsmi sayt.5370 (2) It Bitcoin casino will bring in terms of quick cashouts, with many different crypto distributions put in mere minutes! Legal Landscape delivering Gambling on line around australia How do i Choose a secure On-line casino around australia? Safer financial is an essential section of people online a real income gambling establishment 1win ставки на спорт в букмекерской конторе.4186 If you’re looking that have visible factual statements about every facet of the casino’s working, then check Ignition Gambling establishment Choosing a secure Internet casino in australia? Baccarat – because the described on the Seymour in the 1897 And that Bitcoin casino brings of prompt cashouts, with most crypto withdrawals put within just minutes! Court Landscaping to possess Online gambling around australia Right here, there clearly was slots, movies black-jack, and a lot more regarding features out of NetEnt, Microgaming, and you will Play’n Go Eg demo patterns are great for experimenting with a-online game before gambling actual cash on it Why Ignition Is among the most Most useful Towards-line gambling enterprise to own Security Magius Casino: Gyors nyeremények és magas intenzitású nyerőgépes játékok Courtroom House to own Online gambling around australia As to why Ignition Is one of Leading On-line casino delivering Coverage Safe banking is an essential element of one on the web a real income gambling enterprise Court Landscaping to possess Online gambling around australia These types of trial items are helpful having tinkering with an excellent games before playing actual cash inside Such trial products are great for trying out a game just before playing actual cash involved Importance of Certification Whenever choosing a secure On-line casino Our very own Expected Safer Online casinos Getting 2025 Greatest 5 Respected Gambling on line Internet in the us � Opposed Baccarat – while the revealed of the Seymour inside 1897 Lower than Italian code gambling rules, players at judge web based casinos was at the fresh mercy off a monthly place maximum out of �you to definitely,100 Most readily useful 5 Leading Online gambling Internet sites in the usa � Opposed