PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.25
Advanced Ads – Ad Manager & AdSense v2.0.25
2.0.25 2.0.24 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 / includes / admin / placements / class-ajax.php
advanced-ads / includes / admin / placements Last commit date
class-ajax.php 3 months ago class-bulk-edit.php 3 months ago class-create-modal.php 3 months ago class-edit-modal.php 2 months ago class-list-table.php 1 day ago class-quick-edit.php 2 months ago
class-ajax.php
101 lines
1 <?php
2 /**
3 * Ajax functions.
4 *
5 * @since 2.0.14
6 * @package AdvancedAds
7 * @author Advanced Ads <info@wpadvancedads.com>
8 */
9
10 namespace AdvancedAds\Admin\Placements;
11
12 use AdvancedAds\Utilities\Conditional;
13 use AdvancedAds\Framework\Utilities\Params;
14 use AdvancedAds\Framework\Interfaces\Integration_Interface;
15
16 defined( 'ABSPATH' ) || exit;
17
18 /**
19 * Ajax functions for placements.
20 */
21 class Ajax implements Integration_Interface {
22
23 /**
24 * Hook into WordPress.
25 *
26 * @return void
27 */
28 public function hooks(): void {
29 add_action( 'wp_ajax_advads_placements_allowed_ads', [ $this, 'get_allowed_items' ] );
30 add_action( 'wp_ajax_advads_placement_update_item', [ $this, 'placement_update_item' ] );
31 }
32
33 /**
34 * Get allowed ads per placement.
35 *
36 * @return void
37 */
38 public function get_allowed_items(): void {
39 check_ajax_referer( 'advads-create-new-placement', 'security' );
40 $type = sanitize_text_field( Params::post( 'placement_type' ) );
41
42 wp_send_json_success(
43 [
44 'items' => wp_advads_get_placement_type( $type )->get_allowed_items(),
45 ]
46 );
47 }
48
49 /**
50 * Update the item for the placement.
51 *
52 * @return void
53 */
54 public function placement_update_item(): void {
55 check_ajax_referer( 'placement-update-item', 'security' );
56
57 if ( ! Conditional::user_can( 'advanced_ads_manage_placements' ) ) {
58 wp_send_json_error(
59 [
60 'message' => __( 'User don\'t have permission to update the placement.', 'advanced-ads' ),
61 ],
62 400
63 );
64 }
65
66 $placement = wp_advads_get_placement( Params::post( 'placement_id', false, FILTER_VALIDATE_INT ) );
67 $new_item = sanitize_text_field( Params::post( 'item_id' ) );
68 $new_item_type = 0 === strpos( $new_item, 'ad' ) ? 'ad_' : 'group_';
69
70 try {
71 if ( empty( $new_item ) ) {
72 $placement->remove_item();
73 wp_send_json_success(
74 [
75 'edit_href' => '#',
76 'placement_id' => $placement->get_id(),
77 'item_id' => '',
78 ]
79 );
80 }
81
82 $new_item = $placement->update_item( $new_item );
83 wp_send_json_success(
84 [
85 'edit_href' => $new_item->get_edit_link(),
86 'placement_id' => $placement->get_id(),
87 'item_id' => $new_item_type . $new_item->get_id(),
88 ]
89 );
90 } catch ( \RuntimeException $e ) {
91 wp_send_json_error(
92 [
93 'message' => $e->getMessage(),
94 'item_id' => $placement->get_item_object() ? $placement->get_item_object()->get_id() : 0,
95 ],
96 400
97 );
98 }
99 }
100 }
101