post_type == 'adverts_posts') return true; return false; } // Check for capabilities and throw error if doesn't exist. function akp_admin_notice() { if (!current_user_can('akp_edit_one')) { ?>

Ad King Pro Please deactivate and reactivate the plugin to add these.", 'akptext' ); ?>

array( 'name' => __( 'Adverts', 'akptext' ), 'singular_name' => __( 'Advert', 'akptext' ), 'all_items' => __( 'All Adverts', 'akptext' ), 'edit_item' => __( 'Edit Advert', 'akptext' ), 'update_item' => __( 'Update Advert', 'akptext' ), 'add_new_item' => __( 'Add New Advert', 'akptext' ), 'new_item_name' => __( 'New Advert', 'akptext' ), 'menu_name' => _x( 'Adverts', 'admin menu', 'akptext' ), 'name_admin_bar' => _x( 'Advert', 'add new on admin bar', 'akptext' ), 'add_new' => _x( 'Add New', 'advert', 'akptext' ), 'new_item' => __( 'New Advert', 'akptext' ), 'view_item' => __( 'View Advert', 'akptext' ), 'search_items' => __( 'Search Adverts', 'akptext' ), 'parent_item_colon' => __( 'Parent Adverts:', 'akptext' ), 'not_found' => __( 'No adverts found.', 'akptext' ), 'not_found_in_trash' => __( 'No adverts found in Trash.', 'akptext' ), ), 'capabilities' => array( 'publish_posts' => $cap, 'edit_posts' => $cap, 'edit_others_posts' => $cap, 'delete_posts' => $cap, 'delete_others_posts' => $cap, 'read_private_posts' => $cap, 'edit_post' => $cap, 'delete_post' => $cap, 'read_post' => $cap, ), 'public' => true, 'exclude_from_search' => true, 'menu_position' => 5, 'supports' => array( 'title', 'thumbnail' ) ) ); register_taxonomy( 'advert_types', 'adverts_posts', array( 'hierarchical' => true, 'labels' => array( 'name'=>__('Advert Types', 'akptext' ), 'singular_name'=>__('Advert Type', 'akptext' ), 'all_items'=>__('All Advert Types', 'akptext' ), 'edit_item'=>__('Edit Advert Type', 'akptext' ), 'update_item'=>__('Update Advert Type', 'akptext' ), 'add_new_item'=>__('Add New Advert Type', 'akptext' ), 'new_item_name'=>__('New Advert Type', 'akptext' ), 'search_items'=>__('Search Advert Types', 'akptext' ), ), 'query_var' => true, 'rewrite' => array('slug' => 'adverts_slug') ) ); } add_action( 'init', 'akp_create_post_type' ); // Styling for the custom post type icon function wpt_akp_icons() { ?> admin_url( 'admin-ajax.php' ), 'ajaxnonce' => wp_create_nonce( 'akpN0nc3' ), ) ); wp_enqueue_style('akp-dynamic-css', admin_url('admin-ajax.php').'?action=akp_dynamic_css'); } add_action('wp_enqueue_scripts', 'akp_my_scripts_method'); //function akp_dynaminc_css() { // echo plugins_url('/css/dynamic.css.php', dirname(__FILE__)); // require(plugins_url('/css/dynamic.css.php', dirname(__FILE__))); // exit; //} //add_action('wp_ajax_akp_dynamic_css', 'akp_dynaminc_css'); //add_action('wp_ajax_nopriv_akp_dynamic_css', 'akp_dynaminc_css'); function akp_dynamic_css() { ?> term_id; $cat_meta = get_option( "akp_advert_type_$t_id"); ?>

