email forwarding: structure for pipe to program

This commit is contained in:
Usman Nasir
2019-10-27 18:08:10 +05:00
parent 7d6ae9ec96
commit 683ada6f01
39 changed files with 19027 additions and 9565 deletions

444
.idea/workspace.xml generated
View File

@@ -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>

View File

@@ -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

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

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

View File

@@ -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>

View File

@@ -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"

View File

@@ -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']

View File

@@ -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()

View File

@@ -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
};

View File

@@ -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>

View File

@@ -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!')

View File

@@ -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()

View File

@@ -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