mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-05-06 14:57:19 +02:00
design local
This commit is contained in:
2611
websiteFunctions/static/websiteFunctions/websiteFunctionsV2.js
Normal file
2611
websiteFunctions/static/websiteFunctions/websiteFunctionsV2.js
Normal file
File diff suppressed because it is too large
Load Diff
116
websiteFunctions/templates/websiteFunctions/createDomainV2.html
Normal file
116
websiteFunctions/templates/websiteFunctions/createDomainV2.html
Normal file
@@ -0,0 +1,116 @@
|
||||
{% extends "baseTemplate/newBase.html" %}
|
||||
{% load i18n %}
|
||||
{% block titleNew %}{% trans "Home - CyberPanel" %}{% endblock %}
|
||||
{% block newContent %}
|
||||
|
||||
{% load static %}
|
||||
|
||||
<div ng-controller="websitePagesV2" class="p-8">
|
||||
<div>
|
||||
<p class="text-4xl font-bold">Create Child Domain</p>
|
||||
<p class="text-xs text-gray-600 py-2 font-semibold">Create child-domains, child domains are owned by a
|
||||
master website</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="py-4">
|
||||
<p class="text-xl font-bold">Details</p>
|
||||
</div>
|
||||
<hr>
|
||||
<div>
|
||||
<div class="flex mt-4 py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-60">Select Website</p>
|
||||
</div>
|
||||
<div>
|
||||
<select ng-change="WebsiteSelection()" ng-model="masterDomain"
|
||||
class="form-control w-80 bg-gray-100 rounded px-2 py-1">
|
||||
{% for items in websiteList %}
|
||||
<option>{{ items }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-hide="DomainCreateForm" class="flex py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-60">Domain Name</p>
|
||||
</div>
|
||||
<div>
|
||||
<input name="dom" type="text" class="form-control w-80 bg-gray-100 rounded px-2 py-1"
|
||||
ng-model="domainNameCreate"
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-hide="DomainCreateForm" class="flex py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-60">Path: /home{$ masterDomain
|
||||
$}/</p>
|
||||
</div>
|
||||
<div>
|
||||
<input type="email" name="email" class="form-control w-80 bg-gray-100 rounded px-2 py-1"
|
||||
ng-model="docRootPath" required>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-hide="DomainCreateForm" class="flex py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-60">Select PHP</p>
|
||||
</div>
|
||||
<div>
|
||||
<select ng-model="phpSelection" class="form-control w-80 bg-gray-100 rounded px-2 py-1">
|
||||
{% for php in phps %}
|
||||
<option>{{ php }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-hide="DomainCreateForm" ng-hide="installationDetailsForm" class="flex py-2 px-6">
|
||||
<div class="w-60">
|
||||
<p class="font-semibold w-48">Additional Features</p></label>
|
||||
</div>
|
||||
<div class="text-gray-500 font-semibold">
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input ng-model="sslCheck" type="checkbox" value="">
|
||||
SSL
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input ng-model="apacheBackend" type="checkbox" value="">
|
||||
Apache as Reverse Proxy (Beta, for Ubuntu 22 and AlmaLinux 8)
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input ng-model="dkimCheck" type="checkbox" value="">
|
||||
DKIM Support
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input ng-model="openBasedir" type="checkbox" value="">
|
||||
open_basedir Protection
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-hide="DomainCreateForm" class="flex justify-center mt-4">
|
||||
<button ng-click="createDomain()"
|
||||
class="bg-orange-500 px-3 py-4 rounded-lg text-xl font-semibold text-white">
|
||||
Create Domain
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
141
websiteFunctions/templates/websiteFunctions/createWebsiteV2.html
Normal file
141
websiteFunctions/templates/websiteFunctions/createWebsiteV2.html
Normal file
@@ -0,0 +1,141 @@
|
||||
{% extends "baseTemplate/newBase.html" %}
|
||||
{% load i18n %}
|
||||
{% block titleNew %}{% trans "Home - CyberPanel" %}{% endblock %}
|
||||
{% block newContent %}
|
||||
|
||||
{% load static %}
|
||||
|
||||
<div ng-controller="createWebsiteV2" class="p-8">
|
||||
<div>
|
||||
<p class="text-4xl font-bold">Create Website</p>
|
||||
<p class="text-xs text-gray-600 py-2 font-semibold">On this page you can launch,list,modify and
|
||||
delete websites
|
||||
from your server</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="py-4">
|
||||
<p class="text-xl font-bold">Website Details</p>
|
||||
</div>
|
||||
<hr>
|
||||
<div>
|
||||
<div class="flex mt-4 py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-48">Select Package</p>
|
||||
</div>
|
||||
<div>
|
||||
<select ng-model="packageForWebsite" class="form-control w-80 bg-gray-100 rounded px-2 py-1">
|
||||
{% for items in packageList %}
|
||||
<option>{{ items }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-48">Select Owner</p>
|
||||
</div>
|
||||
<div>
|
||||
<select ng-model="websiteOwner" class="form-control w-80 bg-gray-100 rounded px-2 py-1">
|
||||
{% for items in owernList %}
|
||||
<option>{{ items }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-48">Domain Name</p>
|
||||
</div>
|
||||
<div>
|
||||
<input name="dom" type="text" class="form-control w-80 bg-gray-100 rounded px-2 py-1"
|
||||
ng-model="domainNameCreate"
|
||||
placeholder="{% trans "Do not enter WWW, it will be auto created!" %}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-48">Email</p>
|
||||
</div>
|
||||
<div>
|
||||
<input type="email" name="email" class="form-control w-80 bg-gray-100 rounded px-2 py-1"
|
||||
ng-model="adminEmail" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex py-2 px-6">
|
||||
<div>
|
||||
<p class="font-semibold w-48">Select PHP</p>
|
||||
</div>
|
||||
<div>
|
||||
<select ng-model="phpSelection" class="form-control w-80 bg-gray-100 rounded px-2 py-1">
|
||||
{% for php in phps %}
|
||||
<option>{{ php }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex py-2 px-6">
|
||||
<div class="w-48">
|
||||
<p class="font-semibold w-48">Additional Features</p></label>
|
||||
</div>
|
||||
<div class="text-gray-500 font-semibold">
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input ng-model="sslCheck" type="checkbox" value="">
|
||||
SSL
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
{% if test_domain_data %}
|
||||
<input ng-model="apacheBackend" type="checkbox" value="">
|
||||
OpenLiteSpeed + Apache (Backend) (For Ubuntu 22 and AlmaLinux 8)
|
||||
{% else %}
|
||||
|
||||
<input ng-model="apacheBackend" type="checkbox" value="" disabled>
|
||||
OpenLiteSpeed + Apache (Backend) (For Ubuntu 22 and AlmaLinux 8) -
|
||||
<strong><a href="https://go.cyberpanel.net/ApacheRev">Premium Feature</a> <i
|
||||
class="p fa fa-external-link btn-icon"> </i></strong>
|
||||
{% endif %}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input ng-model="dkimCheck" type="checkbox" value="">
|
||||
DKIM Support
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input ng-model="openBasedir" type="checkbox" value="">
|
||||
open_basedir Protection
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-9">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input ng-model="mailDomain" type="checkbox" value="">
|
||||
Create Mail Domain
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-center">
|
||||
<button ng-click="goBack()" class="bg-orange-500 px-3 py-4 rounded-lg text-xl font-semibold text-white">Create Website</button>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,284 @@
|
||||
{% extends "baseTemplate/newBase.html" %}
|
||||
{% load i18n %}
|
||||
{% block titleNew %}{% trans "Home - CyberPanel" %}{% endblock %}
|
||||
{% block newContent %}
|
||||
|
||||
{% load static %}
|
||||
|
||||
<div ng-controller="listChildDomainsMainV2" class="p-8">
|
||||
<div class="flex lg:flex-row justify-between items-center sm:flex-col">
|
||||
<div>
|
||||
<p class="text-4xl font-bold">List Child Domains</p>
|
||||
<p class="text-xs text-gray-600 py-2 font-semibold">On this page you can launch,list,modify and
|
||||
child domains
|
||||
from your server</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Search Bar -->
|
||||
<div class="flex justify-between py-1 mt-4">
|
||||
<div class="w-full">
|
||||
<div class="relative flex items-center w-full h-12 rounded-lg bg-gray-200 overflow-hidden">
|
||||
<div class="grid place-items-center h-full w-12 text-gray-300">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-gray-500" fill="none"
|
||||
viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<input ng-change="searchWebsites()" ng-model="patternAdded" name="dom"
|
||||
class="h-full w-full bg-gray-200 outline-none text-sm text-gray-700 pr-2" type="text"
|
||||
id="search" placeholder="Search" required/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Search Bar End -->
|
||||
<div class="pl-6">
|
||||
<select ng-model="recordsToShow" ng-change="getFurtherWebsitesFromDB()"
|
||||
class="w-24 bg-gray-200 py-3 px-2 rounded" id="example-select">
|
||||
<option>10</option>
|
||||
<option>50</option>
|
||||
<option>100</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-repeat="web in WebSitesList track by $index" class="panel col-md-12"
|
||||
style="padding: 0px; box-shadow: 0px 0px 1px 0px #888888;">
|
||||
<div class="">
|
||||
<div class="table-responsive no-gutter text-nowrap" style="overflow-x: hidden;">
|
||||
|
||||
<div style="border-bottom: 1px solid #888888" class="col-md-12">
|
||||
<div class="col-lg-10 content-box-header" style="text-transform: none;">
|
||||
<a href="http://{$ web.domain $}" target="_blank" title="Visit Site">
|
||||
<h2 style="display: inline; color: #414C59;" ng-bind="web.domain"></h2>
|
||||
</a>
|
||||
<a target="_blank" href="/filemanager/{$ web.masterDomain $}" title="Open File Manager">
|
||||
--
|
||||
File Manager</a>
|
||||
</div>
|
||||
<div class="col-md-2 content-box-header" style="text-transform: none;">
|
||||
<a href="/websites/{$ web.masterDomain $}/{$ web.domain $}" target="_blank"
|
||||
title="Manage Website">
|
||||
<i class="p fa fa-external-link btn-icon"> </i>
|
||||
<span>Manage</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-4 content-box-header">
|
||||
<i class="p fa fa-trash-o btn-icon text-muted" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="Delete Child Domain"> </i>
|
||||
<span><a ng-click='deleteDomainInit(web.domain)' data-toggle="modal"
|
||||
data-target="#DeleteChild" href=""
|
||||
style="text-transform: none">Delete</a></span>
|
||||
<div id="DeleteChild" class="modal fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×
|
||||
</button>
|
||||
<h4 class="modal-title">Delete Child Domain
|
||||
<img ng-hide="$parent.cyberPanelLoading"
|
||||
src="/static/images/loading.gif"
|
||||
style="display: none;">
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form name="DeleteDocumentRootForm" action="/" class="form-horizontal">
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-2 control-label">{% trans "" %}</label>
|
||||
<div class="col-sm-8">
|
||||
<input ng-model="$parent.DeleteDocRoot" type="checkbox"
|
||||
value="">
|
||||
Delete Document Root
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary"
|
||||
ng-click="deleteChildDomain()">Delete Now
|
||||
</button>
|
||||
<button type="button" ng-disabled="savingSettings"
|
||||
class="btn btn-default" data-dismiss="modal">
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 content-box-header">
|
||||
<i class="p fa fa-map-marker btn-icon text-muted" data-toggle="tooltip"
|
||||
data-placement="right" title="IP Address"> </i>
|
||||
<span ng-bind="web.ipAddress"></span>
|
||||
</div>
|
||||
<div class="col-md-4 content-box-header">
|
||||
<i class="p fa fa-lock btn-icon text-muted" data-toggle="tooltip" data-placement="right"
|
||||
title="SSL"> </i>
|
||||
<span><a ng-click="issueSSL(web.domain)" href=""
|
||||
style="text-transform: none">Issue SSL</a></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-4 content-box-header">
|
||||
<i class="p fa fa-cubes btn-icon text-muted" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="Packages"> </i>
|
||||
<span ng-bind="web.package" style="text-transform: none"></span>
|
||||
</div>
|
||||
<div class="col-md-4 content-box-header">
|
||||
<i class="p fa fa-user btn-icon text-muted" data-toggle="tooltip" data-placement="right"
|
||||
title="Owner"> </i>
|
||||
<span ng-bind="web.admin" style="text-transform: none"></span>
|
||||
</div>
|
||||
<div class="col-md-4 content-box-header">
|
||||
<i class="p fa fa-arrows-h btn-icon text-muted" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="Convert to Website"> </i>
|
||||
<span><a data-toggle="modal" data-target="#settings" href=""
|
||||
style="text-transform: none"
|
||||
ng-click="initConvert(web.domain)">Convert to Website</a></span>
|
||||
<div id="settings" class="modal fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×
|
||||
</button>
|
||||
<h4 class="modal-title">Convert Child Domain to normal Website
|
||||
<img ng-hide="$parent.cyberPanelLoading"
|
||||
src="/static/images/loading.gif"
|
||||
style="display: none;">
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<form name="containerSettingsForm" action="/" class="form-horizontal">
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Domain Name" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input name="dom" type="text" class="form-control"
|
||||
ng-model="domainName"
|
||||
placeholder="{% trans "Do not enter WWW, it will be auto created!" %}"
|
||||
readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Select Owner" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="$parent.websiteOwner"
|
||||
class="form-control">
|
||||
{% for items in owernList %}
|
||||
<option>{{ items }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr ng-hide="installationDetailsForm">
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Select Package" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="$parent.packageForWebsite"
|
||||
class="form-control">
|
||||
{% for items in packageList %}
|
||||
<option>{{ items }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr ng-hide="installationDetailsForm">
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Email" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="email" name="email" class="form-control"
|
||||
ng-model="$parent.adminEmail" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr ng-hide="installationDetailsForm">
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Select PHP" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="$parent.phpSelection"
|
||||
class="form-control">
|
||||
{% for php in phps %}
|
||||
<option>{{ php }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="installationProgress" class="form-group">
|
||||
<label class="col-sm-1 control-label"></label>
|
||||
<div class="col-sm-10">
|
||||
|
||||
<div class="alert alert-success text-center">
|
||||
<h2>{$ currentStatus $}</h2>
|
||||
</div>
|
||||
|
||||
<div class="progress">
|
||||
<div id="installProgress" class="progress-bar"
|
||||
role="progressbar" aria-valuenow="70"
|
||||
aria-valuemin="0" aria-valuemax="100"
|
||||
style="width:0%">
|
||||
<span class="sr-only">70% Complete</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="installationProgress" class="form-group">
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-4">
|
||||
<button type="button" ng-disabled="goBackDisable"
|
||||
ng-click="goBack()"
|
||||
class="btn btn-primary btn-lg">{% trans "Go Back" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary"
|
||||
ng-click="convert()">Convert
|
||||
</button>
|
||||
<button type="button" ng-disabled="savingSettings"
|
||||
class="btn btn-default" data-dismiss="modal">
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="listFail" class="alert alert-danger">
|
||||
<p>{% trans "Cannot list websites. Error message:" %} {$ errorMessage $}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end mt-4">
|
||||
<select ng-model="currentPage" ng-change="getFurtherWebsitesFromDB()"
|
||||
class="w-36 bg-gray-200 py-3 px-2 rounded" id="example-select">
|
||||
<option ng-repeat="page in pagination">{$ $index + 1 $}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
104
websiteFunctions/templates/websiteFunctions/listWebsiteV2.html
Normal file
104
websiteFunctions/templates/websiteFunctions/listWebsiteV2.html
Normal file
@@ -0,0 +1,104 @@
|
||||
{% extends "baseTemplate/newBase.html" %}
|
||||
{% load i18n %}
|
||||
{% block titleNew %}{% trans "Home - CyberPanel" %}{% endblock %}
|
||||
{% block newContent %}
|
||||
|
||||
{% load static %}
|
||||
|
||||
<div ng-controller="listWebsitesV2" class="p-8">
|
||||
<div class="flex lg:flex-row justify-between items-center sm:flex-col">
|
||||
<div>
|
||||
<p class="text-4xl font-bold">List Website</p>
|
||||
<p class="text-xs text-gray-600 py-2 font-semibold">On this page you can launch,list,modify and
|
||||
delete websites
|
||||
from your server</p>
|
||||
</div>
|
||||
<div>
|
||||
<div class="sm:mt-6">
|
||||
<a href="{% url 'createWebsiteV2' %}"
|
||||
class="bg-orange-500 px-3 py-3 rounded-lg text-xl font-semibold text-white">Create
|
||||
Website
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Search Bar -->
|
||||
<div class="flex justify-between py-1 mt-4">
|
||||
<div class="w-full">
|
||||
<div class="relative flex items-center w-full h-12 rounded-lg bg-gray-200 overflow-hidden">
|
||||
<div class="grid place-items-center h-full w-12 text-gray-300">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-gray-500" fill="none"
|
||||
viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<input ng-change="searchWebsites()" ng-model="patternAdded" name="dom"
|
||||
class="h-full w-full bg-gray-200 outline-none text-sm text-gray-700 pr-2" type="text"
|
||||
id="search" placeholder="Search" required/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Search Bar End -->
|
||||
<div class="pl-6">
|
||||
<select ng-model="recordsToShow" ng-change="getFurtherWebsitesFromDB()"
|
||||
class="w-24 bg-gray-200 py-3 px-2 rounded" id="example-select">
|
||||
<option>10</option>
|
||||
<option>50</option>
|
||||
<option>100</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-repeat="web in WebSitesList track by $index" class="py-8">
|
||||
<div class="border shadow-lg rounded-lg px-3">
|
||||
<div>
|
||||
<div class="px-2">
|
||||
<div class="pl-44 gap-20 py-5 flex font-bold">
|
||||
<div>Owner</div>
|
||||
<div>IP Address</div>
|
||||
<div>Disk Usage</div>
|
||||
<div>Package</div>
|
||||
<div>SSL</div>
|
||||
<div class="pl-4">State</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<div class="bg-gray-200 w-full rounded-t-lg border-b-2 border-gray-400">
|
||||
<p class="font-bold px-4 py-1" ng-bind="web.domain"></p>
|
||||
</div>
|
||||
<div class="w-full rounded-b-lg border-b-2 border-gray-400">
|
||||
<div class="pl-4 py-5 gap-20 flex items-center text-sm">
|
||||
<a href="/websites/{$ web.domain $}" class="flex items-center">
|
||||
<svg width="25" height="25" viewBox="0 0 30 30" fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M22.5 16.25V23.75C22.5 24.413 22.2366 25.0489 21.7678 25.5178C21.2989 25.9866 20.663 26.25 20 26.25H6.25C5.58696 26.25 4.95107 25.9866 4.48223 25.5178C4.01339 25.0489 3.75 24.413 3.75 23.75V10C3.75 9.33696 4.01339 8.70107 4.48223 8.23223C4.95107 7.76339 5.58696 7.5 6.25 7.5H13.75"
|
||||
stroke="#3A6A7E" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round"/>
|
||||
<path d="M18.75 3.75H26.25V11.25" stroke="#3A6A7E" stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"/>
|
||||
<path d="M12.5 17.5L26.25 3.75" stroke="#3A6A7E" stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"/>
|
||||
</svg>
|
||||
<p class="ml-2 text-blue-600 font-semibold">Manage</p>
|
||||
</a>
|
||||
<div><span ng-bind="web.admin" style="text-transform: none"></span></div>
|
||||
<div><span ng-bind="web.ipAddress"></span></div>
|
||||
<div class="pl-3"><span ng-bind="web.diskUsed" style="text-transform: none"></span>
|
||||
</div>
|
||||
<div class="pl-7"><span ng-bind="web.package" style="text-transform: none"></span></div>
|
||||
<div> <span><a ng-click="issueSSL(web.domain)" href=""
|
||||
style="text-transform: none">Issue SSL</a></span></div>
|
||||
<div class="text-green-700 font-bold"><span ng-bind="web.state"
|
||||
style="text-transform: none"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -127,6 +127,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div style="margin-top: 2%" class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
|
||||
@@ -6,13 +6,16 @@ urlpatterns = [
|
||||
url(r'^createWebsite$', views.createWebsite, name='createWebsite'),
|
||||
url(r'^listWebsites$', views.listWebsites, name='listWebsites'),
|
||||
url(r'^listChildDomains$', views.listChildDomains, name='listChildDomains'),
|
||||
url(r'^listChildDomainsV2$', views.listChildDomainsV2, name='listChildDomainsV2'),
|
||||
url(r'^modifyWebsite$', views.modifyWebsite, name='modifyWebsite'),
|
||||
url(r'^deleteWebsite$', views.deleteWebsite, name='deleteWebsite'),
|
||||
url(r'^siteState$', views.siteState, name='siteState'),
|
||||
url(r'^createWebsiteV2$', views.createWebsiteV2, name='createWebsiteV2'),
|
||||
url(r'^listWebsitesV2$', views.listWebsitesV2, name='listWebsitesV2'),
|
||||
|
||||
##
|
||||
|
||||
url(r'^CreateNewDomain$', views.CreateNewDomain, name='CreateNewDomain'),
|
||||
url(r'^CreateNewDomainV2$', views.CreateNewDomainV2, name='CreateNewDomainV2'),
|
||||
|
||||
### WordPress
|
||||
url(r'^createWordpress$', views.WPCreate, name='createWordpress'),
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
from django.shortcuts import redirect
|
||||
import json
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import redirect
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
||||
import plogical.CyberCPLogFileWriter as logging
|
||||
from loginSystem.models import Administrator
|
||||
from loginSystem.views import loadLoginPage
|
||||
import json
|
||||
import plogical.CyberCPLogFileWriter as logging
|
||||
|
||||
|
||||
from plogical.httpProc import httpProc
|
||||
from websiteFunctions.models import wpplugins
|
||||
from websiteFunctions.website import WebsiteManager
|
||||
from websiteFunctions.pluginManager import pluginManager
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
from websiteFunctions.website import WebsiteManager
|
||||
|
||||
|
||||
def loadWebsitesHome(request):
|
||||
val = request.session['userID']
|
||||
@@ -22,6 +22,7 @@ def loadWebsitesHome(request):
|
||||
{"type": admin.type})
|
||||
return proc.render()
|
||||
|
||||
|
||||
def createWebsite(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -29,14 +30,26 @@ def createWebsite(request):
|
||||
return wm.createWebsite(request, userID)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def createWebsiteV2(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
wm = WebsiteManager()
|
||||
return wm.createWebsiteV2(request, userID)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def WPCreate(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
wm = WebsiteManager()
|
||||
return wm.WPCreate(request, userID,)
|
||||
return wm.WPCreate(request, userID, )
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def ListWPSites(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -46,6 +59,7 @@ def ListWPSites(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def WPHome(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -56,6 +70,8 @@ def WPHome(request):
|
||||
return wm.WPHome(request, userID, WPid, DeleteID)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def RestoreHome(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -77,6 +93,7 @@ def RemoteBackupConfig(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def BackupfileConfig(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -88,6 +105,7 @@ def BackupfileConfig(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def AddRemoteBackupsite(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -95,18 +113,20 @@ def AddRemoteBackupsite(request):
|
||||
ID = request.GET.get('ID')
|
||||
DeleteSiteID = request.GET.get('DeleteID')
|
||||
wm = WebsiteManager()
|
||||
return wm.AddRemoteBackupsite(request, userID, ID,DeleteSiteID )
|
||||
return wm.AddRemoteBackupsite(request, userID, ID, DeleteSiteID)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def WordpressPricing(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
wm = WebsiteManager()
|
||||
return wm.WordpressPricing(request, userID,)
|
||||
return wm.WordpressPricing(request, userID, )
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def RestoreBackups(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -117,6 +137,7 @@ def RestoreBackups(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def AutoLogin(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -125,6 +146,8 @@ def AutoLogin(request):
|
||||
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def ConfigurePlugins(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -136,13 +159,14 @@ def ConfigurePlugins(request):
|
||||
jobobj.delete()
|
||||
Deleted = 1
|
||||
except BaseException as msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile("DeleteFileID ....... %s....msg.....%s" % (DeleteFileID,msg))
|
||||
logging.CyberCPLogFileWriter.writeToFile("DeleteFileID ....... %s....msg.....%s" % (DeleteFileID, msg))
|
||||
Deleted = 0
|
||||
wm = WebsiteManager()
|
||||
return wm.ConfigurePlugins(request, userID)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def Addnewplugin(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -152,15 +176,13 @@ def Addnewplugin(request):
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
|
||||
|
||||
def SearchOnkeyupPlugin(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -182,7 +204,7 @@ def AddNewpluginAjax(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -215,7 +237,7 @@ def deletesPlgin(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -237,7 +259,7 @@ def Addplugineidt(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -259,7 +281,7 @@ def submitWorpressCreation(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -281,7 +303,7 @@ def FetchWPdata(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -303,7 +325,7 @@ def GetCurrentPlugins(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -326,7 +348,7 @@ def fetchstaging(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -341,13 +363,14 @@ def fetchstaging(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchDatabase(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -362,6 +385,7 @@ def fetchDatabase(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def SaveUpdateConfig(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -383,27 +407,29 @@ def SaveUpdateConfig(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def DeploytoProduction(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
|
||||
#result = pluginManager.preWebsiteCreation(request)
|
||||
# result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
#if result != 200:
|
||||
# if result != 200:
|
||||
# return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
return wm.DeploytoProduction(userID, json.loads(request.body))
|
||||
|
||||
#result = pluginManager.postWebsiteCreation(request, coreResult)
|
||||
#if result != 200:
|
||||
# result = pluginManager.postWebsiteCreation(request, coreResult)
|
||||
# if result != 200:
|
||||
# return result
|
||||
|
||||
#return coreResult
|
||||
# return coreResult
|
||||
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def WPCreateBackup(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -426,7 +452,6 @@ def WPCreateBackup(request):
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
|
||||
def RestoreWPbackupNow(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -469,6 +494,7 @@ def SaveBackupConfig(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def SaveBackupSchedule(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -489,6 +515,7 @@ def SaveBackupSchedule(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def AddWPsiteforRemoteBackup(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -596,14 +623,13 @@ def dataintegrity(request):
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
|
||||
def GetCurrentThemes(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -625,7 +651,7 @@ def UpdateWPSettings(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -647,7 +673,7 @@ def UpdatePlugins(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -669,7 +695,7 @@ def UpdateThemes(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -691,7 +717,7 @@ def DeletePlugins(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -713,7 +739,7 @@ def DeleteThemes(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -735,7 +761,7 @@ def ChangeStatus(request):
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -795,7 +821,6 @@ def CreateStagingNow(request):
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
|
||||
def modifyWebsite(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -807,6 +832,7 @@ def modifyWebsite(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def deleteWebsite(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -815,6 +841,7 @@ def deleteWebsite(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def CreateNewDomain(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -823,6 +850,14 @@ def CreateNewDomain(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
def CreateNewDomainV2(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
wm = WebsiteManager()
|
||||
return wm.CreateNewDomainV2(request, userID)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
def siteState(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -831,6 +866,7 @@ def siteState(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def listWebsites(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -839,6 +875,16 @@ def listWebsites(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def listWebsitesV2(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
wm = WebsiteManager()
|
||||
return wm.listWebsitesV2(request, userID)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def listChildDomains(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -847,13 +893,22 @@ def listChildDomains(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
def listChildDomainsV2(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
wm = WebsiteManager()
|
||||
return wm.listChildDomainsV2(request, userID)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def submitWebsiteCreation(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
@@ -868,6 +923,7 @@ def submitWebsiteCreation(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def submitDomainCreation(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -887,6 +943,7 @@ def submitDomainCreation(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchDomains(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -895,6 +952,7 @@ def fetchDomains(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def searchWebsites(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -903,6 +961,7 @@ def searchWebsites(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def searchChilds(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -911,6 +970,7 @@ def searchChilds(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def getFurtherAccounts(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -919,6 +979,7 @@ def getFurtherAccounts(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchWebsitesList(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -927,6 +988,7 @@ def fetchWebsitesList(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchChildDomainsMain(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -935,6 +997,7 @@ def fetchChildDomainsMain(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def submitWebsiteDeletion(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -954,6 +1017,7 @@ def submitWebsiteDeletion(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def submitDomainDeletion(request):
|
||||
try:
|
||||
|
||||
@@ -975,6 +1039,7 @@ def submitDomainDeletion(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def convertDomainToSite(request):
|
||||
try:
|
||||
|
||||
@@ -985,6 +1050,7 @@ def convertDomainToSite(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def submitWebsiteStatus(request):
|
||||
try:
|
||||
|
||||
@@ -1006,6 +1072,7 @@ def submitWebsiteStatus(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def submitWebsiteModify(request):
|
||||
try:
|
||||
|
||||
@@ -1016,6 +1083,7 @@ def submitWebsiteModify(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def saveWebsiteChanges(request):
|
||||
try:
|
||||
|
||||
@@ -1037,6 +1105,7 @@ def saveWebsiteChanges(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def domain(request, domain):
|
||||
try:
|
||||
|
||||
@@ -1061,6 +1130,7 @@ def domain(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def launchChild(request, domain, childDomain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1069,6 +1139,7 @@ def launchChild(request, domain, childDomain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def getDataFromLogFile(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1077,6 +1148,7 @@ def getDataFromLogFile(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchErrorLogs(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1085,6 +1157,7 @@ def fetchErrorLogs(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def getDataFromConfigFile(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1093,6 +1166,7 @@ def getDataFromConfigFile(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def saveConfigsToFile(request):
|
||||
try:
|
||||
|
||||
@@ -1114,6 +1188,7 @@ def saveConfigsToFile(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def getRewriteRules(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1122,6 +1197,7 @@ def getRewriteRules(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def saveRewriteRules(request):
|
||||
try:
|
||||
|
||||
@@ -1143,6 +1219,7 @@ def saveRewriteRules(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def saveSSL(request):
|
||||
try:
|
||||
|
||||
@@ -1164,6 +1241,7 @@ def saveSSL(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def changePHP(request):
|
||||
try:
|
||||
|
||||
@@ -1185,6 +1263,7 @@ def changePHP(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def listCron(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1193,6 +1272,7 @@ def listCron(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def getWebsiteCron(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1201,6 +1281,7 @@ def getWebsiteCron(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def getCronbyLine(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1209,6 +1290,7 @@ def getCronbyLine(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def saveCronChanges(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1217,6 +1299,7 @@ def saveCronChanges(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def remCronbyLine(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1236,6 +1319,7 @@ def remCronbyLine(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def addNewCron(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1255,6 +1339,7 @@ def addNewCron(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def domainAlias(request, domain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1263,6 +1348,7 @@ def domainAlias(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def submitAliasCreation(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1282,6 +1368,7 @@ def submitAliasCreation(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def issueAliasSSL(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1290,6 +1377,7 @@ def issueAliasSSL(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def delateAlias(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1309,6 +1397,7 @@ def delateAlias(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def changeOpenBasedir(request):
|
||||
try:
|
||||
|
||||
@@ -1330,6 +1419,7 @@ def changeOpenBasedir(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def wordpressInstall(request, domain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1338,6 +1428,7 @@ def wordpressInstall(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def installWordpress(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1346,6 +1437,7 @@ def installWordpress(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def installWordpressStatus(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1354,6 +1446,7 @@ def installWordpressStatus(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def joomlaInstall(request, domain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1362,6 +1455,7 @@ def joomlaInstall(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def installJoomla(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1370,6 +1464,7 @@ def installJoomla(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def setupGit(request, domain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1378,6 +1473,7 @@ def setupGit(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def setupGitRepo(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1386,6 +1482,7 @@ def setupGitRepo(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
def gitNotify(request, domain):
|
||||
try:
|
||||
@@ -1394,6 +1491,7 @@ def gitNotify(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def detachRepo(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1402,6 +1500,7 @@ def detachRepo(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def changeBranch(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1410,6 +1509,7 @@ def changeBranch(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def installPrestaShop(request, domain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1418,6 +1518,7 @@ def installPrestaShop(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def installMagento(request, domain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1426,6 +1527,7 @@ def installMagento(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def magentoInstall(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1434,6 +1536,7 @@ def magentoInstall(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def installMautic(request, domain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1442,6 +1545,7 @@ def installMautic(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def mauticInstall(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1450,6 +1554,7 @@ def mauticInstall(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def prestaShopInstall(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1458,6 +1563,7 @@ def prestaShopInstall(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def sshAccess(request, domain):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1502,6 +1608,7 @@ def syncToMaster(request, domain, childDomain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def startSync(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1528,6 +1635,7 @@ def manageGIT(request, domain):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchFolderDetails(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1536,6 +1644,7 @@ def fetchFolderDetails(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def initRepo(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1544,6 +1653,7 @@ def initRepo(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def setupRemote(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1552,6 +1662,7 @@ def setupRemote(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def changeGitBranch(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1560,6 +1671,7 @@ def changeGitBranch(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def createNewBranch(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1568,6 +1680,7 @@ def createNewBranch(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def commitChanges(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1576,6 +1689,7 @@ def commitChanges(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def gitPull(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1584,6 +1698,7 @@ def gitPull(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def gitPush(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1592,6 +1707,7 @@ def gitPush(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def attachRepoGIT(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1600,6 +1716,7 @@ def attachRepoGIT(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def removeTracking(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1608,6 +1725,7 @@ def removeTracking(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchGitignore(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1616,6 +1734,7 @@ def fetchGitignore(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def saveGitIgnore(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1624,6 +1743,7 @@ def saveGitIgnore(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchCommits(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1632,6 +1752,7 @@ def fetchCommits(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchFiles(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1640,6 +1761,7 @@ def fetchFiles(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchChangesInFile(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1648,6 +1770,7 @@ def fetchChangesInFile(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def saveGitConfigurations(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1656,6 +1779,7 @@ def saveGitConfigurations(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def fetchGitLogs(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1664,6 +1788,7 @@ def fetchGitLogs(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def getSSHConfigs(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1672,6 +1797,7 @@ def getSSHConfigs(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def deleteSSHKey(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1680,6 +1806,7 @@ def deleteSSHKey(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def addSSHKey(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1688,6 +1815,7 @@ def addSSHKey(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
def webhook(request, domain):
|
||||
try:
|
||||
@@ -1714,6 +1842,7 @@ def getSwitchStatus(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def switchServer(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1722,6 +1851,7 @@ def switchServer(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def statusFunc(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1733,6 +1863,7 @@ def statusFunc(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def tuneSettings(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
@@ -1742,6 +1873,7 @@ def tuneSettings(request):
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def saveApacheConfigsToFile(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
|
||||
@@ -82,6 +82,37 @@ class WebsiteManager:
|
||||
Data, 'createWebsite')
|
||||
return proc.render()
|
||||
|
||||
|
||||
def createWebsiteV2(self, request=None, userID=None, data=None):
|
||||
|
||||
url = "https://platform.cyberpersons.com/CyberpanelAdOns/Adonpermission"
|
||||
data = {
|
||||
"name": "all",
|
||||
"IP": ACLManager.GetServerIP()
|
||||
}
|
||||
|
||||
import requests
|
||||
response = requests.post(url, data=json.dumps(data))
|
||||
Status = response.json()['status']
|
||||
|
||||
test_domain_status = 0
|
||||
|
||||
if (Status == 1) or ProcessUtilities.decideServer() == ProcessUtilities.ent:
|
||||
test_domain_status = 1
|
||||
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
adminNames = ACLManager.loadAllUsers(userID)
|
||||
packagesName = ACLManager.loadPackages(userID, currentACL)
|
||||
phps = PHPManager.findPHPVersions()
|
||||
|
||||
rnpss = randomPassword.generate_pass(10)
|
||||
|
||||
Data = {'packageList': packagesName, "owernList": adminNames, 'phps': phps, 'Randam_String': rnpss.lower(),
|
||||
'test_domain_data': test_domain_status}
|
||||
proc = httpProc(request, 'websiteFunctions/createWebsiteV2.html',
|
||||
Data, 'createWebsite')
|
||||
return proc.render()
|
||||
|
||||
def WPCreate(self, request=None, userID=None, data=None):
|
||||
url = "https://platform.cyberpersons.com/CyberpanelAdOns/Adonpermission"
|
||||
data = {
|
||||
@@ -716,6 +747,30 @@ class WebsiteManager:
|
||||
{'websiteList': websitesName, 'phps': PHPManager.findPHPVersions(), 'Randam_String': rnpss, 'test_domain_data':test_domain_status})
|
||||
return proc.render()
|
||||
|
||||
def CreateNewDomainV2(self, request=None, userID=None, data=None):
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
websitesName = ACLManager.findAllSites(currentACL, userID)
|
||||
|
||||
url = "https://platform.cyberpersons.com/CyberpanelAdOns/Adonpermission"
|
||||
data = {
|
||||
"name": "all",
|
||||
"IP": ACLManager.GetServerIP()
|
||||
}
|
||||
|
||||
import requests
|
||||
response = requests.post(url, data=json.dumps(data))
|
||||
Status = response.json()['status']
|
||||
|
||||
test_domain_status = 0
|
||||
|
||||
if (Status == 1) or ProcessUtilities.decideServer() == ProcessUtilities.ent:
|
||||
test_domain_status = 1
|
||||
|
||||
rnpss = randomPassword.generate_pass(10)
|
||||
proc = httpProc(request, 'websiteFunctions/createDomainV2.html',
|
||||
{'websiteList': websitesName, 'phps': PHPManager.findPHPVersions(), 'Randam_String': rnpss, 'test_domain_data':test_domain_status})
|
||||
return proc.render()
|
||||
|
||||
def siteState(self, request=None, userID=None, data=None):
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
@@ -732,6 +787,13 @@ class WebsiteManager:
|
||||
{"pagination": pagination})
|
||||
return proc.render()
|
||||
|
||||
def listWebsitesV2(self, request=None, userID=None, data=None):
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
pagination = self.websitePagination(currentACL, userID)
|
||||
proc = httpProc(request, 'websiteFunctions/listWebsiteV2.html',
|
||||
{"pagination": pagination})
|
||||
return proc.render()
|
||||
|
||||
def listChildDomains(self, request=None, userID=None, data=None):
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
adminNames = ACLManager.loadAllUsers(userID)
|
||||
@@ -743,6 +805,17 @@ class WebsiteManager:
|
||||
Data)
|
||||
return proc.render()
|
||||
|
||||
def listChildDomainsV2(self, request=None, userID=None, data=None):
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
adminNames = ACLManager.loadAllUsers(userID)
|
||||
packagesName = ACLManager.loadPackages(userID, currentACL)
|
||||
phps = PHPManager.findPHPVersions()
|
||||
|
||||
Data = {'packageList': packagesName, "owernList": adminNames, 'phps': phps}
|
||||
proc = httpProc(request, 'websiteFunctions/listChildDomainsV2.html',
|
||||
Data)
|
||||
return proc.render()
|
||||
|
||||
def listCron(self, request=None, userID=None, data=None):
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
|
||||
Reference in New Issue
Block a user