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 / rest / class-page-quick-edit.php
advanced-ads / includes / rest Last commit date
class-groups.php 5 days ago class-licenses.php 1 day ago class-onboarding.php 1 year ago class-page-quick-edit.php 1 day ago class-placements.php 1 year ago class-utilities.php 1 day ago
class-page-quick-edit.php
96 lines
1 <?php
2 /**
3 * Rest Page 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 AdvancedAds\Constants;
13 use AdvancedAds\Utilities\Conditional;
14 use AdvancedAds\Framework\Interfaces\Routes_Interface;
15 use WP_REST_Request;
16
17 defined( 'ABSPATH' ) || exit;
18
19 /**
20 * Rest Page Quick Edit.
21 */
22 class Page_Quick_Edit implements Routes_Interface {
23 /**
24 * Register rest route for disabled ads status
25 *
26 * @return void
27 */
28 public function register_routes(): void {
29 register_rest_route(
30 Constants::REST_BASE,
31 '/page_quick_edit',
32 [
33 'methods' => 'GET',
34 'callback' => [ $this, 'get_disable_ads' ],
35 'permission_callback' => [ $this, 'can_read_quick_edit_settings' ],
36 'args' => [
37 'id' => [
38 'required' => true,
39 'type' => 'integer',
40 'sanitize_callback' => 'absint',
41 ],
42 'nonce' => [
43 'required' => true,
44 'type' => 'string',
45 'sanitize_callback' => 'sanitize_text_field',
46 ],
47 ],
48 ]
49 );
50 }
51
52 /**
53 * Whether the current user may read quick-edit settings for the requested post.
54 *
55 * @param WP_REST_Request $request REST request.
56 *
57 * @return bool
58 */
59 public function can_read_quick_edit_settings( WP_REST_Request $request ): bool {
60 if ( ! Conditional::user_can( 'edit_posts' ) ) {
61 return false;
62 }
63
64 $post_id = absint( $request->get_param( 'id' ) );
65 if ( $post_id <= 0 || ! current_user_can( 'edit_post', $post_id ) ) {
66 return false;
67 }
68
69 $post = get_post( $post_id );
70 if ( ! $post || ! in_array( $post->post_type, [ 'post', 'page' ], true ) ) {
71 return false;
72 }
73
74 return true;
75 }
76
77 /**
78 * Endpoint callback
79 *
80 * @param WP_REST_Request $request the request.
81 *
82 * @return array
83 */
84 public function get_disable_ads( WP_REST_Request $request ) {
85 $nonce = sanitize_text_field( $request->get_param( 'nonce' ) );
86
87 if ( ! wp_verify_nonce( $nonce, 'advads-post-quick-edit' ) ) {
88 return [];
89 }
90
91 $id = absint( $request->get_param( 'id' ) );
92
93 return (array) get_post_meta( $id, '_advads_ad_settings', true );
94 }
95 }
96