109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
<?php /* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
************************************************************************** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
Plugin Name: Twitter Tools: bit.ly Links |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
Plugin URI: http://www.viper007bond.com/wordpress-plugins/twitter-tools-bitly-links/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
Version: 1.1.2 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
Description: Makes the links that <a href="http://wordpress.org/extend/plugins/twitter-tools/">Twitter Tools</a> posts to Twitter be API-created <a href="http://bit.ly/">bit.ly</a> links so you can track the number of clicks and such via your bit.ly account. Requires PHP 5.2.0+. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
Author: Viper007Bond |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
Author URI: http://www.viper007bond.com/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
**************************************************************************/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
class TwitterToolsBitlyLinks { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
// Initalize the plugin by registering the hooks |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
function __construct() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
// Twitter Tools v2.0+ supports this natively. Don't do anything if that sub-plugin is active. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
if ( function_exists('aktt_bitly_shorten_url') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
// Load localization domain |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
load_plugin_textdomain( 'twitter-tools-bitly-links', false, '/twitter-tools-bitly-links/localization' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
// This plugin requires PHP 5.2.0+ and WordPress 2.7+ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
if ( function_exists('json_decode') && function_exists('wp_remote_retrieve_body') ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
// Register options |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
add_option( 'viper_ttbl_login' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
add_option( 'viper_ttbl_apikey' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
// Register hooks |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
add_action( 'admin_menu', array(&$this, 'register_settings_page') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
add_action( 'wp_ajax_viper_ttbl_check', array(&$this, 'ajax_authentication_check') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
add_filter( 'whitelist_options', array(&$this, 'whitelist_options') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
add_filter( 'tweet_blog_post_url', array(&$this, 'modify_url') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
// Make sure the user has filled in their login and API key |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
$login = trim( get_option('viper_ttbl_login') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
$apikey = trim( get_option('viper_ttbl_apikey') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
if ( ( !$login || !$apikey ) && current_user_can('manage_options') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
add_action( 'admin_notices', array(&$this, 'settings_warn') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
// Old version of PHP or WordPress? Let the user know. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
elseif ( current_user_can('activate_plugins') ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
add_action( 'admin_notices', array(&$this, 'old_version_warning') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
// Register the settings page |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
function register_settings_page() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
add_options_page( __('Twitter Tools: bit.ly Links', 'twitter-tools-bitly-links'), __('Twitter Tools: bit.ly', 'twitter-tools-bitly-links'), 'manage_options', 'twitter-tools-bitly-links', array(&$this, 'settings_page') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
// Whitelist the options to allow saving via options.php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
function whitelist_options( $whitelist_options ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
$whitelist_options['twitter-tools-bitly-links'] = array( 'viper_ttbl_login', 'viper_ttbl_apikey' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
return $whitelist_options; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
// Warn about an old version of PHP or WordPress |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
function old_version_warning() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
global $wp_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
echo '<div class="error"><p>' . sprintf( __( '<strong>Twitter Tools: bit.ly Links:</strong> You do not meet the minimum requirements of PHP %1$s and WordPress %2$s. You are currently using PHP %3$s and WordPress %4$s.', 'vipers-video-quicktags' ), '5.2.0', '2.7', PHP_VERSION, $wp_version ) . "</p></div>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
// Display a notice telling the user to fill in their bit.ly details |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
function settings_warn() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
echo '<div class="error"><p>' . sprintf( __( '<strong>Twitter Tools: bit.ly Links:</strong> You must fill in your bit.ly details on the <a href="%s">settings page</a> in order for this plugin to function.', 'vipers-video-quicktags' ), admin_url('options-general.php?page=twitter-tools-bitly-links') ) . "</p></div>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
// Modify the URL being sent to Twitter by Twitter Tools |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
function modify_url( $url ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
// Make sure the user has filled in their login and API key |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
$login = urlencode( strtolower( trim( get_option('viper_ttbl_login') ) ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
$apikey = urlencode( trim( get_option('viper_ttbl_apikey') ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
if ( empty($login) || empty($apikey) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
return $url; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
// Tell bit.ly to shorten the URL for us |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
$response = wp_remote_retrieve_body( wp_remote_get( "http://api.bit.ly/shorten?version=2.0.1&format=json&history=1&login={$login}&apiKey={$apikey}&longUrl=" . urlencode( $url ) ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
if ( empty($response) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
return $url; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
// Decode the response from bit.ly |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
if ( !$response = json_decode( $response, true ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
return $url; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
if ( !isset($response['errorCode']) || 0 != $response['errorCode'] || empty($response['results']) || empty($response['results'][$url]) || empty($response['results'][$url]['shortUrl']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
return $url; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
return $response['results'][$url]['shortUrl']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
// Settings page |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
function settings_page() { ?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
<script type="text/javascript"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
// <![CDATA[ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
function viper_ttbl_ajax() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
jQuery("#viper_ttbl_status").load("<?php echo admin_url('admin-ajax.php'); ?>?nocache=" + Math.random(), { action: "viper_ttbl_check", login: jQuery("#viper_ttbl_login").val(), apikey: jQuery("#viper_ttbl_apikey").val() }); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
jQuery(document).ready(function(){ viper_ttbl_ajax() }); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
jQuery("body").change(function(){ viper_ttbl_ajax() }); // I couldn't get anything but "body" to work for some reason |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
// ]]> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
</script> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
<div class="wrap"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
<?php screen_icon(); ?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
<h2><?php _e( 'Twitter Tools: bit.ly Links Settings', 'twitter-tools-bitly-links' ); ?></h2> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
<form id="viper_ttbl_form" method="post" action="options.php"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
<?php settings_fields('twitter-tools-bitly-links'); ?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
<table class="form-table"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
<tr valign="top"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
<th scope="row"><label for="viper_ttbl_login"><?php _e( 'bit.ly Login', 'twitter-tools-bitly-links' ); ?></label></th> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
<td><input type="text" name="viper_ttbl_login" id="viper_ttbl_login" value="<?php form_option('viper_ttbl_login'); ?>" class="regular-text" /></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
<tr valign="top"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
<th scope="row"><label for="viper_ttbl_apikey"><?php _e( 'bit.ly API Key', 'twitter-tools-bitly-links' ); ?></label></th> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
<td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
<input type="text" name="viper_ttbl_apikey" id="viper_ttbl_apikey" value="<?php form_option('viper_ttbl_apikey'); ?>" class="regular-text" /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
<span class="description"><?php printf( __( 'This can be found on your <a href="%s">account page</a>.', 'twitter-tools-bitly-links' ), 'http://bit.ly/account/' ); ?></span> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
</td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
<tr valign="top" class="hide-if-no-js"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
<th scope="row"><?php _e( 'API Status', 'twitter-tools-bitly-links' ); ?></th> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
<td style="font-size:1em"><span id="viper_ttbl_status"><em>Checking...</em></span></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
</table> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
<p class="submit"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
<input type="submit" name="twitter-tools-bitly-links-submit" class="button-primary" value="<?php _e('Save Changes') ?>" /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
</p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
</form> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
</div> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
// Check the authentication details via AJAX |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
function ajax_authentication_check() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
// Make sure the user has filled in their login and API key |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
$login = $apikey = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
if ( !empty($_POST['login']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
$login = urlencode( strtolower( trim( $_POST['login'] ) ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
if ( !empty($_POST['apikey']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
$apikey = urlencode( trim( $_POST['apikey'] ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
if ( empty($login) || empty($apikey) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
exit(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
// Ask bit.ly for details about a random shortened URL in order to test the authentication details |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
$response = wp_remote_retrieve_body( wp_remote_get( "http://api.bit.ly/expand?version=2.0.1&shortUrl=http://bit.ly/mnvj7&login={$login}&apiKey={$apikey}" ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
if ( empty($response) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
exit( '<strong style="color:red">' . __('Failed to test credentials. Hmm.', 'twitter-tools-bitly-links') . '</strong>' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
// Decode the response from bit.ly |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
if ( !$response = json_decode( $response, true ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
exit( '<strong style="color:red">' . __('Failed to parse bit.ly API response. Hmm.', 'twitter-tools-bitly-links') . '</strong>' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
if ( !isset($response['errorCode']) || 0 != $response['errorCode'] ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
exit( '<strong style="color:red">' . __('Your credentials are invalid. Please double-check them.', 'twitter-tools-bitly-links') . '</strong>' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
exit( '<strong style="color:green">' . __('Your credentials are valid.', 'twitter-tools-bitly-links') . '</strong>' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
178 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
179 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
180 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
// Start this plugin once all other plugins are fully loaded |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
add_action( 'init', 'TwitterToolsBitlyLinks' ); function TwitterToolsBitlyLinks() { global $TwitterToolsBitlyLinks; $TwitterToolsBitlyLinks = new TwitterToolsBitlyLinks(); } |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
?> |