/>
'adverts_posts', 'numberposts' => -1, 'output' => 'object', ) ); foreach ( $adverts as $advert ) { $attachments =& get_children(array('post_type'=>'attachment', 'post_mimi_type'=>'image', 'post_parent'=>$advert->ID)); foreach ($attachments as $attachment) { $fullsizepath = get_attached_file( $attachment->ID ); if ( FALSE !== $fullsizepath && @file_exists($fullsizepath) ) { set_time_limit( 30 ); $metadata = array(); if ( preg_match('!^image/!', get_post_mime_type( $attachment )) && file_is_displayable_image($fullsizepath) ) { $imagesize = getimagesize( $fullsizepath ); $metadata['width'] = $imagesize[0]; $metadata['height'] = $imagesize[1]; list($uwidth, $uheight) = wp_constrain_dimensions($metadata['width'], $metadata['height'], 128, 96); $metadata['hwstring_small'] = "height='$uheight' width='$uwidth'"; // Make the file path relative to the upload dir $metadata['file'] = _wp_relative_upload_path($fullsizepath); $intermediate_size = image_make_intermediate_size( $fullsizepath, $term_meta['advert_width'], $term_meta['advert_height'], $term_meta['advert_crop'] ); if ($intermediate_size) $metadata['sizes']['akp_'.$t_id] = $intermediate_size; // fetch additional metadata from exif/iptc $image_meta = wp_read_image_metadata( $fullsizepath ); if ( $image_meta ) $metadata['image_meta'] = $image_meta; } wp_update_attachment_metadata( $attachment->ID, apply_filters( 'wp_generate_attachment_metadata', $metadata, $attachment->ID ) ); } } } return; } } add_action( 'edited_advert_types', 'akp_save_extra_advert_types_fields', 10, 2); function akp_image_sizes() { if ( function_exists( 'add_image_size' ) ) { $sizes = get_option('akp_image_sizes'); if (!empty($sizes)) : foreach ($sizes as $image_name => $dimensions) { if ($dimensions['crop'] == '1') $crop = true; else $crop = false; add_image_size( $image_name, $dimensions['width'], $dimensions['width'], $crop); } endif; } } add_action( 'init', 'akp_image_sizes' ); // Update title field to become URL field function akp_title_text_input( $title ){ global $post; if($post->post_type == 'adverts_posts') return $title = __('Advert URL ie http://kingpro.me/plugins/ad-king-pro', 'akptext'); return $title; } add_filter( 'enter_title_here', 'akp_title_text_input' ); // Update Feature Image to become Advert Image function akp_change_meta_boxes() { add_meta_box('akpshortcode', __('Ad King Pro Shortcode Builder', 'akptext'), 'akp_shortcode', 'adverts_posts', 'normal', 'high'); add_filter( "postbox_classes_adverts_posts_akpshortcode", 'minify_akpshortcode' ); add_meta_box('akpmediatype', __('Media Type', 'akptext'), 'akp_media_type', 'adverts_posts', 'normal', 'high'); remove_meta_box( 'postimagediv', 'adverts_posts', 'side' ); if (current_theme_supports('post-thumbnails')) { add_meta_box('postimagediv', __('Advert Image', 'akptext'), 'post_thumbnail_meta_box', 'adverts_posts', 'normal', 'high'); add_meta_box('akpimageattrbox', __('Advert Image Attributes', 'akptext'), 'akp_image_attrs_box', 'adverts_posts', 'normal', 'high'); } else add_meta_box('akpimagebox', __('Advert Image', 'akptext'), 'akp_image_box', 'adverts_posts', 'normal', 'high'); add_meta_box('akpflashbox', __('Advert Flash File', 'akptext'), 'akp_flash_box', 'adverts_posts', 'normal', 'high'); add_meta_box('akphtml5box', __('Advert HTML5 File', 'akptext'), 'akp_html5_box', 'adverts_posts', 'normal', 'high'); add_meta_box('akpadsensebox', __('Advert AdSense Code', 'akptext'), 'akp_adsense_box', 'adverts_posts', 'normal', 'high'); add_meta_box('akptextbox', __('Advert Text', 'akptext'), 'akp_text_box', 'adverts_posts', 'normal', 'high'); add_meta_box('akpgaintergration', __('Google Analytics Event Values', 'akptext'), 'akp_ga_intergration', 'adverts_posts', 'normal', 'high'); add_meta_box('postclickstatsdiv', __('Advert Stats', 'akptext'), 'akp_post_click_stats', 'adverts_posts', 'advanced', 'low'); add_meta_box('revenuevaluesdiv', __('Advert Revenue', 'akptext'), 'akp_revenue_values', 'adverts_posts', 'side', 'low'); add_meta_box('linkoptionsdiv', __('Link Options', 'akptext'), 'akp_link_options', 'adverts_posts', 'side', 'low'); } add_action('do_meta_boxes', 'akp_change_meta_boxes'); add_action( 'post_submitbox_misc_actions', 'expiry_in_publish' ); function expiry_in_publish($post) { global $post; if (get_post_type($post) == 'adverts_posts') { $expiry = (get_post_meta($post->ID, 'akp_expiry_date', true)) ? get_post_meta($post->ID, 'akp_expiry_date', true) : 'never'; if ($expiry !== 'never') { $expiry_m = date('m', $expiry); $expiry_d = date('d', $expiry); $expiry_y = date('Y', $expiry); $expiry_h = date('H', $expiry); $expiry_i = date('i', $expiry); $expiry_output = date('M j, Y @ G:i', $expiry); $expiry_value = date('Y-m-d G:i:s', $expiry); } else { $expiry_output = 'Never'; $expiry_value = $expiry; $expiry_m = date('m', current_time('timestamp')); $expiry_d = date('d', current_time('timestamp')); $expiry_y = date('Y', current_time('timestamp')); $expiry_h = date('H', current_time('timestamp')); $expiry_i = date('i', current_time('timestamp')); } echo '
'.__('Expire on', 'akptext').': '.$expiry_output.' '.__('Edit', 'akptext').'
, @ :

'.__('OK', 'akptext').' '.__('Cancel', 'akptext').' '.__('Set to Never', 'akptext').'

'; } } // Display example shortcode function akp_shortcode($object, $box) { global $wpdb, $post; ?>
[adkingpro]
$campaign, 'banner'=>$banner, 'implemented'=>$ga_implemented, 'imp_action'=>$ga_imp_action, 'click_action'=>$ga_click_action); } // GA Intergration fields function akp_ga_intergration($object, $box) { global $wpdb, $post; $ga_data = akp_ga_data($post->ID); echo ''; echo '

'; echo ''; echo '

'; echo '

Below is what will be used to input data into your Google Analytics account for the events:

'; echo ''; if ($ga_data['implemented'] == 'classic') echo "
_gaq.push(['_trackEvent','".$ga_data['campaign']."','".$ga_data['imp_action']."', '".$ga_data['banner']."']);

"; elseif ($ga_data['implemented'] == 'universal') echo "
ga('send', 'event', '".$ga_data['campaign']."', '".$ga_data['imp_action']."', '".$ga_data['banner']."');

"; echo ''; if ($ga_data['implemented'] == 'classic') echo "
_gaq.push(['_trackEvent','".$ga_data['campaign']."','".$ga_data['click_action']."', '".$ga_data['banner']."']);

"; elseif ($ga_data['implemented'] == 'universal') echo "
ga('send', 'event', '".$ga_data['campaign']."', '".$ga_data['click_action']."', '".$ga_data['banner']."');

"; } function minify_akpshortcode( $classes ) { array_push( $classes, 'closed' ); return $classes; } // Selection of media type function akp_media_type($object, $box) { global $wpdb, $post; $media_type = (get_post_meta( $post->ID, 'akp_media_type', true )) ? get_post_meta( $post->ID, 'akp_media_type', true ) : get_option('akp_default_media_type', 'image'); $html5 = ($media_type == 'html5') ? ' selected' : ''; $flash = ($media_type == 'flash') ? ' selected' : ''; $adsense = ($media_type == 'adsense') ? ' selected' : ''; $text = ($media_type == 'text') ? ' selected' : ''; echo ""; } function akp_image_box($object, $box) { global $post; $image_url = (get_post_meta( $post->ID, 'akp_image_url', true )) ? get_post_meta( $post->ID, 'akp_image_url', true ) : ''; $image_alt = (get_post_meta( $post->ID, 'akp_image_alt', true )) ? get_post_meta( $post->ID, 'akp_image_alt', true ) : ''; echo '

'; echo ''; echo '
'; echo '

'; } function akp_image_attrs_box($object, $box) { global $post; $image_alt = (get_post_meta( $post->ID, 'akp_image_alt', true )) ? get_post_meta( $post->ID, 'akp_image_alt', true ) : ''; echo ''; echo '
'; echo '

'; } function akp_html5_box($object, $box) { global $post; $html5_url = (get_post_meta( $post->ID, 'akp_html5_url', true )) ? get_post_meta( $post->ID, 'akp_html5_url', true ) : ''; $html5_width = (get_post_meta( $post->ID, 'akp_html5_width', true )) ? get_post_meta( $post->ID, 'akp_html5_width', true ) : ''; $html5_height = (get_post_meta( $post->ID, 'akp_html5_height', true )) ? get_post_meta( $post->ID, 'akp_html5_height', true ) : ''; echo '

'; echo '
'; echo '
'; } function akp_flash_box($object, $box) { global $post; $flash_url = (get_post_meta( $post->ID, 'akp_flash_url', true )) ? get_post_meta( $post->ID, 'akp_flash_url', true ) : ''; $flash_width = (get_post_meta( $post->ID, 'akp_flash_width', true )) ? get_post_meta( $post->ID, 'akp_flash_width', true ) : ''; $flash_height = (get_post_meta( $post->ID, 'akp_flash_height', true )) ? get_post_meta( $post->ID, 'akp_flash_height', true ) : ''; echo '

'; echo '
'; echo '
'; } function akp_adsense_box($object, $box) { global $post; $adsense_code = (get_post_meta( $post->ID, 'akp_adsense_code', true )) ? get_post_meta( $post->ID, 'akp_adsense_code', true ) : ''; echo ''; echo '

'; echo '
'.__('Please note that only impressions are tracked for these ads as the clicks are registers via AdSense', 'akptext').''; } function akp_text_box($object, $box) { global $post; $text = (get_post_meta( $post->ID, 'akp_text', true )) ? get_post_meta( $post->ID, 'akp_text', true ) : ''; echo ''; echo '

'; } // Output stats for post function akp_post_click_stats($object, $box) { global $wpdb, $post; $clicks = $wpdb->get_results("SELECT COUNT(*) as clicks FROM ".$wpdb->prefix."akp_click_log WHERE post_id = '$object->ID'"); echo __("This banner has had ", 'akptext').$clicks[0]->clicks.__(" since being published.", 'akptext')." ".__("View Detailed Report", 'akptext').""; echo '

'.__("Reset Tracking Data", 'akptext').''; } function akpresetdata_admin_action() { global $wpdb; $post_id = $_GET['post']; $wpdb->query( $wpdb->prepare( "DELETE FROM ".$wpdb->prefix."akp_impressions_expire WHERE post_id = %d ", $post_id ) ); $wpdb->query( $wpdb->prepare( "DELETE FROM ".$wpdb->prefix."akp_impressions_log WHERE post_id = %d ", $post_id ) ); $wpdb->query( $wpdb->prepare( "DELETE FROM ".$wpdb->prefix."akp_click_expire WHERE post_id = %d ", $post_id ) ); $wpdb->query( $wpdb->prepare( "DELETE FROM ".$wpdb->prefix."akp_click_log WHERE post_id = %d ", $post_id ) ); header("Location: ".$_SERVER['HTTP_REFERER']); } add_action( 'admin_action_akpresetdata', 'akpresetdata_admin_action' ); // Add checkbox to remove URL Link off advert function akp_revenue_values($object, $box) { global $post; $revenue_impression = (get_post_meta( $post->ID, 'akp_revenue_per_impression', true )) ? get_post_meta( $post->ID, 'akp_revenue_per_impression', true ) : get_option('akp_default_rev_imp', '0.00'); $revenue_click = (get_post_meta( $post->ID, 'akp_revenue_per_click', true )) ? get_post_meta( $post->ID, 'akp_revenue_per_click', true ) : get_option('akp_default_rev_click', '0.00'); echo '
'; echo ''; echo '
'; echo '
'; echo ''; echo '
'; } // Add checkbox to remove URL Link off advert function akp_link_options($object, $box) { global $post; $remove_url = (get_post_meta( $post->ID, 'akp_remove_url', true )) ? get_post_meta( $post->ID, 'akp_remove_url', true ) : get_option('akp_default_remove_link', '0'); $target = (get_post_meta( $post->ID, 'akp_target', true )) ? get_post_meta( $post->ID, 'akp_target', true ) : get_option('akp_default_window_target', 'blank'); $self = ($target == 'self') ? ' selected' : ''; $parent = ($target == 'parent') ? ' selected' : ''; $top = ($target == 'top') ? ' selected' : ''; $none = ($target == 'none') ? ' selected' : ''; $nofollow = (get_post_meta( $post->ID, 'akp_nofollow', true )) ? get_post_meta( $post->ID, 'akp_nofollow', true ) : get_option('akp_default_nofollow', '0'); // Use nonce for verification echo ''; echo '
'; echo ''; echo '
'; echo "
"; echo '
'; } // Process the custom metabox fields function akp_save_custom_fields( ) { global $post; // verify nonce if (!isset($_POST['akp_meta_box_nonce']) || !wp_verify_nonce($_POST['akp_meta_box_nonce'], basename(__FILE__))) { return; } if( $_POST ) { if (isset($_POST['akp_remove_url'])) update_post_meta( $post->ID, 'akp_remove_url', $_POST['akp_remove_url'] ); else update_post_meta( $post->ID, 'akp_remove_url', 0 ); if ($_POST['akp_expiry_date'] == 'never') update_post_meta( $post->ID, 'akp_expiry_date', $_POST['akp_expiry_date'] ); else { update_post_meta( $post->ID, 'akp_expiry_date', strtotime($_POST['akp_expiry_date']) ); } update_post_meta( $post->ID, 'akp_revenue_per_impression', $_POST['akp_revenue_per_impression'] ); update_post_meta( $post->ID, 'akp_revenue_per_click', $_POST['akp_revenue_per_click'] ); update_post_meta( $post->ID, 'akp_media_type', $_POST['akp_media_type'] ); if (isset($_POST['akp_image_url'])) update_post_meta( $post->ID, 'akp_image_url', $_POST['akp_image_url'] ); update_post_meta( $post->ID, 'akp_image_alt', $_POST['akp_image_alt'] ); update_post_meta( $post->ID, 'akp_html5_url', $_POST['akp_html5_url'] ); update_post_meta( $post->ID, 'akp_html5_width', $_POST['akp_html5_width'] ); update_post_meta( $post->ID, 'akp_html5_height', $_POST['akp_html5_height'] ); update_post_meta( $post->ID, 'akp_flash_url', $_POST['akp_flash_url'] ); update_post_meta( $post->ID, 'akp_flash_width', $_POST['akp_flash_width'] ); update_post_meta( $post->ID, 'akp_flash_height', $_POST['akp_flash_height'] ); update_post_meta( $post->ID, 'akp_adsense_code', $_POST['akp_adsense_code'] ); update_post_meta( $post->ID, 'akp_text', $_POST['akp_text'] ); update_post_meta( $post->ID, 'akp_ga_campaign', $_POST['akp_ga_campaign']); update_post_meta( $post->ID, 'akp_ga_banner', $_POST['akp_ga_banner']); if (isset($_POST['akp_target'])) update_post_meta( $post->ID, 'akp_target', $_POST['akp_target'] ); if (isset($_POST['akp_nofollow'])) update_post_meta( $post->ID, 'akp_nofollow', $_POST['akp_nofollow'] ); } } add_action( 'save_post', 'akp_save_custom_fields' ); // Process the custom metabox fields function akp_return_fields( $id = NULL ) { global $post; if (is_null($id)) $id = $post->ID; $output = array(); $output['akp_remove_url'] = (get_post_meta( $id, 'akp_remove_url' ) ? get_post_meta( $id, 'akp_remove_url' ) : array('')); $output['akp_expiry_date'] = (get_post_meta( $id, 'akp_expiry_date' ) ? get_post_meta( $id, 'akp_expiry_date' ) : 'never'); $output['akp_revenue_per_impression'] = (get_post_meta( $id, 'akp_revenue_per_impression' ) ? get_post_meta( $id, 'akp_revenue_per_impression' ) : array('')); $output['akp_revenue_per_click'] = (get_post_meta( $id, 'akp_revenue_per_click' ) ? get_post_meta( $id, 'akp_revenue_per_click' ) : array('')); $output['akp_media_type'] = (get_post_meta( $id, 'akp_media_type' ) ? get_post_meta( $id, 'akp_media_type' ) : array('')); $output['akp_image_url'] = (get_post_meta( $id, 'akp_image_url' ) ? get_post_meta( $id, 'akp_image_url' ) : array('')); $output['akp_image_alt'] = (get_post_meta( $id, 'akp_image_alt' ) ? get_post_meta( $id, 'akp_image_alt' ) : array('')); $output['akp_html5_url'] = (get_post_meta( $id, 'akp_html5_url' ) ? get_post_meta( $id, 'akp_html5_url' ) : array('')); $output['akp_html5_width'] = (get_post_meta( $id, 'akp_html5_width' ) ? get_post_meta( $id, 'akp_html5_width' ) : array('')); $output['akp_html5_height'] = (get_post_meta( $id, 'akp_html5_height' ) ? get_post_meta( $id, 'akp_html5_height' ) : array('')); $output['akp_flash_url'] = (get_post_meta( $id, 'akp_flash_url' ) ? get_post_meta( $id, 'akp_flash_url' ) : array('')); $output['akp_flash_width'] = (get_post_meta( $id, 'akp_flash_width' ) ? get_post_meta( $id, 'akp_flash_width' ) : array('')); $output['akp_flash_height'] = (get_post_meta( $id, 'akp_flash_height' ) ? get_post_meta( $id, 'akp_flash_height' ) : array('')); $output['akp_adsense_code'] = (get_post_meta( $id, 'akp_adsense_code' ) ? get_post_meta( $id, 'akp_adsense_code' ) : array('')); $output['akp_text'] = (get_post_meta( $id, 'akp_text' ) ? get_post_meta( $id, 'akp_text' ) : array('')); $output['akp_target'] = (get_post_meta( $id, 'akp_target' ) ? get_post_meta( $id, 'akp_target' ) : array('blank')); $output['akp_nofollow'] = (get_post_meta( $id, 'akp_nofollow' ) ? get_post_meta( $id, 'akp_nofollow' ) : array('0')); $output['akp_ga_campaign'] = (get_post_meta( $id, 'akp_ga_campaign' ) ? get_post_meta( $id, 'akp_ga_campaign' ) : array('')); $output['akp_ga_banner'] = (get_post_meta( $id, 'akp_ga_banner' ) ? get_post_meta( $id, 'akp_ga_banner' ) : array('')); return $output; } // Remove the Permalinks function akp_perm($return, $id, $new_title, $new_slug){ global $post; if(isset($post->post_type) && $post->post_type == 'adverts_posts') return ''; return $return; } add_filter('get_sample_permalink_html', 'akp_perm', '', 4); // Change text labels function akp_swap_featured_image_metabox($translation, $text, $domain) { global $post; $translations = get_translations_for_domain( $domain); if (isset($post->post_type)) { switch( $post->post_type ){ case 'adverts_posts': if ( $text == 'Set featured image') return $translations->translate( 'Set Advert Image' ); if ( $text == 'Remove featured image') return $translations->translate( 'Remove Advert Image' ); break; } } return $translation; } add_filter('gettext', 'akp_swap_featured_image_metabox', 10, 4); // Columns in custom post types function akp_edit_adverts_columns( $columns ) { $columns = array( 'cb' => '', 'banner_id' => __( 'Banner ID', 'akptext' ), 'shortcode' => __( 'Shortcode', 'akptext'), 'impressions' => __( 'Impressions', 'akptext' ), 'clicks' => __( 'Clicks', 'akptext' ), 'title' => __( 'URL', 'akptext' ), 'media_type' => __('Media','akptext'), 'advert_type' => __( 'Advert Type', 'akptext'), 'advert_image' => __( 'Advert Image', 'akptext'), 'date' => __( 'Date', 'akptext' ), ); return $columns; } add_filter( 'manage_edit-adverts_posts_columns', 'akp_edit_adverts_columns' ) ; // Update column data with custom data function akp_columns($column_name, $ID) { switch ($column_name) { case 'advert_type' : $terms = get_the_terms( $ID, 'advert_types' ); if ( !empty( $terms ) ) { $out = array(); foreach ( $terms as $term ) { $out[] = sprintf( '%s', esc_url( add_query_arg( array( 'post_type' => 'adverts_posts', 'advert_type' => $term->slug ), 'edit.php' ) ), esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'genre', 'display' ) ) ); } echo join( ', ', $out ); } else { echo __('No Advert Types Assigned', 'akptext'); } break; case 'advert_image' : $post_featured_image = akp_get_featured_image($ID); if ($post_featured_image) { echo ''; } break; case 'banner_id' : echo $ID; break; case 'shortcode' : echo "[adkingpro banner=\"$ID\"]"; break; case 'media_type' : global $wpdb; $mediatype = get_post_meta($ID, 'akp_media_type'); echo strtoupper($mediatype[0]); break; case 'impressions' : global $wpdb; $revenue = get_post_meta($ID, 'akp_revenue_per_impression'); if (!isset($revenue[0]) || $revenue[0] == '') $revenue[0] = '0.00'; $sign = get_option('revenue_currency'); $impressions = $wpdb->get_results("SELECT COUNT(*) as impressions FROM ".$wpdb->prefix."akp_impressions_log WHERE post_id = '$ID'"); echo $sign.$revenue[0]." x ".$impressions[0]->impressions; break; case 'clicks' : global $wpdb; $revenue = get_post_meta($ID, 'akp_revenue_per_click'); if (!isset($revenue[0]) || $revenue[0] == '') $revenue[0] = '0.00'; $sign = get_option('revenue_currency'); $clicks = $wpdb->get_results("SELECT COUNT(*) as clicks FROM ".$wpdb->prefix."akp_click_log WHERE post_id = '$ID'"); echo $sign.$revenue[0]." x ".$clicks[0]->clicks; break; } } add_action('manage_adverts_posts_posts_custom_column', 'akp_columns', 10, 2); // GET FEATURED IMAGE function akp_get_featured_image($post_ID, $thumb = 'custom_thumbnail') { $post_thumbnail_id = get_post_thumbnail_id($post_ID); if ($post_thumbnail_id) { $post_thumbnail_img = wp_get_attachment_image_src($post_thumbnail_id, $thumb); return $post_thumbnail_img[0]; } } function akp_log_impression($post_id) { if (get_option('akp_ga_intergrated', 0)) { // GA Enabled $ga_data = akp_ga_data($post_id); if ($ga_data['implemented'] == 'classic') $output = ""; elseif ($ga_data['implemented'] == 'universal') $output = ""; return $output; } else { // GA Disabled $timestamp = current_time('timestamp'); $expire = strtotime(get_option('impression_expiry_time'), $timestamp); $ip_address = $_SERVER['REMOTE_ADDR']; global $wpdb; $ip = $wpdb->get_row("SELECT * FROM ".$wpdb->prefix."akp_impressions_expire WHERE ip_address = '$ip_address' AND post_id = '$post_id'"); if ($ip != null) { if ($ip->expire < $timestamp) { $wpdb->query( $wpdb->prepare( "DELETE FROM ".$wpdb->prefix."akp_impressions_expire WHERE post_id = %d AND ip_address = %s ", $post_id, $ip_address ) ); $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->prefix."akp_impressions_log ( post_id, ip_address, timestamp ) VALUES ( %d, %s, %d )", array( $post_id, $ip_address, $timestamp ) ) ); $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->prefix."akp_impressions_expire ( post_id, ip_address, expire ) VALUES ( %d, %s, %d )", array( $post_id, $ip_address, $expire ) ) ); } } else { $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->prefix."akp_impressions_log ( post_id, ip_address, timestamp ) VALUES ( %d, %s, %d )", array( $post_id, $ip_address, $timestamp ) ) ); $wpdb->query( $wpdb->prepare( "INSERT INTO ".$wpdb->prefix."akp_impressions_expire ( post_id, ip_address, expire ) VALUES ( %d, %s, %d )", array( $post_id, $ip_address, $expire ) ) ); } } } // Dashboard Widget function akp_enqueue($hook) { if (akp_check_page($hook)) : wp_register_style( 'akp_jquery_ui', plugins_url('css/jquery-ui.css', dirname(__FILE__)), false, '1.9.2' ); wp_register_style( 'akp_css', plugins_url('css/adkingpro-styles.css', dirname(__FILE__)), false, '1.0.0' ); wp_register_style( 'fontawesome', plugins_url('css/font-awesome.min.css', dirname(__FILE__)), false, '3.2.1'); wp_enqueue_style('akp_jquery_ui'); wp_enqueue_style( 'fontawesome' ); wp_enqueue_style( 'akp_css' ); wp_enqueue_style( 'thickbox' ); wp_enqueue_script( 'jquery-ui-datepicker'); wp_register_script('akp_admin_js', plugins_url( '/js/adkingpro-admin-functions.js', dirname(__FILE__) ), array('jquery', 'jquery-ui-datepicker'), '1.0.0'); wp_enqueue_script( 'akp_admin_js'); wp_enqueue_script( 'thickbox' ); // in javascript, object properties are accessed as ajax_object.ajax_url, ajax_object.we_value wp_localize_script( 'akp_admin_js', 'akp_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'akp_ajaxnonce' => wp_create_nonce( 'akpN0nc3' ) ) ); endif; } add_action( 'admin_enqueue_scripts', 'akp_enqueue' ); function akp_dashboard() { global $wpdb; $advert_types = get_terms('advert_types'); $count = count($advert_types); if ($count > 0) { foreach ($advert_types as $type) { echo "

$type->name

"; query_posts(array( 'post_type'=>'adverts_posts', 'advert_types'=>$type->slug )); echo "