PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.5
Advanced Ads – Ad Manager & AdSense v2.0.5
2.0.26 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 / rest / class-quick-edit.php
advanced-ads / includes / rest Last commit date
class-groups.php 1 year ago class-onboarding.php 1 year ago class-page-quick-edit.php 1 year ago class-placements.php 1 year ago class-quick-edit.php 1 year ago class-utilities.php 1 year ago
class-quick-edit.php
95 lines
1 <?php
2 /**
3 * Rest Quick Edit.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.50.0
8 */
9
10 namespace AdvancedAds\Rest;
11
12 use Advanced_Ads_Privacy;
13 use AdvancedAds\Constants;
14 use AdvancedAds\Utilities\Conditional;
15 use AdvancedAds\Framework\Interfaces\Routes_Interface;
16
17 defined( 'ABSPATH' ) || exit;
18
19 /**
20 * Rest Quick Edit.
21 */
22 class Quick_Edit implements Routes_Interface {
23
24 /**
25 * Registers routes with WordPress.
26 *
27 * @return void
28 */
29 public function register_routes(): void {
30 register_rest_route(
31 Constants::REST_BASE,
32 '/quick_edit_data',
33 [
34 'methods' => 'POST',
35 'callback' => [ $this, 'format_ad_data' ],
36 'permission_callback' => function () {
37 return Conditional::user_can( 'advanced_ads_edit_ads' );
38 },
39 ]
40 );
41 }
42
43 /**
44 * Return ad data for quick edit
45 *
46 * @param \WP_REST_Request $request the request.
47 *
48 * @return []
49 */
50 public function format_ad_data( $request ) {
51 $id = $request->get_param( 'id' );
52 $ad = wp_advads_get_ad( $id );
53
54 if ( ! $ad ) {
55 return [ 'error' => __( 'Ad not found', 'advanced-ads' ) ];
56 }
57
58 $expiry = $ad->get_expiry_date();
59
60 if ( $expiry ) {
61 $expiry_date = array_combine(
62 [ 'year', 'month', 'day', 'hour', 'minutes' ],
63 explode( '-', wp_date( 'Y-m-d-H-i', $expiry ) )
64 );
65 }
66
67 $ad_data = [
68 'debug_mode' => $ad->is_debug_mode(),
69 'expiry' => $expiry
70 ? [
71 'expires' => true,
72 'expiry_date' => $expiry_date,
73 ]
74 : [
75 'expires' => false,
76 ],
77 'ad_label' => $ad->get_prop( 'ad_label' ),
78 ];
79
80 if ( isset( Advanced_Ads_Privacy::get_instance()->options()['enabled'] ) ) {
81 $ad_data['ignore_privacy'] = isset( $ad->get_data()['privacy']['ignore-consent'] );
82 }
83
84 /**
85 * Allow add-ons to add more ad data fields.
86 *
87 * @param array $ad_data the fields to be sent back to the browser.
88 * @param $ad Ad the ad being currently edited.
89 */
90 $ad_data = apply_filters( 'advanced-ads-quick-edit-ad-data', $ad_data, $ad );
91
92 return $ad_data;
93 }
94 }
95