Current File : /home/inlingua/www/decay_sym/root/var/softaculous/apps/sa/themes/enduser/spam_assassin_theme.php
<?php

//////////////////////////////////////////////////////////////
//===========================================================
// WEBUZO CONTROL PANEL
// Inspired by the DESIRE to be the BEST OF ALL
// ----------------------------------------------------------
// Started by: Pulkit
// Date:       10th Jan 2009
// Time:       21:00 hrs
// Site:       https://webuzo.com/ (WEBUZO)
// ----------------------------------------------------------
// Please Read the Terms of Use at https://webuzo.com/terms
// ----------------------------------------------------------
//===========================================================
// (c) Softaculous Ltd.
//===========================================================
//////////////////////////////////////////////////////////////

if(!defined('SOFTACULOUS')){
	die('Hacking Attempt');
}
	
function spam_assassin_theme(){
	
	global $user, $globals, $l, $theme, $softpanel, $WE, $done, $error, $type, $user_spam_email_ids;
	
	if(!empty(optREQ('ajaxup'))){
		show_table(optREQ('type'));
		return true;
	}
	
	$sa_status = !empty($user_spam_email_ids['status']) ? 1 : 0 ;
	$sa_spaminbox = !empty($user_spam_email_ids['spam_inbox']) ? 1 : 0;
	$sa_deletespamscore = !empty($user_spam_email_ids['delete_spam_score']) ? $user_spam_email_ids['delete_spam_score']/10 : 0;
	$sa_required_score = !empty($user_spam_email_ids['required_score']) ? $user_spam_email_ids['required_score'] : 5;
	
	echo '
<div class="card soft-card p-4 col-12 mx-auto">
	<div class="sai_main_head mb-4">
		<img src="'.SA_ASSETS.'spamassassin.png" alt="" class="webu_head_img me-2"/>
		<h5 class="d-inline-block">'.__('Spam Assassin').'</h5>
		<button type="button" class="flat-butt float-end" data-bs-toggle="modal" data-bs-target="#add-whitelist">'.__('Add Whitelist').'</button>
		<button type="button" class="flat-butt float-end mx-3" data-bs-toggle="modal" data-bs-target="#add-blacklist">'.__('Add Blacklist').'</button>
	</div>';
	
	$wms_arr = loaddata($globals['var_conf'].'/exim/exim.json');
	
	if(empty($wms_arr['sa']['force_enable_spamassassin'])){
	
		echo '
	<div class="alert alert-'.(!empty($sa_status) ? "success" : "danger" ).' p-2">
		<label class="me-3">
			<i class="fas fa-info-circle me-2"></i>'.__('Spam Assassin is currently $0.', [!empty($sa_status) ? __('Enable') : __('Disable')]).'
			<input type="button" class="btn btn-primary" data-enable_disable_sa="1" data-status="'.$sa_status.'" value="'.(empty($sa_status) ? __('Enable') : __('Disable')).'" onclick="togglesa(this)">
		</label>
	</div>';
	
	}
	
	echo '
	<div class="modal fade" id="add-blacklist" tabindex="-1" aria-labelledby="add-blacklist" aria-hidden="true">
		<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
			<div class="modal-content">
				<div class="modal-header">
					<h5 class="modal-title">'.$l['sa_bl_add'].'</h5>
					<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
				</div>
				<div class="modal-body p-4">
					<form accept-charset="'.$globals['charset'].'" action="" method="post" name="blacklist_form" id="b_f_add" class="form-horizontal" onsubmit="return submitit(this)">
						<input type="hidden" name="sa_status" value="'.$sa_status.'">
						<label for="path" class="form-label">'.$l['email_id'].'</label>
						<span class="sai_exp2 d-block">'.$l['email_format'].'</span>
						<span class="sai_exp2 d-block">
							<b>'.$l['single'].'</b>:
							<span> user@domain.com</span><br>
							<b>'.$l['multiple'].'</b>:
							<span> user1@domain1.com, user2@domain2.com</span><br>
							<b>'.$l['blacklist_domain'].'</b>:
							<span> *@domain.com</span><br>
						</span>
						<input type="text" id="b_email_id" name="email_id" class="form-control mb-3" value="" />
						<input type="hidden" name="type" value="blacklist" />
						<center>	
							<input type="submit" class="flat-butt me-2" value="'.$l['add_email'].'" name="add_email" id="submitblacklist" />
						</center>
					</form>
				</div>
			</div>
		</div>
	</div>
	<div class="modal fade" id="add-whitelist" tabindex="-1" aria-labelledby="add-whitelist" aria-hidden="true">
		<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
			<div class="modal-content">
				<div class="modal-header">
					<h5 class="modal-title">'.$l['sa_wl_add'].'</h5>
					<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
				</div>
				<div class="modal-body p-4">
					<form accept-charset="'.$globals['charset'].'" action="" method="post" name="whitelist_form" id="w_f_add"  class="form-horizontal" onsubmit="return submitit(this)">
						<label for="path" class="form-label">'.$l['email_id'].'</label>
						<span class="sai_exp2 d-block">'.$l['email_format'].'</span>
						<span class="sai_exp2 d-block">'.$l['i_span'].'</span>
						<span class="sai_exp2 d-block">
							<b>'.$l['single'].'</b>:
							<span> user@domain.com</span><br>
							<b>'.$l['multiple'].'</b>:
							<span> user1@domain1.com, user2@domain2.com</span><br>
							<b>'.$l['whitelist_domain'].'</b>:
							<span> *@domain.com</span><br>
						</span>
						<input type="text" id="w_email_id" name="email_id" class="form-control mb-3" value="" />
						<input type="hidden" name="type" value="whitelist" />
						<center>	
							<input type="submit" class="flat-butt me-2" value="'.$l['add_email'].'" name="add_email" id="submitwhiteist"/>
						</center>
					</form>
				</div>
			</div>
		</div>
	</div>';

	if(!empty($sa_status)){
		echo '
	<div class="pt-2 mb-4">
		<form method="POST" accept-charset="'.$globals['charset'].'" id="spamform" name="spamform" action="" data-donereload="1" onsubmit="return submitit(this)">
			<label>
				'.__('Spam Threshold Score (Required Score)').'
				<input type="text" class="form-control" value="'.$sa_required_score.'" id="required_score" name="required_score">
			</label>
			<input type="submit" name="submit_required_score" id="submit_required_score" value="Submit" class="btn btn-primary">
		</form>
	</div>
	<div class="pt-2 mb-2">
		<label class="switch">
			<input type="checkbox" class="checkbox" data-donereload="1"
			data-action="'.((!empty($sa_spaminbox)) ? '0' : '1').'" '.(!empty($sa_spaminbox) ? 'checked' : '').' data-spam_inbox=1 onclick="return enable_disable_toggle(this)">
			<span class="slider"></span>
		</label>
		'.__('Move New Spam to a Separate Folder (Spam Box)').'
	</div>
	<div class="pt-2 mb-2">
		<label class="switch">
			<input type="checkbox" class="checkbox" data-donereload="1" value="'.$key.'" 
			data-action="'.((!empty($sa_deletespamscore)) ? '0' : '1').'" '.(!empty($sa_deletespamscore) ? 'checked' : '').' data-delete_spam_score=1 onclick="return enable_disable_toggle(this)">
			<span class="slider"></span>
		</label>
		'.__('Automatically Delete New Spam (Auto-Delete)').'
	</div>';
	if(!empty($sa_deletespamscore)){
		echo '
		<div class="pt-2 mb-4">
			<form method="POST" accept-charset="'.$globals['charset'].'" id="spamscoreform" name="spamscoreform" action="" data-donereload="1" onsubmit="return submitit(this)">
			<label>
				'.__('Max Spamscore to automatically delete spam').'
				<input type="text" class="form-control" value="'.$sa_deletespamscore.'" id="spam_score" name="spam_score">
			</label>
			<input type="submit" name="submitscore" id="submitscore" value="Submit" class="btn btn-primary">
			</form>
		</div>
		';
	}
	}
	
	
	echo '
	<!--tabs started -->
	<ul class="nav nav-pills mb-3" role="tablist">
		<li class="nav-item" role="presentation">
			<button class="nav-link heading_a active" id="blacklist_add" data-bs-toggle="tab" data-bs-target="#blacklist" type="button" role="tab" aria-controls="blacklist" aria-selected="true">'.__('Black List').'</button>
		</li>
		<li class="nav-item" role="presentation">
			<button class="nav-link heading_a" id="whitelist_add" data-bs-toggle="tab" data-bs-target="#whitelist" type="button" role="tab" aria-controls="whitelist" aria-selected="true">'.__('White List').'</button>
		</li>
	</ul>
	<div class="tab-content" id="pills-tabContent">
		<div class="tab-pane fade show active" id="blacklist" role="tabpanel" aria-labelledby="blacklist_add">
			<div id="rec_blacklist" class="table-responsive">';
			show_table('blacklist');
		echo '
			</div>
		</div>
		<div class="tab-pane fade show" id="whitelist" role="tabpanel" aria-labelledby="whitelist_add">
			<div id="rec_whitelist" class="table-responsive">';
			show_table('whitelist');
		echo '
			</div>
		</div>
	</div>
</div>
<script>

function refresh_table(type){
	$(".loading").show();
	$.ajax({
		type: "POST",				
		url: window.location+"&nohf=1&ajaxup=1&type="+type,
		success: function(data){
			// console.log("#rec_"+type, data);
			$("#rec_"+type).html(data);
			$(".loading").hide();
		}													  
	});	
}

// Reload the data on add
$("#b_f_add").on( "done", function(){
	refresh_table("blacklist");
	var someTabTriggerEl = document.querySelector("#blacklist_add");
	var tab = new bootstrap.Tab(someTabTriggerEl)

	tab.show();
});

$("#w_f_add").on( "done", function(){
	refresh_table("whitelist");
	var someTabTriggerEl = document.querySelector("#whitelist_add");
	var tab = new bootstrap.Tab(someTabTriggerEl)

	tab.show();
});

'.js_lang_export(['sa_confrmmsg']).'

function togglesa(ele){
	
	var jEle = $(ele);
	var d = jEle.data();
	d.action = (d.status === 1 ? "disable" : "enable");
	
	l.sa_confrmmsg = l.sa_confrmmsg+" "+d.action+" Spam Assassin";
	var a = show_message_r(l.warning, l.sa_confrmmsg);
	a.alert = "alert-warning";
	
	a.confirm.push(function(){
		submitit(d, {
			// sm_done_onclose:function(){
				// console.log("hii");
			// },
			done_reload: window.location.toString()
		});
	});
	
	show_message(a);
}

function enable_disable_toggle(ele){
	var jEle = $(ele);
	var d = jEle.data();
	var a, lan;
	lan = "'.__('Are you sure you want to perform this action?').'";
	
	a = show_message_r(l.warning, lan);
	a.alert = "alert-warning";
	
	var no = function(){
		var status = d.action == 1 ? false : true;
		jEle.prop("checked", status);
	}
	
	// Submit the data
	a.confirm.push(function(){
		submitit(d, {done_reload : window.location.href});
	});
	
	// If user closes or chooses no
	a.no.push(no);
	a.onclose.push(no);
	
	//console.log(a);//return;
	show_message(a);
}

</script>';
	
}
	
