<?php
ob_start();
$value = '';
if (!empty($_POST) && !empty($_POST['domain']) && !empty($_POST['tester']) && !empty($_POST['test_it'])) {
	
$domain = sanitize_text_field($_POST['domain']);

$emailValidationResult = CMEB_Validate::validateEmail( $domain );

if ( !empty( $emailValidationResult ) ) {
	
	$result = false;
	$value = $domain;
	$reason = $emailValidationResult;
	
} else {
		
	$domain_array = explode('@', $domain);
	if(count($domain_array) !== 1) {
		$domain = $domain_array[1];
	}
	$regex = '/^ (?: [a-z0-9] (?:[a-z0-9\-]* [a-z0-9])? \. )*  #Subdomains
   [a-z0-9] (?:[a-z0-9\-]* [a-z0-9])?            #Domain
   \. [a-z]{2,6} $                               #Top-level domain
/ix';
	if (!preg_match($regex, trim(strtolower($domain)))) {
				
		include_once CMEB_PATH . '/lib/models/Validate.php';
		$validator = new CMEB_Validate();
		$result = $validator->isValidIP( $domain );
		$value = $domain;
		if (empty($result)) {
			$reason = CMEB_Settings::getOption( CMEB_Settings::OPTION_IP_BECAUSE_BLACK );
		} else {
			$reason = '';
		}
		
	} else {
		
		include_once CMEB_PATH . '/lib/models/Validate.php';
		$validator = new CMEB_Validate();
		$result = $validator->isValid( $domain );
		$value = $domain;
		if (empty($result)) {
			$reason = CMEB_Settings::getOption( CMEB_Settings::OPTION_BECAUSE_WHITE );
		} else {
			$reason = '';
		}
		
	}
	
	if(isset($_POST['domain']) && $_POST['domain'] != '') {
		$domain = $_POST['domain'];
		$value = $_POST['domain'];
	}
}
	
}
?>
<div class="clear">
	<h3>Tester</h3>
	<?php if(isset($result)): ?>
		<div>
			The result for <strong><?php echo strip_tags( $domain ); ?></strong> is:
			<strong><?php echo $result == true ? '<font color="green">VALID</font>' : '<font color="red">INVALID</font>'; ?></strong>
			<?php
			if(!empty($reason)) {
				?>
				<p><span>Reason: </span><span><?php echo $reason; ?></span></p>
				<?php
			} else {
				?>
				<p>&nbsp;</p>
				<?php
			}
			?>
		</div>
	<?php endif; ?>
	Type a Domain/Email/IP and check what is the result for it:
	<input type="hidden" name ='test_it' value="1" />
	<input type="text" name="domain" placeholder="" style="text-transform:lowercase" value="<?php echo esc_attr( $value ) ?>" />
	<input type="submit" class="button" name="tester" value="Check" />
</div>
<?php
ob_end_flush();
?>