PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.26
Advanced Ads – Ad Manager & AdSense v2.0.26
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 / class-modal.php
advanced-ads / includes Last commit date
abstracts 3 weeks ago admin 3 weeks ago ads 3 weeks ago compatibility 3 weeks ago crons 3 weeks ago frontend 3 weeks ago groups 3 weeks ago importers 3 weeks ago installation 3 weeks ago interfaces 3 weeks ago license 3 weeks ago placements 3 weeks ago rest 3 weeks ago traits 3 weeks ago utilities 3 weeks ago class-assets-registry.php 1 month ago class-autoloader.php 2 months ago class-cache-invalidator.php 3 weeks ago class-constants.php 3 weeks ago class-content-injector.php 3 weeks ago class-entities.php 5 months ago class-modal.php 3 weeks ago class-modules.php 3 weeks ago class-options.php 3 weeks ago class-plugin.php 3 weeks ago class-post-data.php 1 year ago class-shortcodes.php 3 weeks ago class-upgrades.php 3 weeks ago class-widget.php 3 weeks ago default-hooks.php 6 months ago functions-ad.php 3 weeks ago functions-components.php 3 weeks ago functions-conditional.php 1 year ago functions-core.php 1 year ago functions-group.php 3 weeks ago functions-placement.php 3 weeks ago functions.php 3 weeks ago index.php 2 years ago load_modules.php 3 weeks ago
class-modal.php
107 lines
1 <?php
2 /**
3 * Modal.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.50.0
8 */
9
10 namespace AdvancedAds;
11
12 defined( 'ABSPATH' ) || exit;
13
14 /**
15 * Modal.
16 */
17 class Modal {
18 /**
19 * Default values for the view file.
20 *
21 * @var array<string, mixed>
22 */
23 private $view_arguments = [
24 'modal_slug' => '',
25 'modal_content' => '',
26 'modal_title' => '',
27 'cancel_action' => true,
28 'close_action' => '',
29 'close_form' => '',
30 'close_validation' => '',
31 'template' => '',
32 'dismiss_button_styling' => '',
33 'container_styling' => '',
34 'background_styling' => '',
35 ];
36
37 /**
38 * Create modal.
39 *
40 * @param array<string, mixed> $arguments The passed view arguments, overwriting the default values.
41 * @param bool $render Whether to render the modal from the constructor. Defaults to true.
42 *
43 * @return Modal
44 */
45 public static function create( array $arguments, $render = true ) {
46 return new Modal( $arguments, $render );
47 }
48
49 /**
50 * Create modal from file.
51 *
52 * @param array<string, mixed> $arguments The passed view arguments, overwriting the default values.
53 * @param string $file File path to include content from.
54 * @param bool $render Whether to render the modal from the constructor. Defaults to true.
55 *
56 * @return Modal
57 */
58 public static function create_from_file( array $arguments, $file, $render = true ) {
59 ob_start();
60 require $file;
61
62 $arguments['modal_content'] = ob_get_clean();
63
64 return new Modal( $arguments, $render );
65 }
66
67 /**
68 * Modal constructor.
69 *
70 * @param array<string, mixed> $arguments The passed view arguments, overwriting the default values.
71 * @param bool $render Whether to render the modal from the constructor. Defaults to true.
72 */
73 public function __construct( array $arguments, $render = true ) {
74 $this->view_arguments = array_intersect_key(
75 wp_parse_args(
76 array_map(
77 function ( $value ) {
78 return (string) $value;
79 },
80 $arguments
81 ),
82 $this->view_arguments
83 ),
84 $this->view_arguments
85 );
86
87 if ( $render ) {
88 $this->render();
89 }
90 }
91
92 /**
93 * Render the modal.
94 *
95 * @return void
96 */
97 public function render() {
98 extract( $this->view_arguments, EXTR_OVERWRITE ); // phpcs:ignore WordPress.PHP.DontExtract.extract_extract
99
100 $file = '' !== $this->view_arguments['template']
101 ? $this->view_arguments['template']
102 : ADVADS_ABSPATH . 'admin/views/modal.php';
103
104 require $file;
105 }
106 }
107