summaryrefslogtreecommitdiff
path: root/plugins/kolab_files
diff options
context:
space:
mode:
authorAleksander Machniak <machniak@kolabsys.com>2014-10-17 11:59:38 (GMT)
committerAleksander Machniak <machniak@kolabsys.com>2014-10-17 11:59:38 (GMT)
commitfa20f96c30ce8b5808b68ce27ea5fe67cb271cc2 (patch)
tree0116474515d66f92af88991e12255c787c25c09c /plugins/kolab_files
parent538edd1707f763721222675142df250b2e0f7f3a (diff)
downloadroundcubemail-plugins-kolab-fa20f96c30ce8b5808b68ce27ea5fe67cb271cc2.tar.gz
Add "remember password" option
Diffstat (limited to 'plugins/kolab_files')
-rw-r--r--plugins/kolab_files/kolab_files.js10
-rw-r--r--plugins/kolab_files/lib/kolab_files_engine.php20
-rw-r--r--plugins/kolab_files/localization/en_US.inc3
-rw-r--r--plugins/kolab_files/skins/larry/style.css16
-rw-r--r--plugins/kolab_files/skins/larry/templates/compose_plugin.html1
-rw-r--r--plugins/kolab_files/skins/larry/templates/files.html1
-rw-r--r--plugins/kolab_files/skins/larry/templates/message_plugin.html1
7 files changed, 47 insertions, 5 deletions
diff --git a/plugins/kolab_files/kolab_files.js b/plugins/kolab_files/kolab_files.js
index 898a682..57e36a5 100644
--- a/plugins/kolab_files/kolab_files.js
+++ b/plugins/kolab_files/kolab_files.js
@@ -385,6 +385,10 @@ function kolab_files_folder_mount_dialog()
}
});
+ $('.auth-options input', dialog).each(function() {
+ args[this.name] = this.type == 'checkbox' && !this.checked ? '' : this.value;
+ });
+
file_api.folder_mount(args);
kolab_dialog_close(this);
};
@@ -1025,7 +1029,7 @@ function kolab_files_ui()
elem.html('').append(list);
- this.env.folders = this.folder_list_parse(response.result ? response.result.list : []);
+ this.env.folders = this.folder_list_parse(response.result && response.result.list ? response.result.list : response.result);
$.each(this.env.folders, function(i, f) {
list.append(file_api.folder_list_row(i, f));
@@ -1835,13 +1839,13 @@ function kolab_files_ui()
content = this.folder_list_auth_form(driver);
dialog.find('table.propform').remove();
- dialog.append(content);
+ $('.options', dialog).before(content);
args.buttons[this.t('kolab_files.save')] = function() {
var data = {folder: label, list: 1};
$('input', dialog).each(function() {
- data[this.name] = this.value;
+ data[this.name] = this.type == 'checkbox' && !this.checked ? '' : this.value;
});
file_api.open_dialog = this;
diff --git a/plugins/kolab_files/lib/kolab_files_engine.php b/plugins/kolab_files/lib/kolab_files_engine.php
index bbcd666..d319fe7 100644
--- a/plugins/kolab_files/lib/kolab_files_engine.php
+++ b/plugins/kolab_files/lib/kolab_files_engine.php
@@ -123,6 +123,7 @@ class kolab_files_engine
$this->rc->output->add_handlers(array(
'folder-create-form' => array($this, 'folder_create_form'),
'folder-mount-form' => array($this, 'folder_mount_form'),
+ 'folder-auth-options'=> array($this, 'folder_auth_options'),
'file-search-form' => array($this, 'file_search_form'),
'file-edit-form' => array($this, 'file_edit_form'),
'filelist' => array($this, 'file_list'),
@@ -243,7 +244,7 @@ class kolab_files_engine
$table->add(array('id' => $id, 'colspan' => 2, 'class' => 'source'), $row);
}
- $out = $table->show();
+ $out = $table->show() . $this->folder_auth_options(array('suffix' => '-form'));
// add form tag around text field
if (empty($attrib['form'])) {
@@ -259,6 +260,23 @@ class kolab_files_engine
}
/**
+ * Template object for folder authentication options
+ */
+ public function folder_auth_options($attrib)
+ {
+ $checkbox = new html_checkbox(array(
+ 'name' => 'store_passwords',
+ 'value' => '1',
+ 'id' => 'auth-pass-checkbox' . $attrib['suffix'],
+ ));
+
+ return html::div('auth-options', $checkbox->show(). '&nbsp;'
+ . html::label('auth-pass-checkbox' . $attrib['suffix'], $this->plugin->gettext('storepasswords'))
+ . html::span('description', $this->plugin->gettext('storepasswordsdesc'))
+ );
+ }
+
+ /**
* Template object for file_edit form
*/
public function file_edit_form($attrib)
diff --git a/plugins/kolab_files/localization/en_US.inc b/plugins/kolab_files/localization/en_US.inc
index 3ecd1fc..9ddecef 100644
--- a/plugins/kolab_files/localization/en_US.inc
+++ b/plugins/kolab_files/localization/en_US.inc
@@ -81,6 +81,9 @@ $labels['fileoverwrite'] = 'Overwrite';
$labels['fileoverwriteall'] = 'Overwrite all';
$labels['filemoveconfirm'] = 'This action is going to overwrite the destination file: <b>$file</b>.';
+$labels['storepasswords'] = 'remember password';
+$labels['storepasswordsdesc'] = 'Stored passwords will be encrypted. Enable this if you do not want to be asked for the password on every login or you want this storage to be available via WebDAV.';
+
$labels['arialabelsearchform'] = 'Files search form';
$labels['arialabelquicksearchbox'] = 'Search input';
$labels['arialabellistoptions'] = 'Files list options';
diff --git a/plugins/kolab_files/skins/larry/style.css b/plugins/kolab_files/skins/larry/style.css
index de0735c..526395e 100644
--- a/plugins/kolab_files/skins/larry/style.css
+++ b/plugins/kolab_files/skins/larry/style.css
@@ -365,7 +365,6 @@ ul.toolbarmenu li span.saveas {
background: url(images/buttons.png) -5px -253px no-repeat;
}
-
table.propform td.source.selected {
background-color: #c7e3ef;
}
@@ -400,3 +399,18 @@ table.propform td.source table.propform td {
padding: 2px 10px;
background-color: inherit;
}
+
+.auth-options {
+ margin-top: 5px;
+}
+
+.auth-options .description {
+ color: #666;
+ display: block;
+ margin: 3px 0 0 25px;
+}
+
+.auth-options input,
+.auth-options label {
+ vertical-align: middle;
+}
diff --git a/plugins/kolab_files/skins/larry/templates/compose_plugin.html b/plugins/kolab_files/skins/larry/templates/compose_plugin.html
index ceb56cc..e4d0a15 100644
--- a/plugins/kolab_files/skins/larry/templates/compose_plugin.html
+++ b/plugins/kolab_files/skins/larry/templates/compose_plugin.html
@@ -28,4 +28,5 @@
<div id="files-folder-auth-dialog" role="dialog" aria-labelledby="aria-label-folderauthform" aria-hidden="true">
<h3 id="aria-label-folderauthform" class="voice"><roundcube:label name="kolab_files.arialabelfolderauthform" /></h3>
+ <roundcube:object name="folder-auth-options">
</div>
diff --git a/plugins/kolab_files/skins/larry/templates/files.html b/plugins/kolab_files/skins/larry/templates/files.html
index e33d1d0..4494e3e 100644
--- a/plugins/kolab_files/skins/larry/templates/files.html
+++ b/plugins/kolab_files/skins/larry/templates/files.html
@@ -82,6 +82,7 @@
</div>
<div id="files-folder-auth-dialog" role="dialog" aria-labelledby="aria-label-folderauthform" aria-hidden="true">
<h3 id="aria-label-folderauthform" class="voice"><roundcube:label name="kolab_files.arialabelfolderauthform" /></h3>
+ <roundcube:object name="folder-auth-options">
</div>
<div id="listoptions" class="propform popupdialog" data-editable="true" role="dialog" aria-labelledby="aria-label-listoptions" aria-hidden="true">
diff --git a/plugins/kolab_files/skins/larry/templates/message_plugin.html b/plugins/kolab_files/skins/larry/templates/message_plugin.html
index 26c2525..215d333 100644
--- a/plugins/kolab_files/skins/larry/templates/message_plugin.html
+++ b/plugins/kolab_files/skins/larry/templates/message_plugin.html
@@ -20,6 +20,7 @@
<div id="files-folder-auth-dialog" role="dialog" aria-labelledby="aria-label-folderauthform" aria-hidden="true">
<h3 id="aria-label-folderauthform" class="voice"><roundcube:label name="kolab_files.arialabelfolderauthform" /></h3>
+ <roundcube:object name="folder-auth-options">
</div>
<script src="plugins/kolab_files/skins/larry/ui.js" type="text/javascript"></script>