PluginProbe
Survey Maker by AYS / 5.2.4.1
Survey Maker by AYS v5.2.4.1
5.2.4.1 5.2.4.0 5.2.3.9 5.2.3.8 5.2.3.7 5.2.3.6 5.2.3.5 5.2.3.4 5.2.3.3 5.2.3.2 5.2.3.1 5.2.3.0 5.2.2.9 5.2.2.8 5.2.2.7 5.2.2.6 5.2.2.5 5.2.2.4 5.2.2.3 5.2.2.2 5.2.2.1 5.2.2.0 5.2.1.9 5.2.1.8 5.2.0.8 All 154 releases
← All changes | public/class-survey-maker-public.php +161 -34 5.2.3.3 → 5.2.4.1 View file →
@@ -133,8 +133,9 @@
133 133
134 134 wp_localize_script( $this->plugin_name . '-plugin', 'aysSurveyMakerAjaxPublic', array(
135 135 'ajaxUrl' => admin_url('admin-ajax.php'),
136 136 'warningIcon' => SURVEY_MAKER_PUBLIC_URL . "/images/warning.svg",
137 + 'ajaxNonce' => wp_create_nonce( 'ays_survey_ajax_nonce' ),
137 138 'autofill_nonce' => wp_create_nonce('survey_maker_autofill_nonce')
138 139 ) );
139 140 wp_localize_script( $this->plugin_name, 'aysSurveyLangObj', array(
140 141 'notAnsweredText' => __( 'You have not answered this question', "survey-maker" ),
@@ -159,8 +160,9 @@
159 160 public function enqueue_scripts_popups() {
160 161 wp_enqueue_script( $this->plugin_name . '-popups', plugin_dir_url( __FILE__ ) . 'js/survey-maker-public-popups.js', array( 'jquery' ), $this->version, false );
161 162 wp_localize_script( $this->plugin_name . '-popups', 'aysSurveyMakerPopupsAjaxPublic', array(
162 163 'ajaxUrl' => admin_url('admin-ajax.php'),
164 + 'ajaxNonce' => wp_create_nonce( 'ays_survey_ajax_nonce' ),
163 165 ) );
164 166 }
165 167
166 168 public function ays_survey_ajax(){
@@ -165,8 +167,14 @@
165 167
166 168 public function ays_survey_ajax(){
167 169 global $wpdb;
168 170
171 + if ( 'POST' !== strtoupper( isset( $_SERVER['REQUEST_METHOD'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_METHOD'] ) ) : '' ) ) {
172 + wp_send_json_error( array( 'message' => __( 'Invalid request method.', 'survey-maker' ) ), 405 );
173 + }
174 +
175 + check_ajax_referer( 'ays_survey_ajax_nonce', '_ajax_nonce' );
176 +
169 177 $results = array(
170 178 "status" => false
171 179 );
172 180 $function = isset($_REQUEST['function']) ? $_REQUEST['function'] : null;
@@ -188,16 +196,14 @@
188 196 }
189 197
190 198 ob_end_clean();
191 199 $ob_get_clean = ob_get_clean();
192 - echo json_encode( $results );
193 - wp_die();
200 + wp_send_json( $results );
194 201 }
195 202
196 203 ob_end_clean();
197 204 $ob_get_clean = ob_get_clean();
198 - echo json_encode( $results );
199 - wp_die();
205 + wp_send_json( $results );
200 206 }
201 207
202 208 public function ays_finish_survey( $data ){
203 209 $unique_id = isset($data['unique_id']) ? $data['unique_id'] : null;
@@ -223,14 +229,25 @@
223 229
224 230 $answered_questions = isset( $data[ $name_prefix . 'answers-' . $unique_id ] ) && !empty( $data[ $name_prefix . 'answers-' . $unique_id ] ) ? $data[ $name_prefix . 'answers-' . $unique_id ] : array();
225 231 $questions_data = isset( $data[ $name_prefix . 'questions-' . $unique_id ] ) && !empty( $data[ $name_prefix . 'questions-' . $unique_id ] ) ? $data[ $name_prefix . 'questions-' . $unique_id ] : array();
226 232
227 - $survey_additional_wp_data = isset($data[ $valid_name_prefix . 'additional_wp_data' ]) && $data[ $valid_name_prefix . 'additional_wp_data' ] != '' ? json_decode(base64_decode($data[ $valid_name_prefix . 'additional_wp_data' ]) , true) : array();
233 + $survey_additional_wp_data = array();
234 + if ( isset( $data[ $valid_name_prefix . 'additional_wp_data' ] ) && is_string( $data[ $valid_name_prefix . 'additional_wp_data' ] ) && '' !== $data[ $valid_name_prefix . 'additional_wp_data' ] ) {
235 + $decoded_additional_wp_data = base64_decode( wp_unslash( $data[ $valid_name_prefix . 'additional_wp_data' ] ), true );
236 + if ( false !== $decoded_additional_wp_data ) {
237 + $decoded_additional_wp_data = json_decode( $decoded_additional_wp_data, true );
238 + if ( is_array( $decoded_additional_wp_data ) ) {
239 + $survey_additional_wp_data = $decoded_additional_wp_data;
240 + }
241 + }
242 + }
228 243
229 - $survey_current_page_link = isset( $data['ays_'.$valid_name_prefix.'_current_page_link'] ) && $data['ays_'.$valid_name_prefix.'_current_page_link'] != '' ? sanitize_url( $data['ays_'.$valid_name_prefix.'_current_page_link'] ) : "";
244 + $survey_current_page_link = isset( $data['ays-survey-current_page_link'] ) && $data['ays-survey-current_page_link'] != '' ? sanitize_url( $data['ays-survey-current_page_link'] ) : "";
230 245
231 - $survey_current_page_link_html = "<a href='". esc_sql( $survey_current_page_link ) ."' target='_blank' class='ays-survey-current-page-link-a-tag'>". __( "Survey link", "survey-maker" ) ."</a>";
246 + $survey_current_page_title = isset( $data['ays-survey-current_page_title'] ) && $data['ays-survey-current_page_title'] != '' ? sanitize_text_field( $data['ays-survey-current_page_title'] ) : "";
232 247
248 + $survey_current_page_link_html = "<a href='". esc_sql( $survey_current_page_link ) ."' target='_blank' class='ays-survey-current-page-link-a-tag'>". __( "Survey link", "survey-maker" ) ."</a>";
249 +
233 250 // Survey modified date
234 251 $survey_modified_date = (isset($survey->date_modified) && $survey->date_modified != '') ? esc_attr( $survey->date_modified ) : "";
235 252 if( $survey_modified_date != "" ){
236 253 $survey_modified_date = date_i18n( get_option( 'date_format' ), strtotime( $survey_modified_date ) );
@@ -404,40 +421,62 @@
404 421 $survey_current_post_author_last_name = '';
405 422 $survey_current_post_author_website_url = '';
406 423 $survey_current_post_author_roles = '';
407 424 $survey_current_post_title = '';
408 - if(!empty($survey_additional_wp_data)){
409 - if(isset($survey_additional_wp_data['survey_post_type']) && $survey_additional_wp_data['survey_post_type'] == 'post'){
410 - $survey_current_post_id = isset($survey_additional_wp_data['survey_post_id']) && $survey_additional_wp_data['survey_post_id'] != '' ? $survey_additional_wp_data['survey_post_id'] : '';
425 + if ( ! empty( $survey_additional_wp_data ) ) {
426 + $sanitize_additional_text = static function( $value ) {
427 + return is_scalar( $value ) ? esc_html( sanitize_text_field( wp_unslash( (string) $value ) ) ) : '';
428 + };
429 +
430 + $survey_post_type = isset( $survey_additional_wp_data['survey_post_type'] ) && is_scalar( $survey_additional_wp_data['survey_post_type'] ) ? sanitize_key( wp_unslash( (string) $survey_additional_wp_data['survey_post_type'] ) ) : '';
431 + if ( 'post' === $survey_post_type ) {
432 + $survey_current_post_id = isset( $survey_additional_wp_data['survey_post_id'] ) && is_scalar( $survey_additional_wp_data['survey_post_id'] ) ? absint( $survey_additional_wp_data['survey_post_id'] ) : '';
411 433 }
412 434
413 - $survey_current_post_author_email = isset($survey_additional_wp_data['survey_post_author_email']) && $survey_additional_wp_data['survey_post_author_email'] != '' ? esc_attr($survey_additional_wp_data['survey_post_author_email']) : '';
414 - $survey_current_post_author_nickname = isset($survey_additional_wp_data['survey_current_post_author_nickname']) && $survey_additional_wp_data['survey_current_post_author_nickname'] != '' ? esc_attr($survey_additional_wp_data['survey_current_post_author_nickname']) : '';
415 - $survey_current_post_author_display_name = isset($survey_additional_wp_data['survey_current_post_author_display_name']) && $survey_additional_wp_data['survey_current_post_author_display_name'] != '' ? esc_attr($survey_additional_wp_data['survey_current_post_author_display_name']) : '';
416 - $survey_current_post_author_first_name = isset($survey_additional_wp_data['survey_current_post_author_first_name']) && $survey_additional_wp_data['survey_current_post_author_first_name'] != '' ? esc_attr($survey_additional_wp_data['survey_current_post_author_first_name']) : '';
417 - $survey_current_post_author_last_name = isset($survey_additional_wp_data['survey_current_post_author_last_name']) && $survey_additional_wp_data['survey_current_post_author_last_name'] != '' ? esc_attr($survey_additional_wp_data['survey_current_post_author_last_name']) : '';
418 - $survey_current_post_author_website_url = isset($survey_additional_wp_data['survey_current_post_author_website_url']) && $survey_additional_wp_data['survey_current_post_author_website_url'] != '' ? esc_attr($survey_additional_wp_data['survey_current_post_author_website_url']) : '';
419 - $survey_current_post_author_roles = isset($survey_additional_wp_data['survey_current_post_author_roles']) && $survey_additional_wp_data['survey_current_post_author_roles'] != '' ? $survey_additional_wp_data['survey_current_post_author_roles'] : '';
420 - $survey_current_post_title = isset($survey_additional_wp_data['survey_current_post_title']) && $survey_additional_wp_data['survey_current_post_title'] != '' ? esc_attr($survey_additional_wp_data['survey_current_post_title']) : '';
435 + $survey_current_post_author_email = isset( $survey_additional_wp_data['survey_post_author_email'] ) && is_scalar( $survey_additional_wp_data['survey_post_author_email'] ) ? esc_html( sanitize_email( wp_unslash( (string) $survey_additional_wp_data['survey_post_author_email'] ) ) ) : '';
436 + $survey_current_post_author_nickname = isset( $survey_additional_wp_data['survey_current_post_author_nickname'] ) ? $sanitize_additional_text( $survey_additional_wp_data['survey_current_post_author_nickname'] ) : '';
437 + $survey_current_post_author_display_name = isset( $survey_additional_wp_data['survey_current_post_author_display_name'] ) ? $sanitize_additional_text( $survey_additional_wp_data['survey_current_post_author_display_name'] ) : '';
438 + $survey_current_post_author_first_name = isset( $survey_additional_wp_data['survey_current_post_author_first_name'] ) ? $sanitize_additional_text( $survey_additional_wp_data['survey_current_post_author_first_name'] ) : '';
439 + $survey_current_post_author_last_name = isset( $survey_additional_wp_data['survey_current_post_author_last_name'] ) ? $sanitize_additional_text( $survey_additional_wp_data['survey_current_post_author_last_name'] ) : '';
440 + $survey_current_post_author_website_url = isset( $survey_additional_wp_data['survey_current_post_author_website_url'] ) && is_scalar( $survey_additional_wp_data['survey_current_post_author_website_url'] ) ? esc_url_raw( wp_unslash( (string) $survey_additional_wp_data['survey_current_post_author_website_url'] ) ) : '';
441 + $survey_current_post_author_roles = isset( $survey_additional_wp_data['survey_current_post_author_roles'] ) ? $survey_additional_wp_data['survey_current_post_author_roles'] : '';
442 + $survey_current_post_title = isset( $survey_additional_wp_data['survey_current_post_title'] ) ? $sanitize_additional_text( $survey_additional_wp_data['survey_current_post_title'] ) : '';
421 443 }
422 444
423 445 if ( ! empty( $survey_current_post_author_website_url ) ) {
424 - $survey_current_post_author_website_url = '<a href="'.$survey_current_post_author_website_url.'" target="_blank">'.$survey_current_post_author_website_url.'</a>';
446 + $survey_current_post_author_website_url = '<a href="' . esc_url( $survey_current_post_author_website_url ) . '" target="_blank" rel="noopener noreferrer">' . esc_html( $survey_current_post_author_website_url ) . '</a>';
425 447 }
426 448
427 - if ( ! empty( $survey_current_post_author_roles ) && $survey_current_post_author_roles != "" ) {
428 - if ( is_array( $survey_current_post_author_roles ) ) {
429 - $survey_current_post_author_roles = implode( ", ", $survey_current_post_author_roles );
430 - }
449 + if ( is_array( $survey_current_post_author_roles ) ) {
450 + $survey_current_post_author_roles = array_filter( $survey_current_post_author_roles, 'is_scalar' );
451 + $survey_current_post_author_roles = array_map( static function( $role ) {
452 + return sanitize_text_field( wp_unslash( (string) $role ) );
453 + }, $survey_current_post_author_roles );
454 + $survey_current_post_author_roles = implode( ', ', $survey_current_post_author_roles );
431 455 }
456 + $survey_current_post_author_roles = is_scalar( $survey_current_post_author_roles ) ? esc_html( sanitize_text_field( wp_unslash( (string) $survey_current_post_author_roles ) ) ) : '';
432 457
433 458 $get_site_title = get_bloginfo('name');
434 459 $get_site_description = get_bloginfo('description');
435 460
461 + // Survey category title
462 + $survey_category_title = "";
463 +
464 + $survey_cats = $survey->category_ids;
465 + $survey_category_ids = isset( $survey_cats ) && $survey_cats != "" ? sanitize_text_field( $survey_cats ) : '';
466 +
467 + if ( $survey_category_ids != '' ) {
468 + $categories = self::get_survey_category_by_ids($survey_category_ids);
469 + $category_names = wp_list_pluck( $categories, 'title' );
470 +
471 + $survey_category_title = implode( ', ', $category_names );
472 + }
473 +
436 474 $detectedDevice = Survey_Maker_Data::ays_survey_detected_device_chart();
437 475
438 476 $message_data = array(
439 477 'survey_title' => stripslashes($survey->title),
478 + 'survey_category_title' => $survey_category_title,
440 479 'survey_id' => stripslashes($survey->id),
441 480 'post_id' => $survey_current_post_id,
442 481 'user_name' => $user_name,
443 482 'user_email' => $user_email,
@@ -467,8 +506,9 @@
467 506 'current_survey_author_display_name' => $current_survey_author_display_name,
468 507 'current_survey_author_website_url' => $current_survey_author_website_url,
469 508 'current_survey_author_registered' => $current_survey_author_registered,
470 509 'current_survey_page_link' => $survey_current_page_link_html,
510 + 'current_survey_page_title' => $survey_current_page_title,
471 511 'admin_email' => $super_admin_email,
472 512 'home_page_url' => $wp_home_page_url,
473 513 'post_author_email' => $survey_current_post_author_email,
474 514 'post_author_nickname' => $survey_current_post_author_nickname,
@@ -1064,9 +1104,9 @@
1064 1104 if ( $this->options[ $this->name_prefix . 'allow_html_in_section_description' ] ) {
1065 1105
1066 1106 $survey_allowed_html = Survey_Maker_Data::ays_survey_custom_allowed_html();
1067 1107
1068 - $sections[$section_key]['description'] = (isset($section['description']) && $section['description'] != '') ? nl2br( wp_kses( $section['description'] ), $survey_allowed_html ) : '';
1108 + $sections[$section_key]['description'] = (isset($section['description']) && $section['description'] != '') ? nl2br( wp_kses( $section['description'], $survey_allowed_html ) ) : '';
1069 1109 } else {
1070 1110 $sections[$section_key]['description'] = (isset($section['description']) && $section['description'] != '') ? nl2br( esc_html( $section['description'] ) ) : '';
1071 1111 }
1072 1112
@@ -1256,8 +1296,11 @@
1256 1296 $ays_survey_protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
1257 1297 $current_survey_page_link = esc_url( $ays_survey_protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
1258 1298 $content[] = '<input type="hidden" name="'. $this->html_name_prefix .'current_page_link" value="'. $current_survey_page_link .'">';
1259 1299
1300 + $current_survey_page_title = get_the_title();
1301 + $content[] = '<input type="hidden" name="'. $this->html_name_prefix .'current_page_title" value="'. $current_survey_page_title .'">';
1302 +
1260 1303 if( !$limit && !$is_expired ){
1261 1304 $content[] = $this->create_sections( $sections );
1262 1305 }else{
1263 1306 if( $is_expired && !$limit ){
@@ -2975,8 +3018,9 @@
2975 3018
2976 3019 $content[] = '
2977 3020 #' . $this->html_class_prefix . 'container-' . $this->unique_id_in_class . ' {
2978 3021 width: ' . $width . ';
3022 + box-sizing: border-box;
2979 3023 }
2980 3024
2981 3025 #' . $this->html_class_prefix . 'container-' . $this->unique_id_in_class . ' .' . $this->html_class_prefix . 'section-header {
2982 3026 border-top-color: ' . $this->options[ $this->name_prefix . 'color' ] . ' !important;
@@ -3706,8 +3750,28 @@
3706 3750 }
3707 3751 return $output;
3708 3752 }
3709 3753
3754 + public static function get_survey_category_by_ids($ids){
3755 + global $wpdb;
3756 +
3757 + $ids = array_map('intval', explode(',', $ids));
3758 + $ids = array_filter($ids);
3759 +
3760 + if (empty($ids)) {
3761 + return [];
3762 + }
3763 +
3764 + $ids_sql = implode(',', $ids);
3765 +
3766 + $sql = "SELECT *
3767 + FROM {$wpdb->prefix}ayssurvey_survey_categories
3768 + WHERE id IN ($ids_sql)
3769 + ORDER BY FIELD(id, $ids_sql)";
3770 +
3771 + return $wpdb->get_results($sql, ARRAY_A);
3772 + }
3773 +
3710 3774 public function ays_survey_popup_set_cookie(){
3711 3775 if( isset( $_REQUEST['id'] ) && $_REQUEST['id'] != '' ){
3712 3776 $id = sanitize_text_field( $_REQUEST['id'] );
3713 3777 }else{
@@ -3804,9 +3868,9 @@
3804 3868 $question_border_radius = $this->options[ $this->name_prefix . 'question_border_radius_mobile' ];
3805 3869 $content .= '
3806 3870 @media screen and (max-width: 640px){
3807 3871 #' . $this->html_class_prefix . 'container-' . $this->unique_id_in_class . ' {
3808 - max-width: '. $mobile_max_width .';
3872 + max-width: min('. $mobile_max_width .', calc(100vw - 20px));
3809 3873 }
3810 3874
3811 3875 #' . $this->html_class_prefix . 'container-' . $this->unique_id_in_class . ' {
3812 3876 width: ' . $mobile_width . ';
@@ -4091,18 +4155,28 @@
4091 4155 // Title border radius mobile
4092 4156 $survey_popup_title_border_radius_mobile = (isset($options["popup_title_border_radius_mobile"]) && $options["popup_title_border_radius_mobile"] != "") ? absint ( intval( $options["popup_title_border_radius_mobile"] ) ) : 0;
4093 4157
4094 4158 // Width
4095 - $popup_survey_width = (isset($options['width']) && $options['width'] != '') ? absint ( intval( $options['width'] ) ) : 800;
4159 + $popup_survey_width = (isset($options['width']) && $options['width'] != '') ? absint ( intval( $options['width'] ) ) : '';
4160 + // Width by percentage or pixels
4161 + $popup_survey_width_by = (isset($options['width_by_percentage_px']) && $options['width_by_percentage_px'] != '' && $popup_survey_width != '') ? stripslashes ( esc_attr( $options['width_by_percentage_px'] ) ) : 'pixels';
4162 +
4096 4163 // Mobile width
4097 4164 $options['width_mobile'] = isset($options['width_mobile']) ? $options['width_mobile'] : $popup_survey_width;
4098 - $popup_survey_width_mobile = (isset($options['width_mobile']) && $options['width_mobile'] != '') ? absint ( intval( $options['width_mobile'] ) ) : 800;
4165 + $popup_survey_width_mobile = (isset($options['width_mobile']) && $options['width_mobile'] != '') ? absint ( intval( $options['width_mobile'] ) ) : '';
4166 + // Mobile width by percentage or pixels
4167 + $popup_survey_width_mobile_by = (isset($options['width_mobile_by_percentage_px']) && $options['width_mobile_by_percentage_px'] != '' && $popup_survey_width_mobile != '') ? stripslashes ( esc_attr( $options['width_mobile_by_percentage_px'] ) ) : 'pixels';
4099 4168
4100 4169 // Height
4101 - $popup_survey_height = (isset($options['height']) && $options['height'] != '') ? absint ( intval( $options['height'] ) ) : 450;
4170 + $popup_survey_height = (isset($options['height']) && $options['height'] != '') ? absint ( intval( $options['height'] ) ) : '';
4171 + // Height by percentage or pixels
4172 + $popup_survey_height_by = (isset($options['height_by_percentage_px']) && $options['height_by_percentage_px'] != '' && $popup_survey_height != '') ? stripslashes ( esc_attr( $options['height_by_percentage_px'] ) ) : 'pixels';
4173 +
4102 4174 // Height mobile
4103 4175 $options['height_mobile'] = isset($options['height_mobile']) ? $options['height_mobile'] : $popup_survey_height;
4104 - $popup_survey_height_mobile = (isset($options['height_mobile']) && $options['height_mobile'] != '') ? absint ( intval( $options['height_mobile'] ) ) : 450;
4176 + $popup_survey_height_mobile = (isset($options['height_mobile']) && $options['height_mobile'] != '') ? absint ( intval( $options['height_mobile'] ) ) : '';
4177 + // Mobile height by percentage or pixels
4178 + $popup_survey_height_mobile_by = (isset($options['height_mobile_by_percentage_px']) && $options['height_mobile_by_percentage_px'] != '' && $popup_survey_height_mobile != '') ? stripslashes ( esc_attr( $options['height_mobile_by_percentage_px'] ) ) : 'pixels';
4105 4179
4106 4180 // Popup Position
4107 4181 $popup_position = (isset($options['popup_position']) && $options['popup_position'] != 'center-center') ? $options['popup_position'] : 'center-center';
4108 4182
@@ -4157,8 +4231,11 @@
4157 4231
4158 4232 // Popup selector
4159 4233 $popup_selector = (isset($options["popup_selector"]) && $options["popup_selector"] != "") ? stripslashes( esc_attr($options["popup_selector"])) : "";
4160 4234
4235 + // Popup animation
4236 + $popup_animation = (isset($options["popup_animation"]) && $options["popup_animation"] != "") ? esc_attr($options["popup_animation"]) : "none";
4237 +
4161 4238 // Close by pressing the ESC
4162 4239 $survey_popup_enable_close_by_esc = (isset($options["popup_enable_close_by_esc"]) && $options["popup_enable_close_by_esc"] != '') ? $options["popup_enable_close_by_esc"] : 'off';
4163 4240
4164 4241
@@ -4230,13 +4307,15 @@
4230 4307 $display_popup_on_load = '';
4231 4308 break;
4232 4309 }
4233 4310
4311 + $popup_animation_class = in_array($popup_animation, array('fade', 'slide-down', 'slide-up', 'zoom-in', 'bounce'), true) && $popup_trigger_type != 'on_click' ? 'ays-popup-animation-' . $popup_animation : '';
4312 +
4234 4313 if( ! isset( $_COOKIE[ 'ays_survey_popup_cookie_name_' . $popup['id'] ] ) && ! isset( $_COOKIE[ 'ays_survey_popup_hide_after_click_close_' . $popup['id'] ] ) ){
4235 4314 if ($show_popup) {
4236 4315 $shortcode2 = '[ays_survey id="'. $popup['survey_id'] .'"]';
4237 4316 // $popup_survey_view = "<div class='ays-survey-popup-survey-window ays-survey-popup-modal-".$popup['id']."' data-id='".$popup['id']."'>
4238 - $popup_survey_view = "<div class='ays-survey-popup-survey-window ays-survey-popup-modal-".$popup['id']." ".$display_popup_on_load."' data-id='".$popup['id']."' data-close-popup='".$survey_enable_popup_close_after_finish."'>
4317 + $popup_survey_view = "<div class='ays-survey-popup-survey-window ays-survey-popup-modal-".$popup['id']." ".$display_popup_on_load." ".$popup_animation_class."' data-id='".$popup['id']."' data-close-popup='".$survey_enable_popup_close_after_finish."'>
4239 4318 <div class='ays-survey-popup-btn-close'>
4240 4319 <img class='ays-survey-popup-btn-close-icon' src='". SURVEY_MAKER_PUBLIC_URL ."/images/cross.svg'>
4241 4320 </div>";
4242 4321 $popup_survey_view .= "<div class='ays-survey-popup-content'>";
@@ -4364,13 +4443,17 @@
4364 4443 }
4365 4444
4366 4445 $hide_popup_on_mobile_class = $survey_popup_hide_title_on_mobile ? 'display: none;' : '';
4367 4446
4447 + $popup_width_css = ($popup_survey_width > 0 ? $popup_survey_width . ($popup_survey_width_by == 'percentage' ? '%' : 'px') : '100%');
4448 + $popup_height_css = ($popup_survey_height > 0 ? $popup_survey_height . ($popup_survey_height_by == 'percentage' ? '%' : 'px') : '100%');
4449 +
4368 4450 $popup_survey_view .= '
4369 4451 <style>
4370 4452 .ays-survey-popup-modal-' . $popup['id'] . ' {
4371 - width: ' . $popup_survey_width . 'px;
4372 - height: ' . $popup_survey_height . 'px;
4453 + width: ' . $popup_width_css . ';
4454 + box-sizing: border-box;
4455 + height: ' . $popup_height_css . ';
4373 4456 background-color: ' . $popup_bg_color . ';
4374 4457 top: ' . $ays_survey_popup_conteiner_pos_top . ';
4375 4458 left: ' . $ays_survey_popup_conteiner_pos_left . ';
4376 4459 right: ' . $ays_survey_popup_conteiner_pos_right . ';
@@ -4393,10 +4476,11 @@
4393 4476 }
4394 4477
4395 4478 @media screen and (max-width: 640px){
4396 4479 div.ays-survey-popup-modal-' . $popup['id'] . ' {
4397 - width: ' . $popup_survey_width_mobile . 'px;
4398 - height: ' . $popup_survey_height_mobile . 'px;
4480 + width: ' . ($popup_survey_width_mobile > 0 ? $popup_survey_width_mobile . ($popup_survey_width_mobile_by == 'percentage' ? '%' : 'px') : '100%') . ';
4481 + max-width: calc(100vw - 20px);
4482 + height: ' . ($popup_survey_height_mobile > 0 ? $popup_survey_height_mobile . ($popup_survey_height_mobile_by == 'percentage' ? '%' : 'px') : '100%') . ';
4399 4483 background-color: ' . $popup_bg_color_mobile . ';
4400 4484 }
4401 4485 .ays-survey-popup-modal-' . $popup['id'] . ' .ays-survey-popup-title-content{
4402 4486 font-size: '.$survey_popup_title_mobile_font_size.'px;
@@ -4412,8 +4496,50 @@
4412 4496
4413 4497 </style>
4414 4498 ';
4415 4499
4500 + $popup_survey_view .= '<style type="text/css">';
4501 + $popup_survey_view .= "
4502 + @keyframes ays-popup-fade-in {
4503 + from { opacity: 0; }
4504 + to { opacity: 1; }
4505 + }
4506 + @keyframes ays-popup-slide-down {
4507 + from { opacity: 0; transform: translateY(-50px); }
4508 + to { opacity: 1; transform: translateY(0); }
4509 + }
4510 + @keyframes ays-popup-slide-up {
4511 + from { opacity: 0; transform: translateY(50px); }
4512 + to { opacity: 1; transform: translateY(0); }
4513 + }
4514 + @keyframes ays-popup-zoom-in {
4515 + from { opacity: 0; transform: scale(0.8); }
4516 + to { opacity: 1; transform: scale(1); }
4517 + }
4518 + @keyframes ays-popup-bounce {
4519 + 0% { opacity: 0; transform: scale(0.3); }
4520 + 50% { opacity: 1; transform: scale(1.05); }
4521 + 70% { transform: scale(0.9); }
4522 + 100% { transform: scale(1); }
4523 + }
4524 + .ays-survey-popup-survey-window.ays-popup-animation-fade {
4525 + animation: ays-popup-fade-in 0.3s ease-in-out;
4526 + }
4527 + .ays-survey-popup-survey-window.ays-popup-animation-slide-down {
4528 + animation: ays-popup-slide-down 0.4s ease-out;
4529 + }
4530 + .ays-survey-popup-survey-window.ays-popup-animation-slide-up {
4531 + animation: ays-popup-slide-up 0.4s ease-out;
4532 + }
4533 + .ays-survey-popup-survey-window.ays-popup-animation-zoom-in {
4534 + animation: ays-popup-zoom-in 0.3s ease-out;
4535 + }
4536 + .ays-survey-popup-survey-window.ays-popup-animation-bounce {
4537 + animation: ays-popup-bounce 0.5s ease-out;
4538 + }
4539 + ";
4540 + $popup_survey_view .= '</style>';
4541 +
4416 4542 $popup_survey_view .= '<script type="text/javascript">';
4417 4543
4418 4544 $popup_survey_view .= "
4419 4545 if(typeof aysSurveyPopupsOptions === 'undefined'){
@@ -4427,8 +4553,9 @@
4427 4553 'popup_close_after_finish_delay' => $survey_popup_close_after_finish_delay,
4428 4554 'popup_selector' => $popup_selector,
4429 4555 'popupEnableCloseByEsc' => $survey_popup_enable_close_by_esc,
4430 4556 'closePopupOverlayOutsideClick' => $close_popup_overlay_outside_click,
4557 + 'popup_animation' => $popup_animation,
4431 4558
4432 4559 ) ) ) . "';";
4433 4560 $popup_survey_view .= '</script>';
4434 4561 $popup_survey_view .= '</div>';