Change permissions via File manager.

This commit is contained in:
usmannasir
2018-07-08 19:09:22 +05:00
parent cecbe40d90
commit 7184373aa9
8 changed files with 578 additions and 53 deletions

Binary file not shown.

View File

@@ -1252,7 +1252,7 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
$scope.addFileOrFolderToListForRightClick(trNode); $scope.addFileOrFolderToListForRightClick(trNode);
} };
$scope.addFileOrFolderToListForRightClick = function(nodeName){ $scope.addFileOrFolderToListForRightClick = function(nodeName){
@@ -1292,7 +1292,7 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
$scope.buttonActivator(); $scope.buttonActivator();
} };
// rename // rename
@@ -1425,6 +1425,192 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
}; };
// Change permissions
$scope.changePermissionsLoading = true;
$scope.userPermissions = 0;
$scope.groupPermissions = 0;
$scope.wordlPermissions = 0;
$scope.showPermissionsModal = function () {
$('#showPermissions').modal('show');
$scope.permissionsPath = allFilesAndFolders[0];
};
$scope.updateReadPermissions = function (value) {
switch (value) {
case 'userRead':
if($scope.userRead === true)
{
$scope.userPermissions = $scope.userPermissions + 4;
}
else
{
if ($scope.userRead !== undefined) {
$scope.userPermissions = $scope.userPermissions - 4;
}
}
break;
case 'groupRead':
if ($scope.groupRead === true) {
$scope.groupPermissions = $scope.groupPermissions + 4;
} else {
if ($scope.groupRead !== undefined) {
$scope.groupPermissions = $scope.groupPermissions - 4;
}
}
break;
case 'worldRead':
if ($scope.worldRead === true) {
$scope.wordlPermissions = $scope.wordlPermissions + 4;
} else {
if ($scope.worldRead !== undefined) {
$scope.wordlPermissions = $scope.wordlPermissions - 4;
}
}
break;
}
};
$scope.updateWritePermissions = function (value) {
switch (value) {
case 'userWrite':
if($scope.userWrite === true)
{
$scope.userPermissions = $scope.userPermissions + 2;
}
else
{
if ($scope.userWrite !== undefined) {
$scope.userPermissions = $scope.userPermissions - 2;
}
}
break;
case 'groupWrite':
if ($scope.groupWrite === true) {
$scope.groupPermissions = $scope.groupPermissions + 2;
} else {
if ($scope.groupWrite !== undefined) {
$scope.groupPermissions = $scope.groupPermissions - 2;
}
}
break;
case 'worldWrite':
if ($scope.worldWrite === true) {
$scope.wordlPermissions = $scope.wordlPermissions + 2;
} else {
if ($scope.worldWrite !== undefined) {
$scope.wordlPermissions = $scope.wordlPermissions - 2;
}
}
break;
}
};
$scope.updateExecutePermissions = function (value) {
switch (value) {
case 'userExecute':
if($scope.userExecute === true)
{
$scope.userPermissions = $scope.userPermissions + 1;
}
else
{
if ($scope.userExecute !== undefined) {
$scope.userPermissions = $scope.userPermissions - 1;
}
}
break;
case 'groupExecute':
if ($scope.groupExecute === true) {
$scope.groupPermissions = $scope.groupPermissions + 1;
} else {
if ($scope.groupExecute !== undefined) {
$scope.groupPermissions = $scope.groupPermissions - 1;
}
}
break;
case 'worldExecute':
if ($scope.worldExecute === true) {
$scope.wordlPermissions = $scope.wordlPermissions + 1;
} else {
if ($scope.worldExecute !== undefined) {
$scope.wordlPermissions = $scope.wordlPermissions - 1;
}
}
break;
}
};
$scope.changePermissionsRecursively = function () {
$scope.changePermissions(1);
};
$scope.changePermissions = function (recursive) {
$scope.changePermissionsLoading = false;
var newPermissions = String($scope.userPermissions) + String($scope.groupPermissions) + String($scope.wordlPermissions);
var data = {
basePath : $scope.currentPath,
permissionsPath: $scope.permissionsPath,
method: 'changePermissions',
domainRandomSeed:domainRandomSeed,
recursive: recursive,
newPermissions: newPermissions,
domainName: domainName
};
$http.post(url, data).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
$scope.changePermissionsLoading = true;
$('#showPermissions').modal('hide');
if (response.data.permissionsChanged === 1) {
var notification = alertify.notify('Permissions Successfully Changed!', 'success', 5, function(){ console.log('dismissed'); });
$scope.fetchForTableSecondary(null,'refresh');
}
else {
var notification = alertify.notify(response.data.error_message, 'error', 5, function(){ console.log('dismissed'); });
}
}
function cantLoadInitialDatas(response) {
}
};

