PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.21
Advanced Ads – Ad Manager & AdSense v2.0.21
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 2 months ago admin 2 months ago ads 3 months ago compatibility 3 months ago crons 3 months ago frontend 2 months ago groups 3 months ago importers 2 months ago installation 1 year ago interfaces 4 months ago license 3 months ago placements 3 months ago rest 1 year ago traits 4 months ago utilities 3 months ago array_ad_conditions.php 1 year ago cap_map.php 3 years ago class-assets-registry.php 3 months ago class-autoloader.php 1 year ago class-constants.php 1 year ago class-content-injector.php 2 months ago class-entities.php 3 months ago class-modal.php 1 year ago class-modules.php 1 year ago class-options.php 1 year ago class-plugin.php 2 months ago class-post-data.php 10 months ago class-shortcodes.php 2 months ago class-upgrades.php 1 year ago class-widget.php 11 months ago default-hooks.php 4 months ago functions-ad.php 1 year ago functions-components.php 3 months ago functions-conditional.php 1 year ago functions-core.php 1 year ago functions-group.php 1 year ago functions-placement.php 1 year ago functions.php 3 months ago index.php 2 years ago load_modules.php 2 years 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
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 $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 $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 $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