/**
* 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();
admin - Redplum Films TV
https://redplumfilms.tv
Fri, 05 Sep 2025 20:19:05 +0000
en-US
hourly
1
https://wordpress.org/?v=6.9.4
https://redplumfilms.tv/wp-content/uploads/2024/09/cropped-Picture1-32x32.png
admin - Redplum Films TV
https://redplumfilms.tv
32
32
-
481947071757103541
https://redplumfilms.tv/481947071757103541-2/
Fri, 05 Sep 2025 20:19:05 +0000
https://redplumfilms.tv/?p=2865
481947071757103541
The post 481947071757103541 first appeared on Redplum Films TV .
]]>
481947071757103541The post 481947071757103541 first appeared on Redplum Films TV .
]]>
-
486813201757100542
https://redplumfilms.tv/486813201757100542-2/
Fri, 05 Sep 2025 19:29:05 +0000
https://redplumfilms.tv/?p=2863
486813201757100542
The post 486813201757100542 first appeared on Redplum Films TV .
]]>
486813201757100542The post 486813201757100542 first appeared on Redplum Films TV .
]]>
-
389152011757095382
https://redplumfilms.tv/389152011757095382-2/
Fri, 05 Sep 2025 18:03:05 +0000
https://redplumfilms.tv/?p=2857
389152011757095382
The post 389152011757095382 first appeared on Redplum Films TV .
]]>
389152011757095382The post 389152011757095382 first appeared on Redplum Films TV .
]]>
-
595084671757094422
https://redplumfilms.tv/595084671757094422-2/
Fri, 05 Sep 2025 17:47:10 +0000
https://redplumfilms.tv/?p=2855
595084671757094422
The post 595084671757094422 first appeared on Redplum Films TV .
]]>
595084671757094422The post 595084671757094422 first appeared on Redplum Films TV .
]]>
-
608161911757093461
https://redplumfilms.tv/608161911757093461-2/
Fri, 05 Sep 2025 17:31:07 +0000
https://redplumfilms.tv/?p=2853
608161911757093461
The post 608161911757093461 first appeared on Redplum Films TV .
]]>
608161911757093461The post 608161911757093461 first appeared on Redplum Films TV .
]]>
-
580262741757091241
https://redplumfilms.tv/580262741757091241-2/
Fri, 05 Sep 2025 16:54:04 +0000
https://redplumfilms.tv/?p=2849
580262741757091241
The post 580262741757091241 first appeared on Redplum Films TV .
]]>
580262741757091241The post 580262741757091241 first appeared on Redplum Films TV .
]]>
-
Hello world!
https://redplumfilms.tv/hello-world/
https://redplumfilms.tv/hello-world/#comments
Fri, 13 Sep 2024 13:37:25 +0000
https://redplumfilms.tv/?p=1
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
The post Hello world! first appeared on Redplum Films TV .
]]>
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!The post Hello world! first appeared on Redplum Films TV .
]]>
https://redplumfilms.tv/hello-world/feed/
1