Andy Killen Description: A simple plugin to manage sharing and following. Options & configuration | Documentation Copyright 2010 Andy Killen (email : andy [a t ] phat hyphen reaction DOT com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ if (!class_exists("ShareAndFollow")) { class ShareAndFollow { var $adminOptionsName = "ShareAndFollowAdminOptions"; function ShareAndFollow() { //constructor } function init() { $this->getAdminOptions(); } function show_follow_links(){ //shows follow links on the page top/bottom/left/right $devOptions = $this->getAdminOptions(); if ($devOptions['add_follow'] == "true") { $devOptions = $this->getAdminOptions(); $args=array('list_style'=>$devOptions['follow_list_style'], 'size'=>$devOptions['tab_size'], 'spacing'=>$devOptions['spacing'], 'add_content'=>'true', 'add_follow'=>$devOptions['add_follow'], 'add_css'=>$devOptions['add_css'], 'follow_facebook'=>$devOptions['follow_facebook'], 'follow_stumble'=>$devOptions['follow_stumble'], 'follow_digg'=>$devOptions['follow_digg'], 'follow_hyves'=>$devOptions['follow_hyves'], 'follow_orkut'=>$devOptions['follow_orkut'], 'follow_reddit'=>$devOptions['follow_reddit'], 'follow_twitter'=>$devOptions['follow_twitter'], 'follow_delicious'=>$devOptions['follow_delicious'], 'follow_myspace'=>$devOptions['follow_myspace'], 'follow_rss'=>$devOptions['follow_rss'], 'follow_youtube'=>$devOptions['follow_youtube'], 'facebook_link'=>$devOptions['facebook_link'], 'stumble_link'=>$devOptions['stumble_link'], 'digg_link'=>$devOptions['digg_link'], 'hyves_link'=>$devOptions['hyves_link'], 'orkut_link'=>$devOptions['orkut_link'], 'reddit_link'=>$devOptions['reddit_link'], 'twitter_link'=>$devOptions['twitter_link'], 'delicious_link'=>$devOptions['delicious_link'], 'myspace_link'=>$devOptions['myspace_link'], 'youtube_link'=>$devOptions['youtube_link'], 'follow_location'=>$devOptions['follow_location'], 'facebook_text'=>$devOptions['facebook_link_text'], 'stumble_text'=>$devOptions['stumble_link_text'], 'twitter_text'=>$devOptions['twitter_link_text'], 'youtube_text'=>$devOptions['youtube_link_text'], 'hyves_text'=>$devOptions['hyves_link_text'], 'orkut_text'=>$devOptions['orkut_link_text'], 'myspace_text'=>$devOptions['myspace_link_text'], 'rss_text'=>$devOptions['rss_link_text'], 'css_images'=>$devOptions['css_images'], 'border_color'=>$devOptions['border_color'], ); follow_links($args); // does the follow links tab } } function getAdminOptions() { $shareAdminOptions = array('show_header' => 'true', 'iconset' => 'default', 'follow_location'=>'right', 'background_color'=>'f60', 'border_color'=>'fff', 'follow_color'=>'000', 'content' => '', 'list_style'=>'iconOnly', 'size'=>'32', 'spacing'=>'3', 'add_content'=>'true', 'add_follow'=>'true', 'add_css'=>'false', 'facebook' => 'yes', 'twitter'=>'yes', 'stumble' => 'yes', 'digg'=> 'yes', 'reddit'=> 'yes', 'hyves' => '', 'delicious'=>'yes', 'orkut'=>'', 'myspace'=>'', 'youtube'=>'', 'facebook_link' => '', 'twitter_link'=>'', 'stumble_link' => '', 'digg_link'=> '', 'reddit_link'=> '', 'hyves_link' => '', 'delicious_link'=>'', 'orkut_link'=>'', 'myspace_link'=>'', 'rss_link'=>'', 'facebook_share_text' =>' Recomend on Facebook', 'twitter_share_text' =>'Tweet about it', 'stumble_share_text' =>'Share with Stumblers', 'digg_share_text' =>'Digg this post', 'reddit_share_text' =>'share via Reddit', 'hyves_share_text' =>'Tip on Hyves', 'delicious_share_text' =>'Bookmark on Delicious', 'orkut_share_text' =>'Share on Orkut', 'myspace_share_text' =>'Share via MySpace', 'facebook_link_text' => 'Become my Facebook friend', 'twitter_link_text'=>'Tweet with me', 'stumble_link_text' => 'Follow my Stumbles', 'hyves_link_text' => 'Become my friend on Hyves', 'orkut_link_text'=>'Become Orkut Buddies', 'myspace_link_text'=>'Become a myspace follower', 'rss_link_text'=>'RSS', 'youtube_link_text'=>'Subscribe to my YouTube Channel', 'follow_list_style'=>'iconOnly', 'follow_facebook' => '', 'follow_twitter'=>'', 'follow_stumble' => '', 'follow_digg'=> '', 'follow_reddit'=> '', 'follow_hyves' => '', 'follow_delicious'=>'', 'follow_orkut'=>'', 'follow_myspace'=>'', 'follow_rss'=>'yes', 'follow_youtube'=>'', 'tab_size'=>'16', 'css_images'=>'yes' ); $devOptions = get_option($this->adminOptionsName); if (!empty($devOptions)) { foreach ($devOptions as $key => $option) $shareAdminOptions[$key] = $option; } update_option($this->adminOptionsName, $shareAdminOptions); return $shareAdminOptions; } function addHeaderCode() { //options CSS load $devOptions = $this->getAdminOptions(); if ($devOptions['add_css'] == "true") {?> getAdminOptions(); if ($devOptions['add_content'] == "true") { $perma=get_permalink(); $title=get_the_title(); $postid = strval($post->ID); $args = array('page_id' => $postid, 'heading' => '2', 'list_style'=>'iconOnly', 'size'=>$devOptions['size'], 'direction' => 'row', 'page_title'=>$title, 'page_link'=>$perma, 'echo'=>'1', 'share'=>$devOptions['share'], 'facebook'=>$devOptions['facebook'], 'stumble'=>$devOptions['stumble'], 'digg'=>$devOptions['digg'], 'hyves'=>$devOptions['hyves'], 'orkut'=>$devOptions['orkut'], 'reddit'=>$devOptions['reddit'], 'twitter'=>$devOptions['twitter'], 'delicious'=>$devOptions['delicious'], 'myspace'=>$devOptions['myspace'], ); $content .= social_links($args); } return $content; } function share_func($atts, $content) { extract(shortcode_atts(array( 'type' => 'sidebar', 'heading' => '0', 'size' => "16", 'list_style' => "icon_text", 'direction' => 'down', 'share'=>'no', 'facebook'=>'yes', 'stumble'=>'yes', 'hyves'=>'no', 'orkut'=>'yes', 'digg'=>'yes', 'reddit'=>'yes', 'delicious'=>'yes', 'twitter'=>'yes', 'myspace'=>'yes', 'css_images'=>'yes', ), $atts)); //shortcode defaults $postid=get_the_ID(); $page_title=get_the_title(); $page_link=get_permalink($postid); $args = array('post_id'=>$postid, 'facebook'=>$facebook, 'stumble'=>$stumble, 'hyves'=>$hyves, 'orkut'=>$orkut, 'digg'=>$digg, 'reddit'=>$reddit, 'delicious'=>$delicious, 'twitter'=>$twitter, 'myspace'=>$myspace, 'share'=>$share, 'heading' => $heading, 'size' => $size, 'echo'=>'1', 'direction' => $direction, 'page_title'=>$page_title, 'page_link'=>$page_link, ); $html = social_links($args); print ( $content ); print ( $html ); } function load_widgets() { register_widget( 'Share_Widget' ); register_widget( 'Follow_Widget' ); } function printAdminPage() { if (is_user_logged_in() && is_admin() ){ $devOptions = $this->getAdminOptions(); if (isset($_POST['update_share-and-follow'])) { //save option changes if (isset($_POST['devloungeHeader'])) {$devOptions['show_header'] = $_POST['devloungeHeader'];} if (isset($_POST['devloungeAddContent'])) {$devOptions['add_content'] = $_POST['devloungeAddContent']; } if (isset($_POST['background_color'])) {$devOptions['background_color'] = $_POST['background_color']; } if (isset($_POST['border_color'])) {$devOptions['border_color'] = $_POST['border_color']; } if (isset($_POST['follow_location'])) {$devOptions['follow_location'] = $_POST['follow_location']; } if (isset($_POST['follow_color'])) {$devOptions['follow_color'] = $_POST['follow_color'];} if (isset($_POST['spacing'])) {$devOptions['spacing'] = $_POST['spacing'];} if (isset($_POST['size'])) {$devOptions['size'] = $_POST['size'];} if (isset($_POST['add_content'])) {$devOptions['add_content'] = $_POST['add_content'];} if (isset($_POST['add_follow'])) {$devOptions['add_follow'] = $_POST['add_follow'];} if (isset($_POST['add_css'])) {$devOptions['add_css'] = $_POST['add_css'];} if (isset($_POST['words_icons'])) {$devOptions['follow_words_icons'] = $_POST['words_icons'];} if (isset($_POST['list_style'])) {$devOptions['list_style'] = $_POST['list_style'];} if (isset($_POST['follow_list_style'])) {$devOptions['follow_list_style'] = $_POST['follow_list_style'];} $devOptions['tab_size'] = $_POST['tab_size']; $devOptions['share'] = $_POST['share']; $devOptions['facebook'] = $_POST['facebook']; $devOptions['twitter'] = $_POST['twitter']; $devOptions['stumble'] = $_POST['stumble']; $devOptions['digg'] = $_POST['digg']; $devOptions['reddit'] = $_POST['reddit']; $devOptions['hyves'] = $_POST['hyves']; $devOptions['delicious'] = $_POST['delicious']; $devOptions['orkut'] = $_POST['orkut']; $devOptions['myspace'] = $_POST['myspace']; $devOptions['facebook_share_text'] = $_POST['facebook_share_text']; $devOptions['twitter_share_text'] = $_POST['twitter_share_text']; $devOptions['stumble_share_text'] = $_POST['stumble_share_text']; $devOptions['digg_share_text'] = $_POST['digg_share_text']; $devOptions['reddit_share_text'] = $_POST['reddit_share_text']; $devOptions['hyves_share_text'] = $_POST['hyves_share_text']; $devOptions['delicious_share_text'] = $_POST['delicious_share_text']; $devOptions['orkut_share_text'] = $_POST['orkut_share_text']; $devOptions['myspace_share_text'] = $_POST['myspace_share_text']; $devOptions['facebook_link'] = $_POST['facebook_link']; $devOptions['twitter_link'] = $_POST['twitter_link']; $devOptions['stumble_link'] = $_POST['stumble_link']; $devOptions['hyves_link'] = $_POST['hyves_link']; $devOptions['orkut_link'] = $_POST['orkut_link']; $devOptions['myspace_link'] = $_POST['myspace_link']; $devOptions['youtube_link_text'] = $_POST['youtube_link_text']; $devOptions['facebook_link_text'] = $_POST['facebook_link_text']; $devOptions['twitter_link_text'] = $_POST['twitter_link_text']; $devOptions['stumble_link_text'] = $_POST['stumble_link_text']; $devOptions['hyves_link_text'] = $_POST['hyves_link_text']; $devOptions['orkut_link_text'] = $_POST['orkut_link_text']; $devOptions['myspace_link_text'] = $_POST['myspace_link_text']; $devOptions['youtube_link_text'] = $_POST['youtube_link_text']; $devOptions['follow_facebook'] = $_POST['follow_facebook']; $devOptions['follow_twitter'] = $_POST['follow_twitter']; $devOptions['follow_stumble'] = $_POST['follow_stumble']; $devOptions['follow_hyves'] = $_POST['follow_hyves']; $devOptions['follow_orkut'] = $_POST['follow_orkut']; $devOptions['follow_myspace'] = $_POST['follow_myspace']; $devOptions['follow_rss'] = $_POST['follow_rss']; $devOptions['follow_youtube'] = $_POST['follow_youtube']; if (isset($_POST['devloungeContent'])) {$devOptions['content'] = apply_filters('content_save_pre', $_POST['devloungeContent']);} update_option($this->adminOptionsName, $devOptions);?>

if your feeling lovely and really like this plug-in, do the right thing and buy us some beer. It's usually €4.50 here in Amsterdam for a pint, and we will give you a link from phat reaction for being so nice

">

Share and Follow Administration

Here you can administer either the Follow Tab, or the Share Links on a Post. If you want to admin the sidebar widget, you need to goto the widgets section.

However for the Follow widget to work with anything except RSS you will have to fill out the details below in the Follow section.

More documentation on how to use this plugin and it's options (Share Widget, Follow Widget, Share on Posts, Shortcode in Post, Follow Tab, Theme Tag)

Share Icons Setup

Allow Share Icons to be added to the End of a Post?

Selecting "No" will disable the content from being added into the end of a post.

    

Show the word Share as a prefix to the list

name="share" value="yes" id="share">

Share Links to display

ShowLink text
name="facebook" value="yes" id="facebook">
name="twitter" value="yes" id="twitter">
name="stumble" value="yes" id="stumble">
name="digg" value="yes" id="digg">
name="reddit" value="yes" id="reddit">
name="hyves" value="yes" id="hyves">
name="delicious" value="yes" id="delicious">
name="orkut" value="yes" id="orkut">
name="myspace" value="yes" id="myspace">





Follow Side/Bottom Tab setup

Show the Follow Tab on Screen

Selecting "No" will disable the content from being added into to your website.

    

Follow Tab Colors

for example #f60 is entered as f60 or #ff6600 becomes ff6600.

ShowLink Textlink destination
name="follow_facebook" value="yes" id="follow_facebook">
name="follow_hyves" value="yes" id="follow_hyves">
name="follow_myspace" value="yes" id="follow_myspace">
name="follow_orkut" value="yes" id="follow_orkut">
name="follow_stumble" value="yes" id="follow_stumble">
name="follow_twitter" value="yes" id="follow_twitter">
name="follow_youtube" value="yes" id="follow_youtube">
name="follow_rss" value="yes" id="follow_rss"> this link is automatically setup to be your wordpress feed.

Use CSS and not style in the head section

This is useful if you want to style things yourself with CSS. The downside is that it make the page load times slightly slower. Anyhow, if you really need it, it loads a /wp-content/plugins/share-and-follow/css/stylesheet.css.

    

if your feeling lovely and really like this plug-in, do the right thing and buy us some beer. It's usually €4.50 here in Amsterdam for a pint.