X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/9e77185fafaf4e60e2b73821e0e4b9b1a11fb85f..0f74cdeda4c069bfbb9c4131ef1352f55b6f8499:/wp-mail.php diff --git a/wp-mail.php b/wp-mail.php index 6775de8a..35fb24ae 100644 --- a/wp-mail.php +++ b/wp-mail.php @@ -12,7 +12,13 @@ require(dirname(__FILE__) . '/wp-load.php'); /** This filter is documented in wp-admin/options.php */ if ( ! apply_filters( 'enable_post_by_email_configuration', true ) ) - wp_die( __( 'This action has been disabled by the administrator.' ) ); + wp_die( __( 'This action has been disabled by the administrator.' ), 403 ); + +$mailserver_url = get_option( 'mailserver_url' ); + +if ( 'mail.example.com' === $mailserver_url || empty( $mailserver_url ) ) { + wp_die( __( 'This action has been disabled by the administrator.' ), 403 ); +} /** * Fires to allow a plugin to do a complete takeover of Post by Email. @@ -66,7 +72,6 @@ for ( $i = 1; $i <= $count; $i++ ) { $content_transfer_encoding = ''; $post_author = 1; $author_found = false; - $dmonths = array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); foreach ($message as $line) { // Body signal. if ( strlen($line) < 3 ) @@ -119,6 +124,7 @@ for ( $i = 1; $i <= $count; $i++ ) { $author = trim($line); $author = sanitize_email($author); if ( is_email($author) ) { + /* translators: Post author email address */ echo '

' . sprintf(__('Author is %s'), $author) . '

'; $userdata = get_user_by('email', $author); if ( ! empty( $userdata ) ) { @@ -128,33 +134,12 @@ for ( $i = 1; $i <= $count; $i++ ) { } } - if (preg_match('/Date: /i', $line)) { // of the form '20 Mar 2002 20:32:37' - $ddate = trim($line); - $ddate = str_replace('Date: ', '', $ddate); - if (strpos($ddate, ',')) { - $ddate = trim(substr($ddate, strpos($ddate, ',') + 1, strlen($ddate))); - } - $date_arr = explode(' ', $ddate); - $date_time = explode(':', $date_arr[3]); - - $ddate_H = $date_time[0]; - $ddate_i = $date_time[1]; - $ddate_s = $date_time[2]; - - $ddate_m = $date_arr[1]; - $ddate_d = $date_arr[0]; - $ddate_Y = $date_arr[2]; - for ( $j = 0; $j < 12; $j++ ) { - if ( $ddate_m == $dmonths[$j] ) { - $ddate_m = $j+1; - } - } - - $time_zn = intval($date_arr[4]) * 36; - $ddate_U = gmmktime($ddate_H, $ddate_i, $ddate_s, $ddate_m, $ddate_d, $ddate_Y); - $ddate_U = $ddate_U - $time_zn; - $post_date = gmdate('Y-m-d H:i:s', $ddate_U + $time_difference); - $post_date_gmt = gmdate('Y-m-d H:i:s', $ddate_U); + if ( preg_match( '/Date: /i', $line ) ) { // of the form '20 Mar 2002 20:32:37 +0100' + $ddate = str_replace( 'Date: ', '', trim( $line ) ); + $ddate = preg_replace( '!\s*\(.+\)\s*$!', '', $ddate ); // remove parenthesised timezone string if it exists, as this confuses strtotime + $ddate_U = strtotime( $ddate ); + $post_date = gmdate( 'Y-m-d H:i:s', $ddate_U + $time_difference ); + $post_date_gmt = gmdate( 'Y-m-d H:i:s', $ddate_U ); } } } @@ -184,7 +169,7 @@ for ( $i = 1; $i <= $count; $i++ ) { $content = trim($content); /** - * Filter the original content of the email. + * Filters the original content of the email. * * Give Post-By-Email extending plugins full access to the content, either * the raw content, or the content of the last quoted-printable section. @@ -210,7 +195,7 @@ for ( $i = 1; $i <= $count; $i++ ) { $content = trim($content); /** - * Filter the content of the post submitted by email before saving. + * Filters the content of the post submitted by email before saving. * * @since 1.2.0 * @@ -244,15 +229,23 @@ for ( $i = 1; $i <= $count; $i++ ) { */ do_action( 'publish_phone', $post_ID ); - echo "\n

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

'; - echo "\n

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

'; + echo "\n

" . __( 'Author:' ) . ' ' . esc_html( $post_author ) . '

'; + echo "\n

" . __( 'Posted title:' ) . ' ' . esc_html( $post_title ) . '

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

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

'; + echo '

' . sprintf( + /* translators: %s: POP3 error */ + __( 'Oops: %s' ), + esc_html( $pop3->ERROR ) + ) . '

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

' . sprintf(__('Mission complete. Message %s deleted.'), $i) . '

'; + echo '

' . sprintf( + /* translators: %s: the message ID */ + __( 'Mission complete. Message %s deleted.' ), + '' . $i . '' + ) . '

'; } }