Version Description
- New menu: Compatibility Options
- Compatibility allowing to force case sensitive, insensitive, UTF8 and UNICODE queries
- Excerpt search fixed
- CSS fixes, including a placeholder fix
- A new escaping method, supporting more characters
Download this release
Release Info
Developer | wpdreams |
Plugin | Ajax Search Lite |
Version | 4.5.5 |
Comparing to | |
See all releases |
Code changes from version 4.5.4 to 4.5.5
- ajax-search-lite.php +5 -3
- backend/compatibility.php +111 -0
- backend/settings/assets/tabs.js +46 -16
- backend/settings/default_options.php +24 -5
- backend/settings/types.inc.php +5 -5
- css/style-classic-blue.css +9 -6
- css/style-curvy-black.css +7 -4
- css/style-curvy-blue.css +7 -6
- css/style-curvy-red.css +7 -4
- css/style-simple-blue.css +7 -3
- css/style-simple-grey.css +7 -3
- css/style-simple-red.css +7 -3
- css/style-underline.css +6 -3
- css/style.basic.css +21 -12
- includes/asl_init.class.php +7 -0
- includes/search.class.php +32 -27
- includes/search_content.class.php +139 -51
- includes/views/asl.shortcode.php +10 -4
- js/nomin-scoped/jquery.ajaxsearchlite.js +11 -1
- readme.txt +9 -2
- search.php +2 -1
ajax-search-lite.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Ajax Search Lite
|
4 |
Plugin URI: http://wp-dreams.com
|
5 |
Description: The lite version of the most powerful ajax powered search engine for WordPress.
|
6 |
-
Version: 4.5.
|
7 |
Author: Ernest Marcinko
|
8 |
Author URI: http://wp-dreams.com
|
9 |
Text Domain: ajax-search-lite
|
@@ -19,9 +19,10 @@ define('ASL_INCLUDES_PATH', plugin_dir_path(__FILE__)."/includes/");
|
|
19 |
define('ASL_TT_CACHE_PATH', plugin_dir_path(__FILE__)."/includes/cache/");
|
20 |
define('ASL_DIR', 'ajax-search-lite');
|
21 |
define('ASL_URL', plugin_dir_url(__FILE__));
|
22 |
-
define('ASL_CURRENT_VERSION',
|
23 |
-
define('ASL_CURR_VER_STRING', "4.5.
|
24 |
define('ASL_DEBUG', 0);
|
|
|
25 |
|
26 |
global $asl_admin_pages;
|
27 |
global $asl_debug_data;
|
@@ -29,6 +30,7 @@ global $asl_debug_data;
|
|
29 |
$asl_admin_pages = array(
|
30 |
"ajax-search-lite/backend/settings.php",
|
31 |
"ajax-search-lite/backend/analytics.php",
|
|
|
32 |
"ajax-search-lite/backend/performance_options.php",
|
33 |
"ajax-search-lite/backend/help_and_support.php"
|
34 |
);
|
3 |
Plugin Name: Ajax Search Lite
|
4 |
Plugin URI: http://wp-dreams.com
|
5 |
Description: The lite version of the most powerful ajax powered search engine for WordPress.
|
6 |
+
Version: 4.5.5
|
7 |
Author: Ernest Marcinko
|
8 |
Author URI: http://wp-dreams.com
|
9 |
Text Domain: ajax-search-lite
|
19 |
define('ASL_TT_CACHE_PATH', plugin_dir_path(__FILE__)."/includes/cache/");
|
20 |
define('ASL_DIR', 'ajax-search-lite');
|
21 |
define('ASL_URL', plugin_dir_url(__FILE__));
|
22 |
+
define('ASL_CURRENT_VERSION', 4550);
|
23 |
+
define('ASL_CURR_VER_STRING', "4.5.5");
|
24 |
define('ASL_DEBUG', 0);
|
25 |
+
define('ASL_DEMO', get_option('wd_asl_demo', 0) );
|
26 |
|
27 |
global $asl_admin_pages;
|
28 |
global $asl_debug_data;
|
30 |
$asl_admin_pages = array(
|
31 |
"ajax-search-lite/backend/settings.php",
|
32 |
"ajax-search-lite/backend/analytics.php",
|
33 |
+
"ajax-search-lite/backend/compatibility.php",
|
34 |
"ajax-search-lite/backend/performance_options.php",
|
35 |
"ajax-search-lite/backend/help_and_support.php"
|
36 |
);
|
backend/compatibility.php
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* Prevent direct access */
|
3 |
+
defined('ABSPATH') or die("You can't access this file directly.");
|
4 |
+
|
5 |
+
$com_options = get_option('asl_compatibility');
|
6 |
+
|
7 |
+
if (ASL_DEMO) $_POST = null;
|
8 |
+
?>
|
9 |
+
|
10 |
+
<div id="wpdreams" class='wpdreams wrap'>
|
11 |
+
<div class="wpdreams-box">
|
12 |
+
|
13 |
+
<?php ob_start(); ?>
|
14 |
+
|
15 |
+
<div tabid="1">
|
16 |
+
<fieldset>
|
17 |
+
<legend>Database Compatibility</legend>
|
18 |
+
|
19 |
+
<p class='infoMsg'>
|
20 |
+
If you are experiencing issues with accent(diacritic) or case sensitiveness, you can force the search to try these tweaks.<br>
|
21 |
+
<i>The search works according to your database collation settings</i>, so please be aware that <b>this is not an effective way</b> of fixing database collation issues.<br>
|
22 |
+
If you have case/diacritic issues then please read the <a href="http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html" target="_blank">MySql manual on collations</a> or consult a <b>database expert</b> - those issues should be treated on database level!
|
23 |
+
</p>
|
24 |
+
<div class="item">
|
25 |
+
<?php
|
26 |
+
$o = new wpdreamsCustomSelect("db_force_case", "Force case", array(
|
27 |
+
'selects'=> array(
|
28 |
+
array('option' => 'None', 'value' => 'none'),
|
29 |
+
array('option' => 'Sensitivity', 'value' => 'sensitivity'),
|
30 |
+
array('option' => 'InSensitivity', 'value' => 'insensitivity')
|
31 |
+
),
|
32 |
+
'value'=>wpdreams_setval_or_getoption($com_options, 'db_force_case', 'asl_compatibility_def')
|
33 |
+
)
|
34 |
+
);
|
35 |
+
$params[$o->getName()] = $o->getData();
|
36 |
+
?>
|
37 |
+
</div>
|
38 |
+
<div class="item">
|
39 |
+
<?php $o = new wpdreamsYesNo("db_force_unicode", "Force unicode search",
|
40 |
+
wpdreams_setval_or_getoption($com_options, 'db_force_unicode', 'asl_compatibility_def')
|
41 |
+
); ?>
|
42 |
+
<p class='descMsg'>Will try to force unicode character conversion on the search phrase.</p>
|
43 |
+
</div>
|
44 |
+
<div class="item">
|
45 |
+
<?php $o = new wpdreamsYesNo("db_force_utf8_like", "Force utf8 on LIKE operations",
|
46 |
+
wpdreams_setval_or_getoption($com_options, 'db_force_utf8_like', 'asl_compatibility_def')
|
47 |
+
); ?>
|
48 |
+
<p class='descMsg'>Will try to force utf8 conversion on all LIKE operations in the WHERE and HAVING clauses.</p>
|
49 |
+
</div>
|
50 |
+
|
51 |
+
</fieldset>
|
52 |
+
</div>
|
53 |
+
|
54 |
+
<?php $_r = ob_get_clean(); ?>
|
55 |
+
|
56 |
+
|
57 |
+
<?php
|
58 |
+
|
59 |
+
// Compatibility stuff
|
60 |
+
$updated = false;
|
61 |
+
if ( isset($_POST) && isset($_POST['asl_compatibility']) ) {
|
62 |
+
$values = array(
|
63 |
+
// CSS and JS
|
64 |
+
// Query options
|
65 |
+
"db_force_case" => $_POST['db_force_case'],
|
66 |
+
"db_force_unicode" => $_POST['db_force_unicode'],
|
67 |
+
"db_force_utf8_like" => $_POST['db_force_utf8_like']
|
68 |
+
);
|
69 |
+
update_option('asl_compatibility', $values);
|
70 |
+
$updated = true;
|
71 |
+
}
|
72 |
+
|
73 |
+
?>
|
74 |
+
|
75 |
+
<div class='wpdreams-slider'>
|
76 |
+
|
77 |
+
<?php if ($updated): ?>
|
78 |
+
<div class='successMsg'>Search compatibility settings successfuly updated!</div><?php endif; ?>
|
79 |
+
|
80 |
+
<?php if (ASL_DEMO): ?>
|
81 |
+
<p class="infoMsg">DEMO MODE ENABLED - Please note, that these options are read-only</p>
|
82 |
+
<?php endif; ?>
|
83 |
+
|
84 |
+
<ul id="tabs" class='tabs'>
|
85 |
+
<li><a tabid="1" class='current multisite'>Database compatibility</a></li>
|
86 |
+
</ul>
|
87 |
+
|
88 |
+
<div id="content" class='tabscontent'>
|
89 |
+
|
90 |
+
<!-- Compatibility form -->
|
91 |
+
<form name='compatibility' method='post'>
|
92 |
+
|
93 |
+
<?php print $_r; ?>
|
94 |
+
|
95 |
+
<div class="item">
|
96 |
+
<input type='submit' class='submit' value='Save options'/>
|
97 |
+
</div>
|
98 |
+
<input type='hidden' name='asl_compatibility' value='1'/>
|
99 |
+
</form>
|
100 |
+
|
101 |
+
</div>
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
</div>
|
105 |
+
<script>
|
106 |
+
// Simulate a click on the first element to initialize the tabs
|
107 |
+
jQuery(function ($) {
|
108 |
+
$('.tabs a[tabid=1]').click();
|
109 |
+
});
|
110 |
+
|
111 |
+
</script>
|
backend/settings/assets/tabs.js
CHANGED
@@ -1,18 +1,48 @@
|
|
1 |
-
(function($){
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
});
|
16 |
-
|
17 |
-
});
|
18 |
})(jQuery)
|
1 |
+
(function ($) {
|
2 |
+
$(document).ready(function () {
|
3 |
+
$('.tabs a').click(function (e) {
|
4 |
+
e.preventDefault();
|
5 |
+
var tid = $(this).attr('tabid');
|
6 |
+
var tabsContent = $(this).parent().parent().next();
|
7 |
+
|
8 |
+
tabsContent.children().each(function () {
|
9 |
+
|
10 |
+
// Form nested tabs
|
11 |
+
if ($(this).is('form')) {
|
12 |
+
|
13 |
+
// Hackidy-hack. Yea, hide this form, later if this is the active one we show it..
|
14 |
+
// .. so the non-hidden content of the form is not present on other tabs
|
15 |
+
// .. whatever man, STOP QUESTIONING MY METHODS
|
16 |
+
$(this).hide();
|
17 |
+
$form = $(this);
|
18 |
+
|
19 |
+
// This is should be done with a recursive call, but meh...
|
20 |
+
$(this).children().each(function () {
|
21 |
+
// Only apply to nodes with the tabid attribute
|
22 |
+
if ($(this).is('[tabid]')) {
|
23 |
+
$(this).hide();
|
24 |
+
if ($(this).attr('tabid') == tid) {
|
25 |
+
$form.fadeIn();
|
26 |
+
$(this).fadeIn();
|
27 |
+
}
|
28 |
+
}
|
29 |
+
});
|
30 |
+
return;
|
31 |
+
}
|
32 |
+
|
33 |
+
// Only apply to nodes with the tabid attribute
|
34 |
+
if ($(this).is('[tabid]')) {
|
35 |
+
$(this).hide();
|
36 |
+
if ($(this).attr('tabid') == tid) {
|
37 |
+
$(this).fadeIn();
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
+
});
|
42 |
+
|
43 |
+
$('a', $(this).parent().parent()).removeClass('current');
|
44 |
+
$(this).addClass('current');
|
45 |
+
});
|
46 |
+
|
47 |
});
|
|
|
|
|
48 |
})(jQuery)
|
backend/settings/default_options.php
CHANGED
@@ -21,6 +21,11 @@ $options['asl_performance_def']['use_custom_ajax_handler'] = 0;
|
|
21 |
$options['asl_performance_def']['image_cropping'] = 0;
|
22 |
$options['asl_performance_def']['load_in_footer'] = 1;
|
23 |
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
/* Default new search options */
|
26 |
|
@@ -215,10 +220,26 @@ $options['asl_defaults']['wpml_compatibility'] = 1;
|
|
215 |
/* Save the defaul options if not exist */
|
216 |
$_asl_ver = get_option('asl_version');
|
217 |
|
218 |
-
//
|
219 |
-
if ($_asl_ver != ASL_CURRENT_VERSION)
|
|
|
|
|
220 |
$asl_debug_data->destroy();
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
// Update the default options if not exist/newer version available/debug mode is on
|
223 |
foreach($options as $key=>$value) {
|
224 |
if (get_option($key) === false || $_asl_ver != ASL_CURRENT_VERSION || ASL_DEBUG == 1) {
|
@@ -229,6 +250,4 @@ $options['asl_defaults']['wpml_compatibility'] = 1;
|
|
229 |
if (get_option('asl_options')===false || ASL_DEBUG == 1)
|
230 |
update_option('asl_options', $options['asl_defaults']);
|
231 |
|
232 |
-
update_option('asl_version', ASL_CURRENT_VERSION);
|
233 |
-
|
234 |
-
?>
|
21 |
$options['asl_performance_def']['image_cropping'] = 0;
|
22 |
$options['asl_performance_def']['load_in_footer'] = 1;
|
23 |
|
24 |
+
/* Compatibility defaults */
|
25 |
+
$options['asl_compatibility_def']['db_force_case'] = 'none';
|
26 |
+
$options['asl_compatibility_def']['db_force_unicode'] = 0;
|
27 |
+
$options['asl_compatibility_def']['db_force_utf8_like'] = 0;
|
28 |
+
|
29 |
|
30 |
/* Default new search options */
|
31 |
|
220 |
/* Save the defaul options if not exist */
|
221 |
$_asl_ver = get_option('asl_version');
|
222 |
|
223 |
+
// Is this after an update?
|
224 |
+
if ($_asl_ver != ASL_CURRENT_VERSION) {
|
225 |
+
|
226 |
+
// Reset the debug data
|
227 |
$asl_debug_data->destroy();
|
228 |
|
229 |
+
// Compatibility options set?
|
230 |
+
if ( get_option('asl_compatibility')===false || ASL_DEBUG == 1 )
|
231 |
+
update_option('asl_compatibility', $options['asl_compatibility_def']);
|
232 |
+
|
233 |
+
// Analytics options set?
|
234 |
+
if ( get_option('asl_analytics')===false || ASL_DEBUG == 1 )
|
235 |
+
update_option('asl_analytics', $options['asl_analytics_def']);
|
236 |
+
|
237 |
+
// Performance options set?
|
238 |
+
if ( get_option('asl_performance')===false || ASL_DEBUG == 1 )
|
239 |
+
update_option('asl_performance', $options['asl_performance_def']);
|
240 |
+
|
241 |
+
}
|
242 |
+
|
243 |
// Update the default options if not exist/newer version available/debug mode is on
|
244 |
foreach($options as $key=>$value) {
|
245 |
if (get_option($key) === false || $_asl_ver != ASL_CURRENT_VERSION || ASL_DEBUG == 1) {
|
250 |
if (get_option('asl_options')===false || ASL_DEBUG == 1)
|
251 |
update_option('asl_options', $options['asl_defaults']);
|
252 |
|
253 |
+
update_option('asl_version', ASL_CURRENT_VERSION);
|
|
|
|
backend/settings/types.inc.php
CHANGED
@@ -58,9 +58,9 @@ if (!function_exists("admin_scriptsV04")) {
|
|
58 |
wp_enqueue_media(); // For image uploader.
|
59 |
wp_enqueue_script('thickbox', false, array('jquery'));
|
60 |
|
61 |
-
wp_register_script('wpdreams-others', plugin_dir_url(__FILE__) . '
|
62 |
'jquery'
|
63 |
-
));
|
64 |
wp_enqueue_script('jquery-ui-core');
|
65 |
wp_enqueue_script('jquery-ui-slider', array('jquery'));
|
66 |
wp_enqueue_script('jquery-ui-tabs', array('jquery'));
|
@@ -68,9 +68,9 @@ if (!function_exists("admin_scriptsV04")) {
|
|
68 |
wp_enqueue_script('jquery-ui-draggable', array('jquery'));
|
69 |
wp_enqueue_script('jquery-ui-datepicker', array('jquery'));
|
70 |
|
71 |
-
wp_register_script('wpdreams-tabs', plugin_dir_url(__FILE__) . '
|
72 |
'jquery'
|
73 |
-
));
|
74 |
wp_enqueue_script('wpdreams-tabs');
|
75 |
|
76 |
wp_register_script('wpdreams-upload', plugin_dir_url(__FILE__) . '/assets/upload.js', array(
|
@@ -94,7 +94,7 @@ if (!function_exists("admin_scriptsV04")) {
|
|
94 |
|
95 |
if (!function_exists("admin_stylesV04")) {
|
96 |
function admin_stylesV04() {
|
97 |
-
wp_register_style('wpdreams-style', plugin_dir_url(__FILE__) . '/assets/style.css', array('wpdreams-tabs'));
|
98 |
wp_enqueue_style('wpdreams-style');
|
99 |
wp_enqueue_style('thickbox');
|
100 |
wp_register_style('wpdreams-jqueryui', 'https://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css');
|
58 |
wp_enqueue_media(); // For image uploader.
|
59 |
wp_enqueue_script('thickbox', false, array('jquery'));
|
60 |
|
61 |
+
wp_register_script('wpdreams-others', plugin_dir_url(__FILE__) . 'assets/others.js', array(
|
62 |
'jquery'
|
63 |
+
), ASL_CURR_VER_STRING);
|
64 |
wp_enqueue_script('jquery-ui-core');
|
65 |
wp_enqueue_script('jquery-ui-slider', array('jquery'));
|
66 |
wp_enqueue_script('jquery-ui-tabs', array('jquery'));
|
68 |
wp_enqueue_script('jquery-ui-draggable', array('jquery'));
|
69 |
wp_enqueue_script('jquery-ui-datepicker', array('jquery'));
|
70 |
|
71 |
+
wp_register_script('wpdreams-tabs', plugin_dir_url(__FILE__) . 'assets/tabs.js', array(
|
72 |
'jquery'
|
73 |
+
), ASL_CURR_VER_STRING);
|
74 |
wp_enqueue_script('wpdreams-tabs');
|
75 |
|
76 |
wp_register_script('wpdreams-upload', plugin_dir_url(__FILE__) . '/assets/upload.js', array(
|
94 |
|
95 |
if (!function_exists("admin_stylesV04")) {
|
96 |
function admin_stylesV04() {
|
97 |
+
wp_register_style('wpdreams-style', plugin_dir_url(__FILE__) . '/assets/style.css', array('wpdreams-tabs'), ASL_CURR_VER_STRING);
|
98 |
wp_enqueue_style('wpdreams-style');
|
99 |
wp_enqueue_style('thickbox');
|
100 |
wp_register_style('wpdreams-jqueryui', 'https://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css');
|
css/style-classic-blue.css
CHANGED
@@ -11,6 +11,7 @@ div[id*="ajaxsearchlite"] {
|
|
11 |
box-shadow: 0px 10px 18px -13px #000000;
|
12 |
}
|
13 |
|
|
|
14 |
div[id*="ajaxsearchlite"] .probox {
|
15 |
margin: 4px;
|
16 |
height: 28px;
|
@@ -21,21 +22,23 @@ div[id*="ajaxsearchlite"] .probox {
|
|
21 |
box-shadow: 1px 0px 6px -3px rgb(181, 181, 181) inset;
|
22 |
}
|
23 |
|
|
|
24 |
div[id*="ajaxsearchlite"] .probox div.proinput {
|
25 |
font-weight: normal;
|
26 |
font-family: Open Sans;
|
27 |
color: rgb(0, 0, 0) !important;
|
28 |
font-size: 12px;
|
29 |
-
line-height:
|
30 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
31 |
}
|
32 |
|
|
|
33 |
div[id*="ajaxsearchlite"] .probox div.proinput input {
|
34 |
font-weight: normal;
|
35 |
font-family: Open Sans;
|
36 |
color: rgb(0, 0, 0) !important;
|
37 |
font-size: 12px;
|
38 |
-
line-height:
|
39 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
40 |
border: 0;
|
41 |
box-shadow: none;
|
@@ -261,20 +264,20 @@ div[id*="ajaxsearchliteres"] .results .item p.desc {
|
|
261 |
|
262 |
div[id*="ajaxsearchliteres"] .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
|
263 |
background: #fff; /* rgba fallback */
|
264 |
-
background: rgba(
|
265 |
filter: "alpha(opacity=90)";
|
266 |
-ms-filter: "alpha(opacity=90)"; /* old ie */
|
267 |
}
|
268 |
|
269 |
div[id*="ajaxsearchliteres"] .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
|
270 |
-
background: rgba(
|
271 |
filter: "alpha(opacity=95)";
|
272 |
-ms-filter: "alpha(opacity=95)"; /* old ie */
|
273 |
}
|
274 |
|
275 |
div[id*="ajaxsearchliteres"] .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
|
276 |
div[id*="ajaxsearchliteres"] .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
|
277 |
-
background: rgba(
|
278 |
filter: "alpha(opacity=100)";
|
279 |
-ms-filter: "alpha(opacity=100)"; /* old ie */
|
280 |
}
|
@@ -314,7 +317,7 @@ div[id*="ajaxsearchliteres"] span.highlighted {
|
|
314 |
|
315 |
div[id*="ajaxsearchlitesettings"].searchsettings {
|
316 |
background-color: rgb(109, 204, 237);
|
317 |
-
background
|
318 |
background-image: -webkit-linear-gradient(185deg, rgb(109, 204, 237), rgb(104, 174, 199));
|
319 |
background-image: -moz-linear-gradient(185deg, rgb(109, 204, 237), rgb(104, 174, 199));
|
320 |
background-image: -o-linear-gradient(185deg, rgb(109, 204, 237), rgb(104, 174, 199));
|
11 |
box-shadow: 0px 10px 18px -13px #000000;
|
12 |
}
|
13 |
|
14 |
+
#ajaxsearchlite1 .probox,
|
15 |
div[id*="ajaxsearchlite"] .probox {
|
16 |
margin: 4px;
|
17 |
height: 28px;
|
22 |
box-shadow: 1px 0px 6px -3px rgb(181, 181, 181) inset;
|
23 |
}
|
24 |
|
25 |
+
#ajaxsearchlite1 .probox .proinput,
|
26 |
div[id*="ajaxsearchlite"] .probox div.proinput {
|
27 |
font-weight: normal;
|
28 |
font-family: Open Sans;
|
29 |
color: rgb(0, 0, 0) !important;
|
30 |
font-size: 12px;
|
31 |
+
line-height: normal !important;
|
32 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
33 |
}
|
34 |
|
35 |
+
#ajaxsearchlite1 .probox .proinput input,
|
36 |
div[id*="ajaxsearchlite"] .probox div.proinput input {
|
37 |
font-weight: normal;
|
38 |
font-family: Open Sans;
|
39 |
color: rgb(0, 0, 0) !important;
|
40 |
font-size: 12px;
|
41 |
+
line-height: normal !important;
|
42 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
43 |
border: 0;
|
44 |
box-shadow: none;
|
264 |
|
265 |
div[id*="ajaxsearchliteres"] .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
|
266 |
background: #fff; /* rgba fallback */
|
267 |
+
background: rgba(255, 255, 255, 0.9);
|
268 |
filter: "alpha(opacity=90)";
|
269 |
-ms-filter: "alpha(opacity=90)"; /* old ie */
|
270 |
}
|
271 |
|
272 |
div[id*="ajaxsearchliteres"] .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
|
273 |
+
background: rgba(255, 255, 255, 0.95);
|
274 |
filter: "alpha(opacity=95)";
|
275 |
-ms-filter: "alpha(opacity=95)"; /* old ie */
|
276 |
}
|
277 |
|
278 |
div[id*="ajaxsearchliteres"] .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
|
279 |
div[id*="ajaxsearchliteres"] .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
|
280 |
+
background: rgba(255, 255, 255, 1);
|
281 |
filter: "alpha(opacity=100)";
|
282 |
-ms-filter: "alpha(opacity=100)"; /* old ie */
|
283 |
}
|
317 |
|
318 |
div[id*="ajaxsearchlitesettings"].searchsettings {
|
319 |
background-color: rgb(109, 204, 237);
|
320 |
+
background-image: linear-gradient(185deg, rgb(109, 204, 237), rgb(104, 174, 199));
|
321 |
background-image: -webkit-linear-gradient(185deg, rgb(109, 204, 237), rgb(104, 174, 199));
|
322 |
background-image: -moz-linear-gradient(185deg, rgb(109, 204, 237), rgb(104, 174, 199));
|
323 |
background-image: -o-linear-gradient(185deg, rgb(109, 204, 237), rgb(104, 174, 199));
|
css/style-curvy-black.css
CHANGED
@@ -10,6 +10,7 @@ div[id*="ajaxsearchlite"] {
|
|
10 |
box-shadow: none;
|
11 |
}
|
12 |
|
|
|
13 |
div[id*="ajaxsearchlite"] .probox {
|
14 |
margin: 0px;
|
15 |
padding: 8px;
|
@@ -21,21 +22,23 @@ div[id*="ajaxsearchlite"] .probox {
|
|
21 |
border-radius: 30px;
|
22 |
}
|
23 |
|
|
|
24 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
25 |
font-weight: normal;
|
26 |
font-family: Open Sans;
|
27 |
color: rgb(0, 0, 0) !important;
|
28 |
font-size: 12px;
|
29 |
-
line-height:
|
30 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
31 |
}
|
32 |
|
|
|
33 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
34 |
font-weight: normal;
|
35 |
font-family: Open Sans;
|
36 |
color: rgb(0, 0, 0) !important;
|
37 |
font-size: 12px;
|
38 |
-
line-height:
|
39 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
40 |
border: 0;
|
41 |
box-shadow: none;
|
@@ -79,7 +82,7 @@ div[id*="ajaxsearchlite"] .probox .proinput input.autocomplete {
|
|
79 |
font-family: Open Sans;
|
80 |
color: rgb(0, 0, 0);
|
81 |
font-size: 12px;
|
82 |
-
line-height:
|
83 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
84 |
}
|
85 |
|
@@ -156,7 +159,7 @@ div[id*="ajaxsearchliteres"].vertical {
|
|
156 |
border-radius: 3px;
|
157 |
border: 0px solid rgb(181, 181, 181);
|
158 |
border-radius: 0px 0px 0px 0px;
|
159 |
-
box-shadow: 0px 0px
|
160 |
visibility: hidden;
|
161 |
display: none;
|
162 |
}
|
10 |
box-shadow: none;
|
11 |
}
|
12 |
|
13 |
+
#ajaxsearchlite1 .probox,
|
14 |
div[id*="ajaxsearchlite"] .probox {
|
15 |
margin: 0px;
|
16 |
padding: 8px;
|
22 |
border-radius: 30px;
|
23 |
}
|
24 |
|
25 |
+
#ajaxsearchlite1 .probox .proinput,
|
26 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
27 |
font-weight: normal;
|
28 |
font-family: Open Sans;
|
29 |
color: rgb(0, 0, 0) !important;
|
30 |
font-size: 12px;
|
31 |
+
line-height: normal !important;
|
32 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
33 |
}
|
34 |
|
35 |
+
#ajaxsearchlite1 .probox .proinput input,
|
36 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
37 |
font-weight: normal;
|
38 |
font-family: Open Sans;
|
39 |
color: rgb(0, 0, 0) !important;
|
40 |
font-size: 12px;
|
41 |
+
line-height: normal !important;
|
42 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
43 |
border: 0;
|
44 |
box-shadow: none;
|
82 |
font-family: Open Sans;
|
83 |
color: rgb(0, 0, 0);
|
84 |
font-size: 12px;
|
85 |
+
line-height: normal !important;
|
86 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
87 |
}
|
88 |
|
159 |
border-radius: 3px;
|
160 |
border: 0px solid rgb(181, 181, 181);
|
161 |
border-radius: 0px 0px 0px 0px;
|
162 |
+
box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.3);
|
163 |
visibility: hidden;
|
164 |
display: none;
|
165 |
}
|
css/style-curvy-blue.css
CHANGED
@@ -10,6 +10,7 @@ div[id*="ajaxsearchlite"] {
|
|
10 |
box-shadow: none;
|
11 |
}
|
12 |
|
|
|
13 |
div[id*="ajaxsearchlite"] .probox {
|
14 |
margin: 0px;
|
15 |
padding: 8px;
|
@@ -21,29 +22,28 @@ div[id*="ajaxsearchlite"] .probox {
|
|
21 |
border-radius: 30px;
|
22 |
}
|
23 |
|
|
|
24 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
25 |
font-weight: normal;
|
26 |
font-family: Open Sans;
|
27 |
color: rgb(0, 0, 0) !important;
|
28 |
font-size: 12px;
|
29 |
-
line-height:
|
30 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
31 |
}
|
32 |
|
|
|
33 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
34 |
font-weight: normal;
|
35 |
font-family: Open Sans;
|
36 |
color: rgb(0, 0, 0) !important;
|
37 |
font-size: 12px;
|
38 |
-
line-height:
|
39 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
40 |
border: 0;
|
41 |
box-shadow: none;
|
42 |
}
|
43 |
|
44 |
-
div[id*="ajaxsearchlite"].asl_msie .probox .proinput input {
|
45 |
-
line-height: 24px !important;
|
46 |
-
}
|
47 |
|
48 |
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
49 |
div[id*="ajaxsearchlite"] .probox .proinput input::-webkit-input-placeholder {
|
@@ -72,6 +72,7 @@ div[id*="ajaxsearchlite"] .probox .proinput input:-moz-placeholder {
|
|
72 |
font-family: Open Sans;
|
73 |
color: rgba(0, 0, 0, 0.6) !important;
|
74 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
|
|
75 |
}
|
76 |
|
77 |
div[id*="ajaxsearchlite"] .probox .proinput input.autocomplete {
|
@@ -156,7 +157,7 @@ div[id*="ajaxsearchliteres"].vertical {
|
|
156 |
border-radius: 3px;
|
157 |
border: 0px solid rgb(181, 181, 181);
|
158 |
border-radius: 0px 0px 0px 0px;
|
159 |
-
box-shadow: 0px 0px
|
160 |
visibility: hidden;
|
161 |
display: none;
|
162 |
}
|
10 |
box-shadow: none;
|
11 |
}
|
12 |
|
13 |
+
#ajaxsearchlite1 .probox,
|
14 |
div[id*="ajaxsearchlite"] .probox {
|
15 |
margin: 0px;
|
16 |
padding: 8px;
|
22 |
border-radius: 30px;
|
23 |
}
|
24 |
|
25 |
+
#ajaxsearchlite1 .probox .proinput,
|
26 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
27 |
font-weight: normal;
|
28 |
font-family: Open Sans;
|
29 |
color: rgb(0, 0, 0) !important;
|
30 |
font-size: 12px;
|
31 |
+
line-height: normal !important;
|
32 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
33 |
}
|
34 |
|
35 |
+
#ajaxsearchlite1 .probox .proinput input,
|
36 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
37 |
font-weight: normal;
|
38 |
font-family: Open Sans;
|
39 |
color: rgb(0, 0, 0) !important;
|
40 |
font-size: 12px;
|
41 |
+
line-height: normal !important;
|
42 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
43 |
border: 0;
|
44 |
box-shadow: none;
|
45 |
}
|
46 |
|
|
|
|
|
|
|
47 |
|
48 |
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
49 |
div[id*="ajaxsearchlite"] .probox .proinput input::-webkit-input-placeholder {
|
72 |
font-family: Open Sans;
|
73 |
color: rgba(0, 0, 0, 0.6) !important;
|
74 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
75 |
+
line-height: normal !important;
|
76 |
}
|
77 |
|
78 |
div[id*="ajaxsearchlite"] .probox .proinput input.autocomplete {
|
157 |
border-radius: 3px;
|
158 |
border: 0px solid rgb(181, 181, 181);
|
159 |
border-radius: 0px 0px 0px 0px;
|
160 |
+
box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.3);
|
161 |
visibility: hidden;
|
162 |
display: none;
|
163 |
}
|
css/style-curvy-red.css
CHANGED
@@ -10,6 +10,7 @@ div[id*="ajaxsearchlite"] {
|
|
10 |
box-shadow: none;
|
11 |
}
|
12 |
|
|
|
13 |
div[id*="ajaxsearchlite"] .probox {
|
14 |
margin: 0px;
|
15 |
padding: 8px;
|
@@ -21,21 +22,23 @@ div[id*="ajaxsearchlite"] .probox {
|
|
21 |
border-radius: 30px;
|
22 |
}
|
23 |
|
|
|
24 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
25 |
font-weight: normal;
|
26 |
font-family: Open Sans;
|
27 |
color: rgb(0, 0, 0) !important;
|
28 |
font-size: 12px;
|
29 |
-
line-height:
|
30 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
31 |
}
|
32 |
|
|
|
33 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
34 |
font-weight: normal;
|
35 |
font-family: Open Sans;
|
36 |
color: rgb(0, 0, 0) !important;
|
37 |
font-size: 12px;
|
38 |
-
line-height:
|
39 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
40 |
border: 0;
|
41 |
box-shadow: none;
|
@@ -79,7 +82,7 @@ div[id*="ajaxsearchlite"] .probox .proinput input.autocomplete {
|
|
79 |
font-family: Open Sans;
|
80 |
color: rgb(0, 0, 0);
|
81 |
font-size: 12px;
|
82 |
-
line-height:
|
83 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
84 |
}
|
85 |
|
@@ -156,7 +159,7 @@ div[id*="ajaxsearchliteres"].vertical {
|
|
156 |
border-radius: 3px;
|
157 |
border: 0px solid rgb(181, 181, 181);
|
158 |
border-radius: 0px 0px 0px 0px;
|
159 |
-
box-shadow: 0px 0px
|
160 |
visibility: hidden;
|
161 |
display: none;
|
162 |
}
|
10 |
box-shadow: none;
|
11 |
}
|
12 |
|
13 |
+
#ajaxsearchlite1 .probox,
|
14 |
div[id*="ajaxsearchlite"] .probox {
|
15 |
margin: 0px;
|
16 |
padding: 8px;
|
22 |
border-radius: 30px;
|
23 |
}
|
24 |
|
25 |
+
#ajaxsearchlite1 .probox .proinput,
|
26 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
27 |
font-weight: normal;
|
28 |
font-family: Open Sans;
|
29 |
color: rgb(0, 0, 0) !important;
|
30 |
font-size: 12px;
|
31 |
+
line-height: normal !important;
|
32 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
33 |
}
|
34 |
|
35 |
+
#ajaxsearchlite1 .probox .proinput input,
|
36 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
37 |
font-weight: normal;
|
38 |
font-family: Open Sans;
|
39 |
color: rgb(0, 0, 0) !important;
|
40 |
font-size: 12px;
|
41 |
+
line-height: normal !important;
|
42 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
43 |
border: 0;
|
44 |
box-shadow: none;
|
82 |
font-family: Open Sans;
|
83 |
color: rgb(0, 0, 0);
|
84 |
font-size: 12px;
|
85 |
+
line-height: normal !important;
|
86 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
87 |
}
|
88 |
|
159 |
border-radius: 3px;
|
160 |
border: 0px solid rgb(181, 181, 181);
|
161 |
border-radius: 0px 0px 0px 0px;
|
162 |
+
box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.3);
|
163 |
visibility: hidden;
|
164 |
display: none;
|
165 |
}
|
css/style-simple-blue.css
CHANGED
@@ -15,6 +15,7 @@ div[id*="ajaxsearchlite"] {
|
|
15 |
box-shadow: 0px 0px 0px 0px #000000;
|
16 |
}
|
17 |
|
|
|
18 |
div[id*="ajaxsearchlite"] .probox {
|
19 |
margin: 0px;
|
20 |
height: 34px;
|
@@ -30,24 +31,27 @@ div[id*="ajaxsearchlite"] .probox {
|
|
30 |
box-shadow: 0px 0px 0px 0px rgb(181, 181, 181) inset;
|
31 |
}
|
32 |
|
|
|
33 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
34 |
font-weight: normal;
|
35 |
font-family: Open Sans;
|
36 |
color: rgb(255, 255, 255) !important;
|
37 |
font-size: 12px;
|
38 |
-
line-height:
|
39 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
40 |
}
|
41 |
|
|
|
42 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
43 |
font-weight: normal;
|
44 |
font-family: Open Sans;
|
45 |
color: rgb(255, 255, 255) !important;
|
46 |
font-size: 12px;
|
47 |
-
line-height:
|
48 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
49 |
border: 0;
|
50 |
box-shadow: none;
|
|
|
51 |
}
|
52 |
|
53 |
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
@@ -84,7 +88,7 @@ div[id*="ajaxsearchlite"] .probox .proinput input.autocomplete {
|
|
84 |
font-family: Open Sans;
|
85 |
color: rgb(255, 255, 255);
|
86 |
font-size: 12px;
|
87 |
-
line-height:
|
88 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
89 |
/* Must match box height */
|
90 |
margin-top: -34px !important;
|
15 |
box-shadow: 0px 0px 0px 0px #000000;
|
16 |
}
|
17 |
|
18 |
+
#ajaxsearchlite1 .probox,
|
19 |
div[id*="ajaxsearchlite"] .probox {
|
20 |
margin: 0px;
|
21 |
height: 34px;
|
31 |
box-shadow: 0px 0px 0px 0px rgb(181, 181, 181) inset;
|
32 |
}
|
33 |
|
34 |
+
#ajaxsearchlite1 .probox .proinput,
|
35 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
36 |
font-weight: normal;
|
37 |
font-family: Open Sans;
|
38 |
color: rgb(255, 255, 255) !important;
|
39 |
font-size: 12px;
|
40 |
+
line-height: normal !important;
|
41 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
42 |
}
|
43 |
|
44 |
+
#ajaxsearchlite1 .probox .proinput input,
|
45 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
46 |
font-weight: normal;
|
47 |
font-family: Open Sans;
|
48 |
color: rgb(255, 255, 255) !important;
|
49 |
font-size: 12px;
|
50 |
+
line-height: normal !important;
|
51 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
52 |
border: 0;
|
53 |
box-shadow: none;
|
54 |
+
height: 34px;
|
55 |
}
|
56 |
|
57 |
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
88 |
font-family: Open Sans;
|
89 |
color: rgb(255, 255, 255);
|
90 |
font-size: 12px;
|
91 |
+
line-height: normal !important;
|
92 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
93 |
/* Must match box height */
|
94 |
margin-top: -34px !important;
|
css/style-simple-grey.css
CHANGED
@@ -16,6 +16,7 @@ div[id*="ajaxsearchlite"] {
|
|
16 |
box-shadow: 0px 0px 0px 0px #000000;
|
17 |
}
|
18 |
|
|
|
19 |
div[id*="ajaxsearchlite"] .probox {
|
20 |
margin: 0px;
|
21 |
height: 34px;
|
@@ -31,24 +32,27 @@ div[id*="ajaxsearchlite"] .probox {
|
|
31 |
box-shadow: 0px 0px 0px 0px rgb(181, 181, 181) inset;
|
32 |
}
|
33 |
|
|
|
34 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
35 |
font-weight: normal;
|
36 |
font-family: Open Sans;
|
37 |
color: rgb(255, 255, 255) !important;
|
38 |
font-size: 12px;
|
39 |
-
line-height:
|
40 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
41 |
}
|
42 |
|
|
|
43 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
44 |
font-weight: normal;
|
45 |
font-family: Open Sans;
|
46 |
color: rgb(255, 255, 255) !important;
|
47 |
font-size: 12px;
|
48 |
-
line-height:
|
49 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
50 |
border: 0;
|
51 |
box-shadow: none;
|
|
|
52 |
}
|
53 |
|
54 |
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
@@ -85,7 +89,7 @@ div[id*="ajaxsearchlite"] .probox .proinput input.autocomplete {
|
|
85 |
font-family: Open Sans;
|
86 |
color: rgb(255, 255, 255);
|
87 |
font-size: 12px;
|
88 |
-
line-height:
|
89 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
90 |
/* Must match box height */
|
91 |
margin-top: -34px !important;
|
16 |
box-shadow: 0px 0px 0px 0px #000000;
|
17 |
}
|
18 |
|
19 |
+
#ajaxsearchlite1 .probox,
|
20 |
div[id*="ajaxsearchlite"] .probox {
|
21 |
margin: 0px;
|
22 |
height: 34px;
|
32 |
box-shadow: 0px 0px 0px 0px rgb(181, 181, 181) inset;
|
33 |
}
|
34 |
|
35 |
+
#ajaxsearchlite1 .probox .proinput,
|
36 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
37 |
font-weight: normal;
|
38 |
font-family: Open Sans;
|
39 |
color: rgb(255, 255, 255) !important;
|
40 |
font-size: 12px;
|
41 |
+
line-height: normal !important;
|
42 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
43 |
}
|
44 |
|
45 |
+
#ajaxsearchlite1 .probox .proinput input,
|
46 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
47 |
font-weight: normal;
|
48 |
font-family: Open Sans;
|
49 |
color: rgb(255, 255, 255) !important;
|
50 |
font-size: 12px;
|
51 |
+
line-height: normal !important;
|
52 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
53 |
border: 0;
|
54 |
box-shadow: none;
|
55 |
+
height: 34px;
|
56 |
}
|
57 |
|
58 |
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
89 |
font-family: Open Sans;
|
90 |
color: rgb(255, 255, 255);
|
91 |
font-size: 12px;
|
92 |
+
line-height: normal !important;
|
93 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
94 |
/* Must match box height */
|
95 |
margin-top: -34px !important;
|
css/style-simple-red.css
CHANGED
@@ -15,6 +15,7 @@ div[id*="ajaxsearchlite"] {
|
|
15 |
box-shadow: 0px 0px 0px 0px #000000;
|
16 |
}
|
17 |
|
|
|
18 |
div[id*="ajaxsearchlite"] .probox {
|
19 |
margin: 0px;
|
20 |
height: 34px;
|
@@ -30,24 +31,27 @@ div[id*="ajaxsearchlite"] .probox {
|
|
30 |
box-shadow: 0px 0px 0px 0px rgb(181, 181, 181) inset;
|
31 |
}
|
32 |
|
|
|
33 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
34 |
font-weight: normal;
|
35 |
font-family: Open Sans;
|
36 |
color: rgb(255, 255, 255) !important;
|
37 |
font-size: 12px;
|
38 |
-
line-height:
|
39 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
40 |
}
|
41 |
|
|
|
42 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
43 |
font-weight: normal;
|
44 |
font-family: Open Sans;
|
45 |
color: rgb(255, 255, 255) !important;
|
46 |
font-size: 12px;
|
47 |
-
line-height:
|
48 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
49 |
border: 0;
|
50 |
box-shadow: none;
|
|
|
51 |
}
|
52 |
|
53 |
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
@@ -84,7 +88,7 @@ div[id*="ajaxsearchlite"] .probox .proinput input.autocomplete {
|
|
84 |
font-family: Open Sans;
|
85 |
color: rgb(255, 255, 255);
|
86 |
font-size: 12px;
|
87 |
-
line-height:
|
88 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
89 |
/* Must match box height */
|
90 |
margin-top: -34px !important;
|
15 |
box-shadow: 0px 0px 0px 0px #000000;
|
16 |
}
|
17 |
|
18 |
+
#ajaxsearchlite1 .probox,
|
19 |
div[id*="ajaxsearchlite"] .probox {
|
20 |
margin: 0px;
|
21 |
height: 34px;
|
31 |
box-shadow: 0px 0px 0px 0px rgb(181, 181, 181) inset;
|
32 |
}
|
33 |
|
34 |
+
#ajaxsearchlite1 .probox .proinput,
|
35 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
36 |
font-weight: normal;
|
37 |
font-family: Open Sans;
|
38 |
color: rgb(255, 255, 255) !important;
|
39 |
font-size: 12px;
|
40 |
+
line-height: normal !important;
|
41 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
42 |
}
|
43 |
|
44 |
+
#ajaxsearchlite1 .probox .proinput input,
|
45 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
46 |
font-weight: normal;
|
47 |
font-family: Open Sans;
|
48 |
color: rgb(255, 255, 255) !important;
|
49 |
font-size: 12px;
|
50 |
+
line-height: normal !important;
|
51 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
52 |
border: 0;
|
53 |
box-shadow: none;
|
54 |
+
height: 34px;
|
55 |
}
|
56 |
|
57 |
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
88 |
font-family: Open Sans;
|
89 |
color: rgb(255, 255, 255);
|
90 |
font-size: 12px;
|
91 |
+
line-height: normal !important;
|
92 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
93 |
/* Must match box height */
|
94 |
margin-top: -34px !important;
|
css/style-underline.css
CHANGED
@@ -10,6 +10,7 @@ div[id*="ajaxsearchlite"] {
|
|
10 |
box-shadow: 0px 1px 0px 0px #e4e4e4;
|
11 |
}
|
12 |
|
|
|
13 |
div[id*="ajaxsearchlite"] .probox {
|
14 |
margin: 0px;
|
15 |
height: 28px;
|
@@ -19,21 +20,23 @@ div[id*="ajaxsearchlite"] .probox {
|
|
19 |
box-shadow: 0px 0px 0px 0px rgb(181, 181, 181) inset;
|
20 |
}
|
21 |
|
|
|
22 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
23 |
font-weight: normal;
|
24 |
font-family: Open Sans;
|
25 |
color: rgb(0, 0, 0) !important;
|
26 |
font-size: 12px;
|
27 |
-
line-height:
|
28 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
29 |
}
|
30 |
|
|
|
31 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
32 |
font-weight: normal;
|
33 |
font-family: Open Sans;
|
34 |
color: rgb(0, 0, 0) !important;
|
35 |
font-size: 12px;
|
36 |
-
line-height:
|
37 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
38 |
border: 0;
|
39 |
box-shadow: none;
|
@@ -154,7 +157,7 @@ div[id*="ajaxsearchliteres"].vertical {
|
|
154 |
border-radius: 3px;
|
155 |
border: 0px solid rgb(181, 181, 181);
|
156 |
border-radius: 0px 0px 0px 0px;
|
157 |
-
box-shadow: 0px 0px
|
158 |
visibility: hidden;
|
159 |
display: none;
|
160 |
}
|
10 |
box-shadow: 0px 1px 0px 0px #e4e4e4;
|
11 |
}
|
12 |
|
13 |
+
#ajaxsearchlite1 .probox,
|
14 |
div[id*="ajaxsearchlite"] .probox {
|
15 |
margin: 0px;
|
16 |
height: 28px;
|
20 |
box-shadow: 0px 0px 0px 0px rgb(181, 181, 181) inset;
|
21 |
}
|
22 |
|
23 |
+
#ajaxsearchlite1 .probox .proinput,
|
24 |
div[id*="ajaxsearchlite"] .probox .proinput {
|
25 |
font-weight: normal;
|
26 |
font-family: Open Sans;
|
27 |
color: rgb(0, 0, 0) !important;
|
28 |
font-size: 12px;
|
29 |
+
line-height: normal !important;
|
30 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
31 |
}
|
32 |
|
33 |
+
#ajaxsearchlite1 .probox .proinput input,
|
34 |
div[id*="ajaxsearchlite"] .probox .proinput input {
|
35 |
font-weight: normal;
|
36 |
font-family: Open Sans;
|
37 |
color: rgb(0, 0, 0) !important;
|
38 |
font-size: 12px;
|
39 |
+
line-height: normal !important;
|
40 |
text-shadow: 0px 0px 0px rgba(255, 255, 255, 0);
|
41 |
border: 0;
|
42 |
box-shadow: none;
|
157 |
border-radius: 3px;
|
158 |
border: 0px solid rgb(181, 181, 181);
|
159 |
border-radius: 0px 0px 0px 0px;
|
160 |
+
box-shadow: 0px 0px 3px -1px rgba(0, 0, 0, 0.3);
|
161 |
visibility: hidden;
|
162 |
display: none;
|
163 |
}
|
css/style.basic.css
CHANGED
@@ -52,7 +52,7 @@ div[id*='ajaxsearchlite'] input[type="search"]::-webkit-search-results-decoratio
|
|
52 |
}
|
53 |
|
54 |
.hiddend {
|
55 |
-
display: none
|
56 |
}
|
57 |
|
58 |
div[id*='ajaxsearchlite'] textarea:focus,
|
@@ -86,7 +86,7 @@ div[id*='ajaxsearchlite'] .probox {
|
|
86 |
div[id*='ajaxsearchlite'] .probox .proinput {
|
87 |
width: auto;
|
88 |
height: 100%;
|
89 |
-
margin:
|
90 |
padding: 0 5px;
|
91 |
float: left;
|
92 |
box-shadow: none;
|
@@ -98,7 +98,7 @@ div[id*='ajaxsearchlite'] .probox .proinput {
|
|
98 |
}
|
99 |
|
100 |
div[id*='ajaxsearchlite'] .probox .proinput input {
|
101 |
-
height:
|
102 |
border: 0px;
|
103 |
background: transparent;
|
104 |
width: 100%;
|
@@ -106,12 +106,25 @@ div[id*='ajaxsearchlite'] .probox .proinput input {
|
|
106 |
margin: -1px;
|
107 |
padding: 0;
|
108 |
left: 0;
|
109 |
-
line-height:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
line-height: 30px !important;
|
115 |
}
|
116 |
|
117 |
/* A fix for aggresive theme CSS rules */
|
@@ -142,7 +155,7 @@ div[id*='ajaxsearchlite'] .probox .proinput input.autocomplete {
|
|
142 |
background: transparent;
|
143 |
width: 100%;
|
144 |
box-shadow: none;
|
145 |
-
margin:
|
146 |
margin-top: -28px !important;
|
147 |
padding: 0;
|
148 |
left: 0;
|
@@ -150,10 +163,6 @@ div[id*='ajaxsearchlite'] .probox .proinput input.autocomplete {
|
|
150 |
z-index: 9;
|
151 |
}
|
152 |
|
153 |
-
div[id*='ajaxsearchlite'].asl_msie .probox .proinput input.autocomplete {
|
154 |
-
margin-top: 0px !important;
|
155 |
-
}
|
156 |
-
|
157 |
div[id*='ajaxsearchlite'] .probox .proinput.iepaddingfix {
|
158 |
padding-top: 0;
|
159 |
}
|
52 |
}
|
53 |
|
54 |
.hiddend {
|
55 |
+
display: none;
|
56 |
}
|
57 |
|
58 |
div[id*='ajaxsearchlite'] textarea:focus,
|
86 |
div[id*='ajaxsearchlite'] .probox .proinput {
|
87 |
width: auto;
|
88 |
height: 100%;
|
89 |
+
margin: 0px 0px 0px 10px;
|
90 |
padding: 0 5px;
|
91 |
float: left;
|
92 |
box-shadow: none;
|
98 |
}
|
99 |
|
100 |
div[id*='ajaxsearchlite'] .probox .proinput input {
|
101 |
+
height: 28px;
|
102 |
border: 0px;
|
103 |
background: transparent;
|
104 |
width: 100%;
|
106 |
margin: -1px;
|
107 |
padding: 0;
|
108 |
left: 0;
|
109 |
+
line-height: normal !important;
|
110 |
+
display: block;
|
111 |
+
}
|
112 |
+
|
113 |
+
/* EACH PLACEHOLDER MUST HAVE A DIFFERENT RULE TO WORK */
|
114 |
+
div[id*="ajaxsearchlite"] .probox .proinput input::-webkit-input-placeholder {
|
115 |
+
opacity: 0.85;
|
116 |
+
}
|
117 |
+
|
118 |
+
div[id*="ajaxsearchlite"] .probox .proinput input::-moz-placeholder {
|
119 |
+
opacity: 0.85;
|
120 |
+
}
|
121 |
+
|
122 |
+
div[id*="ajaxsearchlite"] .probox .proinput input:-ms-input-placeholder {
|
123 |
+
opacity: 0.85;
|
124 |
}
|
125 |
|
126 |
+
div[id*="ajaxsearchlite"] .probox .proinput input:-moz-placeholder {
|
127 |
+
opacity: 0.85;
|
|
|
128 |
}
|
129 |
|
130 |
/* A fix for aggresive theme CSS rules */
|
155 |
background: transparent;
|
156 |
width: 100%;
|
157 |
box-shadow: none;
|
158 |
+
margin: 0;
|
159 |
margin-top: -28px !important;
|
160 |
padding: 0;
|
161 |
left: 0;
|
163 |
z-index: 9;
|
164 |
}
|
165 |
|
|
|
|
|
|
|
|
|
166 |
div[id*='ajaxsearchlite'] .probox .proinput.iepaddingfix {
|
167 |
padding-top: 0;
|
168 |
}
|
includes/asl_init.class.php
CHANGED
@@ -27,6 +27,13 @@ class aslInit {
|
|
27 |
'manage_options',
|
28 |
ASL_DIR.'/backend/analytics.php'
|
29 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
add_submenu_page(
|
31 |
ASL_DIR.'/backend/settings.php',
|
32 |
__("Ajax Search Lite", 'ajax-search-lite'),
|
27 |
'manage_options',
|
28 |
ASL_DIR.'/backend/analytics.php'
|
29 |
);
|
30 |
+
add_submenu_page(
|
31 |
+
ASL_DIR.'/backend/settings.php',
|
32 |
+
__("Ajax Search Lite", 'ajax-search-lite'),
|
33 |
+
__("Compatibility Options", 'ajax-search-lite'),
|
34 |
+
'manage_options',
|
35 |
+
ASL_DIR.'/backend/compatibility.php'
|
36 |
+
);
|
37 |
add_submenu_page(
|
38 |
ASL_DIR.'/backend/settings.php',
|
39 |
__("Ajax Search Lite", 'ajax-search-lite'),
|
includes/search.class.php
CHANGED
@@ -157,33 +157,38 @@ if (!class_exists('wpdreams_search')) {
|
|
157 |
|
158 |
}
|
159 |
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
|
|
|
|
|
|
|
|
|
|
187 |
|
188 |
/**
|
189 |
* Converts a string to number, array of strings to array of numbers
|
157 |
|
158 |
}
|
159 |
|
160 |
+
/**
|
161 |
+
* Performs a full escape
|
162 |
+
*
|
163 |
+
* @uses wd_mysql_escape_mimic()
|
164 |
+
* @param $string
|
165 |
+
* @return array|mixed
|
166 |
+
*/
|
167 |
+
protected function escape( $string ) {
|
168 |
+
global $wpdb;
|
169 |
+
|
170 |
+
// recursively go through if it is an array
|
171 |
+
if ( is_array($string) ) {
|
172 |
+
foreach ($string as $k => $v) {
|
173 |
+
$string[$k] = $this->escape($v);
|
174 |
+
}
|
175 |
+
return $string;
|
176 |
+
}
|
177 |
+
|
178 |
+
if ( is_float( $string ) )
|
179 |
+
return $string;
|
180 |
+
|
181 |
+
// Extra escape for 4.0 >=
|
182 |
+
if ( method_exists( $wpdb, 'esc_like' ) )
|
183 |
+
return esc_sql( $wpdb->esc_like( $string ) );
|
184 |
+
|
185 |
+
// Escape support for WP < 4.0
|
186 |
+
if ( function_exists( 'like_escape' ) )
|
187 |
+
return esc_sql( like_escape($string) );
|
188 |
+
|
189 |
+
// Okay, what? Not one function is present, use the one we have
|
190 |
+
return wd_mysql_escape_mimic($string);
|
191 |
+
}
|
192 |
|
193 |
/**
|
194 |
* Converts a string to number, array of strings to array of numbers
|
includes/search_content.class.php
CHANGED
@@ -10,8 +10,9 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
10 |
global $q_config;
|
11 |
global $asl_debug_data;
|
12 |
|
13 |
-
$options
|
14 |
-
|
|
|
15 |
|
16 |
$parts = array();
|
17 |
$relevance_parts = array();
|
@@ -22,11 +23,51 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
22 |
$term_join = "";
|
23 |
$postmeta_join = "";
|
24 |
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
30 |
|
31 |
$q_config['language'] = $options['qtranslate_lang'];
|
32 |
|
@@ -55,17 +96,24 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
55 |
$words = $options['set_exactonly'] == 1 ? array( $s ) : $_s;
|
56 |
//$parts[] = "(lower($wpdb->posts.post_title) REGEXP '$words')";
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
|
66 |
-
|
67 |
-
($wpdb->posts.post_title
|
68 |
then 10 else 0 end)";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
/*---------------------------------------------------------------*/
|
71 |
|
@@ -75,16 +123,21 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
75 |
//$parts[] = "(lower($wpdb->posts.post_content) REGEXP '$words')";
|
76 |
|
77 |
$op = 'OR';
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
89 |
/*---------------------------------------------------------------*/
|
90 |
|
@@ -93,16 +146,21 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
93 |
$words = $options['set_exactonly'] == 1 ? array( $s ) : $_s;
|
94 |
//$parts[] = "(lower($wpdb->posts.post_excerpt) REGEXP '$words')";
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
|
104 |
-
|
105 |
-
|
|
|
|
|
|
|
|
|
|
|
106 |
then 7 else 0 end)";
|
107 |
}
|
108 |
/*---------------------------------------------------------------*/
|
@@ -113,15 +171,15 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
113 |
//$parts[] = "(lower($wpdb->terms.name) REGEXP '$words')";
|
114 |
|
115 |
$op = 'OR';
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
|
123 |
-
|
124 |
-
($wpdb->terms.name
|
125 |
then 5 else 0 end)";
|
126 |
}
|
127 |
/*---------------------------------------------------------------*/
|
@@ -130,12 +188,19 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
130 |
if ( isset( $searchData['selected-customfields'] ) ) {
|
131 |
$selected_customfields = $searchData['selected-customfields'];
|
132 |
if ( is_array( $selected_customfields ) && count( $selected_customfields ) > 0 ) {
|
133 |
-
$words = $options['set_exactonly'] == 1 ? $s : $
|
|
|
|
|
134 |
foreach ( $selected_customfields as $cfield ) {
|
135 |
-
|
136 |
-
|
|
|
|
|
|
|
|
|
137 |
}
|
138 |
$postmeta_join = "LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID";
|
|
|
139 |
}
|
140 |
}
|
141 |
/*---------------------------------------------------------------*/
|
@@ -350,19 +415,42 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
350 |
|
351 |
|
352 |
/*------------------------- WPML filter -------------------------*/
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
358 |
EXISTS (
|
359 |
SELECT DISTINCT(wpml.element_id)
|
360 |
FROM " . $wpdb->base_prefix . "icl_translations as wpml
|
361 |
WHERE
|
362 |
$wpdb->posts.ID = wpml.element_id AND
|
363 |
-
wpml.language_code = '" . $this->escape($options['wpml_lang']) . "' AND
|
364 |
wpml.element_type LIKE 'post_%'
|
365 |
)";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
/*---------------------------------------------------------------*/
|
367 |
|
368 |
/*--------------------- Other Query stuff -----------------------*/
|
@@ -406,7 +494,7 @@ if ( ! class_exists( 'wpdreams_searchContent' ) ) {
|
|
406 |
AND $term_query
|
407 |
AND $like_query
|
408 |
AND $exclude_posts
|
409 |
-
AND $wpml_query
|
410 |
GROUP BY
|
411 |
$wpdb->posts.ID
|
412 |
";
|
10 |
global $q_config;
|
11 |
global $asl_debug_data;
|
12 |
|
13 |
+
$options = $this->options;
|
14 |
+
$comp_options = get_option( 'asl_compatibility' );
|
15 |
+
$searchData = $this->searchData;
|
16 |
|
17 |
$parts = array();
|
18 |
$relevance_parts = array();
|
23 |
$term_join = "";
|
24 |
$postmeta_join = "";
|
25 |
|
26 |
+
// Prefixes and suffixes
|
27 |
+
$pre_field = '';
|
28 |
+
$suf_field = '';
|
29 |
+
$pre_like = '';
|
30 |
+
$suf_like = '';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* On forced case sensitivity: Let's add BINARY keyword before the LIKE
|
34 |
+
* On forced case in-sensitivity: Append the lower() function around each field
|
35 |
+
*/
|
36 |
+
if ( w_isset_def( $comp_options['db_force_case'], 'none' ) == 'sensitivity' ) {
|
37 |
+
$pre_like = 'BINARY ';
|
38 |
+
} else if ( w_isset_def( $comp_options['db_force_case'], 'none' ) == 'insensitivity' ) {
|
39 |
+
if ( function_exists( 'mb_convert_case' ) ) {
|
40 |
+
$this->s = mb_convert_case( $this->s, MB_CASE_LOWER, "UTF-8" );
|
41 |
+
} else {
|
42 |
+
$this->s = strtoupper( $this->s );
|
43 |
+
} // if no mb_ functions :(
|
44 |
+
$this->_s = array_unique( explode( " ", $this->s ) );
|
45 |
+
|
46 |
+
$pre_field .= 'lower(';
|
47 |
+
$suf_field .= ')';
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Check if utf8 is forced on LIKE
|
52 |
+
*/
|
53 |
+
if ( w_isset_def( $comp_options['db_force_utf8_like'], 0 ) == 1 ) {
|
54 |
+
$pre_like .= '_utf8';
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Check if unicode is forced on LIKE, but only apply if utf8 is not
|
59 |
+
*/
|
60 |
+
if ( w_isset_def( $comp_options['db_force_unicode'], 0 ) == 1
|
61 |
+
&& w_isset_def( $comp_options['db_force_utf8_like'], 0 ) == 0
|
62 |
+
) {
|
63 |
+
$pre_like .= 'N';
|
64 |
+
}
|
65 |
|
66 |
+
$s = $this->s; // full keyword
|
67 |
+
$_s = $this->_s; // array of keywords
|
68 |
+
|
69 |
+
$_si = implode( '|', $_s ); // imploded phrase for regexp
|
70 |
+
$_si = $_si != '' ? $_si : $s;
|
71 |
|
72 |
$q_config['language'] = $options['qtranslate_lang'];
|
73 |
|
96 |
$words = $options['set_exactonly'] == 1 ? array( $s ) : $_s;
|
97 |
//$parts[] = "(lower($wpdb->posts.post_title) REGEXP '$words')";
|
98 |
|
99 |
+
$op = 'OR';
|
100 |
+
if ( count( $_s ) > 0 ) {
|
101 |
+
$_like = implode( "%'$suf_like " . $op . " " . $pre_field . $wpdb->posts . ".post_title" . $suf_field . " LIKE $pre_like'%", $words );
|
102 |
+
} else {
|
103 |
+
$_like = $s;
|
104 |
+
}
|
105 |
+
$parts[] = "( " . $pre_field . $wpdb->posts . ".post_title" . $suf_field . " LIKE $pre_like'%" . $_like . "%'$suf_like )";
|
106 |
|
107 |
+
$relevance_parts[] = "(case when
|
108 |
+
(" . $pre_field . $wpdb->posts . ".post_title" . $suf_field . " LIKE '%$s%')
|
109 |
then 10 else 0 end)";
|
110 |
+
|
111 |
+
// The first word relevance is higher
|
112 |
+
if ( count( $_s ) > 0 ) {
|
113 |
+
$relevance_parts[] = "(case when
|
114 |
+
(" . $pre_field . $wpdb->posts . ".post_title" . $suf_field . " LIKE '%" . $_s[0] . "%')
|
115 |
+
then 10 else 0 end)";
|
116 |
+
}
|
117 |
}
|
118 |
/*---------------------------------------------------------------*/
|
119 |
|
123 |
//$parts[] = "(lower($wpdb->posts.post_content) REGEXP '$words')";
|
124 |
|
125 |
$op = 'OR';
|
126 |
+
if ( count( $_s ) > 0 ) {
|
127 |
+
$_like = implode( "%'$suf_like " . $op . " " . $pre_field . $wpdb->posts . ".post_content" . $suf_field . " LIKE $pre_like'%", $words );
|
128 |
+
} else {
|
129 |
+
$_like = $s;
|
130 |
+
}
|
131 |
+
$parts[] = "( " . $pre_field . $wpdb->posts . ".post_content" . $suf_field . " LIKE $pre_like'%" . $_like . "%'$suf_like )";
|
132 |
|
133 |
+
if ( count( $_s ) > 0 ) {
|
134 |
+
$relevance_parts[] = "(case when
|
135 |
+
(" . $pre_field . $wpdb->posts . ".post_content" . $suf_field . " LIKE '%" . $_s[0] . "%')
|
136 |
+
then 8 else 0 end)";
|
137 |
+
}
|
138 |
+
$relevance_parts[] = "(case when
|
139 |
+
(" . $pre_field . $wpdb->posts . ".post_content" . $suf_field . " LIKE '%$s%')
|
140 |
+
then 8 else 0 end)";
|
141 |
}
|
142 |
/*---------------------------------------------------------------*/
|
143 |
|
146 |
$words = $options['set_exactonly'] == 1 ? array( $s ) : $_s;
|
147 |
//$parts[] = "(lower($wpdb->posts.post_excerpt) REGEXP '$words')";
|
148 |
|
149 |
+
$op = 'OR';
|
150 |
+
if ( count( $_s ) > 0 ) {
|
151 |
+
$_like = implode( "%'$suf_like " . $op . " " . $pre_field . $wpdb->posts . ".post_excerpt" . $suf_field . " LIKE $pre_like'%", $words );
|
152 |
+
} else {
|
153 |
+
$_like = $s;
|
154 |
+
}
|
155 |
+
$parts[] = "( " . $pre_field . $wpdb->posts . ".post_excerpt" . $suf_field . " LIKE $pre_like'%" . $_like . "%'$suf_like )";
|
156 |
|
157 |
+
if ( count( $_s ) > 0 ) {
|
158 |
+
$relevance_parts[] = "(case when
|
159 |
+
(" . $pre_field . $wpdb->posts . ".post_excerpt" . $suf_field . " LIKE '%" . $_s[0] . "%')
|
160 |
+
then 7 else 0 end)";
|
161 |
+
}
|
162 |
+
$relevance_parts[] = "(case when
|
163 |
+
(" . $pre_field . $wpdb->posts . ".post_excerpt" . $suf_field . " LIKE '%$s%')
|
164 |
then 7 else 0 end)";
|
165 |
}
|
166 |
/*---------------------------------------------------------------*/
|
171 |
//$parts[] = "(lower($wpdb->terms.name) REGEXP '$words')";
|
172 |
|
173 |
$op = 'OR';
|
174 |
+
if ( count( $_s ) > 0 ) {
|
175 |
+
$_like = implode( "%'$suf_like " . $op . " " . $pre_field . $wpdb->terms . ".name" . $suf_field . " LIKE $pre_like'%", $words );
|
176 |
+
} else {
|
177 |
+
$_like = $s;
|
178 |
+
}
|
179 |
+
$parts[] = "( " . $pre_field . $wpdb->terms . ".name" . $suf_field . " LIKE $pre_like'%" . $_like . "%'$suf_like )";
|
180 |
|
181 |
+
$relevance_parts[] = "(case when
|
182 |
+
(" . $pre_field . $wpdb->terms . ".name" . $suf_field . " = '$s')
|
183 |
then 5 else 0 end)";
|
184 |
}
|
185 |
/*---------------------------------------------------------------*/
|
188 |
if ( isset( $searchData['selected-customfields'] ) ) {
|
189 |
$selected_customfields = $searchData['selected-customfields'];
|
190 |
if ( is_array( $selected_customfields ) && count( $selected_customfields ) > 0 ) {
|
191 |
+
$words = $options['set_exactonly'] == 1 ? array( $s ) : $_s;
|
192 |
+
$op = 'OR';
|
193 |
+
|
194 |
foreach ( $selected_customfields as $cfield ) {
|
195 |
+
if ( count( $_s ) > 0 ) {
|
196 |
+
$_like = implode( "%'$suf_like " . $op . " " . $pre_field . $wpdb->postmeta . ".meta_value" . $suf_field . " LIKE $pre_like'%", $words );
|
197 |
+
} else {
|
198 |
+
$_like = $s;
|
199 |
+
}
|
200 |
+
$parts[] = "( $wpdb->postmeta.meta_key='$cfield' AND " . $pre_field . $wpdb->postmeta . ".meta_value" . $suf_field . " LIKE $pre_like'%" . $_like . "%'$suf_like )";
|
201 |
}
|
202 |
$postmeta_join = "LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID";
|
203 |
+
|
204 |
}
|
205 |
}
|
206 |
/*---------------------------------------------------------------*/
|
415 |
|
416 |
|
417 |
/*------------------------- WPML filter -------------------------*/
|
418 |
+
$wpml_query = "(1)";
|
419 |
+
if ( isset( $options['wpml_lang'] )
|
420 |
+
&& w_isset_def( $searchData['wpml_compatibility'], 1 ) == 1
|
421 |
+
) {
|
422 |
+
global $sitepress;
|
423 |
+
$site_lang_selected = false;
|
424 |
+
|
425 |
+
// Let us get the default site language if possible
|
426 |
+
if ( is_object($sitepress) && method_exists($sitepress, 'get_default_language') ) {
|
427 |
+
$site_lang_selected = $sitepress->get_default_language() == $options['wpml_lang'] ? true : false;
|
428 |
+
}
|
429 |
+
|
430 |
+
$wpml_query = "
|
431 |
EXISTS (
|
432 |
SELECT DISTINCT(wpml.element_id)
|
433 |
FROM " . $wpdb->base_prefix . "icl_translations as wpml
|
434 |
WHERE
|
435 |
$wpdb->posts.ID = wpml.element_id AND
|
436 |
+
wpml.language_code = '" . $this->escape( $options['wpml_lang'] ) . "' AND
|
437 |
wpml.element_type LIKE 'post_%'
|
438 |
)";
|
439 |
+
|
440 |
+
// For missing translations..
|
441 |
+
// If the site language is used, the translation can be non-existent
|
442 |
+
if ($site_lang_selected) {
|
443 |
+
$wpml_query = "
|
444 |
+
NOT EXISTS (
|
445 |
+
SELECT DISTINCT(wpml.element_id)
|
446 |
+
FROM " . $wpdb->base_prefix . "icl_translations as wpml
|
447 |
+
WHERE
|
448 |
+
$wpdb->posts.ID = wpml.element_id AND
|
449 |
+
wpml.element_type LIKE 'post_%'
|
450 |
+
) OR
|
451 |
+
" . $wpml_query;
|
452 |
+
}
|
453 |
+
}
|
454 |
/*---------------------------------------------------------------*/
|
455 |
|
456 |
/*--------------------- Other Query stuff -----------------------*/
|
494 |
AND $term_query
|
495 |
AND $like_query
|
496 |
AND $exclude_posts
|
497 |
+
AND ( $wpml_query )
|
498 |
GROUP BY
|
499 |
$wpdb->posts.ID
|
500 |
";
|
includes/views/asl.shortcode.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
$id = self::$instanceCount;
|
3 |
$real_id = self::$instanceCount;
|
4 |
?>
|
5 |
-
<div id='ajaxsearchlite<?php echo self::$instanceCount; ?>'>
|
6 |
<div class="probox">
|
7 |
|
8 |
<?php do_action('asl_layout_before_magnifier', $id); ?>
|
@@ -79,7 +79,7 @@
|
|
79 |
</div>
|
80 |
</div>
|
81 |
|
82 |
-
<div id='ajaxsearchlitesettings<?php echo $id; ?>' class="searchsettings">
|
83 |
<form name='options'>
|
84 |
|
85 |
<?php do_action('asl_layout_settings_before_first_item', $id); ?>
|
@@ -124,6 +124,12 @@
|
|
124 |
<?php echo $style['searchincontenttext']; ?>
|
125 |
</div>
|
126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
<div class="option<?php echo(($style['showsearchinposts'] != 1) ? " hiddend" : ""); ?>">
|
128 |
<input type="checkbox" value="None" id="set_inposts<?php echo $id; ?>"
|
129 |
name="set_inposts" <?php echo(($style['searchinposts'] == 1) ? 'checked="checked"' : ''); ?>/>
|
@@ -240,7 +246,7 @@
|
|
240 |
</form>
|
241 |
</div>
|
242 |
|
243 |
-
<div id='ajaxsearchliteres<?php echo $id; ?>' class='<?php echo $style['resultstype']; ?>'>
|
244 |
|
245 |
<?php do_action('asl_layout_before_results', $id); ?>
|
246 |
|
@@ -285,7 +291,7 @@
|
|
285 |
$ana_options = get_option('asl_analytics');
|
286 |
$scope = "asljQuery";
|
287 |
?>
|
288 |
-
<div class="asl_init_data" style="display:none !important;" id="asl_init_id_<?php echo $id; ?>">
|
289 |
{
|
290 |
"homeurl": "<?php echo home_url('/'); ?>",
|
291 |
"resultstype": "vertical",
|
2 |
$id = self::$instanceCount;
|
3 |
$real_id = self::$instanceCount;
|
4 |
?>
|
5 |
+
<div id='ajaxsearchlite<?php echo self::$instanceCount; ?>' class="wpdreams_asl_container">
|
6 |
<div class="probox">
|
7 |
|
8 |
<?php do_action('asl_layout_before_magnifier', $id); ?>
|
79 |
</div>
|
80 |
</div>
|
81 |
|
82 |
+
<div id='ajaxsearchlitesettings<?php echo $id; ?>' class="searchsettings wpdreams_asl_settings">
|
83 |
<form name='options'>
|
84 |
|
85 |
<?php do_action('asl_layout_settings_before_first_item', $id); ?>
|
124 |
<?php echo $style['searchincontenttext']; ?>
|
125 |
</div>
|
126 |
|
127 |
+
<div class="option hiddend">
|
128 |
+
<input type="checkbox" value="None" id="set_inexcerpt<?php echo $id; ?>"
|
129 |
+
name="set_inexcerpt" <?php echo(($style['searchinexcerpt'] == 1) ? 'checked="checked"' : ''); ?>/>
|
130 |
+
<label for="set_inexcerpt<?php echo $id; ?>"></label>
|
131 |
+
</div>
|
132 |
+
|
133 |
<div class="option<?php echo(($style['showsearchinposts'] != 1) ? " hiddend" : ""); ?>">
|
134 |
<input type="checkbox" value="None" id="set_inposts<?php echo $id; ?>"
|
135 |
name="set_inposts" <?php echo(($style['searchinposts'] == 1) ? 'checked="checked"' : ''); ?>/>
|
246 |
</form>
|
247 |
</div>
|
248 |
|
249 |
+
<div id='ajaxsearchliteres<?php echo $id; ?>' class='<?php echo $style['resultstype']; ?> wpdreams_asl_results'>
|
250 |
|
251 |
<?php do_action('asl_layout_before_results', $id); ?>
|
252 |
|
291 |
$ana_options = get_option('asl_analytics');
|
292 |
$scope = "asljQuery";
|
293 |
?>
|
294 |
+
<div class="asl_init_data wpdreams_asl_data_ct" style="display:none !important;" id="asl_init_id_<?php echo $id; ?>">
|
295 |
{
|
296 |
"homeurl": "<?php echo home_url('/'); ?>",
|
297 |
"resultstype": "vertical",
|
js/nomin-scoped/jquery.ajaxsearchlite.js
CHANGED
@@ -360,6 +360,15 @@
|
|
360 |
$this.keycode = e.which;
|
361 |
$this.ktype = e.type;
|
362 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
363 |
// Ignore arrows
|
364 |
if ($this.keycode >= 37 && $this.keycode <= 40) return;
|
365 |
if ($(this).hasClass('orig') && $this.ktype == 'click') return;
|
@@ -532,6 +541,7 @@
|
|
532 |
success: function(data) {
|
533 |
if (data[1].length > 0) {
|
534 |
response = data[1][0][0].replace(/(<([^>]+)>)/ig,"");
|
|
|
535 |
response = response.substr(val.length);
|
536 |
$this.n.textAutocomplete.val(val + response);
|
537 |
}
|
@@ -1370,7 +1380,7 @@
|
|
1370 |
resize: function () {
|
1371 |
var $this = this;
|
1372 |
|
1373 |
-
if (detectIE()) {
|
1374 |
$this.n.proinput.css({
|
1375 |
width: ($this.n.probox.width() - 8 - ($this.n.proinput.outerWidth(false) - $this.n.proinput.width()) - $this.n.proloading.outerWidth(true) - $this.n.prosettings.outerWidth(true) - $this.n.promagnifier.outerWidth(true) - 10)
|
1376 |
});
|
360 |
$this.keycode = e.which;
|
361 |
$this.ktype = e.type;
|
362 |
}
|
363 |
+
|
364 |
+
if ($this.n.text.val().length < $this.o.charcount) {
|
365 |
+
$this.n.proloading.css('display', 'none');
|
366 |
+
$this.hideResults();
|
367 |
+
if ($this.post != null) $this.post.abort();
|
368 |
+
clearTimeout(t);
|
369 |
+
return;
|
370 |
+
}
|
371 |
+
|
372 |
// Ignore arrows
|
373 |
if ($this.keycode >= 37 && $this.keycode <= 40) return;
|
374 |
if ($(this).hasClass('orig') && $this.ktype == 'click') return;
|
541 |
success: function(data) {
|
542 |
if (data[1].length > 0) {
|
543 |
response = data[1][0][0].replace(/(<([^>]+)>)/ig,"");
|
544 |
+
response = $('<textarea />').html(response).text();
|
545 |
response = response.substr(val.length);
|
546 |
$this.n.textAutocomplete.val(val + response);
|
547 |
}
|
1380 |
resize: function () {
|
1381 |
var $this = this;
|
1382 |
|
1383 |
+
if (detectIE() && 0) {
|
1384 |
$this.n.proinput.css({
|
1385 |
width: ($this.n.probox.width() - 8 - ($this.n.proinput.outerWidth(false) - $this.n.proinput.width()) - $this.n.proloading.outerWidth(true) - $this.n.prosettings.outerWidth(true) - $this.n.promagnifier.outerWidth(true) - 10)
|
1386 |
});
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: wpdreams
|
|
3 |
Donate link: http://wp-dreams.com
|
4 |
Tags: search, better wordpress search, search plugin, relevance search, widget, Post, ajax search, search filter, wp ajax search, custom fields search, better search, ajax search plugin, wp search, wp search plugin, filter, relevant search plugin, wordpress search, live search, shortcode, google, autocomplete, suggest, woocommerce, woocommerce search, product, product search, custom search, ajax, suggest, autosuggest, autocomplete, search autocomplete, live, plugin, sidebar, product tag search, woocommerce tag search, WooCommerce Plugin, shop, search by sku, relevant search, highlight, term, image
|
5 |
Requires at least: 3.5
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 4.5.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -108,6 +108,13 @@ and will let you know what to do.
|
|
108 |
|
109 |
== Changelog ==
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
= 4.5.4 =
|
112 |
* Autocomplete and Keyword suggestions introduced
|
113 |
* Keyboard navigation fixes
|
3 |
Donate link: http://wp-dreams.com
|
4 |
Tags: search, better wordpress search, search plugin, relevance search, widget, Post, ajax search, search filter, wp ajax search, custom fields search, better search, ajax search plugin, wp search, wp search plugin, filter, relevant search plugin, wordpress search, live search, shortcode, google, autocomplete, suggest, woocommerce, woocommerce search, product, product search, custom search, ajax, suggest, autosuggest, autocomplete, search autocomplete, live, plugin, sidebar, product tag search, woocommerce tag search, WooCommerce Plugin, shop, search by sku, relevant search, highlight, term, image
|
5 |
Requires at least: 3.5
|
6 |
+
Tested up to: 4.4
|
7 |
+
Stable tag: 4.5.5
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
108 |
|
109 |
== Changelog ==
|
110 |
|
111 |
+
= 4.5.5 =
|
112 |
+
* New menu: Compatibility Options
|
113 |
+
* Compatibility allowing to force case sensitive, insensitive, UTF8 and UNICODE queries
|
114 |
+
* Excerpt search fixed
|
115 |
+
* CSS fixes, including a placeholder fix
|
116 |
+
* A new escaping method, supporting more characters
|
117 |
+
|
118 |
= 4.5.4 =
|
119 |
* Autocomplete and Keyword suggestions introduced
|
120 |
* Keyboard navigation fixes
|
search.php
CHANGED
@@ -20,7 +20,8 @@ function ajaxsearchlite_search() {
|
|
20 |
$s = $_POST['aslp'];
|
21 |
$s = apply_filters('asl_search_phrase_before_cleaning', $s);
|
22 |
|
23 |
-
$s =
|
|
|
24 |
$s = preg_replace('/\s+/', ' ', $s);
|
25 |
|
26 |
$s = apply_filters('asl_search_phrase_after_cleaning', $s);
|
20 |
$s = $_POST['aslp'];
|
21 |
$s = apply_filters('asl_search_phrase_before_cleaning', $s);
|
22 |
|
23 |
+
$s = stripcslashes($s);
|
24 |
+
$s = trim($s);
|
25 |
$s = preg_replace('/\s+/', ' ', $s);
|
26 |
|
27 |
$s = apply_filters('asl_search_phrase_after_cleaning', $s);
|