A client of mine wanted to be able to hide popups

A client of mine wanted to be able to hide popups from specific referrers. I (surprisingly) noticed that this isn't by default in the PopUp Pro plugin. So: I added it. Now he can make sure that visitors from his newsletter won't get the "want to receive my newsletter?" popup

Changed the referrer-rule file for it, so it'd be great if it you guys would add it to the plugin so updates won't mess it up

I added this to the init function:

// 'no_referrer' rule.
		$this->add_rule(
			'no_referrer',
			__( 'Not from a specific referrer', PO_LANG ),
			__( 'Hides the PopUp if the user arrived via a specific referrer.', PO_LANG ),
			'',
			15
		);

And these functions too:

/*==============================*\
	==================================
	==                              ==
	==           NO_REFERRER           ==
	==                              ==
	==================================
	\*==============================*/

	/**
	 * Apply the rule-logic to the specified popup
	 *
	 * @since  4.6
	 * @param  mixed $data Rule-data which was saved via the save_() handler.
	 * @return bool Decission to display popup or not.
	 */
	protected function apply_no_referrer( $data ) {
		return ! $this->test_referrer( $data );
	}

	/**
	 * Output the Admin-Form for the active rule.
	 *
	 * @since  4.6
	 * @param  mixed $data Rule-data which was saved via the save_() handler.
	 */
	protected function form_no_referrer( $data ) {
		if ( is_string( $data ) ) { $no_referrer = $data; }
		else if ( is_array( $data ) ) { $no_referrer = implode( "\n", $data ); }
		else { $no_referrer = ''; }
		?>
		<label for="po-rule-data-no_referrer">
			<?php _e( 'Referrers. Can be full URL or a pattern like ".example.com" (one per line):', PO_LANG ); ?>
		</label>
		<textarea name="po_rule_data[no_referrer]" id="po-rule-data-no_referrer" class="block"><?php
			echo esc_attr( $no_referrer );
		?></textarea>
		<?php
	}

	/**
	 * Update and return the $settings array to save the form values.
	 *
	 * @since  4.6
	 * @return mixed Data collection of this rule.
	 */
	protected function save_no_referrer() {
		return explode( "\n", @$_POST['po_rule_data']['no_referrer'] );
	}