diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index e536917c4..c0471999d 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -195,6 +195,9 @@ $rcmail_config['mail_header_delimiter'] = NULL; * 'fuzzy_search' => 0); */ +// list of configuration option names that need to be available in Javascript. +$rcmail_config['javascript_config'] = array('read_when_deleted', 'flag_for_deletion'); + // try to load host-specific configuration $rcmail_config['include_host_config'] = FALSE; @@ -222,9 +225,8 @@ $rcmail_config['message_sort_col'] = 'date'; // default sort order $rcmail_config['message_sort_order'] = 'DESC'; -// list of configuration option names that need to be available in Javascript. -$rcmail_config['javascript_config'] = array('read_when_deleted', 'flag_for_deletion'); - +// save compose message every 300 seconds (5min) +$rcmail_config['draft_autosave'] = 300; // end of config file ?> diff --git a/program/localization/de_CH/labels.inc b/program/localization/de_CH/labels.inc index d4a467d99..85070942a 100644 --- a/program/localization/de_CH/labels.inc +++ b/program/localization/de_CH/labels.inc @@ -200,6 +200,10 @@ $labels['pagesize'] = 'Einträge pro Seite'; $labels['signature'] = 'Signatur'; $labels['dstactive'] = 'Sommerzeit'; +$labels['autosavedraft'] = 'Entwurf autom. speichern'; +$labels['everynminutes'] = 'alle $n Minuten'; +$labels['never'] = 'nie'; + $labels['folder'] = 'Ordner'; $labels['folders'] = 'Ordner'; $labels['foldername'] = 'Ordnername'; diff --git a/program/localization/de_DE/labels.inc b/program/localization/de_DE/labels.inc index f1cef48d5..ce19c98f1 100644 --- a/program/localization/de_DE/labels.inc +++ b/program/localization/de_DE/labels.inc @@ -201,6 +201,10 @@ $labels['pagesize'] = 'Einträge pro Seite'; $labels['signature'] = 'Signatur'; $labels['dstactive'] = 'Sommerzeit'; +$labels['autosavedraft'] = 'Entwurf autom. speichern'; +$labels['everynminutes'] = 'alle $n Minuten'; +$labels['never'] = 'nie'; + $labels['folder'] = 'Ordner'; $labels['folders'] = 'Ordner'; $labels['foldername'] = 'Ordnername'; diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index 5945392d3..810ae78a2 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -202,6 +202,10 @@ $labels['pagesize'] = 'Rows per page'; $labels['signature'] = 'Signature'; $labels['dstactive'] = 'Daylight savings'; +$labels['autosavedraft'] = 'Automatically save draft'; +$labels['everynminutes'] = 'every $n minutes'; +$labels['never'] = 'never'; + $labels['folder'] = 'Folder'; $labels['folders'] = 'Folders'; $labels['foldername'] = 'Folder name'; diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 2f650d6e4..14adb1266 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -55,6 +55,9 @@ $_SESSION['compose'] = array('id' => uniqid(rand())); // add some labels to client rcube_add_label('nosubject', 'norecipientwarning', 'nosubjectwarning', 'nobodywarning', 'notsentwarning', 'savingmessage', 'sendingmessage', 'messagesaved'); +// add config parameter to client script +$OUTPUT->add_script(sprintf("%s.set_env('draft_autosave', %d);", $JS_OBJECT_NAME, !empty($CONFIG['drafts_mbox']) ? $CONFIG['draft_autosave'] : 0)); + // get reference message and set compose mode if ($msg_uid = get_input_value('_reply_uid', RCUBE_INPUT_GET)) diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index a22ac9ae6..f08b75af8 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -46,10 +46,13 @@ function rcmail_user_prefs_form($attrib) // return the complete edit form as table $out = "$form_start
%s |