mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-15 17:56:12 +01:00
add mailscanner page
This commit is contained in:
@@ -60,7 +60,6 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
||||||
<title>{% block title %}Page Title{% endblock %}</title>
|
<title>{% block title %}Page Title{% endblock %}</title>
|
||||||
@@ -73,20 +72,7 @@
|
|||||||
<script src="https://code.angularjs.org/1.6.5/angular.min.js"></script>
|
<script src="https://code.angularjs.org/1.6.5/angular.min.js"></script>
|
||||||
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
|
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
|
||||||
|
|
||||||
<!-- HELPERS -->
|
<link rel="stylesheet" type="text/css" href="{% static 'baseTemplate/assets/finalBase/finalBase.css' %}"
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="{% static 'baseTemplate/assets/finalBase/finalBase.css' %}">
|
|
||||||
|
|
||||||
<!-- ELEMENTS -->
|
|
||||||
|
|
||||||
<!-- ICONS -->
|
|
||||||
|
|
||||||
<!-- WIDGETS -->
|
|
||||||
|
|
||||||
<!-- SNIPPETS -->
|
|
||||||
|
|
||||||
<!-- APPLICATIONS -->
|
|
||||||
<!-- Admin theme -->
|
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="{% static 'baseTemplate/assets/finalBase/finalBaseTheme.css' %}">
|
<link rel="stylesheet" type="text/css" href="{% static 'baseTemplate/assets/finalBase/finalBaseTheme.css' %}">
|
||||||
|
|
||||||
@@ -877,6 +863,9 @@
|
|||||||
<li><a href="{% url 'emailMarketing' %}"
|
<li><a href="{% url 'emailMarketing' %}"
|
||||||
title="{% trans 'Email Marketing' %}"><span>{% trans "Email Marketing" %}</span></a>
|
title="{% trans 'Email Marketing' %}"><span>{% trans "Email Marketing" %}</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
<li><a href="{% url 'MailScanner' %}"
|
||||||
|
title="{% trans 'MailScanner' %}"><span>{% trans "MailScanner" %}</span></a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div><!-- .sidebar-submenu -->
|
</div><!-- .sidebar-submenu -->
|
||||||
|
|||||||
@@ -13,6 +13,4 @@ urlpatterns = [
|
|||||||
url(r'^UpgradeStatus',views.upgradeStatus, name='UpgradeStatus'),
|
url(r'^UpgradeStatus',views.upgradeStatus, name='UpgradeStatus'),
|
||||||
url(r'^upgradeVersion',views.upgradeVersion, name='upgradeVersion'),
|
url(r'^upgradeVersion',views.upgradeVersion, name='upgradeVersion'),
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
]
|
]
|
||||||
106
emailPremium/templates/emailPremium/MailScanner.html
Executable file
106
emailPremium/templates/emailPremium/MailScanner.html
Executable file
@@ -0,0 +1,106 @@
|
|||||||
|
{% extends "baseTemplate/index.html" %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% block title %}{% trans "MailScanner - CyberPanel" %}{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
{% load static %}
|
||||||
|
{% get_current_language as LANGUAGE_CODE %}
|
||||||
|
<!-- Current language: {{ LANGUAGE_CODE }} -->
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div id="page-title">
|
||||||
|
<h2>{% trans "MailScanner" %}</h2>
|
||||||
|
<p>{% trans "Install/Access MailScanner" %}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-controller="MailScanner" class="example-box-wrapper">
|
||||||
|
<div class="panel panel-body">
|
||||||
|
<h3 class="content-box-header">
|
||||||
|
{% trans "SpamAssassin" %} <img ng-hide="SpamAssassinLoading" src="/static/images/loading.gif">
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="content-box-wrapper">
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
{% if checkIfMailScannerInstalled == 0 %}
|
||||||
|
|
||||||
|
<div class="col-md-12 text-center" style="margin-bottom: 2%;">
|
||||||
|
<h4 class="mb-10">{% trans "MailScanner is not installed " %}
|
||||||
|
</h4>
|
||||||
|
<button ng-click="installSpamAssassin()" class="btn btn-alt btn-hover btn-blue-alt">
|
||||||
|
<span>{% trans "Install Now." %}</span>
|
||||||
|
<i class="glyph-icon icon-arrow-right"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!------ SpamAssassin Install Log box ----------------->
|
||||||
|
|
||||||
|
<div ng-hide="SpamAssassinNotifyBox" class="form-group">
|
||||||
|
<label class="col-sm-3 control-label"></label>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
|
||||||
|
<div ng-hide="failedToStartInallation" class="alert alert-danger">
|
||||||
|
<p>{% trans "Failed to start installation, Error message: " %} {$ errorMessage
|
||||||
|
$}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-hide="couldNotConnect" class="alert alert-danger">
|
||||||
|
<p>{% trans "Could not connect. Please refresh this page." %} </p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-hide="installationFailed" class="alert alert-danger">
|
||||||
|
<p>{% trans "Installation failed." %} {$ errorMessage $}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div ng-hide="SpamAssassinSuccessfullyInstalled" class="alert alert-success">
|
||||||
|
<p>{% trans "SpamAssassin successfully installed, refreshing page in 3 seconds.." %}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div ng-hide="SpamAssassinInstallBox" class="col-md-12">
|
||||||
|
|
||||||
|
<form action="/" id="" class="form-horizontal bordered-row">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-sm-12 text-center">
|
||||||
|
<h3><img
|
||||||
|
src="{% static 'firewall/icons/firewall.png' %}"> {% trans "Winter is coming, but so is SpamAssassin." %}
|
||||||
|
<img ng-hide="SpamAssassinLoading" src="/static/images/loading.gif">
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 2%;" class="col-sm-12">
|
||||||
|
<textarea ng-model="requestData" rows="15"
|
||||||
|
class="form-control">{{ requestData }}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!----- SpamAssassin Install Log box ----------------->
|
||||||
|
{% else %}
|
||||||
|
|
||||||
|
<div class="col-md-12 text-center" style="margin-bottom: 2%;">
|
||||||
|
<h4 class="mb-10">{% trans "MailScanner is not installed " %}
|
||||||
|
</h4>
|
||||||
|
<button ng-click="installSpamAssassin()" class="btn btn-alt btn-hover btn-blue-alt">
|
||||||
|
<span>{% trans "Install Now." %}</span>
|
||||||
|
<i class="glyph-icon icon-arrow-right"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
@@ -38,6 +38,7 @@ urlpatterns = [
|
|||||||
url(r'^fetchMessage$', views.fetchMessage, name='fetchMessage'),
|
url(r'^fetchMessage$', views.fetchMessage, name='fetchMessage'),
|
||||||
url(r'^flushQueue$', views.flushQueue, name='flushQueue'),
|
url(r'^flushQueue$', views.flushQueue, name='flushQueue'),
|
||||||
url(r'^delete$', views.delete, name='delete'),
|
url(r'^delete$', views.delete, name='delete'),
|
||||||
|
url(r'^MailScanner$', views.MailScanner, name='MailScanner'),
|
||||||
|
|
||||||
url(r'^(?P<domain>(.*))$', views.emailLimits, name='emailLimits'),
|
url(r'^(?P<domain>(.*))$', views.emailLimits, name='emailLimits'),
|
||||||
|
|
||||||
|
|||||||
@@ -1167,3 +1167,25 @@ def delete(request):
|
|||||||
dic = {'status': 0, 'error_message': str(msg)}
|
dic = {'status': 0, 'error_message': str(msg)}
|
||||||
json_data = json.dumps(dic)
|
json_data = json.dumps(dic)
|
||||||
return HttpResponse(json_data)
|
return HttpResponse(json_data)
|
||||||
|
|
||||||
|
## MailScanner
|
||||||
|
|
||||||
|
def MailScanner(request):
|
||||||
|
try:
|
||||||
|
userID = request.session['userID']
|
||||||
|
currentACL = ACLManager.loadedACL(userID)
|
||||||
|
|
||||||
|
if currentACL['admin'] == 1:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
return ACLManager.loadError()
|
||||||
|
|
||||||
|
checkIfMailScannerInstalled = 0
|
||||||
|
|
||||||
|
if mailUtilities.checkIfMailScannerInstalled() == 1:
|
||||||
|
checkIfMailScannerInstalled = 1
|
||||||
|
|
||||||
|
return render(request, 'emailPremium/MailScanner.html',{'checkIfMailScannerInstalled': checkIfMailScannerInstalled})
|
||||||
|
|
||||||
|
except KeyError:
|
||||||
|
return redirect(loadLoginPage)
|
||||||
@@ -666,6 +666,22 @@ milter_default_action = accept
|
|||||||
str(msg) + " [savePolicyServerStatus]")
|
str(msg) + " [savePolicyServerStatus]")
|
||||||
print("0," + str(msg))
|
print("0," + str(msg))
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def checkIfMailScannerInstalled():
|
||||||
|
try:
|
||||||
|
|
||||||
|
path = "/usr/local/CyberCP/public/mailscanner"
|
||||||
|
|
||||||
|
if os .path.exists(path):
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
except BaseException as msg:
|
||||||
|
logging.CyberCPLogFileWriter.writeToFile(
|
||||||
|
str(msg) + " [checkIfMailScannerInstalled]")
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user