function show_table($email_type){
		
	global $user, $globals, $l, $theme, $softpanel, $WE, $done, $error, $user_spam_email_ids;
	
	echo '
<table class="table align-middle table-nowrap mb-0 webuzo-table">
	<thead class="sai_head2" style="background-color: #EFEFEF;">
		<tr>
			<th class="align-middle">'.$l['email_id'].'</th>
			<th class="align-middle">'.$l['sa_option'].'</th>
		</tr>
	</thead>
	<tbody id="'.$email_type.'_table">';
							
	if(empty($user_spam_email_ids['list'][$email_type])){
		
		echo '
		<tr>
			<td class="text-center" colspan=2><span>'.$l['no_email_'.$email_type].'</span></td>
		</tr>';
		
	}else{
		
		foreach($user_spam_email_ids['list'][$email_type] as $key => $value){
			
			echo '
		<tr id="tr'.$email_type.'-'.$key.'">
			<td>'.$value.'</td>
			<td width="2%" align="right"><i class="fas fa-trash delete delete-icon" title="'.$l['delete'].'" id="did'.$email_type.'-'.$key.'" onclick="delete_record(this)" data-delete="'.$value.'" data-type="'.$email_type.'" ></i></td>
		</tr>';
		
		}
	}
			
		echo '
	</tbody>
</table>';
	
}
	
?>