X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/11be8dc178e77d0b46189bbd8e33a216a9b90942..refs/tags/wordpress-2.9:/wp-mail.php diff --git a/wp-mail.php b/wp-mail.php index 2966dc36..cbc47315 100644 --- a/wp-mail.php +++ b/wp-mail.php @@ -10,20 +10,35 @@ /** Make sure that the WordPress bootstrap has run before continuing. */ require(dirname(__FILE__) . '/wp-load.php'); +/** Allow a plugin to do a complete takeover of Post by Email **/ +do_action('wp-mail.php'); + /** Get the POP3 class with which to access the mailbox. */ require_once( ABSPATH . WPINC . '/class-pop3.php' ); -$time_difference = absint(get_option('gmt_offset')) * 3600; +/** Only check at this interval for new messages. */ +if ( !defined('WP_MAIL_INTERVAL') ) + define('WP_MAIL_INTERVAL', 300); // 5 minutes + +$last_checked = get_transient('mailserver_last_checked'); + +if ( $last_checked ) + wp_die(__('Slow down cowboy, no need to check for new mails so often!')); + +set_transient('mailserver_last_checked', true, WP_MAIL_INTERVAL); + +$time_difference = get_option('gmt_offset') * 3600; $phone_delim = '::'; $pop3 = new POP3(); +$count = 0; if ( ! $pop3->connect(get_option('mailserver_url'), get_option('mailserver_port') ) || ! $pop3->user(get_option('mailserver_login')) || ( ! $count = $pop3->pass(get_option('mailserver_pass')) ) ) { $pop3->quit(); - wp_die( ( 0 === $count ) ? __("There doesn't seem to be any new mail.") : wp_specialchars($pop3->ERROR) ); + wp_die( ( 0 === $count ) ? __('There doesn’t seem to be any new mail.') : esc_html($pop3->ERROR) ); } for ( $i = 1; $i <= $count; $i++ ) { @@ -156,6 +171,10 @@ for ( $i = 1; $i <= $count; $i++ ) { } $content = trim($content); + //Give Post-By-Email extending plugins full access to the content + //Either the raw content or the content of the last quoted-printable section + $content = apply_filters('wp_mail_original_content', $content); + if ( false !== stripos($content_transfer_encoding, "quoted-printable") ) { $content = quoted_printable_decode($content); } @@ -191,11 +210,11 @@ for ( $i = 1; $i <= $count; $i++ ) { do_action('publish_phone', $post_ID); - echo "\n

" . sprintf(__('Author: %s'), wp_specialchars($post_author)) . '

'; - echo "\n

" . sprintf(__('Posted title: %s'), wp_specialchars($post_title)) . '

'; + echo "\n

" . sprintf(__('Author: %s'), esc_html($post_author)) . '

'; + echo "\n

" . sprintf(__('Posted title: %s'), esc_html($post_title)) . '

'; if(!$pop3->delete($i)) { - echo '

' . sprintf(__('Oops: %s'), wp_specialchars($pop3->ERROR)) . '

'; + echo '

' . sprintf(__('Oops: %s'), esc_html($pop3->ERROR)) . '

'; $pop3->reset(); exit; } else {