Warning: session_start(): open(/var/lib/php/sessions/sess_q5jibei4galmgq15fgtebsdlif, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
sclass SCP extends DynModule {
S link, dir;
L files;
bool inForm = true;
transient JTextField tfLink, tfDir;
transient JList list;
void start { fetch(); }
JComponent visualize() {
if (tfLink == null) tfLink = jtextfield("root@butter.botcompany.de");
if (tfDir == null) tfDir = jtextfield("/root");
if (inForm) ret renameSubmitButton("Connect", makeForm(
"User@Host", tfLink,
"Remote directory", tfDir,
disableButtonWhileCalcing(func -> bool {
setFields(link := getTextTrim(tfLink), dir := getTextTrim(tfDir));
if (!fetch()) false;
revisualize();
true;
})));
ret jSection(link + ":" + dir, list = jlist(files));
}
bool fetch() {
int i = indexOf(link, '@');
if (i < 0) false;
setField(files := mapMethod('getName, scpLS(takeFirst(link, i), substring(link, i+1), dir)));
setField(inForm := false);
true;
}
void enhanceFrame(JInternalFrame f) {
internalFrameTitlePopupMenuItem(f, "Back to form", r backToForm);
}
void backToForm {
setField(inForm := true);
revisualize();
}
}