Current File : /home/inlingua/www/decay_sym/root/var/softaculous/apps/dovecot/themes/admin/mail_perms_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 mail_perms_theme(){

global $user, $globals, $theme, $langs,$softpanel, $error, $done, $users, $wrmbp_log, $taskID;
	
	echo'
<script language="javascript" type="text/javascript">

$(document).ready(function(){

	$("#allusers").click(function(){
		if($("#allusers").is(":checked")){
			$("#mailperms_users").prop("disabled", true);
			$(".select_users").hide();
		}else{
			$("#mailperms_users").prop("disabled", false);
			$(".select_users").show();
		}		
	});

	// Refresh the log
	refreshInterval = setInterval(refresh_log,3000);
});



function show_log(){
	var selected_users = $("#mailperms_users").prop("disabled") ? "" : $("#mailperms_users").val();
	$.ajax({
		type: "POST",
		dataType: "json",
		url:"'.$globals['index'].'act=mail_perms&api=json&selected_users="+selected_users+"&submit=1",
		success: function(data){
			if("done" in data){
				var d = show_message_r(l.done, \''.__('The repair have been started in the background. Check logs').'\');
				d.alert = "alert-success";
				show_message(d);
				$("#rmbp_a").removeClass("active");
				$("#rmbp").removeClass("in active");				
				$("#rmbplog_a").addClass("active");
				$("#rmbplog").addClass("active show");
			}else{
				var a = show_message_r(l.error,data["error"]);
				a.alert = "alert-danger";
				show_message(a);
			}
		},
		error: function(){
			var d = show_message_r("'.__('Error').'", \''.__('Unable to connect to the server').'\');
			d.alert = "alert-danger";
			show_message(d);
		}
	});
};

var refreshInterval;

// Refresh the log automatically
function refresh_log(){
	
	if($("#lelog").is(":visible")){
		$("#refreshlog").click();
	}	
};			

//get rmbp logs (and clear them if needed)
function get_logs(id){
	$(".loading").show();
	if(id == "clearlog"){
		dataval = "clearlog=1";
	}else{
		dataval = "";
	}
	$.ajax({
		type: "POST",
		url: "'.$globals['index'].'act=mail_perms&api=json",
		data: dataval,
		dataType : "json",
		// checking for error
		success: function(data){
			$(".loading").hide();
			if("done" in data){
				if(id == "clearlog"){
					var d = show_message_r(l.done, "'.__('Logs have been cleared').'");
					d.alert = "alert-success";
					show_message(d);
				}	
				$("#maillog_data").text(data.wrmbp_log);
			}
		},
		error: function(){
			$(".loading").hide();
			var d = show_message_r("'.__('Error').'", \''.__('Unable to connect to the server').'\');
			d.alert = "alert-danger";
			show_message(d);
		}
	});
}

</script>';
	

echo '
<div class="soft-smbox p-3">
	<!-- Heading -->
	<div class="sai_main_head">
		<img src="'.DOVECOT_ASSETS.'repair_mailbox_permissions.png" width="40" height="40"/>&nbsp;'.__('Repair Mailbox Permissions').'
	</div>
</div>
<div class="soft-smbox p-4 mt-4">
	
	<!--- tab start -->
	<ul class="nav nav-tabs mb-3 webuzo-tabs" id="pills-tab" role="tablist" id="tablist">
		<li class="nav-item" role="presentation">
			<button class="nav-link active" id="rmbp_a" data-bs-toggle="tab" data-bs-target="#rmbp" type="button" role="tab">'.__('Repair Mailbox Permissions').'</button>
		</li>
		<li class="nav-item" role="presentation">
			<button class="nav-link" id="rmbplog_a" data-bs-toggle="tab" data-bs-target="#rmbplog" type="button" role="tab" >'.__('Logs').'</button>
		</li>
	</ul>
	<!--- tab end -->
	
	<!--- tab Content start -->
	<div class="tab-content" id="pills-tabContent">
		<div class="tab-pane fade show active" id="rmbp" role="tabpanel" aria-labelledby="rmbp_a">
			<div class="text-center">
				<p>'.__('This function will inspect mailbox ownership and permissions and attempt to fix any issues that may exist.').'</p>
				<input type="checkbox" name="allusers" id="allusers" checked />
				<label class="form-label">'.__('All Users').'</label>
				<div class="select_users" style="display:none">
				<select id="mailperms_users" disabled class="form-select form-select-sm make-select2" style="width:300px;" s2-placeholder="'.__('Select Users').'" s2-ajaxurl="'.$globals['index'].'act=users&api=json" s2-query="search" s2-data-key="users" s2-data-subkey="user" multiple>
				</select>
				</div>
				<div class="mt-3">
					<input type="button" onclick="show_log();" id="submit" name="proceed" value='.__('Proceed').' class="btn btn-primary" />
				</div>
			</div>
		</div>
		<div class="tab-pane fade" id="rmbplog" role="tabpanel" aria-labelledby="rmbplog_a">
			<div class="my-3" nowrap="nowrap">
				<textarea class="form-control overflow-auto" style="width:100%; height:400px; " id="maillog_data" readonly="readonly"; row="10">'.$wrmbp_log.'</textarea>
			
				<div class="text-center m-3" id="lelog">
					<input type="button" onclick="get_logs(this);" id="refreshlog" name="refreshlog" value='.__('Refresh Log').' class="btn btn-primary" />
					<input type="button" onclick="get_logs(this.id);" id="clearlog" name="clearlog" value="'.__('Clear Log').'" class="btn btn-primary" />
				</div>
			</div>	
		</div>
	</div>
	<!--- tab Content end -->
</div>';	
}