web/wp-content/plugins/network-publisher/networkpub.php
author hurons@caf4f556-3d62-0410-8435-a86758001935
Thu, 18 Mar 2010 09:56:33 +0000
changeset 170 8e3a5a6fc63e
child 194 32102edaa81b
permissions -rw-r--r--
English version just for user loged view New plug in : - xili-language - xili-dictionary - xili-tidy-tags And theme modification And widget modification
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
170
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     1
<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     2
/*
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     3
Plugin Name: Network Publisher
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     4
Plugin URI: http://www.linksalpha.com/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     5
Description: Automatically posts your Articles to Social Networks - Facebook, Twitter, and LinkedIn
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     6
Version: 1.0.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     7
Author: Vivek Puri
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     8
Author URI: http://vivekpuri.com
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     9
*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    10
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    11
define('WIDGET_NAME', 'Network Publisher');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    12
define('WIDGET_NAME_INTERNAL', 'networkpub');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    13
define('WIDGET_PREFIX', 'networkpub');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    14
define('NETWORKPUB', 'Automatically post your Articles to Social Networks - Facebook and Twitter');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    15
define('ERROR_INTERNAL', 'internal error');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    16
define('ERROR_INVALID_URL', 'invalid url');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    17
define('ERROR_INVALID_KEY', 'invalid key');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    18
if ( ! defined( 'WP_CONTENT_URL' ) )
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    19
      define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    20
if ( ! defined( 'WP_CONTENT_DIR' ) )
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    21
      define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    22
define('WP_PLUGIN_URL', WP_CONTENT_URL. '/plugins' );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    23
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    24
$networkpub_settings['api_key'] = array('label'=>'API Key:', 'type'=>'text', 'default'=>'');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    25
$networkpub_settings['id'] = array('label'=>'id', 'type'=>'text', 'default'=>'');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    26
$options = get_option(WIDGET_NAME_INTERNAL);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    27
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    28
function networkpub_init() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    29
	wp_enqueue_script('jquery');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    30
	wp_register_script('networkpubjs', WP_PLUGIN_URL .'/network-publisher/networkpub.js');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    31
	wp_enqueue_script('networkpubjs');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    32
	wp_register_style('networkpubcss', WP_PLUGIN_URL . '/network-publisher/networkpub.css');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    33
	wp_enqueue_style('networkpubcss');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    34
	add_action('admin_menu', 'networkpub_pages');	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    35
	add_action('{$new_status}_{$post->post_type}', 'networkping');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    36
	add_action('publish_post', 'networkping');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    37
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    38
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    39
add_action('init', 'networkpub_init');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    40
add_action('init', 'networkpub_remove');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    41
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    42
function networkping($id) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    43
	if(!$id) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    44
		return FALSE;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    45
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    46
	$options = get_option(WIDGET_NAME_INTERNAL);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    47
	$link = 'http://www.linksalpha.com/a/ping?id='.$options['id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    48
	require_once(ABSPATH.WPINC.'/class-snoopy.php');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    49
	$snoop = new Snoopy;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    50
	$snoop->agent = WIDGET_NAME.' - '.get_option('siteurl');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    51
	$response = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    52
	if($snoop->fetchtext($link)){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    53
		if (strpos($snoop->response_code, '200')) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    54
			return TRUE;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    55
		} 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    56
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    57
	return FALSE;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    58
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    59
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    60
function networkpub_pages() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    61
	if ( function_exists('add_submenu_page') ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    62
		$page = add_submenu_page('plugins.php', WIDGET_NAME, WIDGET_NAME, 'manage_options', 'networkpub', 'networkpub_conf');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    63
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    64
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    65
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    66
function networkpub_conf() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    67
	global $networkpub_settings;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    68
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    69
	if ( isset($_POST['submit']) ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    70
		if ( function_exists('current_user_can') && !current_user_can('manage_options') ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    71
			die(__('Cheatin&#8217; uh?'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    72
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    73
		$field_name = sprintf('%s_%s', WIDGET_PREFIX, 'api_key');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    74
		$value = strip_tags(stripslashes($_POST[$field_name]));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    75
		if($value) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    76
			$networkadd = networkpub_add($value);	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    77
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    78
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    79
	$options = get_option(WIDGET_NAME_INTERNAL);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    80
	$html  = '<div class="rts_header"><big><strong>'.WIDGET_NAME.'</strong></big></div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    81
	$html .= '<table style="width:800px;"><tr><td style="padding-bottom:40px;">';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    82
	$html .= '<div style="padding:0px 0px 10px 0px;">Network Publisher makes it easy and painless to Publish your Blog Posts to Social Networks. All you need to do is connect to your Social Networks at <a target="_blank" href="http://www.linksalpha.com/user/networks">LinksAlpha.com</a>, grab API Key for each enabled Network and enter it below. Once setup, your Blog posts content appears on the social networks as soon as you hit the Publish button.</div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    83
	$html .= '<div style="padding:0px 0px 20px 0px;"><a href="http://www.linksalpha.com/user/networks" style="font-weight:bold;" target="_blank">Click Here</a> to get API Keys for your Social Networks. You can <a href="http://help.linksalpha.com/wordpress-plugin-network-publisher" target="_blank">read more about this process at LinksAlpha.com.</a></div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    84
	$html .= '<div class="rts_header2"><big><strong>Setup</strong></big></div><div style="padding-left:10px;">';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    85
	$html .= '<div style="text-align:left;">';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    86
	$html .= '<form action="" method="post" id="networkpubadd" name="networkpubadd" style="width:90%;">';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    87
	$html .= '<fieldset class="rts_fieldset">';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    88
	$html .= '<legend>Additional API Key</legend>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    89
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    90
	$curr_field = 'api_key';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    91
	$field_name = sprintf('%s_%s', WIDGET_PREFIX, $curr_field);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    92
	$html .= '<div><label for="'.$field_name.'">'.$networkpub_settings[$curr_field]['label'].'&nbsp;</label></div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    93
	$html .= '<div style="padding-bottom:10px"><input style="width:400px;" class="widefat" id="'.$field_name.'" name="'.$field_name.'" type="text" /></div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    94
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    95
	$html .= '</fieldset>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    96
	$html .= '<div style="padding-top:20px;"><input type="submit" name="submit" value="Add API Key" /></div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    97
	$html .= '<input type="hidden" value="'.WP_PLUGIN_URL.'" id="networkpub_plugin_url" /></form></div></td></tr><tr><td style="padding:0px 0px 0px 0px;vertical-align:top;">';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    98
	$html .= '<div class="rts_header2"><big><strong>Currently Publishing</strong></big></div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    99
	$html .= '<div style="padding-left:10px;">'.networkpub_load().'</div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   100
	$html .= '</div></td></tr></table>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   101
	echo $html;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   102
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   103
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   104
function networkpub_add($api_key) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   105
	if (!$api_key) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   106
		return FALSE;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   107
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   108
	$url = get_option('siteurl');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   109
	$desc = get_bloginfo('description');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   110
	if (!$url) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   111
		return FALSE;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   112
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   113
	$link = 'http://www.linksalpha.com/a/networkpubadd?url='.urlencode($url).'&key='.$api_key.'&desc='.urlencode($desc);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   114
	require_once(ABSPATH.WPINC.'/class-snoopy.php');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   115
	$snoop = new Snoopy;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   116
	$snoop->agent = WIDGET_NAME.' - '.get_option('siteurl');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   117
	$response = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   118
	if($snoop->fetchtext($link)){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   119
		if (strpos($snoop->response_code, '200')) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   120
			$response_json = $snoop->results;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   121
			$response = networkpub_json_decode($response_json);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   122
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   123
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   124
	if (!$response) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   125
		return FALSE;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   126
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   127
	if ($response->errorCode > 0) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   128
		return FALSE;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   129
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   130
	$options = get_option(WIDGET_NAME_INTERNAL);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   131
	if(empty($options['api_key'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   132
		$options['api_key'] = $api_key;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   133
	} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   134
		$options_array = explode(',', $options['api_key']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   135
		if(!in_array($api_key, $options_array)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   136
			$options['api_key'] = $options['api_key'].','.$api_key;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   137
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   138
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   139
	$options['id'] = $response->results->id; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   140
	update_option(WIDGET_NAME_INTERNAL, $options);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   141
	return TRUE;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   142
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   143
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   144
function networkpub_load() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   145
	$options = get_option(WIDGET_NAME_INTERNAL);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   146
	if (empty($options['api_key'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   147
		$html = '<div>You have not added any API Key</div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   148
		return $html;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   149
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   150
	$link = 'http://www.linksalpha.com/a/networkpubget?key='.$options['api_key'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   151
	require_once(ABSPATH.WPINC.'/class-snoopy.php');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   152
	$snoop = new Snoopy;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   153
	$snoop->agent = WIDGET_NAME.' - '.get_option('siteurl');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   154
	$response = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   155
	if($snoop->fetchtext($link)){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   156
		if (strpos($snoop->response_code, '200')) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   157
			$response_json = $snoop->results;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   158
			$response = networkpub_json_decode($response_json);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   159
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   160
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   161
	if (!$response) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   162
		$html = '<div>Error occured while trying to load the API Keys. Please try again later.</div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   163
		return $html;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   164
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   165
	if($response->errorCode > 0) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   166
		$html = '<div>Error occured while trying to load the API Keys. Please try again later.</div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   167
		return $html;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   168
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   169
	$html = '<div style="padding-bottom:10px;">You are currently Publishing your Blog to '.count($response->results).' Social Networks</div>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   170
	$html .= '<table class="networkpub_added"><tr><th>API Key</th><th>Network</th><th>Option</th></tr>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   171
	foreach($response->results as $row) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   172
		$html .= '<tr id="r_key_'.$row->api_key.'">';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   173
		switch($row->type) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   174
			case 'twitter':
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   175
				$html  .= '<td>'.$row->api_key.'</td><td>Twitter Account - <a target="_blank" href="http://twitter.com/'.$row->short_name.'">'.$row->name.'</a></td>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   176
				break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   177
			case 'fb_page':
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   178
				$html  .= '<td>'.$row->api_key.'</td><td>Facebook Page - <a target="_blank" href="'.$row->page_url.'">'.$row->name.'</a></td>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   179
				break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   180
			case 'fb_wall':
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   181
				$html  .= '<td>'.$row->api_key.'</td><td><a target="_blank" href="http://www.facebook.com/profile.php?id='.$row->id.'">'.$row->name.'</a></td>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   182
				break;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   183
			case 'myspace':
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   184
				$html  .= '<td>'.$row->api_key.'</td><td>MySpace Account - <a target="_blank" href="'.$row->page_url.'">'.$row->name.'</a></td>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   185
				break;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   186
			case 'linkedin':
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   187
				$html  .= '<td>'.$row->api_key.'</td><td>LinkedIn Account - <a target="_blank" href="'.$row->page_url.'">'.$row->name.'</a></td>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   188
				break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   189
			case 'yammer':
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   190
				$html  .= '<td>'.$row->api_key.'</td><td>Yammer Account - <a target="_blank" href="'.$row->page_url.'">'.$row->name.'</a></td>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   191
				break;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   192
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   193
		$html .= '<td><a href="#" id="key_'.$row->api_key.'" class="networkpubre">Remove</a></td></tr>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   194
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   195
	$html .= '</table>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   196
	return $html;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   197
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   198
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   199
function networkpub_remove() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   200
	$options = get_option(WIDGET_NAME_INTERNAL);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   201
	if (!empty($_POST['key'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   202
		$key_full = $_POST['key'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   203
		$key_only = substr($key_full, 4);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   204
		$api_key = $options['api_key'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   205
		$api_key_array = explode(',', $api_key);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   206
		$loc = array_search($key_only, $api_key_array);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   207
		if($loc !== FALSE) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   208
			unset($api_key_array[$loc]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   209
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   210
		$api_key = implode(",", $api_key_array);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   211
		$options['api_key'] = $api_key;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   212
		update_option(WIDGET_NAME_INTERNAL, $options);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   213
		$link = 'http://www.linksalpha.com/a/networkpubremove?id='.$options['id'].'&key='.$key_only;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   214
		require_once(ABSPATH.WPINC.'/class-snoopy.php');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   215
		$snoop = new Snoopy;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   216
		$snoop->agent = WIDGET_NAME.' - '.get_option('siteurl');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   217
		$response = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   218
		$snoop->fetchtext($link);	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   219
		echo $key_full;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   220
		return;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   221
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   222
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   223
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   224
function networkpub_json_decode($str) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   225
	if (function_exists("json_decode")) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   226
	    return json_decode($str);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   227
	} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   228
		if (!class_exists('Services_JSON')) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   229
			require_once("JSON.php");
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   230
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   231
	    $json = new Services_JSON();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   232
	    return $json->decode($str);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   233
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   234
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   235
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   236
?>