WordPress 3.9.2-scripts
[autoinstalls/wordpress.git] / wp-mail.php
index 7fc3967b6a74ff7132f5849ce8942a8522435141..550c28cac5793c91bc2004bbc4a40508f53a0012 100644 (file)
 /** Make sure that the WordPress bootstrap has run before continuing. */
 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.' ) );
 
-/** Allow a plugin to do a complete takeover of Post by Email **/
-do_action('wp-mail.php');
+/**
+ * Fires to allow a plugin to do a complete takeover of Post by Email.
+ *
+ * @since 2.9.0
+ */
+do_action( 'wp-mail.php' );
 
 /** Get the POP3 class with which to access the mailbox. */
 require_once( ABSPATH . WPINC . '/class-pop3.php' );
@@ -30,7 +35,7 @@ if ( $last_checked )
 
 set_transient('mailserver_last_checked', true, WP_MAIL_INTERVAL);
 
-$time_difference = get_option('gmt_offset') * 3600;
+$time_difference = get_option('gmt_offset') * HOUR_IN_SECONDS;
 
 $phone_delim = '::';
 
@@ -175,9 +180,17 @@ 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);
+       /**
+        * Filter 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.
+        *
+        * @since 2.8.0
+        *
+        * @param string $content The original email content.
+        */
+       $content = apply_filters( 'wp_mail_original_content', $content );
 
        if ( false !== stripos($content_transfer_encoding, "quoted-printable") ) {
                $content = quoted_printable_decode($content);
@@ -193,7 +206,14 @@ for ( $i = 1; $i <= $count; $i++ ) {
 
        $content = trim($content);
 
-       $post_content = apply_filters('phone_content', $content);
+       /**
+        * Filter the content of the post submitted by email before saving.
+        *
+        * @since 1.2.0
+        *
+        * @param string $content The email content.
+        */
+       $post_content = apply_filters( 'phone_content', $content );
 
        $post_title = xmlrpc_getposttitle($content);
 
@@ -202,7 +222,7 @@ for ( $i = 1; $i <= $count; $i++ ) {
        $post_category = array(get_option('default_email_category'));
 
        $post_data = compact('post_content','post_title','post_date','post_date_gmt','post_author','post_category', 'post_status');
-       $post_data = add_magic_quotes($post_data);
+       $post_data = wp_slash($post_data);
 
        $post_ID = wp_insert_post($post_data);
        if ( is_wp_error( $post_ID ) )
@@ -212,7 +232,14 @@ for ( $i = 1; $i <= $count; $i++ ) {
        if ( empty( $post_ID ) )
                continue;
 
-       do_action('publish_phone', $post_ID);
+       /**
+        * Fires after a post submitted by email is published.
+        *
+        * @since 1.2.0
+        *
+        * @param int $post_ID The post ID.
+        */
+       do_action( 'publish_phone', $post_ID );
 
        echo "\n<p>" . sprintf(__('<strong>Author:</strong> %s'), esc_html($post_author)) . '</p>';
        echo "\n<p>" . sprintf(__('<strong>Posted title:</strong> %s'), esc_html($post_title)) . '</p>';