PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.12
Advanced Ads – Ad Manager & AdSense v2.0.12
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 9 months ago admin 10 months ago ads 9 months ago compatibility 9 months ago crons 1 year ago frontend 11 months ago groups 1 year ago importers 1 year ago installation 1 year ago interfaces 1 year ago placements 1 year ago rest 1 year ago traits 1 year ago utilities 11 months ago array_ad_conditions.php 1 year ago cap_map.php 3 years ago class-assets-registry.php 1 year ago class-autoloader.php 1 year ago class-constants.php 1 year ago class-entities.php 1 year ago class-modal.php 1 year ago class-modules.php 1 year ago class-options.php 1 year ago class-plugin.php 1 year ago class-post-data.php 10 months ago class-shortcodes.php 1 year ago class-upgrades.php 1 year ago class-widget.php 11 months ago default-hooks.php 1 year ago functions-ad.php 1 year 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 1 year 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