Title: Display more errors from mailster
Last modified: November 9, 2024

---

# Display more errors from mailster

 *  [xiaoxian666](https://wordpress.org/support/users/xiaoxian666/)
 * (@xiaoxian666)
 * [1 year, 5 months ago](https://wordpress.org/support/topic/display-more-errors-from-mailster/)
 * Hi, I improved the **validate** and **add_subscriber** function in **classes/
   contactform.class.php** to allow contact from7 to **display more errors from 
   mailster** instead of just error messages for duplicate subscribers.
 *     ```wp-block-code
       	public function validate( $result, $tags ) {		if ( ! $result->is_valid() ) {			return $result;		}		if ( ! function_exists( 'mailster' ) ) {			return $result;		}		$submission = WPCF7_Submission::get_instance();		if ( ! $submission || ! $posted_data = $submission->get_posted_data() ) {			return $result;		}		$form = WPCF7_ContactForm::get_current();		$properties = $form->get_properties();		// no Mailster settings		if ( ! isset( $properties['mailster'] ) ) {			return $result;		}		$properties = $properties['mailster'];		// not enabled		if ( ! $properties['enabled'] ) {			return $result;		}		// checkbox defined but not checked		if ( isset( $properties['checkbox'] ) && $properties['checkbox'] && empty( $posted_data[ $properties['checkboxfield'] ][0] ) ) {			return $result;		}		$this->userdata = array();		$tag_keys       = array_flip( array_filter( wp_list_pluck( $tags, 'name' ) ) );		foreach ( $properties['fields'] as $field => $tag ) {			$this->userdata[ $field ] = is_array( $posted_data[ $tag ] ) ? $posted_data[ $tag ][0] : $posted_data[ $tag ];		}		$this->userdata['status'] = $properties['doubleoptin'] ? 0 : 1;		if ( isset( $properties['gdpr_timestamp'] ) && $properties['gdpr_timestamp'] ) {			$this->userdata['gdpr'] = time();		}		$this->userdata = apply_filters( 'mailster_verify_subscriber', $this->userdata );		if ( is_wp_error( $this->userdata ) ) {			$result->invalidate( $tags[ $tag_keys[ $properties['fields'][ $this->userdata->get_error_code() ] ] ], $this->userdata->get_error_message() );			return $result;		}		$overwrite = $properties['overwrite'];				if ( ! $overwrite && mailster( 'subscribers' )->get_by_mail( $this->userdata['email'] ) ) {			$error_message = isset( $properties['error_message'] ) ? $properties['error_message'] : __( 'You are already registered!', 'mailster-cf7' );			$result->invalidate( $tags[ $tag_keys[ $properties['fields']['email'] ] ], $error_message );			return $result;		}		//new add+		$add_message= $this->add_subscriber(null);		if(!empty($add_message)) {			$result->invalidate( $tags[ $tag_keys[ $properties['fields']['email'] ] ], $add_message );			return $result;	    }//		add_action( 'wpcf7_mail_sent', array( $this, 'add_subscriber' ) );		return $result;	}	/**	 *	 *	 * @param unknown $contact_form	 */	public function add_subscriber( $contact_form ) {		$form = WPCF7_ContactForm::get_current();		$properties = $form->get_properties();		$properties = $properties['mailster'];		$list_ids  = isset( $properties['lists'] ) ? (array) $properties['lists'] : null;		$overwrite = 1 == $properties['overwrite'];		$merge     = 3 == $properties['overwrite'];		// add subscriber		$subscriber_id = mailster( 'subscribers' )->add( $this->userdata, $overwrite || $merge, $merge );		// no error		if ( ! is_wp_error( $subscriber_id ) && $list_ids ) {			mailster( 'subscribers' )->assign_lists( $subscriber_id, $list_ids );			return '';		}else {			return $subscriber_id->get_error_message();		}	}
       ```
   

Viewing 1 replies (of 1 total)

 *  Plugin Author [EverPress](https://wordpress.org/support/users/everpress/)
 * (@everpress)
 * [1 year, 5 months ago](https://wordpress.org/support/topic/display-more-errors-from-mailster/#post-18126985)
 * Hi There!
 * Thanks for your effort. Can you open a pull request on our github here so we 
   can take a look into this: [https://github.com/everpress-co/mailster-contact-form-7](https://github.com/everpress-co/mailster-contact-form-7)
 * Thanks!

Viewing 1 replies (of 1 total)

The topic ‘Display more errors from mailster’ is closed to new replies.

 * ![](https://ps.w.org/mailster-contact-form-7/assets/icon-256x256.png?rev=3388753)
 * [Mailster Contact Form 7](https://wordpress.org/plugins/mailster-contact-form-7/)
 * [Support Threads](https://wordpress.org/support/plugin/mailster-contact-form-7/)
 * [Active Topics](https://wordpress.org/support/plugin/mailster-contact-form-7/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/mailster-contact-form-7/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/mailster-contact-form-7/reviews/)

 * 1 reply
 * 2 participants
 * Last reply from: [EverPress](https://wordpress.org/support/users/everpress/)
 * Last activity: [1 year, 5 months ago](https://wordpress.org/support/topic/display-more-errors-from-mailster/#post-18126985)