View File

@@ -572,35 +572,69 @@
<!--- copy modal --> <!--- copy modal -->
<!-- rename modal --> <!-- Permissions modal -->
<div id="showRename" class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div id="showPermissions" class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
<div id="htmlEditorLable" class="modal-header"> <div id="htmlEditorLable" class="modal-header">
<h5 class="modal-title">{% trans "Renaming" %} {$ fileToRename $} <img ng-hide="renameLoading" src="{% static 'filemanager/images/loadingSmall.gif' %}"></h5> <h5 class="modal-title">{% trans "Changing permissions for" %} {$ permissionsPath $} <img ng-hide="changePermissionsLoading" src="{% static 'filemanager/images/loadingSmall.gif' %}"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form> <table class="table text-center">
<div class="form-group"> <thead id="tableHead">
<label>{% trans "New Name" %}</label> <tr>
<input ng-model="newFileName" type="text" class="form-control"> <th scope="col">{% trans "Mode" %}</th>
<small class="form-text text-muted">{% trans "Enter new name of file!" %}</small> <th scope="col">{% trans "User" %}</th>
</div> <th scope="col">{% trans "Group" %}</th>
</form> <th scope="col">{% trans "World" %}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{% trans "Read" %}</td>
<td><input ng-click="updateReadPermissions('userRead')" ng-model="userRead" type="checkbox" class="form-check-input" value=""></td>
<td><input ng-click="updateReadPermissions('groupRead')" ng-model="groupRead" type="checkbox" class="form-check-input" value=""></td>
<td><input ng-click="updateReadPermissions('worldRead')" ng-model="worldRead" type="checkbox" class="form-check-input" value=""></td>
</tr>
<tr>
<td>{% trans "Write" %}</td>
<td><input ng-click="updateWritePermissions('userWrite')" ng-model="userWrite" type="checkbox" class="form-check-input" value=""></td>
<td><input ng-click="updateWritePermissions('groupWrite')" ng-model="groupWrite" type="checkbox" class="form-check-input" value=""></td>
<td><input ng-click="updateWritePermissions('worldWrite')" ng-model="worldWrite" type="checkbox" class="form-check-input" value=""></td>
</tr>
<tr>
<td>{% trans "Execute" %}</td>
<td><input ng-click="updateExecutePermissions('userExecute')" ng-model="userExecute" type="checkbox" class="form-check-input" value=""></td>
<td><input ng-click="updateExecutePermissions('groupExecute')" ng-model="groupExecute" type="checkbox" class="form-check-input" value=""></td>
<td><input ng-click="updateExecutePermissions('worldExecute')" ng-model="worldExecute" type="checkbox" class="form-check-input" value=""></td>
</tr>
<tr>
<td></td>
<td><input ng-model="userPermissions" type="number" class="form-control" readonly></td>
<td><input ng-model="groupPermissions" type="number" class="form-control" readonly></td>
<td><input ng-model="wordlPermissions" type="number" class="form-control" readonly></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button ng-click="renameFile()" type="button" class="btn btn-primary">{% trans "Rename" %}</button> <button ng-click="changePermissions(0)" type="button" class="btn btn-primary">{% trans "Change Permissions" %}</button>
<button ng-click="changePermissionsRecursively()" type="button" class="btn btn-primary">{% trans "Change Recursively" %}</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">{% trans "Close" %}</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">{% trans "Close" %}</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!--- rename modal --> <!--- Permissions modal -->
@@ -637,6 +671,7 @@
<a style="border-bottom: 1px solid #007bff;" id="downloadOnRight" onclick="return false;" ng-click="downloadFile()" href="#"><li class="list-group-item"><i class="fa fa-download" aria-hidden="true"></i> Download</li></a> <a style="border-bottom: 1px solid #007bff;" id="downloadOnRight" onclick="return false;" ng-click="downloadFile()" href="#"><li class="list-group-item"><i class="fa fa-download" aria-hidden="true"></i> Download</li></a>
<a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showCopyModal()" href="#"><li class="list-group-item"><i class="fa fa-files-o" aria-hidden="true"></i> Copy</li></a> <a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showCopyModal()" href="#"><li class="list-group-item"><i class="fa fa-files-o" aria-hidden="true"></i> Copy</li></a>
<a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showRenameModal()" href="#"><li class="list-group-item"><i class="fa fa-file-text-o" aria-hidden="true"></i> Rename</li></a> <a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showRenameModal()" href="#"><li class="list-group-item"><i class="fa fa-file-text-o" aria-hidden="true"></i> Rename</li></a>
<a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showPermissionsModal()" href="#"><li class="list-group-item"><i class="fa fa-lock" aria-hidden="true"></i> Change Permissions</li></a>
<a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showDeleteModal()" href="#"><li class="list-group-item"><i class="fa fa-trash" aria-hidden="true"></i> Delete</li></a> <a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showDeleteModal()" href="#"><li class="list-group-item"><i class="fa fa-trash" aria-hidden="true"></i> Delete</li></a>
<a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showCompressionModal()" href="#"><li class="list-group-item"><i class="fa fa-compress" aria-hidden="true"></i> Compress</li></a> <a style="border-bottom: 1px solid #007bff;" onclick="return false;" ng-click="showCompressionModal()" href="#"><li class="list-group-item"><i class="fa fa-compress" aria-hidden="true"></i> Compress</li></a>
<a style="border-bottom: 1px solid #007bff;" id="extractOnRight" onclick="return false;" ng-click="showExtractionModal()" href="#"><li class="list-group-item"><i class="fa fa-expand" aria-hidden="true"></i> Extract</li></a> <a style="border-bottom: 1px solid #007bff;" id="extractOnRight" onclick="return false;" ng-click="showExtractionModal()" href="#"><li class="list-group-item"><i class="fa fa-expand" aria-hidden="true"></i> Extract</li></a>

