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: FD Feedburner Plugin |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
Plugin URI: http://flagrantdisregard.com/feedburner/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
Description: Redirects all feeds to a Feedburner feed |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
Author: John Watson |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
Author URI: http://flagrantdisregard.com/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
Version: 1.41 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
Copyright (C) Sat Feb 18 2006 John Watson |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
john@flagrantdisregard.com |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
http://flagrantdisregard.com/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
$Id: feedburnerplugin.php 407 2006-11-14 17:40:47Z John $ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
This program is free software; you can redistribute it and/or |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
modify it under the terms of the GNU General Public License |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
as published by the Free Software Foundation; either version 2 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
of the License, or any later version. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
This program is distributed in the hope that it will be useful, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
GNU General Public License for more details. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
You should have received a copy of the GNU General Public License |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
along with this program; if not, write to the Free Software |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
add_action('admin_menu', 'feedburner_config_page'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
function feedburner_config_page() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
if ( function_exists('add_submenu_page') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
add_submenu_page('plugins.php', __('Feedburner Configuration'), __('Feedburner Configuration'), 8, __FILE__, 'feedburner_conf'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
function feedburner_fix_url($url) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
$url = preg_replace('!^(http|https)://!i', '', $url); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
$url = preg_replace('!^/!i', '', $url); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
$url = 'http://'.$url; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
return $url; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
function feedburner_conf() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
$options = get_option('fd_feedburner'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
if (!isset($options['feedburner_url'])) $options['feedburner_url'] = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
if (!isset($options['feedburner_comment_url'])) $options['feedburner_comment_url'] = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
if (!isset($options['feedburner_append_cats'])) $options['feedburner_append_cats'] = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
if (!isset($options['feedburner_no_cats'])) $options['feedburner_no_cats'] = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
if (!isset($options['feedburner_no_search'])) $options['feedburner_no_search'] = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
$updated = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
if ( isset($_POST['submit']) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
check_admin_referer(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
if (isset($_POST['feedburner_url'])) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
$feedburner_url = $_POST['feedburner_url']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
if ($feedburner_url != null) $feedburner_url = feedburner_fix_url($feedburner_url); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
$feedburner_url = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
if (isset($_POST['feedburner_comment_url'])) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
$feedburner_comment_url = $_POST['feedburner_comment_url']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
if ($feedburner_comment_url != null) $feedburner_comment_url = feedburner_fix_url($feedburner_comment_url); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
$feedburner_comment_url = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
if (isset($_POST['feedburner_append_cats'])) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
$feedburner_append_cats = $_POST['feedburner_append_cats']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
$feedburner_append_cats = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
if (isset($_POST['feedburner_no_cats'])) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
$feedburner_no_cats = $_POST['feedburner_no_cats']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
$feedburner_no_cats = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
if (isset($_POST['feedburner_no_search'])) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
$feedburner_no_search = $_POST['feedburner_no_search']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
$feedburner_no_search = 0; |
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 |
$options['feedburner_url'] = $feedburner_url; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
$options['feedburner_comment_url'] = $feedburner_comment_url; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
$options['feedburner_append_cats'] = $feedburner_append_cats; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
$options['feedburner_no_cats'] = $feedburner_no_cats; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
$options['feedburner_no_search'] = $feedburner_no_search; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
update_option('fd_feedburner', $options); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
$updated = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
} |
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 |
<div class="wrap"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
if ($updated) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
echo "<div id='message' class='updated fade'><p>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
_e('Configuration updated.'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
echo "</p></div>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
<h2><?php _e('Feedburner Configuration'); ?></h2> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
<div style="float: right; width: 350px"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
<h3>How does this work?</h3> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
<p><?php _e('This plugin automatically redirects all of your existing feeds to Feedburner (including category and tag feeds).')?></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
<p><?php _e('First go to <a href="http://feedburner.com">Feedburner.com</a> and burn your feed. Enter the URL Feedburner created for you. You may optionally redirect your comments feed using the same procedure. To disable redirection, disable the plugin or erase the URLs.'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
?></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
<p><?php _e('Once you enter URLs your feeds will be redirected automatically and you do not need to take any further action.') ?> <em><?php _e('Note that your feeds may not appear to redirect to Feedburner until you add a new post.'); ?></em> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
</p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
</div> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
<form action="" method="post" id="feedburner-conf"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
<h3><label for="feedburner_url"><?php _e('Redirect my feeds here:'); ?></label></h3> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
<p><input id="feedburner_url" name="feedburner_url" type="text" size="65" maxlength="200" value="<?php echo $options['feedburner_url']; ?>" /></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
<h3><label for="feedburner_comment_url"><?php _e('Redirect my comments feed here:'); ?></label></h3> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
<p><input id="feedburner_comment_url" name="feedburner_comment_url" type="text" size="65" maxlength="200" value="<?php echo $options['feedburner_comment_url']; ?>" /></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
<h3>Advanced Options</h3> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
<p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
<input id="feedburner_no_cats" name="feedburner_no_cats" type="checkbox" value="1"<?php if ($options['feedburner_no_cats']==1) echo ' checked'; ?> /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
<label for="feedburner_no_cats"><?php _e('Do not redirect category or tag feeds'); ?></label> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
</p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
<p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
<input id="feedburner_append_cats" name="feedburner_append_cats" type="checkbox" value="1"<?php if ($options['feedburner_append_cats']==1) echo ' checked'; ?> /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
<label for="feedburner_append_cats"><?php _e('Append category/tag to URL for category/tag feeds'); ?> (<i>http://url<b>_category</b></i>)</label> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
</p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
<p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
<input id="feedburner_no_search" name="feedburner_no_search" type="checkbox" value="1"<?php if ($options['feedburner_no_search']==1) echo ' checked'; ?> /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
<label for="feedburner_no_search"><?php _e('Do not redirect search result feeds'); ?></label> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
</p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
<p class="submit" style="text-align: left"><input type="submit" name="submit" value="<?php _e('Save »'); ?>" /></p> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
</form> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
</div> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
function feedburner_redirect() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
global $feed, $withcomments, $wp, $wpdb, $wp_version, $wp_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
// Do nothing if not a feed |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
if (!is_feed()) return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
// Do nothing if feedburner is the user-agent |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
if (preg_match('/feedburner/i', $_SERVER['HTTP_USER_AGENT'])) return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
// Do nothing if not configured |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
$options = get_option('fd_feedburner'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
if (!isset($options['feedburner_url'])) $options['feedburner_url'] = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
if (!isset($options['feedburner_comment_url'])) $options['feedburner_comment_url'] = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
if (!isset($options['feedburner_append_cats'])) $options['feedburner_append_cats'] = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
if (!isset($options['feedburner_no_cats'])) $options['feedburner_no_cats'] = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
if (!isset($options['feedburner_no_search'])) $options['feedburner_no_search'] = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
$feed_url = $options['feedburner_url']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
$comment_url = $options['feedburner_comment_url']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
if ($feed_url == null && $comment_url == null) return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
// Get category |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
$cat = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
if ($wp->query_vars['category_name'] != null) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
$cat = $wp->query_vars['category_name']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
if ($wp->query_vars['cat'] != null) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
if ($wp_db_version >= 6124) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
// 6124 = WP 2.3 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
$cat = $wpdb->get_var("SELECT slug FROM $wpdb->terms WHERE term_id = '".$wp->query_vars['cat']."' LIMIT 1"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
$cat = $wpdb->get_var("SELECT category_nicename FROM $wpdb->categories WHERE cat_ID = '".$wp->query_vars['cat']."' LIMIT 1"); |
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 |
if ($options['feedburner_append_cats'] == 1 && $cat) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
$feed_url .= '_'.$cat; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
// Get tag |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
185 |
$tag = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
186 |
if ($wp->query_vars['tag'] != null) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
187 |
$tag = $wp->query_vars['tag']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
188 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
189 |
if ($options['feedburner_append_cats'] == 1 && $tag) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
190 |
$feed_url .= '_'.$tag; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
191 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
192 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
193 |
// Get search terms |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
194 |
$search = null; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
195 |
if ($wp->query_vars['s'] != null) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
196 |
$search = $wp->query_vars['s']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
197 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
198 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
199 |
// Redirect comment feed |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
200 |
if ($feed == 'comments-rss2' || is_single() || $withcomments) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
201 |
if ($comment_url != null) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
202 |
header("Location: ".$comment_url); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
203 |
die; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
204 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
205 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
206 |
// Other feeds |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
207 |
switch($feed) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
208 |
case 'feed': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
209 |
case 'rdf': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
210 |
case 'rss': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
211 |
case 'rss2': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
212 |
case 'atom': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
213 |
if (($cat || $tag) && $options['feedburner_no_cats'] == 1) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
214 |
// If this is a category/tag feed and redirect is disabled, do nothing |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
215 |
} else if ($search && $options['feedburner_no_search'] == 1) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
216 |
// If this is a search result feed and redirect is disabled, do nothing |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
217 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
218 |
if ($feed_url != null) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
219 |
// Redirect the feed |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
220 |
header("Location: ".$feed_url); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
221 |
die; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
222 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
223 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
224 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
225 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
226 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
227 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
228 |
/* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
229 |
================================================== |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
230 |
Add action hooks |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
231 |
================================================== |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
232 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
233 |
add_action('template_redirect', 'feedburner_redirect'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
234 |
?> |