@@ -6,7 +6,7 @@ |
||
6 | 6 | $data_keys = array_keys( $data ); |
7 | 7 | $params = array(); |
8 | 8 | foreach ( $data_keys as $key ) { |
9 | - $params[ 'data-' . $key ] = $data[ $key ]; |
|
9 | + $params['data-' . $key] = $data[$key]; |
|
10 | 10 | } |
11 | 11 | $params['class'] = 'frm_show_upgrade frm_noallow'; |
12 | 12 | $params['href'] = '#'; |
@@ -34,7 +34,7 @@ |
||
34 | 34 | $max_length = intval( FrmField::get_option( $this->field, 'max' ) ); |
35 | 35 | |
36 | 36 | if ( $max_length && strlen( $args['value'] ) > $max_length ) { |
37 | - $errors[ 'field' . $args['id'] ] = FrmFieldsHelper::get_error_msg( $this->field, 'invalid' ); |
|
37 | + $errors['field' . $args['id']] = FrmFieldsHelper::get_error_msg( $this->field, 'invalid' ); |
|
38 | 38 | } |
39 | 39 | |
40 | 40 | return $errors; |
@@ -119,7 +119,8 @@ |
||
119 | 119 | * @return void |
120 | 120 | */ |
121 | 121 | private static function maybe_hook_into_global_settings_save() { |
122 | - if ( empty( $_POST ) || ! isset( $_POST['style'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
122 | + if ( empty( $_POST ) || ! isset( $_POST['style'] ) ) { |
|
123 | +// phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
123 | 124 | // Avoid changing any style data if the style array is not sent in the request. |
124 | 125 | return; |
125 | 126 | } |
@@ -153,7 +153,7 @@ discard block |
||
153 | 153 | /** |
154 | 154 | * Update the form data on the "Manage Styles" tab after global settings are saved. |
155 | 155 | */ |
156 | - function () { |
|
156 | + function() { |
|
157 | 157 | self::manage_styles(); |
158 | 158 | } |
159 | 159 | ); |
@@ -400,7 +400,7 @@ discard block |
||
400 | 400 | if ( ! $form_id ) { |
401 | 401 | // TODO: Show a message why a random form is being shown (because no form is assigned to the style). |
402 | 402 | // Fallback to any form. |
403 | - $where = array( |
|
403 | + $where = array( |
|
404 | 404 | 'status' => 'published', |
405 | 405 | // Make sure it's not a repeater. |
406 | 406 | 'parent_form_id' => array( null, 0 ), |
@@ -419,7 +419,7 @@ discard block |
||
419 | 419 | private static function disable_admin_page_styling_on_submit_buttons() { |
420 | 420 | add_filter( |
421 | 421 | 'frm_submit_button_class', |
422 | - function ( $classes ) { |
|
422 | + function( $classes ) { |
|
423 | 423 | $classes[] = 'frm_no_style_button'; |
424 | 424 | return $classes; |
425 | 425 | } |
@@ -627,13 +627,13 @@ discard block |
||
627 | 627 | private static function force_form_style( $style ) { |
628 | 628 | add_filter( |
629 | 629 | 'frm_add_form_style_class', |
630 | - function ( $class ) use ( $style ) { |
|
631 | - $split = array_filter( |
|
630 | + function( $class ) use ( $style ) { |
|
631 | + $split = array_filter( |
|
632 | 632 | explode( ' ', $class ), |
633 | 633 | /** |
634 | 634 | * @param string $class |
635 | 635 | */ |
636 | - function ( $class ) { |
|
636 | + function( $class ) { |
|
637 | 637 | return $class && 0 !== strpos( $class, 'frm_style_' ); |
638 | 638 | } |
639 | 639 | ); |
@@ -749,8 +749,8 @@ discard block |
||
749 | 749 | |
750 | 750 | $forms = FrmForm::get_published_forms(); |
751 | 751 | foreach ( $forms as $form ) { |
752 | - $new_style = isset( $_POST['style'] ) && isset( $_POST['style'][ $form->id ] ) ? sanitize_text_field( wp_unslash( $_POST['style'][ $form->id ] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
753 | - $previous_style = isset( $_POST['prev_style'] ) && isset( $_POST['prev_style'][ $form->id ] ) ? sanitize_text_field( wp_unslash( $_POST['prev_style'][ $form->id ] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
752 | + $new_style = isset( $_POST['style'] ) && isset( $_POST['style'][$form->id] ) ? sanitize_text_field( wp_unslash( $_POST['style'][$form->id] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
753 | + $previous_style = isset( $_POST['prev_style'] ) && isset( $_POST['prev_style'][$form->id] ) ? sanitize_text_field( wp_unslash( $_POST['prev_style'][$form->id] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
754 | 754 | if ( $new_style == $previous_style ) { |
755 | 755 | continue; |
756 | 756 | } |
@@ -1159,8 +1159,8 @@ discard block |
||
1159 | 1159 | */ |
1160 | 1160 | public static function get_style_val( $val, $form = 'default' ) { |
1161 | 1161 | $style = self::get_form_style( $form ); |
1162 | - if ( $style && isset( $style->post_content[ $val ] ) ) { |
|
1163 | - return $style->post_content[ $val ]; |
|
1162 | + if ( $style && isset( $style->post_content[$val] ) ) { |
|
1163 | + return $style->post_content[$val]; |
|
1164 | 1164 | } |
1165 | 1165 | } |
1166 | 1166 | |
@@ -1179,7 +1179,7 @@ discard block |
||
1179 | 1179 | } elseif ( 'alt_bg_color' == $name ) { |
1180 | 1180 | $setting = 'bg_color_active'; |
1181 | 1181 | } |
1182 | - $default_styles[ $name ] = $style->post_content[ $setting ]; |
|
1182 | + $default_styles[$name] = $style->post_content[$setting]; |
|
1183 | 1183 | unset( $name, $val ); |
1184 | 1184 | } |
1185 | 1185 | |
@@ -1225,16 +1225,16 @@ discard block |
||
1225 | 1225 | $i = 0; |
1226 | 1226 | $first_open = false; |
1227 | 1227 | |
1228 | - if ( isset( $wp_meta_boxes[ $page ][ $context ] ) ) { |
|
1228 | + if ( isset( $wp_meta_boxes[$page][$context] ) ) { |
|
1229 | 1229 | foreach ( array( 'high', 'core', 'default', 'low' ) as $priority ) { |
1230 | - if ( isset( $wp_meta_boxes[ $page ][ $context ][ $priority ] ) ) { |
|
1231 | - foreach ( $wp_meta_boxes[ $page ][ $context ][ $priority ] as $box ) { |
|
1230 | + if ( isset( $wp_meta_boxes[$page][$context][$priority] ) ) { |
|
1231 | + foreach ( $wp_meta_boxes[$page][$context][$priority] as $box ) { |
|
1232 | 1232 | if ( false === $box || ! $box['title'] ) { |
1233 | 1233 | continue; |
1234 | 1234 | } |
1235 | 1235 | |
1236 | - ++$i; |
|
1237 | - $icon_id = array_key_exists( $box['id'], $icon_ids ) ? $icon_ids[ $box['id'] ] : 'frm-' . $box['id']; |
|
1236 | + ++ $i; |
|
1237 | + $icon_id = array_key_exists( $box['id'], $icon_ids ) ? $icon_ids[$box['id']] : 'frm-' . $box['id']; |
|
1238 | 1238 | |
1239 | 1239 | $open_class = ''; |
1240 | 1240 | if ( ! $first_open ) { |
@@ -67,7 +67,8 @@ |
||
67 | 67 | $new_instance = (array) $new_instance; |
68 | 68 | $this->id = $new_instance['ID']; |
69 | 69 | |
70 | - if ( $id != $this->id || ! $_POST || ! isset( $_POST['frm_style_setting'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
70 | + if ( $id != $this->id || ! $_POST || ! isset( $_POST['frm_style_setting'] ) ) { |
|
71 | +// phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
71 | 72 | // Don't continue if not saving this style. |
72 | 73 | continue; |
73 | 74 | } |
@@ -102,21 +102,21 @@ discard block |
||
102 | 102 | $default_settings = $this->get_defaults(); |
103 | 103 | |
104 | 104 | foreach ( $default_settings as $setting => $default ) { |
105 | - if ( ! isset( $new_instance['post_content'][ $setting ] ) ) { |
|
106 | - $new_instance['post_content'][ $setting ] = $default; |
|
105 | + if ( ! isset( $new_instance['post_content'][$setting] ) ) { |
|
106 | + $new_instance['post_content'][$setting] = $default; |
|
107 | 107 | } |
108 | 108 | |
109 | 109 | if ( $this->is_color( $setting ) ) { |
110 | - $color_val = $new_instance['post_content'][ $setting ]; |
|
110 | + $color_val = $new_instance['post_content'][$setting]; |
|
111 | 111 | if ( $color_val !== '' && false !== strpos( $color_val, 'rgb' ) ) { |
112 | 112 | // Maybe sanitize if invalid rgba value is entered. |
113 | 113 | $this->maybe_sanitize_rgba_value( $color_val ); |
114 | 114 | } |
115 | - $new_instance['post_content'][ $setting ] = str_replace( '#', '', $color_val ); |
|
116 | - } elseif ( in_array( $setting, array( 'submit_style', 'important_style', 'auto_width' ), true ) && ! isset( $new_instance['post_content'][ $setting ] ) ) { |
|
117 | - $new_instance['post_content'][ $setting ] = 0; |
|
115 | + $new_instance['post_content'][$setting] = str_replace( '#', '', $color_val ); |
|
116 | + } elseif ( in_array( $setting, array( 'submit_style', 'important_style', 'auto_width' ), true ) && ! isset( $new_instance['post_content'][$setting] ) ) { |
|
117 | + $new_instance['post_content'][$setting] = 0; |
|
118 | 118 | } elseif ( $setting === 'font' ) { |
119 | - $new_instance['post_content'][ $setting ] = $this->force_balanced_quotation( $new_instance['post_content'][ $setting ] ); |
|
119 | + $new_instance['post_content'][$setting] = $this->force_balanced_quotation( $new_instance['post_content'][$setting] ); |
|
120 | 120 | } |
121 | 121 | } |
122 | 122 | |
@@ -236,14 +236,14 @@ discard block |
||
236 | 236 | $valid_keys = array_keys( $defaults ); |
237 | 237 | $sanitized_settings = array(); |
238 | 238 | foreach ( $valid_keys as $key ) { |
239 | - if ( isset( $settings[ $key ] ) ) { |
|
240 | - $sanitized_settings[ $key ] = sanitize_textarea_field( $settings[ $key ] ); |
|
239 | + if ( isset( $settings[$key] ) ) { |
|
240 | + $sanitized_settings[$key] = sanitize_textarea_field( $settings[$key] ); |
|
241 | 241 | } else { |
242 | - $sanitized_settings[ $key ] = $defaults[ $key ]; |
|
242 | + $sanitized_settings[$key] = $defaults[$key]; |
|
243 | 243 | } |
244 | 244 | |
245 | 245 | if ( 'custom_css' !== $key ) { |
246 | - $sanitized_settings[ $key ] = $this->strip_invalid_characters( $sanitized_settings[ $key ] ); |
|
246 | + $sanitized_settings[$key] = $this->strip_invalid_characters( $sanitized_settings[$key] ); |
|
247 | 247 | } |
248 | 248 | } |
249 | 249 | return $sanitized_settings; |
@@ -493,13 +493,13 @@ discard block |
||
493 | 493 | $style->post_content = $this->override_defaults( $style->post_content ); |
494 | 494 | $style->post_content = wp_parse_args( $style->post_content, $default_values ); |
495 | 495 | |
496 | - $styles[ $style->ID ] = $style; |
|
496 | + $styles[$style->ID] = $style; |
|
497 | 497 | } |
498 | 498 | |
499 | 499 | if ( ! $default_style ) { |
500 | 500 | $default_style = reset( $styles ); |
501 | 501 | |
502 | - $styles[ $default_style->ID ]->menu_order = 1; |
|
502 | + $styles[$default_style->ID]->menu_order = 1; |
|
503 | 503 | } |
504 | 504 | |
505 | 505 | return $styles; |
@@ -743,7 +743,7 @@ discard block |
||
743 | 743 | continue; |
744 | 744 | } |
745 | 745 | |
746 | - if ( $value && $char === $value[ strlen( $value ) - 1 ] ) { |
|
746 | + if ( $value && $char === $value[strlen( $value ) - 1] ) { |
|
747 | 747 | $value = $char . $value; |
748 | 748 | } else { |
749 | 749 | $value .= $char; |
@@ -285,7 +285,8 @@ |
||
285 | 285 | public static function get_settings_for_output( $style ) { |
286 | 286 | if ( self::previewing_style() ) { |
287 | 287 | $frm_style = new FrmStyle(); |
288 | - if ( isset( $_POST['frm_style_setting'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
288 | + if ( isset( $_POST['frm_style_setting'] ) ) { |
|
289 | +// phpcs:ignore WordPress.Security.NonceVerification.Missing |
|
289 | 290 | |
290 | 291 | // Sanitizing is done later. |
291 | 292 | $posted = wp_unslash( $_POST['frm_style_setting'] ); //phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification.Missing |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | '-' => 'down', |
127 | 127 | '+' => 'up', |
128 | 128 | ); |
129 | - $class = 'frm_arrow' . $arrow[ $icon ]; |
|
129 | + $class = 'frm_arrow' . $arrow[$icon]; |
|
130 | 130 | } else { |
131 | 131 | // frm_minus1_icon. |
132 | 132 | $key = str_replace( 'p', '', $key ); |
@@ -134,7 +134,7 @@ discard block |
||
134 | 134 | '-' => 'minus', |
135 | 135 | '+' => 'plus', |
136 | 136 | ); |
137 | - $class = 'frm_' . $plus[ $icon ]; |
|
137 | + $class = 'frm_' . $plus[$icon]; |
|
138 | 138 | } |
139 | 139 | |
140 | 140 | if ( $key ) { |
@@ -160,8 +160,8 @@ discard block |
||
160 | 160 | ?> |
161 | 161 | <div class="btn-group" id="frm_<?php echo esc_attr( $name ); ?>_select"> |
162 | 162 | <button class="multiselect dropdown-toggle btn btn-default" data-toggle="dropdown" type="button"> |
163 | - <?php FrmAppHelper::icon_by_class( 'frmfont ' . self::icon_key_to_class( $style->post_content[ $name ], '+', $type ) ); ?> |
|
164 | - <?php FrmAppHelper::icon_by_class( 'frmfont ' . self::icon_key_to_class( $style->post_content[ $name ], '-', $type ) ); ?> |
|
163 | + <?php FrmAppHelper::icon_by_class( 'frmfont ' . self::icon_key_to_class( $style->post_content[$name], '+', $type ) ); ?> |
|
164 | + <?php FrmAppHelper::icon_by_class( 'frmfont ' . self::icon_key_to_class( $style->post_content[$name], '-', $type ) ); ?> |
|
165 | 165 | <b class="caret"></b> |
166 | 166 | </button> |
167 | 167 | <ul class="multiselect-container frm-dropdown-menu"> |
@@ -169,7 +169,7 @@ discard block |
||
169 | 169 | <li <?php echo $style->post_content['collapse_icon'] == $key ? 'class="active"' : ''; ?>> |
170 | 170 | <a href="javascript:void(0);"> |
171 | 171 | <label> |
172 | - <input type="radio" value="<?php echo esc_attr( $key ); ?>" name="<?php echo esc_attr( $frm_style->get_field_name( $name ) ); ?>" <?php checked( $style->post_content[ $name ], $key ); ?> /> |
|
172 | + <input type="radio" value="<?php echo esc_attr( $key ); ?>" name="<?php echo esc_attr( $frm_style->get_field_name( $name ) ); ?>" <?php checked( $style->post_content[$name], $key ); ?> /> |
|
173 | 173 | <span> |
174 | 174 | <?php |
175 | 175 | FrmAppHelper::icon_by_class( 'frmfont ' . self::icon_key_to_class( $key, '+', $type ) ); |
@@ -421,15 +421,15 @@ discard block |
||
421 | 421 | $vars = array_diff( $vars, $remove ); |
422 | 422 | |
423 | 423 | foreach ( $vars as $var ) { |
424 | - if ( ! isset( $settings[ $var ] ) ) { |
|
424 | + if ( ! isset( $settings[$var] ) ) { |
|
425 | 425 | continue; |
426 | 426 | } |
427 | - if ( ! isset( $defaults[ $var ] ) ) { |
|
428 | - $defaults[ $var ] = ''; |
|
427 | + if ( ! isset( $defaults[$var] ) ) { |
|
428 | + $defaults[$var] = ''; |
|
429 | 429 | } |
430 | - $show = empty( $defaults ) || ( $settings[ $var ] !== '' && $settings[ $var ] !== $defaults[ $var ] ); |
|
430 | + $show = empty( $defaults ) || ( $settings[$var] !== '' && $settings[$var] !== $defaults[$var] ); |
|
431 | 431 | if ( $show ) { |
432 | - echo '--' . esc_html( str_replace( '_', '-', $var ) ) . ':' . ( $var === 'font' ? FrmAppHelper::kses( $settings[ $var ] ) : esc_html( $settings[ $var ] ) ) . ';'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
432 | + echo '--' . esc_html( str_replace( '_', '-', $var ) ) . ':' . ( $var === 'font' ? FrmAppHelper::kses( $settings[$var] ) : esc_html( $settings[$var] ) ) . ';'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped |
|
433 | 433 | } |
434 | 434 | } |
435 | 435 | } |
@@ -478,8 +478,8 @@ discard block |
||
478 | 478 | |
479 | 479 | $checkbox_opts = array( 'important_style', 'auto_width', 'submit_style', 'collapse_icon', 'center_form' ); |
480 | 480 | foreach ( $checkbox_opts as $opt ) { |
481 | - if ( ! isset( $settings[ $opt ] ) ) { |
|
482 | - $settings[ $opt ] = 0; |
|
481 | + if ( ! isset( $settings[$opt] ) ) { |
|
482 | + $settings[$opt] = 0; |
|
483 | 483 | } |
484 | 484 | } |
485 | 485 | |
@@ -507,7 +507,7 @@ discard block |
||
507 | 507 | $css = ''; |
508 | 508 | } |
509 | 509 | foreach ( $opts as $opt ) { |
510 | - self::get_color_output( $css, $settings[ $opt ] ); |
|
510 | + self::get_color_output( $css, $settings[$opt] ); |
|
511 | 511 | } |
512 | 512 | } |
513 | 513 | } |
@@ -727,13 +727,13 @@ discard block |
||
727 | 727 | */ |
728 | 728 | private static function get_default_style_count( $style_id, $conversational_style_id ) { |
729 | 729 | $substrings = array_map( |
730 | - function ( $value ) { |
|
730 | + function( $value ) { |
|
731 | 731 | $substring = serialize( array( 'custom_style' => $value ) ); |
732 | 732 | return substr( $substring, 5, -1 ); |
733 | 733 | }, |
734 | 734 | array( '1', 1 ) |
735 | 735 | ); |
736 | - $where = array( |
|
736 | + $where = array( |
|
737 | 737 | 'status' => 'published', |
738 | 738 | 0 => array( |
739 | 739 | 'options NOT LIKE' => 'custom_style', |
@@ -50,7 +50,7 @@ |
||
50 | 50 | // Remove 'Styling Template' from titles. |
51 | 51 | foreach ( $api_info as $id => $template ) { |
52 | 52 | if ( isset( $template['name'] ) ) { |
53 | - $api_info[ $id ]['name'] = preg_replace( '/(\sStyle|Styling)?(\sTemplate)?$/', '', $template['name'] ); |
|
53 | + $api_info[$id]['name'] = preg_replace( '/(\sStyle|Styling)?(\sTemplate)?$/', '', $template['name'] ); |
|
54 | 54 | } |
55 | 55 | } |
56 | 56 |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | 'text-color' => $style->post_content['text_color'], |
41 | 41 | 'submit-bg-color' => $style->post_content['submit_bg_color'], |
42 | 42 | ); |
43 | - $index = 0; |
|
43 | + $index = 0; |
|
44 | 44 | foreach ( $colors as $css_var_name => $color ) { |
45 | 45 | if ( 0 !== strpos( $color, 'rgb' ) ) { |
46 | 46 | $color = '#' . $color; |
@@ -51,7 +51,7 @@ discard block |
||
51 | 51 | 'style' => 'background-color: var(--' . $css_var_name . ')', |
52 | 52 | ); |
53 | 53 | |
54 | - ++$index; |
|
54 | + ++ $index; |
|
55 | 55 | ?> |
56 | 56 | <div <?php FrmAppHelper::array_to_html_params( $circle_params, true ); ?>></div> |
57 | 57 | <?php |
@@ -105,13 +105,13 @@ discard block |
||
105 | 105 | if ( isset( $addon['categories'] ) ) { |
106 | 106 | $cats = array_intersect( $this->skip_categories(), $addon['categories'] ); |
107 | 107 | if ( ! empty( $cats ) ) { |
108 | - unset( $addons[ $k ] ); |
|
108 | + unset( $addons[$k] ); |
|
109 | 109 | continue; |
110 | 110 | } |
111 | 111 | } |
112 | 112 | |
113 | 113 | if ( ! array_key_exists( 'is_new', $addon ) && array_key_exists( 'released', $addon ) ) { |
114 | - $addons[ $k ]['is_new'] = $this->is_new( $addon ); |
|
114 | + $addons[$k]['is_new'] = $this->is_new( $addon ); |
|
115 | 115 | } |
116 | 116 | } |
117 | 117 | |
@@ -153,8 +153,8 @@ discard block |
||
153 | 153 | return $addon; |
154 | 154 | } |
155 | 155 | } |
156 | - } elseif ( isset( $addons[ $download_id ] ) ) { |
|
157 | - $plugin = $addons[ $download_id ]; |
|
156 | + } elseif ( isset( $addons[$download_id] ) ) { |
|
157 | + $plugin = $addons[$download_id]; |
|
158 | 158 | } |
159 | 159 | |
160 | 160 | return $plugin; |
@@ -80,12 +80,12 @@ discard block |
||
80 | 80 | $show_intervals = array( 50, 200, 500 ); |
81 | 81 | $asked = $this->review_status['asked']; |
82 | 82 | |
83 | - if ( ! isset( $show_intervals[ $asked ] ) ) { |
|
83 | + if ( ! isset( $show_intervals[$asked] ) ) { |
|
84 | 84 | return; |
85 | 85 | } |
86 | 86 | |
87 | 87 | $entries = FrmEntry::getRecordCount(); |
88 | - $count = $show_intervals[ $asked ]; |
|
88 | + $count = $show_intervals[$asked]; |
|
89 | 89 | $user = wp_get_current_user(); |
90 | 90 | |
91 | 91 | // Only show review request if the site has collected enough entries |
@@ -134,7 +134,7 @@ discard block |
||
134 | 134 | $requests = $message->get_messages(); |
135 | 135 | $key = $this->inbox_key . ( $asked ? $asked : '' ); |
136 | 136 | |
137 | - if ( isset( $requests[ $key ] ) ) { |
|
137 | + if ( isset( $requests[$key] ) ) { |
|
138 | 138 | return; |
139 | 139 | } |
140 | 140 | |
@@ -173,7 +173,7 @@ discard block |
||
173 | 173 | * @return bool |
174 | 174 | */ |
175 | 175 | private function has_later_request( $requests, $asked ) { |
176 | - return isset( $requests[ $this->inbox_key . ( $asked + 1 ) ] ) || isset( $requests[ $this->inbox_key . ( $asked + 2 ) ] ); |
|
176 | + return isset( $requests[$this->inbox_key . ( $asked + 1 )] ) || isset( $requests[$this->inbox_key . ( $asked + 2 )] ); |
|
177 | 177 | } |
178 | 178 | |
179 | 179 | /** |