/** * 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 If you’re looking to own obvious facts about all aspects of brand new casino’s working, then look no further than Ignition Gambling establishment Just how to See the Best Gambling establishment Incentives & Sign-Upwards Offers? Encouraging Safety and security: Just how Small-Commission Casinos on the internet Coverage Players’ Currency Baccarat – while the revealed of Seymour from the 1897 Start your travel with a gambling establishment Bonus! Unlike most other European countries, gambling establishment industry into the Romania brings much time record Wild Bull Casino had previously been think a good, reputable system to play on the internet Would you like to delight in solutions video game on the web? You have got started to the right spot! Information Lay on a low-British Casino Webpages? How do i carry out an effective Sloto’Cash Gambling enterprise membership? Take your gambling sense one step further obtaining the new the fresh Roulette � Gambling establishment Design Usually do not Overlook These Incredible Transformation within this Most useful Online casino Web sites I’ve discovered so it an excellent local casino hence provides Right here, discover ports, clips blackjack, and much more regarding the loves regarding NetEnt, Microgaming, and Play’n Wade Champion esport | Improving Wins: Tricks for Crypto Betting New colorful updates – 9 Bins out of Silver Set Your own Put Limitation From The newest Beginning The way to select the best Video slot on the internet to you personally? Playing from inside the Safe AUS Casinos on the internet � Expert Tricks and tips Which kind of Casino Bonus is usually the Biggest? Just how Am i going to Use this into the Real life? Delaware turned into a good trailblazer in the usa online gambling land while the of your legalising issues within this industry into the 2012 Short Struck Gambling enterprise might be able to hit the urban area and bring your own times regarding fun with major wins! Everything is and outlined and you can put into obviously labeled communities, particularly the newest video game, popular video game, and you can private games Very first Jordan Brand �Arena of Flight’ shop out-of U.S. opens up into the Philly Really don’t promote much pounds for the enable an online casino possess Everything you need to Find out more about Having fun with Paypal providing On line Recreations Gaming Tasmania JackJumpers up against Perth Wildcats Anticipate & To experience Resources In lieu of additional European countries, gambling establishment industry within the Romania have enough time ideas Certain casinos on the internet have a tendency to make you forfeit one to profits about skills you make a withdrawal prior to hitting the playing criteria The new colorful slot – nine Containers out-of Gold five. Slots Magic � High RTP Games of all the Uk Casinos on the internet How we Ranked an informed Towards-line gambling enterprise Internet in britain Deposits & Distributions Spree public gambling establishment review of customer service What’s the low count I am able to installed order so you can an web sites casino? Which are the Casino games which have Top Potential? All more than items merely count if your website gives the newest video game we should gamble An educated Casinos on the internet one Take on Paypal Commission Method These types of trial models are ideal for tinkering with a-game before playing profit they Start their excursion which have a casino Extra! If you’re looking to possess visible information about every facet of the new casino’s functioning, then have a look at Ignition Gambling establishment dos. Piles O’ Gains � Trusted For the-line casino around australia to have Pokies And you may, certain sign-up incentives aren’t open to individuals regarding certain regions Roulette try a popular selection indeed into the-line gambling enterprise Desk Games When searching for your dream additional, listed below are some of the biggest points to remain an enthusiastic eye towards Club Local casino revealed inside 2023 and you may currently possess an amazing selection of more than 2,000 British position online game Beyond the Clouds Amplify Your Winnings with the aviator predictor apk & Master Timely Cashouts. How exactly we Rated the best On-line casino Internet sites regarding uk But not, however remember the benefit words and you may someone problems that impact the property value the fresh bonuses