mirror of
https://github.com/myvesta/vesta
synced 2025-07-16 10:03:23 -07:00
FileManager stuff
This commit is contained in:
parent
5c8e3d3489
commit
7565e8217f
13 changed files with 514 additions and 60 deletions
|
@ -625,3 +625,102 @@ input[type="checkbox"] {
|
||||||
.subcontext-menu li {
|
.subcontext-menu li {
|
||||||
/*float: left;*/
|
/*float: left;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.shortcuts {
|
||||||
|
background: rgba(50, 50, 50, 0.9);
|
||||||
|
display: inline-block;
|
||||||
|
position: fixed;
|
||||||
|
right: 20%;
|
||||||
|
bottom: 0;
|
||||||
|
color: #eee;
|
||||||
|
width: 810px;
|
||||||
|
border: 1px solid #333;
|
||||||
|
font-family: arial;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
.shortcuts .header {
|
||||||
|
border-bottom: 1px solid #333;
|
||||||
|
height: 43px;
|
||||||
|
}
|
||||||
|
.shortcuts .title {
|
||||||
|
text-transform: uppercase;
|
||||||
|
color: #ffcc00;
|
||||||
|
padding: 7px 0 7px 14px;
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
font-size: 11px;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
.shortcuts .close {
|
||||||
|
background: url("/images/sprite.png") repeat scroll -408px -469px;
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
float: right;
|
||||||
|
height: 32px;
|
||||||
|
padding-top: 11px;
|
||||||
|
width: 46px;
|
||||||
|
}
|
||||||
|
.shortcuts .close:hover {
|
||||||
|
background-color: #000;
|
||||||
|
..
|
||||||
|
}
|
||||||
|
.shortcuts .close:active {
|
||||||
|
background-color: #55c9c0;
|
||||||
|
}
|
||||||
|
.shortcuts ul {
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 30px 10px;
|
||||||
|
display: inline-block;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.shortcuts ul li {
|
||||||
|
padding: 5px 20px;
|
||||||
|
}
|
||||||
|
.shortcuts ul li.step-top {
|
||||||
|
padding-top: 30px;
|
||||||
|
}
|
||||||
|
.shortcuts ul li span {
|
||||||
|
color: #48F4EF;
|
||||||
|
display: inline-block;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 0 20px 0 0;
|
||||||
|
text-align: right;
|
||||||
|
width: 140px;
|
||||||
|
}
|
||||||
|
.shortcuts ul li span.bigger {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
.shortcuts ul.note {
|
||||||
|
font-style: italic;
|
||||||
|
color: #9CA484;
|
||||||
|
width: 700px;
|
||||||
|
padding-left: 50px;
|
||||||
|
}
|
||||||
|
.shortcuts ul.note a {
|
||||||
|
color: #9CA484;
|
||||||
|
}
|
||||||
|
|
||||||
|
.to-shortcuts {
|
||||||
|
display: inline-block;
|
||||||
|
position: fixed;
|
||||||
|
top: 95%;
|
||||||
|
right: 1%;
|
||||||
|
}
|
||||||
|
.l-icon-shortcuts {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
background-image: url("/images/sprite.png");
|
||||||
|
width: 35px;
|
||||||
|
height: 35px;
|
||||||
|
background-position: -283px -68px;
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
|
.l-icon-shortcuts:hover {
|
||||||
|
background-color: #ccc;
|
||||||
|
}
|
||||||
|
.l-icon-shortcuts:active {
|
||||||
|
background-color: #98D5CD;
|
||||||
|
}
|
||||||
|
|
28
web/css/styles.min.css
vendored
28
web/css/styles.min.css
vendored
|
@ -1867,7 +1867,7 @@ div.l-content > div.l-separator:nth-of-type(4) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.l-icon-up-arrow, .l-icon-down-arrow, .l-icon-star, .l-icon-to-top, .l-icon-star-orange, .l-icon-star-blue {
|
.l-icon-up-arrow, .l-icon-down-arrow, .l-icon-star, .l-icon-to-top, .l-icon-shortcuts, .l-icon-star-orange, .l-icon-star-blue {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
background-image: url("/images/sprite.png");
|
background-image: url("/images/sprite.png");
|
||||||
|
@ -1928,6 +1928,19 @@ div.l-content > div.l-separator:nth-of-type(4) {
|
||||||
background-position: -402px -68px;
|
background-position: -402px -68px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.l-icon-shortcuts {
|
||||||
|
width: 35px;
|
||||||
|
height: 35px;
|
||||||
|
background-position: -283px -68px;
|
||||||
|
border-radius: 18px;
|
||||||
|
}
|
||||||
|
.l-icon-shortcuts:hover {
|
||||||
|
background-color: #ccc;
|
||||||
|
}
|
||||||
|
.l-icon-shortcuts:active {
|
||||||
|
background-color: #98D5CD;
|
||||||
|
}
|
||||||
|
|
||||||
.l-icon-star-orange {
|
.l-icon-star-orange {
|
||||||
width: 13px;
|
width: 13px;
|
||||||
height: 13px;
|
height: 13px;
|
||||||
|
@ -1974,9 +1987,17 @@ div.l-content > div.l-separator:nth-of-type(4) {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 92%;
|
top: 92%;
|
||||||
right: 3%;
|
right: 4%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.to-shortcuts {
|
||||||
|
display: inline-block;
|
||||||
|
position: fixed;
|
||||||
|
top: 92%;
|
||||||
|
right: 1%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#vstobjects {
|
#vstobjects {
|
||||||
margin-top: -1px;
|
margin-top: -1px;
|
||||||
|
@ -2737,6 +2758,7 @@ form#vstobjects.suspended {
|
||||||
color: #eee;
|
color: #eee;
|
||||||
width: 800px;
|
width: 800px;
|
||||||
border: 1px solid #333;
|
border: 1px solid #333;
|
||||||
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
.shortcuts .header {
|
.shortcuts .header {
|
||||||
border-bottom: 1px solid #333;
|
border-bottom: 1px solid #333;
|
||||||
|
@ -2777,7 +2799,7 @@ form#vstobjects.suspended {
|
||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
}
|
}
|
||||||
.shortcuts ul li.step-top {
|
.shortcuts ul li.step-top {
|
||||||
padding-bottom: 30px;
|
padding-top: 30px;
|
||||||
}
|
}
|
||||||
.shortcuts ul li span {
|
.shortcuts ul li span {
|
||||||
color: #48F4EF;
|
color: #48F4EF;
|
||||||
|
|
|
@ -57,20 +57,24 @@ if ((!isset($_SESSION['user'])) && (!defined('NO_AUTH_REQUIRED'))) {
|
||||||
if ($fn) {
|
if ($fn) {
|
||||||
$f = fopen ($fn, 'w+');
|
$f = fopen ($fn, 'w+');
|
||||||
fwrite($f, $_POST['contents']);
|
fwrite($f, $_POST['contents']);
|
||||||
|
fclose($f);
|
||||||
|
|
||||||
|
chmod($fn, 0644);
|
||||||
|
|
||||||
if ($f) {
|
if ($f) {
|
||||||
//copy($fn, $path);
|
//copy($fn, $path);
|
||||||
exec (VESTA_CMD . "v-copy-fs-file {$user} {$fn} {$path}", $output, $return_var);
|
exec (VESTA_CMD . "v-copy-fs-file {$user} {$fn} {$path}", $output, $return_var);
|
||||||
|
|
||||||
$error = check_return_code($return_var, $output);
|
$error = check_return_code($return_var, $output);
|
||||||
if ($return_var != 0) {
|
if ($return_var != 0) {
|
||||||
var_dump(VESTA_CMD . "v-copy-fs-file {$user} {$fn} {$path}");
|
/*var_dump(VESTA_CMD . "v-copy-fs-file {$user} {$fn} {$path}");
|
||||||
var_dump($path);
|
var_dump($path);
|
||||||
var_dump($output);
|
var_dump($output);*/
|
||||||
die('<p style="color: white">Error while saving file</p>');//echo '0';
|
die('<p style="color: white">Error while saving file</p>');//echo '0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unlink($fn);
|
unlink($fn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// $content = file_get_contents($path);
|
// $content = file_get_contents($path);
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
|
@ -546,4 +546,54 @@ $LANG['en'] = array(
|
||||||
'Create file' => 'Create file',
|
'Create file' => 'Create file',
|
||||||
'Create directory' => 'Create directory',
|
'Create directory' => 'Create directory',
|
||||||
|
|
||||||
|
|
||||||
|
'Add New object' => 'Add New object',
|
||||||
|
'Save Form' => 'Save Form',
|
||||||
|
'Cancel saving form' => 'Cancel saving form',
|
||||||
|
'Go to USER list' => 'Go to USER list',
|
||||||
|
'Go to WEB list' => 'Go to WEB list',
|
||||||
|
'Go to DNS list' => 'Go to DNS list',
|
||||||
|
'Go to MAIL list' => 'Go to MAIL list',
|
||||||
|
'Go to DB list' => 'Go to DB list',
|
||||||
|
'Go to CRON list' => 'Go to CRON list',
|
||||||
|
'Go to BACKUP list' => 'Go to BACKUP list',
|
||||||
|
'Focus on search' => 'Focus on search',
|
||||||
|
'Display/Close shortcuts' => 'Display/Close shortcuts',
|
||||||
|
'Go to Packages' => 'Go to Packages',
|
||||||
|
'Go to IP' => 'Go to IP',
|
||||||
|
'Go to Graphs' => 'Go to Graphs',
|
||||||
|
'Go to Statistic' => 'Go to Statistic',
|
||||||
|
'Go to Log' => 'Go to Log',
|
||||||
|
'Go to Updates' => 'Go to Updates',
|
||||||
|
'Go to Firewall' => 'Go to Firewall',
|
||||||
|
'Go to File Manager' => 'Go to File Manager',
|
||||||
|
'Go to Server' => 'Go to Server',
|
||||||
|
|
||||||
|
|
||||||
|
'Upload' => 'Upload',
|
||||||
|
'New File' => 'New File',
|
||||||
|
'New Folder' => 'New Folder',
|
||||||
|
'Download' => 'Download',
|
||||||
|
'Rename' => 'Rename',
|
||||||
|
'Copy' => 'Copy',
|
||||||
|
'Archive' => 'Archive',
|
||||||
|
'Delete' => 'Delete',
|
||||||
|
'Save File (in text editor)' => 'Save File (in text editor)',
|
||||||
|
'Display Shortcuts Hel' => 'Display Shortcuts Hel',
|
||||||
|
'Close Popup / Cancel' => 'Close Popup / Cancel',
|
||||||
|
'Move Cursor Up' => 'Move Cursor Up',
|
||||||
|
'Move Cursor Dow' => 'Move Cursor Dow',
|
||||||
|
'Switch to Left Tab' => 'Switch to Left Tab',
|
||||||
|
'Switch to Right Tab' => 'Switch to Right Tab',
|
||||||
|
'Switch Tab' => 'Switch Tab',
|
||||||
|
'Go to the Top of File List' => 'Go to the Top of File List',
|
||||||
|
'Go to the Last File' => 'Go to the Last File',
|
||||||
|
'Open File/Enter Directory' => 'Open File/Enter Directory',
|
||||||
|
'Go to Parent Directory' => 'Go to Parent Directory',
|
||||||
|
'Select Current File' => 'Select Current File',
|
||||||
|
'Select Bunch of Files' => 'Select Bunch of Files',
|
||||||
|
'Append File to the Current Selection' => 'Append File to the Current Selection',
|
||||||
|
'Select All Files' => 'Select All Files',
|
||||||
|
'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager' => 'shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager',
|
||||||
|
|
||||||
);
|
);
|
|
@ -546,7 +546,7 @@ FM.downloadFileFromSubcontext = function(elm) {
|
||||||
FM.openFile = function(dir, box, elm) {
|
FM.openFile = function(dir, box, elm) {
|
||||||
var tab = FM.getTabLetter(box);
|
var tab = FM.getTabLetter(box);
|
||||||
|
|
||||||
FM['TAB_'+tab+'_CURRENT_PATH'] = dir;
|
//FM['TAB_'+tab+'_CURRENT_PATH'] = dir;
|
||||||
|
|
||||||
var elm = $(elm).hasClass('dir') ? $(elm) : $(elm).closest('.dir');
|
var elm = $(elm).hasClass('dir') ? $(elm) : $(elm).closest('.dir');
|
||||||
var src = $.parseJSON($(elm).find('.source').val());
|
var src = $.parseJSON($(elm).find('.source').val());
|
||||||
|
@ -754,11 +754,11 @@ FM.checkBulkStatus = function(bulkStatuses, acc) {
|
||||||
|
|
||||||
if (status == true) {
|
if (status == true) {
|
||||||
$('#popup .results').html(App.Constants.FM_DONE);
|
$('#popup .results').html(App.Constants.FM_DONE);
|
||||||
$('.controls p').replaceWith('<p class="ok" onClick="FM.bulkPopupClose();">close</p>');
|
$('.controls').html('<p class="ok" onClick="FM.bulkPopupClose();">'+App.Constants.FM_DONE+'</p>');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$('#popup .results').html(msg);
|
$('#popup .results').html(msg);
|
||||||
$('.controls p').replaceWith('<p class="ok" onClick="FM.bulkPopupClose();">close</p>');
|
$('.controls').html('<p class="ok" onClick="FM.bulkPopupClose();">'+App.Constants.FM_DONE+'</p>');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -795,49 +795,47 @@ FM.humanFileSizeUnit = function(size) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
FM.bulkCopy = function() {
|
FM.bulkCopyDo = function() {
|
||||||
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||||
if (acc.length > 0) {
|
if (acc.length > 0) {
|
||||||
//FM.popupClose();
|
//FM.popupClose();
|
||||||
|
|
||||||
var cfr_html = '';
|
var cfr_html = '';
|
||||||
|
var numberOfItems = 0;
|
||||||
$.each(acc, function(i, o) {
|
$.each(acc, function(i, o) {
|
||||||
var ref = $(o);
|
var ref = $(o);
|
||||||
var src = $(ref).find('.source').val();
|
var src = $(ref).find('.source').val();
|
||||||
src = $.parseJSON(src);
|
src = $.parseJSON(src);
|
||||||
|
|
||||||
if (!FM.isItemPseudo(o)) {
|
if (!FM.isItemPseudo(o)) {
|
||||||
cfr_html += '<div>'+src.name+'</div>';
|
cfr_html += '<div>'+src.name+'</div>';
|
||||||
|
numberOfItems++;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var tpl = Tpl.get('popup_bulk', 'FM');
|
|
||||||
tpl.set(':ACTION', App.Constants.FM_YOU_ARE_COPYING);
|
|
||||||
tpl.set(':TEXT', cfr_html);
|
|
||||||
|
|
||||||
FM.popupOpen(tpl.finalize());
|
|
||||||
|
|
||||||
var bulkStatuses = [];
|
var bulkStatuses = [];
|
||||||
$.each(acc, function(i, o) {
|
$.each(acc, function(i, o) {
|
||||||
var ref = $(o);
|
var ref = $(o);
|
||||||
var src = $(ref).find('.source').val();
|
var src = $(ref).find('.source').val();
|
||||||
src = $.parseJSON(src);
|
src = $.parseJSON(src);
|
||||||
|
|
||||||
/*if (!FM.isItemPseudo(o)) {
|
if (FM.isItemPseudo(src)) {
|
||||||
cfr_html += '<div>'+src.name+'</div>';
|
//cfr_html += '<div>'+src.name+'</div>';
|
||||||
}*/
|
return;
|
||||||
var tab = FM.getTabLetter(FM.CURRENT_TAB);
|
}
|
||||||
|
|
||||||
|
var tab = FM.getTabLetter(FM.CURRENT_TAB);
|
||||||
var opposite_tab = 'A';
|
var opposite_tab = 'A';
|
||||||
if (tab == 'A') {
|
if (tab == 'A') {
|
||||||
opposite_tab = 'B';
|
opposite_tab = 'B';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FM.isItemPseudo(src)) {
|
if (FM.isItemPseudo(src)) {
|
||||||
return FM.displayError(
|
/*return FM.displayError(
|
||||||
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
|
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
|
||||||
);
|
);*/
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
||||||
|
@ -863,6 +861,106 @@ FM.bulkCopy = function() {
|
||||||
bulkStatuses.push(reply.message);
|
bulkStatuses.push(reply.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FM.checkBulkStatus(bulkStatuses, acc);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FM.bulkCopy = function() {
|
||||||
|
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||||
|
if (acc.length > 0) {
|
||||||
|
FM.popupClose();
|
||||||
|
|
||||||
|
var cfr_html = '';
|
||||||
|
var numberOfItems = 0;
|
||||||
|
$.each(acc, function(i, o) {
|
||||||
|
var ref = $(o);
|
||||||
|
var src = $(ref).find('.source').val();
|
||||||
|
src = $.parseJSON(src);
|
||||||
|
|
||||||
|
if (!FM.isItemPseudo(o)) {
|
||||||
|
cfr_html += '<div>'+src.name+'</div>';
|
||||||
|
numberOfItems++;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var tab = FM.getTabLetter(FM.CURRENT_TAB);
|
||||||
|
var opposite_tab = 'A';
|
||||||
|
if (tab == 'A') {
|
||||||
|
opposite_tab = 'B';
|
||||||
|
}
|
||||||
|
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
||||||
|
if (dest == '') {
|
||||||
|
dest = GLOBAL.ROOT_DIR;
|
||||||
|
}
|
||||||
|
|
||||||
|
var tpl = Tpl.get('popup_bulk_copy', 'FM');
|
||||||
|
tpl.set(':NUMBER_OF_ITEMS', numberOfItems);
|
||||||
|
tpl.set(':DST_FILENAME', dest);
|
||||||
|
//popup_bulk_copy
|
||||||
|
|
||||||
|
FM.popupOpen(tpl.finalize());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FM.bulkRemoveDo = function() {
|
||||||
|
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||||
|
if (acc.length > 0) {
|
||||||
|
//FM.popupClose();
|
||||||
|
|
||||||
|
var cfr_html = '';
|
||||||
|
|
||||||
|
$.each(acc, function(i, o) {
|
||||||
|
var ref = $(o);
|
||||||
|
var src = $(ref).find('.source').val();
|
||||||
|
src = $.parseJSON(src);
|
||||||
|
|
||||||
|
if (!FM.isItemPseudo(o)) {
|
||||||
|
cfr_html += '<div>'+src.name+'</div>';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var bulkStatuses = [];
|
||||||
|
$.each(acc, function(i, o) {
|
||||||
|
var ref = $(o);
|
||||||
|
var src = $(ref).find('.source').val();
|
||||||
|
src = $.parseJSON(src);
|
||||||
|
|
||||||
|
var tab = FM.getTabLetter(FM.CURRENT_TAB);
|
||||||
|
|
||||||
|
var opposite_tab = 'A';
|
||||||
|
if (tab == 'A') {
|
||||||
|
opposite_tab = 'B';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (FM.isItemPseudo(src)) {
|
||||||
|
return;
|
||||||
|
/*return FM.displayError(
|
||||||
|
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
|
||||||
|
);*/
|
||||||
|
}
|
||||||
|
|
||||||
|
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
||||||
|
if (dest == '') {
|
||||||
|
dest = GLOBAL.ROOT_DIR;
|
||||||
|
}
|
||||||
|
|
||||||
|
var params = {
|
||||||
|
item: src.full_path,
|
||||||
|
dir: FM['TAB_' + tab + '_CURRENT_PATH']
|
||||||
|
};
|
||||||
|
|
||||||
|
App.Ajax.request('delete_files', params, function(reply) {
|
||||||
|
if (reply.result == true) {
|
||||||
|
bulkStatuses.push(true);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//FM.showError('copy-items', reply.message);
|
||||||
|
bulkStatuses.push(reply.message);
|
||||||
|
}
|
||||||
|
|
||||||
FM.checkBulkStatus(bulkStatuses, acc);
|
FM.checkBulkStatus(bulkStatuses, acc);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -871,6 +969,33 @@ FM.bulkCopy = function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
FM.bulkRemove = function() {
|
FM.bulkRemove = function() {
|
||||||
|
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||||
|
if (acc.length > 0) {
|
||||||
|
FM.popupClose();
|
||||||
|
|
||||||
|
var cfr_html = '';
|
||||||
|
var numberOfItems = 0;
|
||||||
|
$.each(acc, function(i, o) {
|
||||||
|
var ref = $(o);
|
||||||
|
var src = $(ref).find('.source').val();
|
||||||
|
src = $.parseJSON(src);
|
||||||
|
|
||||||
|
if (!FM.isItemPseudo(o)) {
|
||||||
|
cfr_html += '<div>'+src.name+'</div>';
|
||||||
|
numberOfItems++;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var tpl = Tpl.get('popup_bulk_remove', 'FM');
|
||||||
|
tpl.set(':NUMBER_OF_ITEMS', numberOfItems);
|
||||||
|
//tpl.set(':DST_FILENAME', dest);
|
||||||
|
|
||||||
|
FM.popupOpen(tpl.finalize());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FM.bulkRemove11111 = function() {
|
||||||
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
var acc = $(FM.CURRENT_TAB).find('.dir.selected');
|
||||||
if (acc.length > 0) {
|
if (acc.length > 0) {
|
||||||
//FM.popupClose();
|
//FM.popupClose();
|
||||||
|
@ -907,9 +1032,10 @@ FM.bulkRemove = function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FM.isItemPseudo(src)) {
|
if (FM.isItemPseudo(src)) {
|
||||||
return FM.displayError(
|
return;
|
||||||
|
/*return FM.displayError(
|
||||||
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
|
App.Constants.FM_NO_FILE_OR_DIRECTORY_SELECTED
|
||||||
);
|
);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
var dest = FM['TAB_' + opposite_tab + '_CURRENT_PATH' ];
|
||||||
|
@ -1810,6 +1936,7 @@ $(document).ready(function() {
|
||||||
shortcut.add("Esc",function() {
|
shortcut.add("Esc",function() {
|
||||||
FM.Env.RELOAD_IN_TIME = false;
|
FM.Env.RELOAD_IN_TIME = false;
|
||||||
$('#reload-in-time').remove();
|
$('#reload-in-time').remove();
|
||||||
|
$('.shortcuts').hide();
|
||||||
if (FM.isPopupOpened()) {
|
if (FM.isPopupOpened()) {
|
||||||
return FM.handlePopupCancel();
|
return FM.handlePopupCancel();
|
||||||
}
|
}
|
||||||
|
@ -1820,6 +1947,15 @@ $(document).ready(function() {
|
||||||
'target': document
|
'target': document
|
||||||
});
|
});
|
||||||
|
|
||||||
|
shortcut.add("h", function(){
|
||||||
|
$('.shortcuts').toggle();
|
||||||
|
}, {
|
||||||
|
'type': 'keydown',
|
||||||
|
'propagate': false,
|
||||||
|
'disable_in_input': true,
|
||||||
|
'target': document
|
||||||
|
});
|
||||||
|
|
||||||
shortcut.add("Down",function() {
|
shortcut.add("Down",function() {
|
||||||
FM.goDown();
|
FM.goDown();
|
||||||
},{
|
},{
|
||||||
|
@ -2014,6 +2150,7 @@ $(document).ready(function() {
|
||||||
'disable_in_input': false,
|
'disable_in_input': false,
|
||||||
'target': document
|
'target': document
|
||||||
});
|
});
|
||||||
|
|
||||||
shortcut.add("a",function() {
|
shortcut.add("a",function() {
|
||||||
FM.packItem();
|
FM.packItem();
|
||||||
},{
|
},{
|
||||||
|
@ -2023,8 +2160,6 @@ $(document).ready(function() {
|
||||||
'target': document
|
'target': document
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
shortcut.add("d",function() {
|
shortcut.add("d",function() {
|
||||||
FM.downloadFiles();
|
FM.downloadFiles();
|
||||||
},{
|
},{
|
||||||
|
@ -2098,15 +2233,22 @@ $(document).ready(function() {
|
||||||
$('.context-menu.sort-order').on('click', 'span', function(evt){
|
$('.context-menu.sort-order').on('click', 'span', function(evt){
|
||||||
FM.reOrderList($(evt.target));
|
FM.reOrderList($(evt.target));
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.warning-box .close').on('click', function(evt){
|
$('.warning-box .close').on('click', function(evt){
|
||||||
$(evt.target).closest('.warning-box').hide();
|
$(evt.target).closest('.warning-box').hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.menu-A .extract-btn').hide();
|
$('.menu-A .extract-btn').hide();
|
||||||
$('.menu-B .extract-btn').hide();
|
$('.menu-B .extract-btn').hide();
|
||||||
|
|
||||||
|
|
||||||
|
$('.to-shortcuts').click(function(){
|
||||||
|
$('.shortcuts').toggle();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.shortcuts .close').click(function(){
|
||||||
|
$('.shortcuts').hide();
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ App.Constants.FM_COPY = '<?=__('Copy') ?>';
|
||||||
App.Constants.FM_CANCEL = '<?=__('Cancel')?>';
|
App.Constants.FM_CANCEL = '<?=__('Cancel')?>';
|
||||||
App.Constants.FM_RENAME = '<?=__('Rename')?>';
|
App.Constants.FM_RENAME = '<?=__('Rename')?>';
|
||||||
App.Constants.FM_DELETE = '<?=__('Delete')?>';
|
App.Constants.FM_DELETE = '<?=__('Delete')?>';
|
||||||
|
App.Constants.FM_CONFIRM_DELETE_BULK = '<?=__('Delete items')?>';
|
||||||
App.Constants.FM_EXTRACT = '<?=__('Extract')?>';
|
App.Constants.FM_EXTRACT = '<?=__('Extract')?>';
|
||||||
App.Constants.FM_CREATE = '<?=__('Create')?>';
|
App.Constants.FM_CREATE = '<?=__('Create')?>';
|
||||||
App.Constants.FM_PACK = '<?=__('Compress')?>';
|
App.Constants.FM_PACK = '<?=__('Compress')?>';
|
||||||
|
@ -71,6 +72,8 @@ App.Constants.FM_OK = '<?=__('OK')?>';
|
||||||
App.Constants.FM_YOU_ARE_COPYING = '<?=__('YOU ARE COPYING')?>';
|
App.Constants.FM_YOU_ARE_COPYING = '<?=__('YOU ARE COPYING')?>';
|
||||||
App.Constants.FM_YOU_ARE_REMOVING = '<?=__('YOU ARE REMOVING')?>';
|
App.Constants.FM_YOU_ARE_REMOVING = '<?=__('YOU ARE REMOVING')?>';
|
||||||
|
|
||||||
|
App.Constants.FM_COPY_BULK = '<?=__('Copy files')?>';
|
||||||
|
|
||||||
App.Constants.FM_CONFIRM_COPY = '<?=__('Are you sure you want to copy')?>';
|
App.Constants.FM_CONFIRM_COPY = '<?=__('Are you sure you want to copy')?>';
|
||||||
App.Constants.FM_CONFIRM_DELETE = '<?=__('Are you sure you want to delete')?>';
|
App.Constants.FM_CONFIRM_DELETE = '<?=__('Are you sure you want to delete')?>';
|
||||||
App.Constants.FM_INTO_KEYWORD = '<?=__('into')?>';
|
App.Constants.FM_INTO_KEYWORD = '<?=__('into')?>';
|
||||||
|
|
|
@ -10,11 +10,11 @@ App.Templates.html = {
|
||||||
//
|
//
|
||||||
|
|
||||||
FM: {
|
FM: {
|
||||||
reload_in_time: [
|
reload_in_time: [
|
||||||
'<div id="reload-in-time" class="warning-box reload">\
|
'<div id="reload-in-time" class="warning-box reload">\
|
||||||
<div class="message-small">'+App.Constants.FM_HIT+' <span>F5</span> '+App.Constants.FM_TO_RELOAD_THE_PAGE+'</div>\
|
<div class="message-small">'+App.Constants.FM_HIT+' <span>F5</span> '+App.Constants.FM_TO_RELOAD_THE_PAGE+'</div>\
|
||||||
</div>'
|
</div>'
|
||||||
],
|
],
|
||||||
entry_line: ['<li class="dir">\
|
entry_line: ['<li class="dir">\
|
||||||
<span class="marker">\
|
<span class="marker">\
|
||||||
</span>\
|
</span>\
|
||||||
|
@ -37,14 +37,33 @@ App.Templates.html = {
|
||||||
<p class="ok" onClick="FM.popupClose();">'+App.Constants.FM_CLOSE+'</p>\
|
<p class="ok" onClick="FM.popupClose();">'+App.Constants.FM_CLOSE+'</p>\
|
||||||
</div>\
|
</div>\
|
||||||
</div>'],
|
</div>'],
|
||||||
popup_bulk: ['<div class="confirm-box alarm popup-box">\
|
popup_bulk_remove: ['<div class="confirm-box delete popup-box">\
|
||||||
|
<div class="message">'+App.Constants.FM_CONFIRM_DELETE_BULK+' (~!:NUMBER_OF_ITEMS~!)?</div>\
|
||||||
|
<div class="controls">\
|
||||||
|
<p class="cancel" onClick="FM.popupClose();">'+App.Constants.FM_CANCEL+'</p>\
|
||||||
|
<p class="ok" onClick="FM.bulkRemoveDo();">'+App.Constants.FM_DELETE+'</p>\
|
||||||
|
</div>\
|
||||||
|
</div>'],
|
||||||
|
popup_bulk_copy: ['<div class="confirm-box copy popup-box">\
|
||||||
|
<div class="message">'+App.Constants.FM_COPY_BULK+' (~!:NUMBER_OF_ITEMS~!) '+ App.Constants.FM_INTO_KEYWORD +':</div>\
|
||||||
|
<div class="actions">\
|
||||||
|
<input type="text" id="copy_dest" value="~!:DST_FILENAME~!" class="new-title">\
|
||||||
|
</div>\
|
||||||
|
<div class="results"></div>\
|
||||||
|
<div class="message">'+App.Constants.FM_EXISTING_FILES_WILL_BE_REPLACED+'</div>\
|
||||||
|
<div class="controls">\
|
||||||
|
<p class="cancel" onClick="FM.popupClose();">'+App.Constants.FM_CANCEL+'</p>\
|
||||||
|
<p class="ok" onClick="FM.bulkCopyDo();">'+App.Constants.FM_COPY+'</p>\
|
||||||
|
</div>\
|
||||||
|
</div>'],
|
||||||
|
/*popup_bulk: ['<div class="confirm-box alarm popup-box">\
|
||||||
<div class="message">~!:ACTION~!: <br />~!:TEXT~!</div>\
|
<div class="message">~!:ACTION~!: <br />~!:TEXT~!</div>\
|
||||||
<div class="results"></div>\
|
<div class="results"></div>\
|
||||||
<div class="controls">\
|
<div class="controls">\
|
||||||
<!-- p class="ok" onClick="FM.popupClose();">'+App.Constants.FM_CLOSE+'</p -->\
|
<!-- p class="ok" onClick="FM.popupClose();">'+App.Constants.FM_CLOSE+'</p -->\
|
||||||
<p><img src="/images/in_progress.gif"></p>\
|
<p><img src="/images/in_progress.gif"></p>\
|
||||||
</div>\
|
</div>\
|
||||||
</div>'],
|
</div>'],*/
|
||||||
popup_delete: ['<div class="confirm-box delete popup-box">\
|
popup_delete: ['<div class="confirm-box delete popup-box">\
|
||||||
<div class="message">'+App.Constants.FM_CONFIRM_DELETE+' <span class="title">"~!:FILENAME~!"</span>?</div>\
|
<div class="message">'+App.Constants.FM_CONFIRM_DELETE+' <span class="title">"~!:FILENAME~!"</span>?</div>\
|
||||||
<div class="controls">\
|
<div class="controls">\
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
<a href="#" class="to-top">
|
<a href="#" class="to-top">
|
||||||
<i class="l-icon-to-top"></i>
|
<i class="l-icon-to-top"></i>
|
||||||
</a>
|
</a>
|
||||||
|
<a href="#" class="to-shortcuts">
|
||||||
|
<i class="l-icon-shortcuts"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="l-header">
|
<div class="l-header">
|
||||||
<div class="l-center">
|
<div class="l-center">
|
||||||
<a href="/" class="l-logo"></a>
|
<a href="/" class="l-logo"></a>
|
||||||
|
|
|
@ -14,6 +14,10 @@
|
||||||
<link rel="stylesheet" href="/css/jquery.fileupload.css">
|
<link rel="stylesheet" href="/css/jquery.fileupload.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a href="#" class="to-shortcuts">
|
||||||
|
<i class="l-icon-shortcuts"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div id="main">
|
<div id="main">
|
||||||
<div class="window active">
|
<div class="window active">
|
||||||
<a href="/" class="l-logo"></a>
|
<a href="/" class="l-logo"></a>
|
||||||
|
@ -72,6 +76,43 @@
|
||||||
<div class="progress-elm"><span class="title"><?=__('Initializing')?></span><span class="progress" style="backround-position: -96px; backround-position:-10px"></span><span class="close hidden"></span></div>
|
<div class="progress-elm"><span class="title"><?=__('Initializing')?></span><span class="progress" style="backround-position: -96px; backround-position:-10px"></span><span class="close hidden"></span></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="shortcuts" style="display:none">
|
||||||
|
<div class="header">
|
||||||
|
<div class="title">Shortcuts</div>
|
||||||
|
<div class="close"></div>
|
||||||
|
</div>
|
||||||
|
<ul>
|
||||||
|
<li><span class="key">u</span><?=__('Upload')?></li>
|
||||||
|
<li><span class="key">n</span><?=__('New File')?></li>
|
||||||
|
<li><span class="key">F7</span><?=__('New Folder')?></li>
|
||||||
|
<li><span class="key">d</span><?=__('Download')?></li>
|
||||||
|
<li><span class="key">F2 / <Shift>+F6</span><?=__('Rename')?></li>
|
||||||
|
<li><span class="key">F5</span><?=__('Copy')?></li>
|
||||||
|
<li><span class="key">a</span><?=__('Archive')?></li>
|
||||||
|
<li><span class="key">F8 / Del</span><?=__('Delete')?></li>
|
||||||
|
<li class="step-top"><span class="key"><Ctrl> + s</span><?=__('Save File (in text editor)')?></li>
|
||||||
|
<li class="step-top"><span class="key">h</span><?=__('Display Shortcuts Help')?></li>
|
||||||
|
<li class="step-top"><span class="key">Esc</span><?=__('Close Popup / Cancel')?></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li><span class="key bigger">↑</span><?=__('Move Cursor Up')?></li>
|
||||||
|
<li><span class="key bigger">↓</span><?=__('Move Cursor Down')?></li>
|
||||||
|
<li><span class="key bigger">←</span><?=__('Switch to Left Tab')?></li>
|
||||||
|
<li><span class="key bigger">→</span><?=__('Switch to Right Tab')?></li>
|
||||||
|
<li><span class="key"><Tab></span><?=__('Switch Tab')?></li>
|
||||||
|
<li><span class="key"><Home></span><?=__('Go to the Top of the File List')?></li>
|
||||||
|
<li><span class="key"><End></span><?=__('Go to the Last File')?></li>
|
||||||
|
<li class="step-top"><span class="key"><Enter></span><?=__('Open File / Enter Directory')?></li>
|
||||||
|
<li><span class="key"><Backspace></span><?=__('Go to Parent Directory')?></li>
|
||||||
|
<li class="step-top"><span class="key"><Insert> / <Space></span><?=__('Select Current File')?></li>
|
||||||
|
<li><span class="key"><Shift> + click</span><?=__('Select Bunch of Files')?></li>
|
||||||
|
<li><span class="key"><Ctrl> + click</span><?=__('Add File to the Current Selection')?></li>
|
||||||
|
<li><span class="key"><Ctrl> + a</span><?=__('Select All Files')?></li>
|
||||||
|
</ul>
|
||||||
|
<ul class="note"><?=__('shortcuts are inspired by magnificent GNU <a href="https://www.midnight-commander.org/">Midnight Commander</a> file manager')?></ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
|
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.2/fotorama.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.2/fotorama.js"></script>
|
||||||
<script type="text/javascript" src="/js/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="/js/jquery-ui.min.js"></script>
|
||||||
|
@ -346,6 +387,8 @@
|
||||||
FM['CURRENT_B_LINE'] = 0;
|
FM['CURRENT_B_LINE'] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
/*$(".listing-right").selectable({
|
/*$(".listing-right").selectable({
|
||||||
selected: function (event, ui) {
|
selected: function (event, ui) {
|
||||||
|
|
|
@ -460,11 +460,26 @@
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
shortcut.add("Esc", function(){
|
||||||
|
$('.shortcuts').hide();
|
||||||
|
}, {
|
||||||
|
'type': 'keydown',
|
||||||
|
'propagate': false,
|
||||||
|
'disable_in_input': true,
|
||||||
|
'target': document
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
$('.shortcuts .close').click(function(){
|
$('.shortcuts .close').click(function(){
|
||||||
$('.shortcuts').hide();
|
$('.shortcuts').hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('.to-shortcuts').click(function(){
|
||||||
|
$('.shortcuts').toggle();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
VE.core.register();
|
VE.core.register();
|
||||||
if (location.href.search(/list/) != -1) {
|
if (location.href.search(/list/) != -1) {
|
||||||
var shift_select_ref = $('body').finderSelect({
|
var shift_select_ref = $('body').finderSelect({
|
||||||
|
@ -511,30 +526,31 @@
|
||||||
<div class="close"></div>
|
<div class="close"></div>
|
||||||
</div>
|
</div>
|
||||||
<ul>
|
<ul>
|
||||||
<li><span class="key">n</span>Add New object</li>
|
<li><span class="key">n</span><?=__('Add New object')?></li>
|
||||||
<li><span class="key"><Ctrl> + Enter</span>Save Form</li>
|
<li><span class="key"><Ctrl> + Enter</span><?=__('Save Form')?></li>
|
||||||
<li class="step-top"><span class="key"><Ctrl> + Backspace</span>Cancel saving form</li>
|
<li><span class="key"><Ctrl> + Backspace</span><?=__('Cancel saving form')?></li>
|
||||||
|
|
||||||
<li><span class="key">1</span>Go to USER list</li>
|
<li class="step-top"><span class="key">1</span><?=__('Go to USER list')?></li>
|
||||||
<li><span class="key">2</span>Go to WEB list</li>
|
<li><span class="key">2</span><?=__('Go to WEB list')?></li>
|
||||||
<li><span class="key">3</span>Go to DNS list</li>
|
<li><span class="key">3</span><?=__('Go to DNS list')?></li>
|
||||||
<li><span class="key">4</span>Go to MAIL list</li>
|
<li><span class="key">4</span><?=__('Go to MAIL list')?></li>
|
||||||
<li><span class="key">5</span>Go to DB list</li>
|
<li><span class="key">5</span><?=__('Go to DB list')?></li>
|
||||||
<li><span class="key">6</span>Go to CRON list</li>
|
<li><span class="key">6</span><?=__('Go to CRON list')?></li>
|
||||||
<li class="step-top"><span class="key">7</span>Go to BACKUP list</li>
|
<li><span class="key">7</span><?=__('Go to BACKUP list')?></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="step-top"><span class="key">f</span>Focus on search</li>
|
<li><span class="key">f</span><?=__('Focus on search')?></li>
|
||||||
<li class="step-top"><span class="key">h</span>Display/Close shortcuts</li>
|
<li class="step-top"><span class="key">h</span><?=__('Display/Close shortcuts')?></li>
|
||||||
|
|
||||||
<li><span class="key"><Ctrl> + 1</span>Go to Packages</li>
|
<li class="step-top"><span class="key"><Ctrl> + 1</span><?=__('Go to Packages')?></li>
|
||||||
<li><span class="key"><Ctrl> + 2</span>Go to IP</li>
|
<li><span class="key"><Ctrl> + 2</span><?=__('Go to IP')?></li>
|
||||||
<li><span class="key"><Ctrl> + 3</span>Go to Graphs</li>
|
<li><span class="key"><Ctrl> + 3</span><?=__('Go to Graphs')?></li>
|
||||||
<li><span class="key"><Ctrl> + 4</span>Go to Statistics</li>
|
<li><span class="key"><Ctrl> + 4</span><?=__('Go to Statistics')?></li>
|
||||||
<li><span class="key"><Ctrl> + 5</span>Go to Log</li>
|
<li><span class="key"><Ctrl> + 5</span><?=__('Go to Log')?></li>
|
||||||
<li><span class="key"><Ctrl> + 6</span>Go to Updates</li>
|
<li><span class="key"><Ctrl> + 6</span><?=__('Go to Updates')?></li>
|
||||||
<li><span class="key"><Ctrl> + 7</span>Go to Firewall</li>
|
<li><span class="key"><Ctrl> + 7</span><?=__('Go to Firewall')?></li>
|
||||||
<li><span class="key"><Ctrl> + 8</span>Go to Server</li>
|
<li><span class="key"><Ctrl> + 8</span><?=__('Go to File Manager')?></li>
|
||||||
|
<li><span class="key"><Ctrl> + 9</span><?=__('Go to Server')?></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
<a href="#" class="to-top">
|
<a href="#" class="to-top">
|
||||||
<i class="l-icon-to-top"></i>
|
<i class="l-icon-to-top"></i>
|
||||||
</a>
|
</a>
|
||||||
|
<a href="#" class="to-shortcuts">
|
||||||
|
<i class="l-icon-shortcuts"></i>
|
||||||
|
</a>
|
||||||
<div class="l-header">
|
<div class="l-header">
|
||||||
<div class="l-center">
|
<div class="l-center">
|
||||||
<a href="/" class="l-logo"></a>
|
<a href="/" class="l-logo"></a>
|
||||||
|
@ -8,6 +11,7 @@
|
||||||
<div class="l-menu clearfix">
|
<div class="l-menu clearfix">
|
||||||
<div class="l-menu__item <?php if($TAB == 'STATS' ) echo 'l-menu__item--active' ?>"><a href="/list/stats/"><?=__('Statistics')?></a></div>
|
<div class="l-menu__item <?php if($TAB == 'STATS' ) echo 'l-menu__item--active' ?>"><a href="/list/stats/"><?=__('Statistics')?></a></div>
|
||||||
<div class="l-menu__item <?php if($TAB == 'LOG' ) echo 'l-menu__item--active' ?>"><a href="/list/log/"><?=__('Log')?></a></div>
|
<div class="l-menu__item <?php if($TAB == 'LOG' ) echo 'l-menu__item--active' ?>"><a href="/list/log/"><?=__('Log')?></a></div>
|
||||||
|
<?php if ((isset($_SESSION['FILEMANAGER_KEY'])) && (!empty($_SESSION['FILEMANAGER_KEY']))) {?><div class="l-menu__item <?php if($TAB == 'FILEMANAGER' ) echo 'l-menu__item--active' ?>"><a href="/list/directory/"><?=__('File Manager')?></a></div><?php }?>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.l-menu -->
|
<!-- /.l-menu -->
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,36 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
//session_start();
|
||||||
|
|
||||||
|
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||||
|
|
||||||
|
//$user = $_SESSION['user'];
|
||||||
|
|
||||||
|
if (empty($panel)) {
|
||||||
|
$command = VESTA_CMD."v-list-user '".$user."' 'json'";
|
||||||
|
exec ($command, $output, $return_var);
|
||||||
|
if ( $return_var > 0 ) {
|
||||||
|
header("Location: /error/");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
$panel = json_decode(implode('', $output), true);
|
||||||
|
}
|
||||||
|
$user = array_keys($panel);
|
||||||
|
$user = $user[0];
|
||||||
|
|
||||||
|
define('USERNAME', $user);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
// Check user session
|
||||||
|
if ((!isset($_SESSION['user'])) && (!defined('NO_AUTH_REQUIRED'))) {
|
||||||
|
$_SESSION['request_uri'] = $_SERVER['REQUEST_URI'];
|
||||||
|
header("Location: /login/");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* jQuery File Upload Plugin PHP Class 8.1.0
|
* jQuery File Upload Plugin PHP Class 8.1.0
|
||||||
* https://github.com/blueimp/jQuery-File-Upload
|
* https://github.com/blueimp/jQuery-File-Upload
|
||||||
|
@ -1042,6 +1074,8 @@ class UploadHandler
|
||||||
|
|
||||||
protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
|
protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
|
||||||
$index = null, $content_range = null) {
|
$index = null, $content_range = null) {
|
||||||
|
|
||||||
|
|
||||||
$file = new \stdClass();
|
$file = new \stdClass();
|
||||||
$file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error,
|
$file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error,
|
||||||
$index, $content_range);
|
$index, $content_range);
|
||||||
|
@ -1065,7 +1099,21 @@ class UploadHandler
|
||||||
FILE_APPEND
|
FILE_APPEND
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
move_uploaded_file($uploaded_file, $file_path);
|
chmod($uploaded_file, 0644);
|
||||||
|
//move_uploaded_file($uploaded_file, $file_path);
|
||||||
|
exec (VESTA_CMD . "v-copy-fs-file ". USERNAME ." {$uploaded_file} {$file_path}", $output, $return_var);
|
||||||
|
|
||||||
|
$error = check_return_code($return_var, $output);
|
||||||
|
if ($return_var != 0) {
|
||||||
|
//var_dump(VESTA_CMD . "v-copy-fs-file {$user} {$fn} {$path}");
|
||||||
|
//var_dump($path);
|
||||||
|
//var_dump($output);
|
||||||
|
$file->error = 'Error while saving file';
|
||||||
|
/*var_dump(VESTA_CMD . "v-copy-fs-file ". USERNAME ." {$uploaded_file} {$file_path}");
|
||||||
|
var_dump($return_var);
|
||||||
|
var_dump($output);
|
||||||
|
die();*/
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Non-multipart uploads (PUT method support)
|
// Non-multipart uploads (PUT method support)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue