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 = '::';
// Set the author using the email address (From or Reply-To, the last used)
// otherwise use the site admin
- if ( preg_match('/(From|Reply-To): /', $line) ) {
+ if ( ! $author_found && preg_match( '/^(From|Reply-To): /', $line ) ) {
if ( preg_match('|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches) )
$author = $matches[0];
else
$author = sanitize_email($author);
if ( is_email($author) ) {
echo '<p>' . sprintf(__('Author is %s'), $author) . '</p>';
- $userdata = get_user_by_email($author);
- if ( empty($userdata) ) {
- $author_found = false;
- } else {
+ $userdata = get_user_by('email', $author);
+ if ( ! empty( $userdata ) ) {
$post_author = $userdata->ID;
$author_found = true;
}
- } else {
- $author_found = false;
}
}
$user = new WP_User($post_author);
$post_status = ( $user->has_cap('publish_posts') ) ? 'publish' : 'pending';
} else {
- // Author not found in DB, set status to pending. Author already set to admin.
+ // Author not found in DB, set status to pending. Author already set to admin.
$post_status = 'pending';
}
$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 ) )
$pop3->reset();
exit;
} else {
- echo '<p>' . sprintf(__('Mission complete. Message <strong>%s</strong> deleted.'), $i) . '</p>';
+ echo '<p>' . sprintf(__('Mission complete. Message <strong>%s</strong> deleted.'), $i) . '</p>';
}
}
$pop3->quit();
-
-?>