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 |
Plugin Name: Add To Facebook |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
Version: 1.4.3 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
Plugin URI: http://nothing.golddave.com/?page_id=108 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
Description: Adds a footer link to add the current post or page to a Facebook Mini-Feed. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
Author: David Goldstein |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
Author URI: http://nothing.golddave.com/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
/* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
Change Log |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
1.4.3 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
* Improved option saving mechanism to avoid conflicts with other plugins. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
1.4.2 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
* Added a title specs to the links. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
1.4.1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
* Added slashes at end of image tags per XHTML specification. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
1.4 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
* Added CSS. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
* Fixed bug that prevented the Facebook icon to appear in version 1.3. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
1.3 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
* Links now open in a new tab/window. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
1.2 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
* Added option to use a template tag. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
* Fixed bug that prevented the Facebook icon to appear in version 1.1. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
1.1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
* Added options page to choose between text/image links. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
1.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
* First public release. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
function add_to_facebook($data){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
global $post; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
$current_options = get_option('add_to_facebook_options'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
$linktype = $current_options['link_type']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
switch ($linktype) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
case "text": |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
$data=$data."<p class=\"facebook\"><a href=\"http://www.facebook.com/share.php?u=".get_permalink($post->ID)."\" target=\"_blank\" title=\"Share on Facebook\">Share on Facebook</a></p>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
case "image": |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
$data=$data."<p class=\"facebook\"><a href=\"http://www.facebook.com/share.php?u=".get_permalink($post->ID)."\" target=\"_blank\"><img src=\"".get_bloginfo(wpurl)."/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif\" alt=\"Share on Facebook\" title=\"Share on Facebook\" /></a></p>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
case "both": |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
$data=$data."<p class=\"facebook\"><a href=\"http://www.facebook.com/share.php?u=".get_permalink($post->ID)."\" target=\"_blank\"><img src=\"".get_bloginfo(wpurl)."/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif\" alt=\"Share on Facebook\" title=\"Share on Facebook\" /></a><a href=\"http://www.facebook.com/share.php?u=".get_permalink($post->ID)."\" target=\"_blank\" title=\"Share on Facebook\">Share on Facebook</a></p>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
return $data; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
function activate_add_to_facebook(){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
global $post; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
$current_options = get_option('add_to_facebook_options'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
$insertiontype = $current_options['insertion_type']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
if ($insertiontype != 'template'){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
add_filter('the_content', 'add_to_facebook', 10); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
add_filter('the_excerpt', 'add_to_facebook', 10); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
activate_add_to_facebook(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
function addtofacebook(){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
global $post; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
$current_options = get_option('add_to_facebook_options'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
$insertiontype = $current_options['insertion_type']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
if ($insertiontype != 'auto'){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
$linktype = $current_options['link_type']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
switch ($linktype) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
case "text": |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
echo "<p class=\"facebook\"><a href=\"http://www.facebook.com/share.php?u=".get_permalink($post->ID)."\" target=\"_blank\" title=\"Share on Facebook\">Share on Facebook</a></p>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
case "image": |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
echo "<p class=\"facebook\"><a href=\"http://www.facebook.com/share.php?u=".get_permalink($post->ID)."\" target=\"_blank\"><img src=\"".get_bloginfo(wpurl)."/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif\" alt=\"Share on Facebook\" title=\"Share on Facebook\" /></a></p>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
case "both": |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
echo "<p class=\"facebook\"><a href=\"http://www.facebook.com/share.php?u=".get_permalink($post->ID)."\" target=\"_blank\"><img src=\"".get_bloginfo(wpurl)."/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif\" alt=\"Share on Facebook\" title=\"Share on Facebook\" /></a><a href=\"http://www.facebook.com/share.php?u=".get_permalink($post->ID)."\" target=\"_blank\" title=\"Share on Facebook\">Share on Facebook</a></p>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
// Create the options page |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
function add_to_facebook_options_page() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
$current_options = get_option('add_to_facebook_options'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
$link = $current_options["link_type"]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
$insert = $current_options["insertion_type"]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
if ($_POST['action']){ ?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
<div id="message" class="updated fade"><p><strong>Options saved.</strong></p></div> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
<?php } ?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
<div class="wrap" id="add-to-facebook-options"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
<h2>Add to Facebook Options</h2> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
<form method="post" action="<?php echo $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']; ?>"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
<fieldset> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
<legend>Options:</legend> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
<input type="hidden" name="action" value="save_add_to_facebook_options" /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
<table width="100%" cellspacing="2" cellpadding="5" class="editform"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
<tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
<th valign="top" scope="row"><label for="link_type">Link Type:</label></th> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
<td><select name="link_type"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
<option value ="text"<?php if ($link == "text") { print " selected"; } ?>>Text Only</option> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
<option value ="image"<?php if ($link == "image") { print " selected"; } ?>>Image Only</option> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
<option value ="both"<?php if ($link == "both") { print " selected"; } ?>>Image and Text</option> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
</select></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
<tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
<th valign="top" scope="row"><label for="insertion_type">Insertion Type:</label></th> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
<td><select name="insertion_type"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
<option value ="auto"<?php if ($insert == "auto") { print " selected"; } ?>>Auto</option> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
<option value ="template"<?php if ($insert == "template") { print " selected"; } ?>>Template</option> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
</select></td> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
</table> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
</fieldset> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
<p class="submit"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
<input type="submit" name="Submit" value="Update Options »" /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
</p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
</form> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
</div> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
function add_to_facebook_add_options_page() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
// Add a new menu under Options: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
add_options_page('Add to Facebook', 'Add to Facebook', 10, __FILE__, 'add_to_facebook_options_page'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
function add_to_facebook_save_options() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
// create array |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
$add_to_facebook_options["link_type"] = $_POST["link_type"]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
$add_to_facebook_options["insertion_type"] = $_POST["insertion_type"]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
update_option('add_to_facebook_options', $add_to_facebook_options); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
$options_saved = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
add_action('admin_menu', 'add_to_facebook_add_options_page'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
if (!get_option('add_to_facebook_options')){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
// create default options |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
$add_to_facebook_options["link_type"] = 'text'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
$add_to_facebook_options["insertion_type"] = 'auto'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
update_option('add_to_facebook_options', $add_to_facebook_options); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
if ($_POST['action'] == 'save_add_to_facebook_options'){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
add_to_facebook_save_options(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
function facebookcss() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
<link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-content/plugins/add-to-facebook-plugin/facebook.css" type="text/css" media="screen" /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
add_action('wp_head', 'facebookcss'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
?> |