mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-07 13:56:01 +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,7 +3,58 @@
|
||||
<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]-->
|
||||
@@ -41,7 +92,6 @@
|
||||
<!-- JS Ends -->
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="loading">
|
||||
@@ -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,17 +164,20 @@
|
||||
</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">
|
||||
<select ng-model="languageSelection" ng-init="languageSelection='english'"
|
||||
class="form-control">
|
||||
<option value="english">English</option>
|
||||
<option>Chinese</option>
|
||||
<option>Italian</option>
|
||||
@@ -138,12 +192,15 @@
|
||||
<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>
|
||||
@@ -153,7 +210,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -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,7 +255,9 @@ class MailServerManager:
|
||||
|
||||
data = json.loads(self.request.body)
|
||||
emailAddress = data['emailAddress']
|
||||
forwardingOption = data['forwardingOption']
|
||||
|
||||
if forwardingOption != "Pipe to program":
|
||||
eUser = EUsers.objects.get(email=emailAddress)
|
||||
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
@@ -289,6 +291,33 @@ class MailServerManager:
|
||||
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()
|
||||
|
||||
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 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()
|
||||
|
||||
### 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>
|
||||
|
||||
|
||||
|
||||
@@ -95,7 +95,8 @@ 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] != '#'):
|
||||
@@ -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:
|
||||
@@ -148,7 +154,6 @@ class virtualHostUtilities:
|
||||
|
||||
website.save()
|
||||
|
||||
|
||||
if ssl == 1:
|
||||
sslPath = "/home/" + virtualHostName + "/public_html"
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Setting up SSL..,70')
|
||||
@@ -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)
|
||||
@@ -591,7 +593,6 @@ class virtualHostUtilities:
|
||||
command = 'ln -s /usr/local/lscp/conf/key.pem /usr/local/lsws/admin/conf/webadmin.key'
|
||||
ProcessUtilities.normalExecutioner(command)
|
||||
|
||||
|
||||
adminEmail = "email@" + virtualHost
|
||||
|
||||
if not os.path.exists(pathToStoreSSLFullChain):
|
||||
@@ -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
|
||||
@@ -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]')
|
||||
return 0, "This domain exists as Alias."
|
||||
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'DKIM Setup..,30')
|
||||
|
||||
retValues = mailUtilities.setupDKIM(virtualHostName)
|
||||
@@ -1150,7 +1148,6 @@ class virtualHostUtilities:
|
||||
if dkimCheck == 1:
|
||||
DNS.createDKIMRecords(virtualHostName)
|
||||
|
||||
|
||||
logging.CyberCPLogFileWriter.statusWriter(tempStatusPath, 'Domain successfully created. [200]')
|
||||
return 1, "None"
|
||||
|
||||
@@ -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,7 +1401,9 @@ 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)
|
||||
elif args.function == "changePHP":
|
||||
@@ -1415,9 +1419,12 @@ def main():
|
||||
elif args.function == "saveSSL":
|
||||
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)
|
||||
elif args.function == "issueSSLForMailServer":
|
||||
@@ -1425,7 +1432,8 @@ def main():
|
||||
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