user_id = $user_id; $this->post_id = $certificate_id; $this->related_post_id = $related_post_id; $this->send(); } /** * Takes a subscriber type (student, author, etc) and retrieves a User ID * * @param string $subscriber subscriber type string * @return int|false * @since 3.8.0 * @version 3.8.0 */ protected function get_subscriber( $subscriber ) { switch ( $subscriber ) { case 'student': $uid = $this->user_id; break; default: $uid = false; } return $uid; } /** * Get the translatable title for the notification * used on settings screens * * @return string * @since 3.8.0 * @version 3.8.0 */ public function get_title() { return __( 'Certificate Earned', 'lifterlms' ); } /** * Setup the subscriber options for the notification * * @param string $type notification type id * @return array * @since 3.8.0 * @version 3.8.0 */ protected function set_subscriber_options( $type ) { $options = array(); switch ( $type ) { case 'basic': $options[] = $this->get_subscriber_option_array( 'student', 'yes' ); break; } return $options; } /** * Determine what types are supported * Extending classes can override this function in order to add or remove support * 3rd parties should add support via filter on $this->get_supported_types() * * @return array associative array, keys are the ID/db type, values should be translated display types * @since 3.8.0 * @version 3.8.0 */ protected function set_supported_types() { return array( 'basic' => __( 'Basic', 'lifterlms' ), ); } } return LLMS_Notification_Controller_Certificate_Earned::instance();