Changeset 3116503
- Timestamp:
- 07/11/2024 01:39:41 PM (20 months ago)
- Location:
- guidant
- Files:
-
- 135 added
- 6 edited
-
tags/1.1.7 (added)
-
tags/1.1.7/appsero (added)
-
tags/1.1.7/appsero/.php-cs-fixer.dist.php (added)
-
tags/1.1.7/appsero/readme.md (added)
-
tags/1.1.7/appsero/src (added)
-
tags/1.1.7/appsero/src/Client.php (added)
-
tags/1.1.7/appsero/src/Insights.php (added)
-
tags/1.1.7/appsero/src/License.php (added)
-
tags/1.1.7/appsero/src/Updater.php (added)
-
tags/1.1.7/assets (added)
-
tags/1.1.7/assets/css (added)
-
tags/1.1.7/assets/css/admin-global.css (added)
-
tags/1.1.7/assets/css/admin.css (added)
-
tags/1.1.7/assets/css/css-tooltip.css (added)
-
tags/1.1.7/assets/css/frontend.css (added)
-
tags/1.1.7/assets/css/rSlider.css (added)
-
tags/1.1.7/assets/css/select2.min.css (added)
-
tags/1.1.7/assets/img (added)
-
tags/1.1.7/assets/img/edit.svg (added)
-
tags/1.1.7/assets/img/empty_img.png (added)
-
tags/1.1.7/assets/img/guidant-back-icon.svg (added)
-
tags/1.1.7/assets/img/guidant-by-pro-banner-halloween.jpg (added)
-
tags/1.1.7/assets/img/guidant-by-pro-banner.jpg (added)
-
tags/1.1.7/assets/img/guidant-icon.svg (added)
-
tags/1.1.7/assets/img/guidant-logo.svg (added)
-
tags/1.1.7/assets/img/haloween-guidant-mobile.jpg (added)
-
tags/1.1.7/assets/img/haloween-guidant.jpg (added)
-
tags/1.1.7/assets/img/info.svg (added)
-
tags/1.1.7/assets/img/settings.svg (added)
-
tags/1.1.7/assets/img/trash.svg (added)
-
tags/1.1.7/assets/js (added)
-
tags/1.1.7/assets/js/admin_cards.js (added)
-
tags/1.1.7/assets/js/admin_conditions.js (added)
-
tags/1.1.7/assets/js/admin_custom_fields.js (added)
-
tags/1.1.7/assets/js/admin_elements.js (added)
-
tags/1.1.7/assets/js/admin_filters.js (added)
-
tags/1.1.7/assets/js/admin_forms.js (added)
-
tags/1.1.7/assets/js/admin_guide_update.js (added)
-
tags/1.1.7/assets/js/admin_guides.js (added)
-
tags/1.1.7/assets/js/admin_main.js (added)
-
tags/1.1.7/assets/js/admin_reports.js (added)
-
tags/1.1.7/assets/js/admin_sliders.js (added)
-
tags/1.1.7/assets/js/frontend.js (added)
-
tags/1.1.7/assets/js/rSlider.js (added)
-
tags/1.1.7/assets/js/select2.min.js (added)
-
tags/1.1.7/backend (added)
-
tags/1.1.7/backend/api (added)
-
tags/1.1.7/backend/api/attributes_suggestion.php (added)
-
tags/1.1.7/backend/api/attributes_value_suggestion.php (added)
-
tags/1.1.7/backend/api/card_tab_page_get.php (added)
-
tags/1.1.7/backend/api/card_tab_page_save.php (added)
-
tags/1.1.7/backend/api/conditions_create.php (added)
-
tags/1.1.7/backend/api/conditions_delete.php (added)
-
tags/1.1.7/backend/api/conditions_list.php (added)
-
tags/1.1.7/backend/api/elements_create.php (added)
-
tags/1.1.7/backend/api/elements_delete.php (added)
-
tags/1.1.7/backend/api/elements_list.php (added)
-
tags/1.1.7/backend/api/elements_sort.php (added)
-
tags/1.1.7/backend/api/fields_create.php (added)
-
tags/1.1.7/backend/api/fields_delete.php (added)
-
tags/1.1.7/backend/api/fields_list.php (added)
-
tags/1.1.7/backend/api/filters_create.php (added)
-
tags/1.1.7/backend/api/filters_delete.php (added)
-
tags/1.1.7/backend/api/filters_list.php (added)
-
tags/1.1.7/backend/api/filters_sort.php (added)
-
tags/1.1.7/backend/api/form_tab_page_get.php (added)
-
tags/1.1.7/backend/api/form_tab_page_save.php (added)
-
tags/1.1.7/backend/api/guidant_fetch_filter_id.php (added)
-
tags/1.1.7/backend/api/guide_tab_page_get.php (added)
-
tags/1.1.7/backend/api/guides_create.php (added)
-
tags/1.1.7/backend/api/guides_delete.php (added)
-
tags/1.1.7/backend/api/guides_list.php (added)
-
tags/1.1.7/backend/api/logic_create.php (added)
-
tags/1.1.7/backend/api/logic_delete.php (added)
-
tags/1.1.7/backend/api/logic_elements_suggestions.php (added)
-
tags/1.1.7/backend/api/logic_filter_suggestions.php (added)
-
tags/1.1.7/backend/api/logic_list.php (added)
-
tags/1.1.7/backend/api/reports_list.php (added)
-
tags/1.1.7/backend/api/result_attributes_suggestion.php (added)
-
tags/1.1.7/backend/api/results_create.php (added)
-
tags/1.1.7/backend/api/results_delete.php (added)
-
tags/1.1.7/backend/api/results_list.php (added)
-
tags/1.1.7/backend/api/results_sort.php (added)
-
tags/1.1.7/backend/api/slider_tab_page_get.php (added)
-
tags/1.1.7/backend/api/slider_tab_page_save.php (added)
-
tags/1.1.7/backend/api/submission_delete.php (added)
-
tags/1.1.7/backend/class-guidant-admin.php (added)
-
tags/1.1.7/backend/class-guidant-ajax.php (added)
-
tags/1.1.7/backend/class-guidant-meta.php (added)
-
tags/1.1.7/backend/templates (added)
-
tags/1.1.7/backend/templates/dashboard.php (added)
-
tags/1.1.7/backend/templates/modals (added)
-
tags/1.1.7/backend/templates/modals/create_condition.php (added)
-
tags/1.1.7/backend/templates/modals/create_field.php (added)
-
tags/1.1.7/backend/templates/modals/create_logic.php (added)
-
tags/1.1.7/backend/templates/modals/create_result.php (added)
-
tags/1.1.7/backend/templates/modals/popup_pro.php (added)
-
tags/1.1.7/backend/templates/modals/popup_pro_x.php (added)
-
tags/1.1.7/backend/templates/modals/single_submission.php (added)
-
tags/1.1.7/backend/templates/modals/update_condition.php (added)
-
tags/1.1.7/backend/templates/modals/update_field.php (added)
-
tags/1.1.7/backend/templates/modals/update_logic.php (added)
-
tags/1.1.7/backend/templates/modals/update_result.php (added)
-
tags/1.1.7/backend/templates/views (added)
-
tags/1.1.7/backend/templates/views/card.php (added)
-
tags/1.1.7/backend/templates/views/custom_fields.php (added)
-
tags/1.1.7/backend/templates/views/element.php (added)
-
tags/1.1.7/backend/templates/views/filter.php (added)
-
tags/1.1.7/backend/templates/views/form.php (added)
-
tags/1.1.7/backend/templates/views/guide.php (added)
-
tags/1.1.7/backend/templates/views/guide_update.php (added)
-
tags/1.1.7/backend/templates/views/header.php (added)
-
tags/1.1.7/backend/templates/views/reports.php (added)
-
tags/1.1.7/backend/templates/views/slider.php (added)
-
tags/1.1.7/backend/useful-plugins.php (added)
-
tags/1.1.7/frontend (added)
-
tags/1.1.7/frontend/api (added)
-
tags/1.1.7/frontend/api/guidant_guide_submission.php (added)
-
tags/1.1.7/frontend/class-guidant-ajax.php (added)
-
tags/1.1.7/frontend/class-guidant-frontend.php (added)
-
tags/1.1.7/frontend/class-guidant-shortcode.php (added)
-
tags/1.1.7/frontend/templates (added)
-
tags/1.1.7/frontend/templates/dashboard.php (added)
-
tags/1.1.7/frontend/templates/views (added)
-
tags/1.1.7/frontend/templates/views/single_card.php (added)
-
tags/1.1.7/frontend/templates/views/single_filter.php (added)
-
tags/1.1.7/frontend/templates/views/single_form_element.php (added)
-
tags/1.1.7/frontend/templates/views/single_slider.php (added)
-
tags/1.1.7/guidant.php (added)
-
tags/1.1.7/includes (added)
-
tags/1.1.7/includes/GuidantRenderer.php (added)
-
tags/1.1.7/includes/GuidantSettings.php (added)
-
tags/1.1.7/includes/GuidantUtils.php (added)
-
tags/1.1.7/index.php (added)
-
tags/1.1.7/readme.txt (added)
-
trunk/assets/css/admin.css (modified) (1 diff)
-
trunk/assets/js/frontend.js (modified) (1 diff)
-
trunk/frontend/templates/views/single_card.php (modified) (1 diff)
-
trunk/guidant.php (modified) (2 diffs)
-
trunk/includes/GuidantRenderer.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
guidant/trunk/assets/css/admin.css
r3115032 r3116503 1498 1498 1499 1499 .guidant-main .guidant_form_group ul.select2-selection__rendered { 1500 text-wrap: wrap ;1501 } 1500 text-wrap: wrap !important; 1501 } -
guidant/trunk/assets/js/frontend.js
r3115032 r3116503 172 172 jQuery(document).on("click", "[data-filter_to_show]", function () { 173 173 174 if (jQuery(this).data("filter_to_show") == 1 ) {174 if (jQuery(this).data("filter_to_show") == 1 || jQuery(this).data("total_filter") == guidantguide_current_filter_position[unique_id]) { 175 175 jQuery(this) 176 176 .closest(".guidantguide_filter") -
guidant/trunk/frontend/templates/views/single_card.php
r3115032 r3116503 36 36 37 37 38 <div class="guidantguide_single_card guidantguide_element" data-element_id="<?php echo esc_attr($single_element['element_id']) ?>" data-filter_to_hide="<?php echo esc_attr($filter_to_hide_arr_str) ?>" data-filter_to_show="<?php echo esc_attr($filter_to_show[$element_id] ?? '') ?>" >38 <div class="guidantguide_single_card guidantguide_element" data-element_id="<?php echo esc_attr($single_element['element_id']) ?>" data-filter_to_hide="<?php echo esc_attr($filter_to_hide_arr_str) ?>" data-filter_to_show="<?php echo esc_attr($filter_to_show[$element_id] ?? '') ?>" data-total_filter="<?php echo esc_attr($total_filter_number) ?>"> 39 39 <?php echo isset($card_image) ? $card_image : ""; ?> 40 40 <h4><?php echo esc_attr($this->settings->updateElementSettings($single_element['element_id'], "card_label")) ?></h4> -
guidant/trunk/guidant.php
r3115032 r3116503 4 4 * Plugin URI: https://wpcommerz.com/guidant/ 5 5 * Description: Build Multi-step Guided Selling Process & Smart Forms to Convert 10X More Traffic Into Leads & New Customers. 6 * Version: 1.1. 66 * Version: 1.1.7 7 7 * Author: WPCommerz 8 8 * Author URI: https://wpcommerz.com/ … … 19 19 } 20 20 21 define( 'GUIDANT_VERSION', '1.1. 6' );21 define( 'GUIDANT_VERSION', '1.1.7' ); 22 22 defined( 'GUIDANT_PATH' ) or define( 'GUIDANT_PATH', plugin_dir_path( __FILE__ ) ); 23 23 defined( 'GUIDANT_URL' ) or define( 'GUIDANT_URL', plugin_dir_url( __FILE__ ) ); -
guidant/trunk/includes/GuidantRenderer.php
r3115032 r3116503 170 170 { 171 171 global $wpdb; 172 $post_id_str = implode(" ','", $post_id_arr);173 $limit_sql = $limit != -1 ? $wpdb->prepare(" LIMIT %d", $limit): "";174 $sql = "SELECT ID FROM {$wpdb->posts} WHERE post_status = 'publish' AND ID IN ( '{$post_id_str}') ORDER BY ID DESC {$limit_sql}";172 $post_id_str = implode(",", $post_id_arr); 173 $limit_sql = $limit != -1 ? " LIMIT {$limit}" : ""; 174 $sql = "SELECT ID FROM {$wpdb->posts} WHERE post_status = 'publish' AND ID IN ({$post_id_str}) ORDER BY ID DESC {$limit_sql}"; 175 175 $listPosts = $wpdb->get_results($sql, ARRAY_A); 176 176 return wp_list_pluck($listPosts, 'ID'); … … 179 179 public function resultRender($post_id_arr, $list_result_attributes) 180 180 { 181 global $wpdb;182 $post_id_str = implode("','", $post_id_arr);183 184 181 $output = ''; 185 182 186 $sql = "SELECT * FROM {$wpdb->prefix}posts WHERE post_status = 'publish' 187 AND ID IN ('{$post_id_str}') ORDER BY ID DESC"; 188 $listPosts = $wpdb->get_results($sql); 189 if (!empty($listPosts)) { 190 foreach ($listPosts as $post) { 191 $output .= "<div class=\"single_post\">"; 192 193 foreach ($list_result_attributes as $single_result_attribute) { 194 $attribute_name = $single_result_attribute['attribute_type']; 195 $prefix = isset($single_result_attribute['prefix']) ? trim($single_result_attribute['prefix']) . " " : " "; 196 197 // Default values for optional attributes 198 $button_text = isset($single_result_attribute['button_text']) ? $single_result_attribute['button_text'] : 'View'; 199 $image_height = isset($single_result_attribute['image_height']) ? $single_result_attribute['image_height'] : '200'; 200 $add_to_cart_btn_default_text = isset($single_result_attribute['add_to_cart_btn_default_text']) ? $single_result_attribute['add_to_cart_btn_default_text'] : 'Add to Cart'; 201 $add_to_cart_btn_loading_text = isset($single_result_attribute['add_to_cart_btn_loading_text']) ? $single_result_attribute['add_to_cart_btn_loading_text'] : 'Adding...'; 202 $add_to_cart_btn_added_text = isset($single_result_attribute['add_to_cart_btn_added_text']) ? $single_result_attribute['add_to_cart_btn_added_text'] : 'Added to Cart'; 203 204 switch ($attribute_name) { 205 case 'post_category': 206 $post_categories = get_the_terms($post->ID, 'category'); 207 if ($post_categories && !is_wp_error($post_categories)) { 208 $post_categories_str = join(', ', wp_list_pluck($post_categories, 'name')); 209 $output .= "<div class=\"post_category\">{$prefix}{$post_categories_str}</div>"; 183 foreach ($post_id_arr as $post_id) { 184 $post = get_post($post_id); 185 if (!$post) { 186 continue; 187 } 188 189 $output .= "<div class=\"single_post\">"; 190 191 foreach ($list_result_attributes as $single_result_attribute) { 192 $attribute_name = $single_result_attribute['attribute_type']; 193 $prefix = isset($single_result_attribute['prefix']) ? trim($single_result_attribute['prefix']) . " " : " "; 194 195 // Default values for optional attributes 196 $button_text = isset($single_result_attribute['button_text']) ? $single_result_attribute['button_text'] : 'View'; 197 $image_height = isset($single_result_attribute['image_height']) ? $single_result_attribute['image_height'] : '200'; 198 $add_to_cart_btn_default_text = isset($single_result_attribute['add_to_cart_btn_default_text']) ? $single_result_attribute['add_to_cart_btn_default_text'] : 'Add to Cart'; 199 $add_to_cart_btn_loading_text = isset($single_result_attribute['add_to_cart_btn_loading_text']) ? $single_result_attribute['add_to_cart_btn_loading_text'] : 'Adding...'; 200 $add_to_cart_btn_added_text = isset($single_result_attribute['add_to_cart_btn_added_text']) ? $single_result_attribute['add_to_cart_btn_added_text'] : 'Added to Cart'; 201 202 switch ($attribute_name) { 203 case 'post_category': 204 $post_categories = get_the_terms($post->ID, 'category'); 205 if ($post_categories && !is_wp_error($post_categories)) { 206 $post_categories_str = join(', ', wp_list_pluck($post_categories, 'name')); 207 $output .= "<div class=\"post_category\">{$prefix}{$post_categories_str}</div>"; 208 } 209 break; 210 case 'post_title': 211 $output .= "<div class=\"post_title\">{$prefix}{$post->post_title}</div>"; 212 break; 213 case 'post_date': 214 $output .= "<div class=\"post_date\">{$prefix}{$post->post_date}</div>"; 215 break; 216 case 'post_modified': 217 $output .= "<div class=\"post_modified\">{$prefix}{$post->post_modified}</div>"; 218 break; 219 case 'post_author': 220 $author_name = get_the_author_meta('display_name', $post->post_author); 221 $output .= "<div class=\"post_author\">{$prefix}" . esc_html($author_name) . "</div>"; 222 break; 223 case 'post_thumbnail': 224 if (has_post_thumbnail($post->ID)) { 225 $image_url = get_the_post_thumbnail_url($post->ID, 'post-thumbnail'); 226 $output .= "<div class=\"post_thumbnail\"><img style='height: {$image_height}px !important;' src=\"{$image_url}\"></div>"; 227 } 228 break; 229 case 'post_excerpt': 230 $excerpt = get_the_excerpt($post); 231 $output .= "<div class=\"post_excerpt\">{$prefix}" . esc_html($excerpt) . "</div>"; 232 break; 233 case 'post_permalink': 234 $permalink = get_permalink($post); 235 $output .= "<div class=\"post_permalink\"><a target='_blank' href=\"{$permalink}\">{$button_text}</a></div>"; 236 break; 237 case 'woocommerce_category': 238 if (class_exists('WooCommerce')) { 239 $terms = wp_get_post_terms($post->ID, 'product_cat'); 240 if (!empty($terms)) { 241 $category_names = wp_list_pluck($terms, 'name'); 242 $output .= "<div class=\"woocommerce_category\">{$prefix}" . implode(', ', $category_names) . "</div>"; 210 243 } 211 break; 212 case 'post_title': 213 $output .= "<div class=\"post_title\">{$prefix}{$post->post_title}</div>"; 214 break; 215 case 'post_date': 216 $output .= "<div class=\"post_date\">{$prefix}{$post->post_date}</div>"; 217 break; 218 case 'post_modified': 219 $output .= "<div class=\"post_modified\">{$prefix}{$post->post_modified}</div>"; 220 break; 221 case 'post_author': 222 $author_name = get_the_author_meta('display_name', $post->post_author); 223 $output .= "<div class=\"post_author\">{$prefix}" . esc_html($author_name) . "</div>"; 224 break; 225 case 'post_thumbnail': 226 if (has_post_thumbnail($post->ID)) { 227 $image_url = get_the_post_thumbnail_url($post->ID, 'post-thumbnail'); 228 $output .= "<div class=\"post_thumbnail\"><img style='height: {$image_height}px !important;' src=\"{$image_url}\"></div>"; 244 } 245 break; 246 case 'woocommerce_price': 247 if (class_exists('WooCommerce')) { 248 $price = get_post_meta($post->ID, '_price', true); 249 if (!empty($price)) { 250 $output .= "<div class=\"woocommerce_price\">{$prefix}" . wc_price($price) . "</div>"; 229 251 } 230 break; 231 case 'post_excerpt': 232 $excerpt = get_the_excerpt($post); 233 $output .= "<div class=\"post_excerpt\">{$prefix}" . esc_html($excerpt) . "</div>"; 234 break; 235 case 'post_permalink': 236 $permalink = get_permalink($post); 237 $output .= "<div class=\"post_permalink\"><a target='_blank' href=\"{$permalink}\">{$button_text}</a></div>"; 238 break; 239 case 'woocommerce_category': 240 if (class_exists('WooCommerce')) { 241 $terms = wp_get_post_terms($post->ID, 'product_cat'); 242 if (!empty($terms)) { 243 $category_names = wp_list_pluck($terms, 'name'); 244 $output .= "<div class=\"woocommerce_category\">{$prefix}" . implode(', ', $category_names) . "</div>"; 245 } 252 } 253 break; 254 case 'woocommerce_add_to_cart': 255 if (class_exists('WooCommerce')) { 256 $product = wc_get_product($post->ID); 257 if ($product && $product->is_type('simple')) { 258 $product_id = $product->get_id(); 259 $product_sku = $product->get_sku(); 260 $add_to_cart_url = $product->add_to_cart_url(); 261 $output .= "<div class=\"woocommerce_add_to_cart\" data-add_to_cart_btn_default_text=\"{$add_to_cart_btn_default_text}\" data-add_to_cart_btn_loading_text=\"{$add_to_cart_btn_loading_text}\" data-add_to_cart_btn_added_text=\"{$add_to_cart_btn_added_text}\"><a href=\"{$add_to_cart_url}\" data-product_id=\"{$product_id}\" data-product_sku=\"{$product_sku}\" class=\"ajax_add_to_cart add_to_cart_button\">{$add_to_cart_btn_default_text}</a></div>"; 246 262 } 247 break; 248 case 'woocommerce_price': 249 if (class_exists('WooCommerce')) { 250 $price = get_post_meta($post->ID, '_price', true); 251 if (!empty($price)) { 252 $output .= "<div class=\"woocommerce_price\">{$prefix}" . wc_price($price) . "</div>"; 253 } 254 } 255 break; 256 case 'woocommerce_add_to_cart': 257 if (class_exists('WooCommerce')) { 258 $product = wc_get_product($post->ID); 259 if ($product && $product->is_type('simple')) { 260 $product_id = $product->get_id(); 261 $product_sku = $product->get_sku(); 262 $add_to_cart_url = $product->add_to_cart_url(); 263 $output .= "<div class=\"woocommerce_add_to_cart\" data-add_to_cart_btn_default_text=\"{$add_to_cart_btn_default_text}\" data-add_to_cart_btn_loading_text=\"{$add_to_cart_btn_loading_text}\" data-add_to_cart_btn_added_text=\"{$add_to_cart_btn_added_text}\"><a href=\"{$add_to_cart_url}\" data-product_id=\"{$product_id}\" data-product_sku=\"{$product_sku}\" class=\"ajax_add_to_cart add_to_cart_button\">{$add_to_cart_btn_default_text}</a></div>"; 264 } 265 } 266 break; 267 case 'custom_meta': 268 if (strpos($attribute_name, 'post_meta_') !== false) { 269 $meta_key = str_replace("post_meta_", "", $attribute_name); 270 $post_meta = get_post_meta($post->ID, $meta_key, true); 271 $output .= "<div class=\"custom_meta\">{$prefix}" . esc_html($post_meta) . "</div>"; 272 } 273 break; 274 default: 275 // Handle other attributes similarly 276 break; 277 } 278 } 279 280 $output .= "</div>"; 263 } 264 break; 265 case 'custom_meta': 266 if (strpos($attribute_name, 'post_meta_') !== false) { 267 $meta_key = str_replace("post_meta_", "", $attribute_name); 268 $post_meta = get_post_meta($post->ID, $meta_key, true); 269 $output .= "<div class=\"custom_meta\">{$prefix}" . esc_html($post_meta) . "</div>"; 270 } 271 break; 272 default: 273 // Handle other attributes similarly 274 break; 275 } 281 276 } 282 } 277 278 $output .= "</div>"; 279 } 280 283 281 return $output; 284 282 } -
guidant/trunk/readme.txt
r3115046 r3116503 344 344 345 345 == Changelog == 346 347 = 1.1.7 = 348 1. Improved: Performance Improved. 349 2. Improved: Changed single filter to hide option to multiple 350 3. Improved: Changed single attributes value select to multiple 351 4. Fixed: minor bugs. 352 346 353 = 1.1.6 = 347 354 1. Improved: overall performance with faster result filtration.
Note: See TracChangeset
for help on using the changeset viewer.