WordPress.org

Plugin Directory

Changeset 725083


Ignore:
Timestamp:
06/10/13 20:41:23 (11 months ago)
Author:
joedolson
Message:

2.6.7; tmhOAuth already exists, scheduled posts/images, error messaging.

Location:
wp-to-twitter/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • wp-to-twitter/trunk/WP_OAuth.php

    r718938 r725083  
    468468   */ 
    469469  private static function generate_timestamp() { 
     470    // make sure that timestamp is in UTC 
     471    date_default_timezone_set('UTC'); 
    470472    return time(); 
    471473  } 
  • wp-to-twitter/trunk/readme.txt

    r718938 r725083  
    5151 
    5252== Changelog == 
     53 
     54= 2.6.7 = 
     55 
     56* Fix tmhOAuth already exists issue. 
     57* Bug fix: do not Tweet edits unless explicitly directed to, rather than depending on meta data.  
     58* Bug fix: Scheduled posts/image uploads (for WP Tweets PRO) 
     59* Improved error messaging. 
     60* Misc. minor bug fixes 
    5361 
    5462= 2.6.6 = 
  • wp-to-twitter/trunk/tmhOAuth/tmhOAuth.php

    r718938 r725083  
    437437    if (!empty($this->custom_headers)) 
    438438      $this->headers = array_merge((array)$this->headers, (array)$this->custom_headers); 
    439  
     439         
    440440    return $this->curlit(); 
    441441  } 
     
    607607   */ 
    608608  private function curlit() { 
     609    $params = array( 'Just testing' ); 
     610 
    609611    $this->response['raw'] = ''; 
    610612 
  • wp-to-twitter/trunk/wp-to-twitter-manager.php

    r718938 r725083  
    176176                <div id="message" class="updated fade"> 
    177177                    <p>'.__('WP to Twitter failed to connect with Twitter. Try <a href="#wpt_http">switching to an HTTP connection</a>.', 'wp-to-twitter').'</p> 
     178                    <p>'.__('Error:','wp-to-twitter').' '.get_option('wpt_error').'</p> 
    178179                </div> 
    179180 
  • wp-to-twitter/trunk/wp-to-twitter-oauth.php

    r718938 r725083  
    9090                    $protocol = ( get_option( 'wpt_http' ) == '1' )?'http:':'https:'; 
    9191                    $data = $connection->get($protocol.'//api.twitter.com/1.1/account/verify_credentials.json'); 
     92                    if ( $connection->http_code != '200' ) { 
     93                        $data = json_decode( $data ); 
     94                        update_option( 'wpt_error', $data->errors[0]->message ); 
     95                    } else { 
     96                        delete_option( 'wpt_error' ); 
     97                    } 
    9298                    if ($connection->http_code == '200') { 
    9399                        $error_information = ''; 
     
    118124                            print_r($error_information); 
    119125                        echo "<br /><strong>Account Verification Data:</strong><br />"; 
    120                             print_r($data); 
     126                            print_r($data);                          
    121127                        echo "<br /><strong>Full Connection Response:</strong><br />"; 
    122128                            print_r($connection); 
  • wp-to-twitter/trunk/wp-to-twitter.php

    r718938 r725083  
    44Plugin URI: http://www.joedolson.com/articles/wp-to-twitter/ 
    55Description: Posts a Tweet when you update your WordPress blog or post to your blogroll, using your URL shortening service. Rich in features for customizing and promoting your Tweets. 
    6 Version: 2.6.6 
     6Version: 2.6.7 
    77Author: Joseph Dolson 
    88Author URI: http://www.joedolson.com/ 
     
    5252 
    5353global $wpt_version,$jd_plugin_url; 
    54 $wpt_version = "2.6.6"; 
     54$wpt_version = "2.6.7"; 
    5555$plugin_dir = basename(dirname(__FILE__)); 
    5656load_plugin_textdomain( 'wp-to-twitter', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' ); 
     
    298298        if ( wtt_oauth_test( $auth ) && ( $connection = wtt_oauth_connection( $auth ) ) ) { 
    299299            if ( $media ) { 
    300                 $connection->media( $jdwp_api_post_status, array( 'status' => $twit, 'source' => 'wp-to-twitter', 'include_entities' => 'true', 'id'=>$id ) );           
     300                $connection->media( $jdwp_api_post_status, array( 'status' => $twit, 'source' => 'wp-to-twitter', 'include_entities' => 'true', 'id'=>$id, 'auth'=>$auth ) ); 
    301301            } else { 
    302302                $connection->post( $jdwp_api_post_status, array( 'status' => $twit, 'source' => 'wp-to-twitter', 'include_entities' => 'true' ) ); 
     
    305305        } else if ( wtt_oauth_test( false ) && ( $connection = wtt_oauth_connection( false ) ) ) { 
    306306            if ( $media ) { 
    307                 $connection->media( $jdwp_api_post_status, array( 'status' => $twit, 'source' => 'wp-to-twitter', 'include_entities' => 'true', 'id'=>$id ) );           
     307                $connection->media( $jdwp_api_post_status, array( 'status' => $twit, 'source' => 'wp-to-twitter', 'include_entities' => 'true', 'id'=>$id, 'auth'=>$auth ) );                
    308308            } else { 
    309309                $connection->post( $jdwp_api_post_status, array( 'status' => $twit, 'source' => 'wp-to-twitter', 'include_entities' => 'true'   ) ); 
     
    311311            $http_code = ($connection)?$connection->http_code:'failed';  
    312312        } 
     313 
    313314        // DEBUG JCD 
    314315        if ( $connection ) { 
     
    753754                // if ops is set and equals 'publish', this is being edited. Otherwise, it's a new post. 
    754755                if ( ( $new == 0 && $post_info['postStatus'] != 'future' ) || $is_inline_edit == true ) { 
    755                     // if this is an old post and editing updates are enabled 
     756                    // if this is an old post and editing updates are enabled                
     757                    if ( get_option( 'jd_tweet_default_edit' ) == 1 ) {  
     758                        if ( $jd_tweet_this != 'yes' ) return; 
     759                    }                
    756760                    if ( WPT_DEBUG && function_exists( 'wpt_pro_exists' ) ) { 
    757761                        wp_mail( WPT_DEBUG_ADDRESS,"jd_twit 4a: Processed as an Edit #$post_ID","Tweet this post: ".$post_info['postTitle']."\n".print_r($post_info,1)." / $type" ); // DEBUG 
    758762                    } 
    759                     if ( $post_type_settings[$post_type]['post-edited-update'] == '1' ) {                    
     763                    if ( $post_type_settings[$post_type]['post-edited-update'] == '1' ) { 
    760764                        $nptext = stripcslashes( $post_type_settings[$post_type]['post-edited-text'] ); 
    761765                        //$nptext = apply_filters( 'wpt_user_text', $nptext, 'publish', true ); // filters for user accounts automatically. 
     
    915919function wpt_generate_hash_tags( $post_ID ) { 
    916920    $hashtags = ''; 
     921    $term_meta = 1; 
    917922    $max_tags = get_option( 'jd_max_tags' ); 
    918923    $max_characters = get_option( 'jd_max_characters' ); 
     
    923928        $i = 1; 
    924929            foreach ( $tags as $value ) { 
    925             if ( get_option('wpt_tag_source') == 'slug' ) { 
    926                 $tag = $value->slug; 
    927             } else { 
    928                 $tag = $value->name; 
    929             } 
    930             $replace = get_option( 'jd_replace_character' ); 
    931             $strip = get_option( 'jd_strip_nonan' ); 
    932             $search = "/[^\p{L}\p{N}\s]/u"; 
    933             if ( $replace == "[ ]" || $replace == "" ) { $replace = ""; } 
    934             $tag = str_ireplace( " ",$replace,trim( $tag ) ); 
    935             if ($strip == '1') { $tag = preg_replace( $search, $replace, $tag ); } 
    936                 $newtag = "#$tag"; 
    937                     if ( mb_strlen( $newtag ) > 2 && (mb_strlen( $newtag ) <= $max_characters) && ($i <= $max_tags) ) { 
    938                     $hashtags .= "$newtag "; 
    939                     $i++; 
    940                     } 
     930                if ( function_exists( 'wpt_pro_exists' ) ) { 
     931                    $t_id = $value->term_id;  
     932                    $term_meta = get_option( "wpt_taxonomy_$t_id" ); 
     933                }    
     934                if ( get_option('wpt_tag_source') == 'slug' ) { 
     935                    $tag = $value->slug; 
     936                } else { 
     937                    $tag = $value->name; 
     938                } 
     939                $strip = get_option( 'jd_strip_nonan' ); 
     940                $search = "/[^\p{L}\p{N}\s]/u"; 
     941                $replace = get_option( 'jd_replace_character' );                 
     942                $replace = ( $replace == "[ ]" || $replace == "" )?"":$replace; 
     943                $tag = str_ireplace( " ",$replace,trim( $tag ) ); 
     944                if ($strip == '1') { $tag = preg_replace( $search, $replace, $tag ); } 
     945                switch ( $term_meta ) { 
     946                    case 1 : $newtag = "#$tag"; break; 
     947                    case 2 : $newtag = "$$tag"; break; 
     948                    case 3 : $newtag = ''; break; 
     949                    default: $newtag = "#$tag";              
     950                } 
     951                if ( mb_strlen( $newtag ) > 2 && (mb_strlen( $newtag ) <= $max_characters) && ($i <= $max_tags) ) { 
     952                $hashtags .= "$newtag "; 
     953                $i++; 
     954                } 
    941955            } 
    942956        } 
     
    13851399    if ( isset($_GET['dismiss']) && $_GET['dismiss'] == 'promotion' ) { 
    13861400        update_option( 'wpt_promotion_scheduled', 3 );  
    1387         delete_option( 'wpt_promotion_scheduled' ); 
    13881401    } 
    13891402}    
  • wp-to-twitter/trunk/wpt-functions.php

    r718938 r725083  
    163163        } 
    164164    } 
     165    return null;  
    165166} 
    166167 
  • wp-to-twitter/trunk/wpt_twitter_oauth.php

    r718938 r725083  
    1212require_once('WP_OAuth.php'); 
    1313/* Load tmhOAuth for Media uploads: https://github.com/themattharris/tmhOAuth */ 
    14 require_once('tmhOAuth/tmhOAuth.php'); 
    15 require_once('tmhOAuth/tmhUtilities.php'); 
    16  
     14if ( !class_exists( 'tmhOAuth' ) ) { 
     15    require_once('tmhOAuth/tmhOAuth.php'); 
     16    require_once('tmhOAuth/tmhUtilities.php'); 
     17} 
    1718if (!class_exists('jd_TwitterOAuth')) { 
    1819 
     
    164165   */ 
    165166  function handleMediaRequest($url, $args = array()) { 
    166         $tmhOAuth = new tmhOAuth(array( 
    167                 'consumer_key'    => $this->consumer->key, 
    168                 'consumer_secret' => $this->consumer->secret, 
    169                 'user_token'      => $this->token->key, 
    170                 'user_secret'     => $this->token->secret, 
    171         )); 
     167        $auth = $args['auth']; 
     168        if ( !$auth ) { 
     169            $ack = get_option('app_consumer_key'); 
     170            $acs = get_option('app_consumer_secret'); 
     171            $ot = get_option('oauth_token'); 
     172            $ots = get_option('oauth_token_secret'); 
     173        } else { 
     174            $ack = get_user_meta( $auth,'app_consumer_key',true); 
     175            $acs = get_user_meta( $auth,'app_consumer_secret',true); 
     176            $ot = get_user_meta( $auth,'oauth_token',true); 
     177            $ots = get_user_meta( $auth,'oauth_token_secret',true); 
     178        }  
     179        $connect = array( 'consumer_key'=>$ack, 'consumer_secret'=>$acs, 'user_token'=>$ot, 'user_secret'=>$ots ); 
     180        $tmhOAuth = new tmhOAuth( $connect ); 
    172181        $attachment = wpt_post_attachment($args['id']); 
     182 
    173183        if ($attachment == null) return false; 
    174184        $img_medium = wp_get_attachment_image_src($attachment,'medium'); 
    175         $image = ".." . wp_make_link_relative($img_medium[0]);          
    176          
     185        // when performing as a scheduled action, need to include file.php 
     186        if ( !function_exists( 'get_home_path' ) ) { 
     187            require_once( ABSPATH . 'wp-admin/includes/file.php' ); 
     188        } 
     189        // get_home_path() and make link relative both return slashed, so we have an extra. 
     190        $subject = get_home_path() . wp_make_link_relative($img_medium[0]); 
     191        $image = str_replace( '//', '/', $subject ); 
     192 
    177193        $code = $tmhOAuth->request( 
    178194            'POST', 
     
    185201             true  // multipart 
    186202        ); 
     203 
    187204        $response = $tmhOAuth->response['response']; 
    188205        if ( is_wp_error( $response ) ) return false; 
     
    222239        $response = wp_remote_post( $url, array('body'=>$args,'timeout' => 30)); 
    223240        break; 
    224     case 'MEDIA': 
    225         $url = $req->get_normalized_http_url(); 
    226         $args = wp_parse_args($req->to_postdata()); 
    227         $response = wp_remote_post( $url, array( 'headers'=>array('Content-type'=>'multipart/form-data'),'body'=>$args,'timeout' => 30 ) ); 
    228         break; 
    229241    }    
    230242 
Note: See TracChangeset for help on using the changeset viewer.