/** * 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 On the SafeCanada, i run giving Canadian users respectful, detail by detail analysis from safe web based casinos Right here, discover slots, movies black-jack, and on the fresh new enjoys regarding NetEnt, Microgaming, and you may Play’n Go If you’re looking to own noticeable details about every aspect of your own the new casino’s performing, then look at Ignition Local casino How exactly we Come across Casinos on the internet is not damaging to Au Users? Court Landscaping getting Online gambling in australia Safer banking is a vital section of people on the internet a great actual money local casino In the SafeCanada, i focus on bringing Canadian benefits polite, outlined critiques from safe casinos on the internet Best 5 Safest Online gambling Web sites in the us � Opposed All of our Needed Safe Casinos on the internet To own 2025 Why Ignition Is one of Trusted Online casino having Security As to why Ignition Is the most Finest On-line casino having Protection Exactly how Canadian Individual Protection Qualities Coverage Online Gamblers Contained in this SafeCanada, i work on giving Canadian members honest, detailed critiques from secure casinos on the internet As to the reasons Ignition Is among the most Better On-line casino having Cover Better 5 Trusted Gambling on line Websites in the usa � Compared Kelly Gulliver has observed a move around in how of many members provides come affected by “scambling” in the past season Dependence on Certification When selecting a safe Internet casino Safer banking is a crucial part of 1 on line a real income gambling enterprise Safe financial is a vital part of someone on the internet real bucks gambling enterprise The Needed Secure Casinos on the internet With 2025 How can i Including a secure Online casino around australia? Lower than German gambling guidelines, pages in the courtroom casinos on the internet try at the mercy of a great monthly put restriction from �step 1,000 If you are looking to own obvious details about every element of your own newest casino’s operating, next take a look at Ignition Local casino 2. Piles O’ Progress � Safest Online casino in australia for Pokies They Bitcoin casino brings when it comes to timely cashouts, with many different crypto distributions installed just minutes! Why Ignition Is one of Best On-line casino having Protection Here, you will find harbors, clips black colored-jack, and you will on has actually from NetEnt, Microgaming, and you will Play’n Wade Better 5 Easiest Gambling on line Other sites in america � Opposed Here, there are harbors, movies blackjack, plus regarding have regarding NetEnt, Microgaming, and you will Play’n Go How to Like a safe On-line casino around australia? Right here, there are ports, movies black-jack, and additionally concerning your wants from NetEnt, Microgaming, and you will Play’n Wade Our very own Needed Safer Online casinos To have 2025 Our very own Requisite Safer Web based casinos Getting 2025 And that Bitcoin gambling establishment provides when it comes to prompt cashouts, with a lot of crypto withdrawals lead-in just moments! Roulette is largely prominent choice among on-line casino Dining table Online game Baccarat – as the revealed from the Seymour during the 1897 Lower than Italian words playing statutes, users within legal online casinos try susceptible to a great monthly put limitation out of �one,100000 Exactly how we Choose Online casinos getting Safe for Au Some one? Including demo habits are ideal for tinkering with a game title just before betting cash in it Importance of Certification When deciding on a safe Toward-line casino Most readily useful 5 Top Online gambling Internet sites in america � Opposed How can i Prefer a secure To the-line casino around australia? Requirement for Certification When deciding on a safe Online casino How exactly we Like Online casinos is safe having Bien au People? Exactly how we Discover Web based casinos to-be Not harmful to Bien au Profiles? Finest 5 Safest Gambling on line Internet in the us � Opposed As to why Ignition Is one of Best Online casino providing Coverage So it Bitcoin gambling establishment brings with respect to quick cashouts, with quite a few crypto withdrawals earned simple minutes! Lower than Italian vocabulary gaming regulations, players during the court casinos on the internet has reached the mercy regarding a monthly deposit limitation regarding �step 1,100