Current File : //etc/zpanel/panel/modules/manage_clients/module.zpm |
<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>
<style>
.helpicon {
display: block;
float: right;
border: 1px solid #ccc;
background-color: #f3f3f3;
padding: 5px 10px;
font-size: 12px;
margin-top:-121px;
margin-right:5px;
-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>
<div class="helpicon">
<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;font-size:12px;" >Video Tutorial</span></a>
</div>
<@ Result @>
<% if isDeleteClient %>
<div class="zform_wrapper alert alert-danger">
<h2><: Delete :>: <@ EditCurrentName @> ?</h2>
<p><: Please confirm that you want to delete this client. :></p>
<p><b><: WARNING! This will remove all files and services belonging to this client! :></b></p>
<form action="./?module=manage_clients&action=DeleteClient" method="post">
<table class="table table-striped" cellpadding="0" cellspacing="0">
<% if AllClientList %>
<tr>
<th><: Move clients and packages (if any exist) this user has to :>:</th>
<td>
<select name="inMoveClient" id="inMoveClient">
<% loop AllClientList %>
<option value="<& moveclientid &>"><& moveclientname &></option>
<% endloop %>
</select>
</td>
</tr>
<% endif %>
<tr>
<th colspan="2" align="right">
<input type="hidden" name="inDelete" value="<@ EditCurrentID @>">
<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=manage_clients';return false;"><: Cancel :></button>
</th>
</tr>
</table>
<@ CSFR_Tag @>
</form>
</div>
<% endif %>
<% if isSuspendClient %>
<div class="zform_wrapper alert alert-danger">
<h2><: Suspend :>: <@ EditCurrentName @> ?</h2>
<p><: Please confirm that you want to suspend this account. :></p>
<p><b><: WARNING! This will Block all the files and services belonging to this client! :></b></p>
<form action="./?module=manage_clients&action=SuspendAccount" method="post">
<table class="" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2" align="right">
<input type="hidden" name="inSuspend" value="<@ EditCurrentID @>">
<button class="button-loader btn btn-danger" type="submit" ><: Suspend :></button>
<button class="button-loader btn btn-default" type="button" onclick="window.location.href='./?module=manage_clients';return false;"><: Cancel :></button>
</th>
</tr>
</table>
<@ CSFR_Tag @>
</form>
</div>
<% endif %>
<% if isEditClient %>
<div class="zgrid_wrapper">
<h2><: Edit existing client :>: <@ EditCurrentName @></h2>
<form action="./?module=manage_clients&action=UpdateClient" method="post">
<table class="table table-striped" >
<tr>
<th><: Username :>:</th>
<td><input name="inUserName" type="text" disabled="disabled" size="30" maxlength="30" id="inUserName" value="<@ EditCurrentName @>" readonly="readonly" /></td>
</tr>
<tr>
<th><: Package :>:</th>
<td>
<select name="inPackage" id="inPackage">
<% loop CurrentPackageList %>
<option value="<& packageid &>" <& packageselected &>><& packagename &></option>
<% endloop %>
</select>
</td>
</tr>
<tr>
<th><: Email address :>:</th>
<td><input type="text" name="inEmailAddress" id="inEmailAddress" value="<@ EditCurrentEmail @>" /></td>
</tr>
<tr>
<th><: Reset password :>:</th>
<td><input name="inNewPassword" type="password" id="inNewPassword" size="20" /></td>
</tr>
</tr>
<input type="hidden" name="inGroup" id="inGroup" value="3" />
<input type="hidden" name="inFullName" id="inFullName" value="" />
<input type="hidden" name="inAddress" id="inAddress" value="" />
<input type="hidden" name="inPostCode" id="inPostCode" value="" />
<input type="hidden" name="inPhone" id="inPhone" value="" />
<!--<input type="hidden" name="inEnabled" id="inEnabled" value="1" />-->
<tr>
<td>
<% loop CheckEnabledHTML %>
<input type="hidden" name="status" value="<& status &>">
<input type="radio" name="inEnabled" value="1" <& echecked &>/> Enabled
<input type="radio" name="inEnabled" value="0" <& dchecked &>/> Disabled
<% endloop %>
</td>
</tr>
<tr>
<th><input type="hidden" name="inClientID" value="<@ EditCurrentID @>" /></th>
<td>
<button class="button-loader btn btn-primary" type="submit" id="button" name="inSubmit" value="Save"><: Save :></button>
<button class="button-loader btn btn-default" type="button" onclick="window.location.href='./?module=manage_clients';return false;"><: Cancel :></button>
</td>
</tr>
</table>
<@ CSFR_Tag @>
</form>
</div>
<% endif %>
<% if isEditDomain %>
<div class="zgrid_wrapper">
<h2><: Change Existing Domain :>: <@ EditCurrentDomain @></h2>
<form action="./?module=manage_clients&action=UpdateDomain" method="post">
<@ CSFR_Tag @>
<table class="table table-striped">
<tr>
<th><: DomainName :>:</th>
<td><input name="inNewDomainName" type="text" id="inNewDomainName" size="60" maxlength="60" value="<@ DomainName @>" /></td>
</tr>
<input type="hidden" name="inGroup" id="inGroup" value="3" />
<input type="hidden" name="inFullName" id="inFullName" value="" />
<input type="hidden" name="inAddress" id="inAddress" value="" />
<input type="hidden" name="inPostCode" id="inPostCode" value="" />
<input type="hidden" name="inPhone" id="inPhone" value="" />
<!--<input type="hidden" name="inEnabled" id="inEnabled" value="1" />-->
<tr>
<th><input type="hidden" name="inClientID" value="<@ EditCurrentID @>" /></th>
<td>
<button class="button-loader btn btn-primary" type="submit" id="button" name="inSubmit" value="Save"><: Save :></button>
<button class="button-loader btn btn-default" type="button" onclick="window.location.href='./?module=manage_clients';return false;"><: Cancel :></button>
</td>
</tr>
</table>
<@ CSFR_Tag @>
</form>
</div>
<% endif %>
<% if HideCreate %>
<div class="zgrid_wrapper">
<h2><: List Accounts :></h2>
<% if ClientList %>
<form action="./?module=manage_clients&action=EditClient" method="post">
<table class="table table-striped" Id="manage_clients_table">
<thead>
<tr>
<th><: Username :></th>
<th><: :></th>
<th><: IP Address :></th>
<th><: Package :></th>
<th><: Group :></th>
<!-- <th><: Clients :></th> -->
<th><: Current disk :></th>
<!-- <th><: Current bandwidth :></th> -->
<th><: Domains :></th>
<th class="fixedwidth" ><: Actions :></th>
</tr>
</thead>
<tbody>
<% loop ClientList %>
<tr>
<td><& username &></td>
<td>
<button class="button-loader btn btn-default" type="submit" id="button" name="inLogin_<& userid &>" value="<& userid &>">Login</button>
</td>
<td><a href="http://<& ipaddress &>/~<& username &>/" target="_blank"><& ipaddress &></a></td>
<td><& packagename &></td>
<td><& usergroup &></td>
<!-- <td><& numclients &></td> -->
<td><& diskspacereadable &> / <& diskspacequotareadable &></td>
<!-- <td><& bandwidthreadable &> / <& bandwidthquotareadable &></td> -->
<td ><& domainlist &></td>
<td class="fixedwidth" >
<button class="button-loader btn btn-default" type="submit" id="button" name="inEdit_<& userid &>" value="<& userid &>">Edit</button>
<button class="button-loader delete btn btn-danger" type="submit" id="button" name="inDelete_<& userid &>" value="<& userid &>">Delete</button>
<button class="button-loader btn btn-primary" type="submit" id="button" name="inEditdomain_<& userid &>" value="<& userid &>">Change Main Domain</button>
</td>
</tr>
<% endloop %>
</tbody>
</table>
<@ CSFR_Tag @>
</form>
<% else %>
<% if HasPackage %>
<: You have no client accounts at this time. Create a client using the form below. :>
<% else %>
<: You must first create a Package with the Package Manager module before you can create a client. :>
<% endif %>
<% endif %>
</div>
<% endif %>
<% if DisabledClientList %>
<div class="zgrid_wrapper">
<h2><: Disabled Clients :></h2>
<form action="./?module=manage_clients&action=EditDisabledClient" method="post">
<table class="table table-striped" id="table_disabled_client" >
<thead>
<tr>
<th><: Username :></th>
<th><: Package :></th>
<th><: Group :></th>
<th><: Current disk :></th>
<th><: Current bandwidth :></th>
<th></th>
</tr>
</thead>
<tbody>
<% loop DisabledClientList %>
<tr>
<td><& username &></td>
<td><& packagename &></td>
<td><& usergroup &></td>
<td><& diskspacereadable &> / <& diskspacequotareadable &></td>
<td><& bandwidthreadable &> / <& bandwidthquotareadable &></td>
<td>
<button class="button-loader btn btn-default" type="submit" id="button" name="inEdit_<& userid &>" value="<& userid &>">Edit</button>
<button class="button-loader delete btn btn-danger" type="submit" id="button" name="inDelete_<& userid &>" value="<& userid &>">Delete</button>
<button class="button-loader btn btn-primary" type="submit" id="button" name="inEditdomain_<& userid &>" value="<& userid &>">Change Main Domain</button>
</td>
</tr>
<% endloop %>
</tbody>
</table>
<@ CSFR_Tag @>
</form>
</div>
<% endif %>
<% if HasPackage %>
<% if isCreateClient %>
<div class="zform_wrapper">
<h2><: Create new account :></h2>
<form action="<@ createformurl @>" method="post">
<table class="table table-striped">
<% if isAdmin %>
<tr>
<th><: DomainName :>:</th>
<td><input type="text" name="inNewDomainName" id="inNewDomainName" size="60" maxlength="60" value="<@ DomainName @>" /></td>
</tr>
<% endif %>
<tr>
<th><: Username :>:</th>
<td><input type="text" name="inshowNewUserName" id="inshowNewUserName" size="9" maxlength="9" value="<@ FormName @>" /></td>
</tr>
<tr>
<th><: Password :>:</th>
<td><input type="text" name="inNewPassword" id="input-password" size="30" value="<@ RandomPassword @>" /> <a href="#" class="link-password" id="generate"><: Generate Password :></a></td>
</tr>
<tr>
<th><: Package :>:</th>
<td>
<select name="inNewPackage" id="inNewPackage">
<option value="" selected="selected">-- Select a package --</option>
<% loop PackageList %>
<option value="<& packageid &>"><& packagename &></option>
<% endloop %>
</select>
</td>
</tr>
<tr>
<th><: Email address :>:</th>
<td><input type="text" name="inNewEmailAddress" id="inNewEmailAddress" value="<@ FormEmail @>" /></td>
</tr>
<input type="hidden" name="inNewUserName" id="inNewUserName" size="30" value="<@ FormName @>" />
<input type="hidden" name="inNewGroup" id="inNewGroup" value="3" />
<input type="hidden" name="inNewFullName" id="inNewFullName" value="" />
<input type="hidden" name="inNewAddress" id="inNewAddress" value="" />
<input type="hidden" name="inNewPostCode" id="inNewPostCode" value="" />
<input type="hidden" name="inNewPhone" id="inNewPhone" value="" />
<input type="hidden" name="inSWE" id="inSWE" value="1" />
<input type="hidden" name="inEmailSubject" id="inEmailSubject" value="<: Your HRPanel Account details :>" />
<input type="hidden" name="inEmailBody" id="inEmailBody" value="<@ DefaultEmailBody @>" />
<tr>
<th></th>
<td><button class="button-loader btn btn-primary" type="submit" id="button" name="inSubmit" value="Save"><: Save :></button></td>
</tr>
</table>
<@ CSFR_Tag @>
</form>
</div>
<% endif %>
<% endif %>
</div>
<script type="text/javascript">
<!--
function hide_div(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
}
//-->
</script>
<style>
.fixedwidth
{
width:305px !important;
}
</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() {
$('.link-password').click(function(e){
linkId = $(this).attr('id');
if (linkId == 'generate'){
password = $.password(<@ MinPassLength @>,false);
$('#input-password').val(password);
}
e.preventDefault();
});
});
</script>
<script type="text/javascript">
$(document).ready(function() {
$( "#inNewDomainName" ).blur(function() {
/* var username=$("#inNewDomainName").val().split("."); */
var username=$("#inNewDomainName").val();
var PREFIX = "http://";
if (username.indexOf(PREFIX) == 0) {
username = username.slice(PREFIX.length);
}
var PREFIX = "https://";
if (username.indexOf(PREFIX) == 0) {
username = username.slice(PREFIX.length);
}
var PREFIX = "www.";
if (username.indexOf(PREFIX) == 0) {
username = username.slice(PREFIX.length);
}
$( "#inNewDomainName" ).val(username);
username=username.split(".");
var n = username[0].length;
//alert(n);
if(n>10)
{
$("#inNewUserName").val(username[0].substring(0,9));
$("#inshowNewUserName").val(username[0].substring(0,9));
}
else
{
$("#inNewUserName").val(username[0]);
$("#inshowNewUserName").val(username[0]);
}
$( "#inNewPassword" ).focus();
});
$( "#inNewDomainName" ).focusout(function() {
/* var username=$("#inNewDomainName").val().split("."); */
var username=$("#inNewDomainName").val();
var PREFIX = "http://";
if (username.indexOf(PREFIX) == 0) {
username = username.slice(PREFIX.length);
}
var PREFIX = "https://";
if (username.indexOf(PREFIX) == 0) {
username = username.slice(PREFIX.length);
}
var PREFIX = "www.";
if (username.indexOf(PREFIX) == 0) {
username = username.slice(PREFIX.length);
}
$( "#inNewDomainName" ).val(username);
username=username.split(".");
var n = username[0].length;
//alert(n);
if(n>10)
{
$("#inNewUserName").val(username[0].substring(0,9));
$("#inshowNewUserName").val(username[0].substring(0,9));
}
else
{
$("#inNewUserName").val(username[0]);
$("#inshowNewUserName").val(username[0]);
}
$( "#inNewPassword" ).focus();
});
$( "#inshowNewUserName" ).blur(function() {
var username=$("#inshowNewUserName").val();
$("#inNewUserName").val(username);
});
$( "#inshowNewUserName" ).focusout(function() {
var username=$("#inshowNewUserName").val();
$("#inNewUserName").val(username);
});
});
</script>