PluginProbe ʕ •ᴥ•ʔ
WP 2FA – Two-factor authentication for WordPress / 1.5.2
WP 2FA – Two-factor authentication for WordPress v1.5.2
4.0.0 1.7.1 2.0.0 2.0.1 2.1.0 2.2.0 2.2.1 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.8.0 2.9.0 2.9.1 2.9.2 2.9.3 3.0.0 3.0.1 3.1.0 3.1.1 3.1.1.2 trunk 1.2.0 1.3.0 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.6.0 1.6.1 1.6.2 1.7.0
wp-2fa / includes / classes / Utils / GenerateModal.php
wp-2fa / includes / classes / Utils Last commit date
DateTimeUtils.php 5 years ago Debugging.php 5 years ago GenerateModal.php 5 years ago UserUtils.php 5 years ago
GenerateModal.php
66 lines
1 <?php
2 namespace WP2FA\Utils;
3
4 use WP2FA\WP2FA as WP2FA;
5
6 /**
7 * Utility class for creating modal popup markup.
8 *
9 * @package WP2FA\Utils
10 * @since 1.4.2
11 */
12 class GenerateModal {
13
14 /**
15 * General modals based on given args.
16 *
17 * @param string $modal_id Unique ID for the modal.
18 * @param string $modal_title (Optional) Modal title.
19 * @param string $modal_content The HTML content we want to show in the modal.
20 * @param array $modal_footer_buttons The HTML content we want to show at the footer of the modal, usually buttons.
21 * @param string $should_modal_autoopen (Optional) if anything is passed we will open the modal automatically.
22 * @param string $should_modal_autoopen (Optional) Max possible width of modal.
23 */
24 public static function generate_modal( $modal_id, $modal_title = '', $modal_content, $modal_footer_buttons = [], $should_modal_autoopen = '', $max_width = '' ) {
25
26 $buttons = '';
27 $modal = '';
28 $title = ( ! empty( $modal_title ) ) ? '<header class="modal__header"><h4 class="modal__title" id="modal-'. esc_attr( $modal_id ) .'-title">'. $modal_title .'</h4></header>' : false;
29
30 if ( ! empty( $modal_footer_buttons ) ) {
31 foreach ( $modal_footer_buttons as $button_markup ) {
32 $buttons .= $button_markup ;
33 }
34 }
35
36 if ( ! empty( $should_modal_autoopen ) ) {
37 $modal_class = 'wp2fa-modal micromodal-slide is-open';
38 $hidden = 'false';
39 } else {
40 $modal_class = 'wp2fa-modal micromodal-slide';
41 $hidden = 'true';
42 }
43
44 $max_width_styles = ( ! empty( $max_width ) ) ? 'style="max-width:'. esc_attr( $max_width ) .'; min-width: 0;"' : false;
45
46 $modal = '
47 <div class="'. $modal_class .'" id="'. esc_attr( $modal_id ) .'" aria-hidden="'. esc_attr( $hidden ) .'">
48 <div class="modal__overlay" tabindex="-1" data-micromodal-close>
49 <div class="modal__container" role="dialog" aria-modal="true" aria-labelledby="modal-'. esc_attr( $modal_id ) .'-title" '. $max_width_styles .'>
50 '. $title .'
51 <main class="modal__content" id="modal-'. esc_attr( $modal_id ) .'-content">
52 '. wpautop( $modal_content ) .'
53 </main>
54 <footer class="modal__footer">
55 '. $buttons .'
56 </footer>
57 </div>
58 </div>
59 </div>
60 ';
61
62 return $modal;
63 }
64
65 }
66