diff --git a/IncBackups/IncBackupsControl.py b/IncBackups/IncBackupsControl.py
index 52c0b653a..2c62017c4 100644
--- a/IncBackups/IncBackupsControl.py
+++ b/IncBackups/IncBackupsControl.py
@@ -12,7 +12,7 @@
pass
import threading as multi
from plogical.processUtilities import ProcessUtilities
-from models import IncJob, JobSnapshots
+from IncBackups.models import IncJob, JobSnapshots
from websiteFunctions.models import Websites
import plogical.randomPassword as randomPassword
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
@@ -316,7 +316,7 @@ def prettify(elem):
reparsed = minidom.parseString(rough_string)
return reparsed.toprettyxml(indent=" ")
- ## /home/example.com/backup/backup-example.com-02.13.2018_10-24-52/meta.xml -- metaPath
+ ## /home/example.com/backup/backup-example-06-50-03-Thu-Feb-2018/meta.xml -- metaPath
metaPath = '/home/cyberpanel/%s' % (str(randint(1000, 9999)))
@@ -538,4 +538,4 @@ def createBackup(self):
except:
pass
- logging.statusWriter(self.statusPath, 'Completed', 1)
+ logging.statusWriter(self.statusPath, 'Completed', 1)
\ No newline at end of file
diff --git a/IncBackups/static/IncBackups/IncBackups.js b/IncBackups/static/IncBackups/IncBackups.js
index 36463bbb3..54769c4f1 100644
--- a/IncBackups/static/IncBackups/IncBackups.js
+++ b/IncBackups/static/IncBackups/IncBackups.js
@@ -491,4 +491,4 @@ app.controller('incrementalDestinations', function ($scope, $http) {
};
-});
+});
\ No newline at end of file
diff --git a/IncBackups/templates/IncBackups/backupSchedule.html b/IncBackups/templates/IncBackups/backupSchedule.html
new file mode 100755
index 000000000..69de37618
--- /dev/null
+++ b/IncBackups/templates/IncBackups/backupSchedule.html
@@ -0,0 +1,136 @@
+{% extends "baseTemplate/index.html" %}
+{% load i18n %}
+{% block title %}{% trans "Schedule Back up - CyberPanel" %} {% endblock %}
+{% block content %}
+
+ {% load static %}
+
+ {% get_current_language as LANGUAGE_CODE %}
+
+
+
+
+
+
{% trans "On this page you can schedule Back ups to localhost or remote server (If you have added one)." %}
+
+
+
+
+
+ {% trans "Schedule Back up" %}
+
+
+
+
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/IncBackups/templates/IncBackups/createBackup.html b/IncBackups/templates/IncBackups/createBackup.html
old mode 100644
new mode 100755
diff --git a/IncBackups/urls.py b/IncBackups/urls.py
index 6fd05681b..84b305e25 100644
--- a/IncBackups/urls.py
+++ b/IncBackups/urls.py
@@ -13,4 +13,5 @@
url(r'^deleteBackup$', views.deleteBackup, name='deleteBackupInc'),
url(r'^fetchRestorePoints$', views.fetchRestorePoints, name='fetchRestorePointsInc'),
url(r'^restorePoint$', views.restorePoint, name='restorePointInc'),
+ url(r'^scheduleBackups$', views.scheduleBackups, name='scheduleBackupsInc'),
]
\ No newline at end of file
diff --git a/IncBackups/views.py b/IncBackups/views.py
index edfe40d59..0497adc2b 100644
--- a/IncBackups/views.py
+++ b/IncBackups/views.py
@@ -540,4 +540,29 @@ def restorePoint(request):
logging.writeToFile(str(msg))
final_dic = {'status': 0, 'metaStatus': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
- return HttpResponse(final_json)
\ No newline at end of file
+ return HttpResponse(final_json)
+
+def scheduleBackups(request):
+ try:
+ userID = request.session['userID']
+ currentACL = ACLManager.loadedACL(userID)
+
+ if ACLManager.currentContextPermission(currentACL, 'scheDuleBackups') == 0:
+ return ACLManager.loadError()
+
+ websitesName = ACLManager.findAllSites(currentACL, userID)
+
+ destinations = []
+ destinations.append('local')
+
+ path = '/home/cyberpanel/sftp'
+
+ for items in os.listdir(path):
+ destinations.append('sftp:%s' % (items))
+
+ for items in os.listdir(path):
+ destinations.append('s3:s3.amazonaws.com/%s' % (items))
+
+ return defRenderer(request, 'IncBackups/scheduleBackups.html', {'websiteList': websitesName, 'destinations': destinations})
+ except BaseException, msg:
+ return HttpResponse(str(msg))
\ No newline at end of file
diff --git a/README.md b/README.md
index daa0159df..11b3c2ecf 100755
--- a/README.md
+++ b/README.md
@@ -24,7 +24,6 @@ Webhosting control panel that uses OpenLiteSpeed as web server.
* PHP 7.0
* PHP 7.1
* PHP 7.2
-* PHP 7.3
# Installation Instructions
diff --git a/backup/backupManager.py b/backup/backupManager.py
old mode 100644
new mode 100755
diff --git a/baseTemplate/templates/baseTemplate/index.html b/baseTemplate/templates/baseTemplate/index.html
old mode 100644
new mode 100755
index 0095a26ba..cdb5d524d
--- a/baseTemplate/templates/baseTemplate/index.html
+++ b/baseTemplate/templates/baseTemplate/index.html
@@ -601,6 +601,9 @@
{% trans "Add Destinations" %}
+ {% trans "Schedule Back ups" %}
+
diff --git a/cli/cliLogger.py b/cli/cliLogger.py
old mode 100644
new mode 100755
diff --git a/emailPremium/templates/emailPremium/emailPage.html b/emailPremium/templates/emailPremium/emailPage.html
old mode 100644
new mode 100755
diff --git a/emailPremium/templates/emailPremium/listDomains.html b/emailPremium/templates/emailPremium/listDomains.html
old mode 100644
new mode 100755
index fe547101b..6f9f0642e
--- a/emailPremium/templates/emailPremium/listDomains.html
+++ b/emailPremium/templates/emailPremium/listDomains.html
@@ -106,4 +106,4 @@ {% trans "Email Policy Server is not enabled " %}
-{% endblock %}
+{% endblock %}
\ No newline at end of file
diff --git a/emailPremium/templates/emailPremium/policyServer.html b/emailPremium/templates/emailPremium/policyServer.html
old mode 100644
new mode 100755
diff --git a/firewall/templates/firewall/index.html b/firewall/templates/firewall/index.html
old mode 100644
new mode 100755
index 4f694aab2..74f1109a4
--- a/firewall/templates/firewall/index.html
+++ b/firewall/templates/firewall/index.html
@@ -85,7 +85,7 @@