Changeset 2795078
- Timestamp:
- 10/06/2022 11:53:11 AM (3 years ago)
- Location:
- site-search-360/trunk
- Files:
-
- 8 edited
-
class-sitesearch360-client.php (modified) (2 diffs)
-
class-sitesearch360-plugin.php (modified) (4 diffs)
-
readme.txt (modified) (2 diffs)
-
sitesearch360-admin-page.php (modified) (1 diff)
-
sitesearch360.php (modified) (2 diffs)
-
uninstall.php (modified) (1 diff)
-
views/sitesearch360-dashboard.php (modified) (2 diffs)
-
views/sitesearch360-plan.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
site-search-360/trunk/class-sitesearch360-client.php
r2794154 r2795078 179 179 $url = $this->baseUrl . 'plugin?token=' . urlencode($this->token); 180 180 $response = $this->callApi($url, 'POST', $data, false); 181 $this->sendPublish($response['id'], $this->token); 181 if (isset($response['id'])) { 182 $this->sendPublish($response['id'], $this->token); 183 } 182 184 return $response; 183 185 } … … 229 231 230 232 return $this->callApi($url, 'GET', null, false); 233 } 234 235 public function hasValidToken() { 236 $url = $this->baseUrl . 'plugin?token=' . urlencode($this->token) ; 237 $res = $this->callApi($url, 'GET', null, false); 238 if ($res != NULL && isset($res['code'])) { 239 return $res['code'] != 401; 240 } 241 return true; 231 242 } 232 243 -
site-search-360/trunk/class-sitesearch360-plugin.php
r2794154 r2795078 204 204 } 205 205 if(get_option('ss360_account_created') && get_option('ss360_pluginConfigId', null)==null){ 206 $sendBody = get_option("ss360_config"); 207 if(isset($ss360_callbacks)){ 208 foreach ($ss360_callbacks as $key => $value) { 209 switch ($key) { 210 case 'init': 211 $sendBody->callbacks["callbacks." . string($key)] = "function(){$value}"; 212 break; 213 case 'preSuggest': 214 $sendBody->callbacks["callbacks." . string($key)] = "function(query, searchBox){$value}"; 215 break; 216 case 'preSearch': 217 $sendBody->callbacks["callbacks." . string($key)] = "function(query, sorting, searchBox){if(searchBox!==undefined){searchBox=searchBox.get()[0]};$value}"; 218 break; 219 case 'postSearch': 220 $sendBody->callbacks["callbacks." . string($key)] = "function(data){$value}"; 221 break; 222 case 'navigationClick': 223 $sendBody->callbacks["callbacks." . string($key)] = "function(contentGroup){$value}"; 224 break; 225 case 'preRender': 226 $sendBody->callbacks["callbacks." . string($key)] = "function(suggests, result){$value}"; 227 break; 228 default: 229 $sendBody->callbacks["callbacks." . string($key)] = "function(){$value}"; 230 } 231 } 232 } 233 $res = $this->client->upgradePluginVersion($sendBody); 206 $ss360_current_time = time(); 207 $ss360_last_request_time = get_option('ss360_last_upgrade_request_ts'); 208 if ($ss360_last_request_time == null || $ss360_last_request_time < $ss360_current_time - 120) { 209 $this->upgradeToV14(); 210 } 211 } 212 } 213 214 public function upgradeToV14() { 215 $sendBody = json_decode(get_option("ss360_config"), true); 216 $ss360_callbacks = get_option('ss360_callbacks'); 217 if($ss360_callbacks == NULL) { 218 $ss360_callbacks = array(); 219 } else { 220 $ss360_callbacks = json_decode($ss360_callbacks, true); 221 } 222 223 if(isset($ss360_callbacks) && sizeof($ss360_callbacks) > 0){ 224 $ss360_new_callbacks = array(); 225 foreach ($ss360_callbacks as $key => $value) { 226 if ($value == NULL || empty($value)) { 227 continue; 228 } 229 switch ($key) { 230 case 'init': 231 $ss360_new_callbacks["callbacks." . $key] = "function(){{$value}}"; 232 break; 233 case 'preSuggest': 234 $ss360_new_callbacks["callbacks." . $key] = "function(query, searchBox){{$value}}"; 235 break; 236 case 'preSearch': 237 $ss360_new_callbacks["callbacks." . $key] = "function(query, sorting, searchBox){if(searchBox!==undefined){searchBox=searchBox.get()[0]};$value}"; 238 break; 239 case 'postSearch': 240 $ss360_new_callbacks["callbacks." . $key] = "function(data){{$value}}"; 241 break; 242 case 'navigationClick': 243 $ss360_new_callbacks["callbacks." . $key] = "function(contentGroup){{$value}}"; 244 break; 245 case 'preRender': 246 $ss360_new_callbacks["callbacks." . $key] = "function(suggests, result){{$value}}"; 247 break; 248 default: 249 $ss360_new_callbacks["callbacks." . $key] = "function(){{$value}}"; 250 } 251 } 252 $sendBody['callbacks'] = $ss360_new_callbacks; 253 } 254 $res = $this->client->upgradePluginVersion(json_encode($sendBody)); 255 if (isset($res['id'])) { 234 256 update_option('ss360_pluginConfigId', $res['id']); 235 } 236 } 257 } else { 258 error_log('SS360 - Could not migrate configuration: ' . json_encode($res)); 259 } 260 update_option('ss360_last_upgrade_request_ts', time()); 261 } 237 262 238 263 public function sitesearch360ReviewInteracted(){ … … 571 596 $woocommerceLabel = esc_html__('WooCommerce Settings', 'site-search-360'); 572 597 $is_configured = get_option("ss360_is_configured"); 598 $is_account_created = get_option("ss360_account_created"); 573 599 $integration_type = $this->getType(); 574 600 $ss360_indexing_mode = get_option("ss360_indexing_mode"); … … 586 612 $ss360_indexing_mode = $_POST['ss360_indexing_mode']; 587 613 } 588 if ($is_configured ) {614 if ($is_configured && $is_account_created) { 589 615 add_submenu_page('sitesearch360', 'Site Search 360', esc_html__('Dashboard', 'site-search-360'), 'manage_options', 'sitesearch360', array($this, 'sitesearch360AdminPage')); 590 616 add_submenu_page('sitesearch360', $indexControlLabel.' - Site Search 360', $indexControlLabel, 'manage_options','sitesearch360-index-control', array($this, 'sitesearch360IndexControlPage')); 591 617 } 592 if($is_configured){ 618 $ss360_plugin_config_id = get_option('ss360_pluginConfigId'); 619 if($is_configured && $ss360_plugin_config_id != null && !empty($ss360_plugin_config_id) && $is_account_created){ 593 620 if($integration_type=='full' || $integration_type=='suggestions'){ 594 621 add_submenu_page('sitesearch360', $searchDesignerLabel.' - Site Search 360', $searchDesignerLabel, 'manage_options','sitesearch360-search-designer', array($this, 'sitesearch360SearchDesignerPage')); … … 637 664 638 665 if ($type != "filter" && $should_inject_search) { 666 $ss360_plugin_config_id = get_option('ss360_pluginConfigId'); 667 if ($ss360_plugin_config_id != NULL && !empty($ss360_plugin_config_id)) { 639 668 ?> 640 <!-- Site Search 360 WP v<?php $ss360_v = defined('SITESEARCH360_VERSION') ? SITESEARCH360_VERSION : '2.1.1'; echo $ss360_v; ?> --> 641 <script src="https://js.sitesearch360.com/plugin/bundle/<?php echo get_option('ss360_pluginConfigId');?>.js?integration=wordpress&integrationMode=<?php echo get_option('ss360_sr_type');?>" async></script> 669 <!-- Site Search 360 WP v<?php $ss360_v = defined('SITESEARCH360_VERSION') ? SITESEARCH360_VERSION : '2.1.3'; echo $ss360_v; ?> --> 670 <script src="https://js.sitesearch360.com/plugin/bundle/<?php echo get_option('ss360_pluginConfigId');?>.js?integration=wordpress&integrationMode=<?php echo get_option('ss360_sr_type');?>" async></script> 671 <?php } else { 672 $configuration = json_decode(get_option("ss360_config"), true); 673 if($type!='full'){ 674 if(isset($configuration['searchBox'])){unset($configuration['searchBox']['searchButton']);} 675 if(isset($configuration['voiceSearch'])){unset($configuration['voiceSearch']['enabled']);} 676 } 677 ?> 678 <!-- Site Search 360 WP v<?php $ss360_v = defined('SITESEARCH360_VERSION') ? SITESEARCH360_VERSION : '1.1.28'; echo $ss360_v; ?> --> 679 <script type="text/javascript"> 680 var ss360Config = <?php echo json_encode($configuration); ?>; 681 if(ss360Config.searchBox === undefined) { 682 ss360Config.searchBox = {}; 683 } 684 (function() { // shortcodes support 685 var sbSelector = ss360Config.searchBox.selector || ''; 686 var sbutSelector = ss360Config.searchBox.searchButton || ''; 687 if(sbSelector.trim().length > 0) { 688 sbSelector += ','; 689 } 690 if(sbutSelector.trim().length > 0) { 691 sbutSelector += ','; 692 } 693 sbSelector += '.ss360-searchbox'; 694 sbutSelector += '.ss360-searchbutton'; 695 ss360Config.searchBox.selector = sbSelector; 696 ss360Config.searchBox.searchButton = sbutSelector; 697 if(document.querySelector('.ss360-search-results-block') !== null) { // always prefer the content block defined via shortcode 698 ss360Config.results = ss360Config.results || {}; 699 ss360Config.results.embedConfig = ss360Config.results.embedConfig || {}; 700 var contentBlockSelector = ss360Config.results.embedConfig.contentBlock || ''; 701 if(contentBlockSelector.indexOf('.ss360-search-results-block') === -1) { 702 if(contentBlockSelector.trim().length > 0) { 703 contentBlockSelector += ','; 704 } 705 contentBlockSelector += '.ss360-search-results-block'; 706 ss360Config.results.embedConfig.contentBlock = contentBlockSelector; 707 } 708 } 709 })(); 710 </script> 711 <script type="text/javascript"> 712 if (ss360Config.callbacks === undefined) { 713 ss360Config.callbacks = {}; 714 } 715 ss360Config.callbacks.preSearch = function (selectedText) { 716 if (selectedText === undefined || selectedText.length === 0) { 717 return false; 718 } 719 return true; 720 } 721 <?php 722 $ss360_callbacks = get_option('ss360_callbacks'); 723 if($ss360_callbacks == NULL) { 724 $ss360_callbacks = array(); 725 } else { 726 $ss360_callbacks = json_decode($ss360_callbacks, true); 727 } 728 ?> 729 <?php if(isset($ss360_callbacks['init']) && $ss360_callbacks['init'] != ''){ ?> 730 ss360Config.callbacks.init = function(){<?php echo $ss360_callbacks['init']; ?>}; 731 <?php } ?> 732 <?php if(isset($ss360_callbacks['preSuggest']) && $ss360_callbacks['preSuggest'] != ''){ ?> 733 ss360Config.callbacks.preSuggest = function(query, searchBox){<?php echo $ss360_callbacks['preSuggest']; ?>}; 734 <?php } ?> 735 <?php if($type == 'full' && isset($ss360_callbacks['preSearch']) && $ss360_callbacks['preSearch'] != ''){ ?> 736 ss360Config.callbacks.preSearch = function(query, sorting, searchBox){if(searchBox!==undefined){searchBox=searchBox.get()[0]};<?php echo $ss360_callbacks['preSearch']; ?>}; 737 <?php } ?> 738 <?php if($type == 'full' && isset($ss360_callbacks['postSearch']) && $ss360_callbacks['postSearch'] != ''){ ?> 739 ss360Config.callbacks.postSearch = function(data){<?php echo $ss360_callbacks['postSearch']; ?>}; 740 <?php } ?> 741 <?php if($type == 'full' && isset($ss360_callbacks['navigationClick']) && $ss360_callbacks['navigationClick'] != ''){ ?> 742 ss360Config.callbacks.navigationClick = function(contentGroup){<?php echo $ss360_callbacks['navigationClick']; ?>}; 743 <?php } ?> 744 <?php if($type == 'full' && isset($ss360_callbacks['preRender']) && $ss360_callbacks['preRender'] != ''){ ?> 745 ss360Config.callbacks.preRender = function(suggests, result){<?php echo $ss360_callbacks['preRender']; ?>}; 746 <?php } ?> 747 748 </script> 749 <?php if ($type == 'suggestions') { ?> 750 <script type="text/javascript"> 751 ss360Config.callbacks.preSearch = function (selectedText, sort, selectedSearchBox) { 752 var form = selectedSearchBox !== undefined ? selectedSearchBox.parents("form")[0] : undefined; 753 if(form !== undefined) { 754 form.submit(); 755 } else { 756 var redirectBase = '<?php echo esc_url(home_url('/')); ?>'; 757 window.location.href = redirectBase + "?s="+encodeURIComponent(selectedText); 758 } 759 return false; 760 } 761 ss360Config.searchBox.preventFormParentSubmit = false; 762 </script> 763 <?php } ?> 764 <script src="https://cdn.sitesearch360.com/v14/sitesearch360-v14.min.js" async></script> 765 <?php } ?> 642 766 <?php } ?> 643 767 <?php -
site-search-360/trunk/readme.txt
r2794158 r2795078 6 6 Requires at least: 4.0.0 7 7 Tested up to: 6.0.2 8 Stable tag: 2.1. 18 Stable tag: 2.1.3 9 9 Requires PHP: 5.2.4 10 10 License: GPLv2 … … 78 78 79 79 == Changelog == 80 = 2.1.3 = 81 * Fix migrating callbacks. 82 * Add debug log if migration fails. 83 * Add fallback code if migration fails. 84 * Add authentication expired warning. 85 86 80 87 = 2.1.2 = 81 88 * Minor fix. -
site-search-360/trunk/sitesearch360-admin-page.php
r2794154 r2795078 56 56 update_option('ss360_pluginConfigId', $ss360_config_result["ids"][0]); 57 57 } elseif ($ss360_config_result["status"] == "success" && count($ss360_config_result["ids"]) == 0) { 58 $ss360_new_id_result = $ss360_client->getNewConfigId(); 59 update_option('ss360_pluginConfigId', $ss360_new_id_result["id"]); 58 $ss360_current_config = get_option('ss360_config'); 59 if ($ss360_current_config !=null && !empty($ss360_current_config)) { 60 $ss360_plugin = new SiteSearch360Plugin(); 61 $ss360_plugin->upgradeToV14(); 62 } else { 63 $ss360_new_id_result = $ss360_client->getNewConfigId(); 64 update_option('ss360_pluginConfigId', $ss360_new_id_result["id"]); 65 } 60 66 } 61 67 $ss360_plugin = new SiteSearch360Plugin(); -
site-search-360/trunk/sitesearch360.php
r2794154 r2795078 6 6 Description: Site Search 360 enhances and improves your standard WordPress search with search suggests, autocompletion, semantic search, and a whole lot of customization. Also, you'll be amazed of how much faster you get relevant search results. 7 7 Author: SEMKNOX GmbH 8 Version: 2.1. 18 Version: 2.1.3 9 9 Author URI: https://sitesearch360.com 10 10 Text Domain: site-search-360 … … 12 12 */ 13 13 14 define( 'SITESEARCH360_VERSION', '2.1. 1' );14 define( 'SITESEARCH360_VERSION', '2.1.3' ); 15 15 16 16 require_once 'class-sitesearch360-widget.php'; -
site-search-360/trunk/uninstall.php
r2794154 r2795078 9 9 'ss360_old_indexing_notice', 'ss360_active_plan', 'ss360_data_points', 'ss360_inactive_dp', 'ss360_renamed_dp', 'ss360_installation_id', 'ss360_config_modifications', 10 10 'ss360_sync_on_save', 'ss360_sync_on_status','ss360_sync_on_future','ss360_sync_on_delete', 'ss360_callbacks', 'ss360_acf_def', 'ss360_woocommerce_categories', 'ss360_woocommerce_filters', 'ss360_selected_menus', 'ss360_page_limit', 11 'ss360_inject_search', 'ss360_pluginConfigId' );11 'ss360_inject_search', 'ss360_pluginConfigId', 'ss360_last_upgrade_request_ts'); 12 12 13 13 global $wpdb; -
site-search-360/trunk/views/sitesearch360-dashboard.php
r2794154 r2795078 45 45 $ss360_selected_menus = array(); 46 46 } 47 $ss360_has_valid_token = $ss360_client->hasValidToken(); 47 48 ?> 48 49 … … 86 87 <h1><a href="https://sitesearch360.com" target="_blank"><img aria-label="Site Search 360" src="<?php echo plugins_url('images/logo.svg', dirname(__FILE__))?>"></a></h1> 87 88 <p class="m-b-0"><?php esc_html_e('Logged in as', 'site-search-360')?> <strong><?php echo $ss360_plugin->getSiteId(); ?></strong> 89 <?php if (!$ss360_has_valid_token) { ?> 90 <p class="alert alert--error"><?php esc_html_e('Your authentication has expired, please log out and log in again to make sure all features are available.', 'site-search-360')?></p> 91 <?php } ?> 88 92 <?php include('sitesearch360-logout.php') ?> 89 93 </div> -
site-search-360/trunk/views/sitesearch360-plan.php
r2643901 r2795078 60 60 } else if($ss360_tier=='FREE' || $ss360_tier=='COLUMBO'){ 61 61 $ss360_upgrade_cta = esc_html__('Upgrade to the Holmes plan', 'site-search-360'); 62 $ss360_cta = esc_html__('($ 39 per month) to remove the Site Search 360 branding and to add filters to your search.');62 $ss360_cta = esc_html__('($49 per month) to remove the Site Search 360 branding and to add filters to your search.'); 63 63 } 64 64
Note: See TracChangeset
for help on using the changeset viewer.