Version Description
- Switched to the new asynchronous javascript.
- Added tracking of category and author as custom variables.
- Fixed the bug that caused tweeting of updated posts.
- Some slight updates to the backend.
Download this release
Release Info
Developer | joostdevalk |
Plugin | Clicky by Yoast |
Version | 1.1 |
Comparing to | |
See all releases |
Code changes from version 1.0.6 to 1.1
- clicky.php +38 -12
- clicky-32x32.png → images/clicky-32x32.png +0 -0
- images/email_sub.png +0 -0
- images/rss.png +0 -0
- images/yoast-16x16.png +0 -0
- readme.txt +9 -3
- yst_plugin_tools.css +47 -5
- yst_plugin_tools.php +87 -27
clicky.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Clicky for WordPress
|
4 |
-
Version: 1.
|
5 |
Plugin URI: http://getclicky.com/goodies/#wordpress
|
6 |
Description: Integrates Clicky on your blog!
|
7 |
Author: Joost de Valk
|
@@ -95,7 +95,7 @@ if ( ! class_exists( 'Clicky_Admin' ) ) {
|
|
95 |
add_action('admin_print_styles', array(&$this,'config_page_styles'));
|
96 |
|
97 |
add_action('admin_menu', array(&$this,'meta_box'));
|
98 |
-
add_action('
|
99 |
|
100 |
$this->clicky_admin_warnings();
|
101 |
}
|
@@ -166,7 +166,7 @@ if ( ! class_exists( 'Clicky_Admin' ) ) {
|
|
166 |
}
|
167 |
?>
|
168 |
<div class="wrap">
|
169 |
-
<a href="http://getclicky.com/"><div id="clicky-icon" style="background: url(<?php echo plugins_url('',__FILE__); ?>/clicky-32x32.png) no-repeat;" class="icon32"><br /></div></a>
|
170 |
<h2>Clicky <?php _e("Configuration",'clicky'); ?></h2>
|
171 |
<div class="postbox-container" style="width:70%;">
|
172 |
<div class="metabox-holder">
|
@@ -397,11 +397,11 @@ function clicky_script() {
|
|
397 |
// Branding
|
398 |
?>
|
399 |
<!-- Clicky Web Analytics - http://getclicky.com, WordPress Plugin by Yoast - http://yoast.com -->
|
400 |
-
<?php
|
401 |
-
// Track commenter name if track_names is true
|
402 |
-
if( $options['track_names'] )
|
403 |
-
{ ?>
|
404 |
<script type='text/javascript'>
|
|
|
|
|
|
|
|
|
405 |
function clicky_gc( name ) {
|
406 |
var ca = document.cookie.split(';');
|
407 |
for( var i in ca ) {
|
@@ -410,9 +410,26 @@ function clicky_script() {
|
|
410 |
}
|
411 |
return '';
|
412 |
}
|
413 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
414 |
</script>
|
415 |
-
<?php
|
416 |
|
417 |
// Goal tracking
|
418 |
if (is_singular()) {
|
@@ -430,9 +447,18 @@ function clicky_script() {
|
|
430 |
|
431 |
// Display the script
|
432 |
?>
|
433 |
-
<script
|
434 |
-
|
435 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
436 |
<!-- End Clicky Tracking -->
|
437 |
<?php
|
438 |
}
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Clicky for WordPress
|
4 |
+
Version: 1.1
|
5 |
Plugin URI: http://getclicky.com/goodies/#wordpress
|
6 |
Description: Integrates Clicky on your blog!
|
7 |
Author: Joost de Valk
|
95 |
add_action('admin_print_styles', array(&$this,'config_page_styles'));
|
96 |
|
97 |
add_action('admin_menu', array(&$this,'meta_box'));
|
98 |
+
add_action('publish_post', array(&$this,'clicky_insert_post'));
|
99 |
|
100 |
$this->clicky_admin_warnings();
|
101 |
}
|
166 |
}
|
167 |
?>
|
168 |
<div class="wrap">
|
169 |
+
<a href="http://getclicky.com/"><div id="clicky-icon" style="background: url(<?php echo plugins_url('',__FILE__); ?>/images/clicky-32x32.png) no-repeat;" class="icon32"><br /></div></a>
|
170 |
<h2>Clicky <?php _e("Configuration",'clicky'); ?></h2>
|
171 |
<div class="postbox-container" style="width:70%;">
|
172 |
<div class="metabox-holder">
|
397 |
// Branding
|
398 |
?>
|
399 |
<!-- Clicky Web Analytics - http://getclicky.com, WordPress Plugin by Yoast - http://yoast.com -->
|
|
|
|
|
|
|
|
|
400 |
<script type='text/javascript'>
|
401 |
+
<?php
|
402 |
+
// Track commenter name if track_names is true
|
403 |
+
if( $options['track_names'] ) {
|
404 |
+
?>
|
405 |
function clicky_gc( name ) {
|
406 |
var ca = document.cookie.split(';');
|
407 |
for( var i in ca ) {
|
410 |
}
|
411 |
return '';
|
412 |
}
|
413 |
+
<?php
|
414 |
+
}
|
415 |
+
?>
|
416 |
+
var clicky_custom_session = {
|
417 |
+
<?php
|
418 |
+
if( $options['track_names'] ) {
|
419 |
+
?>
|
420 |
+
username: clicky_gc( 'comment_author_<?php echo md5( get_option("siteurl") ); ?>' ),
|
421 |
+
<?php
|
422 |
+
}
|
423 |
+
if ( is_single() ) {
|
424 |
+
?>
|
425 |
+
author: '<?php the_author(); ?>',
|
426 |
+
category: '<?php $cat = get_the_category(); echo $cat[0]->name; ?>'
|
427 |
+
<?php
|
428 |
+
}
|
429 |
+
?>
|
430 |
+
};
|
431 |
</script>
|
432 |
+
<?php
|
433 |
|
434 |
// Goal tracking
|
435 |
if (is_singular()) {
|
447 |
|
448 |
// Display the script
|
449 |
?>
|
450 |
+
<script type="text/javascript">
|
451 |
+
var clicky = { log: function(){ return; }, goal: function(){ return; }};
|
452 |
+
var clicky_site_id = <?php echo $options['site_id']; ?>;
|
453 |
+
(function() {
|
454 |
+
var s = document.createElement('script');
|
455 |
+
s.type = 'text/javascript';
|
456 |
+
s.async = true;
|
457 |
+
s.src = ( document.location.protocol == 'https:' ? 'https://static.getclicky.com' : 'http://static.getclicky.com' ) + '/js';
|
458 |
+
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
|
459 |
+
})();
|
460 |
+
</script>
|
461 |
+
<noscript><p><img alt="Clicky" width="1" height="1" src="http://in.getclicky.com/<?php echo $options['site_id']; ?>ns.gif" /></p></noscript>
|
462 |
<!-- End Clicky Tracking -->
|
463 |
<?php
|
464 |
}
|
clicky-32x32.png → images/clicky-32x32.png
RENAMED
File without changes
|
images/email_sub.png
ADDED
Binary file
|
images/rss.png
ADDED
Binary file
|
images/yoast-16x16.png
ADDED
Binary file
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: joostdevalk
|
|
3 |
Donate link: http://yoast.com/
|
4 |
Tags: analytics, statistics, clicky
|
5 |
Requires at least: 2.8
|
6 |
-
Tested up to:
|
7 |
-
Stable tag: 1.
|
8 |
|
9 |
Integrates the Clicky web analytics service and optionally the Clicky.me short URL service into your blog.
|
10 |
|
@@ -15,7 +15,7 @@ Integrates the Clicky web analytics service and optionally the Clicky.me short U
|
|
15 |
* Automatically adding your Clicky tracking code everywhere.
|
16 |
* Option to ignore admins.
|
17 |
* Option to store names of commenters.
|
18 |
-
* Option to track posts & pages as goals and assign a revenue to that page or post.
|
19 |
* An overview of your site's statistics on your dashboard.
|
20 |
* Integration with the [Clicky.me Short URL service](http://clicky.me/).
|
21 |
* Automatically create a short link for each now post and page.
|
@@ -33,6 +33,12 @@ Integrates the Clicky web analytics service and optionally the Clicky.me short U
|
|
33 |
|
34 |
== Changelog ==
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
= 1.0.6 =
|
37 |
* Auto-tweeting now only happens when a post is first published.
|
38 |
* Made sure there are no spaces in site ID, site key and admin site key are always trimmed.
|
3 |
Donate link: http://yoast.com/
|
4 |
Tags: analytics, statistics, clicky
|
5 |
Requires at least: 2.8
|
6 |
+
Tested up to: 3.0
|
7 |
+
Stable tag: 1.1
|
8 |
|
9 |
Integrates the Clicky web analytics service and optionally the Clicky.me short URL service into your blog.
|
10 |
|
15 |
* Automatically adding your Clicky tracking code everywhere.
|
16 |
* Option to ignore admins.
|
17 |
* Option to store names of commenters.
|
18 |
+
* Option to track posts & pages as goals and assign a revenue to that page or post.
|
19 |
* An overview of your site's statistics on your dashboard.
|
20 |
* Integration with the [Clicky.me Short URL service](http://clicky.me/).
|
21 |
* Automatically create a short link for each now post and page.
|
33 |
|
34 |
== Changelog ==
|
35 |
|
36 |
+
= 1.1 =
|
37 |
+
* Switched to the new asynchronous javascript.
|
38 |
+
* Added tracking of category and author as custom variables.
|
39 |
+
* Fixed the bug that caused tweeting of updated posts.
|
40 |
+
* Some slight updates to the backend.
|
41 |
+
|
42 |
= 1.0.6 =
|
43 |
* Auto-tweeting now only happens when a post is first published.
|
44 |
* Made sure there are no spaces in site ID, site key and admin site key are always trimmed.
|
yst_plugin_tools.css
CHANGED
@@ -1,8 +1,18 @@
|
|
1 |
-
|
2 |
-
font-weight:normal;
|
|
|
|
|
3 |
color:#777;
|
4 |
}
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
div.inside ul {
|
7 |
margin-left: 20px;
|
8 |
}
|
@@ -12,18 +22,50 @@ div.inside ul li {
|
|
12 |
line-height:16px;
|
13 |
}
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
div.inside ul li.rss {
|
16 |
-
list-style-image: url(
|
17 |
}
|
18 |
|
19 |
div.inside ul li.email {
|
20 |
-
list-style-image: url(
|
21 |
}
|
22 |
|
23 |
div.inside ul li.yoast {
|
24 |
-
list-style-image: url(
|
25 |
}
|
26 |
|
27 |
.text {
|
28 |
width: 250px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
1 |
+
td.yst_desc {
|
2 |
+
font-weight: normal;
|
3 |
+
font-size: 12px;
|
4 |
+
line-height: 12px;
|
5 |
color:#777;
|
6 |
}
|
7 |
|
8 |
+
tr.yst_row {
|
9 |
+
padding: 5px 0 0 0;
|
10 |
+
margin: 5px 0 0 0;
|
11 |
+
}
|
12 |
+
tr.yst_row.even {
|
13 |
+
background-color: #f6f6f6;
|
14 |
+
}
|
15 |
+
|
16 |
div.inside ul {
|
17 |
margin-left: 20px;
|
18 |
}
|
22 |
line-height:16px;
|
23 |
}
|
24 |
|
25 |
+
div.inside a, div.inside a.rsswidget {
|
26 |
+
font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;
|
27 |
+
text-decoration: none;
|
28 |
+
}
|
29 |
+
div.inside a:hover, div.inside a.rsswidget:hover {
|
30 |
+
text-decoration: underline;
|
31 |
+
}
|
32 |
div.inside ul li.rss {
|
33 |
+
list-style-image: url(images/rss.png);
|
34 |
}
|
35 |
|
36 |
div.inside ul li.email {
|
37 |
+
list-style-image: url(images/email_sub.png);
|
38 |
}
|
39 |
|
40 |
div.inside ul li.yoast {
|
41 |
+
list-style-image: url(images/yoast-16x16.png);
|
42 |
}
|
43 |
|
44 |
.text {
|
45 |
width: 250px;
|
46 |
+
}
|
47 |
+
|
48 |
+
.postbox p {
|
49 |
+
text-align:left;
|
50 |
+
margin: 0 10px 10px 10px;
|
51 |
+
font-size: 13px;
|
52 |
+
line-height: 150%;
|
53 |
+
}
|
54 |
+
|
55 |
+
.postbox pre {
|
56 |
+
margin: 5px 10px;
|
57 |
+
padding:4px;
|
58 |
+
background: lightyellow;
|
59 |
+
}
|
60 |
+
|
61 |
+
.side .postbox p, .side .postbox a, .side .postbox a.rsswidget {
|
62 |
+
font-size: 11px;
|
63 |
+
}
|
64 |
+
|
65 |
+
div.inside .button:hover, div.inside .button-primary:hover {
|
66 |
+
text-decoration: none;
|
67 |
+
}
|
68 |
+
|
69 |
+
.button, .button-primary {
|
70 |
+
margin-top: 10px;
|
71 |
}
|
yst_plugin_tools.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* Backend Class for use in all Yoast plugins
|
5 |
* Version 0.2
|
6 |
*/
|
7 |
|
@@ -15,19 +15,18 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
15 |
var $ozhicon = '';
|
16 |
var $optionname = '';
|
17 |
var $homepage = '';
|
|
|
18 |
var $accesslvl = 'manage_options';
|
19 |
-
var $feed = '';
|
20 |
|
21 |
-
function
|
22 |
add_action( 'admin_menu', array(&$this, 'register_settings_page') );
|
23 |
-
|
24 |
add_filter( 'plugin_action_links', array(&$this, 'add_action_link'), 10, 2 );
|
25 |
add_filter( 'ozh_adminmenu_icon', array(&$this, 'add_ozh_adminmenu_icon' ) );
|
26 |
|
27 |
-
add_action(
|
28 |
-
add_action(
|
29 |
|
30 |
-
add_action('wp_dashboard_setup', array(&$this,'widget_setup')
|
31 |
}
|
32 |
|
33 |
function add_ozh_adminmenu_icon( $hook ) {
|
@@ -42,7 +41,7 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
42 |
wp_enqueue_style('thickbox');
|
43 |
wp_enqueue_style('global');
|
44 |
wp_enqueue_style('wp-admin');
|
45 |
-
wp_enqueue_style('
|
46 |
}
|
47 |
}
|
48 |
|
@@ -61,7 +60,7 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
61 |
static $this_plugin;
|
62 |
if( empty($this_plugin) ) $this_plugin = $this->filename;
|
63 |
if ( $file == $this_plugin ) {
|
64 |
-
$settings_link = '<a href="' . $this->plugin_options_url() . '">' . __('Settings'
|
65 |
array_unshift( $links, $settings_link );
|
66 |
}
|
67 |
return $links;
|
@@ -75,6 +74,8 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
75 |
if (isset($_GET['page']) && $_GET['page'] == $this->hook) {
|
76 |
wp_enqueue_script('postbox');
|
77 |
wp_enqueue_script('dashboard');
|
|
|
|
|
78 |
}
|
79 |
}
|
80 |
|
@@ -107,6 +108,7 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
107 |
</div>
|
108 |
</div>
|
109 |
<?php
|
|
|
110 |
}
|
111 |
|
112 |
|
@@ -115,17 +117,28 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
115 |
*/
|
116 |
function form_table($rows) {
|
117 |
$content = '<table class="form-table">';
|
|
|
118 |
foreach ($rows as $row) {
|
119 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
if (isset($row['id']) && $row['id'] != '')
|
121 |
$content .= '<label for="'.$row['id'].'">'.$row['label'].':</label>';
|
122 |
else
|
123 |
$content .= $row['label'];
|
124 |
-
if (isset($row['desc']) && $row['desc'] != '')
|
125 |
-
$content .= '<br/><small>'.$row['desc'].'</small>';
|
126 |
$content .= '</th><td valign="top">';
|
127 |
$content .= $row['content'];
|
128 |
$content .= '</td></tr>';
|
|
|
|
|
|
|
|
|
|
|
129 |
}
|
130 |
$content .= '</table>';
|
131 |
return $content;
|
@@ -134,28 +147,34 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
134 |
/**
|
135 |
* Create a "plugin like" box.
|
136 |
*/
|
137 |
-
function plugin_like() {
|
138 |
-
|
|
|
|
|
|
|
139 |
$content .= '<ul>';
|
140 |
-
$content .= '<li><a href="'.$this->homepage.'">'.__('Link to it so other folks can find out about it.','
|
141 |
-
$content .= '<li><a href="http://wordpress.org/extend/plugins/'.$
|
142 |
-
$content .= '<li><a href="
|
143 |
$content .= '</ul>';
|
144 |
-
$this->postbox($
|
145 |
}
|
146 |
|
147 |
/**
|
148 |
-
* Info box with link to the
|
149 |
*/
|
150 |
-
function plugin_support() {
|
151 |
-
|
152 |
-
|
|
|
|
|
|
|
153 |
}
|
154 |
|
155 |
/**
|
156 |
-
* Box with latest news from
|
157 |
*/
|
158 |
-
function news() {
|
159 |
require_once(ABSPATH.WPINC.'/rss.php');
|
160 |
if ( $rss = fetch_rss( $this->feed ) ) {
|
161 |
$content = '<ul>';
|
@@ -165,10 +184,11 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
165 |
$content .= '<a class="rsswidget" href="'.clean_url( $item['link'], $protocolls=null, 'display' ).'">'. htmlentities($item['title']) .'</a> ';
|
166 |
$content .= '</li>';
|
167 |
}
|
168 |
-
$content .= '<li class="rss"><a href="
|
169 |
-
$
|
|
|
170 |
} else {
|
171 |
-
$this->postbox('
|
172 |
}
|
173 |
}
|
174 |
|
@@ -180,6 +200,46 @@ if (!class_exists('Clicky_Base_Plugin_Admin')) {
|
|
180 |
}
|
181 |
return $text;
|
182 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
183 |
}
|
184 |
}
|
185 |
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* Backend Class for use in all Yoast plugins
|
5 |
* Version 0.2
|
6 |
*/
|
7 |
|
15 |
var $ozhicon = '';
|
16 |
var $optionname = '';
|
17 |
var $homepage = '';
|
18 |
+
var $feed = 'http://getclicky.com/blog/rss';
|
19 |
var $accesslvl = 'manage_options';
|
|
|
20 |
|
21 |
+
function Yoast_Plugin_Admin() {
|
22 |
add_action( 'admin_menu', array(&$this, 'register_settings_page') );
|
|
|
23 |
add_filter( 'plugin_action_links', array(&$this, 'add_action_link'), 10, 2 );
|
24 |
add_filter( 'ozh_adminmenu_icon', array(&$this, 'add_ozh_adminmenu_icon' ) );
|
25 |
|
26 |
+
add_action('admin_print_scripts', array(&$this,'config_page_scripts'));
|
27 |
+
add_action('admin_print_styles', array(&$this,'config_page_styles'));
|
28 |
|
29 |
+
add_action('wp_dashboard_setup', array(&$this,'widget_setup'));
|
30 |
}
|
31 |
|
32 |
function add_ozh_adminmenu_icon( $hook ) {
|
41 |
wp_enqueue_style('thickbox');
|
42 |
wp_enqueue_style('global');
|
43 |
wp_enqueue_style('wp-admin');
|
44 |
+
wp_enqueue_style('blogicons-admin-css', WP_CONTENT_URL . '/plugins/' . plugin_basename(dirname(__FILE__)). '/yst_plugin_tools.css');
|
45 |
}
|
46 |
}
|
47 |
|
60 |
static $this_plugin;
|
61 |
if( empty($this_plugin) ) $this_plugin = $this->filename;
|
62 |
if ( $file == $this_plugin ) {
|
63 |
+
$settings_link = '<a href="' . $this->plugin_options_url() . '">' . __('Settings') . '</a>';
|
64 |
array_unshift( $links, $settings_link );
|
65 |
}
|
66 |
return $links;
|
74 |
if (isset($_GET['page']) && $_GET['page'] == $this->hook) {
|
75 |
wp_enqueue_script('postbox');
|
76 |
wp_enqueue_script('dashboard');
|
77 |
+
wp_enqueue_script('thickbox');
|
78 |
+
wp_enqueue_script('media-upload');
|
79 |
}
|
80 |
}
|
81 |
|
108 |
</div>
|
109 |
</div>
|
110 |
<?php
|
111 |
+
$this->toc .= '<li><a href="#'.$id.'">'.$title.'</a></li>';
|
112 |
}
|
113 |
|
114 |
|
117 |
*/
|
118 |
function form_table($rows) {
|
119 |
$content = '<table class="form-table">';
|
120 |
+
$i = 1;
|
121 |
foreach ($rows as $row) {
|
122 |
+
$class = '';
|
123 |
+
if ($i > 1) {
|
124 |
+
$class .= 'yst_row';
|
125 |
+
}
|
126 |
+
if ($i % 2 == 0) {
|
127 |
+
$class .= ' even';
|
128 |
+
}
|
129 |
+
$content .= '<tr class="'.$row['id'].'_row '.$class.'"><th valign="top" scrope="row">';
|
130 |
if (isset($row['id']) && $row['id'] != '')
|
131 |
$content .= '<label for="'.$row['id'].'">'.$row['label'].':</label>';
|
132 |
else
|
133 |
$content .= $row['label'];
|
|
|
|
|
134 |
$content .= '</th><td valign="top">';
|
135 |
$content .= $row['content'];
|
136 |
$content .= '</td></tr>';
|
137 |
+
if ( isset($row['desc']) && !empty($row['desc']) ) {
|
138 |
+
$content .= '<tr class="'.$row['id'].'_row '.$class.'"><td colspan="2" class="yst_desc"><small>'.$row['desc'].'</small></td></tr>';
|
139 |
+
}
|
140 |
+
|
141 |
+
$i++;
|
142 |
}
|
143 |
$content .= '</table>';
|
144 |
return $content;
|
147 |
/**
|
148 |
* Create a "plugin like" box.
|
149 |
*/
|
150 |
+
function plugin_like($hook = '') {
|
151 |
+
if (empty($hook)) {
|
152 |
+
$hook = $this->hook;
|
153 |
+
}
|
154 |
+
$content = '<p>'.__('Why not do any or all of the following:','ystplugin').'</p>';
|
155 |
$content .= '<ul>';
|
156 |
+
$content .= '<li><a href="'.$this->homepage.'">'.__('Link to it so other folks can find out about it.','ystplugin').'</a></li>';
|
157 |
+
$content .= '<li><a href="http://wordpress.org/extend/plugins/'.$hook.'/">'.__('Give it a good rating on WordPress.org.','ystplugin').'</a></li>';
|
158 |
+
$content .= '<li><a href="http://wordpress.org/extend/plugins/'.$hook.'/">'.__('Let other people know that it works with your WordPress setup.','ystplugin').'</a></li>';
|
159 |
$content .= '</ul>';
|
160 |
+
$this->postbox($hook.'like', 'Like this plugin?', $content);
|
161 |
}
|
162 |
|
163 |
/**
|
164 |
+
* Info box with link to the bug tracker.
|
165 |
*/
|
166 |
+
function plugin_support($hook = '') {
|
167 |
+
if (empty($hook)) {
|
168 |
+
$hook = $this->hook;
|
169 |
+
}
|
170 |
+
$content = '<p>If you\'ve found a bug in this plugin, please submit it in the <a href="http://yoast.com/mantis/bug_report_page.php">Yoast Bug Tracker</a> with a clear description.</p>';
|
171 |
+
$this->postbox($this->hook.'support', __('Found a bug?','ystplugin'), $content);
|
172 |
}
|
173 |
|
174 |
/**
|
175 |
+
* Box with latest news from GetClicky
|
176 |
*/
|
177 |
+
function news( ) {
|
178 |
require_once(ABSPATH.WPINC.'/rss.php');
|
179 |
if ( $rss = fetch_rss( $this->feed ) ) {
|
180 |
$content = '<ul>';
|
184 |
$content .= '<a class="rsswidget" href="'.clean_url( $item['link'], $protocolls=null, 'display' ).'">'. htmlentities($item['title']) .'</a> ';
|
185 |
$content .= '</li>';
|
186 |
}
|
187 |
+
$content .= '<li class="rss"><a href="http://yoast.com/feed/">Subscribe with RSS</a></li>';
|
188 |
+
$content .= '<li class="email"><a href="http://yoast.com/email-blog-updates/">Subscribe by email</a></li>';
|
189 |
+
$this->postbox('yoastlatest', 'Latest news from Clicky', $content);
|
190 |
} else {
|
191 |
+
$this->postbox('yoastlatest', 'Latest news from Clicky', 'Nothing to say...');
|
192 |
}
|
193 |
}
|
194 |
|
200 |
}
|
201 |
return $text;
|
202 |
}
|
203 |
+
|
204 |
+
function db_widget() {
|
205 |
+
$options = get_option('yoastdbwidget');
|
206 |
+
if (isset($_POST['yoast_removedbwidget'])) {
|
207 |
+
$options['removedbwidget'] = true;
|
208 |
+
update_option('yoastdbwidget',$options);
|
209 |
+
}
|
210 |
+
if ($options['removedbwidget']) {
|
211 |
+
echo "If you reload, this widget will be gone and never appear again, unless you decide to delete the database option 'yoastdbwidget'.";
|
212 |
+
return;
|
213 |
+
}
|
214 |
+
require_once(ABSPATH.WPINC.'/rss.php');
|
215 |
+
if ( $rss = fetch_rss( 'http://yoast.com/feed/' ) ) {
|
216 |
+
echo '<div class="rss-widget">';
|
217 |
+
echo '<a href="http://yoast.com/" title="Go to Yoast.com"><img src="http://netdna.yoast.com/yoast-logo-rss.png" class="alignright" alt="Yoast"/></a>';
|
218 |
+
echo '<ul>';
|
219 |
+
$rss->items = array_slice( $rss->items, 0, 3 );
|
220 |
+
foreach ( (array) $rss->items as $item ) {
|
221 |
+
echo '<li>';
|
222 |
+
echo '<a class="rsswidget" href="'.clean_url( $item['link'], $protocolls=null, 'display' ).'">'. htmlentities($item['title']) .'</a> ';
|
223 |
+
echo '<span class="rss-date">'. date('F j, Y', strtotime($item['pubdate'])) .'</span>';
|
224 |
+
echo '<div class="rssSummary">'. $this->text_limit($item['summary'],250) .'</div>';
|
225 |
+
echo '</li>';
|
226 |
+
}
|
227 |
+
echo '</ul>';
|
228 |
+
echo '<div style="border-top: 1px solid #ddd; padding-top: 10px; text-align:center;">';
|
229 |
+
echo '<a href="http://feeds2.feedburner.com/joostdevalk"><img src="'.get_bloginfo('wpurl').'/wp-includes/images/rss.png" alt=""/> Subscribe with RSS</a>';
|
230 |
+
echo ' ';
|
231 |
+
echo '<a href="http://yoast.com/email-blog-updates/"><img src="http://netdna.yoast.com/email_sub.png" alt=""/> Subscribe by email</a>';
|
232 |
+
echo '<form class="alignright" method="post"><input type="hidden" name="yoast_removedbwidget" value="true"/><input title="Remove this widget from all users dashboards" type="submit" value="X"/></form>';
|
233 |
+
echo '</div>';
|
234 |
+
echo '</div>';
|
235 |
+
}
|
236 |
+
}
|
237 |
+
|
238 |
+
function widget_setup() {
|
239 |
+
$options = get_option('yoastdbwidget');
|
240 |
+
if (!$options['removedbwidget'])
|
241 |
+
wp_add_dashboard_widget( 'yoast_db_widget' , 'The Latest news from Yoast' , array(&$this, 'db_widget'));
|
242 |
+
}
|
243 |
}
|
244 |
}
|
245 |
|