Skip to content

Commit 3d586da

Browse files
committed
added default server and local directory
tab close and/or disconnect
1 parent f75b861 commit 3d586da

File tree

10 files changed

+68
-16
lines changed

10 files changed

+68
-16
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# v0.12.0 - xx.xx.xxxx - alpha 4
2+
* restrict access to web ftp client root for local browser
3+
* allow self signed certs
4+
* added default root directory for server and local browser
5+
6+
17
# v0.11.0 - 03.04.2017 - alpha 3
28
* added DE translation
39
* added dark/light theme

lang/de.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -117,5 +117,10 @@
117117
"user.add": "Neuen Benutzer hinzufügen",
118118
"usermanager": "Benutzermanager",
119119
"username": "Benutzername",
120-
"yes": "Ja"
120+
"yes": "Ja",
121+
"tab.close.info" : "Was möchtest du tun?",
122+
"tab.close.disconnect" : "Verbindung trennen",
123+
"tab.close.remove" : "Tab schließen und Verbindung trennen",
124+
"server.root.local" : "Root Verzeichnis im lokalen Browser",
125+
"server.root.server" : "Root Verzeichnis im Serverbrowser"
121126
}

lang/en.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -117,5 +117,10 @@
117117
"user.add": "Add new user",
118118
"usermanager": "Usermanager",
119119
"username": "Username",
120-
"yes": "Yes"
120+
"yes": "Yes",
121+
"tab.close.info" : "What do you want to do?",
122+
"tab.close.disconnect" : "Disconnect",
123+
"tab.close.remove" : "Close tab and disconnect",
124+
"server.root.local" : "Root directory in local browser",
125+
"server.root.server" : "Root directory in server browser"
121126
}

public/scripts/src/global.js

+1
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ $(function () {
209209
gl.note('Your browser is not supported in this application (Outdated Browser). Please upgrade to the newest version')
210210
return
211211
}
212+
212213
// add flag class for touch support
213214
const $body = $('body')
214215
const hasTouch = ('ontouchstart' in window || (typeof window.DocumentTouch !== 'undefined' && document instanceof window.DocumentTouch)) === true

public/scripts/src/splitbox.js

+25-6
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,34 @@ gl.splitbox.tabAdd = function (tpl, params, label) {
5353
* @param {jQuery} $tab
5454
*/
5555
gl.splitbox.tabDelete = function ($tab) {
56-
// if is a servertab the also disconnect
57-
if ($tab.attr('data-template') === 'serverbrowser') {
56+
const disconnect = function () {
5857
gl.socket.send('disconnectFtpServer', {'server': $tab.data('params').server})
58+
gl.modalClose()
59+
}
60+
const remove = function () {
61+
if ($tab.hasClass('active')) {
62+
$('.splitbox').children().html('')
63+
}
64+
$tab.remove()
65+
gl.splitbox.tabSave()
66+
gl.modalClose()
5967
}
60-
if ($tab.hasClass('active')) {
61-
$('.splitbox').children().html('')
68+
if ($tab.attr('data-template') === 'serverbrowser') {
69+
const $footer = $('<div>')
70+
$footer.append('<div class="btn btn-info remove" data-translate="tab.close.remove"></div>')
71+
$footer.append('<div class="btn btn-info disconnect" data-translate="tab.close.disconnect"></div>')
72+
$footer.on('click', '.disconnect', function () {
73+
disconnect()
74+
}).on('click', '.remove', function () {
75+
disconnect()
76+
remove()
77+
})
78+
gl.modal(null, gl.t('tab.close.info'), $footer, function () {
79+
80+
})
81+
} else {
82+
remove()
6283
}
63-
$tab.remove()
64-
gl.splitbox.tabSave()
6584
}
6685

6786
/**

public/stylesheets/lib/sandstone/bootstrap.min.css

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/tpl/src/serverbrowser.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,6 @@
244244
gl.showContextmenu($contextmenuBoth, ev)
245245
})
246246

247-
loadServerDirectory(tabParams.serverDirectory || '/')
248-
loadLocalDirectory(tabParams.localDirectory || '.')
247+
loadServerDirectory(tabParams.serverDirectory)
248+
loadLocalDirectory(tabParams.localDirectory)
249249
})()

public/tpl/src/servermanager.js

+8
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@
6161
'showIf': function (fields) {
6262
return fields.auth.val() === 'keyfile'
6363
}
64+
},
65+
'root_local': {
66+
'type': 'text',
67+
'label': 'server.root.local'
68+
},
69+
'root_server': {
70+
'type': 'text',
71+
'label': 'server.root.server'
6472
}
6573
}
6674
}

src/actions/getFtpFilelist.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
const path = require('path')
44
const FtpServer = require(path.join(__dirname, '../ftpServer'))
5+
const Server = require(path.join(__dirname, '../server'))
56

67
const action = {}
78

@@ -18,12 +19,16 @@ action.requireUser = true
1819
* @param {function} callback
1920
*/
2021
action.execute = function (user, message, callback) {
21-
FtpServer.get(message.server, function (server) {
22-
if (!server) {
22+
FtpServer.get(message.server, function (ftpServer) {
23+
if (!ftpServer) {
2324
callback()
2425
return
2526
}
26-
server.readdir(message.directory, function (list) {
27+
const server = Server.get(message.server)
28+
if (typeof message.directory === 'undefined' || message.directory === '') {
29+
message.directory = server.getServerData().root_server || '/'
30+
}
31+
ftpServer.readdir(message.directory, function (list) {
2732
callback({
2833
'currentDirectory': message.directory,
2934
'files': list

src/actions/getLocalFilelist.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@ action.requireUser = true
2020
*/
2121
action.execute = function (user, message, callback) {
2222
let filesout = []
23-
let server = Server.get(message.server)
23+
const server = Server.get(message.server)
2424
const rootDir = path.join(__dirname, '../..')
2525
// special handler, dot refers to web client root
26+
if (typeof message.directory === 'undefined' || message.directory === '') {
27+
message.directory = server.getServerData().root_local || '.'
28+
}
2629
if (message.directory === '.') {
2730
message.directory = path.join(__dirname, '../../..')
2831
}

0 commit comments

Comments
 (0)