diff -r 2d410dc8c1f3 -r 8e3a5a6fc63e web/wp-content/plugins/network-publisher/networkpub.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/wp-content/plugins/network-publisher/networkpub.php Thu Mar 18 09:56:33 2010 +0000 @@ -0,0 +1,236 @@ +'API Key:', 'type'=>'text', 'default'=>''); +$networkpub_settings['id'] = array('label'=>'id', 'type'=>'text', 'default'=>''); +$options = get_option(WIDGET_NAME_INTERNAL); + +function networkpub_init() { + wp_enqueue_script('jquery'); + wp_register_script('networkpubjs', WP_PLUGIN_URL .'/network-publisher/networkpub.js'); + wp_enqueue_script('networkpubjs'); + wp_register_style('networkpubcss', WP_PLUGIN_URL . '/network-publisher/networkpub.css'); + wp_enqueue_style('networkpubcss'); + add_action('admin_menu', 'networkpub_pages'); + add_action('{$new_status}_{$post->post_type}', 'networkping'); + add_action('publish_post', 'networkping'); +} + +add_action('init', 'networkpub_init'); +add_action('init', 'networkpub_remove'); + +function networkping($id) { + if(!$id) { + return FALSE; + } + $options = get_option(WIDGET_NAME_INTERNAL); + $link = 'http://www.linksalpha.com/a/ping?id='.$options['id']; + require_once(ABSPATH.WPINC.'/class-snoopy.php'); + $snoop = new Snoopy; + $snoop->agent = WIDGET_NAME.' - '.get_option('siteurl'); + $response = ''; + if($snoop->fetchtext($link)){ + if (strpos($snoop->response_code, '200')) { + return TRUE; + } + } + return FALSE; +} + +function networkpub_pages() { + if ( function_exists('add_submenu_page') ) { + $page = add_submenu_page('plugins.php', WIDGET_NAME, WIDGET_NAME, 'manage_options', 'networkpub', 'networkpub_conf'); + } +} + +function networkpub_conf() { + global $networkpub_settings; + + if ( isset($_POST['submit']) ) { + if ( function_exists('current_user_can') && !current_user_can('manage_options') ) { + die(__('Cheatin’ uh?')); + } + $field_name = sprintf('%s_%s', WIDGET_PREFIX, 'api_key'); + $value = strip_tags(stripslashes($_POST[$field_name])); + if($value) { + $networkadd = networkpub_add($value); + } + } + $options = get_option(WIDGET_NAME_INTERNAL); + $html = '
'.WIDGET_NAME.'
'; + $html .= '
'; + $html .= '
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 LinksAlpha.com, 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.
'; + $html .= '
Click Here to get API Keys for your Social Networks. You can read more about this process at LinksAlpha.com.
'; + $html .= '
Setup
'; + $html .= '
'; + $html .= '
'; + $html .= '
'; + $html .= 'Additional API Key'; + + $curr_field = 'api_key'; + $field_name = sprintf('%s_%s', WIDGET_PREFIX, $curr_field); + $html .= '
'; + $html .= '
'; + + $html .= '
'; + $html .= '
'; + $html .= '
'; + $html .= '
Currently Publishing
'; + $html .= '
'.networkpub_load().'
'; + $html .= '
'; + echo $html; +} + +function networkpub_add($api_key) { + if (!$api_key) { + return FALSE; + } + $url = get_option('siteurl'); + $desc = get_bloginfo('description'); + if (!$url) { + return FALSE; + } + $link = 'http://www.linksalpha.com/a/networkpubadd?url='.urlencode($url).'&key='.$api_key.'&desc='.urlencode($desc); + require_once(ABSPATH.WPINC.'/class-snoopy.php'); + $snoop = new Snoopy; + $snoop->agent = WIDGET_NAME.' - '.get_option('siteurl'); + $response = ''; + if($snoop->fetchtext($link)){ + if (strpos($snoop->response_code, '200')) { + $response_json = $snoop->results; + $response = networkpub_json_decode($response_json); + } + } + if (!$response) { + return FALSE; + } + if ($response->errorCode > 0) { + return FALSE; + } + $options = get_option(WIDGET_NAME_INTERNAL); + if(empty($options['api_key'])) { + $options['api_key'] = $api_key; + } else { + $options_array = explode(',', $options['api_key']); + if(!in_array($api_key, $options_array)) { + $options['api_key'] = $options['api_key'].','.$api_key; + } + } + $options['id'] = $response->results->id; + update_option(WIDGET_NAME_INTERNAL, $options); + return TRUE; +} + +function networkpub_load() { + $options = get_option(WIDGET_NAME_INTERNAL); + if (empty($options['api_key'])) { + $html = '
You have not added any API Key
'; + return $html; + } + $link = 'http://www.linksalpha.com/a/networkpubget?key='.$options['api_key']; + require_once(ABSPATH.WPINC.'/class-snoopy.php'); + $snoop = new Snoopy; + $snoop->agent = WIDGET_NAME.' - '.get_option('siteurl'); + $response = ''; + if($snoop->fetchtext($link)){ + if (strpos($snoop->response_code, '200')) { + $response_json = $snoop->results; + $response = networkpub_json_decode($response_json); + } + } + if (!$response) { + $html = '
Error occured while trying to load the API Keys. Please try again later.
'; + return $html; + } + if($response->errorCode > 0) { + $html = '
Error occured while trying to load the API Keys. Please try again later.
'; + return $html; + } + $html = '
You are currently Publishing your Blog to '.count($response->results).' Social Networks
'; + $html .= ''; + foreach($response->results as $row) { + $html .= ''; + switch($row->type) { + case 'twitter': + $html .= ''; + break; + case 'fb_page': + $html .= ''; + break; + case 'fb_wall': + $html .= ''; + break; + case 'myspace': + $html .= ''; + break; + case 'linkedin': + $html .= ''; + break; + case 'yammer': + $html .= ''; + break; + } + $html .= ''; + } + $html .= '
API KeyNetworkOption
'.$row->api_key.'Twitter Account - '.$row->name.''.$row->api_key.'Facebook Page - '.$row->name.''.$row->api_key.''.$row->name.''.$row->api_key.'MySpace Account - '.$row->name.''.$row->api_key.'LinkedIn Account - '.$row->name.''.$row->api_key.'Yammer Account - '.$row->name.'Remove
'; + return $html; +} + +function networkpub_remove() { + $options = get_option(WIDGET_NAME_INTERNAL); + if (!empty($_POST['key'])) { + $key_full = $_POST['key']; + $key_only = substr($key_full, 4); + $api_key = $options['api_key']; + $api_key_array = explode(',', $api_key); + $loc = array_search($key_only, $api_key_array); + if($loc !== FALSE) { + unset($api_key_array[$loc]); + } + $api_key = implode(",", $api_key_array); + $options['api_key'] = $api_key; + update_option(WIDGET_NAME_INTERNAL, $options); + $link = 'http://www.linksalpha.com/a/networkpubremove?id='.$options['id'].'&key='.$key_only; + require_once(ABSPATH.WPINC.'/class-snoopy.php'); + $snoop = new Snoopy; + $snoop->agent = WIDGET_NAME.' - '.get_option('siteurl'); + $response = ''; + $snoop->fetchtext($link); + echo $key_full; + return; + } +} + +function networkpub_json_decode($str) { + if (function_exists("json_decode")) { + return json_decode($str); + } else { + if (!class_exists('Services_JSON')) { + require_once("JSON.php"); + } + $json = new Services_JSON(); + return $json->decode($str); + } +} + +?> \ No newline at end of file