LLMS_Notification_View_Section_Complete
Notification View: Section Complete
Source Source
File: includes/notifications/views/class.llms.notification.view.section.complete.php
class LLMS_Notification_View_Section_Complete extends LLMS_Abstract_Notification_View { /** * Settings for basic notifications * * @var array */ protected $basic_options = array( /** * Time in milliseconds to show a notification * before automatically dismissing it */ 'auto_dismiss' => 10000, /** * Enables manual dismissal of notifications */ 'dismissible' => true, ); /** * Notification Trigger ID * * @var [type] */ public $trigger_id = 'section_complete'; /** * Setup body content for output * * @return string * @since 3.8.0 * @version 3.8.0 */ protected function set_body() { if ( 'email' === $this->notification->get( 'type' ) ) { return sprintf( __( 'Congratulations! %1$s completed %2$s', 'lifterlms' ), '{{STUDENT_NAME}}', '{{SECTION_TITLE}}' ); } return sprintf( __( 'Congratulations! You finished %s', 'lifterlms' ), '{{SECTION_TITLE}}' ); } /** * Setup footer content for output * * @return string * @since 3.8.0 * @version 3.8.0 */ protected function set_footer() { return ''; } /** * Setup notification icon for output * * @return string * @since 3.8.0 * @version 3.8.0 */ protected function set_icon() { return $this->get_icon_default( 'positive' ); } /** * Setup merge codes that can be used with the notification * * @return array * @since 3.8.0 * @version 3.8.0 */ protected function set_merge_codes() { return array( '{{COURSE_PROGRESS}}' => __( 'Course Progress Bar', 'lifterlms' ), '{{COURSE_TITLE}}' => __( 'Course Title', 'lifterlms' ), '{{SECTION_TITLE}}' => __( 'Section Title', 'lifterlms' ), '{{STUDENT_NAME}}' => __( 'Student Name', 'lifterlms' ), ); } /** * Replace merge codes with actual values * * @param string $code the merge code to ge merged data for * @return string * @since 3.8.0 * @version 3.10.1 */ protected function set_merge_data( $code ) { switch ( $code ) { case '{{COURSE_PROGRESS}}': $progress = $this->user->get_progress( $this->post->get( 'parent_course' ), 'course' ); $code = lifterlms_course_progress_bar( $progress, false, false, false ); break; case '{{COURSE_TITLE}}': $course = $this->post->get_course(); if ( $course ) { $code = $course->get( 'title' ); } else { $code = ''; } break; case '{{SECTION_TITLE}}': $code = $this->post->get( 'title' ); break; case '{{STUDENT_NAME}}': $code = $this->is_for_self() ? __( 'you', 'lifterlms' ) : $this->user->get_name(); break; } return $code; } /** * Setup notification subject for output * * @return string * @since 3.8.0 * @version 3.8.0 */ protected function set_subject() { return sprintf( __( 'Congratulations! %1$s completed %2$s', 'lifterlms' ), '{{STUDENT_NAME}}', '{{SECTION_TITLE}}' ); } /** * Setup notification title for output * * @return string * @since 3.8.0 * @version 3.8.0 */ protected function set_title() { return sprintf( __( '%s Completed a Section', 'lifterlms' ), '{{STUDENT_NAME}}' ); } }
Expand full source code Collapse full source code View on GitHub
Methods Methods
- set_body — Setup body content for output
- set_footer — Setup footer content for output
- set_icon — Setup notification icon for output
- set_merge_codes — Setup merge codes that can be used with the notification
- set_merge_data — Replace merge codes with actual values
- set_subject — Setup notification subject for output
- set_title — Setup notification title for output
Changelog Changelog
Version | Description |
---|---|
3.8.0 | |
3.10.1 | Introduced. |