Index: mailhandler.admin.inc =================================================================== RCS file: /cvs/drupal/contributions/modules/mailhandler/Attic/mailhandler.admin.inc,v retrieving revision 1.1 diff -u -p -r1.1 mailhandler.admin.inc --- mailhandler.admin.inc 2 May 2008 12:58:16 -0000 1.1 +++ mailhandler.admin.inc 27 Aug 2008 00:03:47 -0000 @@ -5,9 +5,7 @@ */ function mailhandler_add_edit_mailbox($form_state, $mid) { - if ($mid && !$form_state['post']) { - $edit = mailhandler_get_mailbox($mid); - } + $edit = $mid ? mailhandler_get_mailbox($mid) : mailhandler_get_mailbox_defaults(); if (empty($edit['folder'])) { $edit['folder'] = 'INBOX'; @@ -284,9 +282,9 @@ function mailhandler_list_mailboxes() { while ($mailbox = db_fetch_object($result)) { $rows[] = array( ''. $mailbox->mail .'', - l(t('retrieve'), 'admin/content/mailhandler/retrieve/'.$mailbox->mid, array('title' => t('Retrieve and process pending e-mails in this mailbox')), $destination), - l(t('edit'), 'admin/content/mailhandler/edit/'.$mailbox->mid, array('title' => t('Edit this mailbox configuration')), $destination), - l(t('delete'), 'admin/content/mailhandler/delete/'.$mailbox->mid, array('title' => t('Delete this mailbox')), $destination), + l(t('retrieve'), 'admin/content/mailhandler/retrieve/'.$mailbox->mid, array('title' => t('Retrieve and process pending e-mails in this mailbox'))), + l(t('edit'), 'admin/content/mailhandler/edit/'.$mailbox->mid, array('title' => t('Edit this mailbox configuration'))), + l(t('delete'), 'admin/content/mailhandler/delete/'.$mailbox->mid, array('title' => t('Delete this mailbox'))), ); } @@ -343,3 +341,14 @@ function mailhandler_admin_settings_vali form_set_error('mailhandler_max_retrieval', t('The value should a positive integer, or zero.')); } } + +/** + * Return an array of mailbox default values. + */ +function mailhandler_get_mailbox_defaults() { + $schema = drupal_get_schema('mailhandler'); + foreach ($schema['fields'] as $field => $params) { + $defaults[$field] = isset($params['default']) ? $params['default'] : ''; + } + return $defaults; +}