function top_do_tweet($post_id) { $settings = top_get_settings(); $message = top_get_message($post_id); // If we have a valid message, Tweet it // this will fail if the Tiny URL service is done if ($message) { // If we successfully posted this to Twitter, then we can remove it from the queue eventually if (twit_update_status($message)) { return true; } } return false; }
function post_now_published($post_id) { global $twit_plugin_prefix, $post; if (defined('WP_IMPORTING') && WP_IMPORTING) { return; } $post_update = apply_filters('wordtwit_post_update', true, $post_id); $max_age = get_option($twit_plugin_prefix . 'max_age', 0); if ($max_age > 0 && (current_time('timestamp', 1) - get_post_time('U', true, $post_id)) / 3600 > $max_age) { return; } if (defined('DOING_CRON') && DOING_CRON) { // Dear VIPs, Don't ever do this. $srtm = $GLOBALS['wpdb']->srtm; $GLOBALS['wpdb']->send_reads_to_masters(); $nmc = isset($_GET['nomemcache']) ? $_GET['nomemcache'] : null; $_GET['nomemcache'] = 'all'; } $has_been_twittered = get_post_meta($post_id, 'has_been_twittered', true); if ('yes' == $has_been_twittered) { return; } if (defined('DOING_CRON') && DOING_CRON) { $GLOBALS['wpdb']->srtm = $srtm; if (is_null($nmc)) { unset($_GET['nomemcache']); } else { $_GET['nomemcache'] = $nmc; } } add_post_meta($post_id, 'has_been_twittered', 'yes'); if (true == $post_update && !($has_been_twittered == 'yes')) { global $post; $post = get_post($post_id); setup_postdata($post); $i = 'New blog entry \'' . the_title('', '', false) . '\' - ' . get_permalink(); $user_override = get_option($twit_plugin_prefix . 'user_override'); $user_preference = get_option($twit_plugin_prefix . 'user_preference'); $user_options = get_option($twit_plugin_prefix . 'user_options'); // get user settings if ($user_override && isset($user_options[$post->post_author])) { $twit_options = $user_options[$post->post_author]; $oauth_token = $twit_options['oauth_token']; $oauth_token_secret = $twit_options['oauth_token_secret']; $message = $twit_options['twitter_message']; if (empty($message)) { $message = get_option($twit_plugin_prefix . 'message'); } } // no user settings available or allowed then use global settings if ((empty($oauth_token) || empty($oauth_token_secret)) && false == $user_preference || false == $user_override) { $message = get_option($twit_plugin_prefix . 'message'); $oauth_token = get_option($twit_plugin_prefix . 'oauth_token'); $oauth_token_secret = get_option($twit_plugin_prefix . 'oauth_token_secret'); } if (empty($oauth_token) || empty($oauth_token_secret)) { update_post_meta($post_id, 'wordtwit_fail', 'no-token'); return; } $message = apply_filters('wordtwit_pre_proc_message', $message, $post->ID); $message = str_replace('[title]', $post->post_title, $message); $wordtwit_url_type = get_option($twit_plugin_prefix . 'wordtwit_url_type'); if (strstr($message, "[link]")) { if ('tinyurl' == $wordtwit_url_type || empty($wordtwit_url_type)) { $message = str_replace('[link]', twit_get_tiny_url(get_permalink()), $message); } elseif ('bitly' == $wordtwit_url_type) { $message = str_replace('[link]', twit_get_bitly_url(get_permalink()), $message); } elseif ('wpme' == $wordtwit_url_type) { $message = str_replace('[link]', wp_get_shortlink($post->ID), $message); } } $message = apply_filters('wordtwit_post_proc_message', $message, $post->ID); $update_status = twit_update_status($oauth_token, $oauth_token_secret, $message); if (!$update_status) { update_post_meta($post_id, 'wordtwit_fail', 'api-fail'); } wp_reset_postdata(); } }