Version Description
- Requires WP 2.8.
- Fix problem displaying multiple-word searches in WP 3.0.
- Remove notice messages when debugging.
Download this release
Release Info
Developer | bennettmcelwee |
Plugin | Search Meter |
Version | 2.7.2 |
Comparing to | |
See all releases |
Code changes from version 2.7.1 to 2.7.2
- readme.txt +7 -2
- search-meter.php +89 -138
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: bennettmcelwee
|
3 |
Donate link: http://www.thunderguy.com/semicolon/wordpress/search-meter-wordpress-plugin/
|
4 |
Tags: search, meter, search-meter, statistics, widget, admin
|
5 |
-
Requires at least: 2.
|
6 |
-
Tested up to:
|
7 |
Stable tag: 2.7.1
|
8 |
|
9 |
Search Meter tracks what your readers are searching for on your blog. View full details of recent searches or stats for the last day, week or month.
|
@@ -73,6 +73,11 @@ The [Search Meter home page](http://www.thunderguy.com/semicolon/wordpress/searc
|
|
73 |
|
74 |
== Changelog ==
|
75 |
|
|
|
|
|
|
|
|
|
|
|
76 |
= 2.7 =
|
77 |
* Don't show duplicated recent searches
|
78 |
* Add filter list so that search terms with certain words will not show up in recent and popular search lists
|
2 |
Contributors: bennettmcelwee
|
3 |
Donate link: http://www.thunderguy.com/semicolon/wordpress/search-meter-wordpress-plugin/
|
4 |
Tags: search, meter, search-meter, statistics, widget, admin
|
5 |
+
Requires at least: 2.8
|
6 |
+
Tested up to: 3.0
|
7 |
Stable tag: 2.7.1
|
8 |
|
9 |
Search Meter tracks what your readers are searching for on your blog. View full details of recent searches or stats for the last day, week or month.
|
73 |
|
74 |
== Changelog ==
|
75 |
|
76 |
+
= 2.7.2 =
|
77 |
+
* Requires WP 2.8.
|
78 |
+
* Fix problem displaying multiple-word searches in WP 3.0.
|
79 |
+
* Remove notice messages when debugging.
|
80 |
+
|
81 |
= 2.7 =
|
82 |
* Don't show duplicated recent searches
|
83 |
* Add filter list so that search terms with certain words will not show up in recent and popular search lists
|
search-meter.php
CHANGED
@@ -3,11 +3,11 @@
|
|
3 |
Plugin Name: Search Meter
|
4 |
Plugin URI: http://www.thunderguy.com/semicolon/wordpress/search-meter-wordpress-plugin/
|
5 |
Description: Keeps track of what your visitors are searching for. After you have activated this plugin, you can check the Search Meter section in the Dashboard to see what your visitors are searching for on your blog.
|
6 |
-
Version: 2.7.
|
7 |
Author: Bennett McElwee
|
8 |
Author URI: http://www.thunderguy.com/semicolon/
|
9 |
|
10 |
-
$Revision:
|
11 |
|
12 |
|
13 |
INSTRUCTIONS
|
@@ -137,7 +137,7 @@ function sm_get_relative_search_url($term) {
|
|
137 |
if ($wp_rewrite->using_permalinks()) {
|
138 |
$structure = $wp_rewrite->get_search_permastruct();
|
139 |
if (strpos($structure, '%search%') !== false) {
|
140 |
-
$relative_url = str_replace('%search%',
|
141 |
}
|
142 |
}
|
143 |
if ( ! $relative_url) {
|
@@ -152,9 +152,9 @@ function sm_get_escaped_filter_regex() {
|
|
152 |
global $sm_escaped_filter_regex, $wpdb;
|
153 |
if ( ! isset($sm_escaped_filter_regex)) {
|
154 |
$options = get_option('tguy_search_meter');
|
155 |
-
$filter_words = $options
|
156 |
-
if ($filter_words ==
|
157 |
-
$sm_escaped_filter_regex =
|
158 |
} else {
|
159 |
$filter_regex = str_replace(' ', '|', preg_quote($filter_words));
|
160 |
$wpdb->escape_by_ref($filter_regex);
|
@@ -188,143 +188,89 @@ function tguy_sm_init() {
|
|
188 |
|
189 |
// Widgets
|
190 |
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
|
|
|
|
|
|
|
|
|
|
196 |
}
|
197 |
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
}
|
203 |
-
|
204 |
-
function widget($args, $instance) {
|
205 |
-
extract($args);
|
206 |
-
$title = apply_filters('widget_title', empty($instance['popular-searches-title']) ? __('Popular Searches') : $instance['popular-searches-title']);
|
207 |
-
$count = (int) (empty($instance['popular-searches-number']) ? 5 : $instance['popular-searches-number']);
|
208 |
-
|
209 |
-
echo $before_widget;
|
210 |
-
if ($title) {
|
211 |
-
echo $before_title . $title . $after_title;
|
212 |
-
}
|
213 |
-
sm_list_popular_searches('', '', sm_constrain_widget_search_count($count));
|
214 |
-
echo $after_widget;
|
215 |
-
}
|
216 |
-
|
217 |
-
function update($new_instance, $old_instance){
|
218 |
-
$instance = $old_instance;
|
219 |
-
$instance['popular-searches-title'] = strip_tags(stripslashes($new_instance['popular-searches-title']));
|
220 |
-
$instance['popular-searches-number'] = (int) ($new_instance['popular-searches-number']);
|
221 |
-
return $instance;
|
222 |
-
}
|
223 |
|
224 |
-
|
225 |
-
|
226 |
-
$
|
227 |
-
|
228 |
-
$title = htmlspecialchars($instance['popular-searches-title']);
|
229 |
-
$count = htmlspecialchars($instance['popular-searches-number']);
|
230 |
-
|
231 |
-
# Output the options
|
232 |
-
echo '<p><label for="' . $this->get_field_name('popular-searches-title') . '">' . __('Title:') . ' <input class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('popular-searches-title') . '" type="text" value="' . $title . '" /></label></p>';
|
233 |
-
echo '<p><label for="' . $this->get_field_name('popular-searches-number') . '">' . __('Number of searches to show:') . ' <input id="' . $this->get_field_id('popular-searches-number') . '" name="' . $this->get_field_name('popular-searches-number') . '" type="text" value="' . $count . '" size="3" /></label></p>';
|
234 |
-
echo '<p><small>Powered by Search Meter</small></p>';
|
235 |
}
|
|
|
|
|
236 |
}
|
237 |
-
|
238 |
-
class SM_Recent_Searches_Widget extends WP_Widget {
|
239 |
-
function SM_Recent_Searches_Widget() {
|
240 |
-
$widget_ops = array('classname' => 'widget_search_meter', 'description' => __( "A list of the most recent successful searches on your blog"));
|
241 |
-
$this->WP_Widget('recent_searches', __('Recent Searches'), $widget_ops);
|
242 |
-
}
|
243 |
-
|
244 |
-
function widget($args, $instance) {
|
245 |
-
extract($args);
|
246 |
-
$title = apply_filters('widget_title', empty($instance['recent-searches-title']) ? __('Recent Searches') : $instance['recent-searches-title']);
|
247 |
-
$count = (int) (empty($instance['recent-searches-number']) ? 5 : $instance['recent-searches-number']);
|
248 |
-
|
249 |
-
echo $before_widget;
|
250 |
-
if ($title) {
|
251 |
-
echo $before_title . $title . $after_title;
|
252 |
-
}
|
253 |
-
sm_list_recent_searches('', '', sm_constrain_widget_search_count($count));
|
254 |
-
echo $after_widget;
|
255 |
-
}
|
256 |
-
|
257 |
-
function update($new_instance, $old_instance){
|
258 |
-
$instance = $old_instance;
|
259 |
-
$instance['recent-searches-title'] = strip_tags(stripslashes($new_instance['recent-searches-title']));
|
260 |
-
$instance['recent-searches-number'] = (int) ($new_instance['recent-searches-number']);
|
261 |
-
return $instance;
|
262 |
-
}
|
263 |
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
$count = htmlspecialchars($instance['recent-searches-number']);
|
270 |
-
|
271 |
-
# Output the options
|
272 |
-
echo '<p><label for="' . $this->get_field_name('recent-searches-title') . '">' . __('Title:') . ' <input class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('recent-searches-title') . '" type="text" value="' . $title . '" /></label></p>';
|
273 |
-
echo '<p><label for="' . $this->get_field_name('recent-searches-number') . '">' . __('Number of searches to show:') . ' <input id="' . $this->get_field_id('recent-searches-number') . '" name="' . $this->get_field_name('recent-searches-number') . '" type="text" value="' . $count . '" size="3" /></label></p>';
|
274 |
-
echo '<p><small>Powered by Search Meter</small></p>';
|
275 |
-
}
|
276 |
}
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
|
|
|
|
|
|
286 |
}
|
|
|
287 |
|
288 |
-
|
289 |
-
|
290 |
-
$
|
291 |
-
|
292 |
}
|
293 |
-
|
294 |
-
function
|
295 |
-
$
|
296 |
-
|
297 |
-
|
298 |
-
|
|
|
|
|
|
|
299 |
}
|
300 |
-
|
301 |
-
|
302 |
-
<p>This widget shows the most popular searches in the last month. Only successful searches are listed.</p>
|
303 |
-
<p><label for="popular-searches-number"><?php _e('Number of searches to show:'); ?> <input style="width: 5ex; text-align: center;" id="popular-searches-number" name="popular-searches-number" type="text" value="<?php echo $number; ?>" /></label></p>
|
304 |
-
<p><em>Powered by Search Meter</em></p>
|
305 |
-
<input type="hidden" id="popular-searches-submit" name="popular-searches-submit" value="1" />
|
306 |
-
<?php
|
307 |
}
|
308 |
-
|
309 |
-
function
|
310 |
-
$
|
311 |
-
$
|
312 |
-
|
|
|
313 |
}
|
314 |
|
315 |
-
function
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
<input type="hidden" id="recent-searches-submit" name="recent-searches-submit" value="1" />
|
327 |
-
<?php
|
328 |
}
|
329 |
}
|
330 |
|
@@ -469,7 +415,7 @@ function tguy_sm_reset_stats() {
|
|
469 |
|
470 |
function tguy_sm_add_admin_pages() {
|
471 |
$options = get_option('tguy_search_meter');
|
472 |
-
$view_stats_capability = $options
|
473 |
if ($view_stats_capability == '') {
|
474 |
$view_stats_capability = TGUY_SM_DEFAULT_VIEW_STATS_CAPABILITY;
|
475 |
}
|
@@ -477,6 +423,11 @@ function tguy_sm_add_admin_pages() {
|
|
477 |
add_options_page('Search Meter', 'Search Meter', TGUY_SM_OPTIONS_CAPABILITY, __FILE__, 'tguy_sm_options_page');
|
478 |
}
|
479 |
|
|
|
|
|
|
|
|
|
|
|
480 |
|
481 |
// Display information
|
482 |
|
@@ -535,9 +486,9 @@ div.sm-stats-clear {
|
|
535 |
}
|
536 |
|
537 |
function tguy_sm_stats_page() {
|
538 |
-
|
539 |
-
|
540 |
-
$do_show_details =
|
541 |
tguy_sm_recent_page($recent_count, $do_show_details);
|
542 |
} else {
|
543 |
tguy_sm_summary_page();
|
@@ -783,7 +734,7 @@ function tguy_sm_options_page() {
|
|
783 |
echo '<div id="message" class="updated fade"><p><strong>Statistics have been reset.</strong></p></div>';
|
784 |
}
|
785 |
$options = get_option('tguy_search_meter');
|
786 |
-
$view_stats_capability = $options
|
787 |
if ($view_stats_capability == '') {
|
788 |
$view_stats_capability = TGUY_SM_DEFAULT_VIEW_STATS_CAPABILITY;
|
789 |
}
|
@@ -828,14 +779,14 @@ function tguy_sm_options_page() {
|
|
828 |
<label for="sm_filter_words">When a search term contains any of these words, it will be filtered
|
829 |
and will not show up in the Recent Searches or Popular Searches widgets. This will match inside words,
|
830 |
so “press” will match “WordPress”.</label>
|
831 |
-
<textarea name="sm_filter_words" rows="3" cols="40" id="sm_filter_words" class="large-text code"><?php echo esc_html($options
|
832 |
</fieldset>
|
833 |
</td>
|
834 |
</tr>
|
835 |
<tr>
|
836 |
<th class="th-full" scope="row" colspan="2">
|
837 |
<label for="sm_details_verbose">
|
838 |
-
<input type="checkbox" id="sm_details_verbose" name="sm_details_verbose" <?php echo ($options
|
839 |
Keep detailed information about recent searches (taken from HTTP headers)
|
840 |
</label>
|
841 |
</th>
|
@@ -843,7 +794,7 @@ function tguy_sm_options_page() {
|
|
843 |
<tr>
|
844 |
<th class="th-full" scope="row" colspan="2">
|
845 |
<label for="sm_disable_donation">
|
846 |
-
<input type="checkbox" id="sm_disable_donation" name="sm_disable_donation" <?php echo ($options
|
847 |
Hide the “Do you find this plugin useful?” box
|
848 |
</label>
|
849 |
</th>
|
@@ -876,7 +827,7 @@ function tguy_sm_options_page() {
|
|
876 |
|
877 |
<p>For information and updates, see the <a href="http://www.thunderguy.com/semicolon/wordpress/search-meter-wordpress-plugin/">Search Meter home page</a>. At that page, you can also offer suggestions, request new features or report problems.</p>
|
878 |
|
879 |
-
<?php if (
|
880 |
|
881 |
</div>
|
882 |
<?php
|
3 |
Plugin Name: Search Meter
|
4 |
Plugin URI: http://www.thunderguy.com/semicolon/wordpress/search-meter-wordpress-plugin/
|
5 |
Description: Keeps track of what your visitors are searching for. After you have activated this plugin, you can check the Search Meter section in the Dashboard to see what your visitors are searching for on your blog.
|
6 |
+
Version: 2.7.2
|
7 |
Author: Bennett McElwee
|
8 |
Author URI: http://www.thunderguy.com/semicolon/
|
9 |
|
10 |
+
$Revision: 261343 $
|
11 |
|
12 |
|
13 |
INSTRUCTIONS
|
137 |
if ($wp_rewrite->using_permalinks()) {
|
138 |
$structure = $wp_rewrite->get_search_permastruct();
|
139 |
if (strpos($structure, '%search%') !== false) {
|
140 |
+
$relative_url = str_replace('%search%', rawurlencode($term), $structure);
|
141 |
}
|
142 |
}
|
143 |
if ( ! $relative_url) {
|
152 |
global $sm_escaped_filter_regex, $wpdb;
|
153 |
if ( ! isset($sm_escaped_filter_regex)) {
|
154 |
$options = get_option('tguy_search_meter');
|
155 |
+
$filter_words = tguy_sm_array_value($options, 'sm_filter_words');
|
156 |
+
if ($filter_words == '') {
|
157 |
+
$sm_escaped_filter_regex = '';
|
158 |
} else {
|
159 |
$filter_regex = str_replace(' ', '|', preg_quote($filter_words));
|
160 |
$wpdb->escape_by_ref($filter_regex);
|
188 |
|
189 |
// Widgets
|
190 |
|
191 |
+
add_action('widgets_init', 'tguy_sm_register_widgets');
|
192 |
+
function tguy_sm_register_widgets() {
|
193 |
+
register_widget('SM_Popular_Searches_Widget');
|
194 |
+
register_widget('SM_Recent_Searches_Widget');
|
195 |
+
}
|
196 |
+
|
197 |
+
class SM_Popular_Searches_Widget extends WP_Widget {
|
198 |
+
function SM_Popular_Searches_Widget() {
|
199 |
+
$widget_ops = array('classname' => 'widget_search_meter', 'description' => __( "A list of the most popular successful searches in the last month"));
|
200 |
+
$this->WP_Widget('popular_searches', __('Popular Searches'), $widget_ops);
|
201 |
}
|
202 |
|
203 |
+
function widget($args, $instance) {
|
204 |
+
extract($args);
|
205 |
+
$title = apply_filters('widget_title', empty($instance['popular-searches-title']) ? __('Popular Searches') : $instance['popular-searches-title']);
|
206 |
+
$count = (int) (empty($instance['popular-searches-number']) ? 5 : $instance['popular-searches-number']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
|
208 |
+
echo $before_widget;
|
209 |
+
if ($title) {
|
210 |
+
echo $before_title . $title . $after_title;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
}
|
212 |
+
sm_list_popular_searches('', '', sm_constrain_widget_search_count($count));
|
213 |
+
echo $after_widget;
|
214 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
|
216 |
+
function update($new_instance, $old_instance){
|
217 |
+
$instance = $old_instance;
|
218 |
+
$instance['popular-searches-title'] = strip_tags(stripslashes($new_instance['popular-searches-title']));
|
219 |
+
$instance['popular-searches-number'] = (int) ($new_instance['popular-searches-number']);
|
220 |
+
return $instance;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
}
|
222 |
+
|
223 |
+
function form($instance){
|
224 |
+
//Defaults
|
225 |
+
$instance = wp_parse_args((array) $instance, array('popular-searches-title' => 'Popular Searches', 'popular-searches-number' => 5));
|
226 |
+
|
227 |
+
$title = htmlspecialchars($instance['popular-searches-title']);
|
228 |
+
$count = htmlspecialchars($instance['popular-searches-number']);
|
229 |
+
|
230 |
+
# Output the options
|
231 |
+
echo '<p><label for="' . $this->get_field_name('popular-searches-title') . '">' . __('Title:') . ' <input class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('popular-searches-title') . '" type="text" value="' . $title . '" /></label></p>';
|
232 |
+
echo '<p><label for="' . $this->get_field_name('popular-searches-number') . '">' . __('Number of searches to show:') . ' <input id="' . $this->get_field_id('popular-searches-number') . '" name="' . $this->get_field_name('popular-searches-number') . '" type="text" value="' . $count . '" size="3" /></label></p>';
|
233 |
+
echo '<p><small>Powered by Search Meter</small></p>';
|
234 |
}
|
235 |
+
}
|
236 |
|
237 |
+
class SM_Recent_Searches_Widget extends WP_Widget {
|
238 |
+
function SM_Recent_Searches_Widget() {
|
239 |
+
$widget_ops = array('classname' => 'widget_search_meter', 'description' => __( "A list of the most recent successful searches on your blog"));
|
240 |
+
$this->WP_Widget('recent_searches', __('Recent Searches'), $widget_ops);
|
241 |
}
|
242 |
+
|
243 |
+
function widget($args, $instance) {
|
244 |
+
extract($args);
|
245 |
+
$title = apply_filters('widget_title', empty($instance['recent-searches-title']) ? __('Recent Searches') : $instance['recent-searches-title']);
|
246 |
+
$count = (int) (empty($instance['recent-searches-number']) ? 5 : $instance['recent-searches-number']);
|
247 |
+
|
248 |
+
echo $before_widget;
|
249 |
+
if ($title) {
|
250 |
+
echo $before_title . $title . $after_title;
|
251 |
}
|
252 |
+
sm_list_recent_searches('', '', sm_constrain_widget_search_count($count));
|
253 |
+
echo $after_widget;
|
|
|
|
|
|
|
|
|
|
|
254 |
}
|
255 |
+
|
256 |
+
function update($new_instance, $old_instance){
|
257 |
+
$instance = $old_instance;
|
258 |
+
$instance['recent-searches-title'] = strip_tags(stripslashes($new_instance['recent-searches-title']));
|
259 |
+
$instance['recent-searches-number'] = (int) ($new_instance['recent-searches-number']);
|
260 |
+
return $instance;
|
261 |
}
|
262 |
|
263 |
+
function form($instance){
|
264 |
+
//Defaults
|
265 |
+
$instance = wp_parse_args((array) $instance, array('recent-searches-title' => 'Recent Searches', 'recent-searches-number' => 5));
|
266 |
+
|
267 |
+
$title = htmlspecialchars($instance['recent-searches-title']);
|
268 |
+
$count = htmlspecialchars($instance['recent-searches-number']);
|
269 |
+
|
270 |
+
# Output the options
|
271 |
+
echo '<p><label for="' . $this->get_field_name('recent-searches-title') . '">' . __('Title:') . ' <input class="widefat" id="' . $this->get_field_id('title') . '" name="' . $this->get_field_name('recent-searches-title') . '" type="text" value="' . $title . '" /></label></p>';
|
272 |
+
echo '<p><label for="' . $this->get_field_name('recent-searches-number') . '">' . __('Number of searches to show:') . ' <input id="' . $this->get_field_id('recent-searches-number') . '" name="' . $this->get_field_name('recent-searches-number') . '" type="text" value="' . $count . '" size="3" /></label></p>';
|
273 |
+
echo '<p><small>Powered by Search Meter</small></p>';
|
|
|
|
|
274 |
}
|
275 |
}
|
276 |
|
415 |
|
416 |
function tguy_sm_add_admin_pages() {
|
417 |
$options = get_option('tguy_search_meter');
|
418 |
+
$view_stats_capability = tguy_sm_array_value($options, 'sm_view_stats_capability');
|
419 |
if ($view_stats_capability == '') {
|
420 |
$view_stats_capability = TGUY_SM_DEFAULT_VIEW_STATS_CAPABILITY;
|
421 |
}
|
423 |
add_options_page('Search Meter', 'Search Meter', TGUY_SM_OPTIONS_CAPABILITY, __FILE__, 'tguy_sm_options_page');
|
424 |
}
|
425 |
|
426 |
+
// This is here to avoid E_NOTICE when indexing nonexistent array keys. There's probably a better solution.
|
427 |
+
function tguy_sm_array_value(&$array, $key) {
|
428 |
+
return array_key_exists($key, $array) ? $array[$key] : null;
|
429 |
+
}
|
430 |
+
|
431 |
|
432 |
// Display information
|
433 |
|
486 |
}
|
487 |
|
488 |
function tguy_sm_stats_page() {
|
489 |
+
if (array_key_exists('recent', $_GET)) {
|
490 |
+
$recent_count = intval($_GET['recent']);
|
491 |
+
$do_show_details = array_key_exists('details', $_GET) && $_GET['details'];
|
492 |
tguy_sm_recent_page($recent_count, $do_show_details);
|
493 |
} else {
|
494 |
tguy_sm_summary_page();
|
734 |
echo '<div id="message" class="updated fade"><p><strong>Statistics have been reset.</strong></p></div>';
|
735 |
}
|
736 |
$options = get_option('tguy_search_meter');
|
737 |
+
$view_stats_capability = tguy_sm_array_value($options, 'sm_view_stats_capability');
|
738 |
if ($view_stats_capability == '') {
|
739 |
$view_stats_capability = TGUY_SM_DEFAULT_VIEW_STATS_CAPABILITY;
|
740 |
}
|
779 |
<label for="sm_filter_words">When a search term contains any of these words, it will be filtered
|
780 |
and will not show up in the Recent Searches or Popular Searches widgets. This will match inside words,
|
781 |
so “press” will match “WordPress”.</label>
|
782 |
+
<textarea name="sm_filter_words" rows="3" cols="40" id="sm_filter_words" class="large-text code"><?php echo esc_html(tguy_sm_array_value($options, 'sm_filter_words')); ?></textarea>
|
783 |
</fieldset>
|
784 |
</td>
|
785 |
</tr>
|
786 |
<tr>
|
787 |
<th class="th-full" scope="row" colspan="2">
|
788 |
<label for="sm_details_verbose">
|
789 |
+
<input type="checkbox" id="sm_details_verbose" name="sm_details_verbose" <?php echo (tguy_sm_array_value($options, 'sm_details_verbose') ? 'checked="checked"' : '') ?> />
|
790 |
Keep detailed information about recent searches (taken from HTTP headers)
|
791 |
</label>
|
792 |
</th>
|
794 |
<tr>
|
795 |
<th class="th-full" scope="row" colspan="2">
|
796 |
<label for="sm_disable_donation">
|
797 |
+
<input type="checkbox" id="sm_disable_donation" name="sm_disable_donation" <?php echo (tguy_sm_array_value($options, 'sm_disable_donation') ? 'checked="checked"' : '') ?> />
|
798 |
Hide the “Do you find this plugin useful?” box
|
799 |
</label>
|
800 |
</th>
|
827 |
|
828 |
<p>For information and updates, see the <a href="http://www.thunderguy.com/semicolon/wordpress/search-meter-wordpress-plugin/">Search Meter home page</a>. At that page, you can also offer suggestions, request new features or report problems.</p>
|
829 |
|
830 |
+
<?php if ( ! tguy_sm_array_value($options, 'sm_disable_donation')) { tguy_sm_show_donation_message(); } ?>
|
831 |
|
832 |
</div>
|
833 |
<?php
|