PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.24
Advanced Ads – Ad Manager & AdSense v2.0.24
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-bulk-edit.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 week ago class-quick-edit.php 2 months ago
class-bulk-edit.php
109 lines
1 <?php
2 /**
3 * Bulk edit for placement
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 2.0
8 */
9
10 namespace AdvancedAds\Admin\Placements;
11
12 use AdvancedAds\Constants;
13 use AdvancedAds\Abstracts\Placement;
14 use AdvancedAds\Framework\Utilities\Params;
15 use AdvancedAds\Framework\Interfaces\Integration_Interface;
16
17 defined( 'ABSPATH' ) || exit;
18
19 /**
20 * Placement Bulk Edit.
21 */
22 class Bulk_Edit implements Integration_Interface {
23
24 /**
25 * Hook into WordPress.
26 *
27 * @return void
28 */
29 public function hooks(): void {
30 add_action( 'bulk_edit_custom_box', [ $this, 'add_bulk_edit_fields' ], 10, 2 );
31 add_action( 'save_post', [ $this, 'save_bulk_edit' ], 100 );
32 }
33
34 /**
35 * Add the bulk edit inputs
36 *
37 * @param string $column_name the current column.
38 * @param string $post_type the current post type.
39 *
40 * @return void
41 */
42 public function add_bulk_edit_fields( $column_name, $post_type ) {
43 // Early bail!!
44 if ( Constants::POST_TYPE_PLACEMENT !== $post_type || 'type' !== $column_name ) {
45 return;
46 }
47
48 include ADVADS_ABSPATH . 'views/admin/placements/bulk-edit.php';
49
50 /**
51 * Allow add-ons to add more fields.
52 */
53 do_action( 'advanced-ads-placement-bulk-edit-fields' );
54 }
55
56 /**
57 * Save changes made during bulk edit
58 *
59 * @return void
60 */
61 public function save_bulk_edit() {
62 // not placement or not enough permissions.
63 if ( Constants::POST_TYPE_PLACEMENT !== sanitize_key( Params::get( 'post_type' ) ) || ! current_user_can( 'advanced_ads_edit_ads' )
64 ) {
65 return;
66 }
67
68 check_admin_referer( 'bulk-posts' );
69
70 $ad_label = Params::get( 'ad_label' );
71
72 $has_change = ! empty( $ad_label );
73
74 /**
75 * Filter to determine if there are changes to be saved during bulk edit.
76 *
77 * @param bool $has_change Indicates if there are changes to be saved.
78 */
79 $has_change = apply_filters( 'advanced-ads-placement-bulk-edit-has-change', $has_change );
80
81 // No changes, bail out.
82 if ( ! $has_change ) {
83 return;
84 }
85
86 $placements = array_map(
87 function ( $placement ) {
88 return wp_advads_get_placement( absint( $placement ) );
89 },
90 wp_unslash( Params::get( 'post', [], FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ) )
91 );
92
93 foreach ( $placements as $placement ) {
94 if ( ! empty( $ad_label ) ) {
95 $placement->set_prop( 'ad_label', $ad_label );
96 }
97
98 /**
99 * Allow add-on to bulk save placements.
100 *
101 * @param Placement $placement current placement being saved.
102 */
103 $placement = apply_filters( 'advanced-ads-placement-bulk-edit-save', $placement );
104
105 $placement->save();
106 }
107 }
108 }
109