Current File : //etc/sentora/panel/modules/mailboxes/module.zpm |
<style type='text/css'>
.progress {
border: 2px solid #8be45e;
height: 5px;
width: 87px;
margin: 5px auto auto -4px;
}
.progress .prgbar {
background: #289240;
width: <?php echo $dp; ?>%;
position: relative;
height: 5px;
z-index: 999;
}
.helpicon {
display: block;
float: right;
border: 1px solid #ccc;
background-color: #f3f3f3;
padding: 5px 10px;
font-size: 15px;
-webkit-box-shadow: -8px 7px 5px 0px rgba(204,204,204,1);
-moz-box-shadow: -8px 7px 5px 0px rgba(204,204,204,1);
box-shadow: -8px 7px 5px 0px rgba(204,204,204,1);
-webkit-box-shadow: 8px 7px 5px 0px rgba(204,204,204,1);
-moz-box-shadow: 8px 7px 5px 0px rgba(204,204,204,1);
box-shadow: 8px 7px 5px 0px rgba(204,204,204,1);
}
</style>
<script>
$(document).ready(function() {
var names = ['test', 'test123'];
$('#inCreate').click(function() {
var name = $('#inAddress').val();
if (jQuery.inArray(name, names)!='-1') {
alert(name + ' is the restricted username!');
$('#inAddress').val("");
//$('#button').attr('disabled', 'disabled');
}
});
});
</script>
<script>
/*
jQuery document ready.
*/
$(document).ready(function()
{
/*
assigning keyup event to password field
so everytime user type code will execute
*/
if($('#inPassword').val().length ==0){
$('#inCreate').attr('disabled', 'disabled');
}
$('#inPassword').keyup(function()
{
$('#result').html(checkStrength($('#inPassword').val()))
})
/*
checkStrength is function which will do the
main password strength checking for us
*/
function checkStrength(password)
{
//initial strength
var strength = 0
//if the password length is less than 6, return message.
if (password.length < 6) {
$('#result').removeClass();
$('#result').addClass('short');
$('#inCreate').attr('disabled','disabled');
return 'Too short';
}
//length is ok, lets continue.
//if length is 8 characters or more, increase strength value
//if (password.length > 7) strength += 1
//if password contains both lower and uppercase characters, increase strength value
//if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) strength += 1
//if it has numbers and characters, increase strength value
//if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) strength += 1
//if it has one special character, increase strength value
//if (password.match(/([!,%,&,@,#,$,^,*,?,_,~])/)) strength += 1
//if it has two special characters, increase strength value
//if (password.match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/)) strength += 1
if(password.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$@!%&*?])[A-Za-z\d#$@!%&*?]{9,}$/))
strength = 9
//now we have calculated strength value, we can return messages
//if value is less than 2
if (strength <9 )
{
$('#result').removeClass();
$('#result').addClass('weak');
$('#inCreate').attr('disabled','disabled');
return 'Weak'
}
else if (strength >= 9 )
{
$('#result').removeClass();
$('#result').addClass('strong');
// $("#pwdstr").show();
$('#inCreate').removeAttr('disabled');
return 'Strong'
}
else
{
$('#result').removeClass();
$('#result').addClass('strong');
// $("#pwdstr").show();
$('#inCreate').removeAttr('disabled');
return 'Strong'
}
}
});
</script>
<div class="helpicon">
<!--<a href="<@ helpicon @>" target="_blank"><img src="etc/styles/CstyleX-master/images/help.png" Style="vertical-align: middle;" ><b>Video Tutorial<b></a>-->
<a href="<@ helpicon @>" target="_blank"><img src="etc/styles/CstyleX-master/images/help.png" style="float:left;" ><span style="float:left;margin-top:8px;font-weight:bold;" >Video Tutorial</span></a>
</div>
<div class="zmodule_content panel" id="zmodule_header_<@ ModuleName @>">
<div class="panel-heading">
<img src="<@ ModuleIcon @>" width="35" height="35" border="0" alt="<@ ModuleName @>">
<div class="zmodule_title">
<@ ModuleName @>
</div>
<div class="zmodule_desc" id="zmodule_desc_<@ ModuleName @>"><@ ModuleDesc @></div>
</div>
<@ Result @>
<% if isDeleteMailbox %>
<div class="zform_wrapper alert alert-danger">
<h2><: Delete Mailbox :>: <@ EditCurrentMailboxName @> ?</h2>
<p><: Please confirm that you want to delete this mailbox. :></p>
<form action="./?module=mailboxes&action=ConfirmDeleteMailbox" method="post" autocomplete="off" >
<table class="none" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" align="right">
<input type="hidden" name="inDelete" value="<@ EditCurrentMailboxID @>">
<button class="button-loader delete btn btn-danger" type="submit" ><: Delete :></button>
<button class="button-loader btn btn-default" type="button" onclick="window.location.href='./?module=mailboxes';return false;"><: Cancel :></button>
</td>
</tr>
</table>
<@ CSFR_Tag @>
</form>
</div>
<% endif %>
<% if isEditMailbox %>
<div class="zform_wrapper">
<h2><: Edit mailbox :>: <@ EditCurrentMailboxName @></h2>
<form action="./?module=mailboxes&action=UpdateMailbox" method="post" autocomplete="off" >
<input type="hidden" name="flag" id="flag" value="pwd" />
<table class="table table-striped">
<% loop CurrentMailboxList %>
<tr>
<th><: Email Address :>:</th>
<td><& address &></td>
</tr>
<tr>
<th><: Set Password :>:</th>
<td><input type="text" name="inPassword" id="<@ CurrentID @>" /></td>
</tr>
<tr>
<th></th>
<td><span id="result"></span></td>
<td><a href="#" class="link-password" id="generate"><@ GeneratePass @></a></td>
<td></td>
</tr>
<% endloop %>
<tr>
<th><: Enabled :>:</th>
<td><input type="checkbox" name="inEnabled" id="inEnabled" value="1" <& ischeck &> /></td>
</tr>
<tr>
<th>
<button class="button-loader btn btn-primary" type="submit" name="inSave" id="inSave" value="<& id &>"><: Save :></button>
<button class="button-loader btn btn-default" type="button" onclick="window.location.href='./?module=mailboxes';return false;"><: Cancel :></button>
</th>
<td></td>
</tr>
</table>
<@ CSFR_Tag @>
</form>
<% if currentnote %>
<p><b>Note : </b>Characters needed for password length : 9 with atleast 1 uppercase,lowercase,special character,number.<ip>
<% endif %>
</div>
<% endif %>
<% if isquotaEditMailbox %>
<div class="zform_wrapper">
<h2><: Edit mailbox :>: <@ EditCurrentMailboxName @></h2>
<form action="./?module=mailboxes&action=UpdateMailbox" method="post" autocomplete="off" >
<input type="hidden" name="flag" id="flag" value="quota" />
<table class="table table-striped">
<% loop CurrentMailboxList %>
<tr>
<th><: Email Address :>:</th>
<td><& address &></td>
</tr>
<tr>
<th nowrap="nowrap"><: Quota (in MB) :>:</th>
<td><input type="text" name="inQuota" id="inQuota" onkeypress="javascript:return isNumber(event);" value="<& quota &>" maxlength="4" /></td>
</tr>
<% endloop %>
<tr>
<th>
<button class="button-loader btn btn-primary" type="submit" name="inSave" id="inSave" value="<& id &>"><: Save :></button>
<button class="button-loader btn btn-default" type="button" onclick="window.location.href='./?module=mailboxes';return false;"><: Cancel :></button>
</th>
<td></td>
</tr>
</table>
<@ CSFR_Tag @>
</form>
</div>
<% endif %>
<div class="zgrid_wrapper">
<h2><: Current mailboxes :></h2>
<% if MailboxList %>
<table class="table table-striped">
<col width="300px">
<col width="5%">
<col width="15%">
<col width="40%">
<tr>
<th><: Address :></th>
<th><: Status :></th>
<th><: Used/Quota Total(in MB) :></th>
<th></th>
</tr>
<% loop MailboxList %>
<tr>
<form action="./?module=mailboxes&action=EditMailbox" method="post" autocomplete="off" >
<td style="max-width: 250px; display: inline-block; word-wrap: break-word;"><& address &></td>
<td><& status &></td>
<td style="width:70px;"><& used &>/<& quota &><& progress &></td>
<td style="min-width:450px;"><button class="button-loader btn btn-default" type="submit" name="inEdit_<& id &>" id="inEdit_<& id &>" value="inEdit_<& id &>"><: Edit :></button>
<button class="button-loader delete btn btn-danger" type="submit" name="inDelete_<& id &>" id="inDelete_<& id &>" value="inDelete_<& id &>"><: Delete :></button>
<button class="button-loader btn btn-default" type="submit" name="inquotaEdit_<& id &>" id="inquotaEdit_<& id &>" value="inquotaEdit_<& id &>"><: Edit Quota :></button>
<@ CSFR_Tag @>
</form>
<!--form id="rcLogin" name="rcLogin" method="post" action="http://<& ip_address &>:2095?_task=autologin" target="_blank" style="display: contents;"-->
<form id="rcLogin" name="rcLogin" method="post" action="https://vps.obaba.shop:2095?_task=autologin" target="_blank" style="display: contents;">
<input type="hidden" name="_action" value="autologin" />
<input type="hidden" name="_autouser" value="<& address &>" />
<input type="hidden" name="_autopass" value="<& encrypted_pass &>" />
<input type="hidden" name="_encrypt_key" value="<& encrypt_key &>" />
<button class="btn btn-default" type="submit" name="submit" value="" />Access Webmail</button>
</form>
</td>
</tr>
<% endloop %>
</table>
<% else %><!-- ELSE MailboxList -->
<: Sorry there are currently no mailboxes configured! :>
<% endif %><!-- END MailboxList -->
</div>
<% if isCreateMailbox %>
<div class="zgrid_wrapper">
<table class="none" width="100%" cellborder="0" cellspacing="0">
<tr valign="top">
<td>
<h2><: Create a new mailbox :></h2>
<% if QuotaLimit %>
<form action="./?module=mailboxes&action=AddMailbox" method="post" autocomplete="off" id="register" >
<table class="table table-striped">
<tr>
<th nowrap="nowrap"><: Email Address :>:</th>
<td><input type="text" name="inAddress" id="inAddress" maxlength="64"/></td>
<td>
<select name="inDomain" id="inDomain">
<option value="" selected="selected">-- <: Select a domain :> --</option>
<% loop DomainList %>
<option value="<& domain &>">@<& domain &></option>
<% endloop %>
</select>
</td>
</tr>
<tr>
<th nowrap="nowrap"><: Password :>:</th>
<td><input type="text" name="inPassword" id="<@ CurrentID @>" /></td>
<td><span id="result"></span></td>
</tr>
<tr>
<th></th>
<td><span id="result"></span></td>
<td><a href="#" class="link-password" id="generate"><@ GeneratePass @></a></td>
<td></td>
</tr>
<tr>
<th nowrap="nowrap"><: Quota (in MB) :>:</th>
<td><input type="text" name="inQuota" id="inQuota" onkeypress="javascript:return isNumber(event);" maxlength="4" /></td>
<td></td>
</tr>
<tr>
<th></th>
<td><button class="button-loader btn btn-primary" type="submit" name="inCreate" id="inCreate" value="inCreate"><: Create :></button></td>
<td></td>
</tr>
</table>
<@ CSFR_Tag @>
</form>
<% if currentnote %>
<p><b>Note : </b>Characters needed for password length : 9 with atleast 1 uppercase,lowercase,special character,number.</p>
<p><b>Tutorial:</b></p>
<a href="https://www.hostingraja.in/how-tos1/81-emails/354-content" target="_blank">How to configure E-Mail in Outlook ?</a><br/>
<a href="https://www.hostingraja.in/wiki/configuring-e-mail-in-android-phones" target="_blank">How to Configure E-Mail in Android Phones ?</a><br/>
<a href="https://www.hostingraja.in/wiki/setting-up-pop-imap-email-on-an-iphone" target="_blank">How to Configure E-Mail in iPhones ?</a><br/>
<a href="https://www.hostingraja.in/how-tos/81-emails/135-5-how-to-configure-my-email-in-email-clients" target="_blank">How to configure my email in Email clients ?</a><br/>
<% endif %>
<% else %><!-- ELSE QuotaLimit -->
<: Sorry, you have reached your mailbox quota limit! :>
<% endif %><!-- END QuotaLimit -->
</td>
<td align="right"><@ EmailUsagepChart @></td>
</tr>
</table>
</div>
<% endif %>
</div>
<script type="text/javascript">
// WRITE THE VALIDATION SCRIPT IN THE HEAD TAG.
function isNumber(evt) {
/* var iKeyCode = (evt.which) ? evt.which : evt.keyCode
if (iKeyCode != 46 && iKeyCode > 31 && (iKeyCode < 48 || iKeyCode > 57))
return false;
return true;
*/
return ( evt.which!=8 && evt.which!=0 && (evt.which<48 || evt.which>57)) ? false : true ;
}
</script>
<style>
input
{
margin:5px 0;
}
table th, td
{
vertical-align:middle;
}
</style>
<style>
#register .short{
font-weight:bold;
color:#FF0000;
font-size:larger;
}
#register .weak{
font-weight:bold;
color:orange;
font-size:larger;
}
#register .good{
font-weight:bold;
color:#2D98F3;
font-size:larger;
}
#register .strong{
font-weight:bold;
color: limegreen;
font-size:larger;
}
</style>
<script type="text/JavaScript">
$.extend({
password: function (length, special) {
var iteration = 0;
var password = "";
var specials = '!@#$&*';
var lowercase = 'abcdefghijklmnopqrstuvwxyz';
var uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var numbers = '0123456789';
var all = specials + lowercase + uppercase + numbers;
String.prototype.pick = function(min, max) {
var n, chars = '';
if (typeof max === 'undefined') {
n = min;
} else {
n = min + Math.floor(Math.random() * (max - min));
}
for (var i = 0; i < n; i++) {
chars += this.charAt(Math.floor(Math.random() * this.length));
}
return chars;
};
// Credit to @Christoph: http://stackoverflow.com/a/962890/464744
String.prototype.shuffle = function() {
var array = this.split('');
var tmp, current, top = array.length;
if (top) while (--top) {
current = Math.floor(Math.random() * (top + 1));
tmp = array[current];
array[current] = array[top];
array[top] = tmp;
}
return array.join('');
};
var password = (specials.pick(1) + lowercase.pick(1) + uppercase.pick(1) + numbers.pick(1) + all.pick(5)).shuffle();
return password;
}
});
$(document).ready(function() {
});
</script>
<script>
/*
jQuery document ready.
*/
$(document).ready(function()
{
/*
assigning keyup event to password field
so everytime user type code will execute
*/
$('.link-password').click(function(e){
linkId = $(this).attr('id');
if (linkId == 'generate'){
password = $.password(9,false);
$('#inPassword').val(password);
$('#result').html(checkStrength($('#inPassword').val()));
}
e.preventDefault();
});
if($('#inPassword').val().length ==0){
$('#inCreate').attr('disabled', 'disabled');
}
$('#inPassword').keyup(function()
{
$('#result').html(checkStrength($('#inPassword').val()))
})
/*
checkStrength is function which will do the
main password strength checking for us
*/
function checkStrength(password)
{
//initial strength
var strength = 0
//if the password length is less than 6, return message.
if (password.length < 6) {
$('#result').removeClass();
$('#result').addClass('short');
$('#inCreate').attr('disabled','disabled');
return 'Too short';
}
//length is ok, lets continue.
//if length is 8 characters or more, increase strength value
if (password.length > 7) strength += 1
//if password contains both lower and uppercase characters, increase strength value
if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) strength += 1
//if it has numbers and characters, increase strength value
if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) strength += 1
//if it has one special character, increase strength value
if (password.match(/([!,%,&,@,#,$,^,*,?,_,~])/)) strength += 1
//if it has two special characters, increase strength value
if (password.match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/)) strength += 1
//now we have calculated strength value, we can return messages
//if value is less than 2
if (strength <2 )
{
$('#result').removeClass();
$('#result').addClass('weak');
$('#inCreate').attr('disabled','disabled');
return 'Weak'
}
else if (strength == 2 )
{
$('#result').removeClass();
$('#result').addClass('good');
// $("#inCreate").show();
$('#inCreate').removeAttr('disabled');
return 'Good'
}
else
{
$('#result').removeClass();
$('#result').addClass('strong');
// $("#inCreate").show();
$('#inCreate').removeAttr('disabled');
return 'Strong'
}
}
});
</script>