10000, /** * Enables manual dismissal of notifications */ 'dismissible' => true, ); /** * Notification Trigger ID * * @var string */ public $trigger_id = 'achievement_earned'; /** * Setup body content for output * * @since 3.8.0 * * @return string */ protected function set_body() { ob_start(); ?>

{{ACHIEVEMENT_IMAGE}}

{{ACHIEVEMENT_TITLE}}

{{ACHIEVEMENT_CONTENT}}

__( 'Achievement Content', 'lifterlms' ), '{{ACHIEVEMENT_IMAGE}}' => __( 'Achievement Image', 'lifterlms' ), '{{ACHIEVEMENT_IMAGE_URL}}' => __( 'Achievement Image URL', 'lifterlms' ), '{{ACHIEVEMENT_TITLE}}' => __( 'Achievement Title', 'lifterlms' ), '{{STUDENT_NAME}}' => __( 'Student Name', 'lifterlms' ), ); } /** * Replace merge codes with actual values * * @since 3.8.0 * @since 3.8.2 Unknown. * @since 4.7.0 Use `achievement_title` in favor of `title` for the {{ACHIEVEMENT_TITLE}} merge code * * @param string $code The merge code to get merged data for. * @return string */ protected function set_merge_data( $code ) { $achievement = new LLMS_User_Achievement( $this->post ); switch ( $code ) { case '{{ACHIEVEMENT_CONTENT}}': $code = $achievement->get( 'content' ); break; case '{{ACHIEVEMENT_IMAGE}}': $title = $this->set_merge_data( '{{ACHIEVEMENT_TITLE}}' ); $url = $this->set_merge_data( '{{ACHIEVEMENT_IMAGE_URL}}' ); $code = '' . sprintf( _x( '%s Icon', 'Achievement icon alt text', 'lifterlms' ), $title ) . ''; break; case '{{ACHIEVEMENT_IMAGE_URL}}': $code = $achievement->get_image( 'medium', 'achievement_image' ); if ( ! $code ) { $code = apply_filters( 'lifterlms_placeholder_img_src', LLMS()->plugin_url() . '/assets/images/optional_achievement.png' ); } break; case '{{ACHIEVEMENT_TITLE}}': $code = $achievement->get( 'achievement_title' ); break; case '{{STUDENT_NAME}}': $code = $this->is_for_self() ? __( 'you', 'lifterlms' ) : $this->user->get_name(); break; } return $code; } /** * Setup notification subject for output * * @since 3.8.0 * * @return string */ protected function set_subject() { return ''; } /** * Setup notification title for output * * @since 3.8.0 * * @return string */ protected function set_title() { return __( 'You\'ve been awarded an achievement!', 'lifterlms' ); } /** * Define field support for the view * * @since 3.8.0 * * @return array */ protected function set_supported_fields() { return array( 'basic' => array( 'body' => true, 'title' => true, 'icon' => false, ), ); } }