function _renderVarDisplay_email($form, $var, $vars) { $display_email = $email = $var->getValue($vars); if ($var->type->strip_domain && strpos($email, '@') !== false) { $display_email = str_replace(array('@', '.'), array(' (at) ', ' (dot) '), $email); } if ($var->type->link_compose) { $email_val = trim($email); // Format the address according to RFC822. $mailbox_host = explode('@', $email_val); if (!isset($mailbox_host[1])) { $mailbox_host[1] = ''; } $name = $var->type->link_name; require_once 'Horde/MIME.php'; $address = MIME::rfc822WriteAddress($mailbox_host[0], $mailbox_host[1], $name); // Get rid of the trailing @ (when no host is included in // the email address). $address = str_replace('@>', '>', $address); try { $mail_link = $GLOBALS['registry']->call('mail/compose', array(array('to' => addslashes($address)))); } catch (Horde_Exception $e) { $mail_link = 'mailto:' . urlencode($address); } return Horde::link($mail_link, $email_val) . htmlspecialchars($display_email) . '</a>'; } else { return nl2br(htmlspecialchars($display_email)); } }
require_once HORDE_LIBS . 'Horde/MIME/Headers.php'; require_once HORDE_LIBS . 'Horde/MIME/Message.php'; $msg_headers =& new MIME_Headers(); $msg_headers->addReceivedHeader(); $msg_headers->addMessageIdHeader(); $msg_headers->addAgentHeader(); $msg_headers->addHeader('Date', date('r')); $msg_headers->addHeader('To', $conf['problems']['email']); $msg_headers->addHeader('Subject', _("[Problem Report]") . ' ' . $subject); if (!empty($email)) { if (!empty($name)) { list($mailbox, $host) = @explode('@', $email); if (empty($host)) { $host = $conf['server']['name']; } $msg_headers->addHeader('From', MIME::rfc822WriteAddress($mailbox, $host, $name)); } else { $msg_headers->addHeader('From', $email); } $msg_headers->addHeader('Sender', 'horde-problem@' . $conf['server']['name']); } else { $msg_headers->addHeader('From', 'horde-problem@' . $conf['server']['name']); } $recipients = $conf['problems']['email']; $message = str_replace("\r\n", "\n", $message); // This is not a gettext string on purpose. $remote = !empty($_SERVER['REMOTE_HOST']) ? $_SERVER['REMOTE_HOST'] : $_SERVER['REMOTE_ADDR']; $user_agent = $_SERVER['HTTP_USER_AGENT']; $message = "This problem report was received from {$remote}. " . "The user clicked the problem report link from the following location:\n" . Util::getFormData('return_url', 'No requesting page') . "\nand is using the following browser:\n{$user_agent}\n\n{$message}"; $mime =& new MIME_Message(); $body =& new MIME_Part('text/plain', Text::wrap($message, 80, "\n"));