PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.7.12
Advanced Ads – Ad Manager & AdSense v1.7.12
2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / classes / ad-ajax.php
advanced-ads / classes Last commit date
EDD_SL_Plugin_Updater.php 9 years ago ad-ajax.php 9 years ago ad-debug.php 9 years ago ad-model.php 9 years ago ad-select.php 9 years ago ad.php 9 years ago ad_ajax_callbacks.php 9 years ago ad_group.php 9 years ago ad_placements.php 9 years ago ad_type_abstract.php 11 years ago ad_type_content.php 9 years ago ad_type_group.php 10 years ago ad_type_image.php 9 years ago ad_type_plain.php 9 years ago checks.php 9 years ago display-conditions.php 9 years ago frontend_checks.php 9 years ago plugin.php 9 years ago upgrades.php 10 years ago visitor-conditions.php 9 years ago widget.php 9 years ago
ad-ajax.php
96 lines
1 <?php
2
3 /**
4 * Provide public ajax interface.
5 *
6 * @since 1.5.0
7 */
8 class Advanced_Ads_Ajax {
9
10 private function __construct()
11 {
12 add_action( 'wp_ajax_advads_ad_select', array( $this, 'advads_ajax_ad_select' ) );
13 add_action( 'wp_ajax_nopriv_advads_ad_select', array( $this, 'advads_ajax_ad_select' ) );
14 }
15
16 private static $instance;
17
18 public static function get_instance()
19 {
20 if ( ! isset(self::$instance) ) {
21 self::$instance = new self;
22 }
23
24 return self::$instance;
25 }
26
27 /**
28 * Simple wp ajax interface for ad selection.
29 */
30 public function advads_ajax_ad_select() {
31 // set proper header
32 header( 'Content-Type: application/json; charset: utf-8' );
33
34 // allow modules / add ons to test (this is rather late but should happen before anything important is called)
35 do_action( 'advanced-ads-ajax-ad-select-init' );
36
37 $adIds = isset( $_REQUEST['ad_ids'] ) ? $_REQUEST['ad_ids'] : null;
38 if ( is_string( $adIds ) ) {
39 $adIds = json_decode( $adIds, true );
40 }
41 if (is_array($adIds)) { // ads loaded previously and passed by query
42 Advanced_Ads::get_instance()->current_ads += $adIds;
43 }
44
45 $deferedAds = isset( $_REQUEST['deferedAds'] ) ? $_REQUEST['deferedAds'] : null;
46 if ( $deferedAds ) { // load all ajax ads with a single request
47 $response = array();
48
49 foreach ( (array) $deferedAds as $request ) {
50 $result = $this->select_one( $request );
51 $result['elementId'] = ! empty( $request['elementId'] ) ? $request['elementId'] : null;
52 $response[] = $result;
53 }
54 echo json_encode( $response );
55 die();
56 }
57
58 $response = $this->select_one( $_REQUEST );
59 echo json_encode( $response );
60 die();
61 }
62
63 /**
64 * Provides a single ad (ad, group, placement) given ID and selection method.
65 *
66 * @param $request array
67 */
68 private function select_one( $request ) {
69 // init handlers
70 $selector = Advanced_Ads_Select::get_instance();
71 $methods = $selector->get_methods();
72 $method = isset( $request['ad_method'] ) ? (string) $request['ad_method'] : null;
73 $id = isset( $request['ad_id'] ) ? (string) $request['ad_id'] : null;
74 $arguments = isset( $request['ad_args'] ) ? $request['ad_args'] : array();
75 if (is_string($arguments)) {
76 $arguments = stripslashes($arguments);
77 $arguments = json_decode($arguments, true);
78 }
79
80 $response = array();
81 if ( isset( $methods[ $method ] ) && isset( $id ) ) {
82 $advads = Advanced_Ads::get_instance();
83 $l = count( $advads->current_ads );
84
85 // build content
86 $content = $selector->get_ad_by_method( $id, $method, $arguments );
87 $adIds = array_slice( $advads->current_ads, $l ); // ads loaded by this request
88
89 return array( 'status' => 'success', 'item' => $content, 'id' => $id, 'method' => $method, 'ads' => $adIds );
90 } else {
91 // report error
92 return array( 'status' => 'error', 'message' => 'No valid ID or METHOD found.' );
93 }
94 }
95 }
96