View File

@@ -14,12 +14,13 @@
<file leaf-file-name="fileManager.php" pinned="false" current-in-tab="true"> <file leaf-file-name="fileManager.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/php/fileManager.php"> <entry file="file://$PROJECT_DIR$/php/fileManager.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="489"> <state relative-caret-position="306">
<caret line="281" column="30" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="707" selection-end-column="26" /> <caret line="74" column="30" lean-forward="true" selection-start-line="74" selection-start-column="30" selection-end-line="74" selection-end-column="30" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -94,10 +95,10 @@
</component> </component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" /> <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds" extendedState="6"> <component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="65" /> <option name="x" value="1419" />
<option name="y" value="-4" /> <option name="y" value="-4" />
<option name="width" value="1301" /> <option name="width" value="1299" />
<option name="height" value="772" /> <option name="height" value="764" />
</component> </component>
<component name="ProjectView"> <component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1"> <navigator currentView="ProjectPane" proportions="" version="1">
@@ -114,6 +115,8 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="Scratches" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<expand> <expand>
@@ -130,8 +133,6 @@
<select /> <select />
</subPane> </subPane>
</pane> </pane>
<pane id="Scope" />
<pane id="Scratches" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@@ -173,18 +174,20 @@
<workItem from="1525683960581" duration="13000" /> <workItem from="1525683960581" duration="13000" />
<workItem from="1526291898810" duration="13000" /> <workItem from="1526291898810" duration="13000" />
<workItem from="1526512471223" duration="71000" /> <workItem from="1526512471223" duration="71000" />
<workItem from="1530908210451" duration="3236000" /> <workItem from="1530908210451" duration="3368000" />
<workItem from="1531046295316" duration="1117000" />
<workItem from="1531052646849" duration="26000" />
</task> </task>
<servers /> <servers />
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="39725000" /> <option name="totallyTimeSpent" value="41000000" />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="65" y="-4" width="1301" height="772" extended-state="6" /> <frame x="1419" y="-4" width="1303" height="780" extended-state="6" />
<editor active="true" /> <editor active="true" />
<layout> <layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.08762491" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.12759416" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -221,9 +224,10 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -252,9 +256,10 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -283,9 +288,10 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -314,9 +320,10 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -345,9 +352,10 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -376,9 +384,10 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -407,9 +416,10 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -438,9 +448,74 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFile#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#deleteFolderOrFile#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#compress#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#extract#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#moveFileAndFolders#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#copyFileAndFolders#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#renameFileOrFolder#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#cleanInput#0;n#fileManager#0;n#!!top" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/php/caller.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="558">
<caret line="31" column="23" lean-forward="false" selection-start-line="31" selection-start-column="23" selection-end-line="31" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/php/fileManager.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFile#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#deleteFolderOrFile#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#compress#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#extract#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#moveFileAndFolders#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#copyFileAndFolders#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#renameFileOrFolder#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#cleanInput#0;n#fileManager#0;n#!!top" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/php/caller.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="558">
<caret line="31" column="23" lean-forward="false" selection-start-line="31" selection-start-column="23" selection-end-line="31" selection-end-column="23" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/php/fileManager.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -461,9 +536,10 @@
<state relative-caret-position="0"> <state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />
@@ -499,12 +575,13 @@
<entry file="file://$USER_HOME$/.cache/.fr-Tsiwv1/CyberCP/install/FileManager/php/fileManager.php" /> <entry file="file://$USER_HOME$/.cache/.fr-Tsiwv1/CyberCP/install/FileManager/php/fileManager.php" />
<entry file="file://$PROJECT_DIR$/php/fileManager.php"> <entry file="file://$PROJECT_DIR$/php/fileManager.php">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="489"> <state relative-caret-position="306">
<caret line="281" column="30" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="707" selection-end-column="26" /> <caret line="74" column="30" lean-forward="true" selection-start-line="74" selection-start-column="30" selection-end-line="74" selection-end-column="30" />
<folding> <folding>
<element signature="n#requestHandler#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#listDir#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#5438#6176#0#PHP" expanded="false" /> <element signature="n#getPermissions#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="e#6737#7475#0#PHP" expanded="false" />
<element signature="n#listForTable#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#readFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#writeFileContents#0;n#fileManager#0;n#!!top" expanded="false" />
<element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" /> <element signature="n#createNewFolder#0;n#fileManager#0;n#!!top" expanded="false" />

