mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-07 22:06:05 +01:00
email forwarding: structure for pipe to program
This commit is contained in:
444
.idea/workspace.xml
generated
444
.idea/workspace.xml
generated
@@ -28,39 +28,60 @@
|
||||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/plogical/virtualHostUtilities.py">
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/static/mailServer/mailServer.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1381">
|
||||
<caret line="1132" column="43" selection-start-line="1132" selection-start-column="31" selection-end-line="1132" selection-end-column="43" />
|
||||
<state relative-caret-position="22">
|
||||
<caret line="1035" column="23" selection-start-line="1035" selection-start-column="11" selection-end-line="1035" selection-end-column="23" />
|
||||
<folding>
|
||||
<element signature="e#33#42#0" expanded="true" />
|
||||
<element signature="e#1294#2317#0" />
|
||||
<element signature="e#20255#22112#0" />
|
||||
<element signature="e#22521#24394#0" />
|
||||
<element signature="e#24458#26343#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/plogical/mailUtilities.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="301">
|
||||
<caret line="222" column="28" selection-start-line="222" selection-start-column="28" selection-end-line="222" selection-end-column="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/plogical/processUtilities.py">
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/templates/mailServer/emailForwarding.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="331">
|
||||
<caret line="100" column="92" selection-start-line="100" selection-start-column="92" selection-end-line="100" selection-end-column="92" />
|
||||
<state relative-caret-position="285">
|
||||
<caret line="100" column="117" lean-forward="true" selection-start-line="100" selection-start-column="117" selection-end-line="100" selection-end-column="117" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/mailserverManager.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="292">
|
||||
<caret line="355" column="48" selection-start-line="355" selection-start-column="48" selection-end-line="355" selection-end-column="48" />
|
||||
<folding>
|
||||
<element signature="e#0#64#0" expanded="true" />
|
||||
<element signature="e#5347#7486#0" />
|
||||
<element signature="e#7404#8499#0" />
|
||||
<element signature="e#8540#9296#0" />
|
||||
<element signature="e#9472#12776#0" />
|
||||
<element signature="e#14319#15920#0" />
|
||||
<element signature="e#15985#16779#0" />
|
||||
<element signature="e#16825#18660#0" />
|
||||
<element signature="e#18710#19389#0" />
|
||||
<element signature="e#19428#21357#0" />
|
||||
<element signature="e#21399#24129#0" />
|
||||
<element signature="e#24170#24855#0" />
|
||||
<element signature="e#24902#26851#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="367">
|
||||
<caret line="47" column="33" selection-start-line="47" selection-start-column="33" selection-end-line="47" selection-end-column="33" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
@@ -73,25 +94,6 @@
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>externalApp</find>
|
||||
<find>restoreDatabaseBackup</find>
|
||||
<find>logging.writeToFile</find>
|
||||
<find>build=0</find>
|
||||
<find>version.txt</find>
|
||||
<find>logging</find>
|
||||
<find>Incremen</find>
|
||||
<find>restoreDatabase</find>
|
||||
<find>1.9.0</find>
|
||||
<find>/usr/local/CyberCP/public/rainloop/rainloop/v/1.12.1/include.php</find>
|
||||
<find>CLManager</find>
|
||||
<find>IncBackups</find>
|
||||
<find>chmod</find>
|
||||
<find>stat.</find>
|
||||
<find>destination</find>
|
||||
<find>downloadAndUpgrade</find>
|
||||
<find>/usr/local/CyberCP</find>
|
||||
<find>os.remove</find>
|
||||
<find>shutil.rmtree</find>
|
||||
<find>setupVirtualEnv</find>
|
||||
<find>python</find>
|
||||
<find>setupDKIM</find>
|
||||
@@ -103,6 +105,25 @@
|
||||
<find>addRule</find>
|
||||
<find>firewalld</find>
|
||||
<find>normal</find>
|
||||
<find>Removing OpenLiteSpeed..</find>
|
||||
<find>def decideServer(</find>
|
||||
<find>mirror.cyberpanel.net</find>
|
||||
<find>http</find>
|
||||
<find>loginAPI</find>
|
||||
<find>verify</find>
|
||||
<find>verifylogins</find>
|
||||
<find>https</find>
|
||||
<find>kvm</find>
|
||||
<find>openvz</find>
|
||||
<find>virtualenv</find>
|
||||
<find>createWebsiteAPI</find>
|
||||
<find>selectedEmail</find>
|
||||
<find>emailForwarding</find>
|
||||
<find>emailFor</find>
|
||||
<find>selectForwardingEmail</find>
|
||||
<find>getEmailsForDomain</find>
|
||||
<find>submitForwardDeletion</find>
|
||||
<find>forwardEmail</find>
|
||||
</findStrings>
|
||||
<replaceStrings>
|
||||
<replace>admin.api == 1</replace>
|
||||
@@ -118,6 +139,8 @@
|
||||
<replace>self.website</replace>
|
||||
<replace>statusPath</replace>
|
||||
<replace>cyberpanelLoading</replace>
|
||||
<replace>cyberpanel.sh</replace>
|
||||
<replace>https</replace>
|
||||
</replaceStrings>
|
||||
<dirStrings>
|
||||
<dir>$PROJECT_DIR$/backup</dir>
|
||||
@@ -131,12 +154,6 @@
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/CyberCP/urls.py" />
|
||||
<option value="$PROJECT_DIR$/CyberCP/settings.py" />
|
||||
<option value="$PROJECT_DIR$/backup/views.py" />
|
||||
<option value="$PROJECT_DIR$/managePHP/ubuntuphp70.xml" />
|
||||
<option value="$PROJECT_DIR$/managePHP/ubuntuphp71.xml" />
|
||||
<option value="$PROJECT_DIR$/managePHP/ubuntuphp72.xml" />
|
||||
<option value="$PROJECT_DIR$/managePHP/ubuntuphp73.xml" />
|
||||
<option value="$PROJECT_DIR$/plogical/applicationInstaller.py" />
|
||||
<option value="$PROJECT_DIR$/plogical/cPanelImporter.py" />
|
||||
@@ -148,7 +165,6 @@
|
||||
<option value="$PROJECT_DIR$/emailPremium/templates/emailPremium/policyServer.html" />
|
||||
<option value="$PROJECT_DIR$/firewall/templates/firewall/index.html" />
|
||||
<option value="$PROJECT_DIR$/install/installLog.py" />
|
||||
<option value="$PROJECT_DIR$/loginSystem/templates/loginSystem/login.html" />
|
||||
<option value="$PROJECT_DIR$/plogical/CyberCPLogFileWriter.py" />
|
||||
<option value="$PROJECT_DIR$/plogical/backupSchedule.py" />
|
||||
<option value="$PROJECT_DIR$/plogical/backupScheduleLocal.py" />
|
||||
@@ -159,7 +175,6 @@
|
||||
<option value="$PROJECT_DIR$/postfixSenderPolicy/accept_traffic.py" />
|
||||
<option value="$PROJECT_DIR$/s3Backups/s3Backups.py" />
|
||||
<option value="$PROJECT_DIR$/IncBackups/models.py" />
|
||||
<option value="$PROJECT_DIR$/plogical/csf.py" />
|
||||
<option value="$PROJECT_DIR$/IncBackups/urls.py" />
|
||||
<option value="$PROJECT_DIR$/IncBackups/IncScheduler.py" />
|
||||
<option value="$PROJECT_DIR$/IncBackups/static/IncBackups/IncBackups.js" />
|
||||
@@ -170,23 +185,31 @@
|
||||
<option value="$PROJECT_DIR$/IncBackups/templates/IncBackups/incrementalDestinations.html" />
|
||||
<option value="$PROJECT_DIR$/IncBackups/templates/IncBackups/createBackup.html" />
|
||||
<option value="$PROJECT_DIR$/plogical/adminPass.py" />
|
||||
<option value="$PROJECT_DIR$/loginSystem/views.py" />
|
||||
<option value="$PROJECT_DIR$/baseTemplate/templates/baseTemplate/index.html" />
|
||||
<option value="$PROJECT_DIR$/IncBackups/IncBackupsControl.py" />
|
||||
<option value="$PROJECT_DIR$/IncBackups/templates/IncBackups/backupSchedule.html" />
|
||||
<option value="$PROJECT_DIR$/install/install.py" />
|
||||
<option value="$PROJECT_DIR$/install/firewallUtilities.py" />
|
||||
<option value="$PROJECT_DIR$/IncBackups/views.py" />
|
||||
<option value="$PROJECT_DIR$/preUpgrade.sh" />
|
||||
<option value="$PROJECT_DIR$/plogical/upgrade.py" />
|
||||
<option value="$PROJECT_DIR$/websiteFunctions/website.py" />
|
||||
<option value="$PROJECT_DIR$/plogical/processUtilities.py" />
|
||||
<option value="$PROJECT_DIR$/plogical/mailUtilities.py" />
|
||||
<option value="$PROJECT_DIR$/CyberCP/settings.py" />
|
||||
<option value="$PROJECT_DIR$/loginSystem/views.py" />
|
||||
<option value="$PROJECT_DIR$/loginSystem/templates/loginSystem/login.html" />
|
||||
<option value="$PROJECT_DIR$/plogical/virtualHostUtilities.py" />
|
||||
<option value="$PROJECT_DIR$/plogical/csf.py" />
|
||||
<option value="$PROJECT_DIR$/websiteFunctions/website.py" />
|
||||
<option value="$PROJECT_DIR$/install/install.py" />
|
||||
<option value="$PROJECT_DIR$/mailServer/models.py" />
|
||||
<option value="$PROJECT_DIR$/mailServer/static/mailServer/mailServer.js" />
|
||||
<option value="$PROJECT_DIR$/mailServer/templates/mailServer/emailForwarding.html" />
|
||||
<option value="$PROJECT_DIR$/mailServer/mailserverManager.py" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds" extendedState="6">
|
||||
<option name="x" value="71" />
|
||||
<option name="x" value="145" />
|
||||
<option name="width" value="1221" />
|
||||
<option name="height" value="609" />
|
||||
</component>
|
||||
@@ -206,7 +229,7 @@
|
||||
<path>
|
||||
<item name="CyberCP" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="CyberCP" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="plogical" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="mailServer" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
@@ -419,18 +442,19 @@
|
||||
<workItem from="1570899537960" duration="34622000" />
|
||||
<workItem from="1571158869749" duration="705000" />
|
||||
<workItem from="1571160353900" duration="938000" />
|
||||
<workItem from="1571162569598" duration="12777000" />
|
||||
<workItem from="1571162569598" duration="21905000" />
|
||||
<workItem from="1572178630393" duration="2931000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="721623000" />
|
||||
<option name="totallyTimeSpent" value="733682000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="0" y="-2" width="1366" height="711" extended-state="6" />
|
||||
<frame x="0" y="25" width="1366" height="684" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.09772728" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.022727273" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info id="Favorites" order="2" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
@@ -514,98 +538,6 @@
|
||||
<SUITE FILE_PATH="coverage/CyberCP$upgrade.coverage" NAME="upgrade Coverage Results" MODIFIED="1571472730271" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/plogical" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/install/installLog.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="165">
|
||||
<caret line="11" selection-start-line="11" selection-end-line="11" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/loginSystem/templates/loginSystem/login.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="157">
|
||||
<caret line="69" column="109" lean-forward="true" selection-start-line="69" selection-start-column="109" selection-end-line="69" selection-end-column="109" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/firewall/templates/firewall/index.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
<caret line="101" selection-start-line="101" selection-end-line="101" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/backupScheduleLocal.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
<caret line="60" column="10" selection-start-line="60" selection-start-column="10" selection-end-line="60" selection-end-column="10" />
|
||||
<folding>
|
||||
<element signature="e#0#38#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/backupSchedule.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
<caret line="251" column="10" selection-start-line="251" selection-start-column="10" selection-end-line="251" selection-end-column="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/childDomain.py">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/backupUtilities.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
<caret line="1253" column="10" selection-start-line="1253" selection-start-column="10" selection-end-line="1253" selection-end-column="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/CyberCPLogFileWriter.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="439">
|
||||
<caret line="55" selection-start-line="55" selection-end-line="55" />
|
||||
<folding>
|
||||
<element signature="e#0#17#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/remoteBackup.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
<caret line="363" selection-start-line="363" selection-end-line="363" />
|
||||
<folding>
|
||||
<element signature="e#0#38#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/postfixSenderPolicy/accept_traffic.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="157">
|
||||
<caret line="120" column="39" lean-forward="true" selection-start-line="120" selection-start-column="39" selection-end-line="120" selection-end-column="39" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pluginInstaller/pluginInstaller.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
<caret line="310" column="10" selection-start-line="310" selection-start-column="10" selection-end-line="310" selection-end-column="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/remoteTransferUtilities.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
<caret line="355" column="10" selection-start-line="355" selection-start-column="10" selection-end-line="355" selection-end-column="10" />
|
||||
<folding>
|
||||
<element signature="e#0#15#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/s3Backups/s3Backups.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
@@ -659,20 +591,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/api/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-113">
|
||||
<caret line="347" column="18" selection-start-line="347" selection-start-column="4" selection-end-line="347" selection-end-column="18" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/csf.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="425">
|
||||
<caret line="578" selection-start-line="578" selection-end-line="578" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/IncBackups/urls.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="75">
|
||||
@@ -830,13 +748,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/loginSystem/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="194">
|
||||
<caret line="220" column="56" selection-start-line="220" selection-start-column="56" selection-end-line="220" selection-end-column="56" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/adminPass.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="184">
|
||||
@@ -867,13 +778,6 @@
|
||||
<entry file="file://$PROJECT_DIR$/baseTemplate/templates/baseTemplate/indexJavaFixed.html">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/CyberCP/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="67" column="15" selection-start-line="67" selection-start-column="5" selection-end-line="67" selection-end-column="15" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/baseTemplate/templates/baseTemplate/homePage.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="450">
|
||||
@@ -1125,13 +1029,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/websiteFunctions/website.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="301">
|
||||
<caret line="265" column="47" selection-start-line="265" selection-start-column="47" selection-end-line="265" selection-end-column="47" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/preUpgrade.sh">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="150">
|
||||
@@ -1151,24 +1048,10 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/install/install.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="241">
|
||||
<caret line="2505" column="37" selection-start-line="2505" selection-start-column="30" selection-end-line="2505" selection-end-column="37" />
|
||||
<folding>
|
||||
<element signature="e#0#10#0" expanded="true" />
|
||||
<element signature="e#143696#150827#0" />
|
||||
<element signature="e#150888#151548#0" />
|
||||
<element signature="e#151611#152278#0" />
|
||||
<element signature="e#152347#153095#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/virtualHostUtilities.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1381">
|
||||
<caret line="1132" column="43" selection-start-line="1132" selection-start-column="31" selection-end-line="1132" selection-end-column="43" />
|
||||
<state relative-caret-position="439">
|
||||
<caret line="1450" selection-start-line="1450" selection-end-line="1450" />
|
||||
<folding>
|
||||
<element signature="e#33#42#0" expanded="true" />
|
||||
<element signature="e#1294#2317#0" />
|
||||
@@ -1176,22 +1059,183 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/serverStatus/templates/serverStatus/litespeedStatus.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<folding>
|
||||
<element signature="e#279#291#0#DjangoTemplate" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/serverStatus/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="270">
|
||||
<caret line="44" column="40" selection-start-line="44" selection-start-column="28" selection-end-line="44" selection-end-column="40" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/processUtilities.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="331">
|
||||
<caret line="100" column="92" selection-start-line="100" selection-start-column="92" selection-end-line="100" selection-end-column="92" />
|
||||
<state relative-caret-position="391">
|
||||
<caret line="136" column="25" selection-start-line="136" selection-start-column="25" selection-end-line="136" selection-end-column="25" />
|
||||
<folding>
|
||||
<element signature="e#0#64#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/serverStatus/serverStatusUtil.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="244">
|
||||
<caret line="308" column="27" lean-forward="true" selection-start-line="308" selection-start-column="27" selection-end-line="308" selection-end-column="54" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/mailUtilities.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="301">
|
||||
<state relative-caret-position="211">
|
||||
<caret line="222" column="28" selection-start-line="222" selection-start-column="28" selection-end-line="222" selection-end-column="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/loginSystem/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/api/urls.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<folding>
|
||||
<element signature="e#0#32#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/plogical/csf.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="412">
|
||||
<caret line="583" selection-start-line="583" selection-end-line="583" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/CyberCP/settings.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="367">
|
||||
<caret line="188" column="8" selection-start-line="188" selection-end-line="188" selection-end-column="25" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/loginSystem/templates/loginSystem/login.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="277">
|
||||
<caret line="194" column="58" selection-start-line="194" selection-start-column="58" selection-end-line="194" selection-end-column="58" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/loginSystem/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="255">
|
||||
<caret line="108" column="61" selection-start-line="108" selection-start-column="55" selection-end-line="108" selection-end-column="61" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/install/install.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="472">
|
||||
<caret line="3916" selection-start-line="3916" selection-end-line="3916" />
|
||||
<folding>
|
||||
<element signature="e#0#10#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/api/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="300">
|
||||
<caret line="65" column="30" selection-start-line="65" selection-start-column="14" selection-end-line="65" selection-end-column="30" />
|
||||
<folding>
|
||||
<element signature="e#887#1886#0" />
|
||||
<element signature="e#2415#4106#0" />
|
||||
<element signature="e#4157#5566#0" />
|
||||
<element signature="e#5616#7031#0" />
|
||||
<element signature="e#7078#8526#0" />
|
||||
<element signature="e#8579#9661#0" />
|
||||
<element signature="e#9703#10459#0" />
|
||||
<element signature="e#10504#12065#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/websiteFunctions/website.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="397">
|
||||
<caret line="2099" column="78" selection-start-line="2099" selection-start-column="78" selection-end-line="2099" selection-end-column="78" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/install/installCyberPanel.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="166">
|
||||
<caret line="31" column="52" selection-start-line="31" selection-start-column="52" selection-end-line="31" selection-end-column="52" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/views.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="181">
|
||||
<caret line="21" column="20" lean-forward="true" selection-start-line="21" selection-start-column="20" selection-end-line="21" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/models.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="367">
|
||||
<caret line="47" column="33" selection-start-line="47" selection-start-column="33" selection-end-line="47" selection-end-column="33" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/static/mailServer/mailServer.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="22">
|
||||
<caret line="1035" column="23" selection-start-line="1035" selection-start-column="11" selection-end-line="1035" selection-end-column="23" />
|
||||
<folding>
|
||||
<element signature="e#20255#22112#0" />
|
||||
<element signature="e#22521#24394#0" />
|
||||
<element signature="e#24458#26343#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/templates/mailServer/emailForwarding.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="285">
|
||||
<caret line="100" column="117" lean-forward="true" selection-start-line="100" selection-start-column="117" selection-end-line="100" selection-end-column="117" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/mailServer/mailserverManager.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="292">
|
||||
<caret line="355" column="48" selection-start-line="355" selection-start-column="48" selection-end-line="355" selection-end-column="48" />
|
||||
<folding>
|
||||
<element signature="e#5347#7486#0" />
|
||||
<element signature="e#7404#8499#0" />
|
||||
<element signature="e#8540#9296#0" />
|
||||
<element signature="e#9472#12776#0" />
|
||||
<element signature="e#14319#15920#0" />
|
||||
<element signature="e#15985#16779#0" />
|
||||
<element signature="e#16825#18660#0" />
|
||||
<element signature="e#18710#19389#0" />
|
||||
<element signature="e#19428#21357#0" />
|
||||
<element signature="e#21399#24129#0" />
|
||||
<element signature="e#24170#24855#0" />
|
||||
<element signature="e#24902#26851#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
||||
@@ -186,6 +186,7 @@ LANGUAGES = (
|
||||
('pl', _('Polish')),
|
||||
('vi', _('Vietnamese')),
|
||||
('it', _('Italian')),
|
||||
('de', _('Deutsch')),
|
||||
)
|
||||
|
||||
MEDIA_URL = '/home/cyberpanel/media/'
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
locale/de/LC_MESSAGES/django.mo
Normal file
BIN
locale/de/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
6728
locale/de/LC_MESSAGES/django.po
Normal file
6728
locale/de/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -3,43 +3,93 @@
|
||||
<head>
|
||||
<style>
|
||||
/* Loading Spinner */
|
||||
.spinner{margin:0;width:70px;height:18px;margin:-35px 0 0 -9px;position:absolute;top:50%;left:50%;text-align:center}.spinner > div{width:18px;height:18px;background-color:#333;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.spinner .bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.spinner .bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes bouncedelay{0%,80%,100%{-webkit-transform:scale(0.0)}40%{-webkit-transform:scale(1.0)}}@keyframes bouncedelay{0%,80%,100%{transform:scale(0.0);-webkit-transform:scale(0.0)}40%{transform:scale(1.0);-webkit-transform:scale(1.0)}}
|
||||
.spinner {
|
||||
margin: 0;
|
||||
width: 70px;
|
||||
height: 18px;
|
||||
margin: -35px 0 0 -9px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.spinner > div {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-color: #333;
|
||||
border-radius: 100%;
|
||||
display: inline-block;
|
||||
-webkit-animation: bouncedelay 1.4s infinite ease-in-out;
|
||||
animation: bouncedelay 1.4s infinite ease-in-out;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both
|
||||
}
|
||||
|
||||
.spinner .bounce1 {
|
||||
-webkit-animation-delay: -.32s;
|
||||
animation-delay: -.32s
|
||||
}
|
||||
|
||||
.spinner .bounce2 {
|
||||
-webkit-animation-delay: -.16s;
|
||||
animation-delay: -.16s
|
||||
}
|
||||
|
||||
@-webkit-keyframes bouncedelay {
|
||||
0%, 80%, 100% {
|
||||
-webkit-transform: scale(0.0)
|
||||
}
|
||||
40% {
|
||||
-webkit-transform: scale(1.0)
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes bouncedelay {
|
||||
0%, 80%, 100% {
|
||||
transform: scale(0.0);
|
||||
-webkit-transform: scale(0.0)
|
||||
}
|
||||
40% {
|
||||
transform: scale(1.0);
|
||||
-webkit-transform: scale(1.0)
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<meta charset="UTF-8">
|
||||
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
||||
<title> Login - CyberPanel </title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
|
||||
<title> Login - CyberPanel </title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||
|
||||
<!-- Favicons -->
|
||||
{% load static %}
|
||||
<!-- Favicons -->
|
||||
{% load static %}
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'baseTemplate/assets/finalLoginPageCSS/allCss.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'baseTemplate/assets/finalLoginPageCSS/allCss.css' %}">
|
||||
|
||||
<!-- HELPERS -->
|
||||
<!-- HELPERS -->
|
||||
|
||||
<!-- ELEMENTS -->
|
||||
<!-- ELEMENTS -->
|
||||
|
||||
<!-- ICONS -->
|
||||
<!-- ICONS -->
|
||||
|
||||
<!-- Admin theme -->
|
||||
<!-- Admin theme -->
|
||||
|
||||
<!-- Components theme -->
|
||||
<!-- Components theme -->
|
||||
|
||||
<!-- JS Core -->
|
||||
<!-- JS Core -->
|
||||
|
||||
<script type="text/javascript" src="{% static 'baseTemplate/assets/js-core/jquery-core.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'baseTemplate/assets/js-core/jquery-core.min.js' %}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(window).load(function(){
|
||||
setTimeout(function() {
|
||||
$('#loading').fadeOut( 400, "linear" );
|
||||
}, 300);
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- JS Ends -->
|
||||
<script type="text/javascript">
|
||||
$(window).load(function () {
|
||||
setTimeout(function () {
|
||||
$('#loading').fadeOut(400, "linear");
|
||||
}, 300);
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- JS Ends -->
|
||||
|
||||
|
||||
</head>
|
||||
@@ -54,14 +104,14 @@
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
html,body {
|
||||
html, body {
|
||||
height: 100%;
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="center-vertical">
|
||||
<div class="center-vertical">
|
||||
<div class="center-content row">
|
||||
|
||||
<div class="col-md-8 col-lg-6 clearfix center-margin">
|
||||
@@ -105,7 +155,8 @@
|
||||
<div class="form-group">
|
||||
|
||||
<div class="input-group">
|
||||
<input ng-model="username" type="text" class="form-control" name="username" placeholder="Enter username" required>
|
||||
<input ng-model="username" type="text" class="form-control" name="username"
|
||||
placeholder="Enter username" required>
|
||||
<span class="input-group-addon bg-blue">
|
||||
<i class="glyph-icon icon-envelope-o"></i>
|
||||
</span>
|
||||
@@ -113,45 +164,50 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<input ng-keypress="initiateLogin($event)" ng-model="password" type="password" class="form-control" id="password" placeholder="Password" required>
|
||||
<input ng-keypress="initiateLogin($event)" ng-model="password" type="password"
|
||||
class="form-control" id="password" placeholder="Password" required>
|
||||
<span class="input-group-addon bg-blue">
|
||||
<i class="glyph-icon icon-unlock-alt"></i>
|
||||
</span>
|
||||
</div>
|
||||
<img id="verifyingLogin" class="center-block" src="{% static 'images/loading.gif' %}">
|
||||
<img id="verifyingLogin" class="center-block"
|
||||
src="{% static 'images/loading.gif' %}">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<select ng-model="languageSelection" ng-init="languageSelection='english'" class="form-control">
|
||||
<option value="english">English</option>
|
||||
<option>Chinese</option>
|
||||
<option>Italian</option>
|
||||
<option>French</option>
|
||||
<option>Bulgarian</option>
|
||||
<option>Portuguese</option>
|
||||
<option>Japanese</option>
|
||||
<option>Bosnian</option>
|
||||
<option>Greek</option>
|
||||
<option>Russian</option>
|
||||
<option>Turkish</option>
|
||||
<option>Spanish</option>
|
||||
<option>Polish</option>
|
||||
<option>Vietnamese</option>
|
||||
<select ng-model="languageSelection" ng-init="languageSelection='english'"
|
||||
class="form-control">
|
||||
<option value="english">English</option>
|
||||
<option>Chinese</option>
|
||||
<option>Italian</option>
|
||||
<option>French</option>
|
||||
<option>Bulgarian</option>
|
||||
<option>Portuguese</option>
|
||||
<option>Japanese</option>
|
||||
<option>Bosnian</option>
|
||||
<option>Greek</option>
|
||||
<option>Russian</option>
|
||||
<option>Turkish</option>
|
||||
<option>Spanish</option>
|
||||
<option>Polish</option>
|
||||
<option>Vietnamese</option>
|
||||
<option>German</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<button type="button" ng-click="verifyLoginCredentials()" class="btn btn-success btn-block">Sign In</button>
|
||||
<button type="button" ng-click="verifyLoginCredentials()"
|
||||
class="btn btn-success btn-block">Sign In
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div id="loginFailed" class="alert alert-danger">
|
||||
<p>Could Not Login, Error message: {$ errorMessage $}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
@@ -160,7 +216,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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.angularjs.org/1.6.5/angular-route.min.js"></script>
|
||||
<script src="{% static 'loginSystem/login-systen.js' %}"></script>
|
||||
|
||||
|
||||
@@ -106,6 +106,11 @@ def verifyLogin(request):
|
||||
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
||||
request.COOKIES['django_language'] = user_Language
|
||||
settings.LANGUAGE_CODE = user_Language
|
||||
elif data['languageSelection'] == "German":
|
||||
user_Language = "de"
|
||||
request.session[LANGUAGE_SESSION_KEY] = user_Language
|
||||
request.COOKIES['django_language'] = user_Language
|
||||
settings.LANGUAGE_CODE = user_Language
|
||||
except:
|
||||
request.session[LANGUAGE_SESSION_KEY] = "en"
|
||||
request.COOKIES['django_language'] = "en"
|
||||
|
||||
@@ -18,7 +18,7 @@ from plogical.mailUtilities import mailUtilities
|
||||
import thread
|
||||
from dns.models import Domains as dnsDomains
|
||||
from dns.models import Records as dnsRecords
|
||||
from mailServer.models import Forwardings
|
||||
from mailServer.models import Forwardings, Pipeprograms
|
||||
from plogical.acl import ACLManager
|
||||
import os
|
||||
from plogical.dnsUtilities import DNS
|
||||
@@ -255,40 +255,69 @@ class MailServerManager:
|
||||
|
||||
data = json.loads(self.request.body)
|
||||
emailAddress = data['emailAddress']
|
||||
forwardingOption = data['forwardingOption']
|
||||
|
||||
eUser = EUsers.objects.get(email=emailAddress)
|
||||
if forwardingOption != "Pipe to program":
|
||||
eUser = EUsers.objects.get(email=emailAddress)
|
||||
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
if ACLManager.checkOwnership(eUser.emailOwner.domainOwner.domain, admin, currentACL) == 1:
|
||||
pass
|
||||
else:
|
||||
return ACLManager.loadErrorJson()
|
||||
|
||||
currentForwardings = Forwardings.objects.filter(source=emailAddress)
|
||||
|
||||
json_data = "["
|
||||
checker = 0
|
||||
id = 1
|
||||
for items in currentForwardings:
|
||||
if items.source == items.destination:
|
||||
continue
|
||||
dic = {'id': id,
|
||||
'source': items.source,
|
||||
'destination': items.destination}
|
||||
|
||||
id = id + 1
|
||||
|
||||
if checker == 0:
|
||||
json_data = json_data + json.dumps(dic)
|
||||
checker = 1
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
if ACLManager.checkOwnership(eUser.emailOwner.domainOwner.domain, admin, currentACL) == 1:
|
||||
pass
|
||||
else:
|
||||
json_data = json_data + ',' + json.dumps(dic)
|
||||
return ACLManager.loadErrorJson()
|
||||
|
||||
json_data = json_data + ']'
|
||||
final_dic = {'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": json_data}
|
||||
final_json = json.dumps(final_dic)
|
||||
currentForwardings = Forwardings.objects.filter(source=emailAddress)
|
||||
|
||||
return HttpResponse(final_json)
|
||||
json_data = "["
|
||||
checker = 0
|
||||
id = 1
|
||||
for items in currentForwardings:
|
||||
if items.source == items.destination:
|
||||
continue
|
||||
dic = {'id': id,
|
||||
'source': items.source,
|
||||
'destination': items.destination}
|
||||
|
||||
id = id + 1
|
||||
|
||||
if checker == 0:
|
||||
json_data = json_data + json.dumps(dic)
|
||||
checker = 1
|
||||
else:
|
||||
json_data = json_data + ',' + json.dumps(dic)
|
||||
|
||||
json_data = json_data + ']'
|
||||
final_dic = {'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": json_data}
|
||||
final_json = json.dumps(final_dic)
|
||||
|
||||
return HttpResponse(final_json)
|
||||
else:
|
||||
|
||||
currentForwardings = Pipeprograms.objects.filter(source=emailAddress)
|
||||
|
||||
json_data = "["
|
||||
checker = 0
|
||||
id = 1
|
||||
for items in currentForwardings:
|
||||
if items.source == items.destination:
|
||||
continue
|
||||
dic = {'id': id,
|
||||
'source': items.source,
|
||||
'destination': items.destination}
|
||||
|
||||
id = id + 1
|
||||
|
||||
if checker == 0:
|
||||
json_data = json_data + json.dumps(dic)
|
||||
checker = 1
|
||||
else:
|
||||
json_data = json_data + ',' + json.dumps(dic)
|
||||
|
||||
json_data = json_data + ']'
|
||||
final_dic = {'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": json_data}
|
||||
final_json = json.dumps(final_dic)
|
||||
|
||||
return HttpResponse(final_json)
|
||||
|
||||
|
||||
except BaseException, msg:
|
||||
@@ -306,6 +335,7 @@ class MailServerManager:
|
||||
data = json.loads(self.request.body)
|
||||
destination = data['destination']
|
||||
source = data['source']
|
||||
forwardingOption = data['forwardingOption']
|
||||
|
||||
eUser = EUsers.objects.get(email=source)
|
||||
|
||||
@@ -315,8 +345,15 @@ class MailServerManager:
|
||||
else:
|
||||
return ACLManager.loadErrorJson()
|
||||
|
||||
for items in Forwardings.objects.filter(destination=destination, source=source):
|
||||
items.delete()
|
||||
if forwardingOption == 'Forward to email':
|
||||
for items in Forwardings.objects.filter(destination=destination, source=source):
|
||||
items.delete()
|
||||
else:
|
||||
for items in Pipeprograms.objects.filter(destination=destination, source=source):
|
||||
items.delete()
|
||||
|
||||
### Michael Ramsey
|
||||
## Treat your path deletion code here.
|
||||
|
||||
data_ret = {'status': 1, 'deleteForwardingStatus': 1, 'error_message': "None",
|
||||
'successMessage': 'Successfully deleted!'}
|
||||
@@ -338,6 +375,7 @@ class MailServerManager:
|
||||
data = json.loads(self.request.body)
|
||||
source = data['source']
|
||||
destination = data['destination']
|
||||
forwardingOption = data['forwardingOption']
|
||||
|
||||
eUser = EUsers.objects.get(email=source)
|
||||
|
||||
@@ -353,12 +391,19 @@ class MailServerManager:
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
|
||||
if Forwardings.objects.filter(source=source).count() == 0:
|
||||
forwarding = Forwardings(source=source, destination=source)
|
||||
if forwardingOption == 'Forward to email':
|
||||
if Forwardings.objects.filter(source=source).count() == 0:
|
||||
forwarding = Forwardings(source=source, destination=source)
|
||||
forwarding.save()
|
||||
|
||||
forwarding = Forwardings(source=source, destination=destination)
|
||||
forwarding.save()
|
||||
else:
|
||||
forwarding = Pipeprograms(source=source, destination=destination)
|
||||
forwarding.save()
|
||||
|
||||
forwarding = Forwardings(source=source, destination=destination)
|
||||
forwarding.save()
|
||||
### Michael Ramsey
|
||||
## Treat your path creation code here.
|
||||
|
||||
data_ret = {'status': 1, 'createStatus': 1, 'error_message': "None", 'successMessage': 'Successfully Created!'}
|
||||
json_data = json.dumps(data_ret)
|
||||
@@ -369,7 +414,6 @@ class MailServerManager:
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
|
||||
|
||||
def fetchEmails(self):
|
||||
try:
|
||||
userID = self.request.session['userID']
|
||||
|
||||
@@ -43,3 +43,8 @@ class Transport(models.Model):
|
||||
|
||||
class Meta:
|
||||
db_table = 'e_transport'
|
||||
|
||||
|
||||
class Pipeprograms(models.Model):
|
||||
source = models.CharField(max_length=80)
|
||||
destination = models.TextField()
|
||||
|
||||
@@ -898,6 +898,7 @@ app.controller('emailForwarding', function ($scope, $http) {
|
||||
|
||||
|
||||
var data = {
|
||||
forwardingOption: $scope.forwardingOption,
|
||||
emailAddress: $scope.selectedEmail
|
||||
};
|
||||
|
||||
@@ -971,6 +972,7 @@ app.controller('emailForwarding', function ($scope, $http) {
|
||||
|
||||
|
||||
var data = {
|
||||
forwardingOption: $scope.forwardingOption,
|
||||
destination: destination,
|
||||
source: source
|
||||
};
|
||||
@@ -1045,6 +1047,7 @@ app.controller('emailForwarding', function ($scope, $http) {
|
||||
|
||||
|
||||
var data = {
|
||||
forwardingOption: $scope.forwardingOption,
|
||||
source: $scope.selectedEmail,
|
||||
destination: $scope.destinationEmail
|
||||
};
|
||||
|
||||
@@ -51,12 +51,22 @@
|
||||
<div ng-hide="emailDetails" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Select Email" %} </label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-change="selectForwardingEmail()" ng-model="selectedEmail" class="form-control">
|
||||
<select ng-model="selectedEmail" class="form-control">
|
||||
<option ng-repeat="email in emails track by $index">{$ email.email $}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="emailDetails" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Forwarding Options" %} </label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-change="selectForwardingEmail()" ng-model="forwardingOption" class="form-control">
|
||||
<option>Forward to email</option>
|
||||
<option>Pipe to program</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!------ Modification form that appears after a click --------------->
|
||||
|
||||
<div ng-hide="notifyBox" class="form-group">
|
||||
@@ -88,7 +98,7 @@
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<input placeholder="{% trans 'Destination' %}" type="email" class="form-control" ng-model="destinationEmail" required>
|
||||
<input placeholder="{% trans 'Destination' %} {% trans 'or path to the program' %}" type="text" class="form-control" ng-model="destinationEmail" required>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -78,8 +78,8 @@ class CSF(multi.Thread):
|
||||
elif ProcessUtilities.decideDistro() == ProcessUtilities.ubuntu:
|
||||
command = 'apt-get install dnsutils libwww-perl liblwp-protocol-https-perl libgd-graph-perl net-tools -y'
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
command = 'ln -s /bin/systemctl /usr/bin/systemctl'
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
command = 'ln -s /bin/systemctl /usr/bin/systemctl'
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
else:
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(CSF.installLogPath,
|
||||
@@ -95,14 +95,15 @@ class CSF(multi.Thread):
|
||||
writeToConf.writelines(
|
||||
'TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,1025,7080,8090,40110:40210"\n')
|
||||
elif items.find('TCP_OUT') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
writeToConf.writelines('TCP_OUT = "20,21,22,25,43,53,80,110,113,443,587,993,995,8090,40110:40210"\n')
|
||||
writeToConf.writelines(
|
||||
'TCP_OUT = "20,21,22,25,43,53,80,110,113,443,587,993,995,8090,40110:40210"\n')
|
||||
elif items.find('UDP_IN') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
writeToConf.writelines('UDP_IN = "20,21,53"\n')
|
||||
elif items.find('UDP_OUT') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
writeToConf.writelines('UDP_OUT = "20,21,53,113,123"\n')
|
||||
elif items.find('TESTING =') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
writeToConf.writelines('TESTING = "0"\n')
|
||||
# setting RESTRICT_SYSLOG to "3" for use with option RESTRICT_SYSLOG_GROUP
|
||||
# setting RESTRICT_SYSLOG to "3" for use with option RESTRICT_SYSLOG_GROUP
|
||||
elif items.find('RESTRICT_SYSLOG =') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
writeToConf.writelines('RESTRICT_SYSLOG = "3"\n')
|
||||
|
||||
@@ -282,21 +283,21 @@ class CSF(multi.Thread):
|
||||
# HTACCESS_LOG is ins main error.log
|
||||
elif items.find('HTACCESS_LOG =') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
writeToConf.writelines('HTACCESS_LOG = "/usr/local/lsws/logs/error.log"\n')
|
||||
|
||||
|
||||
# SYSLOG_CHECK Check whether syslog is running
|
||||
elif items.find('SYSLOG_CHECK =') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
writeToConf.writelines('SYSLOG_CHECK = "300"\n')
|
||||
|
||||
# CSF UI enable
|
||||
#elif items.find('UI = "0"') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
|
||||
# CSF UI enable
|
||||
# elif items.find('UI = "0"') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# writeToConf.writelines('UI = "1"\n')
|
||||
#elif items.find('UI_ALLOW') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# elif items.find('UI_ALLOW') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# writeToConf.writelines('UI_ALLOW = "0"\n')
|
||||
#elif items.find('UI_PORT =') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# elif items.find('UI_PORT =') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# writeToConf.writelines('UI_PORT = "1025"\n')
|
||||
#elif items.find('UI_USER') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# elif items.find('UI_USER') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# writeToConf.writelines('UI_USER = "cyberpanel"\n')
|
||||
#elif items.find('UI_PASS') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# elif items.find('UI_PASS') > -1 and items.find('=') > -1 and (items[0] != '#'):
|
||||
# writeToConf.writelines('UI_PASS = "csfadmin1234567"\n')
|
||||
else:
|
||||
writeToConf.writelines(items)
|
||||
@@ -331,7 +332,6 @@ class CSF(multi.Thread):
|
||||
|
||||
##
|
||||
|
||||
|
||||
command = 'csf -s'
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
|
||||
@@ -556,6 +556,7 @@ class CSF(multi.Thread):
|
||||
except BaseException, msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[checkIP]")
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='CSF Manager')
|
||||
parser.add_argument('function', help='Specific a function to call!')
|
||||
|
||||
@@ -3,6 +3,7 @@ import os
|
||||
import os.path
|
||||
import sys
|
||||
import django
|
||||
|
||||
sys.path.append('/usr/local/CyberCP')
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
|
||||
try:
|
||||
@@ -38,6 +39,7 @@ try:
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
## If you want justice, you have come to the wrong place.
|
||||
|
||||
|
||||
@@ -77,12 +79,13 @@ class virtualHostUtilities:
|
||||
|
||||
writeToFile.close()
|
||||
|
||||
|
||||
Server_root = "/usr/local/lsws"
|
||||
cyberPanel = "/usr/local/CyberCP"
|
||||
|
||||
@staticmethod
|
||||
def createVirtualHost(virtualHostName, administratorEmail, phpVersion, virtualHostUser, ssl,
|
||||
dkimCheck, openBasedir, websiteOwner, packageName, apache, tempStatusPath = '/home/cyberpanel/fakePath'):
|
||||
dkimCheck, openBasedir, websiteOwner, packageName, apache,
|
||||
tempStatusPath='/home/cyberpanel/fakePath'):
|
||||
try:
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Running some checks..,0')
|
||||
@@ -92,7 +95,8 @@ class virtualHostUtilities:
|
||||
admin = Administrator.objects.get(userName=websiteOwner)
|
||||
|
||||
if ACLManager.websitesLimitCheck(admin, 1) == 0:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'You\'ve reached maximum websites limit as a reseller. [404]')
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath,
|
||||
'You\'ve reached maximum websites limit as a reseller. [404]')
|
||||
return 0, 'You\'ve reached maximum websites limit as a reseller.'
|
||||
|
||||
####### Limitations Check End
|
||||
@@ -102,7 +106,8 @@ class virtualHostUtilities:
|
||||
return 0, "This website already exists."
|
||||
|
||||
if ChildDomains.objects.filter(domain=virtualHostName).count() > 0:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'This website already exists as child domain. [404]')
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath,
|
||||
'This website already exists as child domain. [404]')
|
||||
return 0, "This website already exists as child domain."
|
||||
|
||||
####### Limitations Check End
|
||||
@@ -118,7 +123,8 @@ class virtualHostUtilities:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Setting up directories..,25')
|
||||
|
||||
if vhost.checkIfVirtualHostExists(virtualHostName) == 1:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Virtual Host Directory already exists. [404]')
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath,
|
||||
'Virtual Host Directory already exists. [404]')
|
||||
return 0, "Virtual Host Directory already exists!"
|
||||
|
||||
if vhost.checkIfAliasExists(virtualHostName) == 1:
|
||||
@@ -130,7 +136,7 @@ class virtualHostUtilities:
|
||||
raise BaseException(retValues[1])
|
||||
|
||||
retValues = vhost.createDirectoryForVirtualHost(virtualHostName, administratorEmail,
|
||||
virtualHostUser, phpVersion, openBasedir)
|
||||
virtualHostUser, phpVersion, openBasedir)
|
||||
if retValues[0] == 0:
|
||||
raise BaseException(retValues[1])
|
||||
|
||||
@@ -148,7 +154,6 @@ class virtualHostUtilities:
|
||||
|
||||
website.save()
|
||||
|
||||
|
||||
if ssl == 1:
|
||||
sslPath = "/home/" + virtualHostName + "/public_html"
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Setting up SSL..,70')
|
||||
@@ -177,7 +182,7 @@ class virtualHostUtilities:
|
||||
raise BaseException(result[1])
|
||||
|
||||
result = ApacheVhost.setupApacheVhost(administratorEmail, virtualHostUser, virtualHostUser,
|
||||
phpVersion, virtualHostName)
|
||||
phpVersion, virtualHostName)
|
||||
if result[0] == 0:
|
||||
raise BaseException(result[1])
|
||||
else:
|
||||
@@ -191,7 +196,6 @@ class virtualHostUtilities:
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'DKIM Setup..,90')
|
||||
|
||||
|
||||
## DKIM Check
|
||||
|
||||
postFixPath = '/home/cyberpanel/postfix'
|
||||
@@ -236,15 +240,14 @@ class virtualHostUtilities:
|
||||
try:
|
||||
clPackage = CLPackages.objects.get(owner=selectedPackage)
|
||||
command = 'sudo lvectl package-set %s --speed=%s --pmem=%s --io=%s --nproc=%s --iops=%s --vmem=%s --ep=%s' % (
|
||||
clPackage.name, clPackage.speed, clPackage.pmem, clPackage.io, clPackage.np, clPackage.iops, clPackage.vmem, clPackage.ep)
|
||||
clPackage.name, clPackage.speed, clPackage.pmem, clPackage.io, clPackage.np, clPackage.iops,
|
||||
clPackage.vmem, clPackage.ep)
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
command = 'sudo lvectl apply all'
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
|
||||
return 1, 'None'
|
||||
|
||||
except BaseException, msg:
|
||||
@@ -424,7 +427,6 @@ class virtualHostUtilities:
|
||||
|
||||
## Get wordpress
|
||||
|
||||
|
||||
if not os.path.exists("latest.tar.gz"):
|
||||
command = 'wget --no-check-certificate http://wordpress.org/latest.tar.gz -O latest.tar.gz'
|
||||
cmd = shlex.split(command)
|
||||
@@ -553,7 +555,7 @@ class virtualHostUtilities:
|
||||
|
||||
destPrivKey = "/usr/local/lscp/conf/key.pem"
|
||||
destCert = "/usr/local/lscp/conf/cert.pem"
|
||||
|
||||
|
||||
lswsAdminPrivKey = "/usr/local/lsws/admin/conf/cert/admin.key"
|
||||
lswsAdminCert = "/usr/local/lsws/admin/conf/cert/admin.crt"
|
||||
|
||||
@@ -568,7 +570,7 @@ class virtualHostUtilities:
|
||||
os.remove(destPrivKey)
|
||||
if os.path.exists(destCert):
|
||||
os.remove(destCert)
|
||||
|
||||
|
||||
## removing self signed certs for lsws webadmin
|
||||
if os.path.exists(lswsAdminCert):
|
||||
os.remove(lswsAdminCert)
|
||||
@@ -590,7 +592,6 @@ class virtualHostUtilities:
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
command = 'ln -s /usr/local/lscp/conf/key.pem /usr/local/lsws/admin/conf/webadmin.key'
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
|
||||
|
||||
adminEmail = "email@" + virtualHost
|
||||
|
||||
@@ -609,7 +610,7 @@ class virtualHostUtilities:
|
||||
subprocess.call(cmd)
|
||||
|
||||
print "1,None"
|
||||
return 1,'None'
|
||||
return 1, 'None'
|
||||
|
||||
|
||||
except BaseException, msg:
|
||||
@@ -703,13 +704,13 @@ class virtualHostUtilities:
|
||||
p.start()
|
||||
|
||||
print "1,None"
|
||||
return 1,'None'
|
||||
return 1, 'None'
|
||||
|
||||
except BaseException, msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(
|
||||
str(msg) + " [issueSSLForHostName]")
|
||||
print "0," + str(msg)
|
||||
return 0,str(msg)
|
||||
return 0, str(msg)
|
||||
|
||||
@staticmethod
|
||||
def createAlias(masterDomain, aliasDomain, ssl, sslPath, administratorEmail, owner=None):
|
||||
@@ -718,7 +719,6 @@ class virtualHostUtilities:
|
||||
admin = Administrator.objects.get(userName=owner)
|
||||
DNS.dnsTemplate(aliasDomain, admin)
|
||||
|
||||
|
||||
if vhost.checkIfAliasExists(aliasDomain) == 1:
|
||||
print "0, This domain already exists as vHost or Alias."
|
||||
return
|
||||
@@ -774,7 +774,7 @@ class virtualHostUtilities:
|
||||
|
||||
website = Websites.objects.get(domain=masterDomain)
|
||||
|
||||
newAlias = aliasDomains(master=website, aliasDomain = aliasDomain)
|
||||
newAlias = aliasDomains(master=website, aliasDomain=aliasDomain)
|
||||
newAlias.save()
|
||||
|
||||
print "1,None"
|
||||
@@ -888,7 +888,6 @@ class virtualHostUtilities:
|
||||
|
||||
data = open(completePathToConfigFile, 'r').readlines()
|
||||
|
||||
|
||||
if openBasedirValue == 'Disable':
|
||||
writeToFile = open(completePathToConfigFile, 'w')
|
||||
for items in data:
|
||||
@@ -913,7 +912,8 @@ class virtualHostUtilities:
|
||||
if items.find('phpIniOverride') > -1:
|
||||
writeToFile.writelines(items)
|
||||
if fileManagerCheck == 1:
|
||||
writeToFile.writelines('php_admin_value open_basedir "/tmp:/usr/local/lsws/Example/html/FileManager:$VH_ROOT"\n')
|
||||
writeToFile.writelines(
|
||||
'php_admin_value open_basedir "/tmp:/usr/local/lsws/Example/html/FileManager:$VH_ROOT"\n')
|
||||
fileManagerCheck = 0
|
||||
continue
|
||||
else:
|
||||
@@ -1006,7 +1006,6 @@ class virtualHostUtilities:
|
||||
os.remove(keyPath)
|
||||
os.remove(certPath)
|
||||
|
||||
|
||||
sslUtilities.sslUtilities.installSSLForDomain(virtualHost)
|
||||
|
||||
installUtilities.installUtilities.reStartLiteSpeed()
|
||||
@@ -1025,7 +1024,8 @@ class virtualHostUtilities:
|
||||
print "0," + str(msg)
|
||||
|
||||
@staticmethod
|
||||
def createDomain(masterDomain, virtualHostName, phpVersion, path, ssl, dkimCheck, openBasedir, owner, apache, tempStatusPath = '/home/cyberpanel/fakePath'):
|
||||
def createDomain(masterDomain, virtualHostName, phpVersion, path, ssl, dkimCheck, openBasedir, owner, apache,
|
||||
tempStatusPath='/home/cyberpanel/fakePath'):
|
||||
try:
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Running some checks..,0')
|
||||
@@ -1035,13 +1035,14 @@ class virtualHostUtilities:
|
||||
admin = Administrator.objects.get(userName=owner)
|
||||
DNS.dnsTemplate(virtualHostName, admin)
|
||||
|
||||
|
||||
if Websites.objects.filter(domain=virtualHostName).count() > 0:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'This Domain already exists as a website. [404]')
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath,
|
||||
'This Domain already exists as a website. [404]')
|
||||
return 0, "This Domain already exists as a website."
|
||||
|
||||
if ChildDomains.objects.filter(domain=virtualHostName).count() > 0:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'This domain already exists as child domain. [404]')
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath,
|
||||
'This domain already exists as child domain. [404]')
|
||||
return 0, "This domain already exists as child domain."
|
||||
|
||||
####### Limitations check
|
||||
@@ -1057,7 +1058,6 @@ class virtualHostUtilities:
|
||||
'Fully qualified domain is not allowed in the package. [404]')
|
||||
return 0, "Fully qualified domain is not allowed in the package."
|
||||
|
||||
|
||||
if domainsInPackage == 0:
|
||||
pass
|
||||
elif domainsInPackage > master.childdomains_set.all().count():
|
||||
@@ -1067,19 +1067,17 @@ class virtualHostUtilities:
|
||||
'Exceeded maximum number of domains for this package. [404]')
|
||||
return 0, "Exceeded maximum number of domains for this package"
|
||||
|
||||
|
||||
####### Limitations Check End
|
||||
|
||||
|
||||
if vhost.checkIfVirtualHostExists(virtualHostName) == 1:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath,'Virtual Host Directory already exists. [404]')
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath,
|
||||
'Virtual Host Directory already exists. [404]')
|
||||
return 0, "Virtual Host Directory already exists!"
|
||||
|
||||
if vhost.checkIfAliasExists(virtualHostName) == 1:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath,'This domain exists as Alias. [404]')
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'This domain exists as Alias. [404]')
|
||||
return 0, "This domain exists as Alias."
|
||||
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'DKIM Setup..,30')
|
||||
|
||||
retValues = mailUtilities.setupDKIM(virtualHostName)
|
||||
@@ -1091,7 +1089,7 @@ class virtualHostUtilities:
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Creating configurations..,50')
|
||||
|
||||
retValues = vhost.createDirectoryForDomain(masterDomain, virtualHostName, phpVersion, path,
|
||||
master.adminEmail, master.externalApp, openBasedir)
|
||||
master.adminEmail, master.externalApp, openBasedir)
|
||||
if retValues[0] == 0:
|
||||
raise BaseException(retValues[1])
|
||||
|
||||
@@ -1132,7 +1130,7 @@ class virtualHostUtilities:
|
||||
raise BaseException(result[1])
|
||||
|
||||
result = ApacheVhost.setupApacheVhostChild(master.adminEmail, master.externalApp,
|
||||
master.externalApp, phpVersion, virtualHostName, path)
|
||||
master.externalApp, phpVersion, virtualHostName, path)
|
||||
if result[0] == 0:
|
||||
raise BaseException(result[1])
|
||||
else:
|
||||
@@ -1150,7 +1148,6 @@ class virtualHostUtilities:
|
||||
if dkimCheck == 1:
|
||||
DNS.createDKIMRecords(virtualHostName)
|
||||
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Domain successfully created. [200]')
|
||||
return 1, "None"
|
||||
|
||||
@@ -1173,13 +1170,13 @@ class virtualHostUtilities:
|
||||
installUtilities.installUtilities.reStartLiteSpeed()
|
||||
|
||||
print "1,None"
|
||||
return 1,'None'
|
||||
return 1, 'None'
|
||||
|
||||
except BaseException, msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(
|
||||
str(msg) + " [deleteDomain]")
|
||||
print "0," + str(msg)
|
||||
return 0,str(msg)
|
||||
return 0, str(msg)
|
||||
|
||||
@staticmethod
|
||||
def switchServer(virtualHostName, phpVersion, server, tempStatusPath):
|
||||
@@ -1212,10 +1209,12 @@ class virtualHostUtilities:
|
||||
ApacheVhost.perHostVirtualConfOLS(completePathToConfigFile, website.adminEmail)
|
||||
|
||||
if child:
|
||||
ApacheVhost.setupApacheVhostChild(website.master.adminEmail, website.master.externalApp, website.master.externalApp,
|
||||
ApacheVhost.setupApacheVhostChild(website.master.adminEmail, website.master.externalApp,
|
||||
website.master.externalApp,
|
||||
phpVersion, virtualHostName, website.path)
|
||||
else:
|
||||
ApacheVhost.setupApacheVhost(website.adminEmail, website.externalApp, website.externalApp, phpVersion, virtualHostName)
|
||||
ApacheVhost.setupApacheVhost(website.adminEmail, website.externalApp, website.externalApp,
|
||||
phpVersion, virtualHostName)
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Restarting servers and phps..,90')
|
||||
|
||||
@@ -1229,10 +1228,12 @@ class virtualHostUtilities:
|
||||
ApacheVhost.DeleteApacheVhost(virtualHostName)
|
||||
|
||||
if child:
|
||||
vhost.perHostDomainConf(website.path, website.master.domain, virtualHostName, completePathToConfigFile,
|
||||
vhost.perHostDomainConf(website.path, website.master.domain, virtualHostName,
|
||||
completePathToConfigFile,
|
||||
website.master.adminEmail, phpVersion, website.master.externalApp, 0)
|
||||
else:
|
||||
vhost.perHostVirtualConf(completePathToConfigFile, website.adminEmail, website.externalApp, phpVersion, virtualHostName, 0)
|
||||
vhost.perHostVirtualConf(completePathToConfigFile, website.adminEmail, website.externalApp,
|
||||
phpVersion, virtualHostName, 0)
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Restarting server..,90')
|
||||
installUtilities.installUtilities.reStartLiteSpeed()
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Successfully converted. [200]')
|
||||
@@ -1245,7 +1246,8 @@ class virtualHostUtilities:
|
||||
def getDiskUsage(path, totalAllowed):
|
||||
try:
|
||||
|
||||
totalUsageInMB = ProcessUtilities.outputExecutioner(["sudo", "du", "-hs", path, "--block-size=1M"]).split()[0]
|
||||
totalUsageInMB = ProcessUtilities.outputExecutioner(["sudo", "du", "-hs", path, "--block-size=1M"]).split()[
|
||||
0]
|
||||
|
||||
percentage = float(100) / float(totalAllowed)
|
||||
|
||||
@@ -1283,8 +1285,8 @@ class virtualHostUtilities:
|
||||
except BaseException, msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(str(msg))
|
||||
|
||||
def main():
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='CyberPanel Installer')
|
||||
parser.add_argument('function', help='Specific a function to call!')
|
||||
parser.add_argument('--virtualHostName', help='Domain name!')
|
||||
@@ -1301,7 +1303,6 @@ def main():
|
||||
parser.add_argument('--restore', help='Restore Check.')
|
||||
parser.add_argument('--apache', help='Enable/Disable Apache as backend')
|
||||
|
||||
|
||||
## arguments for creation child domains
|
||||
|
||||
parser.add_argument('--masterDomain', help='Master Domain Needed While Creating Child Domains!')
|
||||
@@ -1316,7 +1317,6 @@ def main():
|
||||
|
||||
parser.add_argument('--tempPath', help='Temporary path where configuration data is placed!')
|
||||
|
||||
|
||||
## save ssl arguments
|
||||
|
||||
parser.add_argument('--tempKeyPath', help='Temporary path to store key!')
|
||||
@@ -1375,7 +1375,9 @@ def main():
|
||||
except:
|
||||
tempStatusPath = '/home/cyberpanel/fakePath'
|
||||
|
||||
virtualHostUtilities.createVirtualHost(args.virtualHostName, args.administratorEmail, args.phpVersion, args.virtualHostUser, int(args.ssl), dkimCheck, openBasedir, args.websiteOwner, args.package, apache, tempStatusPath)
|
||||
virtualHostUtilities.createVirtualHost(args.virtualHostName, args.administratorEmail, args.phpVersion,
|
||||
args.virtualHostUser, int(args.ssl), dkimCheck, openBasedir,
|
||||
args.websiteOwner, args.package, apache, tempStatusPath)
|
||||
elif args.function == "deleteVirtualHostConfigurations":
|
||||
vhost.deleteVirtualHostConfigurations(args.virtualHostName)
|
||||
elif args.function == "createDomain":
|
||||
@@ -1399,33 +1401,39 @@ def main():
|
||||
except:
|
||||
tempStatusPath = '/home/cyberpanel/fakePath'
|
||||
|
||||
virtualHostUtilities.createDomain(args.masterDomain, args.virtualHostName, args.phpVersion, args.path, int(args.ssl), dkimCheck, openBasedir, args.websiteOwner, apache, tempStatusPath)
|
||||
virtualHostUtilities.createDomain(args.masterDomain, args.virtualHostName, args.phpVersion, args.path,
|
||||
int(args.ssl), dkimCheck, openBasedir, args.websiteOwner, apache,
|
||||
tempStatusPath)
|
||||
elif args.function == "issueSSL":
|
||||
virtualHostUtilities.issueSSL(args.virtualHostName,args.path,args.administratorEmail)
|
||||
virtualHostUtilities.issueSSL(args.virtualHostName, args.path, args.administratorEmail)
|
||||
elif args.function == "changePHP":
|
||||
vhost.changePHP(args.path,args.phpVersion)
|
||||
vhost.changePHP(args.path, args.phpVersion)
|
||||
elif args.function == "getAccessLogs":
|
||||
virtualHostUtilities.getAccessLogs(args.path,int(args.page))
|
||||
virtualHostUtilities.getAccessLogs(args.path, int(args.page))
|
||||
elif args.function == "getErrorLogs":
|
||||
virtualHostUtilities.getErrorLogs(args.path,int(args.page))
|
||||
virtualHostUtilities.getErrorLogs(args.path, int(args.page))
|
||||
elif args.function == "saveVHostConfigs":
|
||||
virtualHostUtilities.saveVHostConfigs(args.path,args.tempPath)
|
||||
virtualHostUtilities.saveVHostConfigs(args.path, args.tempPath)
|
||||
elif args.function == "saveRewriteRules":
|
||||
virtualHostUtilities.saveRewriteRules(args.virtualHostName,args.path,args.tempPath)
|
||||
virtualHostUtilities.saveRewriteRules(args.virtualHostName, args.path, args.tempPath)
|
||||
elif args.function == "saveSSL":
|
||||
virtualHostUtilities.saveSSL(args.virtualHostName,args.tempKeyPath,args.tempCertPath)
|
||||
virtualHostUtilities.saveSSL(args.virtualHostName, args.tempKeyPath, args.tempCertPath)
|
||||
elif args.function == "installWordPress":
|
||||
virtualHostUtilities.installWordPress(args.virtualHostName,args.path,args.virtualHostUser,args.dbName,args.dbUser,args.dbPassword)
|
||||
virtualHostUtilities.installWordPress(args.virtualHostName, args.path, args.virtualHostUser, args.dbName,
|
||||
args.dbUser, args.dbPassword)
|
||||
elif args.function == "installJoomla":
|
||||
virtualHostUtilities.installJoomla(args.virtualHostName,args.path,args.virtualHostUser,args.dbName,args.dbUser,args.dbPassword,args.username,args.password,args.prefix,args.sitename, args.tempStatusPath)
|
||||
virtualHostUtilities.installJoomla(args.virtualHostName, args.path, args.virtualHostUser, args.dbName,
|
||||
args.dbUser, args.dbPassword, args.username, args.password, args.prefix,
|
||||
args.sitename, args.tempStatusPath)
|
||||
elif args.function == "issueSSLForHostName":
|
||||
virtualHostUtilities.issueSSLForHostName(args.virtualHostName,args.path)
|
||||
virtualHostUtilities.issueSSLForHostName(args.virtualHostName, args.path)
|
||||
elif args.function == "issueSSLForMailServer":
|
||||
virtualHostUtilities.issueSSLForMailServer(args.virtualHostName,args.path)
|
||||
virtualHostUtilities.issueSSLForMailServer(args.virtualHostName, args.path)
|
||||
elif args.function == "findDomainBW":
|
||||
vhost.findDomainBW(args.virtualHostName, int(args.bandwidth))
|
||||
elif args.function == 'createAlias':
|
||||
virtualHostUtilities.createAlias(args.masterDomain,args.aliasDomain,int(args.ssl),args.sslPath, args.administratorEmail, args.websiteOwner)
|
||||
virtualHostUtilities.createAlias(args.masterDomain, args.aliasDomain, int(args.ssl), args.sslPath,
|
||||
args.administratorEmail, args.websiteOwner)
|
||||
elif args.function == 'issueAliasSSL':
|
||||
virtualHostUtilities.issueAliasSSL(args.masterDomain, args.aliasDomain, args.sslPath, args.administratorEmail)
|
||||
elif args.function == 'deleteAlias':
|
||||
@@ -1437,5 +1445,6 @@ def main():
|
||||
elif args.function == 'switchServer':
|
||||
virtualHostUtilities.switchServer(args.virtualHostName, args.phpVersion, int(args.server), args.tempStatusPath)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
@@ -712,6 +712,8 @@ class WebsiteManager:
|
||||
execPath = execPath + " findDomainBW --virtualHostName " + self.domain + " --bandwidth " + str(
|
||||
website.package.bandwidth)
|
||||
|
||||
logging.CyberCPLogFileWriter.writeToFile(execPath)
|
||||
|
||||
output = ProcessUtilities.outputExecutioner(execPath)
|
||||
bwData = output.split(",")
|
||||
except BaseException, msg:
|
||||
@@ -2078,6 +2080,10 @@ StrictHostKeyChecking no
|
||||
data['adminEmail'] = data['ownerEmail']
|
||||
data['phpSelection'] = "PHP 7.0"
|
||||
data['package'] = data['packageName']
|
||||
try:
|
||||
websitesLimit = data['websitesLimit']
|
||||
except:
|
||||
websitesLimit = 1
|
||||
|
||||
admin = Administrator.objects.get(userName=adminUser)
|
||||
|
||||
@@ -2091,7 +2097,7 @@ StrictHostKeyChecking no
|
||||
websiteOwn = Administrator(userName=websiteOwner,
|
||||
password=hashPassword.hash_password(ownerPassword),
|
||||
email=adminEmail, type=3, owner=admin.pk,
|
||||
initWebsitesLimit=1, acl=acl, api=1)
|
||||
initWebsitesLimit=websitesLimit, acl=acl, api=1)
|
||||
websiteOwn.save()
|
||||
except BaseException:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user