request( $query );
return $result['body'];
}
function sb_stats($link) {
if ($link=='') {
return;
}
$url=esc_attr(get_option('ab_yourls_url'));
if (substr($url,'-1')!='/') {
$url.='/';
}
$key=esc_attr(get_option('ab_yourls_token'));
$link=urlencode($link);
$request = new WP_Http;
$query=$url."yourls-api.php?action=url-stats&signature=".$key."&format=json&shorturl=$link";
$result = $request->request( $query );
return $result['body'];
}
add_filter('manage_adsbenedict_posts_columns', 'adsbenedict_show_yourls');
function adsbenedict_show_yourls($columns) {
$columns['ab_performance'] = 'Ad Performance';
return $columns;
}
add_filter('manage_posts_custom_column', 'adsbenedict_show_yourls_data');
function adsbenedict_show_yourls_data($name) {
global $post;
switch($name) {
case 'ab_performance':
$url=get_post_meta($post->ID,'ab_yourls_img',true);
$stats=json_decode(sb_stats($url),true);
$impressions=$stats['link']['clicks'];
$url=get_post_meta($post->ID,'ab_yourls_link',true);
if ( false === ( $stats = get_transient( "ads_benedict_ad_performance_$post->ID" ) ) ) {
//$adids=new WP_Query($args);
$stats=json_decode(sb_stats($url),true);
set_transient( "ads_benedict_ad_performance_$post->ID" , $stats, HOUR_IN_SECONDS );
}
$clicks=$stats['link']['clicks'];
if ($impressions > 0 AND $clicks > 0 ) {
echo "$impressions impressions
$clicks clicks";
$ratio=round($clicks/$impressions,2);
echo "
$ratio % click-through";
} else {
echo "not enough data gathered yet";
}
break;
}
}