View File

@@ -76,10 +76,50 @@ class fileManager
$newFileName = $this->cleanInput($request->newFileName); $newFileName = $this->cleanInput($request->newFileName);
$this->renameFileOrFolder($request->basePath,$request->existingName,$newFileName); $this->renameFileOrFolder($request->basePath,$request->existingName,$newFileName);
break; break;
case 'changePermissions':
$this->changePermissions($request->basePath, $request->permissionsPath, $request->newPermissions, $request->recursive);
break;
} }
} }
} }
private function changePermissions($basePath, $permissionsPath, $newPermissions, $recursive)
{
try {
$completePath = $basePath . DIRECTORY_SEPARATOR . $permissionsPath;
if($recursive == 1){
$commandToExecute = 'chmod -R ' . $newPermissions . " '". $completePath . "'";
$programOutput = fopen('temp.txt', 'a');
}else{
$commandToExecute = 'chmod ' . $newPermissions . " '". $completePath . "'";
$programOutput = fopen('temp.txt', 'a');
}
exec($commandToExecute, $programOutput);
$json_data = array(
"error_message" => "None",
"permissionsChanged" => 1,
);
$json = json_encode($json_data);
echo $json;
} catch (Exception $e) {
$json_data = array(
"error_message" => $e->getMessage(),
"permissionsChanged" => 0,
);
$json = json_encode($json_data);
echo $json;
}
}
private function listDir($basePath) private function listDir($basePath)
{ {
try { try {

View File

@@ -271,7 +271,7 @@ class vhost:
address = " address UDS://tmp/lshttpd/"+virtualHostUser+".sock\n" address = " address UDS://tmp/lshttpd/"+virtualHostUser+".sock\n"
maxConns = " maxConns 10\n" maxConns = " maxConns 10\n"
env = " env LSAPI_CHILDREN=10\n" env = " env LSAPI_CHILDREN=10\n"
initTimeout = " initTimeout 60\n" initTimeout = " initTimeout 600\n"
retryTimeout = " retryTimeout 0\n" retryTimeout = " retryTimeout 0\n"
persistConn = " persistConn 1\n" persistConn = " persistConn 1\n"
persistConnTimeout = " pcKeepAliveTimeout 1\n" persistConnTimeout = " pcKeepAliveTimeout 1\n"

View File

@@ -87,7 +87,8 @@ class HandleRequest(multi.Thread):
emailObj = newDomain.findEmailOBJ(emailAddress) emailObj = newDomain.findEmailOBJ(emailAddress)
except: except:
raise BaseException self.connection.sendall('action=dunno\n\n')
return
#logging.writeToFile('Domain Limit Status: ' + str(domainObj.limitStatus)) #logging.writeToFile('Domain Limit Status: ' + str(domainObj.limitStatus))
#logging.writeToFile('Email Limit Status: ' + str(domainObj.limitStatus)) #logging.writeToFile('Email Limit Status: ' + str(domainObj.limitStatus))

View File

@@ -1252,7 +1252,7 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
$scope.addFileOrFolderToListForRightClick(trNode); $scope.addFileOrFolderToListForRightClick(trNode);
} };
$scope.addFileOrFolderToListForRightClick = function(nodeName){ $scope.addFileOrFolderToListForRightClick = function(nodeName){
@@ -1292,7 +1292,7 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
$scope.buttonActivator(); $scope.buttonActivator();
} };
// rename // rename
@@ -1425,6 +1425,192 @@ fileManager.controller('fileManagerCtrl', function($scope,$http,FileUploader) {
}; };
// Change permissions
$scope.changePermissionsLoading = true;
$scope.userPermissions = 0;
$scope.groupPermissions = 0;
$scope.wordlPermissions = 0;
$scope.showPermissionsModal = function () {
$('#showPermissions').modal('show');
$scope.permissionsPath = allFilesAndFolders[0];
};
$scope.updateReadPermissions = function (value) {
switch (value) {
case 'userRead':
if($scope.userRead === true)
{
$scope.userPermissions = $scope.userPermissions + 4;
}
else
{
if ($scope.userRead !== undefined) {
$scope.userPermissions = $scope.userPermissions - 4;
}
}
break;
case 'groupRead':
if ($scope.groupRead === true) {
$scope.groupPermissions = $scope.groupPermissions + 4;
} else {
if ($scope.groupRead !== undefined) {
$scope.groupPermissions = $scope.groupPermissions - 4;
}
}
break;
case 'worldRead':
if ($scope.worldRead === true) {
$scope.wordlPermissions = $scope.wordlPermissions + 4;
} else {
if ($scope.worldRead !== undefined) {
$scope.wordlPermissions = $scope.wordlPermissions - 4;
}
}
break;
}
};
$scope.updateWritePermissions = function (value) {
switch (value) {
case 'userWrite':
if($scope.userWrite === true)
{
$scope.userPermissions = $scope.userPermissions + 2;
}
else
{
if ($scope.userWrite !== undefined) {
$scope.userPermissions = $scope.userPermissions - 2;
}
}
break;
case 'groupWrite':
if ($scope.groupWrite === true) {
$scope.groupPermissions = $scope.groupPermissions + 2;
} else {
if ($scope.groupWrite !== undefined) {
$scope.groupPermissions = $scope.groupPermissions - 2;
}
}
break;
case 'worldWrite':
if ($scope.worldWrite === true) {
$scope.wordlPermissions = $scope.wordlPermissions + 2;
} else {
if ($scope.worldWrite !== undefined) {
$scope.wordlPermissions = $scope.wordlPermissions - 2;
}
}
break;
}
};
$scope.updateExecutePermissions = function (value) {
switch (value) {
case 'userExecute':
if($scope.userExecute === true)
{
$scope.userPermissions = $scope.userPermissions + 1;
}
else
{
if ($scope.userExecute !== undefined) {
$scope.userPermissions = $scope.userPermissions - 1;
}
}
break;
case 'groupExecute':
if ($scope.groupExecute === true) {
$scope.groupPermissions = $scope.groupPermissions + 1;
} else {
if ($scope.groupExecute !== undefined) {
$scope.groupPermissions = $scope.groupPermissions - 1;
}
}
break;
case 'worldExecute':
if ($scope.worldExecute === true) {
$scope.wordlPermissions = $scope.wordlPermissions + 1;
} else {
if ($scope.worldExecute !== undefined) {
$scope.wordlPermissions = $scope.wordlPermissions - 1;
}
}
break;
}
};
$scope.changePermissionsRecursively = function () {
$scope.changePermissions(1);
};
$scope.changePermissions = function (recursive) {
$scope.changePermissionsLoading = false;
var newPermissions = String($scope.userPermissions) + String($scope.groupPermissions) + String($scope.wordlPermissions);
var data = {
basePath : $scope.currentPath,
permissionsPath: $scope.permissionsPath,
method: 'changePermissions',
domainRandomSeed:domainRandomSeed,
recursive: recursive,
newPermissions: newPermissions,
domainName: domainName
};
$http.post(url, data).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
$scope.changePermissionsLoading = true;
$('#showPermissions').modal('hide');
if (response.data.permissionsChanged === 1) {
var notification = alertify.notify('Permissions Successfully Changed!', 'success', 5, function(){ console.log('dismissed'); });
$scope.fetchForTableSecondary(null,'refresh');
}
else {
var notification = alertify.notify(response.data.error_message, 'error', 5, function(){ console.log('dismissed'); });
}
}
function cantLoadInitialDatas(response) {
}
};