From 7fb9aa24fb6dd078501960f8a873d2ff91aaf5ea Mon Sep 17 00:00:00 2001 From: Friendika Date: Sun, 29 May 2011 21:20:50 -0700 Subject: [PATCH] bug #87 alert if email settings don't open mailbox, also display last email connect time --- mod/settings.php | 20 +++++++++++++++++++- view/settings.tpl | 3 +++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/mod/settings.php b/mod/settings.php index 055042916..f898f171c 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -111,6 +111,22 @@ function settings_post(&$a) { intval($mail_pubmail), intval(local_user()) ); + $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1", + intval(local_user()) + ); + if(count($r)) { + $eacct = $r[0]; + require_once('include/email.php'); + $mb = construct_mailbox_name($eacct); + if(strlen($eacct['server'])) { + $dcrpass = ''; + openssl_private_decrypt(hex2bin($eacct['pass']),$dcrpass,$a->user['prvkey']); + $mbox = email_connect($mb,$mail_user,$dcrpass); + unset($dcrpass); + if(! $mbox) + notice( t('Failed to connect with email account using the settings provided.') . EOL); + } + } } $notify = 0; @@ -308,7 +324,7 @@ function settings_content(&$a) { $mail_user = ((count($r)) ? $r[0]['user'] : ''); $mail_replyto = ((count($r)) ? $r[0]['reply_to'] : ''); $mail_pubmail = ((count($r)) ? $r[0]['pubmail'] : 0); - + $mail_chk = ((count($r)) ? $r[0]['last_check'] : '0000-00-00 00:00:00'); $pageset_tpl = get_markup_template('pagetypes.tpl'); $pagetype = replace_macros($pageset_tpl,array( @@ -484,6 +500,8 @@ function settings_content(&$a) { '$lbl_imap6' => t("Reply-to address \x28Optional\x29:"), '$imap_replyto' => $mail_replyto, '$lbl_imap7' => t('Send public posts to all email contacts:'), + '$lbl_imap8' => t('Last successful email check:'), + '$lbl_imap9' => (($mail_chk === '0000-00-00 00:00:00') ? t('never') : datetime_convert('UTC', date_default_timezone_get(), $mail_chk, t('g A l F d Y'))), '$pubmail_checked' => (($mail_pubmail) ? ' checked="checked" ' : ''), '$mail_disabled' => (($mail_disabled) ? '
' . t('Email access is disabled on this site.') . '
' : ''), '$imap_disabled' => $imap_disabled diff --git a/view/settings.tpl b/view/settings.tpl index 25f570be6..077840ba4 100644 --- a/view/settings.tpl +++ b/view/settings.tpl @@ -169,6 +169,9 @@ $profile_in_net_dir $imap_desc $mail_disabled

+

+$lbl_imap8 $lbl_imap9 +