adsns_options = get_option( 'adsns_settings' ); $this->adsns_options['code'] = stripslashes( $this->adsns_options['code'] ); $this->adsns_options['num_show'] = 0; update_option( 'adsns_settings', $this->adsns_options ); } /* Show ads after post on a single page */ function adsns_end_post_ad( $content ) { global $adsns_count; /*$this->adsns_donate();*/ /* Calling a donate function */ if ( ! is_feed() && is_single() && $adsns_count < $this->adsns_options['max_ads'] && $adsns_count < $this->adsns_options['max_homepostads'] ) { /* Checking if we are on a single page */ $content.= '
' . $this->adsns_options['code'] . '
'; /* Adding an ad code on page */ $this->adsns_options['num_show'] ++; /* Counting views */ update_option( 'adsns_settings', $this->adsns_options ); $adsns_count = $this->adsns_options['num_show']; } return $content; } /* Show ads after comment form */ function adsns_end_comment_ad() { global $adsns_count; /*$this->adsns_donate();*/ if ( ! is_feed() && $adsns_count < $this->adsns_options['max_ads'] && $adsns_count < $this->adsns_options['max_homepostads'] ) { echo '
' . $this->adsns_options['code'] . '
'; $this->adsns_options['num_show'] ++; // Counting views update_option( 'adsns_settings', $this->adsns_options ); $adsns_count = $this->adsns_options['num_show']; } } /* Show ads after post on home page */ function adsns_end_home_post_ad( $content ) { global $adsns_count; if ( $adsns_count < $this->adsns_options['max_ads'] && $adsns_count < $this->adsns_options['max_homepostads'] ) { if ( ! is_feed() && ( is_home() || is_front_page() ) ) { /*$this->adsns_donate();*/ /* Calling a donate function */ $content .= '
' . $this->adsns_options['code'] . '
'; $this->adsns_options['num_show'] ++; /* Counting views */ update_option( 'adsns_settings', $this->adsns_options ); $adsns_count = $this->adsns_options['num_show']; /* Restore count value */ } } return $content; } /* Show ads in footer */ function adsns_end_footer_ad() { global $adsns_count; /*$this->adsns_donate();*/ if ( ! is_feed() && $adsns_count < $this->adsns_options['max_ads'] && $adsns_count < $this->adsns_options['max_homepostads'] ) { echo ''; $this->adsns_options['num_show'] ++; /* Counting views */ update_option( 'adsns_settings', $this->adsns_options ); $adsns_count = $this->adsns_options['num_show']; /* Restore count value */ } } /* Add 'BWS Plugins' menu at the left side in administer panel */ function adsns_add_admin_menu() { bws_add_general_menu( 'adsense-plugin/adsense-plugin.php' ); add_submenu_page( 'bws_plugins', __( 'AdSense Settings', 'adsense' ), 'AdSense', 'manage_options', "adsense-plugin.php", array( $this, 'adsns_settings_page' ) ); } /* Add a link for settings page */ function adsns_plugin_action_links( $links, $file ) { if ( ! is_network_admin() ) { if ( $file == 'adsense-plugin/adsense-plugin.php' ) { $settings_link = '' . __( 'Settings', 'adsense' ) . ''; array_unshift( $links, $settings_link ); } } return $links; } function adsns_register_plugin_links( $links, $file ) { if ( $file == 'adsense-plugin/adsense-plugin.php' ) { if ( ! is_network_admin() ) $links[] = '' . __( 'Settings', 'adsense' ) . ''; $links[] = '' . __( 'FAQ', 'adsense' ) . ''; $links[] = '' . __( 'Support', 'adsense' ) . ''; } return $links; } function adsns_plugin_init() { global $adsns_plugin_info; if ( ! session_id() ) { session_start(); } /* Internationalization */ load_plugin_textdomain( 'adsense', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); require_once( dirname( __FILE__ ) . '/bws_menu/bws_functions.php' ); if ( empty( $adsns_plugin_info ) ) { if ( ! function_exists( 'get_plugin_data' ) ) require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $adsns_plugin_info = get_plugin_data( dirname(__FILE__) . '/adsense-plugin.php' ); } /* Function check if plugin is compatible with current WP version */ bws_wp_version_check( 'adsense-plugin/adsense-plugin.php', $adsns_plugin_info, '3.1' ); /* Call register settings function */ if ( ! is_admin() || ( isset( $_GET['page'] ) && "adsense-plugin.php" == $_GET['page'] ) ) $this->adsns_activate(); } function adsns_plugin_admin_init() { global $bws_plugin_info, $adsns_plugin_info; if ( ! isset( $bws_plugin_info ) || empty( $bws_plugin_info ) ) $bws_plugin_info = array( 'id' => '80', 'version' => $adsns_plugin_info["Version"] ); } /* Creating a default options for showing ads. Starts on plugin activation. */ function adsns_activate() { global $adsns_options, $adsns_count, $adsns_plugin_info; $adsns_options_defaults = array( 'plugin_option_version' => $adsns_plugin_info["Version"], 'num_show' => '0', 'donate' => '0', 'max_ads' => '3', 'max_homepostads' => '1', 'clientid' => '', 'clientid_prefix' => 'pub', 'donate_id' => '1662250046693311', 'adtypeselect' => 'text', 'donate_width' => '', 'donate_height' => '', 'default' => '468x60', 'image_only' => '', 'link_unit' => '', 'adtype' => 'adunit', 'corner_style' => 'none', 'border' => '#FFFFFF', 'title' => '#0000FF', 'background' => '#FFFFFF', 'text' => '#000000', 'url' => '#008000', 'pallete' => 'Default Google pallete', 'position' => 'homepostend', 'widget_title' => '', 'code' => ' ' ); if ( ! get_option( 'adsns_settings' ) ) add_option( 'adsns_settings', $new_options ); $adsns_options = get_option( 'adsns_settings' ); $adsns_count = 0; /* Number of posts on home page */ /* Array merge incase this version has added new options */ if ( ! isset( $adsns_options['plugin_option_version'] ) || $adsns_options['plugin_option_version'] != $adsns_plugin_info["Version"] ) { $adsns_options = array_merge( $adsns_options_defaults, $adsns_options ); $adsns_options['plugin_option_version'] = $adsns_plugin_info["Version"]; update_option( 'adsns_settings', $adsns_options ); } } /* Donate settings */ function adsns_donate() { global $adsns_plugin_info; if ( $this->adsns_options['donate'] > 0 ) { $don = intval( 100/$this->adsns_options['donate'] ); /* Calculating number of donate ads for showing */ } if ( $this->adsns_options['donate'] > 0 && $this->adsns_options['num_show'] % $don == 0 ) { /* Checking if now showing ad must be a donate ad */ $dimensions = explode( "x", $this->adsns_options['default'] ); /* Calculating dimensions of ad block */ $this->adsns_options['donate_width'] = $dimensions[0]; /* Width */ $this->adsns_options['donate_height'] = $dimensions[1]; /* Height */ $don_code = ''; $this->adsns_options['code'] = $don_code; /* update_option( 'adsns_settings', $this->adsns_options ); */ } else { if ( 'ad_unit' == $this->adsns_options['adtype'] ) { if ( 'default_image' == $this->adsns_options['adtypeselect'] ) $adtypeselect = 'default'; else $adtypeselect = $this->adsns_options['adtypeselect']; $dimensions = explode( "x", $this->adsns_options[ $adtypeselect ] ); /* Calculating dimensions of ad block */ $format = $this->adsns_options[ $adtypeselect ]; $format .= '_as'; switch( $this->adsns_options['adtypeselect'] ) { case 'image_only': $type = 'google_ad_type = "image";'; break; case 'default_image': $type = 'google_ad_type = "text_image";'; break; default: $type = 'google_ad_type = "text";'; break; } } else { $dimensions = explode( "x", $this->adsns_options[ $this->adsns_options['adtype'] ] ); /* Calculating dimensions of ad block */ $format = $this->adsns_options[ $this->adsns_options['adtype'] ]; $format .= '_0ads_al'; $type = ''; } $features = ( 'none' == $this->adsns_options['corner_style'] ) ? '' : 'google_ui_features = "rc:' . $this->adsns_options['corner_style'] . '";'; $this->adsns_options['donate_width'] = $dimensions[0]; /* Width */ $this->adsns_options['donate_height'] = $dimensions[1]; /* Height */ $don_code = ''; $this->adsns_options['code'] = $don_code; /* update_option( 'adsns_settings', $this->adsns_options ); */ } } function adsns_client() { global $adsns_plugin_info; require_once( dirname( __FILE__ ) . '/google_api/autoload.php' ); $client = new Google_Client(); $client->setClientId( '903234641369-4mm0lqt76r0rracrdn2on3qrk6c554aa.apps.googleusercontent.com' ); $client->setClientSecret( 'Twlx072svotXexK5rvqC5bb-' ); $client->setScopes( array( 'https://www.googleapis.com/auth/adsense' ) ); $client->setRedirectUri( 'urn:ietf:wg:oauth:2.0:oob' ); $client->setAccessType( 'offline' ); $client->setDeveloperKey( 'AIzaSyBa4vT_9do8e7Yxv88EXle6546nFVGLHI8' ); $client->setApplicationName( $adsns_plugin_info['Name'] ); return $client; } /* Saving settings */ function adsns_settings_page() { global $adsns_plugin_info, $adsns_options; ?>

" . __( "Settings saved", 'adsense' ) . "

"; if ( 3 <= strlen( trim( $_REQUEST['clientid_prefix'] ) ) && 'pub' == substr( trim( $_REQUEST['clientid_prefix'] ) , -3, 3 ) ) { $this->adsns_options['clientid_prefix'] = stripslashes( esc_html( $_REQUEST['clientid_prefix'] ) ); if ( isset( $_REQUEST['client_id'] ) ) { /* client */ $this->adsns_options['clientid'] = stripslashes( esc_html( $_REQUEST['client_id'] ) ); } if ( isset( $_REQUEST['mycode'] ) ) { /* ad code */ $id = stripslashes( $_REQUEST['mycode'] ); if ( 0 < strlen( $id ) ) { //$this->adsns_options['code'] = $id; } } if ( isset( $_REQUEST['homeAds'] ) ) { /* select */ $this->adsns_options['max_homepostads'] = $_REQUEST['homeAds']; } /* adtypeselect */ $this->adsns_options['adtypeselect'] = ( isset( $_REQUEST['adtypeselect'] ) ) ? $_REQUEST['adtypeselect'] : ''; /* format */ $this->adsns_options['default'] = ( isset( $_REQUEST['default'] ) ) ? $_REQUEST['default'] : ''; $this->adsns_options['image_only'] = ( isset( $_REQUEST['image_only'] ) ) ? $_REQUEST['image_only'] : ''; $this->adsns_options['link_unit'] = ( isset( $_REQUEST['link_unit'] ) ) ? $_REQUEST['link_unit'] : ''; /* adtype */ if ( isset( $_REQUEST['adtype'] ) ) { $this->adsns_options['adtype'] = $_REQUEST['adtype']; } if ( isset( $_REQUEST['corner_style'] ) ) { /* corner_style */ $this->adsns_options['corner_style'] = $_REQUEST['corner_style']; } if ( isset( $_REQUEST['pallete'] ) ) { /* pallete */ $this->adsns_options['pallete'] = $_REQUEST['pallete']; } if ( isset( $_REQUEST['border'] ) ) { /* border */ $this->adsns_options['border'] = stripslashes( esc_html( $_REQUEST['border'] ) ); } if ( isset( $_REQUEST['title'] ) ) { /* title */ $this->adsns_options['title'] = stripslashes( esc_html( $_REQUEST['title'] ) ); } if ( isset( $_REQUEST['background'] ) ) { /* background */ $this->adsns_options['background'] = stripslashes( esc_html( $_REQUEST['background'] ) ); } if ( isset( $_REQUEST['text'] ) ) { /* text */ $this->adsns_options['text'] = stripslashes( esc_html( $_REQUEST['text'] ) ); } if ( isset( $_REQUEST['url'] ) ) { /* url */ $this->adsns_options['url'] = stripslashes( esc_html( $_REQUEST['url'] ) ); } if ( isset( $_REQUEST['position'] ) ) { /* position */ $this->adsns_options['position'] = $_REQUEST['position']; } if ( isset( $_REQUEST['donate'] ) ) { /* donate */ $this->adsns_options['donate'] = $_REQUEST['donate']; } if ( 'ad_unit' == $this->adsns_options['adtype'] ) { if ( 'default_image' == $this->adsns_options['adtypeselect'] ) $adtypeselect = 'default'; else $adtypeselect = $this->adsns_options['adtypeselect']; $dimensions = explode( "x", $this->adsns_options[ $adtypeselect ] ); /* Calculating dimensions of ad block */ $format = $this->adsns_options[ $adtypeselect ]; $format .= '_as'; switch ( $this->adsns_options['adtypeselect'] ) { case 'image_only': $type = 'google_ad_type = "image";'; break; case 'default_image': $type = 'google_ad_type = "text_image";'; break; default: $type = 'google_ad_type = "text";'; break; } } else { $dimensions = explode( "x", $this->adsns_options[ $this->adsns_options['adtype'] ] ); /* Calculating dimensions of ad block */ $format = $this->adsns_options[ $this->adsns_options['adtype'] ]; $format .= '_0ads_al'; $type = ''; } $this->adsns_options['donate_width'] = $dimensions[0]; /* Width */ $this->adsns_options['donate_height'] = $dimensions[1]; /* Height */ $don_code = ''; $this->adsns_options['code'] = $don_code; update_option( 'adsns_settings', $this->adsns_options ); } else echo "

" . __( "Please enter valid Publisher ID.", 'adsense' ) . "

"; } else echo "

" . __( "Please enter your Publisher ID.", 'adsense' ) . "

"; } /* Click on Save Changes button end */ $this->adsns_view_options_page(); echo ''; } /* Admin interface of plugin */ function adsns_view_options_page() { global $adsns_options, $adsns_plugin_info; $adsns_client = $this->adsns_client(); $adsns_blog_prefix = '_' . get_current_blog_id(); if ( isset( $_POST['adsns_logout'] ) && check_admin_referer( plugin_basename( __FILE__ ), 'adsns_nonce_name' ) ) { unset( $_SESSION[ 'adsns_authorization_code' . $adsns_blog_prefix ] ); unset( $this->adsns_options['authorization_code'] ); update_option( 'adsns_settings', $this->adsns_options ); } if ( isset( $_POST['adsns_authorization_code'] ) && ! empty( $_POST['adsns_authorization_code'] ) && check_admin_referer( plugin_basename(__FILE__), 'adsns_nonce_name' ) ) { try { $adsns_client->authenticate( $_POST['adsns_authorization_code'] ); $this->adsns_options['authorization_code'] = $_SESSION[ 'adsns_authorization_code' . $adsns_blog_prefix ] = $adsns_client->getAccessToken(); update_option( 'adsns_settings', $this->adsns_options ); } catch ( Exception $e ) {} } if ( ! isset( $_SESSION[ 'adsns_authorization_code' . $adsns_blog_prefix ] ) && isset( $this->adsns_options['authorization_code'] ) ) { $_SESSION[ 'adsns_authorization_code' . $adsns_blog_prefix ] = $this->adsns_options['authorization_code']; } if ( isset( $_SESSION[ 'adsns_authorization_code' . $adsns_blog_prefix ] ) ) { $adsns_client->setAccessToken( $_SESSION[ 'adsns_authorization_code' . $adsns_blog_prefix ] ); } if ( isset( $_POST['adsns_get_publisher_id'] ) && check_admin_referer( plugin_basename(__FILE__), 'adsns_nonce_name' ) ) { $adsns_adsense = new Google_Service_AdSense( $adsns_client ); $adsns_adsense_accounts = $adsns_adsense->accounts; try { $adsns_list_accounts = $adsns_adsense_accounts->listAccounts()->getItems(); if ( isset( $adsns_list_accounts[0]['id'] ) ) { $adsns_publisher_id = explode( '-', $adsns_list_accounts[0]['id'] ); $this->adsns_options['clientid_prefix'] = $adsns_publisher_id[0]; $this->adsns_options['clientid'] = $adsns_publisher_id[1]; $adsns_api_notice = array( 'class' => 'updated adsns_api_notice', 'message' => sprintf( '%s %s
%s', __( 'Success:', 'adsense' ), sprintf( __( 'Your publisher ID: %s.', 'adsense' ), sprintf( '%s', $adsns_list_accounts[0]['id'] ) ), __( 'Publisher ID is inserted successfully.', 'adsense' ) ) ); } else { $adsns_api_notice = array( 'class' => 'error adsns_api_notice', 'message' => sprintf( '%s %s
%s', __( 'Error:', 'adsense' ), __( 'Unable to get Publisher ID.', 'adsense' ), sprintf( __( 'You can find your Publisher ID in %s', 'adsense' ), 'Google AdSense.' ) ) ); } } catch ( Google_Service_Exception $e ) { $adsns_err = $e->getErrors(); $adsns_api_notice = array( 'class' => 'error adsns_api_notice', 'message' => sprintf( '%s %s
%s', __( 'Error:', 'adsense' ), $adsns_err[0]['message'], sprintf( __( 'Create account in %s', 'adsense' ), 'Google AdSense.' ) ) ); } } if ( isset( $_POST['adsns_authorization_code'] ) && isset( $_POST['adsns_authorize'] ) && ! $adsns_client->getAccessToken() && check_admin_referer( plugin_basename(__FILE__), 'adsns_nonce_name' ) ) { $adsns_api_notice = array( 'class' => 'error adsns_api_notice', 'message' => __( 'Invalid authorization code. Please, try again.', 'adsense' ) ); ?>

>

getAccessToken() ) { ?>
setState( $adsns_state ); $_SESSION[ 'gglstmp_state' . $adsns_blog_prefix ] = $adsns_client; $adsns_auth_url = $adsns_client->createAuthUrl(); ?>
-
adsns_options['adtype'] || 'adunit' == $this->adsns_options['adtype'] ) echo 'checked="checked"'; ?> />
adsns_options['adtype'] ) echo 'checked="checked"'; ?> />
adsns_options['adtype'] && ( 'default' == $this->adsns_options['adtypeselect'] || 'default_image' == $this->adsns_options['adtypeselect'] ) || 'text' == $this->adsns_options['adtypeselect'] || 'text_image' == $this->adsns_options['adtypeselect'] ) echo 'style="visibility: visible;"'; else echo 'style="visibility: hidden;"'; ?>>
adsns_options['adtype'] && ( 'image_only' == $this->adsns_options['adtypeselect'] || 'image' == $this->adsns_options['adtypeselect'] ) ) echo 'style="visibility: visible;"'; else echo 'style="visibility: hidden;"'; ?> class="right_img">
adsns_options['adtype'] ) echo 'style="visibility: visible;margin-top: -24px"'; else echo 'style="visibility: hidden;margin-top: -32px"'; ?> class="right">



.ads { position: relative; text-align: center; clear: both; } EOF; } /* *displays AdSense in widget *@return array() */ function adsns_widget_display() { global $adsns_count, $adsns_options; $title = $this->adsns_options['widget_title']; echo '"; } /* *Register widget for use in sidebars. *Registers widget control callback for customizing options */ function adsns_register_widget() { wp_register_sidebar_widget( 'adsns_widget', /* Unique widget id */ 'AdSense', /* Widget name */ array( $this, 'adsns_widget_display' ), /* Callback function */ array( 'description' => 'Widget displays AdSense' ) /* Options */ ); wp_register_widget_control( 'adsns_widget', /* Unique widget id */ 'AdSense', /* Widget name */ array( $this, 'adsns_widget_control' ) /* Callback function */ ); } /* *Registers widget control callback for customizing options *@return array */ function adsns_widget_control() { global $adsns_options; if ( isset( $_POST["adsns-widget-submit"] ) ) { $this->adsns_options['widget_title'] = strip_tags( stripslashes( $_POST["adsns-widget-title"] ) ); update_option( 'adsns_settings', $this->adsns_options ); } $title = $this->adsns_options['widget_title']; echo '

'; } } /* Class */ ?>