user_id = $order->get( 'user_id' ); $this->post_id = $order->get( 'id' ); $this->send(); } /** * Takes a subscriber type (student, author, etc) and retrieves a User ID * * @since 3.10.0 * * @param string $subscriber Subscriber type string. * @return int|false */ protected function get_subscriber( $subscriber ) { switch ( $subscriber ) { case 'author': $order = llms_get_post( $this->post_id ); if ( ! is_a( $order, 'LLMS_Order' ) ) { return false; } $product = $order->get_product(); if ( is_a( $product, 'WP_Post' ) ) { return false; } $uid = $product->get( 'author' ); break; case 'student': $uid = $this->user_id; break; default: $uid = false; } return $uid; } /** * Get the translatable title for the notification * * Used on settings screens. * * @since 3.10.0 * * @return string */ public function get_title() { return __( 'Payment Retry Scheduled', 'lifterlms' ); } /** * Setup the subscriber options for the notification * * @since 3.10.0 * * @param string $type Notification type id. * @return array */ protected function set_subscriber_options( $type ) { $options = array(); switch ( $type ) { case 'basic': $options[] = $this->get_subscriber_option_array( 'student', 'yes' ); break; case 'email': $options[] = $this->get_subscriber_option_array( 'author', 'no' ); $options[] = $this->get_subscriber_option_array( 'student', 'yes' ); $options[] = $this->get_subscriber_option_array( 'custom', 'no' ); break; } return $options; } } return LLMS_Notification_Controller_Payment_Retry::instance();