0. make a backup of your RC !!! 1. edit file index.php in main RC webdir and after "include_once('program/steps/settings/func.inc');" add if ($_action=='autoreply' || $_action=='save-autoreply') include('program/steps/settings/autoreply.inc'); result like below (...) // include task specific files if ($_task=='settings') { include_once('program/steps/settings/func.inc'); if ($_action=='autoreply' || $_action=='save-autoreply') include('program/steps/settings/autoreply.inc'); (...) 2. edit file program/steps/settings/func.inc, look for "// register UI objects $OUTPUT->add_handlers(array( 'userprefs' => 'rcmail_user_prefs_form', 'itentitieslist' => 'rcmail_identities_list'," next add line 'autoreply' => 'rcmail_autoreply_form', result like below (...) // register UI objects $OUTPUT->add_handlers(array( 'userprefs' => 'rcmail_user_prefs_form', 'itentitieslist' => 'rcmail_identities_list', 'autoreply' => 'rcmail_autoreply_form' )); 3. edit file program/js/app.js, search for "case 'settings':" change line this.enable_command('preferences', 'identities', 'save', 'folders', true); to this.enable_command('preferences', 'identities', 'save', 'folders', 'autoreply', true); and just below add the following: if ( this.env.action=='autoreply' || this.env.action=='save-autoreply' ) { var input_active = rcube_find_object('_active_autoreply'); var input_tekst = rcube_find_object('_tekst_autoreply'); this.enable_command('save-autoreply', true); } result like below (...) case 'settings': this.enable_command('preferences', 'identities', 'save', 'folders', 'autoreply', true); if ( this.env.action=='autoreply' || this.env.action=='save-autoreply' ) { var input_active = rcube_find_object('_active_autoreply'); var input_tekst = rcube_find_object('_tekst_autoreply'); this.enable_command('save-autoreply', true); } (...) in the same file program/js/app.js look for "this.delete_folder(props); break;" and just below add next lines: case 'autoreply': this.goto_url('autoreply'); break; case 'save-autoreply': var input_active = rcube_find_object('_active_autoreply'); var input_tekst = rcube_find_object('_tekst_autoreply'); this.gui_objects.editform.submit(); break; result like below (...) case 'delete-folder': if (confirm(this.get_label('deletefolderconfirm'))) this.delete_folder(props); break; case 'autoreply': this.goto_url('autoreply'); break; case 'save-autoreply': var input_active = rcube_find_object('_active_autoreply'); var input_tekst = rcube_find_object('_tekst_autoreply'); this.gui_objects.editform.submit(); break; (...) 4. enter directory program/steps/settings/ and download file http://daniel.blogs.jebiemnieto.org/files/2007/07/autoreplyinc.txt, rename it to autoreply.inc and make sure that owner and group is the same as the rest of files in this dir 5. edit autoreply.inc and modify function rcmail_save_autoreply and rcmail_autoreply_form($attrib) my mta user table have uniq id ("id") and every user afer succesfull login into RC "gets" session variable ("$_SESSION['adnet_id']") in which i store users id. this is done in program/include/main.inc file in function rcmail_login($user, $pass, $host=NULL) overwrite username if ($sql_arr = $DB->fetch_assoc($sql_result)) { $user_id = $sql_arr['user_id']; $user = $sql_arr['username']; } i added @ $DB_1 = new mysqli('localhost', 'adnetmail', 'VerySecurePassword123456', 'adnet_mail'); $RESULT_1 = $DB_1->query('SELECT id FROM v_daemon WHERE email = \'' . $user . '\''); $ROWS_1 = $RESULT_1->num_rows; if ( $ROWS_1 == 1 ) { $ROW_2 = $RESULT_1->fetch_assoc(); $adnet_id = $ROW_2['id']; $_SESSION['adnet_id'] = $adnet_id; } $DB_1->close(); how you can see in this file you can customize getting user id from mta database (if you have to) or you can skip this simply just modifing only rcmail_save_autoreply and rcmail_autoreply_form functions in autoreply.inc, to update fileds in your table. 6. download template http://daniel.blogs.jebiemnieto.org/files/2007/07/autoreplyhtml.txt and save as autoreply.html into skins/default/templates/ and also make sure httpd can access to the file. 7. edit program/localization/en_US/labels.inc adding lines $labels['autoreply'] = 'Autoreply'; $labels['titleautoreply'] = 'Autoreply settings'; $labels['activeautoreply'] = 'Autoresponder active'; $labels['textautoreply'] = 'Autoresponder text'; 8. edit program/localization/en_US/messages.inc adding lines $messages['autoreplymodified'] = 'Autoresponder settings saved.'; $messages['noautoreply'] = 'Autoreponder active but no text provided.'; You can also expand this messages and labels to your language, just edit files program/localization/${yours_lang}/{labels.inc,messages.inc} but remember to encode it with utf-8 9. edit file skins/default/includes/settingstabs.html, make sure its like this
10. I belive thats all :)